Organisation Overview Historic Ciphers Symmetric Ciphers Block Ciphers Security of Block ciphers
Assume encryption and decryption use the same key. Will discuss how to distribute key to all parties later Symmetric ciphers unusable for authentication of sender Kinds of symmetric ciphers:
- Block cipher: Symmetric cipher operating on fixed-length
groups of bits, called blocks
- Stream cipher Symmetric cipher encrypting plaintext
- continuously. Digits are encrypted one at a time, differently
for each bit.
Eike Ritter Cryptography 2013/14 25 Organisation Overview Historic Ciphers Symmetric Ciphers Block Ciphers Security of Block ciphers
Players
Have the following main players:
- Alice: sender of an encrypted message
- Bob: intended receiver of encrypted message. Assumed to the
key.
- Eve: (Passive) attacker intercepting messages and trying to
identify plaintexts or keys
- Mallory: (Active) attacker intercepting and modifying
messages to identify plaintexts or keys
Encryption Key Alice Key Bob Decryption Mallory Eve, Eike Ritter Cryptography 2013/14 26 Organisation Overview Historic Ciphers Symmetric Ciphers Block Ciphers Security of Block ciphers
Feistel Cipher
Invented in 1971 at IBM Important class of ciphers (eg Blowfish, DES, 3DES) Same encryption scheme applied iteratively for several rounds Important step: Derive round key from original key via special function called Feistel function Each round works as follows:
- Split input in half
- Apply Feistel function to the right half
- Compute xor of result with old left half to be new left half
- Swap old right and new left half, unless we are in the last
round
Eike Ritter Cryptography 2013/14 27 Organisation Overview Historic Ciphers Symmetric Ciphers Block Ciphers Security of Block ciphers
Feistel Cipher, continued
Formal definition:
- Split plaintext block in two equal pieces M = (L0, R))
- For each round i = 0, 1, . . . , r − 1 compute
Li+1 = Ri Ri+1 = Li⊕F(Ki, Ri)
- The ciphertext is C = (Rr, Lr)
F Li Ri Li+1 Ri+1 Ki Eike Ritter Cryptography 2013/14 28