OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
Re: AES-GCM Part 1: AES-GCM implementation

From: Mike Belopuhov (mkbcrypt.org.ru)
Date: Fri Aug 20 2010 - 20:31:19 CDT


On Fri, Aug 20, 2010 at 20:58 +0200, Mike Belopuhov wrote:
> - requires input data to be continuous, i.e.:
> given block C of 16 bytes which is a concatenation of blocks
> A an B (C = A || B): GMAC(C) =/= GMAC(B, GMAC(A, Z)), where
> GMAC(X, Y) denotes GMAC application to the block X and initial
> (or state) block Y.

I hope this will clarify the text above:

   - requires input date to be split into blocks of 16 bytes with
     the last block padded with zeros, otherwise it yeilds erroneous
     value, i.e.:
       given block C of 16 bytes that is a concatenation of chunks
       A and B (C = A || B), then GMAC(C, Z) =/= GMAC(B, GMAC(A, Z)),
       where GMAC(X, Y) denotes GMAC application to the chunk X and
       state block Y, Z denotes initial zero block.