Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Project idea : Secure Chat Application Team Size [ up to 8 students ] Description: Design and implement a secure chat application in python that

Project idea : Secure Chat Application
Team Size [up to 8 students]
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, SSL/TLS protocols, and robust security measures to protect the confidentiality and integrity of the messages exchanged between users.
Project Requirements:
User sign-up. 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 sign-in: Verify users when sign-in.
Encryption: Implement end-to-end encryption for the messages exchanged between users. Use symmetric encryption algorithms (AES-256) to encrypt the messages and asymmetric encryption algorithms (RSA) to securely exchange and establish the session keys.
Integrity: Before encrypting the message, attach hash/MAC 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 (sign-up) that can be easily guessed by the attacker for example by brute force or other approaches.
SSL/TLS Integration(optional): Integrate SSL/TLS protocols into the communication channels to provide secure connections between the client and server. Use libraries such as OpenSSL or PyOpenSSL to handle SSL/TLS certificates, key exchange, and secure communication.
User Interface (optional): Design a user-friendly interface for the chat application that allows users to send and receive encrypted messages. Provide features such as message history, contact lists, and real-time 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.
I want from you to write me code paython all code
image text in transcribed

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Students also viewed these Databases questions

Question

My opinions/suggestions are valued.

Answered: 1 week ago