aboutsummaryrefslogtreecommitdiffstats
path: root/src/modes/ofb/ofb.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modes/ofb/ofb.cpp')
-rw-r--r--src/modes/ofb/ofb.cpp66
1 files changed, 0 insertions, 66 deletions
diff --git a/src/modes/ofb/ofb.cpp b/src/modes/ofb/ofb.cpp
deleted file mode 100644
index cb40fdeaa..000000000
--- a/src/modes/ofb/ofb.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-* OFB Mode
-* (C) 1999-2007 Jack Lloyd
-*
-* Distributed under the terms of the Botan license
-*/
-
-#include <botan/ofb.h>
-#include <botan/xor_buf.h>
-#include <algorithm>
-
-namespace Botan {
-
-/*
-* OFB Constructor
-*/
-OFB::OFB(BlockCipher* ciph) :
- BlockCipherMode(ciph, "OFB", ciph->BLOCK_SIZE, 2)
- {
- }
-
-/*
-* OFB Constructor
-*/
-OFB::OFB(BlockCipher* ciph, const SymmetricKey& key,
- const InitializationVector& iv) :
- BlockCipherMode(ciph, "OFB", ciph->BLOCK_SIZE, 2)
- {
- set_key(key);
- set_iv(iv);
- }
-
-/*
-* OFB Encryption/Decryption
-*/
-void OFB::write(const byte input[], u32bit length)
- {
- u32bit copied = std::min(BLOCK_SIZE - position, length);
- xor_buf(buffer, input, state + position, copied);
- send(buffer, copied);
- input += copied;
- length -= copied;
- position += copied;
-
- if(position == BLOCK_SIZE)
- {
- cipher->encrypt(state);
- position = 0;
- }
-
- while(length >= BLOCK_SIZE)
- {
- xor_buf(buffer, input, state, BLOCK_SIZE);
- send(buffer, BLOCK_SIZE);
-
- input += BLOCK_SIZE;
- length -= BLOCK_SIZE;
- cipher->encrypt(state);
- }
-
- xor_buf(buffer, input, state + position, length);
- send(buffer, length);
- position += length;
- }
-
-}