Implementation of rsa public key cryptography

Assignment Help JAVA Programming
Reference no: EM131473543 , Length: word count:3000

Assignment Brief:

1. In this assignment, you will design and implement your own implementation of RSA public key cryptography.

2. Java does, in fact, contain a library, "java.security", that implements RSA and several other encryption systems. Along with this assignment, you will be provided with a ZIP archive that contains a working program (by Bob Piper) for you to import into the IDE. This program uses the built-in Java security library to implement RSA encryption, but please note that it is provided as an example only; this is a Java programming module and, as such, you must demonstrate your knowledge and skills in writing Java programs, implementing Java algorithms, etc. Therefore, in this assignment, you must not use Java's built-in security library, but must, instead, write your own implementation of RSA. By all means use the example program as a guide for how you might go about writing your own code, but do not use any of Java's built-in security functionality. As an example, if you look at the provided program, you will notice various data types and methods being used that generate and store public and private keys. You must not use these!

3. In the assignment lecture, an overview has been given of Java primitives (BigInteger class and methods) which can be used to implement RSA public key cryptography. In addition, algorithms have also been described that can replace the Java primitives. Additional credit will be given to students who demonstrate that they can implement their solution using primitives and some or all of the described underlying algorithms.

4. Your key generation method(s) should save the public and private keys to files on disk (as in the provided example program), so that these may be used at a later time to perform encryption/decryption without having to recreate them. As part of your work, you should attempt to produce a program that encrypts simple data, using the public key. This program should print the original data and its encrypted version to the screen and save the encrypted data to a file on disk. You should also attempt to produce another program that reads the encrypted data file and private key from disk and decrypts the data using this private key. This program should print both the encrypted data and its decrypted version to the screen and save the decrypted version of the data to a file on disk. A graphical user interface will be deemed a desirable, but not essential, feature of your program - additional credit will be given to students who can design, implement and test an appropriate graphical user interface.

5. You are expected to produce a concise requirements specification for your RSA cryptography system based on the previous paragraphs. Use sound requirements elicitation and modelling techniques to identify, analyse and record the necessary functional and non-functional requirements. You may use any or all of use cases, activity diagrams, class-based modelling, CRCs, control flow, data flow and/or behavioural models) as you deem appropriate to render the requirements explicit. Justify chosen requirements and modelling choices with appropriate concise rationale

6. Using your requirements specification, create a design that satisfies the requirements. You will find it helpful to stepwise refine the diagrams and models produced in the requirements specification into a design-level representation of the classes, methods and other components required for later implementation (this may include UML diagrams, flowcharts, decision tables pseudocode, etc.)

7. Using your created design, implement it as executable source code using appropriate modern object-oriented and procedural programming techniques for classes, methods and other components. Your code should also, as far as possible, be self-documenting through the choice of sensible names for your classes, methods and variables. You should use JavaDoc comments throughout your code as well as standard Java comments where you think it might be beneficial to give some explanation to your code

8. Design, develop and undertake a suitable set of tests to demonstrate that your implemented code satisfies the requirements specification and functions as expected. You should supplement these with supporting explanation

9. You should submit a requirements specification, a set of design documents including supporting rationale, the final source code, your test set and test results (including screenshots of correctly and incorrectly functioning code and features). Your supporting text elements may form a report of up to 3,000 words

10. Ensure that your work (submitted electronically via the online submission portal) is bundled into a suitable file (a zipped collection of documents) with the filename matching the pattern sXXXXXX-SDPAssign where sXXXXXX is your UCS userid. Ensure that all documents are marked with your UCS userid. Your name should not appear anywhere in any of the files.

Reference no: EM131473543

Questions Cloud

Discussion of the theory and concepts relevant to article : Identification and discussion of the theory and concepts relevant to the selected article. Article - Half a Defence of Positive Accounting Research
Which batch quantity would recommend and why : You are looking to open up a cupcake shop in a high-traffic tourist area. Which batch quantity would recommend and why?
Problem regarding straight-line depreciation : Further assume straight-line depreciation to zero, a marginal tax rate of 35%, and a required return of 10%. The project NPV is.
Propose policy development and advocacy : Propose innovative healthcare policies which could directly or indirectly impact the national or global healthcare delivery system
Implementation of rsa public key cryptography : In this assignment, you will design and implement your own implementation of RSA public key cryptography.
Review the case study of kamposek v johnson : FACTS Phillip and Vickie Johnson operated a construction company. In response to an inquiry from Albin and Carol Kamposek, Vickie Johnson went to the Kamposeks.
International standards organization certification : Companies around the world are increasingly committing themselves to attaining International Standards Organization (ISO) certification in a variety of areas,
Analysis of the staffing process for the overseas assignment : The CEO prefers to send a good mix of diverse team members for this posting, in attempt to achieve a better level of creativity and innovation.
Combined annual salaries : This amount of net working capital will need to be replaced once the machine is sold. The corporate tax rate is 35 percent. The appropriate discount rate is 12

Reviews

len1473543

4/25/2017 5:29:41 AM

Assessment category Knowledge and critical understanding of well-established concepts and principles of the subject(s) D: 70% – 100% High quality work showing detailed understanding of the established concepts and principles of the subject(s). Cognitive and intellectual skills Use of excellent critical, analytical and evaluative skills in order to develop highly logical and coherent judgements / arguments, supported by a range of relevant evidence. Evidence of independent thinking and creativity. Explicit discussion of other stances and a strong awareness of the limits of their knowledge. Application of theory to practice (for courses with a professional practice element)Application of theory to practice (for courses with a professional practice element)Reading and referencing Critical engagement with a wide range of relevant reading, including research-informed literature where relevant. Consistently accurate application of referencing. Presentation, style and structure * Highly effective presentation of work that is coherently structured and clearly expressed throughout.

Write a Review

JAVA Programming Questions & Answers

  Recursive factorial program

Write a class Array that encapsulates an array and provides bounds-checked access. Create a recursive factorial program that prompts the user for an integer N and writes out a series of equations representing the calculation of N!.

  Hunt the wumpus game

Reprot on Hunt the Wumpus Game has Source Code listing, screen captures and UML design here and also, may include Javadoc source here.

  Create a gui interface

Create GUI Interface in java programing with these function: Sort by last name and print all employees info, Sort by job title and print all employees info, Sort by weekly salary and print all employees info, search by job title and print that emp..

  Plot pois on a graph

Write a JAVA program that would get the locations of all the POIs from the file and plot them on a map.

  Write a university grading system in java

University grading system maintains number of tables to store, retrieve and manipulate student marks. Write a JAVA program that would simulate a number of cars.

  Wolves and sheep: design a game

This project is designed a game in java. you choose whether you'd like to write a wolf or a sheep agent. Then, you are assigned to either a "sheep" or a "wolf" team.

  Build a graphical user interface for displaying the image

Build a graphical user interface for displaying the image groups (= cluster) in JMJRST. Design and implement using a Swing interface.

  Determine the day of the week for new year''s day

This assignment contains a java project. Project evaluates the day of the week for New Year's Day.

  Write a java windowed application

Write a Java windowed application to do online quiz on general knowledge and the application also displays the quiz result.

  Input pairs of natural numbers

Java program to input pairs of natural numbers.

  Create classes implement java interface

Interface that contains a generic type. Create two classes that implement this interface.

  Java class, array, link list , generic class

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

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