aboutsummaryrefslogtreecommitdiffstats
path: root/src/block/lion/lion.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/block/lion/lion.h')
-rw-r--r--src/block/lion/lion.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/block/lion/lion.h b/src/block/lion/lion.h
index f24acdb72..bba4e6f30 100644
--- a/src/block/lion/lion.h
+++ b/src/block/lion/lion.h
@@ -14,8 +14,13 @@
namespace Botan {
-/*
-* 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
*/
class BOTAN_DLL Lion : public BlockCipher
{
@@ -27,7 +32,15 @@ class BOTAN_DLL Lion : public BlockCipher
std::string name() const;
BlockCipher* clone() const;
- Lion(HashFunction*, StreamCipher*, u32bit);
+ /**
+ * @param hash the hash to use internally
+ * @param cipher the stream cipher to use internally
+ * @param block_size the size of the block to use
+ */
+ Lion(HashFunction* hash,
+ StreamCipher* cipher,
+ u32bit block_size);
+
~Lion() { delete hash; delete cipher; }
private:
void key_schedule(const byte[], u32bit);