Project Report
Project Report
Faculty Name
Winter Semester
Figure 1
Design and Implementation constraints
• Python must be used for front end
• Encryption and Decryption should be done using AES algorithm
• Original Image must be in .jpeg/.png format.
Functional Requirements
The system shall encrypt the given image to an unreadable format. This is done using
AES encryption function.
The system shall decrypt the received encrypted image to a readable format. This is
done using AES decryption function. The output image should be same as the original
image.
The system ensures that the image is securely sent over any transmission medium. Third
party system cannot make modifications to the file being sent since unauthorised access
is not supported.
Non-Functional Requirements
Performance Requirements
For smooth & efficient encryption, image size must be less than 5MB.
Decryption should not take more than 10 seconds.
Safety and Security Requirements
If the decryption takes more than 10 seconds, then discard the message (because
the message might have been corrupted during transmission) and ask sender to
re-send it.
Encryption is done using encryption key. Decryption will happen only when
same encryption key is used at the receiver side.
Usability
It uses python based GUI which is user friendly and provides buttons for easy
navigation. A person with basic understanding of computer can easily use this
software for encrypting/decrypting image using key.
Testability
The system is easy to test and find defects. The system is divided into different
modules performing specific functions that can be tested individually.
Hardware Interfaces
Sender Computer: for seeing the original and encrypted image
Receiver Computer: for seeing the decrypted image
Software Interfaces
We have frontend made using python module named Tkinter(). This provides an
interactive window for the user. The user need to provide the location of the image to
be encoded/decoded. After this, user can either go for encoding or decoding the image.
It asks for a password, which is basically your encryption key. After these details are
entered, we use the python functions declared in the code to encode/decode the image
using AES file from crypto.cypher module of python. When this process is done, the
user will get encrypted/decrypted image as output which will be saved in the same
directory as input image file.
Scheduling Diagrams
Gantt Chart
Pert Chart
Timeline Chart
Class Diagram:
Sequence Diagram:
Collaboration Diagram:
ER Diagram:
Dataflow Diagram:
Activity Diagram:
State Chart Diagram:
Screenshot of Implementation
Code
Original Image and terminal window:
Application’s first screen asking for key:
Key is entered:
After clicking Encrypt button: