aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/modes
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/modes')
-rw-r--r--src/lib/modes/aead/gcm/gcm.cpp3
-rw-r--r--src/lib/modes/aead/gcm/gcm.h7
-rw-r--r--src/lib/modes/aead/ocb/ocb.cpp1
-rw-r--r--src/lib/modes/aead/ocb/ocb.h2
-rw-r--r--src/lib/modes/aead/siv/siv.cpp1
-rw-r--r--src/lib/modes/aead/siv/siv.h7
6 files changed, 15 insertions, 6 deletions
diff --git a/src/lib/modes/aead/gcm/gcm.cpp b/src/lib/modes/aead/gcm/gcm.cpp
index 9c6a85282..bb832245e 100644
--- a/src/lib/modes/aead/gcm/gcm.cpp
+++ b/src/lib/modes/aead/gcm/gcm.cpp
@@ -7,6 +7,7 @@
*/
#include <botan/gcm.h>
+#include <botan/block_cipher.h>
#include <botan/internal/ct_utils.h>
#include <botan/loadstor.h>
#include <botan/ctr.h>
@@ -188,6 +189,8 @@ GCM_Mode::GCM_Mode(BlockCipher* cipher, size_t tag_size) :
throw Invalid_Argument(name() + ": Bad tag size " + std::to_string(m_tag_size));
}
+GCM_Mode::~GCM_Mode() { /* for unique_ptr */ }
+
void GCM_Mode::clear()
{
m_ctr->clear();
diff --git a/src/lib/modes/aead/gcm/gcm.h b/src/lib/modes/aead/gcm/gcm.h
index 0c5edba45..deedfdade 100644
--- a/src/lib/modes/aead/gcm/gcm.h
+++ b/src/lib/modes/aead/gcm/gcm.h
@@ -10,11 +10,12 @@
#define BOTAN_AEAD_GCM_H_
#include <botan/aead.h>
-#include <botan/block_cipher.h>
-#include <botan/stream_cipher.h>
+#include <botan/sym_algo.h>
namespace Botan {
+class BlockCipher;
+class StreamCipher;
class GHASH;
/**
@@ -44,6 +45,8 @@ class BOTAN_PUBLIC_API(2,0) GCM_Mode : public AEAD_Mode
protected:
GCM_Mode(BlockCipher* cipher, size_t tag_size);
+ ~GCM_Mode();
+
const size_t m_BS = 16;
const size_t m_tag_size;
diff --git a/src/lib/modes/aead/ocb/ocb.cpp b/src/lib/modes/aead/ocb/ocb.cpp
index a48f0751a..6644b4935 100644
--- a/src/lib/modes/aead/ocb/ocb.cpp
+++ b/src/lib/modes/aead/ocb/ocb.cpp
@@ -7,6 +7,7 @@
*/
#include <botan/ocb.h>
+#include <botan/block_cipher.h>
#include <botan/internal/poly_dbl.h>
#include <botan/internal/bit_ops.h>
diff --git a/src/lib/modes/aead/ocb/ocb.h b/src/lib/modes/aead/ocb/ocb.h
index e53ee0867..4188e8574 100644
--- a/src/lib/modes/aead/ocb/ocb.h
+++ b/src/lib/modes/aead/ocb/ocb.h
@@ -10,10 +10,10 @@
#define BOTAN_AEAD_OCB_H_
#include <botan/aead.h>
-#include <botan/block_cipher.h>
namespace Botan {
+class BlockCipher;
class L_computer;
/**
diff --git a/src/lib/modes/aead/siv/siv.cpp b/src/lib/modes/aead/siv/siv.cpp
index 8e3d07059..665d25ec9 100644
--- a/src/lib/modes/aead/siv/siv.cpp
+++ b/src/lib/modes/aead/siv/siv.cpp
@@ -7,6 +7,7 @@
*/
#include <botan/siv.h>
+#include <botan/block_cipher.h>
#include <botan/cmac.h>
#include <botan/internal/poly_dbl.h>
#include <botan/ctr.h>
diff --git a/src/lib/modes/aead/siv/siv.h b/src/lib/modes/aead/siv/siv.h
index 2f76847a8..e4454dade 100644
--- a/src/lib/modes/aead/siv/siv.h
+++ b/src/lib/modes/aead/siv/siv.h
@@ -10,12 +10,13 @@
#define BOTAN_AEAD_SIV_H_
#include <botan/aead.h>
-#include <botan/block_cipher.h>
-#include <botan/stream_cipher.h>
-#include <botan/mac.h>
namespace Botan {
+class BlockCipher;
+class StreamCipher;
+class MessageAuthenticationCode;
+
/**
* Base class for SIV encryption and decryption (@see RFC 5297)
*/