Cryptology: Symmetric Flashcards
What is Stream Cipher and what is Block Cipher?
How do they differ?
Stream ciphers generates a keystream that is XORed to the plaintext bit by bit to generate the cipher text.
Block ciphers works on blocks of data simultaneously.
What is LFSR?
Linear Feedback Shift Register
Often used in stream cipher
Starting with a random set of bits, new bit-values are generated using XOR on specific bits among the previously generated bits.
A LFSR’s period is the number of different states it has before it repeats itself.
What is a Pseudo Noise (PN) Sequence?
The output of an LFSR of length n with period 2^n - 1
How can the output from LFSR be improved?
LFSR can be combined with non-linear filter. Non-linear comnbination of various elements will be used as output
What is a Feistel Structure?
The general idea is that the information is split into two parts, left and right. The right-hand side is copied directly into the output’s left side, but is also ran into a round-function and XORed with the input’s left side to create the output’s right side.
This process can be repeated multiple times.
Feistel ciphers is used in a lot of encryption standards, including DES.
What are the four operations that are performed per round in AES?
- Substitute bytes
- Shift rows
- Mix columns
- Add round key
The initial round consists of only adding round key.
The final round does not include the mix-column operation.
How is the first step of an AES round performed (byte substitution)?
With the use of an S-box. The current data is used to index the S-box.
How is the fourth step of an AES round performed (adding round key)?
The current data is XORed with the round key.
How is the second step of an AES round performed (shift rows)?
The data is divided into blocks of 16 bytes and is placed into 4x4 matrices.
First row will be left as is.
Second row is moved one byte to the left.
Third row is moved 2 bytes to the left.
Last row is moved 3 bytes to the left.
How is the third step of an AES round performed (shift columns)?
Using Galois Field multiplication and addition on each column.
This is mathematically heavy and seems to be outside the scope of this course.
How are AES round keys scheduled?
Imagine each key as a 4x4 matrix of 16 bytes.
The first column of the new round key is generated by:
- taking the last column of the last round-key
- rotating it one row upwards,
- applying S-box to each of the 4 bytes
- XORing with the first column of the last round-key
- XORing with the round constant
The remaining three columns is generated by XORing the first column with the corresponding column from the last round key.
What are Key Distribution Centers (KDC) and what is their purpose?
The number of keys in traditional cryptography scales very poorly with the number of users. N x (N-1) / 2
Instead of having this complexity, you can have one key per user, which is shared between the user and the KDC. All other keys are generated when needed, with the help of the KDC.
This makes key distribution easier, but requires more overhead for communication.