I have just uploaded an implementation of Fiat and Shamir's zero-knowledge
network authentication protocol on ocamlforge. It was written for a
grad-level cryptology course. I thought this was more useful than my
half-baked attempts at writing a cryptanalysis library, so here you go :)
Given that this protocol has some performance advantages, I might implement
a remote secure shell on top of it (after perhaps looking at some low-level
optimizations to save some constant factors). SSH is kind of obsolete
anyway. Parts of the program are based on Xavier Leroy's wonderful
cryptokit, so I thank him in earnest. I think we should really go ahead and
implement all sorts of cryptographic protocols in ocaml and release them
under GPL.
Description:
This program implements a cryptographic network authentication scheme
based on the work of Fiat-Shamir. The system is described in Section
6.8 of Network Security: Private Communication in a Public World by
Kaufman et al.
Homepage: http://forge.ocamlcore.org/projects/fiat-shamir-zkp/
License: This library and the example client/server is licensed under GNU
Affero General Public License version 3, to maximize its freedom.
Comments and contributions most welcome.
Happy hacking,
--
Eray Ozkural, PhD candidate. Comp. Sci. Dept., Bilkent University, Ankara
http://groups.yahoo.com/group/ai-philosophy
http://myspace.com/arizanesil http://myspace.com/malfunct