|
| |
|
|
A136415
|
|
Numbers n such that a type-3 Gaussian normal basis over GF(2^n) exists.
|
|
6
| |
|
|
4, 6, 12, 14, 20, 22, 46, 52, 54, 60, 70, 76, 92, 94, 116, 124, 126, 140, 166, 174, 180, 182, 204, 206, 214, 220, 230, 236, 244, 252, 262, 276, 284, 286, 292, 294, 302, 332, 340, 350, 356, 364, 372, 374, 390, 404, 412, 430, 460, 484, 494, 510, 516, 526, 532
(list; graph; refs; listen; history; internal format)
|
|
|
|
OFFSET
| 1,1
|
|
|
COMMENTS
| A type-t Gaussian normal basis exists for GF(2^n) if p=n*t+1 is prime and gcd(n,(p-1)/ord(2 mod p))==1.
Type-1 basis correspond to sequence A071642, type-2 basis to A054639.
|
|
|
LINKS
| Joerg Arndt (arndt(AT)jjj.de), Mar 31 2008, Table of n, a(n) for n = 1..201
Joerg Arndt, fxtbook, section 42.9 "Gaussian normal bases", pp.914-920
|
|
|
EXAMPLE
| 12 is in the list because 3*12+1=37 is prime and the index of 2 mod 37 (==36/ord(2 mod 37)==1, 2 is a generator mod 37) is coprime to 12.
|
|
|
PROG
| (PARI)
gauss_test(n, t)=
{ /* test whether a type-t Gaussian normal basis exists for GF(2^n) */
local( p, r2, g, d );
p = t*n + 1;
if ( !isprime(p), return( 0 ) );
if ( p<=2, return( 0 ) );
r2 = znorder( Mod(2, p) );
d = (p-1)/r2;
g = gcd(d, n);
return ( if ( 1==g, 1, 0) );
}
/* generate this sequence: */
t=3; ct=1; for(n=1, 10^7, if(gauss_test(n, t), print1(n, ", "); ct+=1; if(ct>200, break())))
|
|
|
CROSSREFS
| Cf. A071642, A054639.
Sequence in context: A110178 A140599 A047406 * A059891 A020213 A011979
Adjacent sequences: A136412 A136413 A136414 * A136416 A136417 A136418
|
|
|
KEYWORD
| nonn
|
|
|
AUTHOR
| Joerg Arndt (arndt(AT)jjj.de), Mar 31 2008
|
| |
|
|