Preface To Third Edition
The third edition contains a number of new chapters, and various material has been movedaround.
The chapter on Stream Ciphers has been split into two. One chapter now deals withthe general background and historical matters, the second chapter deals with modernconstructions based on LFSR’s. The reason for this is to accomodate a major new sectionon the Lorenz cipher and how it was broken. This compliments the earlier section on thebreaking of the Enigma machine. I have also added a brief discussion of the A5/1 cipher,and added some more diagrams to the discussion on modern stream ciphers.
I have added CTR mode into the discussion on modes of operation for block ciphers. Thisis because CTR mode is becoming more used, both by itself and as part of more complexmodes which perform full authenticated encryption. Thus it is important that studentsare exposed to this mode.
I have reordered various chapters and introduced a new part on protocols, in which wecover secret sharing, oblvious transfer and multi-party computation. This compliments thetopics from the previous edition of commitment schemes and zero-knowledge protocols,which are retained a moved around a bit. Thus the second edition’s Part 3 has now beensplit into two parts, the material on zero-knowledge proofs has now been moved to Part 5and this has been extended to include other topics, such as oblivious transfer and securemulti-party computation.
The new chapter on secret sharing contains a complete description of how to recombineshares in the Shamir secret-sharing method in the presence of malicious adversaries. Toour knowledge this is not presented in any other elementary textbook, although it doesoccur in some lecture notes available on the internet. We also present an overview of Shoup’s method for obtaining threshold RSA signatures.
A small section detailing the linkage between zero-knowledge and the complexity class
has been added.The reason for including extra sections etc, is that we use this text in our courses at Bristol, and sowhen we update our lecture notes I also update these notes. In addition at various points studentsdo projects with us, a number of recent projects have been on multi-party computation and hencethese students have found a set of notes useful in starting their projects. We have also introduceda history of computing unit in which I give a few lectures on the work at Bletchley.Special thanks for aspects of the third edition go to Dan Bernstein and Ivan Damg˚ard, whowere patient in explaining a number of issues to me for inclusion in the new sections. Also thanksto Endre Bangerter, Jiun-Ming Chen, Ed Geraghty, Thomas Johansson, Parimal Kumar, DavidRankin, Berry Schoenmakers and Steve Williams for providing comments, spotting typos andfeedback on earlier drafts and versions.The preface to the second edition follows: