Greetings,
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.
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,