Presentation is loading. Please wait.

Presentation is loading. Please wait.

By Yernar.  Background  Key generation  Encryption  Decryption  Preset Bits  Example.

Similar presentations


Presentation on theme: "By Yernar.  Background  Key generation  Encryption  Decryption  Preset Bits  Example."— Presentation transcript:

1 by Yernar

2  Background  Key generation  Encryption  Decryption  Preset Bits  Example

3  Asymmetric cryptographic technique, whose security, like that of RSA, is related to the difficulty of factorization.  Public-key encryption.  January 1979 by Michael O. Rabin.

4  1. Alice generates two large random and distinct primes p and q, roughly the same size.  2. Computes n=pq.  3. n is public key, (p,q) is private key.

5  Bob encrypts a message m for Alice: 1. Obtains Alice’s authentic public key n. 2. Represents the message as an integer m in the range {0,1,…,n-1}. 3. Computes c = m 2 mod n. 4. Sends the ciphertext c to Alice.

6

7 c) Get 4 square roots of c (mod n) using Chinese Remainder Theorem (CRT) m 1 = x 1 *q*(q -1 mod p)+y 1 *p*(p -1 mod q) (mod n) m 2 =-r 1 (mod n) m 3 =x 1 *q*(q -1 mod p)-y 1 *p*(p -1 mod q) (mod n) m 4 =-r 3 (mod n)

8 2. The message sent was either m 1, m 2, m 3 or m 4. Alice decides which one of these is m. Usually done with the help of preset bits.

9  string of bits added to every message  mechanism to distinguish the “correct” square root  usually appended to the message

10  Key generation: p=23, q=31, n=713, m=87, preset bits: “000”  Encryption: 87 10 = 1010111 2 m = 1010111000 2 =696 10  Bob computes c=m 2 mod n = 696 2 mod 713 = 289 and sends this to Alice.

11

12 m 1 = x 1 *q*(q -1 mod p)+y 1 *p*(p -1 mod q) (mod n) = 6*31*3+14*23*27 mod 713 = 696 = 1010111000 m 2 =-r 1 (mod n) = -696 mod 713 = 17 = 10001 m 3 =x 1 *q*(q -1 mod p)-y 1 *p*(p -1 mod q) (mod n) = 6*31*3-14*23*27 mod 713 = 420 = 110100100 m 4 =-r 3 (mod n) = -420 mod 713 = 293 = 10111

13  m 1 =1010111000, m 2 =10001, m 3 =110100100, m 4 =10111  Only m 1 has required redundancy, original message is m=1010111 2 =87 10.

14  Background  Key generation  Encryption  Decryption  Example

15  Asymmetric key encryption algorithm by Manuel Blum and Shafi Goldwasser in 1984.  Probabilistic, semantically secure cryptosystem with a constant-size ciphertext expansion.

16  1. Alice selects two large random (and distinct) primes p, q, each congruent to 3 modulo 4.  2. Computes n=pq – public key.  3. Computes integers a and b, such that ap+bq=1. (p, q, a, b) – private key.

17

18

19

20

21

22  Key generation:  p=499, q=547, n=pq=272953. Alice computes the integers a=-57 and b=52 satisfying ap+bq=1.  Alice’s public key is n=272953 and private key is (p,q,a,b)

23

24 ipipi 118053910110010 219393211000000 324561311011100 41302861110 54063210000100

25

26 ipipi 1 1805391011 1001 2 1939321100 3 2456131101 0001 4 1302861110 0000 5 406321000 1100 Finally, Alice uses x 0 to construct the x i and p i just as Bob did for encryption, and recovers the plaintext m i by XORing the p i with the ciphertext blocks c i.

27  A. Menezes, P. van Oorschot, S. Vanstone, “Handbook of Applied Cryptography”, retrieved from http://cacr.uwaterloo.ca/hac/ http://cacr.uwaterloo.ca/hac/  M. Blum, S. Goldwasser, “An Efficient Probabilistic Public-Key Encryption Scheme Which Hides All Partial Information”, Proceedings of Advances in Cryptology - CRYPTO '84, pp. 289-299, Springer Verlag, 1985.

28 1. What are the preset bits? 2. How many possible inputs can generate each output of the Rabin function? 3. What theorem is used in Rabin cryptosystem to get the square roots of c (mod n)? 4. True or False. Blum-Goldwasser cryptosystem uses Inclusive or function when computing the ciphertext. 5. Briefly explain how the keys are generated in Rabin Cryptosystem? (What is public key and what is private key).

29 1. String of bits added to every message to distinguish the “correct” square root. 2. Four. 3. Chinese Remainder Theorem. 4. False. 5. Alice generates two large random and distinct primes p and q, roughly the same size. Computes n=pq. n is public key, (p,q) is private key.


Download ppt "By Yernar.  Background  Key generation  Encryption  Decryption  Preset Bits  Example."

Similar presentations


Ads by Google