An application that allows reliable streaming communication
I2P is an anonymous network, exposing a simple layer that applications can use to anonymously and securely send messages to each other.
The network itself is strictly message based (ala IP), but there is a library available to allow reliable streaming communication on top of it (ala TCP). I2P is an application that allows users to compunicate via IP address.
All communication is end to end encrypted (in total there are four layers of encryption used when sending a message), and even the end points ("destinations") are cryptographic identifiers (essentially a pair of public keys).
To anonymize the messages sent, each client application has their I2P "router" build a few inbound and outbound "tunnels" - a sequence of peers that pass messages in one direction (to and from the client, respectively).
In turn, when a client wants to send a message to another client, the client passes that message out one of their outbound tunnels targeting one of the other client's inbound tunnels, eventually reaching the destination.
Every participant in the network chooses the length of these tunnels, and in doing so, makes a tradeoff between anonymity, latency, and throughput according to their own needs.
The result is that the number of peers relaying each end to end message is the absolute minimum necessary to meet both the sender's and the receiver's threat model.
Requirements:
· Java 1.4 or higher
The network itself is strictly message based (ala IP), but there is a library available to allow reliable streaming communication on top of it (ala TCP). I2P is an application that allows users to compunicate via IP address.
All communication is end to end encrypted (in total there are four layers of encryption used when sending a message), and even the end points ("destinations") are cryptographic identifiers (essentially a pair of public keys).
To anonymize the messages sent, each client application has their I2P "router" build a few inbound and outbound "tunnels" - a sequence of peers that pass messages in one direction (to and from the client, respectively).
In turn, when a client wants to send a message to another client, the client passes that message out one of their outbound tunnels targeting one of the other client's inbound tunnels, eventually reaching the destination.
Every participant in the network chooses the length of these tunnels, and in doing so, makes a tradeoff between anonymity, latency, and throughput according to their own needs.
The result is that the number of peers relaying each end to end message is the absolute minimum necessary to meet both the sender's and the receiver's threat model.
Requirements:
· Java 1.4 or higher
External Mirror 1 [EXE] |