symmetric key encryption Flashcards
(14 cards)
what is kerchoffs principle
encryption is secure , even if attacker knows everything apart from the key
what does frequency analysis do
Frequency analysis counts the number of times
each symbol occurs
each pair of symbols
etc.
and tries to draw conclusions from this
problem with one time key pads
key needs to be as long as the message
key can only be used once
describe block ciphers
Modern ciphers work on blocks of plain text, not just a single
symbol.
They are made up of a series of permutations and
substitutions repeated on each block.
The key controls the exact nature of the permutations and
subsitution
how does AES CBC encrpyt plaintext
overall uses previous ciphertext to encrypt the next block of plaintext to make a new ciphertext (by xoring PT with CT )
first block of plaintext is xored
what is a problem that occurs with AES CBC
computationally expensive, want to encrypte or decrypt a block that is later on in the chain you have to computer previous blocks before
how does AES CTR encrpyt plaintext
generates nonce and then nonce is incremented with a counter and then encypted and then the encrypted nonce is xored with plaintext to give the new cipher text block
what is a problem that occurs with AES CTR
vunerable to malleability attacks, since xoring is done after encryption
if you have PT and CT then you can change CT to get what you want
(known plaintext attack)
What is the AES CBC encryption notation
IV = random number (sent in the clear)
C1 = encrypt(B1 ⊕IV )
C2 = encrypt(B2 ⊕C1)
···
Cn = encrypt(Bn ⊕Cn−1)
what is the AES CTR
Plain text: B1, B2, . . . , Bn
IV : random number (sent in clear)
Cipher text: C1, C2, . . . , Cn where
C1 = B1 ⊕encrypt(IV )
C2 = B2 ⊕encrypt(IV + 1)
···
Cn = Bn ⊕encrypt(IV + n−1)
What is the AES CBC decryption notation
Receive IV
Receive cipher text C1, C2, . . . , Cn
Plain text is B1, B2, . . . , Bn, where
B1 = decrypt(C1) ⊕IV
B2 = decrypt(C2) ⊕C1
···
Bn = decrypt(Cn) ⊕Cn−1
how to decrypt AES CBC
Receive IV
Receive cipher text C1, C2, . . . , Cn
Plain text is B1, B2, . . . , Bn, where
B1 = decrypt(C1) ⊕IV
B2 = decrypt(C2) ⊕C1
···
Bn = decrypt(Cn) ⊕Cn−1
what is a known plaintext attacks
if i know plaintext i can change ctr if i know ciphertext and plaintext i can change the ciphertext to what i want it to be
EncCTR (M1) ⊕ (M1 ⊕M2)