aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/stream/rc4
diff options
context:
space:
mode:
authorSimCog <[email protected]>2016-06-14 18:21:10 +0200
committerSimCog <[email protected]>2016-06-18 01:06:21 +0200
commit00337c4ea2af6b1727be0bdf9b719c98760a14fd (patch)
treeadc8b6f68311b2c9649bdb84766f22f99d2424db /src/lib/stream/rc4
parent6816c9e71e01432792a997ad9a5d561b9cd94a48 (diff)
Adding StreamCipher::seek interface, supporting seek in ChaCha, and also adding ChaCha8 support
Diffstat (limited to 'src/lib/stream/rc4')
-rw-r--r--src/lib/stream/rc4/rc4.cpp4
-rw-r--r--src/lib/stream/rc4/rc4.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/stream/rc4/rc4.cpp b/src/lib/stream/rc4/rc4.cpp
index 895f38091..a4dea9e2b 100644
--- a/src/lib/stream/rc4/rc4.cpp
+++ b/src/lib/stream/rc4/rc4.cpp
@@ -113,4 +113,8 @@ void RC4::clear()
*/
RC4::RC4(size_t s) : m_SKIP(s) {}
+void RC4::seek(u64bit)
+ {
+ throw Exception("RC4 does not support seeking");
+ }
}
diff --git a/src/lib/stream/rc4/rc4.h b/src/lib/stream/rc4/rc4.h
index f166a2772..88798fae6 100644
--- a/src/lib/stream/rc4/rc4.h
+++ b/src/lib/stream/rc4/rc4.h
@@ -39,6 +39,8 @@ class BOTAN_DLL RC4 final : public StreamCipher
explicit RC4(size_t skip = 0);
~RC4() { clear(); }
+
+ void seek(u64bit offset) override;
private:
void key_schedule(const byte[], size_t) override;
void generate();