gnu.crypto.cipher
Class Anubis
- Cloneable, IBlockCipher, IBlockCipherSpi
public final class Anubis
Anubis is a 128-bit block cipher that accepts a variable-length key. The
cipher is a uniform substitution-permutation network whose inverse only
differs from the forward operation in the key schedule. The design of both
the round transformation and the key schedule is based upon the Wide Trail
strategy and permits a wide variety of implementation trade-offs.
References:
- The
ANUBIS Block Cipher.
Paulo S.L.M. Barreto and
Vincent Rijmen.
Anubis() - Trivial 0-arguments constructor.
|
Iterator | blockSizes() - Returns an
Iterator over the supported block sizes.
|
Object | clone()
|
void | decrypt(byte[] in, int i, byte[] out, int j, Object k, int bs) - Decrypts exactly one block of ciphertext.
|
void | encrypt(byte[] in, int i, byte[] out, int j, Object k, int bs) - Encrypts exactly one block of plaintext.
|
Iterator | keySizes() - Returns an
Iterator over the supported key sizes.
|
Object | makeKey(byte[] uk, int bs) - Expands a user-supplied key material into a session key for a
designated block size.
|
boolean | selfTest() - A correctness test that consists of basic symmetric encryption /
decryption test(s) for all supported block and key sizes, as well as one
(1) variable key Known Answer Test (KAT).
|
clone , currentBlockSize , decryptBlock , defaultBlockSize , defaultKeySize , encryptBlock , init , name , reset , selfTest , testKat , testKat |
Anubis
public Anubis()
Trivial 0-arguments constructor.
decrypt
public void decrypt(byte[] in,
int i,
byte[] out,
int j,
Object k,
int bs)
Decrypts exactly one block of ciphertext.
- decrypt in interface IBlockCipherSpi
in
- the ciphertext.out
- the plaintext.k
- the session key to use.bs
- the block size to use.
encrypt
public void encrypt(byte[] in,
int i,
byte[] out,
int j,
Object k,
int bs)
Encrypts exactly one block of plaintext.
- encrypt in interface IBlockCipherSpi
in
- the plaintext.out
- the ciphertext.k
- the session key to use.bs
- the block size to use.
makeKey
public Object makeKey(byte[] uk,
int bs)
throws InvalidKeyException
Expands a user-supplied key material into a session key for a
designated block size.
- makeKey in interface IBlockCipherSpi
uk
- the 32N-bit user-supplied key material; 4 <= N <= 10.bs
- the desired block size in bytes.
- an Object encapsulating the session key.
selfTest
public boolean selfTest()
A correctness test that consists of basic symmetric encryption /
decryption test(s) for all supported block and key sizes, as well as one
(1) variable key Known Answer Test (KAT).
- selfTest in interface IBlockCipher
- selfTest in interface IBlockCipherSpi
- selfTest in interface BaseCipher
true
if the implementation passes simple
correctness tests. Returns false
otherwise.
Copyright © 2001, 2002, 2003
Free Software Foundation,
Inc. All Rights Reserved.