Lecture 1 (Weds 9/17/97)

Scribes: Shawn Butler, Will Uther, Henri Dubois-Ferriere, Yih-Chun Hu

Textbook

Text for the class is more like a reference book than a text book. Errata page available on-line. If the class orders through Amazon.com the latest version should be available.

Cryptology - Definitions

Cryptography
Making Ciphers
Cryptoanalysis
Breaking Ciphers
Traffic Analysis
Monitoring who sends messages when, even if you don't know what they say.
Organizations are divided into two camps: Cryptographers and Cryptanalysts. When possible, in this class we will use a Cryptoanalysis point of view to analyse algorithms.
Plaintext
The text we wish to protect
Ciphertext
The scrambled text we will send over the unsecured line
Encryption Function
ciphertext=E(plaintext, e-key)
Decryption Function
plaintext=D(ciphertext, e-key)

How much is currently secure?

Not Much!

Cryptoanalysis Attacks

Why? Historically enemy always did break crypto systems

Enigma machine was used by the Germans during WWII. A major center in England was set up to break German codes.

William Freidman headed the US effort to break the Japanese codes. Because the US successfully broke the code, the Battle of Midway was a success.

It is always assumed that the opponent knows the algorithm being used, i.e. that they know E and D but not the e-key and d-key. There are further assumptions that can be made about what they know:

Ciphertext only
Adversary only has access to the ciphertext - almost never true.
Known plaintext
Adversary has access to both the ciphertext and corresponding plaintext for some messages and just the ciphertext for other messages. This is very common - for example, most cryptographic protocols have standard headers that often get encrypted. e.g. ciphertext is intercepted going into an embassy. 5 minutes later a press statement is released.
Chosen plaintext
Adversary is able to obtain ciphertext for the plaintext of their choice. This is also very common. e.g. "Please sign this for me."
Normally you must assume chosen plaintext. The adversary knows everything except the secret key.

Public Key Cryptography

Public Key cryptography involves the use of two keys.
Private Key
This key is held secure by one of the parties
Public Key
This key is made public
There are a number of uses of Public Key Cryptography:

RSA

Ref: Schneier Section 19.3

Recall that if p and q are large primes then, by Euler's theorem, if m is relatively prime to p and q then:

m(p-1)(q-1) = 1 mod pq

so, make:

E(m) = me mod pq
D(c) = cd mod pq

where:

ed = k(p-1)(q-1)+1

so:

(me)d = med = mk(p-1)(q-1)+1 = mk(p-1)(q-1)m = ((m(p-1)(q-1))k)m = (1k)m = m [all mod pq]

If we can factor it is easy to find d given e. Just use extended Euclidean GCD algorithm. (Am + Bm = GCD(m,n)). Therefore, Factoring is harder than or equal to RSA.

Politics

RSA was invented in 1978.

Why aren't we secure yet?

We want to: Currently, bad guys can: We have:

For example, we could:

So, why hasn't this happened?

  1. Users
  2. Jim Bidzos
  3. Committees
  4. Researchers
  5. Root Envy
  6. Microsoft
  7. Orange Book
  8. Lawyers
  9. France
  10. Even if US export controls were to go away you'd still need 2 versions
  11. The good ol' US of A

Alternatives to RSA

The Rabin Method

Schneier, section 19.5

Based on the Chinese Remainder Theorem:

if x = y mod p and x = y mod q then x = y mod pq

A number has two roots: the roots of x2 mod p are x and p-x

So, each number has 4 roots mod pq.

# mod 15# mod 3# mod 5
111
41-1
11-11
14-1-1
Now, consider adding two of these roots:

+# mod 15# mod 3# mod 5
111
11-11
Total:1202
Because 11+1 mod 3 is 0, GCD(12, 15) is a factor of 15 (namely, 3). So, if we take two square roots and add them, then the GCD with pq, we are 50% likely to get p or q.

So, if we have all the roots we can factorize, and if we have any root we can factor probabilistically:

Obviously after a few attempts this probability will increase dramatically; after 8 attempts we would already have a 99% chance of having found p or q.

This means that finding the roots must be at least as hard as factorization. Actually we can also go the other way, so the two are equivalent. This is a better guarantee than RSA's.

How do you use it?

This method breaks easily with a known plaintext attack.

Alternative Public Key Encryption Methods

Key Escrow

Reading assignment for next time: chapter 12.


Last modified: Fri Dec 12 11:55:40 EST 1997