Chapter 1: Q13E (page 48)
Is the difference of a multiple of ?
Short Answer
The difference of a multiple of 31 is 0, i.e. it is multiple of .
/*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
Learning Materials
Features
Discover
Chapter 1: Q13E (page 48)
Is the difference of a multiple of ?
The difference of a multiple of 31 is 0, i.e. it is multiple of .
All the tools & learning materials you need for study success - in one app.
Get started for free
Determine necessary and sufficient conditions on so that the following holds: for any if , then .
RSA and digital signatures. Recall that in the RSA public-key cryptosystem, each user has a public key P=(N,e) and a secret key d. In a digital signature scheme, there are two algorithms, sign and verify. The sign procedure takes a message and a secret key, then outputs a signature . The verify procedure takes a public key , a signature , and a message M, then returns 鈥渢rue鈥 if could have been created by sign (when called with message M and the secret key (N, e) corresponding to the public key ); 鈥渇alse鈥 otherwise.
(a)Why would we want digital signatures?
(b) An RSA signature consists of sign, where d is a secret key and N is part of the public key . Show that anyone who knows the public key can perform verify , i.e., they can check that a signature really was created by the private key. Give an implementation and prove its correctness.
(c) Generate your own RSA modulus, N=pq public key e, and private key d (you don鈥檛 need to use a computer). Pick p and q so you have a 4-digit modulus and work by hand. Now sign your name using the private exponent of this RSA modulus. To do this you will need to specify some one-to-one mapping from strings to integers in . Specify any mapping you like. Give the mapping from your name to numbers then sign the first number by giving the value , and finally show that .
(d) Alice wants to write a message that looks like it was digitally signed by Bob. She notices that Bob鈥檚 public RSA key is . To what exponent should she raise her message?
Consider the problem of computing x y for given integers x and y: we want the whole answer, not modulo a third integer. We know two algorithms for doing this: the iterative algorithm which performs y 鈭 1 multiplications by x; and the recursive algorithm based on the binary expansion of y. Compare the time requirements of these two algorithms, assuming that the time to multiply an n-bit number by an m-bit number is O(mn).
Justify the correctness of the recursive division algorithm given in page , and show that it takes time bit inputs.
The grade-school algorithm for multiplying two n-bit binary numbers x and y consist of addingtogethern copies of r, each appropriately left-shifted. Each copy, when shifted, is at most 2n bits long.
In this problem, we will examine a scheme for adding n binary numbers, each m bits long, using a circuit or a parallel architecture. The main parameter of interest in this question is therefore the depth of the circuit or the longest path from the input to the output of the circuit. This determines the total time taken for computing the function.
To add two m-bit binary numbers naively, we must wait for the carry bit from position i-1before we can figure out the ith bit of the answer. This leads to a circuit of depth. However, carry-lookahead circuits (seewikipedia.comif you want to know more about this) can add indepth.
What do you think about this solution?
We value your feedback to improve our textbook solutions.