Great Deal! Get Instant $10 FREE in Account on First Order + 10% Cashback on Every Order Order Now

Prepared by: Dr Nandini Sidnal XXXXXXXXXXModerated by: Prof. Paul Kwan Nov, 2020 Assessment Details and Submission Guidelines Unit Code BN108 – T4 2020 Unit Title Programming for Networking Assessment...

1 answer below »
Prepared by: Dr Nandini Sidnal XXXXXXXXXXModerated by: Prof. Paul Kwan Nov, 2020

Assessment Details and Submission Guidelines
Unit Code BN108 – T4 2020
Unit Title Programming for Networking
Assessment Type Individual Assignment
Assessment Title End to End encryption – What app messages
Purpose of the
assessment (with
ULO Mapping)
This assignment assesses the following Unit Learning Outcomes; students should be
able to demonstrate their achievements in them:
a. Describe the fundamental principles of object-oriented programming;
. Interpret a user’s needs while dealing with simple program specifications;
c. Design a simple class using UML notation;
d. Create a simple application based on UML design and the incremental
development process of coding, debugging, and testing;
e. Apply basic control structures – sequence, repetition, and selection – to program
development;
f. Produce simple interactive applications.
Weight 35% of the total assessments
Total Marks 50 Marks
Due Date XXXXXXXXXXWeek 11 laboratory class – To submit video of the program Demonstration along with
the program

Submission
Guidelines
• All work must be submitted on Moodle by the due date along with a title Page.
• The assignment must be in MS Word format, 1.5 spacing, 11-pt Cali
i (Body) font
and 2.54 cm margins on all four sides of your page with appropriate section
headings.
• Reference sources must be cited in the text of the report, and listed appropriately
at the end in a reference list using IEEE referencing style.
Extension • If an extension of time to submit work is required, a Special Consideration
Application must be submitted directly through AMS. You must submit this
application within three working days of the assessment due date. Further
information is available at:
http:
www.mit.edu.au/about-mit/institute-publications/policies-procedures-
and-guidelines/specialconsiderationdeferment
Academic
Misconduct

• Academic Misconduct is a serious offence. Depending on the seriousness of the
case, penalties can vary from a written warning or zero marks to exclusion from
the course or rescinding the degree. Students should make themselves familiar
with the full policy and procedure available at: http:
www.mit.edu.au/about-
mit/institute-publications/policies-procedures-and-guidelines/Plagiarism-
Academic-Misconduct-Policy-Procedure. For further information, please refer to
the Academic Integrity Section in your Unit Description.




http:
www.mit.edu.au/about
http:
www.mit.edu.au/about
http:
www.mit.edu.au/about-mit/institute-publications/policies-procedures-and-guidelines/special-considerationdeferment
http:
www.mit.edu.au/about-mit/institute-publications/policies-procedures-and-guidelines/special-considerationdeferment
http:
www.mit.edu.au/about-mit/institute-publications/policies-procedures-and-guidelines/special-considerationdeferment
http:
www.mit.edu.au/about-mit/institute-publications/policies-procedures-and-guidelines/special-considerationdeferment
http:
www.mit.edu.au/about-mit/institute-publications/policies-procedures-and-guidelines/special-considerationdeferment
http:
www.mit.edu.au/about-mit/institute-publications/policies-procedures-and-guidelines/special-considerationdeferment
http:
www.mit.edu.au/about-mit/institute-publications/policies-procedures-and-guidelines/special-considerationdeferment
http:
www.mit.edu.au/about-mit/institute-publications/policies-procedures-and-guidelines/special-considerationdeferment
http:
www.mit.edu.au/about-mit/institute-publications/policies-procedures-and-guidelines/special-considerationdeferment
http:
www.mit.edu.au/about-mit/institute-publications/policies-procedures-and-guidelines/special-considerationdeferment
http:
www.mit.edu.au/about-mit/institute-publications/policies-procedures-and-guidelines/special-considerationdeferment
http:
www.mit.edu.au/about-mit/institute-publications/policies-procedures-and-guidelines/special-considerationdeferment
http:
www.mit.edu.au/about-mit/institute-publications/policies-procedures-and-guidelines/Plagiarism-Academic-Misconduct-Policy-Procedure
http:
www.mit.edu.au/about-mit/institute-publications/policies-procedures-and-guidelines/Plagiarism-Academic-Misconduct-Policy-Procedure
http:
www.mit.edu.au/about-mit/institute-publications/policies-procedures-and-guidelines/Plagiarism-Academic-Misconduct-Policy-Procedure
BN108 Programming for Networking Page 2 of 6
Prepared by: Dr Nandini Sidnal XXXXXXXXXXModerated by: Dr Paul Kwan October, 2020
Academic Integrity:

