// output of ./demo/gf2n/gf2n-demo.cc: // Description: //% Arithmetics over GF(2**n). arg 1: 4 == n [degree of field (n>=2)] default=4 args 2,3,... : [Optionally supply nonzero coefficients of field poly c] n = 4 GF(2^n) c = 1..11 == x^4 + x + 1 (polynomial modulus) mm= .1111 == 15 = 3 * 5 (maximal order) h = .1... (aux. bit-mask) g = ...1. (element of maximal order) tv= .1... (traces of x^i) tr1e= .1... (element with trace=1) k : f:=g**k Tr(f) ord(f) f*f sqrt(f) .... : ...1 0 1 ...1 ...1 ...1 : ..1. 0 15 .1.. .1.1 ..1. : .1.. 0 15 ..11 ..1. ..11 : 1... 1 5 11.. 1.1. .1.. : ..11 0 15 .1.1 .1.. .1.1 : .11. 0 3 .111 .111 .11. : 11.. 1 5 1111 1... .111 : 1.11 1 15 1..1 111. 1... : .1.1 0 15 ..1. ..11 1..1 : 1.1. 1 5 1... 1111 1.1. : .111 0 3 .11. .11. 1.11 : 111. 1 15 1.11 11.1 11.. : 1111 1 5 1.1. 11.. 11.1 : 11.1 1 15 111. 1..1 111. : 1..1 1 15 11.1 1.11