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

top related