Skein 512-512


Here are two Java implementations of the Skein 512-512 hash algorithm. Both implementations are relatively small, and compatible with the revised (version 1.3) test vectors and reference implementation. is optimize for speed. 151 MB/s on a MacBook Pro, 2.53 GHz Intel Core 2 Duo; Java 1.6, server mode. is optimize for size (32 lines). and testVectors.txt (3 MB) tests for both implementations.


The Scala implementation is based on the small Java implementation.

Test.scala and Skein512.scala.


Here is a Javascript implementations of the Skein 1.3 512-512 hash algorithm. It is quite small, but slow, because Javascript does not directly support 64 bit integer operations. This implementation should be compatible with the revised (version 1.3) test vectors and reference implementation (warning: only a subset of the tests have been run). The message size must be a multiple of 8 bits.

To view the source code of the implementation, click 'View' 'Page Source'.

Message (hex):


Public Domain

This algorithm and source code is released to the public domain.


For questions, improvements, or remarks, send an email to "db support" (one word) at "h2 database" (one word) dot com.