Submission should be a SINGLE PDF file only. If you want to handwrite some answe

Submission should be a SINGLE PDF file only. If you want to handwrite some answe

Submission should be a SINGLE PDF file only. If you want to handwrite some answers, you
can take clear pictures of legibly written handwritten pages and put them in a PDF .
1) (3 marks) You are planning to do RSA encryption. You chose ? = 55 and the public
key as ? = 3. Answer the following:
a. How much is
j(?)?
b. Write an equation to show the relation between ? and the private key ?.
c. How much would be the private key ?? (You can use this website to solve this
part-> https://planetcalc.com/3311/ )
2) (7 marks) In this problem, you need to verify digital signatures for five strings that I
have signed. We use the same library as earlier: pycryptodome (python version 3.5
or greater). In particular, I have signed each message using the code below
(chosen_str is a string variable)
h = SHA256.new(chosen_str.encode(‘UTF-8’))
signature = pss.new(private_key).sign(h)
signature = b64encode(signature).decode(“utf-8”)
You can look at the documentation here (which includes how to create signature and
how to verify them):
https://www.pycryptodome.org/src/signature/pkcs1_p…
You should do the hash as I have done in the code above. You task is to verify the
signature for each of the five messages that you get from me. My public key
mypublickeyRSA.pem is provided with this PDF on canvas itself.
Each of you will be provided a (different) json file by email. The file has five
messages in an array and five b64encoded signatures in another array. Look at your
previous homework code for how to decode a b6encoded string. The first signature
in the signature array corresponds to the first message in the messages array,
second corresponds to second, and so on.