Top Description Inners Fields Constructors Methods
org.bouncycastle.crypto.engines

public Class ThreefishEngine

extends Object
implements BlockCipher
Class Inheritance
All Implemented Interfaces
org.bouncycastle.crypto.BlockCipher
Imports
org.bouncycastle.crypto.BlockCipher, .CipherParameters, .CryptoServicesRegistrar, .DataLengthException, .OutputLengthException, org.bouncycastle.crypto.constraints.DefaultServiceProperties, org.bouncycastle.crypto.params.KeyParameter, .TweakableBlockCipherParameters, org.bouncycastle.util.Pack

Implementation of the Threefish tweakable large block cipher in 256, 512 and 1024 bit block sizes.

This is the 1.3 version of Threefish defined in the Skein hash function submission to the NIST SHA-3 competition in October 2010.

Threefish was designed by Niels Ferguson - Stefan Lucks - Bruce Schneier - Doug Whiting - Mihir Bellare - Tadayoshi Kohno - Jon Callas - Jesse Walker.

This implementation inlines all round functions, unrolls 8 rounds, and uses 1.2k of static tables to speed up key schedule injection.
2 x block size state is retained by each cipher instance.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
private static class
private static class
private abstract static class

Field Summary

Modifier and TypeField and Description
public static final int
BLOCKSIZE_1024

1024 bit block size - Threefish-1024

public static final int
BLOCKSIZE_256

256 bit block size - Threefish-256

public static final int
BLOCKSIZE_512

512 bit block size - Threefish-512

private int
blocksizeBytes

Block size in bytes

private int
blocksizeWords

Block size in 64 bit words

private static final long
C_240

Key schedule parity constant

private ThreefishEngine.ThreefishCipher
cipher

The internal cipher implementation (varies by blocksize)

private long[]
currentBlock

Buffer for byte oriented processBytes to call internal word API

private boolean
private long[]
kw

Key schedule words

private static final int
MAX_ROUNDS

Max rounds of any of the variants

private static int[]
private static int[]
private static int[]
private static int[]
private static final int
ROUNDS_1024

Rounds in Threefish-1024

private static final int
ROUNDS_256

Rounds in Threefish-256

private static final int
ROUNDS_512

Rounds in Threefish-512

private long[]
t

