Dismayingly long but possible helpful list of typos, blunders, and gaucheries in

- p. xiii line 10 "EEF" should be "EFF"
- p. xiii line 15, "mod-2000" should be "mid-2000"
- p. xiv line 8 delete both "for"'s
- p. xvii line 2 correct doubled "that that" to simply "that"
- p. xviii lin -8 change "does easily" to "does not easily"
- p. 5 lines 5-6, replace ciphertext by "UIFTF BSF UJNFT UIBU NLBF VT UJSFE"
- p. 6 line 4, replace "1.7+3" by "6.2+0"
- p. 8 line 15, "r<0" and "r'<0" should be "r<m" and "r'<m"
- p. 8 line 19, "q-q" should be "q'-q"
- p. 9 line 8, "modulo m" should be "modulo n"
- p. 10 line 10, the left-hand side of the equality should be

((x % m) * (y % m)) % m - p. 11 line 6, "not matter" should be "no matter"
- p. 13 line -4, "decription" should be "decryption"
- p. 16 line -19, "3.x+7" should be "11.x+5"
- p. 24, lines 9 and 10, the "10" should be "N"
- p. 29, line -1, insert minus sign on right side of inequality
- p. 32, second display, replace "character" by "word"
- p. 32, line 17, replace "is ciphertext-only" by "in ciphertext-only"
- p. 33, in display, replace "e 9.53" by "t 9.53"
- p. 33, in display, replace "e 8.22" by "o 8.22"
- p. 36, line -2, replace "words" by "characters"
- p. 41, line 16, replace "R - 1.7" by "R - 2".
- p. 47, line 10, replace "LYICCB" by "ELYICCB"
- p. 56, line -1, replace "n by n" by "n by m"
- p. 59, in second large display:

replace "x subscript m-1" by "x subscript m+1"

replace "x subscript m-2" by "x subscript m+2"

replace "x subscript 2m-1" by "x subscript 2m+1"

replace "x subscript 2m-2" by "x subscript 2m+2"

replace "x subscript N-m-1" by "x subscript N-m+1"

replace "x subscript N-m-2" by "x subscript N-m+2" - p. 62, line 19, replace "3-and-a-third" by "2-and-a-third"
- p. 70, line 14, replace "0-10" by "1-10"
- p. 70, line 16, delete summand "one-tenth 0-squared" in display
- p. 70, line 17, replace "0-10" by "1-10" and "5" by "5.5"
- p. 70, line 18, replace "25" by "30.25"
- p. 83, line -1, replace "+" by "-", and "k_2-k_0" by "k_2-k_1"
- p. 102, line 11, replace two occurrences of "56" by "57"
- p. 107, after line 10, insert (in italics) "(Note: in late 2000 Rijndael was chosen as AES.)"
- p. 114, line 8, replace "suppose that some integer n>1 did" with "let n be the least integer to"
- p. 132, line -3, replace "enought" by "enough"
- p. 133, line 8, replace "x'" with "y"
- p. 136, line -4, replace "integers" with "candidates"
- p. 143, line 9, replace "p superscript 4" with "p superscript 4(e-1)"
- p. 143, line 12, delete "p superscript n-squared"
- p. 145, line 1, delete "(?)"
- p. 145, line 3, replace superscript "1" with superscript "-1"
- p. 161, line 24, replace "x-superscript-e % m" by "x-superscript-e % p"
- p. 163, line 3, replace "mod 4189" by "mod 4060"
- p. 163, line -8, replace "encryption/decryption" by "encryption and decryption"
- p. 163, line -8, replace "works" by "work"
- p. 164, line 4, replace "we must assume" by "Euler's theorem requires".
- p. 164, line 9, at end of paragraph insert "In fact, here we only need Fermat's little theorem."
- p. 165, line -14, replace "p+1" by "p+q"
- p. 167, lines -16, -15, replace "8 hours" by "3 days"
- p. 172, line 15, replace "that RSA" with "than RSA"
- p. 180 last display replace "m" by "x"
- p. 183, line 14, replace "convincing" with "plausible"
- p. 183, line 14, replace "that seems to break the cipher (and related ciphers)" with "for a class of attacks on this and related ciphers"
- p. 186, line -3, replace "the Arithmetica cipher" by "such ciphers"
- p. 187, line 7, replace "does not completely break" with "is ineffective against"
- p. 203, line -6, replace "12, 5" with "1,2,5"
- p. 204, line 11, replace "23, 57" with "2,3,5,7"
- p. 204, line -3, replace "7..13" with "7.31"
- p. 204, line -1, replace "127" with "17"
- p. 205, line 12, replace "7.34=1" with "7.34+1"
- p. 205, line 13, replace "23, 57, 1113" with "2,3,5,7,11,13"
- p. 205, line 14, replace "8.34=1" with "8.34+1"
- p. 205, line 14, replace "9.34=1" with "9.34+1"
- p. 209 line -12 replace "10" by "2"
- p. 210, line 17, replace "garbage" with "not a square root of the number"
- p. 210-11, replace all three-line "congruence" symbols with simple equality signs
- p. 211, line 2, replace "if y is a square root" with "if y is a non-zero square root"
- p. 211, line -1, replace "(y^r)^n)" by "(y^r)^n" (that is, delete trailing parenthesis)
- p. 211, line -1, insert "mod p" at the end of the displayed line
- p. 212, line 15, replace "(y^r)^n)" by "(y^r)^n" (that is, delete trailing parenthesis)
- p. 212, line 15, replace "x^l (p-1)" with "x-superscript-(l.(p-1))". That is, ell-times-(p-1) is in the exponent
- p. 212, line 16, replace "(x^p-1)^n" with "(x^p-1)^ell"
- p. 232, lines -1 and -2, insert space between "p" and "if"
- p. 246, line -6, replace "(p-1)(q-1)/2" (in the exponent) by "(p-1)(q-1)/4", that is, replacing the denominator "2" by "4"
- p. 252, line -2, replace "4 to 2" by "4 to 3"
- p. 257, line -8, replace three-line congruence symbol by simple equality sign
- p. 259, lines 17-19, replace "note that... 1 mod b" by "recall Fermat's observation that for b>1 gcd(b^m-1,b^n-1) = b^gcd(m,n) - 1. Thus, gcd(b-1,b^n-1)=b-1, and gcd(b-1,(b^n-1)/(b-1))=1."
- p. 263, line -9, replace "Euler" with "strong"
- p. 263, line -9, replace "pseudoprimes" with "pseudoprime"
- p. 264, line 11, replace "b-sub-1" with "b-sub-0"
- p. 265, line 11, replace "b-sub-1" with "b-sub-0"
- p. 265, line 16, insert "b-sub-1" just before "b-sub-2"
- p. 274, line 2, replace "g-superscript-(m+n)" with "g-sup-m . g-sup-n"
- p. 274, line 6, replace "smallest exponent" by "smallest positive exponent"
- p. 299, line 13, delete "prime or"
- p. 299, line 15 replace "prime" by "irreducible"
- p. 307, line -5, replace "a function" by "a real-valued function"
- p. 317, in the statement of the proposition: The proposition
should read "Let
*f*be a polynomial with coefficients in a field*k*. Let*P*be a polynomial with coefficients in*k*. On one hand, if*P*divides^{2}*f*, then*P*divides*gcd(f,f')*. On the other hand, if the characteristic*p*of*k*is positive, if*P*is irreducible, if every element*a*in*k*has a*p*th root in*k*, and if*P*divides*gcd(f,f')*, then*P*divides^{2}*f*. (Note that the latter condition holds, for example, for finite fields**Z***/p*with*p*prime.)" - p. 318, from the top of the page until the end of the proof, the
text should be "Let
*b*be a_{i}*p*th root of*a*in_{i}*k*. From above, the latter expression is the*p*th power of

