Cryptography: An Introduction (3rd Edition)

Cryptography: An Introduction (3rd Edition)

Nigel Smart

Preface To Third Edition

The third edition contains a number of new chapters, and various material has been moved around.

? The chapter on Stream Ciphers has been split into two. One chapter now deals with the general background and historical matters, the second chapter deals with modern constructions based on LFSR's. The reason for this is to accomodate a major new section on the Lorenz cipher and how it was broken. This compliments the earlier section on the breaking 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. This is because CTR mode is becoming more used, both by itself and as part of more complex modes which perform full authenticated encryption. Thus it is important that students are exposed to this mode.

? I have reordered various chapters and introduced a new part on protocols, in which we cover secret sharing, oblvious transfer and multi-party computation. This compliments the topics 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 been split into two parts, the material on zero-knowledge proofs has now been moved to Part 5 and this has been extended to include other topics, such as oblivious transfer and secure multi-party computation.

? The new chapter on secret sharing contains a complete description of how to recombine shares in the Shamir secret-sharing method in the presence of malicious adversaries. To our knowledge this is not presented in any other elementary textbook, although it does occur 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 N P has been added.

The reason for including extra sections etc, is that we use this text in our courses at Bristol, and so when we update our lecture notes I also update these notes. In addition at various points students do projects with us, a number of recent projects have been on multi-party computation and hence these students have found a set of notes useful in starting their projects. We have also introduced a 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, who were patient in explaining a number of issues to me for inclusion in the new sections. Also thanks to Endre Bangerter, Jiun-Ming Chen, Ed Geraghty, Thomas Johansson, Georgios Kafanas, Parimal Kumar, David Rankin, Berry Schoenmakers, S. Venkataraman, and Steve Williams for providing comments, spotting typos and feedback on earlier drafts and versions.

The preface to the second edition follows:

3

Preface To Second Edition

The first edition of this book was published by McGraw-Hill. They did not sell enough to warrant a second edition, mainly because they did not think it worth while to allow people in North America to buy it. Hence, the copyright has returned to me and so I am making it available for free via the web.

In this second edition I have taken the opportunity to correct the errors in the first edition, a number of which were introduced by the typesetters. I have also used a more pleasing font to the eye (so for example a y in a displayed equation no longer looks somewhat like a Greek letter ). I have also removed parts which I was not really happy with, hence out have gone all exercises and Java examples etc.

I have also extended and moved around a large amount of topics. The major changes are detailed below:

? The section on the Enigma machine has been extended to a full chapter. ? The material on hash functions and message authentication codes has now been placed in

a seperate chapter and extended somewhat. ? The material on stream ciphers has also been extracted into a seperate chapter and been

slightly extended, mainly with more examples. ? The sections on zero-knowledge proofs have been expanded and more examples have been

added. The previous treatment was slightly uneven and so now a set of examples of increasing difficulty are introduced until one gets to the protocol needed in the voting scheme which follows. ? A new chapter on the KEM/DEM method of constructing hybrid ciphers. The chapter discusses RSA-KEM and the discussion on DHIES has been moved here and now uses the Gap-Diffie?Hellman assumption rather than the weird assumption used in the original. ? Minor notational updates are as follows: Permutations are now composed left to right, i.e. they operate on elements "from the right". This makes certain things in the sections on the Enigma machine easier on the eye.

One may ask why does one need yet another book on cryptography? There are already plenty of books which either give a rapid introduction to all areas, like that of Schneier, or one which gives an encyclopedic overview, like the Handbook of Applied Cryptography (hereafter called HAC ). However, neither of these books is suitable for an undergraduate course. In addition, the approach to engineering public key algorithms has changed remarkably over the last few years, with the advent of `provable security'. No longer does a cryptographer informally argue why his new algorithm is secure, there is now a framework within which one can demonstrate the security relative to other well-studied notions.

Cryptography courses are now taught at all major universities, sometimes these are taught in the context of a Mathematics degree, sometimes in the context of a Computer Science degree and sometimes in the context of an Electrical Engineering degree. Indeed, a single course often needs to meet the requirements of all three types of students, plus maybe some from other subjects who are taking the course as an `open unit'. The backgrounds and needs of these students are different, some will require a quick overview of the current algorithms in use, whilst others will want an introduction to the current research directions. Hence, there seems to be a need for a textbook

5

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download