POON TENG HIN
RSA Shamir’s Three-Pass Protocol Other issues
The locks in computer network 1-1 mapping function f so that c = f(m)
The keys in computer network so that f -1 (c) = f -1 (f(m)) = (f -1 f)(m) = m
Function Modulo Operation Greatest Common Divisor Multiplicative Inverse Number theory Prime number
(x × y) mod n = 1. The integer y is called a multiplicative inverse of x, usually denoted x−1 (it is unique if it exists).
People keep finding large prime numbers for computer Security. How the prime number are used?
RSA is an algorithm for public-key cryptography By Ron Rivest, Adi Shamir, Leonard Adleman
Because of security, high strength Encryption Digital signatures E.g electronic transactions, software certification.
Encryption: C = M e mod n Decryption: M = C d mod n
ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234…………………………………26 Public key: n = 35, e = 5 C = M e mod n Private key: d = 5 M = C d mod n My word: “ ” “ ” Also, try to give me your words
p, q, (n) must be kept secret. It is believed that determine (n) given n is equivalent to factoring n. With presently known algorithms, determining d given e and n, appears to be at least as time-consuming as the factoring problem. So use factoring as the benchmark for security evaluation.
/HW/ASCII.html /HW/ASCII.html A website of ASCII code
Plaintext: M ( M = {0,1}*) Cipher text: C (C = {0,1}*) It needs two distinct primes p and q Φ(n) = (p-1)(q-1) select an integer e such that gcd(e, Φ(n) ) = 1 Where n = pq, n>M Compute the d where ed = 1 (mod Φ(n)) Public key: (e,n) Private key: d
Randomly choose p and q And n = p X q A sample n from RSA-576:
gcd(e, Φ(n) ) = 1 and e > 1 A table to find e and d:
Φ(n) is the number of positive integers less than n that is relative prime to n Example Φ(6) : the GCD(x,6) = 1 when x = 1,5 so Φ(6) = 2
Φ(p) = p-1 for any prime number p Φ(pq) = (p-1)(q-1) for any two distinct primes p and q
Euler’s: For every integer a and n that are relatively prime, a Φ(n) mod n = 1 Fermat’s : If n = p is prime, a p-1 mod p = 1
ed = 1 (mod Φ(n)) or d = e -1 mod n Such that ex + Φ(n) y = 1 and d is the value of x One of the method is Euclidean algorithm
Fo example Φ(n) =20, e =3 Firstly, gcd(20,3) = 1 if the inverse exists. We use Euclidean algorithm: 20 = 3 x = 2 x = 3 – 1X2 = 3 – 1 X (20 – 6 X 3) = -1 X X 3 (ex + ny = 1) so d = 7
66 = 1 × gcd(35, 31) 35 = 1 × gcd(31, 4) 31 = 7 × gcd(4, 3) 4 = 1 × gcd(3, 1) 3 = 3 × gcd(1, 0) So, gcd(66, 35) = gcd(35, 31) = gcd(31, 4) = gcd(4, 3) = gcd(3, 1) = gcd(1, 0) = 1.
Encryption: C = M e mod n Decryption: M = C d mod n Needs two distinct primes p and q And Φ(n) = (p-1)(q-1) select an integer e such that gcd(e, Φ(n) ) = 1 Where n = pq, n>M Compute the d where ed = 1 (mod Φ(n)) Public key: (e,n) Private key: d
students.stanford.edu/~tjw/jsbn/rsa2.html students.stanford.edu/~tjw/jsbn/rsa2.html /HW/RSAWorksheet.html /HW/RSAWorksheet.html
1.A lock the box by his lock A 2.A B (Box with lock A) 3.B lock the box by his lock B 4.B A (Box with lock A & B) 5.A unlock his lock A 6.A B (Box with lock B) 7. B unlock his lock B ~ ~finish~
This is the protocol similar to the answer of the IQ question This is different to RSA In this protocol, we need a prime p which is a public knowledge.
A selects a random number a with gcd(a, p-1) = 1 B selects a random number b with gcd(b,p-1) = 1 a -1 and b -1 are the inverse of a and b of mod p-1
A computes k 1 = k a mod p and send k 1 to B B computes k 2 = k 1 b mod p and send k 2 to A A computes k 3 = k 2 a-1 mod p and send k 3 to B Finally, B computes k = k 3 b-1 mod p and get k.
Q1.Using slide 13, what is the message under: “ ” “ ” “”4 24 “ ” Q2. Find d if Φ(n) = 58, e = 27 (use Euclidean algorithm)
Others issues I would like to share. I suggest you may think about them.
Computer and Communications Security COMP364 By Prof. Cunsheng Ding
People like math will like this game.
Encryption: c = Ek(m), where Ek is usually applied to blocks of the plaintext m. Decryption: m = Dk(c), where Dk is usually applied to blocks or characters of the ciphertext c.
Example: Let d = 4 and define f by i : f(i) : Then f is a permutation of Z 4. The inverse permutation f−1 is given by i : f -1 (i) :
E.g
A B C 1| plan1 plan3 plan2 2| plan2 plan1 plan3 3| plan3 plan2 plan1 Conclusion: Most people think that: plan1 is better than plan2 plan2 is better than plan3 plan3 is better than plan1
ByeBye