Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Java Expert


Home >> Java

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.

Java, Programming

  • Category:- Java
  • Reference No.:- M92282280
  • Price:- $90

Guranteed 48 Hours Delivery, In Price:- $90

Have any Question?


Related Questions in Java

Can someone please help me with the following java

can someone please help me with the following java question The input is an N by N matrix of nonnegative integers. Each individual row is a decreasing sequence from left to right. Each individual column is a decreasing s ...

Retail price calculatorwrite a java program that asks the

Retail Price Calculator Write a JAVA program that asks the user to enter an item's wholesale cost and its markup percentage. It should then display the item's retail price. For example: (If an item's wholesale cost is 5. ...

Applied software engineering assignment 1 -learning

Applied Software Engineering Assignment 1 - Learning outcomes - 1. Understand the notion of software engineering and why it is important. 2. Analyse the risk factors associated with phases of the software development lif ...

Assessment instructionsin this assessment you will design

Assessment Instructions In this assessment, you will design and code a simple Java application that defines a class, instantiate the class into a number of objects, and prints out the attributes of these objects in a spe ...

Can someone kindly help me to consider whether java

Can someone kindly help me to consider whether Java provides the facility of operator overloading? If it does, may you kindly describe how overloading operators can be accomplished? If not, may you kindly describe why yo ...

Assessment database and multithread programmingtasktask 1

Assessment: Database and Multithread Programming Task Task 1: Grade Processing University grading system maintains a database called "GradeProcessing" that contains number of tables to store, retrieve and manipulate stud ...

Overviewyou are required to use java se 80 and javafx to

Overview You are required to use Java SE 8.0 and JavaFX to develop a Graphical User Interface (GUI) for the FlexiRent rental property management program created in Assignment 1. This assignment is designed to help you: 1 ...

Chatbotscreate a small networked chat application that is

Chatbots Create a small, networked chat application that is populated by bots. Introduction On an old server park, filled with applications from the early days of the internet, a few servers still run one of the earliest ...

Overviewyou are required to use java se 80 and javafx to

Overview You are required to use Java SE 8.0 and JavaFX to develop a Graphical User Interface (GUI) for the FlexiRent rental property management program created in Assignment 1. This assignment is designed to help you: 1 ...

Assessment instructionsin this assessment you will complete

Assessment Instructions In this assessment, you will complete the programming of two Java class methods in a console application that registers students for courses in a term of study. The application is written using th ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As