Page : 1 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Lecture-12 Public-Key Cryptography.

Slides:



Advertisements
Similar presentations
Number Theory Algorithms and Cryptography Algorithms Prepared by John Reif, Ph.D. Analysis of Algorithms.
Advertisements

22C:19 Discrete Structures Integers and Modular Arithmetic
22C:19 Discrete Math Integers and Modular Arithmetic Fall 2010 Sukumar Ghosh.
Notation Intro. Number Theory Online Cryptography Course Dan Boneh
1 The RSA Algorithm Supplementary Notes Prepared by Raymond Wong Presented by Raymond Wong.
The RSA Cryptosystem and Factoring Integers (II) Rong-Jaye Chen.
and Factoring Integers
Theory I Algorithm Design and Analysis (9 – Randomized algorithms) Prof. Dr. Th. Ottmann.
Topic 18: RSA Implementation and Security
Quadratic Residuosity and Two Distinct Prime Factor ZK Protocols By Stephen Hall.
Introduction to Algorithms Second Edition by Cormen, Leiserson, Rivest & Stein Chapter 31.
Modular Arithmetic with Applications to Cryptography Lecture 47 Section 10.4 Wed, Apr 13, 2005.
Ch1 - Algorithms with numbers Basic arithmetic Basic arithmetic Addition Addition Multiplication Multiplication Division Division Modular arithmetic Modular.
Introduction to Cryptography Lecture 9. Public – Key Cryptosystems Each participant has a public key and a private key. It should be infeasible to determine.
Primality Testing. Introduction The primality test provides the probability of whether or not a large number is prime. Several theorems including Fermat’s.
9.1 Primes and Related Congruence Equations 23 Sep 2013.
Lecture 2-3 Basic Number Theory and Algebra. In modern cryptographic systems, the messages are represented by numerical values prior to being encrypted.
CS480 Cryptography and Information Security
Lecture 5 Asymmetric Cryptography. Private-Key Cryptography Traditional private/secret/single key cryptography uses one key Shared by both sender and.
Page : 1 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Lecture-9 Public-Key Cryptography.
Page : 1 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Lecture-5 Mathematical Background:
Page : 1 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Tutorial-5 Theory of Secret-Key.
Revision. Cryptography depends on some properties of prime numbers. One of these is that it is rather easy to generate large prime numbers, but much harder.
Public-Key Cryptography ElGamal Public-Key Crypto-System
Assignment 4 is due! Assignment 5 is out and is due in two weeks!
Cryptographic Protocols Secret sharing, Threshold Security
Mathematical Background : A quick approach to Group and Field Theory
Mathematical Background: Groups, Rings, Finite Fields (GF)
Mathematical Background for Cryptography: Modular arithmetic and gcd
Public Key Encryption Major topics The RSA scheme was devised in 1978
Rabin Lock and Public-Key Systems
Mathematical Background: Extension Fields
Network Security Design Fundamentals Lecture-13
Public-Key Cryptography RSA Rivest-Shamir-Adelmann Public-Key System
DH Public-Key Exchange
Design Problems (Open book)
Sample Solution Cryptology Design Fundamentals
Cryptography and Network Security
Private-Key Cryptography
Network Security Sample Solution Short questions (Closed book)
Mathematical Background: Prime Numbers
ElGamal Public-Key Systems over GF(p) & GF(2m)
Prime and Relatively Prime Numbers
Analysis of the RSA Encryption Algorithm
Mathematical Background: Primes and (GF)
Discrete Math for CS CMPSC 360 LECTURE 14 Last time:
Cryptology Design Fundamentals
Cryptology Design Fundamentals
Cryptology Design Fundamentals
Symmetric-Key Cryptography
Cryptology Design Fundamentals
Cryptology Design Fundamentals
Cryptology Design Fundamentals
Cryptology Design Fundamentals
Cryptology Design Fundamentals
Sample Solution Cryptology Design Fundamentals
Sample Solution Final exam: Cryptology Design Fundamentals
Cryptology Design Fundamentals
Cryptology Design Fundamentals
Cryptology System Design Fundamentals
Cryptographic Protocols Secret Sharing, Threshold Security
Network Security Design Fundamentals Lecture-13
Cryptology Design Fundamentals
Cryptology Design Fundamentals
Lecture 2-3 Basic Number Theory and Algebra
Mathematical Background: Groups, Rings, Finite Fields (GF)
Public-Key Cryptography Quadratic Residues and „Rabin Lock“
Mathematical Background : A quick approach to Group and Field Theory
Mathematical Background: Extension Finite Fields
Mathematical Background: Primes and (GF)
Presentation transcript:

