Lion

Lion is a block cipher construction designed by Ross Anderson and Eli Biham, described in "Two Practical and Provably Secure Block Ciphers: BEAR and LION". It has a variable block size and is designed to encrypt very large blocks (up to a megabyte)

http://www.cl.cam.ac.uk/~rja14/Papers/bear-lion.pdf

Constructors

this
this(HashFunction hash, StreamCipher cipher, size_t block_size)

Members

Functions

blockSize
size_t blockSize()
Undocumented in source. Be warned that the author may not have intended to support it.
clear
void clear()
Undocumented in source. Be warned that the author may not have intended to support it.
clone
BlockCipher clone()
Undocumented in source. Be warned that the author may not have intended to support it.
decryptN
void decryptN(const(ubyte)* input, ubyte* output, size_t blocks)
Undocumented in source. Be warned that the author may not have intended to support it.
encryptN
void encryptN(const(ubyte)* input, ubyte* output, size_t blocks)
Undocumented in source. Be warned that the author may not have intended to support it.
keySchedule
void keySchedule(const(ubyte)* key, size_t length)
Undocumented in source. Be warned that the author may not have intended to support it.
keySpec
KeyLengthSpecification keySpec()
Undocumented in source. Be warned that the author may not have intended to support it.

Properties

name
string name [@property getter]
Undocumented in source. Be warned that the author may not have intended to support it.
parallelism
size_t parallelism [@property getter]
Undocumented in source. Be warned that the author may not have intended to support it.

Inherited Members

From BlockCipher

blockSize
size_t blockSize()
parallelism
size_t parallelism [@property getter]
parallelBytes
size_t parallelBytes()
encrypt
void encrypt(const(ubyte)* input, ubyte* output)

Encrypt a block.

decrypt
void decrypt(const(ubyte)* input, ubyte* output)

Decrypt a block.

encrypt
void encrypt(ubyte* block)

Encrypt a block.

decrypt
void decrypt(ubyte* block)

Decrypt a block.

encrypt
void encrypt(ubyte[] block)

Encrypt a block.

decrypt
void decrypt(ubyte[] block)

Decrypt a block.

encrypt
void encrypt(Vector!(ubyte, Alloc) block)

Encrypt one or more blocks

decrypt
void decrypt(Vector!(ubyte, Alloc) block)

Decrypt one or more blocks

encrypt
void encrypt(Vector!(ubyte, Alloc) input, Vector!(ubyte, Alloc2) output)

Encrypt one or more blocks

decrypt
void decrypt(Vector!(ubyte, Alloc) input, Vector!(ubyte, Alloc2) output)

Decrypt one or more blocks

encrypt
void encrypt(ubyte[] input, ubyte[] output)

Encrypt one or more blocks

decrypt
void decrypt(ubyte[] input, ubyte[] output)

Decrypt one or more blocks

encryptN
void encryptN(const(ubyte)* input, ubyte* output, size_t blocks)

Encrypt one or more blocks

decryptN
void decryptN(const(ubyte)* input, ubyte* output, size_t blocks)

Decrypt one or more blocks

clone
BlockCipher clone()

Meta