Skip to content

Prototype implementation of the Riffle anonimity network.

License

Notifications You must be signed in to change notification settings

courselab/allium

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Allium

Allium: a genus of monocotyledonous flowering plants to which onion species belongs.

Allium is a prototype implementation of the Riffle anonymity network.

Currently, this project is being made for study purposes only, therefore, it should not be used for any real anonymous communication.

How Allium works?

First, it is necessary to define the concepts of Onion Routing and Mixnets.

Onion Routing is a technique that aims at the anonymity of communication between a computer network. For this, messages are encapsulated in encryption layers, hence the name onion routing, referring to the layers of an onion. The image below shows a message being sent with onion routing.

Onion routing representation

MixNets are routing protocols designed to make it difficult to track any message. They work as follows:

  • The message, already encrypted in layers, is sent to the first MixNet server;
  • Upon receiving this message, the server decrypts the first layer, and shuffles the order of the messages. After shuffling, send messages to the next server;
  • The second server receives the messages, decrypts the second layer, shuffles the order of the messages, and sends them to the next server;
  • Finally, the last server receives the messages, decrypts the last layer, and sends them to the receiver.

MixNets representation

One of the problems found in MixNet is that the receiver is not anonymous, and if one of the servers is malicious, the anonymity of the sender is also compromised. So, to solve this, the Riffle protocol was developed, with the intention of not forward messages if they have been altered by a compromised server [1].

Private Information Retrieval (PIR)

In Riffle we can use the Private Information Retrieval (PIR) method, so that users can access servers anonymously, obtaining information from the servers without the servers being notified of this access and what information we were looking for.

The PIR can be used to solve problems on servers with small storage, borrowing all the information from the servers so that we can carry out a query without the server's knowledge, thus maintaining the privacy of a search.

References

[1] https://en.wikipedia.org/wiki/Riffle_(anonymity_network)

About

Prototype implementation of the Riffle anonimity network.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages