Symmetric Block Encryption Flashcards
For DES, what is the size of: the plaintext, the key, the number of rounds?
64 bits, 56 bits, 16 rounds (one subkey for each round)
What is the difference between encryption and decryption for DES?
They are the same, except we reverse the subkey order and have the ciphertext as input.
Why is DES not strong?
Short key length can be broken with brute force.
How does triple DES work? How is it more secure?
Perform DES three times, using a different key for each step - note that we encrypt, then decrypt, then encrypt again. By doing this, the key length triples to 168 bits.
How can we make triple DES backwards compatible?
We use the same key for each step.
For AES, what is the size of: the plaintext blocks, the key?
128 bit blocks, 128 - 192 bit key
Which uses Feistel Structure? AES, DES, 3DES, or all 3?
3DES and DES
Describe ECB.
Electronic Cook Book. Plaintext is handled one block at a time using the same key. This means the same input block will always produce the same output block. Attackers can mix and match blocks, as there are no integrity checks.
Describe Cipher Block Chaining
The input to the algorithm is the XOR of the current plaintext block and the preceding ciphertext block. Same key used for each block. Repeating patterns not exposed. Uses an IV, which is known to sender and receiver. We cannot do preprocessing, or parallelization.
Describe Counter Mode
Uses a counter, the size of the plaintext block, which is encrypted and then XORed with the plaintext block. It is efficient in hardware and can be parallelized. We can do preprocessing. Uses an IV. We can process blocks at random. Encryption and Decryption are the same.
Can any of the modes detect if blocks have been reordered?
No.
How does One Time Pad work?
Using a secret bit sequence, the length of the plaintext, we XOR this sequence with the plaintext and send this. The receiver, who knows the sequence too, will XOR this to get the original plaintext.
This is good because there is no relationship between plaintext and ciphertext, encryption and decryption are the same. However, it is bad because how do we communicate the key, the key must be very long, it provides no integrity, and keys cannot be reused (plaintext XOR ciphertext = key)