Seeking Feedback on Crypto Learning Project Ideas

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
participants (1)
-
Daniel Kelly