No matter how much time and attention was spent in copyediting, errors are inevitable in a book of this size. Here there is a list of errors for the benefit of readers.
We thank all the readers for their invaluable help in keep this list updated. If you find an error please send an email to Mario Forcinito

[Page 22]
The caption under Figure 2.2 should read "A German Enigma machine  Photo courtesy of the Computer History Museum." instead of "A German Enigma machine". (our apologies to the Computer History Museum for the oversight).

[Page 345]
The correct expressions for the Extended Euclidean Algorithm should read :
r_{5} = r_{3}  3 r_{4}, instead of r_{5} = r_{4}  3 r_{3}
r_{6} = r_{4}  6 r_{5}, instead of r_{6} = r_{5}  6 r_{4}
(Contributed by Burt Wilsker to whom we thank.)

The following corrections are the result of Dr. Valery Ipatov's attentive reading. We appreciate very much all his hard work.

[Page 26]
Explaining ENIGMA we erroneously use c=22 (see fifth line from above), while the correct result is c=19. The error occurred due to confusing the second line (alpha two) of page 25 with the first (alpha one). Regretfully this error has resulted in subsequent ones: d=21 instead of 0, e=23 instead of 4, etc.

[Page 36]
A similar error was made in the solution of Problem 12: d=1 instead of d=5. Again alpha 2 was erroneously used in place of alpha 3 and again it involved the tail of subsequent errors.

[Page 107]
n15 (eq. 5.8) is inconsistent with the algorithm described above the SBox table. The last row of w15 (eq. 5.7) gives the address (11,15) in the SBox where we find element 8 rather than 4. Also, in item 2 of the algorithm above it is said that a cyclic shift should be upwards, while the one one in the example is downwards.

[Page 111]
In the solution for Problem 5, the cyclic shift was done for the whole 56bit key instead of two cyclic shifts on the 28bits halves, as prescribed by the DES algorithm. This gives erroneous bits 28 and 56 of the shifted key and bits 8 and 40 in the compresspermuted key.

[Page 112]
In the solution for Problem 11, the elements of n3 are inconsistent with the SBox table and the algorithm for the construction of the matrix W. Column j=3 of W indicates addresses (0,2), (0,1), (0,1), (0,0), where elements 119, 124, 124, and 99 are different (except for 99) from those in solution. Also the position of 99 points to the reverse shift direction.

[Page 189]
In the statement of Theorem 10.15 it is said "... with equality if and only if the variables X1, X2, ... , Xn are pairwise independent." In fact the pairwise independence is not sufficient: variables may be pairwise independent but not independent in the aggregate. Then there will be no equality in Theorem 10.15.

[Page 243]
The equation on the 7th line from the top should say H(Yx) instead of H(YX), likewise in the LHS of equation in line 11th it should say 2^nH(YX) 2^nH(XY) and therefore lines 13th and 14th should have H(YX) instead of H(XY) instead of H(XY).

[Page 244]
In the equation on the 4th line brackets are missing in the exponent of 2^n[H(X,Y)H(Y)].

[Page 245]
Reference number is missing in the last line, it should be [Fey99].

[Page 246]
In the Fact 2 equation factor 2^n is missing.

[Page 247]
Reference number in 8th line is missing, it should be [Fey99].

[Page 300]
The formulas on lines 11 and 6 from the bottom should have (x^n)1 instead of x^(n1).

[Page 330]
The two last equations should read: d(x1+x2,x1) = d(x2,0) >= d and d(x1+dx2,x2) = d(x1,0) >= d, respectively.

[Page 349]
In the polynomials table: the last row should be interchanged with each other.

[Page 375]
The solution of Problem 2 is missing the last part, "dividing the second row by 2 produces the matrix:
1 0 2 1
0 1 0 3 .

[Page 376]
In the solution of Problem 9 there is a typo. It should say n=1 and 3^(mn1)= 3^2 = 9.

[Page 383]
In line 4 from below indexes of alpha are missing. One line above dots are missing in words notation.
