A flexible P2P networking library for upgradable distributed systems. The core mission of airwave
is to provide a simple P2P interface that can support a wide variety of different algorithms, with a focus on backwards compatible. The P2P interface supports:
- Peer discovery
- Handshake
- Casting (send to one)
- Multicasting (send to many)
- Broadcasting (send to everyone)
Airwave uses a 3 way sync handshake method to authorize peers in the network. The process is as follows:
The client sends a signed rsa public key on connect. The server validates the signature, generates a random challenge, and sends the signed random challenge encrypted with the client's public key; and the server's public key. The client validates the server's signature decrypts the challenge encrypts it with the server's publickey, signs it and sends it back.
Built with โค by Ren.