Monday, December 20, 2010

Go Skein, thanks Hagen!

The Skein cryptographic hash has been selected as one of the five NIST SHA-3 finalists, which is great news for dmedia and Novacut as this is the hash we hope to use for the long run.  I'm certainly no cryptographer, but I had good feeling about Skein, and this is a nice confirmation that I wasn't totally off my rocker.

I've been exchanging emails with Hagen F├╝rstenau, author of the excellent Python Skein implementation PySkein.  He has informed me that PySkein 0.7 will be released shortly, which will include the final Skein tweaks.  This is great news because it means the values of Skein hashes should remain unchanged, so it's a perfect time to get serious about using Skein in dmedia.

I've already done a rough packaging of PySkein, and I'll be working on getting PySkein officially into Debian and Ubuntu (with the help of a sponsor).

At this time it isn't possible for us to move to Python3, so we do need to get PySkein working on at least Python2.7.  From what I understand, this is something reasonably easy to do, although I don't have experience with it myself.  If anyone could help out with this, please shoot me an email or just make a branch on Launchpad.

Anyway, congratulations to Bruce Schneier and the rest of the Skein team on making it to the final round!  And thank you Hagen F├╝rstenau for the excellent PySkein implementation and for being an all around friendly and awesome guy!

P.S. - I also setup an unofficial PySkein presence on Launchpad, including a VCS-import of Hagen's upstream HG repositoryrockstar got me totally addicted to source package recipes, and I just can't live without them now.


  1. Could you explain to those unfamiliar, what PySkein would do for novacut?

    It would be nice to be able to share the enthusiasm :->

  2. Skein is a Cryptographic Hash -

    On the media file side, we use hashes to give a globally unique ID to a file, and to do integrity checks. When you move a file from one computer to another, the hash is used to ensure it was transfered exactly. We will also do periodic checks to make sure there aren't problems with the hard drive a file is stored on.

    We currently use the sha1 hash, but it's not very future proof. Skein is basically as fast as sha1, but is much, much stronger.