summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/bn/bn_prime.pl
diff options
context:
space:
mode:
authorcvs2svn <admin@example.com>2025-04-14 17:32:06 +0000
committercvs2svn <admin@example.com>2025-04-14 17:32:06 +0000
commitb1ddde874c215cc8891531ed92876f091b7eb83e (patch)
treeedb6da6af7e865d488dc1a29309f1e1ec226e603 /src/lib/libcrypto/bn/bn_prime.pl
parentf0a36529837a161734c802ae4c42e84e42347be2 (diff)
downloadopenbsd-tb_20250414.tar.gz
openbsd-tb_20250414.tar.bz2
openbsd-tb_20250414.zip
This commit was manufactured by cvs2git to create tag 'tb_20250414'.tb_20250414
Diffstat (limited to 'src/lib/libcrypto/bn/bn_prime.pl')
-rw-r--r--src/lib/libcrypto/bn/bn_prime.pl100
1 files changed, 0 insertions, 100 deletions
diff --git a/src/lib/libcrypto/bn/bn_prime.pl b/src/lib/libcrypto/bn/bn_prime.pl
deleted file mode 100644
index f638e4a9a4..0000000000
--- a/src/lib/libcrypto/bn/bn_prime.pl
+++ /dev/null
@@ -1,100 +0,0 @@
1#!/usr/bin/perl
2# $OpenBSD: bn_prime.pl,v 1.12 2023/03/26 08:04:57 tb Exp $
3#
4# Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
5# All rights reserved.
6#
7# This package is an SSL implementation written
8# by Eric Young (eay@cryptsoft.com).
9# The implementation was written so as to conform with Netscapes SSL.
10#
11# This library is free for commercial and non-commercial use as long as
12# the following conditions are aheared to. The following conditions
13# apply to all code found in this distribution, be it the RC4, RSA,
14# lhash, DES, etc., code; not just the SSL code. The SSL documentation
15# included with this distribution is covered by the same copyright terms
16# except that the holder is Tim Hudson (tjh@cryptsoft.com).
17#
18# Copyright remains Eric Young's, and as such any Copyright notices in
19# the code are not to be removed.
20# If this package is used in a product, Eric Young should be given attribution
21# as the author of the parts of the library used.
22# This can be in the form of a textual message at program startup or
23# in documentation (online or textual) provided with the package.
24#
25# Redistribution and use in source and binary forms, with or without
26# modification, are permitted provided that the following conditions
27# are met:
28# 1. Redistributions of source code must retain the copyright
29# notice, this list of conditions and the following disclaimer.
30# 2. Redistributions in binary form must reproduce the above copyright
31# notice, this list of conditions and the following disclaimer in the
32# documentation and/or other materials provided with the distribution.
33# 3. All advertising materials mentioning features or use of this software
34# must display the following acknowledgement:
35# "This product includes cryptographic software written by
36# Eric Young (eay@cryptsoft.com)"
37# The word 'cryptographic' can be left out if the rouines from the library
38# being used are not cryptographic related :-).
39# 4. If you include any Windows specific code (or a derivative thereof) from
40# the apps directory (application code) you must include an acknowledgement:
41# "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
42#
43# THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
44# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
45# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
46# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
47# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
48# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
49# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
50# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
51# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
52# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
53# SUCH DAMAGE.
54#
55# The licence and distribution terms for any publically available version or
56# derivative of this code cannot be changed. i.e. this code cannot simply be
57# copied and put under another distribution licence
58# [including the GNU Public Licence.]
59
60use strict;
61use warnings;
62
63my ($i, $num, $p, $s, @primes);
64
65$num = 2048;
66$num = $ARGV[0] if $#ARGV >= 0;
67
68# The 6543rd prime is 2^16 + 1.
69die "$num must be smaller than 6543" if $num >= 6543;
70
71push(@primes, 2);
72$p = 1;
73
74loop:
75while ($#primes < $num - 1) {
76 $p += 2;
77 $s = int(sqrt($p));
78
79 for ($i = 0; defined($primes[$i]) && $primes[$i] <= $s; $i++) {
80 next loop if $p % $primes[$i] == 0;
81 }
82
83 die "\$primes[$i] is too large: $primes[$i]" if $primes[$i] > 65535;
84 push(@primes, $p);
85}
86
87printf("/*\t\$" . "OpenBSD" . "\$ */\n");
88print <<\EOF;
89/*
90 * Public domain, generated by bn_prime.pl.
91 */
92
93EOF
94
95print "#include \"bn_prime.h\"\n\n";
96print "const uint16_t primes[NUMPRIMES] = {";
97for ($i = 0; $i <= $#primes; $i++) {
98 printf("%s%5d,", $i % 8 == 0 ? "\n\t" : " ", $primes[$i]);
99}
100print "\n};\n";