[] (https://ci.appveyor.com/project/nitrocaster/skeinfish/branch/master)
SkeinFish is an implementation of Skein and Threefish, with a focus on speed and completeness. Skein is a general purpose hash algorithm and Threefish is a general purpose block cipher. Both were designed by Bruce Schneier, among others. This is an implementation of both algorithms in C#.
First, add a reference to SkeinFish.dll to your project. Next, use as such:
using SkeinFish;
static byte[] hash_skein(byte[] input)
{
// (state_size, output_size)
Skein skein = new Skein(512, 512);
return skein.ComputeHash(input, 0, input.Length);
}
The Threefish block cipher is also implemented as part of SkeinFish (hence the name). To use it, simply instantiate a Threefish object and use it as you would any other cipher in the .NET library. It supports all encryption modes except CTS. All padding modes are supported.
This repository was originally hosted on Google Code by [email protected] under MIT License.