Cryptography - Lecture 7 - Modern Block Ciphers

This lesson discusses the development of modern private key block ciphers in general, and introduces the first - Lucifer.


  • know the basic design principles of block ciphers
  • know what a feistel type cipher is
  • know how Lucifer works in general
  • Preliminary Reading

    Stallings, "Cryptography and Network Security", Ch 3.2 pp57-65.

    Lecture Content

    Modern Block Ciphers

    1. Modern Block Ciphers
    2. Private-Key Encryption Algorithms
    3. Block Ciphers

      Block ciphers work a on block / word at a time, which is some number of bits. All of these bits have to be available before the block can be processed. cf stream ciphers which work on a bit or byte at a time.

    Theoretical Foundations

    1. Theoretical Foundations
    2. Shannons Theory of Secrecy Systems
    3. Shannons Theory of Secrecy Systems cont
    4. Substitution-Permutation Ciphers
    5. The Substitution Operation
    6. The Permutation Operation
    7. Substitution-Permutation Network
    8. Practical Substitution-Permutation Networks
    9. Feistel Ciphers
    10. Feistel Ciphers

      At the end of the round, have all the information necessary to undo it. The old RH side has become the new LH side. Hence use that value to recompute the value of function g. When add the value (output) of g back to the new RH side, since an XOR is its own inverse, XOR'ing witht eh same value twice egts us back to the original value, the old LH side. Note - if unsure of the basic logical operators: AND OR NOT XOR, you should go and revise them.

    Fundamental Design Principles

    1. Fundamental Design Principles
    2. Avalanche effect
    3. Completeness effect
    4. Block Cipher Design
    5. Feistel Cipher Design
    6. Some General Words on Cipher Design


    1. Lucifer
    2. Lucifer Overview
    3. Lucifer Key Schedule
    4. Lucifer Data Computation
    5. Lucifer Security


    1. Summary


    1. Exercises
      1. A Shannon style Substitution Box (S-box) grows in size as the number of input bits increases. For inputs of 4, 6, 8, 10, and 12 bits, list how many entries would be required. How large would each of these entries be, and why? What are the implications for the growth of this number on implementing such S-boxes in hardware, software (on a smartcard, PC)? Now consider a Permutation box (P-box). Much larger P-boxes can be used than S-boxes, why? How would you implement a P-box in hardware, software?

    Additional References

    For additional information, see:
  • Seberry & Pieprzyk, "Cryptography - An Introduction to Computer Security", 2/e Ch 3.2; 1/e Ch 3.2 pp77-88
  • B Schneier, "Applied Cryptography", 2/e, Ch 12,13.1, pp265-301, 303

  • [Back to CCS3 Lectures] / 6 Feb 2001