An exponentiation cipher encodes a message A using a ciphertext C = Ae (mod p) where p is a prime number and e is an integer exponent. (Here A and C are also integers.) You are given integers A, C, e and p, and you would like to determine whether C is a valid ciphertext for message A.
(a) Formulate this problem as a language EC.
(b) Explain why the following algorithm for EC does not run in polynomial time: Compute Ae using e − 1 multiplications. Take the result modulo p using one integer division, and compare the answer to C.
(c) Show that EC ∈ P. Analyze the running time of your algorithm using O-notation. Hint: First, find an algorithm for the case when e is a power of 2.
(a) The language is the following:
.
(b) The proposed solution computes
using
many multiplications. But the input to the problem will be given
in binary. Hence, the input length will actually be
.
Thus the running time in terms of the input size is
. This is not a polynomial.
(c) The idea is to use repeated squaring.
For simplicity, first let
. In this case,
.
Thus, the value of the exponent gets halved in each iteration.
Thus, the number of iterations will be
. For each iteration, there is only one multiplication to
perform.
Hence, the total time taken will be
.
Now, in general do the following.
If
is even, then use
.
If
is odd, then use
.
This way, in each iteration, the value of the exponent gets halved, and there are at most three multiplications to perform.
Hence, the complexity is again
. This is clearly polynomial time.
Comment in case of any doubts.
An exponentiation cipher encodes a message A using a ciphertext C = Ae (mod p) where...
(d) Decrypt the ciphertext message LEWLYPLUJL PZ H NYLHA ALHJOLY that was encrypted with the shift cipher f(p) (p+7) mod 26. [10 points] (e) [Extra Credit - 5 points] Encrypt the message "BA" using the RSA cryptosystem with key (ne) = (35,5), where n = p . q 5-7 and ged(e, (p-1) 1)) (5, 24) 1. 6. [5 points each (a) Is 2 a primitive root of 11? (b) Find the discrete logarithm of 3 modulo 11 to the base...
QUESTION 9 Encrypt the message WALDEN using a shift cipher with f(p (p+17) mod 26
We know that we can reduce the base of an exponent modulo m: a(a mod m)k (mod m). But the same is not true of the exponent itself! That is, we cannot write aa mod m (mod m). This is easily seen to be false in general. Consider, for instance, that 210 mod 3 1 but 210 mod 3 mod 3 21 mod 3-2. The correct law for the exponent is more subtle. We will prove it in steps (a)...
Discrete Mathematics - RSA Algorithm and Mod These are problems concerning the RSA algorithm and Modulo. A. In RSA, suppose bob chooses p = 3 and q = 43. Determine one correct value of the public exponent e, your choice should be the smallest positive integer that is greater than 1. Justify your answer. B. For the e's value you chose above, compute the corresponding secret exponent d. Show your work. C. Compute 540Mod13 D. Compute 5-1Mod11
o-8. (15 points) Bob's simple toy RSA eryptosystem has public key kyub(n, e) (65,5), where n =p,-5x13-65 and e-5. I. Describe the key pair generation procedure for Bob to generate his private key kor- d. With the above given parameters, use EEA to calculate d 2. Describe RSA encryption procedure that Alice uses to encrypt her plaintext message x to its above given parameters, what will be y? ciphertext y before sending the message to Bob. Suppose Alice's message x-...
Computing RSA by hand. Let p = 13, q = 23, e = 17 be your initial parameters. You may use a calculator for this problem, but you should show all intermediate results. Key generation: Compute N and Phi(N). Compute the private key k_p = d = e^-1 mod Phi(N) using the extended Euclidean algorithm. Show all intermediate results. Encryption: Encrypt the message m = 31 by applying the square and multiply algorithm (first, transform the exponent to binary representation)....
The Diffie-Hellman public-key encryption algorithm is an alternative key exchange algorithm that is used by protocols such as IPSec for communicating parties to agree on a shared key. The DH algorithm makes use of a large prime number p and another large number, g that is less than p. Both p and g are made public (so that an attacker would know them). In DH, Alice and Bob each independently choose secret keys, ?? and ??, respectively. Alice then computes...
please help me to solve (c and d) knowing that d=209
Let the two primes p = 41 and q = 17 be given as set-up parameters for RSA. a. Which of the parameters e_1 = 32, e_2 = 49 is a valid RSA exponent? Justify your choice b. Compute the corresponding private key Kpr = (p, q, d). Use the extended Euclidean algorithm for the inversion and point out every calculation step. c. Using the encryption key, encrypt the...
3) Out of the following, name which kind of attack you carried out in part 1 and part2: a. ciphertext only, b. known plaintext, c. chosen plaintext, d. chosen ciphertext. Explain your answer Problem 3 10 points] A 4-bit long message was encrypted using one-time pad to yield a cipher-text “1010” Assuming the message space consists of all 4-bit long messages, what is the probability that the corresponding plaintext was “1001”? Explain your answer. Problem 4 Assume we perform a...
Write code for RSA encryption package rsa; import java.util.ArrayList; import java.util.Random; import java.util.Scanner; public class RSA { private BigInteger phi; private BigInteger e; private BigInteger d; private BigInteger num; public static void main(String[] args) { Scanner keyboard = new Scanner(System.in); System.out.println("Enter the message you would like to encode, using any ASCII characters: "); String input = keyboard.nextLine(); int[] ASCIIvalues = new int[input.length()]; for (int i = 0; i < input.length(); i++) { ASCIIvalues[i] = input.charAt(i); } String ASCIInumbers...