aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--checks/transform.cpp2
-rw-r--r--doc/aead.rst6
-rw-r--r--src/algo_base/info.txt2
-rw-r--r--src/algo_base/transform.h6
-rw-r--r--src/block/threefish/threefish.cpp4
-rw-r--r--src/block/threefish/threefish.h2
-rw-r--r--src/filters/transform_filter.cpp2
-rw-r--r--src/modes/aead/aead.h2
-rw-r--r--src/modes/aead/ccm/ccm.cpp2
-rw-r--r--src/modes/aead/ccm/ccm.h2
-rw-r--r--src/modes/cbc/cbc.cpp2
-rw-r--r--src/modes/cbc/cbc.h2
-rw-r--r--src/modes/cfb/cfb.cpp2
-rw-r--r--src/modes/cfb/cfb.h2
-rw-r--r--src/modes/ecb/ecb.cpp2
-rw-r--r--src/modes/ecb/ecb.h2
-rw-r--r--src/modes/xts/xts.cpp2
-rw-r--r--src/modes/xts/xts.h2
18 files changed, 29 insertions, 17 deletions
diff --git a/checks/transform.cpp b/checks/transform.cpp
index 292bcf467..70d86541e 100644
--- a/checks/transform.cpp
+++ b/checks/transform.cpp
@@ -62,7 +62,7 @@ void time_transform(const std::string& algo)
AutoSeeded_RNG rng;
tf->set_key(rng.random_vec(tf->maximum_keylength()));
- tf->start_vec(rng.random_vec(tf->default_nonce_size()));
+ tf->start_vec(rng.random_vec(tf->default_nonce_length()));
for(size_t mult : { 1, 2, 4, 8, 16, 128, 1024 })
{
diff --git a/doc/aead.rst b/doc/aead.rst
index cb49f8a51..dbd06bbe1 100644
--- a/doc/aead.rst
+++ b/doc/aead.rst
@@ -81,3 +81,9 @@ AEAD modes currently available include GCM, OCB, and EAX. All three use a
Returns true if *nonce_len* is a valid nonce length for this scheme. For
EAX and GCM, any length nonces are allowed. OCB allows any value between
8 and 15 bytes.
+
+ .. cpp:function:: size_t default_nonce_length() const
+
+ Returns a reasonable length for the nonce, typically either 96
+ bits, or the only supported length for modes which don't
+ support 96 bit nonces.
diff --git a/src/algo_base/info.txt b/src/algo_base/info.txt
index cfdd9b691..a2c509f2c 100644
--- a/src/algo_base/info.txt
+++ b/src/algo_base/info.txt
@@ -1,3 +1,5 @@
+define TRANSFORM 20131209
+
<requires>
alloc
filters
diff --git a/src/algo_base/transform.h b/src/algo_base/transform.h
index 3f4e80b94..2eec9d85b 100644
--- a/src/algo_base/transform.h
+++ b/src/algo_base/transform.h
@@ -72,7 +72,11 @@ class BOTAN_DLL Transformation : public SymmetricAlgorithm
/**
* Return the default size for a nonce
*/
- virtual size_t default_nonce_size() const = 0;
+ virtual size_t default_nonce_length() const = 0;
+
+ BOTAN_DEPRECATED("Use default_nonce_length")
+ size_t default_nonce_size() const
+ { return default_nonce_length(); }
/**
* Return true iff nonce_len is a valid length for the nonce
diff --git a/src/block/threefish/threefish.cpp b/src/block/threefish/threefish.cpp
index 5877235ab..310fd0f69 100644
--- a/src/block/threefish/threefish.cpp
+++ b/src/block/threefish/threefish.cpp
@@ -142,14 +142,14 @@ size_t Threefish_512::minimum_final_size() const
return 0;
}
-size_t Threefish_512::default_nonce_size() const
+size_t Threefish_512::default_nonce_length() const
{
return 16;
}
bool Threefish_512::valid_nonce_length(size_t nonce_len) const
{
- return default_nonce_size() == nonce_len;
+ return default_nonce_length() == nonce_len;
}
void Threefish_512::clear()
diff --git a/src/block/threefish/threefish.h b/src/block/threefish/threefish.h
index 8fa758b12..b7806a93d 100644
--- a/src/block/threefish/threefish.h
+++ b/src/block/threefish/threefish.h
@@ -30,7 +30,7 @@ class BOTAN_DLL Threefish_512 : public Transformation
size_t minimum_final_size() const override;
- size_t default_nonce_size() const override;
+ size_t default_nonce_length() const override;
bool valid_nonce_length(size_t nonce_len) const override;
diff --git a/src/filters/transform_filter.cpp b/src/filters/transform_filter.cpp
index e8033b1a8..2f25aa2c5 100644
--- a/src/filters/transform_filter.cpp
+++ b/src/filters/transform_filter.cpp
@@ -12,7 +12,7 @@ namespace Botan {
Transformation_Filter::Transformation_Filter(Transformation* transform) :
Buffered_Filter(transform->update_granularity(),
transform->minimum_final_size()),
- m_nonce(transform->default_nonce_size() == 0),
+ m_nonce(transform->default_nonce_length() == 0),
m_transform(transform),
m_buffer(m_transform->update_granularity())
{
diff --git a/src/modes/aead/aead.h b/src/modes/aead/aead.h
index d03cb295d..8df98fcad 100644
--- a/src/modes/aead/aead.h
+++ b/src/modes/aead/aead.h
@@ -48,7 +48,7 @@ class BOTAN_DLL AEAD_Mode : public Cipher_Mode
* Default AEAD nonce size (a commonly supported value among AEAD
* modes, and large enough that random collisions are unlikely).
*/
- size_t default_nonce_size() const override { return 12; }
+ size_t default_nonce_length() const override { return 12; }
/**
* Return the size of the authentication tag used (in bytes)
diff --git a/src/modes/aead/ccm/ccm.cpp b/src/modes/aead/ccm/ccm.cpp
index fb35172cc..50fc38738 100644
--- a/src/modes/aead/ccm/ccm.cpp
+++ b/src/modes/aead/ccm/ccm.cpp
@@ -47,7 +47,7 @@ bool CCM_Mode::valid_nonce_length(size_t n) const
return (n == (15-L()));
}
-size_t CCM_Mode::default_nonce_size() const
+size_t CCM_Mode::default_nonce_length() const
{
return (15-L());
}
diff --git a/src/modes/aead/ccm/ccm.h b/src/modes/aead/ccm/ccm.h
index a62c84f55..b9ce0b30b 100644
--- a/src/modes/aead/ccm/ccm.h
+++ b/src/modes/aead/ccm/ccm.h
@@ -37,7 +37,7 @@ class BOTAN_DLL CCM_Mode : public AEAD_Mode
bool valid_nonce_length(size_t) const override;
- size_t default_nonce_size() const override;
+ size_t default_nonce_length() const override;
void clear();
diff --git a/src/modes/cbc/cbc.cpp b/src/modes/cbc/cbc.cpp
index 482588cf5..31834bade 100644
--- a/src/modes/cbc/cbc.cpp
+++ b/src/modes/cbc/cbc.cpp
@@ -47,7 +47,7 @@ Key_Length_Specification CBC_Mode::key_spec() const
return cipher().key_spec();
}
-size_t CBC_Mode::default_nonce_size() const
+size_t CBC_Mode::default_nonce_length() const
{
return cipher().block_size();
}
diff --git a/src/modes/cbc/cbc.h b/src/modes/cbc/cbc.h
index 8638c8a05..726d5d080 100644
--- a/src/modes/cbc/cbc.h
+++ b/src/modes/cbc/cbc.h
@@ -29,7 +29,7 @@ class BOTAN_DLL CBC_Mode : public Cipher_Mode
Key_Length_Specification key_spec() const override;
- size_t default_nonce_size() const override;
+ size_t default_nonce_length() const override;
bool valid_nonce_length(size_t n) const override;
diff --git a/src/modes/cfb/cfb.cpp b/src/modes/cfb/cfb.cpp
index 2edb917b4..7721e1487 100644
--- a/src/modes/cfb/cfb.cpp
+++ b/src/modes/cfb/cfb.cpp
@@ -54,7 +54,7 @@ Key_Length_Specification CFB_Mode::key_spec() const
return cipher().key_spec();
}
-size_t CFB_Mode::default_nonce_size() const
+size_t CFB_Mode::default_nonce_length() const
{
return cipher().block_size();
}
diff --git a/src/modes/cfb/cfb.h b/src/modes/cfb/cfb.h
index 46b1997d2..984e5cb96 100644
--- a/src/modes/cfb/cfb.h
+++ b/src/modes/cfb/cfb.h
@@ -33,7 +33,7 @@ class BOTAN_DLL CFB_Mode : public Cipher_Mode
size_t output_length(size_t input_length) const override;
- size_t default_nonce_size() const override;
+ size_t default_nonce_length() const override;
bool valid_nonce_length(size_t n) const override;
diff --git a/src/modes/ecb/ecb.cpp b/src/modes/ecb/ecb.cpp
index 1b73da64f..f026eb035 100644
--- a/src/modes/ecb/ecb.cpp
+++ b/src/modes/ecb/ecb.cpp
@@ -42,7 +42,7 @@ Key_Length_Specification ECB_Mode::key_spec() const
return cipher().key_spec();
}
-size_t ECB_Mode::default_nonce_size() const
+size_t ECB_Mode::default_nonce_length() const
{
return 0;
}
diff --git a/src/modes/ecb/ecb.h b/src/modes/ecb/ecb.h
index 8ab62fa45..9545a33ea 100644
--- a/src/modes/ecb/ecb.h
+++ b/src/modes/ecb/ecb.h
@@ -29,7 +29,7 @@ class BOTAN_DLL ECB_Mode : public Cipher_Mode
Key_Length_Specification key_spec() const override;
- size_t default_nonce_size() const override;
+ size_t default_nonce_length() const override;
bool valid_nonce_length(size_t n) const override;
diff --git a/src/modes/xts/xts.cpp b/src/modes/xts/xts.cpp
index 80b7ed7f3..02da5fa5d 100644
--- a/src/modes/xts/xts.cpp
+++ b/src/modes/xts/xts.cpp
@@ -86,7 +86,7 @@ Key_Length_Specification XTS_Mode::key_spec() const
return cipher().key_spec().multiple(2);
}
-size_t XTS_Mode::default_nonce_size() const
+size_t XTS_Mode::default_nonce_length() const
{
return cipher().block_size();
}
diff --git a/src/modes/xts/xts.h b/src/modes/xts/xts.h
index a1f0f1626..49f2a3458 100644
--- a/src/modes/xts/xts.h
+++ b/src/modes/xts/xts.h
@@ -30,7 +30,7 @@ class BOTAN_DLL XTS_Mode : public Cipher_Mode
Key_Length_Specification key_spec() const override;
- size_t default_nonce_size() const override;
+ size_t default_nonce_length() const override;
bool valid_nonce_length(size_t n) const override;