Skip to content

sergiu-dina/secure-chat-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Secure Chat App

In this project I created an app for secure communication, using a client-server architecture. The programming language used for this project is C#.

In order to create the app, I used different .NET frameworks, such as WCF, WPF and EF.

The communication between server and client is of type TCP full duplex.

The communication is secured using AES (Advanced Enryption Standard). For the key exchange between clients I used Diffie-Hellman with elliptic curves, more precisely Curve25519.

Usage

Before you run the application:

Right Click on the Solution and Restore NuGetPackages to make sure the app has all the package dependencies that it needs.

Right Click on the Solution, go to Properties, Common Properties, Startup Project, select Multiple startup projects and select the option "Start" for ServerHost and Client, this will make sure that when you run the application, both the server and a client instance will open.

After you run the application:

In the application folder, go to Client\bin\Debug and open Client.exe to open another client

Now you can Login or Register two new clients, connect to the Chat Room and start sending messages between them.

App Design

The design for the client user interface was created using WPF

Here is the Login Page:

5

This is the Chat Room:

13

And here is the Server, that also acts as a log where you can see: users logging in or out, registering, the key echange between two users that happens when they start a conversation (the key is only usable for the current session) and the encrypted messages.

16

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages