https://github.com/jairik/secure-p2p-chatroom
Terminal-based chatroom featuring end-to-end encryption and message signatures on a local UDP Multicast Network
https://github.com/jairik/secure-p2p-chatroom
chacha20-poly1305 ed25519 encryption-decryption lan-messaging network-security p2p-network socket-programming udp-multicast
Last synced: 14 days ago
JSON representation
Terminal-based chatroom featuring end-to-end encryption and message signatures on a local UDP Multicast Network
- Host: GitHub
- URL: https://github.com/jairik/secure-p2p-chatroom
- Owner: Jairik
- License: mit
- Created: 2025-04-14T18:33:40.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-05-07T07:36:49.000Z (about 2 months ago)
- Last Synced: 2025-05-18T22:13:12.241Z (about 1 month ago)
- Topics: chacha20-poly1305, ed25519, encryption-decryption, lan-messaging, network-security, p2p-network, socket-programming, udp-multicast
- Language: Python
- Homepage:
- Size: 218 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# E2E LAN Messaging System
Terminal-based messaging app featuring end-to-end encryption, built to explore core concepts in network security.
## Protocols Used
### Encryption
**ChaCha20-Poly1305** is fast, modern, and secure. Uses AEAD (Authenticated Ecryption with Associated Data) and is widely used.
```python
from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305
```### Identify Verification (Message Signatures)
**Ed25519** is fast and secure, being widely used in applications such as Signal and OpenSSH. Signs a message before sending with the recipient verifying the signature.
```python
from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PrivateKey, Ed25519PublicKey
```### LAN Transport
**UDP Multicast** is serverless, allowing users to deliver messages to all users on LAN (P2P Architecture).