Page : 1 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Lecture-12 Public-Key Cryptography Quadratic Residues and „Rabin Lock“ Network Security Design Fundamentals ET-IDA , v36 Prof. W. Adi

Page : 2 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Rabin Lock for a Public-Key System is Based on the Square Root Problem in a Finite Ring (1985) (1985)

Page : 3 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Rabin Crypto-System 1985 Basic idea: Squaring in a ring modulo m=pq. Claim: Square root computation in a ring Z m is not feasible If the modulus factors p&q are not known! Michael Oser Rabin, 1931, Breslau, Germany

Page : 4 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Squaring: Y = x 2 (mod m) Squaring and Square Roots in Z m (Rabin Lock) Claim: the function Y = X 2 is one-way in Z m if m is composite! x 2 x Y= x 2  = ? Inverse function is unknown in Z m x We investigate two cases for computing the square root: 1.The modulus is a prime p that is [ in GF(p) ] 2.The modulus is non-prime, [ in the Ring Z m, where m is a product of two primes p and q].

Page : 5 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Example: y = x 2 (mod 7) i.e. in GF(7) Case 1: Squaring and Square Roots in GF(p) Quadratic Residues QR, and Quadratic non-Residues QNR x y= x Fact: There are (p-1)/2 QR and (p-1)/2 QNR in GF(p)  4 = 2 and 5  [  2 in GF(7) ]   1 = 1 and 6  [  1 in GF(7) ]  2 = 3 and 4  [  3 in GF(7) ] 1, 2, 4 are the QR’s in GF(7) (Elements having square root)  3 = does not exist in GF(7)  6 = does not exist in GF(7)  5 = does not exist in GF(7)  3, 5, 6 are the QNR’s in GF(7) (Elements having no square root) Quadratic Residues QR Quadratic non-Residues QNR

Page : 6 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Case 1: Squaring and Square Roots in GF(p) How to identify Quadratic Residues QR, and Quadratic non-Residues QNR Fact 1: If   GF (p) and   0 then:  is QR if  (p-1)/2 = 1 (mod p)  (  (p-1)/2 - 1) = 0  is QNR if  (p-1)/2 = -1 (mod p)  (  (p-1)/2 + 1) = 0 Proof: The roots of x (p-1) - 1 = ( x (p-1)/2 - 1) ( x (p-1)/2 + 1) are the units of GF(p) If  is the SQRT of  then  =  2 =>  (p-1)/2 =  p-1 =1 (Fermat Theorem) => (  (p-1)/2 - 1 ) = 0 are the QR’s above the others are the QNR’s. The count of each is (p-1)/2 Note: There are no deterministic techniques known to generate a QNR in GF(p) !

Page : 7 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Case 1: Squaring and Square Roots in GF(p) How to compute square roots for Quadratic Residues QR? Fact : If (p-1)/2 is odd (that is p+1 is divisible by 4) and  is a QR in GF(p), then the two square roots of  are :  =  (p+1)/4 and -  = p -  However if (p-1)/2 is even then see the following Algorithm:

Page : 8 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Case 1: A Square-Root Algorithm in GF(p) for (p-1)/2 even SQRT of β is g = T -1 β (Q+1)/2 P (P-1=2 i Q, i  2, Q odd) Find a QNR mod p, α Compute g = α Q β (β = a QR mod p) I i, T 1, L 0 Compute δ = β Q T T (g ) I I - 1 L L +1 δ 2 I-2 = T 2 I-1 ? STOP I = 2 ? YES NOYES START NO 2L2L * * J. L. Massey

Page : 9 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Example: m=p. q is a composite of two primes m= 3 x 5 The function y  x 2 (mod 15) is shown below: Case 2: Squaring and Square Roots in a Ring Z m Quadratic Residues QR, and Quadratic non-Residues QNR ( m = p. q is not a prime ) x y = x Fact: for m= p. q There are (p -1) (q -1)/4 QR in Z* m. Each QR has 4 distinct square roots The units : 1, 4 are the QR’s in Z* 15 The units : 2, 7, 8, 11, 13, 14 are the QNR’s in Z* 15 unitsNon-units 1, 4 6, 9, 10 Quadratic Residues  1 = 1 and 14  [  1 in Z 15 ) ] = 4 and 11  [  4 in Z 15 ) ]  4 = 2 and 13  [  2 in Z 15 ) ] = 7 and 8  [  7 in Z 15 ) ]

