Wednesday, June 29, 2011

PL nerds: learn cryptography instead

I've never studied cryptography. So when the paper Tahoe – The Least-Authority Filesystem fell in my lap, I was perplexed.

Using just two primitives, secret-key and public-key cryptography, they build an amazing solution to information storage. (Try to understand the two main diagrams in the paper. It's not hard, and it's amazing.)

Before encountering Tahoe-LAFS, cryptography was just a way to keep stuff secret to me. But cryptography also provides us with tools to design programs that wouldn't be possible otherwise.

3 comments:

  1. I would suggest reading 'Policing Online Games' from Peter Wayner, which provides several patterns involving cryptography.

    You can also review the use of sealer/unsealer patterns in E language, including the Horton protocol. And I also remember some interesting essays from Nick Szabo.

    There is a lot more that can be done leveraging the idea of cryptography than is done by Tahoe-LAFS.

    ReplyDelete
  2. Thanks, I'll look into these.

    There is a lot more that can be done leveraging the idea of cryptography than is done by Tahoe-LAFS.

    I'm excitedly looking forward to your blog post on this topic! :)

    ReplyDelete
  3. Hi Manuel, I also first learned to appreciate cryptography after studying Tahoe-LAFS!

    My favorite revelations, though, have come from Homomorphic Encryption and Secure Multiparty Computation. These are by far the most interesting areas in modern crypto.

    The important result of HE is that you can offload arbitrary program to a cloud computer service, without the cloud service having access to your input data or the code itself (time/cost efficiency is pretty poor for the time being)
    - http://en.wikipedia.org/wiki/Homomorphic_encryption
    Also read anything by Craig Gentry, his thesis or the i-Hop paper

    Secure Multiparty Computation:
    Real life application of a Sugar Beet Auction between three large parties that don't trust each other http://fc09.ifca.ai/papers/15_Secure_MPC_goes_live.pdf
    Important results:
    It's possible for a group of N people to construct a keypair such that no individual knows the key, only a minimum M/N subset can sign messages with it.

    I hope you find these avenues of thought as interesting as I have!

    ReplyDelete

Real names (or handles), please. Anonymous comments are likely to be ignored.