Lines Matching full:2
38 /* max number of calls until change the key (2^48).*/
42 * gf_wrap -- In our implementation, GF(2^128) is represented as a 16 byte
46 * X^128 + X^7 + X^2 + X + 1,
48 * which leads to the reduction formula X^128 = X^7 + X^2 + X + 1. Indeed,
49 * since 0 = (X^128 + X^7 + X^2 + 1) mod (X^128 + X^7 + X^2 + X + 1) and since
50 * addition of polynomials with coefficients in Z/Z(2) is just XOR, we can
53 * X^128 = (X^7 + X^2 + X + 1) mod (X^128 + X^7 + X^2 + X + 1)
58 * This gets used in the following way. Doubling in GF(2^128) is just a left
60 * case, the relation X^128 = X^7 + X^2 + X + 1 says that the high order bit
62 * X^7 + X^2 + X + 1 <--> 0x87 to the low order 128 bits. Since addition
63 * in GF(2^128) is represented by XOR, we therefore only have to XOR 0x87
70 * assumes: out != NULL and points to a GF(2^n) value to receive the
72 * in != NULL and points to a 16 byte GF(2^n) value
75 * effects: doubles the GF(2^n) value pointed to by "in" and places
76 * the result in the GF(2^n) value pointed to by "out."