C3-Cryptography Block Cipher and Modes of Operations
C3-Cryptography Block Cipher and Modes of Operations
Features:
Block size = 64 bits
Key size = 56 bits
Number of rounds = 16
16 intermediary keys, each 48 bits
DES Rounds
DES encryption: A closer look
INPUT
64 Bits
IP
L0 32 Bits 32 Bits R0
K1
f
L1 = R0 32 Bits 32 Bits R1 = L0 ⊕ f ( R0 , K 1 )
f K2
32 Bits 32 Bits
L2 = R1 R2 = L1 ⊕ f ( R1 , K 2 )
f Ki Decryption uses the
L15 = R14 32 Bits 32 Bits
R15 = L14 ⊕ f ( R14 , K15 )
same algorithm as
32 Bits
f
32 Bits
K 16
encryption, except that
L16 = L15 + f ( R15 , K16 ) R16 = R15
IP-1
the subkeys K1, K2, …K16
64 Bits
are applied in reversed
OUTPUT
order
Cryptanalysis of DES
Brute Force:
Known-Plaintext Attack
Time-consuming
Problem:
Identical Input Identical Output
Deterministic: the same data block gets encrypted the same way,
reveals patterns of data when a data block repeats.
ECB critics
Good
Randomized encryption
A ciphertext block depends on all preceding plaintext
blocks; reorder affects decryption
Bad
Errors propagate for several blocks after the error, but the
mode is self-synchronizing (like CBC).
Decreased throughput.
Can vary the number of bits feed back, trading off throughput
for ease of use
Sequential encryption
Output Feedback (OFB)
Randomized encryption
Sequential encryption, but preprocessing
possible
Error propagation limited
Subject to limitation of stream cipher
Counter Mode (CTR)
If the same IV and key is used again,
XOR of two encrypted messages = XOR of plain text
IV is incremented and used to generated one-time pad
CTR critics