University : | RMIT University UniLearnO is not sponsored or endorsed by this college or university. |
---|---|
Subject Code : | MN404 |
Assignment 2 Specification
With the development of this application and the course, it gives the students a help to understand the value of encryption and decryption in the technical elements. Actually, it gives learning to, how web application uses encryption and their need to implement it. The assignment enables the student not only to learn the concept and importance of End to End encryption but also to implement it for real-time communications. It enables the students to apply principles of abstraction and problem solving in an object-oriented programming language Further it empowers the students to apply knowledge of programming constructs in developing end to end encryption and decryption for real time communications.
Assignment description:
End-to-end encryption is a system of communication where the only people who can read the messages are the people communicating. No eavesdropper can access the cryptographic keys needed to decrypt the conversation—not even a company that runs the messaging service.
End-to-end encryption transforms messages into unintelligible chunks of data as soon as a user presses send. From there, the message isn't reconstituted into something understandable until it reaches the receiver's device. For example, the chats using WhatsApp communications are not stored in plaintext on WhatsApp’s servers. Nor is the company able to decrypt users’ messages to access them since it does not hold the encryption keys. So, WhatsApp will be unable to be compelled to hand over messaging data — even if served with a warrant by authorities demanding access. Thus, providing safe communications.
In this assignment the students shall code programs for encryption and decryption based on incremental development processes of designing, coding, testing and debugging.
This assignment involves the following tasks:
1) To Design and develop an algorithm or a detailed flow chart to encrypt and decrypt the messages that are being communicated.
a) The message shall constitute all the printable characters on the keyboard. b) Any encryption algorithm such as substitution, reverse cipher etc. may be used by the students.
2) To convert the algorithm to a python program and test for various cases. 3) Analyse and report the performance of the code written in terms of time taken to encrypt and decrypt and for the accuracy of the message communicated.
4) A GUI (optional) may be designed to feed in and display the encrypted and decrypted messages.
5) The program has to display the encrypted messages along with the time to encrypt and decrypt the messages.
6) The program should show the successful encryption and decryption for at least ten (10) messages being communicated.
The assignment report has to include the following sections:
• User Requirements:
o Include all the user (assignment) requirements here.
o For example: the input message, key to encrypt, encryption method, time required for encryption and decryption, encrypted msg to be displayed etc.
• Analysis
Analysis often requires the programmer to learn some things about the problem domain and that information the user will have to provide. Also, it should specify what the program is going to do. In this case the problem domain would be the logic used to encrypt and decrypt as per the algorithm. The user shall provide the messages to be communicated.
• Design:
The design phase has to describe how the program is going to do the desired task. This usually involves writing an algorithm or a flow chart in fact, algorithms are more often written in a somewhat stylized version of English called pseudocode.
Although there are no precise rules governing the syntax of pseudocode, in your pseudocode you should strive to describe the essential elements of the program in a clear and concise manner. Note that this pseudocode closely resembles Python code, so the transition to the coding step should be straightforward. This phase has to be completed and recorded in a form of 4-5 min video explaining the logic of the algorithm and has to be uploaded by week 10
• Implementation Phase:
In this phase the complete code in python without any syntax and semantic errors must be completed. The complete code with proper indentation has to be pasted here along with sample inputs and outputs.
• Testing: Only thorough testing can build confidence that a program is working correctly. Testing is a deliberate process that requires some planning and discipline on the programmer’s part. It would be much easier to turn the program in after the first successful run to meet a deadline or to move on to the next assignment. But your grade, your job, or people’s lives might be affected by the slipshod testing of software.
Once all the errors are debugged, set of all possible inputs are to be provided. Even though the range of the input numbers on a computer is finite, testing all of the possible combinations of inputs would be impractical. So, the challenge is to find a smaller set of inputs, called a test suite, from which we can conclude that the program will likely be correct for all inputs. The number and type of input samples have to cover all possible cases of validity checks of encryption and decryption.
In summary:
The program has to perform the following:
• Read the text to be communicated along with date of birth that could be used as a key to encrypt and decrypt the messages. Add all digits of your date of birth to compute the distance to be used for encryption and decryption.
• Display both the encrypted and decrypted text messages.
Submission Guidelines:
Your assignment should be completed according to the General Guidelines for Presentation of academic work. Your submission should contain the following:
The assignment Word file that will be submitted shall include:
a) Links to 2 videos to be included in the word document along with following details: i) Video 1 – 3 min explaining the logic used in the algorithm to encrypt and decrypt and key generation.
ii) Video 2- 4 min demonstration of the program along with demonstration of various test cases of the program
b) Algorithm/flow chart
c) Complete program in Python without syntax errors (cut and paste the complete code). d) Must include appropriate and sufficient comments in the source code.
e) Screen shots of initial compilation results with syntax errors.
f) Troubleshooting the syntax errors
g) Sufficient screen shots showing all possible outputs obtained. The file name must have your student ID as part of its name.
1) Documentation should follow the standard submission guidelines as below: a) Front page - indicating your name and student ID, teaching staff (Lecturer’s and tutor’s name), a statement of what has been completed and acknowledgement of the names of all assisted you.
b) List of references used (IEEE style) – Reference sources must be cited in the text of the report, and listed appropriately at the end in a reference list. Only IEEE referencing style is acceptable for this assignment.
2) The assignment must be submitted using Moodle. The page numbers of the assignment must be clear on each page. The report document must be checked for similarity through Moodle/Turnitin while submitting it. Please refer to the study skills unit staff (CoL)if you need further assistance.
3) A video not more than 3 min of explaining the algorithm has to be uploaded before week 10 on Moodle.
4) Another video (not more than 4 min) The demonstration of the working of the complete assignment has to uploaded along with assignment word file before week11.
This MN404 IT/Computer Science Assignment has been solved by our IT/Computer Science Experts at UniLearnO. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK & US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics & referencing style.
Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turnitin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.
Eureka! You've stumped our genius minds (for now)! This exciting new question has our experts buzzing with curiosity. We can't wait to craft a fresh solution just for you!