6 Replies - 955 Views - Last Post: 19 August 2012 - 03:26 PM

#1 crisco  Icon User is offline

  • New D.I.C Head

Reputation: 2
  • View blog
  • Posts: 31
  • Joined: 21-March 10

Mix-net implementation ideas?

Posted 19 August 2012 - 11:31 AM

I'm implementing a Chaumian mix-net, and i'm not sure what the best way to do it would be. (For those not familiar: http://en.wikipedia....iki/Mix_network -- the picture is pretty much all you need to see)

I pretty much have my choice of languages, and this will be done on a modern Linux distro so i'll have access to pipes and all that. I'm most familiar with C/C++ and Python, so i'd prefer to use one of those...but i know other languages and am still (somewhat :) ) capable of learning.

Each "mix" in the net needs to be autonomous and independent. What is the best way to handle this?

My thought was to create several daemon processes which listen on a TCP port (each mix gets a block of ports). I also thought that i could create chain of named pipes in linux, but that could get messy (several mixes * several pipes each = lots of pipes). Is there a better way?

TIA!

Is This A Good Question/Topic? 0
  • +

Replies To: Mix-net implementation ideas?

#2 salindor  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 46
  • View blog
  • Posts: 301
  • Joined: 10-November 06

Re: Mix-net implementation ideas?

Posted 19 August 2012 - 12:57 PM

While you could do that, the link you posted isn't a Chaumian mixnet. If you need a Chaumian mixnet you are going to be disappointed. Another name for Chaumian mixnet's are onion encryption.

If you have a requirement for it being a Chaumian mixnet here what you really want:

Onion Routing

Salindor
Was This Post Helpful? 0
  • +
  • -

#3 crisco  Icon User is offline

  • New D.I.C Head

Reputation: 2
  • View blog
  • Posts: 31
  • Joined: 21-March 10

Re: Mix-net implementation ideas?

Posted 19 August 2012 - 01:23 PM

Ah, sorry about that, i'm confusing my terms.

I just need a simple decryption mixnet as shown in my original link.
Was This Post Helpful? 0
  • +
  • -

#4 salindor  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 46
  • View blog
  • Posts: 301
  • Joined: 10-November 06

Re: Mix-net implementation ideas?

Posted 19 August 2012 - 01:49 PM

Well, Chamium is perhaps the easiest of the mixnets to implement (actually it is the only one I am familar with, I just know the others exist but never learned how to implement them). Good news is my masters was in these.

Language doesn't matter so pick whichever is easiest for you. Though if you want a deamon process, C/C++ is probably your best bet (haven't written one before so you will have to ask someone else will have to chime in on that).

There are two aspects to a mixnet. Possible addresses/destinations (discovery) and the actual mixnet.

Going with the simple solution, you can say the sender knows all servers participating in the mixnet.

The server on the mixnet is a simple TCP/IP server. On receive it tries to decrypt anything coming in with its private key. It then reads the destination and sends the remaining block.

The sender creates a list of servers for the message to transverse (it can repeat back to the same server multiple times) of some length. It then iteratively encrypts the message going backwards along the route appending the next detination and encrypting it entire thing with that destinations public key.

Remember the security of these is equal to the number of servers participating in the mix -1. So if you repeat the same server twice, while it may make it harder to trace its security doesn't improve much.

Salindor
Was This Post Helpful? 0
  • +
  • -

#5 crisco  Icon User is offline

  • New D.I.C Head

Reputation: 2
  • View blog
  • Posts: 31
  • Joined: 21-March 10

Re: Mix-net implementation ideas?

Posted 19 August 2012 - 02:13 PM

Thanks Salindor. That is basically what i was planning to do. In my case the code is purely proof-of-concept (this is for my master's thesis), so i will do what you describe except keep everything on one server. My goal is to show that the concept works with 3-4 mixes, but use a pattern that could be extended out indefinitely.
Was This Post Helpful? 0
  • +
  • -

#6 salindor  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 46
  • View blog
  • Posts: 301
  • Joined: 10-November 06

Re: Mix-net implementation ideas?

Posted 19 August 2012 - 02:40 PM

The problem you are going to face is proving your solution is secure. Once you do that, your design will come from whatever you use to prove your solution.

You could just host it all on the same computer and just use different ports. Otherwise afraid your gonna have to hit the books and find a specific mixnet that fits your needs.

Afraid your gonna have to hit the books on this one.
Was This Post Helpful? 0
  • +
  • -

#7 crisco  Icon User is offline

  • New D.I.C Head

Reputation: 2
  • View blog
  • Posts: 31
  • Joined: 21-March 10

Re: Mix-net implementation ideas?

Posted 19 August 2012 - 03:26 PM

As always!
Thanks again :)
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1