RSA + AES Based Peer to Peer Networking
Purpose
The purpose of this network is to provide secured AES asymmetric implementation that uses RNA to implement the asymmetric nature of this project's encryption.
Divergence From Classic TLS
This crate aims to prevent man in the middle attacks by encrypting pre-shared keys that are sent in each packet. By doing this, even if a hacker has a public key, they will be unable to feed false information that could cause a crash to either of the peers. in this way each peer can maintain knowledge of the other in both directions, which allows for a more decentralized approach than traditional TLS.
Version Details
This version refactors the async side of the crate in order to allows for Async Trait implementations. This is implemented through the AsyncDataStream, AsyncSend, AsyncRecv, and AsyncNetworkHost traits. This version also adds the HashDatabase struct, that is a wrapper around HashMap, for the purposes of writing and reading to disk.
Implementation of SLLP
The SLLP implementation in this project ensures a pseudo connection that is private between two peers, by authenticating encrypted pre-shared keys. it is done for the sake of transfering large amounts of data quickly when precision is not needed.
Future Implementations
Example usage
Database usage
use HashDatabase;
use ArtificePeer;
use ;
Async
Dependencies
= { = "0.2.21", = ["full"]}
Async Client
use ;
async
Async Server
use ;
async
Sync
for sync examples and sllp examples see docs the camera example is to show a practical application, and test the network by supplying high load