Symmetric Key Cryptosystems
Cryptosystem concept:
- Bob has a message (in plaintext) to send over an insecure channel.
- He runs an encryption algorithm to scramble the text, resulting in ciphertext.
- Eavesdropper Eve cannot understand the ciphertext.
- Alice receives the ciphertext and runs a decryption algorithm on it to convert it back to plaintext.
Encryption and Decryption algorithms are known as ciphers.
Ciphers use codes called keys in their encrypt/decrypt functions
Symmetric key cryptosystem:
Plaintext: m
Ciphertext: c
c = E(k, m), where k = key.
m = D(k, c)
where E and D represent encryption and decryption algorithms.
- Both the encrypt and decrypt function use the exact same key k
- The following correctness property holds for all keys k and messages m:
m = D(k, E(k, m))
- Symmetric key is also known as private key/single key/secret key cryptosystem.
- Encryption functions E and D are public.
- We assume alice and bob have some secure mechanisms for the secure exchange and storage of k.
- Eve has access to E, D, and c, so the security of m depends on the secrecy of k.
Simple division by key:
let message m = SHH (18, 7, 7)
(numeric value assigned to each letter A=1, B=2....)
> k = 5
> E: divide each integer i in m by k, obtain quotient Q and remainder R
> 18/5 -> 3,3
> 7/5 -> 1,2
> c=(Q1,R1,Q2,R2...) = (3,3,1,2,1,2)
> D: Qi*k+Ri
> Alice decrypts message to: (3*5+3, 1*5+2, 1*5+2) = (18,7,7) = SHH
What are c, m and k?
- binary strings, represented by sequences of bytes.
- size of k is usually fixed, commonly 16 bytes
- m can be any information of any size
- regardless of what they represent, ultimately they will be represented as sequences of bytes.
Index