Tweak bytes (2 byte t1,t2, calculated t3 and repeat of t1,t2 for modulo free lookup

private static final int
TWEAK_SIZE_BYTES

Size of the tweak in bytes (always 128 bit/16 bytes)

private static final int

Constructor Summary

AccessConstructor and Description
public
ThreefishEngine(final int
the block size in bits, one of BLOCKSIZE_256, BLOCKSIZE_512, BLOCKSIZE_1024.
blocksizeBits
)

Constructs a new Threefish cipher, with a specified block size.

Method Summary

Modifier and TypeMethod and Description
public static long
bytesToWord(final byte[] bytes, final int off)

Deprecated Will be removed
Read a single 64 bit word from input in LSB first order.
public String
getAlgorithmName()

Implements org.bouncycastle.crypto.BlockCipher.getAlgorithmName.

Return the name of the algorithm the cipher implements.
public int
getBlockSize()

Implements org.bouncycastle.crypto.BlockCipher.getBlockSize.

Return the block size for this cipher (in bytes).
public void
init(boolean
if true the cipher is initialised for encryption, if false for decryption.
forEncryption
,
CipherParameters
an instance of TweakableBlockCipherParameters, or KeyParameter (to use a 0 tweak)
params
)

Implements org.bouncycastle.crypto.BlockCipher.init.

Initialise the engine.
public void
init(boolean
the cipher mode.
forEncryption
,
final long[]
the words of the key, or null to use the current key.
key
,
final long[]
the 2 word (128 bit) tweak, or null to use the current tweak.
tweak
)

Initialise the engine, specifying the key and tweak directly.

public int
processBlock(byte[]
the array containing the input data.
in
,
int
offset into the in array the data starts at.
inOff
,
byte[]
the array the output data will be copied into.
out
,
int
the offset into the out array the output will start at.
outOff
)

Implements org.bouncycastle.crypto.BlockCipher.processBlock.

Process one block of input from the array in and write it to the out array.
public int

Returns:

the number of 8 byte words processed (which will be the same as the block size).
processBlock
(long[]
a block sized buffer of words to process.
in
,
long[]
a block sized buffer of words to receive the output of the operation.
out
)

Process a block of data represented as 64 bit words.

public void
reset()

Implements org.bouncycastle.crypto.BlockCipher.reset.

Reset the cipher.
pack-priv static long
rotlXor(long x, int n, long xor)

Rotate left + xor part of the mix operation.

private void
setKey(long[] key)

private void
setTweak(long[] tweak)

public static void
wordToBytes(final long word, final byte[] bytes, final int off)

Deprecated Will be removed
Write a 64 bit word to output in LSB first order.
pack-priv static long
xorRotr(long x, int n, long xor)

Rotate xor + rotate right part of the unmix operation.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

BLOCKSIZE_1024back to summary
public static final int BLOCKSIZE_1024

1024 bit block size - Threefish-1024

BLOCKSIZE_256back to summary
public static final int BLOCKSIZE_256

256 bit block size - Threefish-256

BLOCKSIZE_512back to summary
public static final int BLOCKSIZE_512

512 bit block size - Threefish-512

blocksizeBytesback to summary
private int blocksizeBytes

Block size in bytes

blocksizeWordsback to summary
private int blocksizeWords

Block size in 64 bit words

C_240back to summary
private static final long C_240

Key schedule parity constant

cipherback to summary
private ThreefishEngine.ThreefishCipher cipher

The internal cipher implementation (varies by blocksize)

currentBlockback to summary
private long[] currentBlock

Buffer for byte oriented processBytes to call internal word API

forEncryptionback to summary
private boolean forEncryption
kwback to summary
private long[] kw

Key schedule words

MAX_ROUNDSback to summary
private static final int MAX_ROUNDS

Max rounds of any of the variants

MOD17back to summary
private static int[] MOD17
MOD3back to summary
private static int[] MOD3
MOD5back to summary
private static int[] MOD5
MOD9back to summary
private static int[] MOD9
ROUNDS_1024back to summary
private static final int ROUNDS_1024

Rounds in Threefish-1024

ROUNDS_256back to summary
private static final int ROUNDS_256

Rounds in Threefish-256

ROUNDS_512back to summary
private static final int ROUNDS_512

Rounds in Threefish-512

tback to summary
private long[] t

Tweak bytes (2 byte t1,t2, calculated t3 and repeat of t1,t2 for modulo free lookup

TWEAK_SIZE_BYTESback to summary
private static final int TWEAK_SIZE_BYTES

Size of the tweak in bytes (always 128 bit/16 bytes)

TWEAK_SIZE_WORDSback to summary
private static final int TWEAK_SIZE_WORDS

Constructor Detail

ThreefishEngineback to summary
public ThreefishEngine(final int blocksizeBits)

Constructs a new Threefish cipher, with a specified block size.

Parameters
blocksizeBits:int

the block size in bits, one of BLOCKSIZE_256, BLOCKSIZE_512, BLOCKSIZE_1024.

Method Detail

bytesToWordback to summary
public static long bytesToWord(final byte[] bytes, final int off)

Deprecated

Will be removed

Read a single 64 bit word from input in LSB first order.

getAlgorithmNameback to summary
public String getAlgorithmName()

Implements org.bouncycastle.crypto.BlockCipher.getAlgorithmName.

Doc from org.bouncycastle.crypto.BlockCipher.getAlgorithmName.

Return the name of the algorithm the cipher implements.

Returns:String

the name of the algorithm the cipher implements.

getBlockSizeback to summary
public int getBlockSize()

Implements org.bouncycastle.crypto.BlockCipher.getBlockSize.

Doc from org.bouncycastle.crypto.BlockCipher.getBlockSize.

Return the block size for this cipher (in bytes).

Returns:int

the block size for this cipher in bytes.

initback to summary
public void init(boolean forEncryption, CipherParameters params) throws IllegalArgumentException

Implements org.bouncycastle.crypto.BlockCipher.init.

Initialise the engine.

Parameters
forEncryption:boolean

Doc from org.bouncycastle.crypto.BlockCipher.init.

if true the cipher is initialised for encryption, if false for decryption.

params:CipherParameters

an instance of TweakableBlockCipherParameters, or KeyParameter (to use a 0 tweak)

Exceptions
IllegalArgumentException:

Doc from org.bouncycastle.crypto.BlockCipher.init.

if the params argument is inappropriate.

initback to summary
public void init(boolean forEncryption, final long[] key, final long[] tweak)

Initialise the engine, specifying the key and tweak directly.

Parameters
forEncryption:boolean

the cipher mode.

key:long[]

the words of the key, or null to use the current key.

tweak:long[]

the 2 word (128 bit) tweak, or null to use the current tweak.

processBlockback to summary
public int processBlock(byte[] in, int inOff, byte[] out, int outOff) throws DataLengthException, IllegalStateException

Implements org.bouncycastle.crypto.BlockCipher.processBlock.

Doc from org.bouncycastle.crypto.BlockCipher.processBlock.

Process one block of input from the array in and write it to the out array.

Parameters
in:byte[]

the array containing the input data.

inOff:int

offset into the in array the data starts at.

out:byte[]

the array the output data will be copied into.

outOff:int

the offset into the out array the output will start at.

Returns:int

the number of bytes processed and produced.

Exceptions
DataLengthException:
if there isn't enough data in input , or space in out.
IllegalStateException:
if the cipher isn't initialised.
processBlockback to summary
public int processBlock(long[] in, long[] out) throws DataLengthException, IllegalStateException

Process a block of data represented as 64 bit words.

Parameters
in:long[]

a block sized buffer of words to process.

out:long[]

a block sized buffer of words to receive the output of the operation.

Returns:int

the number of 8 byte words processed (which will be the same as the block size).

Exceptions
DataLengthException:
if either the input or output is not block sized.
IllegalStateException:
if this engine is not initialised.
resetback to summary
public void reset()

Implements org.bouncycastle.crypto.BlockCipher.reset.

Doc from org.bouncycastle.crypto.BlockCipher.reset.

Reset the cipher. After resetting the cipher is in the same state as it was after the last init (if there was one).

rotlXorback to summary
pack-priv static long rotlXor(long x, int n, long xor)

Rotate left + xor part of the mix operation.

setKeyback to summary
private void setKey(long[] key)
setTweakback to summary
private void setTweak(long[] tweak)
wordToBytesback to summary
public static void wordToBytes(final long word, final byte[] bytes, final int off)

Deprecated

Will be removed

Write a 64 bit word to output in LSB first order.

xorRotrback to summary
pack-priv static long xorRotr(long x, int n, long xor)

Rotate xor + rotate right part of the unmix operation.

org.bouncycastle.crypto.engines back to summary

private final Class ThreefishEngine.Threefish1024Cipher

extends ThreefishCipher
Class Inheritance

Field Summary

Modifier and TypeField and Description
private static final int
ROTATION_0_0

Mix rotation constants defined in Skein 1.3 specification

private static final int
ROTATION_0_1

Mix rotation constants defined in Skein 1.3 specification

private static final int
ROTATION_0_2

Mix rotation constants defined in Skein 1.3 specification

private static final int
ROTATION_0_3

Mix rotation constants defined in Skein 1.3 specification

private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
Inherited from org.bouncycastle.crypto.engines.ThreefishEngine.ThreefishCipher:
kwt

Constructor Summary

AccessConstructor and Description
public
Threefish1024Cipher(long[] kw, long[] t)

Method Summary

Modifier and TypeMethod and Description
pack-priv void
pack-priv void

Field Detail

ROTATION_0_0back to summary
private static final int ROTATION_0_0

Mix rotation constants defined in Skein 1.3 specification

ROTATION_0_1back to summary
private static final int ROTATION_0_1

Mix rotation constants defined in Skein 1.3 specification

ROTATION_0_2back to summary
private static final int ROTATION_0_2

Mix rotation constants defined in Skein 1.3 specification

ROTATION_0_3back to summary
private static final int ROTATION_0_3

Mix rotation constants defined in Skein 1.3 specification

ROTATION_0_4back to summary
private static final int ROTATION_0_4
ROTATION_0_5back to summary
private static final int ROTATION_0_5
ROTATION_0_6back to summary
private static final int ROTATION_0_6
ROTATION_0_7back to summary
private static final int ROTATION_0_7
ROTATION_1_0back to summary
private static final int ROTATION_1_0
ROTATION_1_1back to summary
private static final int ROTATION_1_1
ROTATION_1_2back to summary
private static final int ROTATION_1_2
ROTATION_1_3back to summary
private static final int ROTATION_1_3
ROTATION_1_4back to summary
private static final int ROTATION_1_4
ROTATION_1_5back to summary
private static final int ROTATION_1_5
ROTATION_1_6back to summary
private static final int ROTATION_1_6
ROTATION_1_7back to summary
private static final int ROTATION_1_7
ROTATION_2_0back to summary
private static final int ROTATION_2_0
ROTATION_2_1back to summary
private static final int ROTATION_2_1
ROTATION_2_2back to summary
private static final int ROTATION_2_2
ROTATION_2_3back to summary
private static final int ROTATION_2_3
ROTATION_2_4back to summary
private static final int ROTATION_2_4
ROTATION_2_5back to summary
private static final int ROTATION_2_5
ROTATION_2_6back to summary
private static final int ROTATION_2_6
ROTATION_2_7back to summary
private static final int ROTATION_2_7
ROTATION_3_0back to summary
private static final int ROTATION_3_0
ROTATION_3_1back to summary
private static final int ROTATION_3_1
ROTATION_3_2back to summary
private static final int ROTATION_3_2
ROTATION_3_3back to summary
private static final int ROTATION_3_3
ROTATION_3_4back to summary
private static final int ROTATION_3_4
ROTATION_3_5back to summary
private static final int ROTATION_3_5
ROTATION_3_6back to summary
private static final int ROTATION_3_6
ROTATION_3_7back to summary
private static final int ROTATION_3_7
ROTATION_4_0back to summary
private static final int ROTATION_4_0
ROTATION_4_1back to summary
private static final int ROTATION_4_1
ROTATION_4_2back to summary
private static final int ROTATION_4_2
ROTATION_4_3back to summary
private static final int ROTATION_4_3
ROTATION_4_4back to summary
private static final int ROTATION_4_4
ROTATION_4_5back to summary
private static final int ROTATION_4_5
ROTATION_4_6back to summary
private static final int ROTATION_4_6
ROTATION_4_7back to summary
private static final int ROTATION_4_7
ROTATION_5_0back to summary
private static final int ROTATION_5_0
ROTATION_5_1back to summary
private static final int ROTATION_5_1
ROTATION_5_2back to summary
private static final int ROTATION_5_2
ROTATION_5_3back to summary
private static final int ROTATION_5_3
ROTATION_5_4back to summary
private static final int ROTATION_5_4
ROTATION_5_5back to summary
private static final int ROTATION_5_5
ROTATION_5_6back to summary
private static final int ROTATION_5_6
ROTATION_5_7back to summary
private static final int ROTATION_5_7
ROTATION_6_0back to summary
private static final int ROTATION_6_0
ROTATION_6_1back to summary
private static final int ROTATION_6_1
ROTATION_6_2back to summary
private static final int ROTATION_6_2
ROTATION_6_3back to summary
private static final int ROTATION_6_3
ROTATION_6_4back to summary
private static final int ROTATION_6_4
ROTATION_6_5back to summary
private static final int ROTATION_6_5
ROTATION_6_6back to summary
private static final int ROTATION_6_6
ROTATION_6_7back to summary
private static final int ROTATION_6_7
ROTATION_7_0back to summary
private static final int ROTATION_7_0
ROTATION_7_1back to summary
private static final int ROTATION_7_1
ROTATION_7_2back to summary
private static final int ROTATION_7_2
ROTATION_7_3back to summary
private static final int ROTATION_7_3
ROTATION_7_4back to summary
private static final int ROTATION_7_4
ROTATION_7_5back to summary
private static final int ROTATION_7_5
ROTATION_7_6back to summary
private static final int ROTATION_7_6
ROTATION_7_7back to summary
private static final int ROTATION_7_7

Constructor Detail

Threefish1024Cipherback to summary
public Threefish1024Cipher(long[] kw, long[] t)

Method Detail

decryptBlockback to summary
pack-priv void decryptBlock(long[] block, long[] state)

Implements abstract org.bouncycastle.crypto.engines.ThreefishEngine.ThreefishCipher.decryptBlock.

encryptBlockback to summary
pack-priv void encryptBlock(long[] block, long[] out)

Implements abstract org.bouncycastle.crypto.engines.ThreefishEngine.ThreefishCipher.encryptBlock.

org.bouncycastle.crypto.engines back to summary

private final Class ThreefishEngine.Threefish256Cipher

extends ThreefishCipher
Class Inheritance

Field Summary

Modifier and TypeField and Description
private static final int
ROTATION_0_0

Mix rotation constants defined in Skein 1.3 specification

private static final int
ROTATION_0_1

Mix rotation constants defined in Skein 1.3 specification

private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
Inherited from org.bouncycastle.crypto.engines.ThreefishEngine.ThreefishCipher:
kwt

Constructor Summary

AccessConstructor and Description
public
Threefish256Cipher(long[] kw, long[] t)

Method Summary

Modifier and TypeMethod and Description
pack-priv void
pack-priv void

Field Detail

ROTATION_0_0back to summary
private static final int ROTATION_0_0

Mix rotation constants defined in Skein 1.3 specification

ROTATION_0_1back to summary
private static final int ROTATION_0_1

Mix rotation constants defined in Skein 1.3 specification

ROTATION_1_0back to summary
private static final int ROTATION_1_0
ROTATION_1_1back to summary
private static final int ROTATION_1_1
ROTATION_2_0back to summary
private static final int ROTATION_2_0
ROTATION_2_1back to summary
private static final int ROTATION_2_1
ROTATION_3_0back to summary
private static final int ROTATION_3_0
ROTATION_3_1back to summary
private static final int ROTATION_3_1
ROTATION_4_0back to summary
private static final int ROTATION_4_0
ROTATION_4_1back to summary
private static final int ROTATION_4_1
ROTATION_5_0back to summary
private static final int ROTATION_5_0
ROTATION_5_1back to summary
private static final int ROTATION_5_1
ROTATION_6_0back to summary
private static final int ROTATION_6_0
ROTATION_6_1back to summary
private static final int ROTATION_6_1
ROTATION_7_0back to summary
private static final int ROTATION_7_0
ROTATION_7_1back to summary
private static final int ROTATION_7_1

Constructor Detail

Threefish256Cipherback to summary
public Threefish256Cipher(long[] kw, long[] t)

Method Detail

decryptBlockback to summary
pack-priv void decryptBlock(long[] block, long[] state)

Implements abstract org.bouncycastle.crypto.engines.ThreefishEngine.ThreefishCipher.decryptBlock.

encryptBlockback to summary
pack-priv void encryptBlock(long[] block, long[] out)

Implements abstract org.bouncycastle.crypto.engines.ThreefishEngine.ThreefishCipher.encryptBlock.

org.bouncycastle.crypto.engines back to summary

private final Class ThreefishEngine.Threefish512Cipher

extends ThreefishCipher
Class Inheritance

Field Summary

Modifier and TypeField and Description
private static final int
ROTATION_0_0

Mix rotation constants defined in Skein 1.3 specification

private static final int
ROTATION_0_1

Mix rotation constants defined in Skein 1.3 specification

private static final int
ROTATION_0_2

Mix rotation constants defined in Skein 1.3 specification

private static final int
ROTATION_0_3

Mix rotation constants defined in Skein 1.3 specification

private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
Inherited from org.bouncycastle.crypto.engines.ThreefishEngine.ThreefishCipher:
kwt

Constructor Summary

AccessConstructor and Description
protected
Threefish512Cipher(long[] kw, long[] t)

Method Summary

Modifier and TypeMethod and Description
public void
public void

Field Detail

ROTATION_0_0back to summary
private static final int ROTATION_0_0

Mix rotation constants defined in Skein 1.3 specification

ROTATION_0_1back to summary
private static final int ROTATION_0_1

Mix rotation constants defined in Skein 1.3 specification

ROTATION_0_2back to summary
private static final int ROTATION_0_2

Mix rotation constants defined in Skein 1.3 specification

ROTATION_0_3back to summary
private static final int ROTATION_0_3

Mix rotation constants defined in Skein 1.3 specification

ROTATION_1_0back to summary
private static final int ROTATION_1_0
ROTATION_1_1back to summary
private static final int ROTATION_1_1
ROTATION_1_2back to summary
private static final int ROTATION_1_2
ROTATION_1_3back to summary
private static final int ROTATION_1_3
ROTATION_2_0back to summary
private static final int ROTATION_2_0
ROTATION_2_1back to summary
private static final int ROTATION_2_1
ROTATION_2_2back to summary
private static final int ROTATION_2_2
ROTATION_2_3back to summary
private static final int ROTATION_2_3
ROTATION_3_0back to summary
private static final int ROTATION_3_0
ROTATION_3_1back to summary
private static final int ROTATION_3_1
ROTATION_3_2back to summary
private static final int ROTATION_3_2
ROTATION_3_3back to summary
private static final int ROTATION_3_3
ROTATION_4_0back to summary
private static final int ROTATION_4_0
ROTATION_4_1back to summary
private static final int ROTATION_4_1
ROTATION_4_2back to summary
private static final int ROTATION_4_2
ROTATION_4_3back to summary
private static final int ROTATION_4_3
ROTATION_5_0back to summary
private static final int ROTATION_5_0
ROTATION_5_1back to summary
private static final int ROTATION_5_1
ROTATION_5_2back to summary
private static final int ROTATION_5_2
ROTATION_5_3back to summary
private static final int ROTATION_5_3
ROTATION_6_0back to summary
private static final int ROTATION_6_0
ROTATION_6_1back to summary
private static final int ROTATION_6_1
ROTATION_6_2back to summary
private static final int ROTATION_6_2
ROTATION_6_3back to summary
private static final int ROTATION_6_3
ROTATION_7_0back to summary
private static final int ROTATION_7_0
ROTATION_7_1back to summary
private static final int ROTATION_7_1
ROTATION_7_2back to summary
private static final int ROTATION_7_2
ROTATION_7_3back to summary
private static final int ROTATION_7_3

Constructor Detail

Threefish512Cipherback to summary
protected Threefish512Cipher(long[] kw, long[] t)

Method Detail

decryptBlockback to summary
public void decryptBlock(long[] block, long[] state)

Implements abstract org.bouncycastle.crypto.engines.ThreefishEngine.ThreefishCipher.decryptBlock.

encryptBlockback to summary
public void encryptBlock(long[] block, long[] out)

Implements abstract org.bouncycastle.crypto.engines.ThreefishEngine.ThreefishCipher.encryptBlock.

org.bouncycastle.crypto.engines back to summary

private abstract Class ThreefishEngine.ThreefishCipher

extends Object
Class Inheritance
  • java.lang.Object
  • org.bouncycastle.crypto.engines.ThreefishEngine.ThreefishCipher
Known Direct Subclasses
org.bouncycastle.crypto.engines.ThreefishEngine.Threefish256Cipher, org.bouncycastle.crypto.engines.ThreefishEngine.Threefish512Cipher, org.bouncycastle.crypto.engines.ThreefishEngine.Threefish1024Cipher

Field Summary

Modifier and TypeField and Description
protected final long[]
kw

The extended + repeated key words

protected final long[]
t

The extended + repeated tweak words

Constructor Summary

AccessConstructor and Description
protected
ThreefishCipher(final long[] kw, final long[] t)

Method Summary

Modifier and TypeMethod and Description
pack-priv abstract void
decryptBlock(long[] block, long[] out)

pack-priv abstract void
encryptBlock(long[] block, long[] out)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

kwback to summary
protected final long[] kw

The extended + repeated key words

tback to summary
protected final long[] t

The extended + repeated tweak words

Constructor Detail

ThreefishCipherback to summary
protected ThreefishCipher(final long[] kw, final long[] t)

Method Detail

decryptBlockback to summary
pack-priv abstract void decryptBlock(long[] block, long[] out)
encryptBlockback to summary
pack-priv abstract void encryptBlock(long[] block, long[] out)