cryptography (debayan)
TRANSCRIPT
CryptographyCAN YOU KEEP A SECRET?
Preliminaries
Crypto => secret
Graphy => writing / study of
Mathematics and Computer Science
Hiding information
Hiding information
This becomes a lot more important when:
Governments Troop movements in a war
Spy satellites
Corporations Deals (an upcoming merger)
Trade secrets (the formula to Coca Cola)
Individuals Private information (e.g., health)
Inventions
Early Crypto
Cuneiform writings
~3500 BC (the Sumerians)
Secret hieroglyphics
~1900 BC (the Egyptians)
ATBASH Cipher
~500 BC (Hebrew scribes)
Reverse: A → Z, B → Y, etc.
Caesar Cipher
~50 BC (Julius Caesar)
3: A → D, B → E, etc.
The Spartans
They got into a lot of fights
Needed a way to send secret messages
“scytale”
Transposition
The Jefferson Disk
Thomas Jefferson,1795
Used by the United States Army from 1923-1942.
World War II
The Enigma machine
Electro mechanical
Used to transmit troop movements, submarine locations, etc.
Polish and French intelligence agentscollected information
Bletchley Park Alan Turing and the “bombe”
Modern Cryptography
Computers. Lots and lots of computers.
Credit cards, email, banking…
Lots of cool tricks: Diffie-Hellman Key Exchange
Public Key Cryptography
AES, DES, RSA
Military and industrial espionage, criminal syndicates Use large scale attacks
Viruses
“Phishing”
Apple Bug
Simple mistakes in coding
Hackers usually find them
Large amounts of money
static OSStatusSSLVerifySignedServerKeyExchange(...){
OSStatus err;...
if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
goto fail;if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) !=
0)goto fail;goto fail;
if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)goto fail;
...
fail:SSLFreeBuffer(&signedHashes);SSLFreeBuffer(&hashCtx);return err;
}
Some simple examples
Caesar Cipher APPLES +1 → BQQMFT
Steganography Hiding something inside something else
Message inside image file
Key exchange
How do we exchange passwords?
I hide my message with “abcd”
But how do I let you know that you can “un-hide” or decrypt it using “abcd”??
Diffie-Hellman using colors
Alice Eve Bob
Public information: YELLOW
Alice’s secret color: BLUE
Bob’s secret color: RED
Sends A = YELLOW+BLUE
Sends B = YELLOW+RED
Receives B Eve learns A and B Receives A
Secret + B = BLUE + B Secret + A = RED + B
= BLUE + YELLOW + RED
= RED + YELLOW + BLUE
Diffie Hellman
Alice Eve Bob
Public information: p=23, g = 11
Alice’s secret: a = 6 Bob’s secret: b = 5
A = ga mod p = 116 mod 23 = 9
B = gb mod p = 115 mod 23 = 5
Receives B = 5 Receives A = 9
K = Ba mod p = 56 mod 23 = 8
K = Ab mod p = 95 mod 23 = 8
Code
This is what I work withmost of the time
Unless I’m doing mathtrying to prove security
Mistakes are costly :(
Questions
That’s all from me