End to End Encrypted Private Chat Application implemented in Golang
- It uses RSA-3072 bit algorithm for Symmetric Key Exchange.
- It uses AES-128 bit ECB Mode for Secure Communication after AES Key Exchange
- It uses SHA-512 algorithm for Hashing
- Rsa Public Key Exchange Happens
- Sender Authentication and Non Repudiation is done using RSA Signature
- AES Key Exchange happens using RSA
- All communication is done from here using AES
- Message integrity is also checked at each communication.
- Base64 encoding is used for after encrypting message with AES to avoid any errors from the server end.
go run ./Chat/server/cmd/main.go
go run ./Chat/tui/cmd/main.go -server :3333 -first true
go run ./Chat/tui/cmd/main.go -server :3333