Question: ITCS 4 1 1 - Course Project Project: Secure Chat Application [ Team size: up to 8 students ] Deliverables: Project Documentation: Write 3 -
ITCS Course Project
Project:
Secure Chat Application Team size: up to students
Deliverables:
Project Documentation: Write technical report that involves the following:
a Provide a detailed project report that includes the design architecture, security mechanism and algorithms used, implementation details, and any challenges faced during development.
b User Guide: Create a user guide that explains how to set up and use the application, including screenshots.
Source Code: Submit the complete source code of the application, including all the necessary libraries and dependencies.
Presentation: Prepare a minutes presentation to demonstrate the features and functionality of your project, highlighting the security measures implemented and discussing potential future enhancements.
Project idea : Secure Chat Application
Description: Design and implement a secure chat application in python that allows users to communicate securely over a network. The application should incorporate cryptographic algorithms, SSLTLS protocols, and robust security measures to protect the confidentiality and integrity of the messages exchanged between users.
Project Requirements:
User signup Implement a secure user registration process where users can create an account with a unique username and password. Use secure hashing algorithms to store the account. System must check the strength of the password, however, it may accept weak passwords.
User signin: Verify users when signin
Encryption: Implement endtoend encryption for the messages exchanged between users. Use symmetric encryption algorithms AES to encrypt the messages and asymmetric encryption algorithms RSA to securely exchange and establish the session keys.
Integrity: Before encrypting the message, attach hashMAC values to message. The server must verify the integrity of messages after decryption.
Adversary implement an attacker listening to communication similar to server and attempting to gain access by trying to guess the passwords and reading all chat communication messages. Attacker must recognize automatically the password and crack view the message content. Use weak passwords in the user registration process signup that can be easily guessed by the attacker for example by brute force or other approaches.
SSLTLS Integrationoptional: Integrate SSLTLS protocols into the communication channels to provide secure connections between the client and server. Use libraries such as OpenSSL or PyOpenSSL to handle SSLTLS certificates, key exchange, and secure communication.
User Interface optional: Design a userfriendly interface for the chat application that allows users to send and receive encrypted messages. Provide features such as message history, contact lists, and realtime message updates.
Utilize network programming concepts to establish communication channels between clients and the server. Implement socket programming using Python's socket library or other suitable networking libraries.
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
