Skein Proofs Paper released.

We have released the final (V1.0, 29 April 2009) version of the Skein Proofs paper. It is available from the downloads page, or directly from <>.

New Skein Implementation for AVR Microcontroller

Daniel Otte has created an implementation of Skein for the AVR microcontroller. The implementation can be found at and is licensed under GPLV3.

Skein implementation in C#

Thomas Mueller's Skein-512 Java code got ported to C#/.NET. The
code's available here:

Draft of Skein Proofs Paper Available

In our Skein paper, we reference an unpublished paper detailing Skein's proofs of security.

A draft of that paper is now available at:

We'll update it with the final paper soon.

Skein in FPGA Hardware

Men Long has a paper on implementing Skein on the Xilinx Vertex-5 FPGA system. You can find the paper from the downloads page, or directly from this link.

A Cryptol implementation of Skein

The folks at Galois have come up with an implementation of Skein using their Cryptol language. Their article is here.

Thank you to Sigbjorn Finne, who did the article and likely the implementation, and Sally Browning, who told us about it.

Skein extension module for Python 3.0

Hagen Fürstenau has written an extension module for Python 3.0 which makes our C implementation of Skein available to Python scripts. The package also provides Threefish encryption and decryption functionality.

He has also provided a pure Python implementation, attached here.

Speed improvement for 32-bit mode: 20.1 cpb for Skein-512

Compiling Randall Farmer's SSE2 code using gcc on 64-bit Ubuntu Linux, on an Intel Core 2 Duo CPU, achieved the following results:
== Skein-256: 21.6 clks/byte
== Skein-512: 20.1 clks/byte
== Skein-1024: 25.5 clks/byte
As noted previously, Randall's code actually runs two independent Skein/Threefish blocks in parallel in the SSE2 registers, so this approach could be be used to run Skein-512 at approximately 10 clks/byte in 32-bit mode when using either tree hashing mode or counter mode.

Speed improvement in 32-bit mode: 23cpb

Randall Farmer (whose email address is twotwotwo on gmail), has modified our Skein code to use Intel's SSE2 instructions in 32-bit mode. This got him a speedup to 23cpb. Note that this is applicable to any 32-bit processor that does something equivalent, as well.

He also noted to us that he was not using part of the CPU and in a parallel application like tree hashing, you'd double that speed to 11 to 12cpb, and that if our code used the 64-bit SSE instructions, we could shave off an additional clock-per-byte.

Updated Skein CD

Available on the downloads page, there is a new Skein CD. This is the revised version we'll be sending to NIST.