Table of Contents

Skein1024 Class

Definition

Namespace
Bodu.Security.Cryptography
Assembly
Bodu.Security.Cryptography.dll
Package
Bodu.Security.Cryptography 1.2.0
Source
Skein.1024.cs

Computes a hash using the Skein-1024 variant of the Skein hash function, built on top of the Threefish1024Cipher tweakable block cipher. This class cannot be inherited.

public sealed class Skein1024 : Skein, ICryptoTransform, IDisposable
Inheritance
Skein1024
Implements
Inherited Members
Extension Methods

Examples

using var skein = new Skein1024(); // Skein-1024-1024
byte[] digest = skein.ComputeHash(message);

Remarks

Skein1024 operates on a 1024-bit internal state in 128-byte blocks. It is the ultra-conservative Skein variant: each Threefish-1024 call runs 80 rounds over sixteen 64-bit words, giving the widest state and the highest security margin in the Skein family at the cost of reduced throughput for short inputs.

The permitted output sizes are 384, 512, and 1024 bits; 1024 bits is the default. Supplying a non-empty Key turns the instance into the keyed Skein-MAC-1024 variant by prepending a KEY UBI phase to the standard CFG → MSG → OUT pipeline.

Parameters at a glance.

  • State / block size: 1024 bits (128 bytes).
  • Output sizes: 384, 512, or 1024 bits - default 1024.
  • Underlying cipher: Threefish1024Cipher tweakable block cipher under UBI mode.
  • Optional variable-length key: 0-MaxKeySize / 8 bytes.

When to choose Skein-1024. The widest-state Skein variant - pick it when you want the largest security margin in the Skein family or when the surrounding system explicitly requires Skein-1024. Throughput on short inputs is lower than Skein512; for general use the 512-bit variant is the recommended Skein default.

Constructors

Skein1024()

Initializes a new instance of the Skein1024 class that produces a 1024-bit digest.

public Skein1024()

Skein1024(int)

Initializes a new instance of the Skein1024 class with the specified output size.

public Skein1024(int hashSize)

Parameters

hashSize int

The requested output size, in bits. Must be one of 384, 512, or 1024.

Exceptions

ArgumentOutOfRangeException

hashSize is not one of the permitted output sizes for Skein-1024.

Applies to

ProductVersions
.NET8, 10

See Also