home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / sci / crypt / 5770 < prev    next >
Encoding:
Text File  |  1992-12-17  |  8.4 KB  |  256 lines

  1. Newsgroups: sci.crypt
  2. Path: sparky!uunet!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!mcdchg!laidbak!tellab5!chinet!schneier
  3. From: schneier@chinet.chi.il.us (Bruce Schneier)
  4. Subject: New Cryptography Book
  5. Message-ID: <BzD2tw.Kvo@chinet.chi.il.us>
  6. Organization: Chinet - Public Access UNIX
  7. Date: Wed, 16 Dec 1992 16:51:31 GMT
  8. Lines: 246
  9.  
  10. As most of you already know, I am in the middle of writing a cryptography
  11. book for programmers.  It will be published by John Wiley & Sons sometime
  12. in the Fall.
  13.  
  14. Some time ago I asked this newsgroup if there was anyone interested in
  15. reading and commenting on the manuscript.  A number of people have said yes,
  16. and I saved all of those responses.
  17.  
  18. The time has come to see which of those responses were serious.  By the end
  19. of the week I will have finished my draft of the first main section of the
  20. manuscript:  cryptographic protocols.  I am planning to E-Mail that section
  21. and the introductory section to everyone who expressed interest last time,
  22. and anyone who expresses interest now.
  23.  
  24. All comments, criticisms, additions, and complaints are welcome. 
  25.  
  26. Additionally, I am still looking for cryptography source code for inclusion
  27. in the book and on the source code disk.  I am interested in C source for
  28. N-Hash, SHA, DSS, and anything else you can think of.  I have code for DES,
  29. Lucifer, MD4, MD5, LOKI91, REDOC-III (I think), Snefru, Khufu and Khafre (if
  30. I can transfer it from the patent), RSA (I'm using RSAREF), and IDEA.  I am
  31. also looking or code for pre-computer algorithms.
  32.  
  33. Anyway, if you have already responded to this request the last time it was
  34. posted, you don't have to respond again.  I am hopeful that this book will
  35. go a long way to bring cryptography out of academia and into the hands of
  36. programmers.  Any help that would make this book better would be greatly
  37. appreciated.
  38.  
  39. Bruce
  40.  
  41. Attached is the current table of contents (subject to change, of course):
  42.  
  43.                      CRYPTOGRAPHY PROGRAMMING
  44.            PROTOCOLS, TECHNIQUES, AND ALGORITHMS IN C
  45.                                          by  Bruce Schneier 
  46.  
  47.                         Table of Contents
  48.  
  49. I. Foundations
  50.      A. Terminology
  51.      B. Classical Cryptography
  52.           1. Substitution Ciphers and Transposition Ciphers
  53.           2. Simple XOR
  54.           3. One-Time Pads
  55. II. Cryptographic Protocols
  56.      A. Secret-Key Cryptosystems
  57.      B. One-Way Functions
  58.      C. Public-Key Cryptography
  59.      D. Digital Signatures
  60.      E. Digital Signatures with Encryption
  61.      F. Undeniable Digital Signatures
  62.      G. Fail-Stop Digital Signatures
  63.      H. One-Way Hash Functions
  64.      I. Key Exchange
  65.      J. Proofs of Identity
  66.      K. Obfuscation
  67.      L. Subliminal Channel
  68.      M. Secret Splitting
  69.      N. Secret Sharing
  70.      O. Bit Commitment
  71.      P. Fair Coin Tosses
  72.      Q. Mental Poker
  73.      R. Anonymous Key Distribution
  74.      S. Zero-Knowledge Proofs
  75.      T. Blind Signatures
  76.      U. Oblivious Transfer
  77.      V. Simultaneous Contract Signing
  78.      W. Digital Certified Mail
  79.      X. Voting by Computer
  80.      Y. Secure Multiparty Computation
  81.      Z. Secure Circuit Evaluation
  82.      AA. Digital Cash
  83.      AB. Anonymous Message Broadcast
  84.      AC. Time Stamping Services
  85. III.  Cryptographic Techniques
  86.      A. Random Number Generation
  87.           1. Pseudo-Random Bits
  88.           2. Cryptographically-Secure Pseudo-Random Bits
  89.           3. Random Bits
  90.           4. Generating Numbers Non-Uniform Distributions
  91.      B. Conventional Cryptosystems
  92.      C. Block Ciphers
  93.           1. Electronic Codebook Mode
  94.           2. Multiple Encryption
  95.           3. Block Replay
  96.           4. Block Chaining Mode
  97.           5. Cipher Block Chaining Mode
  98.           6. Plaintext Cipher Block Chaining Mode
  99.           7. Cipher Feedback Mode
  100.           8. Output Feedback Mode
  101.           9. Choosing a Cipher Mode
  102.      D. Stream Ciphers
  103.           1. Decimation Techniques
  104.           2. Combining Techniques
  105.           3. Output Feedback
  106.           4. Counter Method
  107.           5. Insertion Attack
  108.           6. Cipher Feedback
  109.      E. Using Block Ciphers as Stream Ciphers
  110.      F. Stream Ciphers vs Block Ciphers
  111.      G. Secret-Key Ciphers vs Public-Key Ciphers
  112.      H. Key Length
  113.      I. Key Management
  114.           1. Generating Keys
  115.           2. Transferring Keys
  116.           3. Verifying Keys
  117.           4. Storing Keys
  118.           5. Lost Keys
  119.           6. Lifetime of Keys
  120.           7. Destroying Keys
  121.      J. Encrypting Communications
  122.      K. Encrypting Data for Storage
  123.      L. Public-Key Cryptography vs Secret-Key Cryptography
  124.      M. Implementations of Encryption
  125.           1. Hardware
  126.           2. Software
  127.      N. File Erasure
  128.      O. Implementations
  129.           1. IBM Secret-Key Management Protocol
  130.           2. MEMO
  131.           3. ISDN
  132.           4. Needham and Schroeder
  133.           5. Kerberos
  134.           6. ISO Authentication Framework
  135.           7. Privacy Enhanced Mail (PEM)
  136.           8. Pretty Good Privacy (PGP)
  137.           9. LAN Protocol
  138. IV. Cryptographic Algorithms
  139.      A. Mathematical Background
  140.           1. Information Theory
  141.                a. Confusion and Diffusion
  142.           2. Complexity Theory
  143.                a. Complexity of Algorithms
  144.                b. Complexity of Problems
  145.                c. NP-Complete Problems
  146.                d. NP-Complete Problems and Cryptography
  147.           3. Number Theory
  148.                a. Modular Arithmetic
  149.                b. Inverses Modulo a Number
  150.                c. Computing in a Galois Field
  151.           4. Prime Numbers
  152.           5. Discreet Logarithms in a Finite Field
  153.      B. Block Algorithms
  154.           1. Data Encryption Standard (DES)
  155.           2. DES Variants
  156.                a. Multiple DES
  157.                b. DES with Independent Keys
  158.                c. DES with Alternate S-Boxes
  159.                d. GDES
  160.           3. Lucifer
  161.           4. Madryga
  162.           5. FEAL N
  163.           6. REDOC II
  164.           7. LOKI
  165.           8. Khufu and Khafre
  166.           9. RC2 and RC4
  167.           10. Bassomatic
  168.           11. IDEA
  169.           12. Using One-Way Hash Functions 
  170.      C. One-Way Hash Functions
  171.           1. MD4
  172.           2. MD5
  173.           3. MD2
  174.           4. Snefru 
  175.           5. N-Hash
  176.           6. Secure Hash Algorithm (SHA)
  177.           7. Using Block Ciphers
  178.                a.Davies-Meyer
  179.                b.Preneel-Bosselaers-Govaerts-Vandewalle
  180.                c.Quisquater-Girault
  181.                d.LOKI Double-Block
  182.                e.First IDEA
  183.                f.Tandem DM
  184.                g.Abreast DM
  185.           8. Using Stream Ciphers
  186.      D. Public-Key Algorithms
  187.           1. Diffie-Hellman
  188.           2. Knapsack Algorithms
  189.           3. RSA
  190.           4. Pohig-Hellman
  191.           5. Rabin
  192.           6. Fiat-Shamir
  193.           7. ElGamal
  194.           8. Schnoor
  195.           9. Digital Signature Algorithm (DSA)
  196.           10. ENSIGN
  197.           11. McEliece
  198.           12. Cellular Automata
  199.           13. Algorithms Based on the Theory of Elliptical Curves
  200.      E. Secret Sharing Algorithms
  201.           1. LaGrange Interpolating Polynomial Scheme
  202.           2. Vector Scheme
  203.           3. Asmuth-Bloom
  204.           4. Karnin-Greene-Hellman
  205.           5. Advances Threshold Schemes
  206.      F. Prime Number Generation
  207.           1. Solovay-Srassen
  208.           2. Rabin-Miller
  209.           3. Lehmann
  210.      G. Pseudo-Random Bitstream Generators
  211.           1. Linear Congruential Generators
  212.           2. Linear Feedback Shift Registers
  213.           3. Cellular Automata
  214.      H. Cryptographically-Secure Pseudo-Random Number Generators
  215.           1. Information-Theoretic Approach
  216.           2. System-Theoretic Approach
  217.           3. Complexity-Theoretic Approach
  218.                a. RSA
  219.                b. Blum Blum Shub
  220.           4. Randomized Stream Ciphers
  221.           5. Using Block Algorithms
  222.           6. Using One-Way Hash Functions
  223.      I. Real Random Number Generators
  224.           1. Using Clock Oscillators
  225.           2. Measuring Keyboard Latency
  226.           3. Using Random Noise
  227.      J. Special Algorithms for Protocols
  228.           1. Probabilistic Encryption
  229.           2. Zero-Knowledge Proofs of Identity
  230.           3. Subliminal Channel
  231.           4. Secure Multiparty Computation
  232.           5. Fair Coin Tosses
  233.           6. Secure Audio Teleconferencing
  234.      K. Quantum Cryptography
  235. V. Source Code Examples
  236.      A. Vigenare Cipher
  237.      B. Playfair Cipher
  238.      C. LFSR Key Generator
  239.      D. Cellular Automata Key Generator
  240.      E. DES
  241.      F. LOKI
  242.      G. FEAL-N and FEAL-XN
  243.      H. Khufu and Khafre
  244.      I. RSA-REF
  245.      J. DSA
  246.      K. Prime Number Generation
  247.      L. MD2
  248.      M. MD4
  249.      N. MD5
  250.      O. SHA
  251.      P. Snefru
  252.      Q. N-Hash
  253. VI. Afterward
  254. VII.  Glossary
  255. VIII. Bibliography and Further Reading
  256.