GF2^8 is implemented using the tower representation: gf4 := gf2[x]/x^2+x+1 gf16 := gf4[y]/y^2+y+x gf256 := gf16[X]/X^2+X+xy
| Modifier and Type | Field and Description |
|---|---|
| pack-priv static final byte[] | |
| pack-priv static final byte[][] | |
| public static final int |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public static short | Returns: the sum of the two elements a and b in GF2^8the first element that is to be added a, short the second element that should be added b)This function calculates the sum of two elements as an operation in GF2^8 |
| public static long | |
| private static short | |
| private static short | |
| private static long | |
| private static long | |
| private static short | |
| private static long | |
| private static short | |
| private static long | |
| private static short | |
| private static long | |
| private static short | |
| private static long | |
| private static short | |
| private static short | |
| private static long | |
| private static short | |
| private static long | |
| private static short | |
| private static long | |
| public static short | Returns: the multiplicative inverse of the given element, in case it exists or 0, otherwisethe element which multiplicative inverse is to be computed a)This function computes the multiplicative inverse of a given element in GF2^8 The 0 has no multiplicative inverse and in this case 0 is returned. |
| public static long | |
| public static short | Returns: the product of the two input elements in GF2^8.the first element to be multiplied. a, short the second element to be multiplied. b)This function multiplies two elements in GF2^8. |
| public static long |
| gfInvTable | back to summary |
|---|---|
| pack-priv static final byte[] gfInvTable | |
| gfMulTable | back to summary |
|---|---|
| pack-priv static final byte[][] gfMulTable | |
| MASK | back to summary |
|---|---|
| public static final int MASK | |
| GF2Field | back to summary |
|---|---|
| pack-priv GF2Field() | |
| addElem | back to summary |
|---|---|
| public static short addElem(short a, short b) This function calculates the sum of two elements as an operation in GF2^8
| |
| addElem_64 | back to summary |
|---|---|
| public static long addElem_64(long a, long b) | |
| gf16Mul | back to summary |
|---|---|
| private static short gf16Mul(short a, short b) | |
| gf16Mul8 | back to summary |
|---|---|
| private static short gf16Mul8(short a) | |
| gf16Mul8_64 | back to summary |
|---|---|
| private static long gf16Mul8_64(long p) | |
| gf16Mul_64 | back to summary |
|---|---|
| private static long gf16Mul_64(long p, long q) | |
| gf16Squ | back to summary |
|---|---|
| private static short gf16Squ(short a) | |
| gf16Squ_64 | back to summary |
|---|---|
| private static long gf16Squ_64(long p) | |
| gf256Inv | back to summary |
|---|---|
| private static short gf256Inv(short a) | |
| gf256Inv_64 | back to summary |
|---|---|
| private static long gf256Inv_64(long p) | |
| gf256Mul | back to summary |
|---|---|
| private static short gf256Mul(short a, short b) | |
| gf256Mul_64 | back to summary |
|---|---|
| private static long gf256Mul_64(long p, long q) | |
| gf256Squ | back to summary |
|---|---|
| private static short gf256Squ(short a) | |
| gf256Squ_64 | back to summary |
|---|---|
| private static long gf256Squ_64(long p) | |
| gf4Mul | back to summary |
|---|---|
| private static short gf4Mul(short a, short b) | |
| gf4Mul2 | back to summary |
|---|---|
| private static short gf4Mul2(short a) | |
| gf4Mul2_64 | back to summary |
|---|---|
| private static long gf4Mul2_64(long p) | |
| gf4Mul3 | back to summary |
|---|---|
| private static short gf4Mul3(short a) | |
| gf4Mul_64 | back to summary |
|---|---|
| private static long gf4Mul_64(long p, long q) | |
| gf4Squ | back to summary |
|---|---|
| private static short gf4Squ(short a) | |
| gf4Squ_64 | back to summary |
|---|---|
| private static long gf4Squ_64(long p) | |
| invElem | back to summary |
|---|---|
| public static short invElem(short a) This function computes the multiplicative inverse of a given element in GF2^8 The 0 has no multiplicative inverse and in this case 0 is returned.
| |
| invElem_64 | back to summary |
|---|---|
| public static long invElem_64(long a) | |
| multElem | back to summary |
|---|---|
| public static short multElem(short a, short b) This function multiplies two elements in GF2^8. If one of the two elements is 0, 0 is returned.
| |
| multElem_64 | back to summary |
|---|---|
| public static long multElem_64(long a, long b) | |