blob: bc85909bfb1062693381403e279ba79fd56cc8e8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
#!/bin/perl
# bn_prime.pl
$num=2048;
$num=$ARGV[0] if ($#ARGV >= 0);
push(@primes,2);
$p=1;
loop: while ($#primes < $num-1)
{
$p+=2;
$s=int(sqrt($p));
for ($i=0; defined($primes[$i]) && $primes[$i]<=$s; $i++)
{
next loop if (($p%$primes[$i]) == 0);
}
push(@primes,$p);
}
# print <<"EOF";
# /* Auto generated by bn_prime.pl */
# /* Copyright (C) 1995-1997 Eric Young (eay\@mincom.oz.au).
# * All rights reserved.
# * Copyright remains Eric Young's, and as such any Copyright notices in
# * the code are not to be removed.
# * See the COPYRIGHT file in the SSLeay distribution for more details.
# */
#
# EOF
printf("/*\t\$" . "OpenBSD" . "\$ */\n");
print <<\EOF;
/*
* Public domain, generated by bn_prime.pl.
*/
EOF
print "#include \"bn_prime.h\"\n\n";
print "const uint16_t primes[NUMPRIMES] = {";
for ($i=0; $i <= $#primes; $i++)
{
if ((($i%8) == 0)) {
printf("\n\t")
} else {
printf(" ");
}
printf("%5d,",$primes[$i]);
}
print "\n};\n";
|