[Haskell-cafe] Seeking Feedback on Crypto Learning Project Ideas

Daniel Kelly ntheon at gmail.com
Mon Oct 10 07:14:25 CEST 2011


Hi,

I am a Haskell newbie looking for a small to medium size Haskell
project that I can use as a learning tool, and would appreciate some
feedback.

I want to design and build something new, from scratch, that could
actually be of practical use and that hasn't been done before (in
Haskell, that is). I want to end up with a library package that could
be uploaded to Hackage. I also want it to be something cryptography
related, since this is a strong interest of mine.

I'm particularly interested in exploring the possibilities of being
able to pass basic crypto algorithms, to very generic higher-order
functions quite naturally in Haskell.

I would like to know a) if these ideas have been done (in Haskell)
that I'm not aware of, b) which would be most useful/interesting to
fellow Haskellers, c) guesstimates of the amount of work involved in
each, d) suitability for learning language concepts, and e) any other
helpful suggestions you might have

Some specific project ideas I have been kicking around that i would
appreciate feedback on:

1. An implementation of Shamir's Secret Sharing:
http://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing
2. A Haskell binding to LibTomCrypt (Opinions for/against LibTom? - it
looks unusually complete.)
3. A generic secure channel, where you pass your choice of basic
algorithms (hash, symmetric, asymmetric, compression, etc) to  higher
order function
4. A Haskell implementation of Trevor Perrin's CryptoID's:
http://trevp.net/cryptoID/index.html
5. A Haskell implementation of a generic Proof of Work system:
http://en.wikipedia.org/wiki/Proof-of-work_system as a building block
for anti-spam/anti-denial-of-service systems such as hashcash.
6. Some other generic high level interface to basic algorithms
(looking for ideas here).

I would also welcome any other project ideas along these lines that
you might have.

Thank you in advance.
Dan Kelly



More information about the Haskell-Cafe mailing list