Upload
candace-walsh
View
222
Download
0
Embed Size (px)
Citation preview
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-1f)(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 areused?
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 = Me mod n
Decryption: M = Cd mod n
ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234…………………………………26 Public key: n = 35, e = 5 C = Me mod n Private key: d = 5 M = Cd mod n My word: “17 21 14 33 8” “ 6 30 11” 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.
http://www.cs.drexel.edu/~jpopyack/IntroCS/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>MCompute 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 http://www.rsa.com/rsalabs/node.asp?id=2093 RSA-576:
188198812920607963838697239461650439807163563379417382700763356422988859715234665485319060606504743045317388011303396716199692321205734031879550656996221305168759307650257059
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 = 1Fermat’s :If n = p is prime, ap-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
http://www.di-mgt.com.au/euclidean.html
Fo example Φ(n) =20, e =3Firstly, gcd(20,3) = 1 if the inverse exists.We use Euclidean algorithm:20 = 3 x 6 +2 3 = 2 x 1 + 11 = 3 – 1X2 = 3 – 1 X (20 – 6 X 3) = -1 X 20 + 7 X 3 (ex + ny = 1) so d = 7
66 = 1 × 35 + 31 gcd(35, 31) 35 = 1 × 31 + 4 gcd(31, 4) 31 = 7 × 4 + 3 gcd(4, 3) 4 = 1 × 3 + 1 gcd(3, 1) 3 = 3 × 1 + 0 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 = Me mod n Decryption: M = Cd mod nNeeds two distinct primes p and qAnd Φ(n) = (p-1)(q-1)select an integer e such that gcd(e, Φ(n)) = 1 Where n = pq, n>MCompute the d where ed = 1 (mod Φ(n))Public key: (e,n)Private key: d
http://www-cs-students.stanford.edu/~tjw/jsbn/rsa2.html
http://www.cs.drexel.edu/~jpopyack/IntroCS/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 k1 = ka mod p and send k1 to B B computes k2 = k1
b mod p and send k2 to A A computes k3 = k2
a-1mod p and send k3 to B
Finally, B computes k = k3b-1 mod p
and get k.
Q1.Using slide 13, what is the message under:
“12 21 10 24 20 4 15 14” “15 14 10” “”4 24 “6 4 14 4 24 8 10 9”
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 : 0 1 2 3 f(i) : 2 0 3 1 Then f is a permutation of Z4. The inverse permutation f−1 is given by i : 0 1 2 3 f-1(i) : 1 3 0 2
E.g
A B C1| plan1 plan3 plan22| plan2 plan1 plan33| plan3 plan2 plan1Conclusion:Most people think that: plan1 is better than plan2plan2 is better than plan3plan3 is better than plan1
ByeBye