Cryptography
Victor OSTERTAG
Monday 26th of March 2018
Presentation for HP Labs
Cryptography
Plan
INTRODUCTION
A BRIEF HISTORY
MODERN CIPHERS
CONCLUSION
Presentation for HP Labs
Cryptography
Who am I?
Victor Ostertag
Software Engineering background
Presentation for HP Labs
Cryptography
The presentation
Present Spectre and Meltdown to people with no CS background
Present cryptography in a way that everyone can understand
A brief history
Cryptography
Presentation for HP Labs
Presentation for HP Labs
Cryptography
What is cryptography?
A
B
E
lice
ob
ve
It's all about solving the following problem:
Presentation for HP Labs
Cryptography
The idea
Share a key to a lock
ENCRYPTION
DECRYPTION
Presentation for HP Labs
Cryptography
Cryptography
Secret
Message
"Hello, I am doing a presentation for HP Labs"
"Khoor, L dp grlqj d suhvhqwdwlrq iru KS Odev"
"Hello, I am doing a presentation for HP Labs"
CIPHER
Some information
Presentation for HP Labs
Cryptography
Caesar Cipher
Shift each letter by a certain amount
With a shift of 3:
A | D |
---|---|
B | E |
C | F |
D | G |
E | H |
Presentation for HP Labs
Cryptography
Example
"Hello, I am doing a presentation for HP Labs"
"Khoor, L dp grlqj d suhvhqwdwlrq iru KS Odev"
Presentation for HP Labs
Cryptography
Brute Force
Trying all the possibles keys
"Jgnnq, K co fqkpi c rtgugpvcvkqp hqt JR Ncdu"
Shift of 1
"Ifmmp, J bn epjoh b qsftfoubujpo gps IQ Mbct"
Shift of 2
"Hello, I am doing a presentation for HP Labs"
Shift of 3
Presentation for HP Labs
Cryptography
Another approach
"Hello, I am doing a presentation for HP Labs"
Some letters are more frequent than others...
3 E
4 A
1 G
Frequency Analysis
Presentation for HP Labs
Cryptography
Normal
New
3
Presentation for HP Labs
Cryptography
Easy to break using brute force
Frequency analysis
gives us the key
Conclusion
HOW TO AVOID THAT?
Presentation for HP Labs
Cryptography
Polyalphabetic ciphers
FLATTEN THE FINGERPRINT
MORE KEYS (KEY SPACE)
Presentation for HP Labs
Cryptography
The idea
Use a word as a key
HPL
Convert it to numbers
8 16 12
Presentation for HP Labs
Cryptography
"Hello, I am doing a presentation for HP Labs"
8 16 12
8
16
12
8
16
12
"Hello, I am doing a presentation for HP Labs"
Presentation for HP Labs
Cryptography
Example
"Otwsd, t hb ovxyn p aytdlcehitvc qvg sw alih"
But there still is a problem...
Presentation for HP Labs
Cryptography
Repetition
"Hello, I am doing a presentation for HP Labs"
We need to find the length of the key
Presentation for HP Labs
Cryptography
Breaking the cipher
Create frequency tables for different intervals
No result
No result
Clear pattern
Interval of 2
Interval of 3
Interval of X
Presentation for HP Labs
Cryptography
One time pad
How to avoid repetition?
Sequence of shifts as long as the text
Randomness
Presentation for HP Labs
Cryptography
How strong?
Unbreakable!
What about brute force?
3.3424674e+49 possibilities!
30000000000000000000000000000000000000000000000000
Modern ciphers
Cryptography
Presentation for HP Labs
Presentation for HP Labs
Cryptography
Symmetric Ciphers
What we have seen so far
Have to share a key beforehand
Presentation for HP Labs
Cryptography
Two types
Stream Cipher
Encrypts each letter one at a time
Block Cipher
Encrypts the text in blocks
Presentation for HP Labs
Cryptography
Problem with Internet
MEETING
IMPOSSIBLE
Alice
Bank
YouTube
IMPRACTICAL
Presentation for HP Labs
Cryptography
Assymetric Ciphers
A
B
E
lice
ob
ve
Public key
Private key
It is indeed Alice!
Presentation for HP Labs
Cryptography
Maths
Easy
Hard
TRAPDOOR ONE-WAY FUNCTION
The Trapdoor
Presentation for HP Labs
Cryptography
The Phi function
Counts the number of coprime of a given number
8
7
6
5
4
3
2
1
Phi(8) = 4
Presentation for HP Labs
Cryptography
The Phi function
Phi (prime) = prime - 1
Phi (m * n) = Phi (m) * Phi (n)
Two important properties:
Presentation for HP Labs
Cryptography
RSA: Creating keys
- Select two large prime numbers: p and q
- Calculate n = p * q
- Calculate Phi(n) = (p-1) * (q-1)
- Choose e between 1 and Phi(n) and coprime of Phi(n)
- (n, e) is the public key
- The private key d must solve: d * e = 1 (mod(Phi(n)))
Presentation for HP Labs
Cryptography
RSA
To convert a message M into a cipher C:
C = M ^ e (mod(n))
To decrypt:
M = C ^ d (mod(n))
Conclusion
Cryptography
Presentation for HP Labs
Presentation for HP Labs
Cryptography
We only scratched the surface!
Hash functions
Random numbers
Networks
Cryptography: An introduction
By isvoli
Cryptography: An introduction
- 958