*b*_{pm}x^{n}+ b_{p(m-1)}x^{m-1}+ b_{p(m-2)}x^{m-2}+ ... + b_{2p}x^{2}+ b_{p}x+b_{0}

But if*P*is a*p*th power, it is certainly not irreducible. Therefore, for*P*irreducible it cannot be that*P'*is the zero polynomial. Therefore, above it must have been that*R=0*, which is to say that*P*divides^{2}*f*, as claimed." - p. 320 line 1 change "m=n" to "m and n"
- p. 335, line -4, insert ellipsis+comma "...m" before "s-sub-n"
- p. 335, line -1, replace "s-sub-(n-3)" by "s-sub-(n-N+1)"
- p. 337, line -11, replace "a-sub-1" by "s-sub-1"
- p. 366, line 14, replace "cyclid" by "cyclic"
- p. 374, line -10, replace "then for 2" by "then 2"
- p. 393, line 1, replace "which" by "such that p-1"
- p. 393, line 20, replace "1=g" by "g=1"
- p. 393, line -7, delete "B-smooth" and replace "of n" with "of n such that p-1 is B-smooth"
- p. 394, lines 6, 9, 13, replace "b^T" by "b^T - 1". That is, the exponent is T, and there should be a subtraction of 1, _not_ in the exponent: (b^T)-1
- p. 395, line 12, replace "2604247" by "2604247-1"
- p. 415, line -4, replace "redn" by "% n"
- p. 417 lines -1 replace "b-sub-i" by simply "b"
- p. 417, line -1, replace 3 times "a" by "a-sub-i"
- p. 418, lines 2,3 replace 3 times "a" by "a-sub-i"
- p. 418 line 10, replace "14" by "12"
- p. 429, lines 13 and 22, replace "bold-F2" by "bold-F-sub-2"
- p. 433, line 7, replace "b-sup-minus-1" by "b-sup-minus-m"
- p. 434, line 13, should be "log_2 3 = 9.7 + 6 = ..."
- p. 435, line 19 (middle line in display), replace "x^2" by "X^2", that is, lowercase "x" by uppercase "X"
- p. 435, line -6, replace "=e" by "=X-sub-o"
- p. 435, line -5, replace "f(f(Y))" by "f(f(Y_i))"
- p. 437, line -11, replace "square mod 59" by "squares mod 59"
- p. 437, line -6, replace "log_b 9" by "log_4 9"
- p. 452, line 2, replace "which are" by "which is"
- p 452, (1/3)^2 - 2 is not 6^2 - 2 :)
- p. 466, lines 1-2, replace

"3|(r-r'), so since 3|6 surely 6|(r-r'). Then"

by

"3|(4r-4r') and 2|(4r-4r'), so" - p. 501, line -8, replace "ln 1 + ln 1" by "ln 1 + ln 2"
- p. 516, solution to 1.01.08 should be "These are the times that make us tired"
- p. 516, solution to 1.03.02 should be "VHDSJKBTV"
- p. 517, solution 10.02.05, replace "9854" by "9611"