Search Mailing List Archives

Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[liberationtech] Programming language for anonymity network

Piotr Chmielnicki piotr at
Fri Apr 18 02:42:37 PDT 2014

On 04/18/14 11:18, Maxim Kammerer wrote:
> On Fri, Apr 18, 2014 at 11:26 AM, Stevens Le Blond <stevens at> wrote:
>> We are a team of researchers working on the design and implementation of
>> a traffic-analysis resistant anonymity network and we would like to
>> request your opinion regarding the choice of a programming language /
>> environment.
> Are you aiming at a production version from the get go? For an
> academic setting, I always recommend Java, especially for developing a
> prototype. The main problems with Java is that it attracts mediocrity
> (which is probably irrelevant in your present setting, but would be
> problematic with a community), and that it is difficult to integrate
> in non-mainstream surroundings (see, e.g., I2P). After the prototype
> is polished, you could port it to C, or hire professionals to do so.
> Anyway, your criteria are pretty conflicting, and do not stress the
> important points, in my opinion. The main problem with C is not
> security, but being a primitive language with codebases that are hard
> to maintain. I suggest that you look into Tor codebase, for instance,
> and compare the amount of code implementing design choices vs. code
> doing trivial things like linked list search. For potential problems
> with Java, look in I2P codebase, and try to find the essence of, e.g.,
> time synchronization in this enterprise-grade code that only works
> reasonably with a certain JDK.
Did you consider Go ? It has some advantages :
* Good performances
* Built-in memory management (no buffer overflow).
* Portability
* Great (portable) standard  library that includes networking and crypto
you may need.

Take a look at

Piotr Chmielnicki

More information about the liberationtech mailing list