Block vs Stream Ciphers block ciphers process messages in blocks each of which is then en/decrypted like a substitution on very big characters 64-bits or more stream ciphers process messages a bit or byte at a time when en/decrypting many current ciphers are block ciphers broader range of applications 6 復大软件学院 LiT
LiJT 6 Block vs Stream Ciphers • block ciphers process messages in blocks, each of which is then en/decrypted • like a substitution on very big characters – 64-bits or more • stream ciphers process messages a bit or byte at a time when en/decrypting • many current ciphers are block ciphers • broader range of applications
Block Cipher Principles most symmetric block ciphers are based on a Feistel Cipher Structure needed since must be able to decrypt ciphertext to recover messages efficiently block ciphers look like an extremely large substitution would need table of 264 entries for a 64-bit block instead create from smaller building blocks using idea of a product cipher 復大软件学院 LiT
LiJT 7 Block Cipher Principles • most symmetric block ciphers are based on a Feistel Cipher Structure • needed since must be able to decrypt ciphertext to recover messages efficiently • block ciphers look like an extremely large substitution • would need table of 264 entries for a 64-bit block • instead create from smaller building blocks • using idea of a product cipher
Ideal Block Cipher np 4 to 16 Decoder 8910 23456789101112131415 16 to 4 Encoder 4-Bit Output 8 復大软件学院 LiT
LiJT 8 Ideal Block Cipher
Ideal Block Cipher Plaintext Ciphertext Ciphertext Plaintext 0000 1110 0000 1110 0001 0011 0010 1101 0010 0100 0011 0001 0011 1000 0100 0010 0100 0001 0101 0101 1100 0110 1011 0110 1010 0111 1000 0111 l111 1000 0011 1000 0111 1001 1010 1001 1101 1010 0110 1010 1001 1011 1100 1011 0110 0101 1100 1011 1101 1001 1101 0010 1110 0000 1110 0000 1111 0111 l111 0101
LiJT 9 Ideal Block Cipher
Ideal Block Cipher->Feistel Feistel proposed We can approximate the ideal block cipher by product cipher; Develop a block cipher with a key length of k bits and a block length of n bits, allowing a total of 2k possible transformation Rather than 2n 復大软件学院 LiT
LiJT 10 Ideal Block Cipher->Feistel • Feistel proposed – We can approximate the ideal block cipher by product cipher; – Develop a block cipher with a key length of k bits and a block length of n bits, allowing a total of 2 k possible transformation – Rather than 2 n !