






Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Basic Concepts in Cryptography. Five-Minute University ... encrypt(3, stanford) = vwdqirug ... Idea for stream cipher: use pseudo-random generators for key.
Typology: Lecture notes
1 / 10
This page cannot be seen from the preview
Don't miss anything!







Father Guido Sarducci
OK def’n to start with, but doesn’t include key generation or prob encryption.
encrypt(3, stanford) = vwdqirug
ROT-13 is used in newsgroup postings, etc.
E has probability 0. TAOINSHR have probability 0.06 - 0. DL have probability ~ 0. CUMWFGYPB have probability 0.015 - 0. VKJXQZ have probability < 0.
Possible to break letter-to-letter substitution ciphers.
Idea for stream cipher: use pseudo-random generators for key...
Plain Text Plain Text
Ciphe r Tex t Cip her T
Block Cipher
Block Cipher
Block Cipher
Block Cipher
Advantages: Identical blocks encrypted differently Last ciphertext block depends on entire input
Similar plaintext blocks produce similar ciphertext (see outline of head)
No apparent pattern
Weakness is predictability of first bits; best to discard them
key
plain text plain text
cipher text cipher t
state
for i := 0 to 255 S[i] := i j := 0 for i := 0 to 255 j := j + S[i] + key[i] swap (S[i], S[j])
i, j := 0 repeat i := i + 1 j := j + S[i] swap (S[i], S[j]) output (S[ S[i] + S[j] ])
uKey scheduling
uRandom generator
21123134249121853 …
0 1 2 3 4 5 6 … Permutation of 256 bytes, depending on key
(^21123134249121853) … i j
(all arithmetic mod 256)
Answer in polynomial space may need exhaustive search
If yes, can guess and check in polynomial time
Answer in polynomial time, with high probability
Answer in polynomial time compute answer directly
PSpace
key pair
n
Plain Text Plain Text
Block Cipher
Block Cipher
Block Cipher
Block Cipher
CBC block cipher, discarding all but last output block Additional post-processing (e.g, encrypt with second key) can improve output
true if x = Sign(Key-1, m) false otherwise
encrypt(key, plaintext) decrypt(key ,ciphertext)
-