"Making, Breaking Codes: An Introduction to Cryptology", Paul Garrett,
%A Paul Garrett Garrett@... Paul.Garrett@...
%C One Lake St., Upper Saddle River, NJ 07458
%G 978-0-13-030369-1 0-13-030369-0
%I Prentice Hall
%O 800-576-3800 416-293-3621 +1-201-236-7139 fax: +1-201-236-7131
%O Audience a- Tech 2 Writing 1 (see revfaq.htm for explanation)
%P 523 p.
%T "Making, Breaking Codes: An Introduction to Cryptology"
The preface states that this book is intended to address modern ideas
in cryptology, with an emphasis on the mathematics involved,
particularly number theory. It is seen as a text for a two term
course, possibly in cryptology, or possibly in number theory itself.
There is a brief introduction, listing terms related to cryptology and
some aspects of computing.
Chapter one describes simple substitution ciphers and the one time
pad. The relevance to the process of the sections dealing with
mathematics is not fully explained (and neither is the affine cipher).
Probability is introduced in chapter two, and there is some discussion
of the statistics of the English language, and letter frequency
attacks on simple ciphers. This simple frequency attack is extended
to substitution ciphers with permuted (or scrambled, but still
monoalphabetic) ciphers, in chapter three. There is also mention of
basic character permutation ciphers and multiple anagramming attacks.
Chapter four looks at polyalphabetic ciphers and attacks on expected
patterns. More probability theory is added in chapter five.
Chapter six turns to modern symmetric ciphers, providing details of
the DES (Data Encryption Standard) as examples of the principles of
confusion, diffusion, and avalanche. Divisibility is important not
only to the RSA (Rivest-Shamir-Adlemen) algorithm, but, in modular
arithmetic, to modern cryptography as a whole, and so gets extensive
treatment in chapter seven. The Hill cipher is used, in chapter
eight, to demonstrate that simple diffusion is not sufficient
protection. Complexity theory is examined, in chapter nine, with a
view to determining the work factor (and sometimes practicality) of a
given cryptographic algorithm.
Chapter ten turns to public-key, or asymmetric, algorithms, detailing
aspects of the RSA and Diffie-Hellman algorithms, along with a number
of others. Prime numbers (important to RSA) and their characteristics
are examined in chapter eleven, and roots in twelve and thirteen.
Multiplicativity, and its weak form, are addressed in fourteen, and
quadratic reciprocity (for quick primality estimates) in fifteen.
Chapter sixteen notes pseudoprimes, which can complicate the search
for keys. Basic group theory, covered in chapter seventeen, relates
to Diffie-Hellman and a variety of other algorithms. Diffie-Hellman,
along with some abstract algorithms, is reviewed in chapter eighteen.
Rings and fields (in groups) are noted in chapter nineteen, and
cyclotomic polynomials in twenty.
Chapter twenty-one examines a few pseudo-random number generation
algorithms. More group theory is presented in twenty-two. Chapter
twenty-three looks at proofs of pseudoprimality. Factorization
attacks are addressed in basic (chapter twenty-four), and more
sophisticated forms (twenty-five). Finite fields are addressed in
chapter twenty-six and discrete logarithms in twenty-seven. Some
aspects of elliptic curves are reviewed in chapter twenty-eight. More
material on finite fields is presented in chapter twenty-nine.
Despite the title, this is a math textbook. You will need to have, at
the very least, a solid introduction to number theory to get the
benefit from it. Even at that, the application, and implications, of
the mathematical material to cryptology is difficult to follow. The
organization probably also works best in a math course: it certainly
seems to skip around in a disjointed manner when trying to follow the
crypto thread, and apply the math to it. For all its faults, "Applied
Cryptography" (cf. BKAPCRYP.RVW) is still far superior in explaining
what the math actually does.
copyright, Robert M. Slade 2010 BKMABRCO.RVW 20101128
====================== (quote inserted randomly by Pegasus Mailer)
rslade@... slade@... rslade@...
.^. .^. .^. .^. .^. .^.
_|\ /|_ _|\ /|_ _|\ /|_ _|\ /|_ _|\ /|_ _|\ /|_
> C < > a < > n < > a < > d < > a <
>_/|\_< >_/|\_< >_/|\_< >_/|\_< >_/|\_< >_/|\_<
Modified from JD Small <ai369@...