aboutsummaryrefslogtreecommitdiffstats
path: root/src/aead/eax/eax.cpp
diff options
context:
space:
mode:
authorlloyd <[email protected]>2013-03-28 14:00:27 +0000
committerlloyd <[email protected]>2013-03-28 14:00:27 +0000
commitd00231f885256cbd471ce47c2cf1a2b6fbeb06cd (patch)
tree7abb5475f004999623e32b3577583c0684d9c605 /src/aead/eax/eax.cpp
parentdbe450ca8a105213fe6d94512d6ad872046697ca (diff)
Add nonce length checks to EAX and GCM
Diffstat (limited to 'src/aead/eax/eax.cpp')
-rw-r--r--src/aead/eax/eax.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/aead/eax/eax.cpp b/src/aead/eax/eax.cpp
index fa0496f42..725a473f4 100644
--- a/src/aead/eax/eax.cpp
+++ b/src/aead/eax/eax.cpp
@@ -94,6 +94,9 @@ void EAX_Mode::set_associated_data(const byte ad[], size_t length)
secure_vector<byte> EAX_Mode::start(const byte nonce[], size_t nonce_len)
{
+ if(!valid_nonce_length(nonce_len))
+ throw Invalid_IV_Length(name(), nonce_len);
+
m_nonce_mac = eax_prf(0, block_size(), *m_cmac, nonce, nonce_len);
m_ctr->set_iv(&m_nonce_mac[0], m_nonce_mac.size());