For assignments, students are encouraged to consult each other, the lecturer, tutor or anyone
else for that matter. However, the assistance offered or accepted should not go beyond a discussion
of the problem and a sketch of a solution. But in your assignment, do not use any written material
from the discussion/website
ook. If you can reconstruct the discussion and complete the solution on
your own, then you have learned the material (and that is the objective of this course!).

Assignment 2 Specification

The development of this application helps the students to understand the value of encryption
and decryption in the technical elements. Also, it gives better understanding of 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 a complete application.

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 wa
ant 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 UML representation 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.
) Any encryption algorithm such as substitution, reverse cipher etc. may be used by the
students.
2) To convert the flowchart/ UML to a python program and test for various cases.
3) A GUI (optional) may be designed to feed in and display the encrypted and decrypted
messages.
4) The program has to display the encrypted messages along with the time to encrypt and
decrypt the messages.
5) The program should show the successful encryption and decryption for a minimum of ten
(10) messages being communicated.
BN108 Programming for Networking Page 3 of 6
Prepared by: Dr Nandini Sidnal XXXXXXXXXXModerated by: Dr Paul Kwan October, 2020



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 message 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.

• Implementation Phase:
In this phase the complete code in python without any syntax and semantic e
ors 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 co
ectly.
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
un 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 e
ors 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 co
ect
for all inputs. The number and type of input samples have to cover all possible cases of
validity checks of encryption and decryption.










BN108 Programming for Networking Page 4 of 6
Prepared by: Dr Nandini Sidnal XXXXXXXXXXModerated by: Dr Paul Kwan October, 2020


In summary:
The program has to perform the following:
• Read the text to be communicated along with date of birth as a key to encrypt and decrypt
the messages.
• 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) Link to a video to be included in the word document along with following details:
i) Video to include explanation to the logic used to encrypt and decrypt and key generation
along with the demonstration of the program and various test cases of the program
) UML/flow chart
c) Complete program in Python without syntax e
ors (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 e
ors.
f) Troubleshooting the syntax e
ors
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:
I. 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.
II. List of references used (IEEE style) – Reference sources must be cited in the text of the report,
and listed appropriately
Answered Same Day Dec 22, 2021 BN108

Solution

Neha answered on Dec 23 2021
140 Votes
74012 - cryptography/__pycache__/code.cpython-39.pyc
74012 - cryptography/code.py
import string
import time
all_letters= string.ascii_letters
key = 4
dict1 = {}
for i in range(len(all_letters)):
dict1[all_letters[i]] = all_letters[(i+key)%len(all_letters)]

dict2 = {}
for i in range(len(all_letters)):
dict2[all_letters[i]] = all_letters[(i-key)%(len(all_letters))]

while(True):
plain_txt= input("please enter your message:")
if plain_txt == "0":
print("Exiting...")

eak
else:
cipher_txt=[]
# loop to generate ciphertext
begin = time.time()
for char in plain_txt:
if char in all_letters:
temp = dict1[char]
cipher_txt.append(temp)
else:
temp =char
cipher_txt.append(temp)
time.sleep(1)
end = time.time()

cipher_txt= "".join(cipher_txt)
print("Cipher Text is: ",cipher_txt)
print(f"Total runtime of the program for encryption {end - begin}")
begin = time.time()
# loop to recover plain text
decrypt_txt = []
for char in cipher_txt:
if char in all_letters:
temp = dict2[char]
decrypt_txt.append(temp)
else:
temp = char
decrypt_txt.append(temp)
time.sleep(1)
end = time.time()
decrypt_txt = "".join(decrypt_txt)
print("Recovered plain text :", decrypt_txt)
print(f"Total runtime of the program for decryption {end - begin}")
74012 - cryptography/flow chart.png
74012 - cryptography
eport.docx
Student Name
Student ID
Lecturer’s Name
Tutor’s name
Contents
User Requirements    2
Analysis    2
Design    3
Implementation    3
Testing    5
References    8
User Requirements
In this assignment we have to create a code which can encrypt the data and then decrypt it to the...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here