Question

In: Computer Science

In the RSA public-key encryption scheme, each user has a public key, e, and a private...

In the RSA public-key encryption scheme, each user has a public key, e, and a private key, d. Suppose Alice leaks her private key. Rather than generating a new modulus, she decides to generate a new public key and a new private key. Is this safe? why or why not?

Solutions

Expert Solution

It is not safe. The procedure of the RSA encryption and decryption is as followings:

1. Choose two prime numbers p and q.

2. Computer n=p*q.

3. Choose a public key e, where e>1 and coprime to j(n) = (p-1)*(q-1).

4. Computer the private key. Where e*d = 1(mod j(n)).

5. The public key is (e, n) and the private key is (d, n).

6. The ciphertext is ci=mi^e (mod n).

7. The plaintext is mi=ci^d (mod n).

When we know the private key d1, the public key e1 and the other public e2, we can computer the private key d2 related to e2 in the same modulus. First we assume that k=y j(n), where y is an integer. Since j(n) = (p-1)*(q-1), and the p, q are the prime number, so the result of j(n) is an even number. Hence, we can denote k=2t *r, where r is odd number and t>=1.

Then we choose a random number g from the Zn*, where gk≡ 1 (mod n). gk/2 is result of gk to the power of 1/2. That is to say gk/2 is result of 1(mod n) to the power of 1/2. According to the Chinese remainder theorem, we know that there are 4 results for that calculation, two of which are +1 and -1. We denoted the other two as +x and –x. Hence, x satisfies: x≡ 1 mod p and

x≡ -1 mod q. so p=gcd (x-1, n), q= gcd(x+1, n).

After knowing the p and q, we can compute j(n), then d2. And then we will know the ciphertext and plaintext. Thereby, it is not safe if Alice generate a new public and a new private key based on the old modulus.


Related Solutions

RSA: Public and Private Key Encryption im doing this on an ubuntu virtual machine but unsure...
RSA: Public and Private Key Encryption im doing this on an ubuntu virtual machine but unsure how to Create your public and private keys and create and encrypted message using python Then encrypt the message with your private key I need output of a Message you sent (in plain text and encrypted) Message you received (in plain text and encrypted)
RSA: Public and Private Key Encryption im doing this on an ubuntu virtual machine but unsure...
RSA: Public and Private Key Encryption im doing this on an ubuntu virtual machine but unsure how to Create your public and private keys and create and encrypted message using python Then encrypt the message with your private key I need output of a Message you sent (in plain text and encrypted) Message you received (in plain text and encrypted)
a) In a public-key system using RSA, n=77 and its public key is e=23. What is...
a) In a public-key system using RSA, n=77 and its public key is e=23. What is the private key d? Show your steps of calculation. b) Let M=3. Compute its cipher text under the above RSA. Please use the divide conquer algorithm to compute the exponential function for the cipher text.
Please perform encryption and decryption given the following values of an RSA public key cryptosystem; p=17,...
Please perform encryption and decryption given the following values of an RSA public key cryptosystem; p=17, q=31, e=7 and M=2
In the RSA cryptosystem, Alice’s public key (N, e) is available to everyone. Suppose that her...
In the RSA cryptosystem, Alice’s public key (N, e) is available to everyone. Suppose that her private key d is compromised and becomes known to Eve. Show that if e = 3 (a common choice) then Eve can efficiently factor N.
Consider the following 3-person encryption scheme based on RSA. L (can be trusted in this case)...
Consider the following 3-person encryption scheme based on RSA. L (can be trusted in this case) generates two large primes p and q, calculates both n and φ(n). L also chooses k1, k2 and k3 such that GCD(ki,n) = 1 and k1k2k3 ≡ 1 mod φ(n). Keys are securely distributed to three others as follows: G: <n,k1,k2 > J: < n, k2, k3 > Z: < n, k3, k1 > Answer the following questions. (a) G has a message M1...
Do the following with OpenSSL: Create a 2048 bit RSA private key. Convert this private key...
Do the following with OpenSSL: Create a 2048 bit RSA private key. Convert this private key into a text format so it shows the following information: modulus public exponent (e) private exponent (d) the primes (p and q) Use the appropriate command that generates this information and saves it in key.txt file. Save the message "Hello from (your UID)" in a plaintext file message.txt. Using openssl's rsautl option to sign this message with your private key (key.txt). Save this signed...
Exercise 9.9.1: Breaking RSA by factoring. Bob publishes his public key (e, N) = (109, 221)...
Exercise 9.9.1: Breaking RSA by factoring. Bob publishes his public key (e, N) = (109, 221) (a) Show that if Eve can factor N (N = 13 · 17), then she can determine Bob's private key d. What is Bob's private key? (b) Now suppose that Eve intercepts the message 97. Use Bob's private key to decrypt the message.
8. (20 pts) a. RSA encryption. Let n = pq = (7)(17) = 119 and e...
8. (20 pts) a. RSA encryption. Let n = pq = (7)(17) = 119 and e = 5 define a (very modest) RSA public key encryption. Since 25 < 119 < 2525, we can only encode one letter (two digit representation) at a time. Use the function ? = ? mod ? to encode the word MATHY into a series of five numbers that are less than n. b. To decrypt an RSA encrypted message, we need to find d,...
Write C program for RSA encryption and decryptin, where: p = 11,q = 5, e =...
Write C program for RSA encryption and decryptin, where: p = 11,q = 5, e = 7
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT