[liberationtech] Programming language for anonymity network

Maxim Kammerer mk at dee.su
Fri Apr 18 02:18:31 PDT 2014


On Fri, Apr 18, 2014 at 11:26 AM, Stevens Le Blond <stevens at mpi-sws.org> 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.

-- 
Maxim Kammerer
Liberté Linux: http://dee.su/liberte



More information about the liberationtech mailing list