Preface This book is an introduction to modern ideas in cryptology and how to employ these ideas. It includes the relevant material on number theory, probability, and abstract algebra, in addition to descriptions of ideas about algorithms and complexity theory. Three somewhat different terms appear in the discussion of secure communications and related matters:cryptography, cryptanalysis,andcryptology.The first, cryptography, refers to writing using various methods to keep the message secret, as well as more modern applications of these methods. By contrast, cryptanalysis is the science of attacking ciphers, finding weaknesses, or possibly proving that there are none. Cryptology covers both, and is the most inclusive term. In an introduction to cryptography, cryptanalysis, and cryptology that is more than just recreational, several things should be accomplished: Provide some historical perspective. Specifically, we should see why the classical cipher systemsfailby contemporary standards. Survey uses of cryptography. (It is not just for keeping secrets.) Introduce mathematics relevant to classical and modern cryptosystems. Give examples of types of hostile cryptanalytic attacks. Explain thatkey managementandimplementation detailsare fundamental. Prerequisites here are minimal: the reader need only have the mathematical sophistication associated with having taken calculus and a bit of linear algebra. We will first selectively reviewclassical cryptology.This refers to the time prior to the 1940s. Some mechanical and primitive electronic devices were automated decryption/encryption and hostile cryptanalytic attacks, especially during 19351945, but these devices were slow, limited in their programmability, and not very portable. Part of the limitation was that they were fundamentally mechanical or electromechanical, rather than being 'software.' By contemporary standards, the classical ciphers (prior to Enigma) definitively fail. This doesn't mean what one might think, though. It is much more than just the fact that contemporary computers are much better than the tube-based machines of the 1940s. Rather, it is now demanded that 'strong' ciphers be resistant to types of attacks which might have seemed irrelevant in the past. One interesting idea that pervades both the classical and modern cryptanalysis and underlying mathematics is that ofstochastic algorithmorprobabilistic algorithm,by contrast to the more traditional and usualdeterministicalgorithms used in elementary mathematics. The point is that for many purposes there are algorithms that runmuch fasterbut with less than 100% chance of success, or, on the other hand,usuallyrun fast, but not always. And this appears to be a fact of life, rather than just an artifact of our ignorance. It must be noted that the advent of widely available high-speed computing machinery has drastically altered the landscape of cryptology. Simultaneously: Encryption and (authorized) decryption can be automated, massive computation to perform encryption/decryption is enormously easier, and more elaborate systems become feasible. Storage, transfer, and manipulation of data on computer networks has sharply increased theneedfor effective encryption and related techniques. Cryptanalytic attacks have become commensurately easier. So issues which might have previously been viewed as of interest mostly to little kids (?) or spies (?) are now of quite general interest. This is a subject inapplied mathematics,since most of the mathematics we do will be motivated by application. The necessary mathematics will include some number theory, linear algebra, abstract algebra, probability theory, complexity theory, and other things. We can't pretend to be doing justice to these subjects, buGarrett, Paul is the author of 'Making, Breaking Codes An Introduction to Cryptography', published 2001 under ISBN 9780130303691 and ISBN 0130303690.