The.Algorithm.Design.Manual.Springer-Verlag.1998

The.Algorithm.Design.Manual.Springer-Verlag.1998 The.Algorithm.Design.Manual.Springer-Verlag.1998

18.04.2013 Views

Cryptography secure enough cryptosystem, we can be confident that an eavesdropper will not be able to deduce my key even given several plain and encrypted texts. Such authentication protocols of back-and-forth messages often involve the use of randomness to frustrate eavesdroppers. Different protocols satisfy particular needs and constraints about who has to know what. It is important to do some reading before attempting to design your own protocols. References are provided below. Implementations: The USENET FAQ (frequently asked questions) file on cryptography provides a wealth of information, including pointers to implementations. Check it out at ftp://rtfm.mit.edu/pub/usenet/news.answers/cryptography-faq/. Distributing cryptographic software is complicated by United States export restrictions, which make it illegal to export encryption software. PGP (Pretty Good Privacy) is such a good implementation of RSA that its author Philip Zimmerman was charged with export violations by federal authorities. PGP may be obtained from the Electronic Frontier Foundation (EFF) at http://www.eff.org/pub/Net_info/Tools/Crypto/PGP/. A good discussion on checksums and cyclic-redundancy codes, with implementations in C, appear in [BR95]. The code for these algorithms is printed in the text and is available on disk for a modest fee. The Stanford Graphbase (see Section ) uses checksums to ensure that data files remain unmodified from the original distribution. Algorithm 536 [Kno79] of the Collected Algorithms of the ACM is an encryption function for passwords, written in Fortran. See Section for further information. Notes: Kahn [Kah67] presents the fascinating history of cryptography from ancient times to 1967 and is particularly noteworthy in light of the secretive nature of the subject. More recent and more technical works on cryptography include Denning [Den82] and Schneier [Sch94], the latter of which provides a through overview of different cryptographic algorithms, including implementations for sale. Rawlins [Raw92] provides a good introduction to cryptographic algorithms, from Caesar shift to public key to zero-knowledge proofs. An algorithm for breaking simple substitution ciphers appears in [PR79]. Expositions on the RSA algorithm [RSA78] include [CLR90]. The RSA Laboratories home page http://www.rsa.com/rsalabs/ is very informative. See [Sta95] for an excellent guide to PGP and its underlying algorithms. The history of DES is well presented in [Sch94]. Particularly controversial was the decision by the NSA to limit key length to 56 bits, presumably short enough to be cracked by special-purpose computers costing on the order of several million dollars. Despite some theoretical progress in breaking DES analytically [BS93], the most significant threat remains special-purpose hardware. file:///E|/BOOK/BOOK5/NODE206.HTM (4 of 5) [19/1/2003 1:32:13]

Cryptography MD5 [Riv92] is the secure hashing function used by PGP to compute digital signatures. Expositions include [Sch94, Sta95]. Related Problems: Factoring and primality testing (see page ), Text compression (see page )). Next: Finite State Machine Minimization Up: Set and String Problems Previous: Text Compression Algorithms Mon Jun 2 23:33:50 EDT 1997 file:///E|/BOOK/BOOK5/NODE206.HTM (5 of 5) [19/1/2003 1:32:13]

Cryptography<br />

MD5 [Riv92] is the secure hashing function used by PGP to compute digital signatures. Expositions<br />

include [Sch94, Sta95].<br />

Related Problems: Factoring and primality testing (see page ), Text compression (see page )).<br />

Next: Finite State Machine Minimization Up: Set and String Problems Previous: Text Compression<br />

<strong>Algorithm</strong>s<br />

Mon Jun 2 23:33:50 EDT 1997<br />

file:///E|/BOOK/BOOK5/NODE206.HTM (5 of 5) [19/1/2003 1:32:13]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!