A Mutual Authentication Protocol for Smart Cards