Using smart cards, remote user authentication and key agreement can be simplified, flexible, and efficient for creating a secure distributed computers environment. Addition to user authentication and key distribution, it is very useful for providing identity privacy for users. In this paper, we propose novel user authentication and key agreement schemes with privacy protection. We first propose a single-server scheme and then apply this scheme to a multi-server environment. The main merits include: (1) the privacy of users can be ensured; (2) a user can freely choose his own password; (3) the computation and communication cost is very low; (4) servers and users can authenticate each other; (5) it generates a session key agreed by the server and the user; (6) our proposed schemes are nonce-based schemes which does not have a serious timesynchronization problem.