Cryptography is a key technology in electronic key systems. It is used to keep data secret, digitally sign documents, access control, and so forth. Users therefore should not only know how its techniques work, but they must also be able to estimate their efficiency and security. Based on courses taught by the author, this book explains the basic methods of modern cryptography. It is written for readers with only basic mathematical knowledge who are interested in modern cryptographic algorithms and their mathematical foundation. Several exercises are included following each chapter. This revised and extended edition includes new material on the AES encryption algorithm, the SHA-1 Hash algorithm, on secret sharing, as well as updates in the chapters on factoring and discrete logarithms. Johannes A. Buchmann is Professor of Computer Science and Mathematics at the Technical University of Darmstadt, and an Associate Editor of the Journal of Cryptology. In 1985, he received a Feodor Lynen Fellowship of the Alexander von Humboldt Foundation. He has also received the most prestigious award in science in Germany, the Leibniz Award of the German Science Foundation (Deutsche Forschungsgemeinschaft).