Page : 10 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Case 2: Square Roots in Z m if m = p. q Fact: If m= p q where p and q, are distinct odd primes and two different SQRT’s  and  of some QR in Z m are known, where    and   - , then: either gcd (  + , m) = p or gcd (  + , m) = q !! There is a Computational Equivalence Between Factoring m= p q and taking Square Roots in Z m !!! p and q No algorithm is known for computing the square roots of any unit element in Z m if the prime factors of m, p and q are not known

Page : 11 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Case 2: Computing Square Roots in Z m if m = p. q and p, q are known four square roots for the element c modulo m do exist: r 1, r 2, r 3, and r 4 That is:  c = r 1, r 2, r 3, r 4 Computing the 4 square roots: 1. Compute a and b satisfying gcd(p,q) = a ∙ p + b ∙ q = 1, using the extended gcd algorithm. 2. Compute r = c (p+1)/4 mod p. Compute s = c (q+1)/4 mod q. x = ( a· p · s + b · q · r ) mod m. y = ( a · p · s - b · q · r ) mod m. In case that c has p or q as a divisor, the formulas will only yield two square roots, each also with p or q as a factor. p, q Notice: In the special case in which both primes p, q mod 4 = 3, there are simple formulas for the four roots. => the four square roots are: r 1 = x, r 2 = -x r 3 = y, r 4 = -y

Page : 12 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Rabin Secrecy-System (1985) M C = M 2 mod m b M Public directory Public Key m a = p a. q a User A sends M to BUser B receives m a = public key of A C m b = public key of B Public-Key m b = p b. q b  C mod m b p b. q b (M) 2 mod m b Use square root Algorithm modulo m = p.q for known p and q. Secret key : p b. q b Secret key : p a. q a Encryption Decryption mbmb 4 square root values for M would result. How to identify the correct one? (see next example)

Page : 13 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Example: Rabin Secrecy-System Setup and calculate Cryptogam and decrypt the message M=5 for a user with the public key m b = 7 x 11 =77 M = 5 = 101 M’= =45 C = 45 2 mod 77= 23 M =45 see next page Public directory m a = p a. q a User A sends M to BUser B receives m a = public key of A C=23 m b = 77 public key of B m b = p b. q b = 7 x 11 = 77  C mod m b  23 mod 77 m b = p b. q b = 7 x 11 (M’) 2 mod m b M b = 77 Use square root Algorithm modulo m = p.q for known p and q. See next page Duplicate the pattern of M

Page : 14 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Solution Cont.: See square root algorithm calculations: Encryption: Messages must be in the range from 1 to 7, so this system of redundancy will work. Start with data bits M=101 2 or The replication gives M’= or Then c = M’ 2 mod 77 = 23. Decryption: Take p = 7, q = 11, and n = 77. Then gcd(11,7) = (-3)*7 + 2*11 = 1, so that a = -3 and b = 2. To decrypt compute the square root of C modulo 77: r = c (p+1)/4 mod p => r = 23 2 mod 7 = 4 s = c (q+1)/4 mod q => s = 23 3 mod 11 = 1 And x = (a*p*s + b*q*r) mod m => x = ((-3)*7*1 + 2*11*4) mod 77 = 67 y = (a*p*s - b*q*r) mod m => y = ((-3)*7*1 - 2*11*4) mod 77 = 45 These are two of the four square roots, and the remaining two are -x mod 77 = -67 mod 77 = 10 -y mod 77 = -45 mod 77 = 32 In binary, the four square roots are 67 = = = = One of these roots is M’. Only 45 has the required repetition redundancy, so this is the only possible message M’=45 = => M = 101. The only sqare root with two equal halfs delivers the correct result

Page : 15 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Fair Coin-Flipping by Blind Communication (Rabin-Lock based application) AB (m)(m) u’ randomly choose a unit u in Z m, gcd (m,u)=1 and computes t = u 2 (mod m) t Compute  t = u’ P, q Either: u’  {u,-u}, then B can factor m gcd (u’ +u, m) = p and sends m = p q as response Or: u’  {u,-u}, then B can not factor m and sends u as response Prob. [u’  {u,-u}] = 50% A chooses m = p q Flipping result u or ( p, q ) B wins if he can deliver p and q A wins if B can not factor m Notice: B can claim to be a loser!! Gets 4 roots:  t = + x = + y One of them is u! A can not guess which one is u ! u´= x or y Neither A Nor B can cheat!

Page : 16 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 SQUASH Hash Function (Shamir) (Rabin-Lock based application) Key Idea: Square the input value X in a ring Z m and take a part of the resulting square vector as a hash value m=p.q where p and q are unknown x 2 X Y = X 2 mod m … H(X) = Extract bits from the middle