Mailbox Messaging Service with End-to-End Encryption using UDP Sockets
$30-250 USD
货到付款
Objectives:
To understand the underlying activities which occur during inter-process communication;
To implement a client/server program using UDP sockets;
To use C/C++ library functions for implementing a socket program; and
To get familiarized with the Unix programming environment.
Introduction: For this project, you will be writing a client/server application to implement a mailbox messaging service with end-to-end encryption using UDP sockets. Secure communication between clients will be through RSA public key encryption (PKE). The server program will act as the public-key and mailbox manager. For purposes of making this project less complex, we will limit messages to a maximum of 4 characters (a "psst"). The "psst" message length will allow the encrypted messages to fit in an 4-byte long int data type.
Description:
The components to this programming project are:
Client: sends and receives encrypted beeps through a mailbox between users.
Server: manages public-keys sent by users, and stores and forwards encrypted messages between users.
Server. The server process performs the following activities. The server should maintain a table of public keys that have been registered and a table to store all messages.
Process key registration
The server should respond with an acknowledgement that the key was received
Process key requests
The server should respond with the corresponding public key of the requested user.
Process encrypted messages from any user.
The server should store messages by recipient and send an acknowledgement to the sending client.
Process "retrieve message" requests
The server should send all stored messages for the requesting recipient user,
Client. The client process should perform the following activities:
Send a register message to the server
A client should always register a public key to the server at the beginning of a session.
Send "request public key"
The client should be able to request for another user's public key to the server at any time.
Send encrypted messages
The client should be able to send messages from the user to other known users. The message should be encrypted using the recipient user's public key.
Send "retrieve messages" request
The client should be able to request to retrieve all his/her messages
The client should be able to receive ALL messages.
The messages should be decrypted using the user's own private key and displayed.
Exit – Provide an option for the user to exit the program. Client program should not quit.
项目ID: #25656332
关于项目
有5名威客正在参与此工作的竞标,均价$421/小时
Hello! I'd like to deliver messaging app. I'm familiar with network programming, C++, cryptography. I'll do the job fairly good. Please, give me a try!
I CAN COMPLETE YOUR PROJECT EASILY Hello, I am programmer with enough experiences on C/C++ for 13 years. C/C++ is nice programming language and I am majoring on it for long years so I have confident to complete your pr 更多
Best regards I am an expert specialized in the development of software and web platforms. I have the following skills Programming languages: ----- C, C++, C#, Matlab, Java, Python, VB ----- ✅ Modelado 3d, Animación 更多
Hi there, I have more than 25 years of experience in C and C++ over linux, bsd, solaris, qnx, freeRtos, OS/2, DOS or windows in backend working for very important corporations, so I think I can help you with this stuff 更多