|
Search: id:A136415
|
|
|
| A136415 |
|
Numbers n such that a type-3 Gaussian normal basis over GF(2^n) exists. |
|
+0 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; listen)
|
|
|
OFFSET
|
1,1
|
|
|
COMMENT
|
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 (draft of the book "Algorithms for Programmers")
|
|
EXAMPLE
|
12 is in the list because 3*12+1=37 is prime an the index of 2 mod 37 (==36/ord(2 mod 37)==1, 2 is a generator mod 37) is coprime to 12.
|
|
PROGRAM
|
(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.
Adjacent sequences: A136412 A136413 A136414 this_sequence A136416 A136417 A136418
Sequence in context: A110178 A140599 A047406 this_sequence A059891 A020213 A011979
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
Joerg Arndt (arndt(AT)jjj.de), Mar 31 2008
|
|
|
Search completed in 0.002 seconds
|