Symmetry Key Encryption, AES Flashcards
When does a cryptosystem have “perfect secrecy”?
if, after seeing the ciphertext, an interceptor gets no extra information about the plaintext other than what was known before the ciphertext was observed
What is the “practical security” of a cryptosystem?
a measure of the difficulty of executing known attacks against it
What is a key stream?
a stream of pseudo-random bits
What are the properties of Latin squares? (2)
- Every row contains every table entry at exactly one
- Every column contains every table entry at exactly one
How do we measure the difficulty of executing a known attack?
by comparing how long it takes to conduct an attack, given the computational power of an attacker and the cover time (the length of time for which a plaintext must be kept secret)
What is meant by cover time?
the length of time for which a plaintext must be kept secret
What information is needed to compute how long it takes to conduct a known attack on a cryptosystem? (2)
- what computational processes are involved in the
attack - how much time it takes to conduct these processes
What is the complexity of an algorithm?
the relation of the number of simple (1-time-slot) machine operations (e.g. logical operations) that need to be done to finish the process with respect to the length of the input
What are the two classes of complexity?
Polynomial & exponential
What are the two types of cipher?
Block & stream
What is a block cipher?
A cipher that processes a block of plaintext at a time
What is a stream cipher?
A cipher that processes one bit of plaintext at a time
When does error propagation occur?
if a number of errors in the ciphertext leads to a greater number of errors in the resulting plaintext
What are some advantage of using stream ciphers? (4)
- No error propagation, since a 1-bit transmission error will only result in a 1-bit error in the plaintext
- On-the-fly encryption - large chunks of plaintext are not sat around in registers before being encrypted (useful for security purposes e.g. keystrokes should be encrypted immediately)
- XOR is very fast to operate
- Some stream cipher designs can be implemented in
hardware extremely efficiently
Disadvantages of block ciphers? (2)
- Error propagation
- Need for padding, since block ciphers operate on fixed block sizes but the length of most plaintexts is not a multiple of the block size