Skein 512-512

Java

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.

Skein512.java is optimize for speed. 151 MB/s on a MacBook Pro, 2.53 GHz Intel Core 2 Duo; Java 1.6, server mode.

Skein512Small.java is optimize for size (32 lines).

Test.java and testVectors.txt (3 MB) tests for both implementations.

Scala

The Scala implementation is based on the small Java implementation.

Test.scala and Skein512.scala.

Javascript

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):

Result:

Public Domain

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

Feedback

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

Changelog