Efficient Anonymous Authentication and Key Management Techniques for Vehicular Ad-hoc Networks