Page 257: The estimation of winning the ECB game for a PRP is
correct, but the proof is wrong.
A corrected page is here.
Page 259: The proof of CBC mode has a number of bugs.
The corrected pages are here.
Page 264: Line -9.
Replace "a new nonce" with "another nonce".
Page 265: Theorem 13.11.
The theorem is stated for the Random-IV variant,
which should go in the theorem statement.
The sentence afterwards should say that the above advantage
statement also applies in the nonce-based setting
assuming the restriction of the nonce (on the previous
page) is respected.
Page 271: Line 11 of first main paragraph.
Replace O(2^t) with \Omega(2^t).
Page 277: Line 15.
Padding method four could also be used here.
Page 281: Algorithm 14.3.
There is an unfortunate double use of the letter f to
denote both the round function for SHA-1 and the bit-wise
operations used to define the round function. Hopefully
the usage of the letter f is clear from the context.
Page 285: Line 7.
Should be "we first pad m out to a multiple of b using zero's
(i.e. we apply padding method zero)".
Page 288: Figure 14.8
In the box containing pad_4 it should be clearer that this
is added onto k||m and not just the padding passed through.
So the box should probably be
k||m||pad_4(|k||m|,r)
Page 296: Line -3.
Should be "breaking the RSA cryptosystem is no easier than solving the RSA problem."
Page 304: Section 15.3.4.
The moduli used in the example give Euler phi values which are all divisible by three,
which is not compatible with encryption exponent three. Thus make the following changes:
The moduli N_1, N_2 and N_3 should be 253, 213 and 901 respectively.
The ciphertexts c_1, c_2 and c_3 should be 199, 7 and 730 respectively.
Page 315: Line 2 and 3.
Should be "If b=b'" then algorithm B returns that
j is not a quadrative residue, otherwise it returns that
it is".
Page 315: Line 8.
Swap the two probabilities on this line around to make it match in
order with the line which follows.
Page 319: Line 3.
The group order should be \phi(N^2)=... not \phi(N)=....
Page 321: Line -5.
Should be \log_{256} not \log_{8}
Page 327: Line 1.
Should be "Note that C's target..."
Page 327: Line 2.
Should be "... unless B aborts..."
Page 327: Line 4.
Should be "... winning (or loosing) their game."
Page 333: Line -1.
Replace both occurances of s with h.
Page 335: Line -12.
The public key h should be y.
Page 336: Lines 1,6,9.
The public key h should be y.
Page 337: Lines 10 and 19.
The public key h should be y.
Page 412: Line -2.
Replace F_p with F_q.
Page 422: Second displayed equation should read
$c_2 \oplus H({c_1}^x) = m \oplus H(h^k) \oplus H({c_1}^x) = m \oplus H(g^{xk}) \oplus H(g^{kx}) = m $.
Page 437: Line 13.
The parties compute the final tally by taking t+1 values and not t.
Page 444: Last paragraph replace with...
In our example we can now assess what party B has learnt from
the computation.
Party B knows that the output of the final OR gate is zero,
which means that the inputs must also be zero, which means
that the output of the AND gate is zero and the output of
the exclusive-or gate is zero.
However, since party B knows the output of the AND gate is
zero and his own input was one, then party A's first
input wire must be zero.
In addition, party B also learns that party A's second input wire
also represented zero, since otherwise the exclusive-or gate would not
have output zero.
Thus the output (and Party B's input) totally reveals Party A's inputs.
This is what we meant by a protocol keeping the inputs private,
bar what could be deduced from the output of the function.
Page 447: Multiple corrections and clarifications.
Line 11:
Change "each party obtains its row" to "each party obtains its column".
First table:
Swap the row/column labels i and j around.
First line after first table change to:
"As an exercise you should work out the associated polynomial corresponding
to each row. For example the polynomial for the first row/variable is given by
$68 \cdot X^2 + 57 \cdot x + 20$."
(Where all numbers are encoded in red)
Line 3 and 4 after first table change to:
"by each multiplying the first two elements in their column of the above table"
Before second table add the line:
"For example the value $33 = 44 \cdot 26 \pmod{101}$ obtained by party one,
is shared by them using the polynomial $2 \cdot X^2 + 57 \cdot X + 33$,
resulting in the six shares $(92,54,20,91,65,43)$."
(Where all numbers are encoded in red)
After the second table change the line to:
"Each party then takes the six values obtained (i.e. it's column)
and recovers..."
Thanks to
Felix Balado,
Joan Boyar,
Robin Geelen,
Jochem Hoes,
Peter Kovary,
Bart Preneel,
George Stephanides,
Jose Vanterpool,
Tom Verhoeff,
Jianrui Xie,
Kelvin Zhang,
and
Fangyi Zhou
for finding the above.
Nigel Smart