Write program which trace execution of RSA cryptosystem

Assignment Help Programming Languages
Reference no: EM131886896

Assignment -

You have to write a program (in the language of your choice) which will trace the execution of the RSA cryptosystem on a simple example. Make sure that you take the modulo after every operation i.e. it is not enough just to take the modulo after a long string of operations because the numbers can get so big that you get an overflow error.

(a) Alice choses her two primes to be p = 29 and q = 17 and multiplies them to obtain n = 493. Next, Alice randomly choses e = 15. Alice makes e and n public.

(b) You first need to calculate what Alice's secret d will be. Your program should compute Φ(n) = (p-1)(q -1), and then your program should find the unique integer d (using brute force search here is OK) such that d is between 1 and n - 1 and d · e mod Φ(n) = 1.

 (c) The cleartext message Bob wishes to send to Alice is M = 28. Bob looks up Alice's public e and n, and then calculates (your program should do this) C = Me mod n. For full credit you should implement the fast divide and conquer modular exponential method discussed in class and the textbook; you will get partial credit if you implement the simple, inefficient and straightforward method for modular exponentiation.

(d) Alice receives the ciphertext C. She will then use her secret d to decipher Bob's message by calculating (your program should do this) M0 = C d mod n. If you have done this correctly, the decoded message M0 should come out equal to the original message M. Again, for full credit you should implement the fast, divide and conquer modular exponential method.

(e) Your program should print out the following values; p, q, n, Φ(n), e, d, M, C, M0 .

(f) Turn in the program listing (a print out of your program) and a print out of you program's output. A softcopy of the program needs to be turned in on blackboard. Both your program and the output should be easy to understand.

Reference no: EM131886896

Questions Cloud

By definition what is bull spread : By definition what is a bull spread? What strategy is involved? What is a diagonal spread?
Establish and maintain a payroll system : FNSBKG405 Establish and maintain a payroll system and Prepare the payroll register for the week ended 30 June - Prepare the journal entries to record
Explain annual evaluation method of performance appraisal : Imagine that you are a director of performance management. With this role in mind, briefly compare and contrast the traditional annual evaluation method.
What is the probability that the technician : What is the probability that the technician will arrive at 1:45 or later?
Write program which trace execution of RSA cryptosystem : You have to write a program (in the language of your choice) which will trace the execution of the RSA cryptosystem on a simple example
What evidence from additional sources supports your opinion : What evidence from additional sources supports your opinion? What are the authors' main points for conducting the study?
Find a parking spot in the lot : Find the cut-off time for which 75.8% of the students and faculty exceed when trying to find a parking spot in the lot.
What is meant by a box spread : What would a short bear spread position look like? What is meant by a box spread?
Assume that the scores are normally distributed : If the board wants to set the passing score so that only the best 80% of all applicants pass, what is the passing score? Assume that the scores are normally

Reviews

Write a Review

Programming Languages Questions & Answers

  Write a haskell program to calculates a balanced partition

Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition,

  Create an application to run in the amazon ec2 service

In this project you will create an application to run in the Amazon EC2 service and you will also create a client that can run on local machine and access your application.

  Explain the process to develop a web page locally

Explain the process to develop a Web page locally

  Write functions

These 14 questions covers java class, Array, link list , generic class.

  Programming assignment

If the user wants to read the input from a file, then the output will also go into a different file . If the user wants to read the input interactively, then the output will go to the screen .

  Write a prolog program using swi proglog

Write a Prolog program using swi proglog

  Create a custom application using eclipse

Create a custom Application Using Eclipse Android Development

  Create a application using the mvc architecture

create a application using the MVC architecture. No scripting elements are allowed in JSP pages.

  Develops bespoke solutions for the rubber industry

Develops bespoke solutions for the rubber industry

  Design a program that models the worms behavior

Design a program that models the worm's behavior.

  Writing a class

Build a class for a type called Fraction

  Design a program that assigns seats on an airplane

Write a program that allows an instructor to keep a grade book and also design and implement a program that assigns seats on an airplane.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd