From f92fca03a01a86fd0a795a7a4bfdbb12041e5e82 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Wed, 25 Mar 2020 15:09:49 -0700 Subject: [PATCH] Update SIV diagram, length pad AAD. --- doc/AES-GMAC-SIV.png | Bin 48283 -> 70696 bytes node/AES.hpp | 34 +++++++++++++++++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/doc/AES-GMAC-SIV.png b/doc/AES-GMAC-SIV.png index 1099653a78caf87651058e93c3119ba8abea8771..5d8cae33e4aed039d58ebfc714c7b940587656f5 100644 GIT binary patch literal 70696 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 zŗ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 z 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 AV*mgE diff --git a/node/AES.hpp b/node/AES.hpp index 8621322ae..f86db33d3 100644 --- a/node/AES.hpp +++ b/node/AES.hpp @@ -251,7 +251,7 @@ public: _gmac(k0), _ctr(k1) {} - /* + /** * Initialize AES-GMAC-SIV * * @param iv IV in network byte order (byte order in which it will appear on the wire) @@ -265,6 +265,29 @@ public: _gmac.init(reinterpret_cast(_iv)); } + /** + * Process AAD (additional authenticated data) that is not being encrypted + * + * This must be called prior to update1, finish1, etc. if there is AAD to include + * in the MAC that is not included in the plaintext. + * + * @param aad Additional authenticated data + * @param len Length of AAD in bytes + */ + ZT_INLINE void aad(const void *const aad,unsigned int len) noexcept + { + _gmac.update(aad,len); + len &= 0xfU; + if (len != 0) + _gmac.update(Utils::ZERO256,16 - len); + } + + /** + * First pass plaintext input function + * + * @param input Plaintext chunk + * @param len Length of plaintext chunk + */ ZT_INLINE void update1(const void *const input,const unsigned int len) noexcept { _gmac.update(input,len); @@ -282,6 +305,15 @@ public: _ctr.init(reinterpret_cast(_iv),_output); } + /** + * Second pass plaintext input function + * + * The same plaintext must be fed in the second time in the same order, + * though chunk boundaries do not have to be the same. + * + * @param input Plaintext chunk + * @param len Length of plaintext chunk + */ ZT_INLINE void update2(const void *const input,const unsigned int len) noexcept { _ctr.crypt(input,len);