crypto: gf128mul - fix some comments

Fix incorrect references to GF(128) instead of GF(2^128), as these are
two entirely different fields, and fix a few other incorrect comments.

Cc: Alex Cope <alexcope@google.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Eric Biggers
2017-02-14 13:43:27 -08:00
committed by Herbert Xu
parent 28b62b1458
commit 63be5b53b6
2 changed files with 21 additions and 18 deletions

View File

@@ -43,7 +43,7 @@
---------------------------------------------------------------------------
Issue Date: 31/01/2006
An implementation of field multiplication in Galois Field GF(128)
An implementation of field multiplication in Galois Field GF(2^128)
*/
#ifndef _CRYPTO_GF128MUL_H
@@ -65,7 +65,7 @@
* are left and the lsb's are right. char b[16] is an array and b[0] is
* the first octet.
*
* 80000000 00000000 00000000 00000000 .... 00000000 00000000 00000000
* 10000000 00000000 00000000 00000000 .... 00000000 00000000 00000000
* b[0] b[1] b[2] b[3] b[13] b[14] b[15]
*
* Every bit is a coefficient of some power of X. We can store the bits
@@ -85,15 +85,17 @@
* Both of the above formats are easy to implement on big-endian
* machines.
*
* EME (which is patent encumbered) uses the ble format (bits are stored
* in big endian order and the bytes in little endian). The above buffer
* represents X^7 in this case and the primitive polynomial is b[0] = 0x87.
* XTS and EME (the latter of which is patent encumbered) use the ble
* format (bits are stored in big endian order and the bytes in little
* endian). The above buffer represents X^7 in this case and the
* primitive polynomial is b[0] = 0x87.
*
* The common machine word-size is smaller than 128 bits, so to make
* an efficient implementation we must split into machine word sizes.
* This file uses one 32bit for the moment. Machine endianness comes into
* play. The lle format in relation to machine endianness is discussed
* below by the original author of gf128mul Dr Brian Gladman.
* This implementation uses 64-bit words for the moment. Machine
* endianness comes into play. The lle format in relation to machine
* endianness is discussed below by the original author of gf128mul Dr
* Brian Gladman.
*
* Let's look at the bbe and ble format on a little endian machine.
*
@@ -127,10 +129,10 @@
* machines this will automatically aligned to wordsize and on a 64-bit
* machine also.
*/
/* Multiply a GF128 field element by x. Field elements are held in arrays
of bytes in which field bits 8n..8n + 7 are held in byte[n], with lower
indexed bits placed in the more numerically significant bit positions
within bytes.
/* Multiply a GF(2^128) field element by x. Field elements are
held in arrays of bytes in which field bits 8n..8n + 7 are held in
byte[n], with lower indexed bits placed in the more numerically
significant bit positions within bytes.
On little endian machines the bit indexes translate into the bit
positions within four 32-bit words in the following way