# 信息安全代写 | CUS 1185 Midterm Exam

High level description of activity:

In this exercise I would like you to simulate a real-life RSA encryption between a sender (S) and a recipient (R).  You are provided the following information shown in here which is composed of a prime p, a prime q, a composite N=p*q, and a 3-character plaintext word which you can encrypt with RSA based on your own choice of encoding method.

Questions 1-5 cumulatively have 100 points.  Questions 6a and 6b have 10 points extra credit opportunity each, assuming they’re 100% correctly answered.  Hence the total grade you can earn in here is 120 out of 100 possible points.

Detailed description of activity:

1. Show me the full input/output to the GenModulus algorithm based on your settings.
2. Show me the full input/output to the GenRSA algorithm based on your settings.
1. Show me what the generated public key is for your own setting.
2. Show me what the generated private key is for your own setting.
3. For the two requirements above, show me precisely your calculations on how you are producing Ø(N), e, d based on your provided settings from the Google Sheet.
3. Once the public/private key are generated:
1. show clearly how and why both sender (S) and recipient (R) are able to build the set ZN+ based on the public key.
2. Here you must also show the first 26 group elements from this set.
4. Once the public/private key are generated
1. show clearly how and why both sender (S) and recipient (R) are able to build the set ZN*
2. Here you must also show the first 26 group elements from this set.
3. Also, for the first 2 or 3 elements in this set I want to see how/why you have selected them i.e., I want to see justification and your own work on why they belong in this group.
4. Finally, produce a one-to-one encoding between the 26 lower-case letters of the English alphabet and the first 26 group elements of your ZN* It should look something along these lines:

{a=g1, b=g2, c=g3…z=g26} such that g1, g2, g3…g26 are the first 26 group elements of the ZN* group that you generated on step 4a.

5. Produce three RSA encryption/decryptions which correspond with what the sender/recipient are going to be communicating to each other during the transmission of your word listed in the Plaintext column of the Google drive section.

So, for example if your plaintext word to be encrypted were to be ‘tar’ you would have to show me:

What the sender (S) sends to the recipient (R) for each of the group elements representing ‘t’ ‘a’ ‘r’.  In other words, you would have to show me how the sender performs the encryption of those three elements representing the characters according to your chosen encoding.

b. How the recipient (R) recovers the received encrypted ciphertext in order to produce the group element corresponding to some letter according to your own chosen encoding.

6. Lastly, write two paragraphs to state:
1. Why an attacker (E) who is observing the transmission of your encrypted group elements cannot decrypt them without knowledge of the private key. In other words, explain to me the onus of why RSA scheme, as you have implemented in steps 1-5, is secure.  Please elaborate on this for full credit.
2. What would be the highest attack threat-level of this RSA scheme i.e., if you were to realistically encrypt 3-letter words via the method you have described in steps 1-5, what would be the highest attack threat model this scheme can survive? In other words, will it hold COA, KPA, or CPA and if so why.  Remember to elaborate for full credit.

E-mail: vipdue@outlook.com  微信号:vipnxx