aboutsummaryrefslogtreecommitdiffstats
path: root/src/lubyrack.cpp
diff options
context:
space:
mode:
authorlloyd <[email protected]>2008-09-28 16:45:45 +0000
committerlloyd <[email protected]>2008-09-28 16:45:45 +0000
commitae478c48af11cf4e148dddfb4b748d56d311ca67 (patch)
tree5387bd630455c3f5567a67f2ac1e2c1b01fc37ea /src/lubyrack.cpp
parent4a04f965bd43bd591c8973ed025dc312823f1607 (diff)
Modularize all ciphers
Diffstat (limited to 'src/lubyrack.cpp')
-rw-r--r--src/lubyrack.cpp114
1 files changed, 0 insertions, 114 deletions
diff --git a/src/lubyrack.cpp b/src/lubyrack.cpp
deleted file mode 100644
index c9e6fc531..000000000
--- a/src/lubyrack.cpp
+++ /dev/null
@@ -1,114 +0,0 @@
-/*************************************************
-* Luby-Rackoff Source File *
-* (C) 1999-2008 Jack Lloyd *
-*************************************************/
-
-#include <botan/lubyrack.h>
-#include <botan/xor_buf.h>
-
-namespace Botan {
-
-/*************************************************
-* Luby-Rackoff Encryption *
-*************************************************/
-void LubyRackoff::enc(const byte in[], byte out[]) const
- {
- const u32bit len = hash->OUTPUT_LENGTH;
-
- SecureVector<byte> buffer(len);
- hash->update(K1);
- hash->update(in, len);
- hash->final(buffer);
- xor_buf(out + len, in + len, buffer, len);
-
- hash->update(K2);
- hash->update(out + len, len);
- hash->final(buffer);
- xor_buf(out, in, buffer, len);
-
- hash->update(K1);
- hash->update(out, len);
- hash->final(buffer);
- xor_buf(out + len, buffer, len);
-
- hash->update(K2);
- hash->update(out + len, len);
- hash->final(buffer);
- xor_buf(out, buffer, len);
- }
-
-/*************************************************
-* Luby-Rackoff Decryption *
-*************************************************/
-void LubyRackoff::dec(const byte in[], byte out[]) const
- {
- const u32bit len = hash->OUTPUT_LENGTH;
-
- SecureVector<byte> buffer(len);
- hash->update(K2);
- hash->update(in + len, len);
- hash->final(buffer);
- xor_buf(out, in, buffer, len);
-
- hash->update(K1);
- hash->update(out, len);
- hash->final(buffer);
- xor_buf(out + len, in + len, buffer, len);
-
- hash->update(K2);
- hash->update(out + len, len);
- hash->final(buffer);
- xor_buf(out, buffer, len);
-
- hash->update(K1);
- hash->update(out, len);
- hash->final(buffer);
- xor_buf(out + len, buffer, len);
- }
-
-/*************************************************
-* Luby-Rackoff Key Schedule *
-*************************************************/
-void LubyRackoff::key(const byte key[], u32bit length)
- {
- K1.set(key, length / 2);
- K2.set(key + length / 2, length / 2);
- }
-
-/*************************************************
-* Clear memory of sensitive data *
-*************************************************/
-void LubyRackoff::clear() throw()
- {
- K1.clear();
- K2.clear();
- hash->clear();
- }
-
-/*************************************************
-* Return a clone of this object *
-*************************************************/
-BlockCipher* LubyRackoff::clone() const
- {
- return new LubyRackoff(hash->clone());
- }
-
-/*************************************************
-* Return the name of this type *
-*************************************************/
-std::string LubyRackoff::name() const
- {
- return "Luby-Rackoff(" + hash->name() + ")";
- }
-
-/*************************************************
-* Luby-Rackoff Constructor *
-*************************************************/
-LubyRackoff::LubyRackoff(HashFunction* h) :
- BlockCipher(2 * (h ? h->OUTPUT_LENGTH: 0),
- 2, 32, 2),
- hash(h)
- {
- }
-
-}