diff options
author | lloyd <[email protected]> | 2008-09-28 16:45:45 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2008-09-28 16:45:45 +0000 |
commit | ae478c48af11cf4e148dddfb4b748d56d311ca67 (patch) | |
tree | 5387bd630455c3f5567a67f2ac1e2c1b01fc37ea /src/lubyrack.cpp | |
parent | 4a04f965bd43bd591c8973ed025dc312823f1607 (diff) |
Modularize all ciphers
Diffstat (limited to 'src/lubyrack.cpp')
-rw-r--r-- | src/lubyrack.cpp | 114 |
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) - { - } - -} |