1VOMS::Lite::RSAKey(3) User Contributed Perl DocumentationVOMS::Lite::RSAKey(3)
2
3
4

NAME

6       VOMS::Lite::RSAKey - Perl extension for RSA Key Generation
7

SYNOPSIS

9         use VOMS::Lite::RSAKey;
10         %RSAKey = %{ VOMS::Lite::RSAKey::Create(%inputref) };
11

DESCRIPTION

13   VOMS::Lite::RSAKey::Create
14         Generates an RSA key using the MillerRabin Prime search for probable primes.
15         %inputref may have the following set
16           Bits => bits e.g. 512
17           RandomFile /path/to/random e.g. /dev/random or /dev/urandom,
18                      or a reference to a function where:
19                        $_[0] contains the number of bytes of random
20                        Returns a string of random bytes.
21           Verbose => 'y'
22
23         returns
24           A reference to a hash: either:
25                  Errors ( a regernec to an array of errors )
26                  - or -
27                  Modulus, PublicExponent, PrivateExponent, Prime1, Prime2,
28                  Exponent1, Exponent2, Phi
29                  and
30                  Bits = the number of bits for generated key
31
32   VOMS::Lite::RSAKey::Random
33         Math::BigInt Random ( \%inputref );
34         where %inputref consists of:
35           Bits => number of bits of random number to generate e.g. 256
36           - or -
37           Upper => upper limit of random number to generate (scalar or Math::BigInt)
38           Lower => lower limit (default = 0)
39
40           Parity => "Odd" | "Even"
41
42         returns Math::BigInt object;
43
44   VOMS::Lite::RSAKey::Finder
45         Finder( \%inputref ) finds the next 'probable' prime number after a given number.
46         where %inputref consists of:
47           Start => (number scalar or Math::BigInt to start searching at)
48           Tests => a string consisting of DFSM (tests are performed in the order specified)
49                      D is VOMS::Lite::RSAKey::DivisionTest
50                      F is VOMS::Lite::RSAKey::FermatTest
51                      S is VOMS::Lite::RSAKey::SolovayStrassenTest
52                      M is VOMS::Lite::RSAKey::MillerRabinTest
53                    Default is 'M'.
54           %inputref is passed through as an input to the above tests.
55
56           Returns reference to hash which includes either
57             Errors a reference to an array of errors
58              - or -
59             Candidate => Math::BigInt prime candidate
60
61   VOMS::Lite::RSAKey::DivisionTest
62         DivisionTest( \%inputref ) tests the candidate for primality
63         by division by known small primes (upto the first 10000).
64         This is a slow implementation.
65         %inputref consist of
66           Candidate => scalar or Math::BigInt to test
67           D = the number of prime divisors to test; the default is the maximum 10000
68         returns 0 if Candidate has small prime divisor
69         otherwise returns 1
70
71   VOMS::Lite::RSAKey::FermatTest
72         FermatTest( \%inputref ) tests the candidate for probable primality
73         This is not a good test
74         %inputref consist of
75           Candidate => scalar or Math::BigInt to test
76           F = the number of random divisors to test; the default is 10
77         returns 0 if composite
78         returns 1 if probably prime
79
80   VOMS::Lite::RSAKey::SolovayStrassenTest
81         SolovayStrassenTest( \%inputref ) tests the candidate for probable primality
82         This is a slow test and not as good as the MillerRabinTest
83         %inputref consist of
84           Candidate => scalar or Math::BigInt to test
85           S = the number of random divisors to test; the default is 10
86         returns 0 if composite
87         returns 1 if probably prime
88
89   VOMS::Lite::RSAKey::JacobiSymbol
90         Used by SolovayStrassenTest
91
92   VOMS::Lite::RSAKey::MillerRabinTest
93         MillerRabinTest( \%inputref ) tests the candidate for probable primality
94         %inputref consist of
95           Candidate => scalar or Math::BigInt to test
96           M = the number of random divisors to test; the default is
97               calculated based upon table Handbook of Applied Cryptography table 4.4
98         returns 0 if composite
99         returns 1 if probably prime
100
101   EXPORT
102       None by default;
103

SEE ALSO

105       http://www.rcs.manchester.ac.uk/research/sarongs
106
107       This module was originally designed for the SARoNGS project at The
108       University of Manchester for the NGS.
109       http://www.rcs.manchester.ac.uk/research/sarongs http://www.ngs.ac.uk
110
111       Handbook of Applied Cryptography, CRC Press, ISBN: 0-8493-8523-7,
112       October 1996.
113

AUTHOR

115       Mike Jones <mike.jones@manchester.ac.uk>
116
118       Copyright (C) 2006 2010 by Mike Jones
119
120       This library is free software; you can redistribute it and/or modify it
121       under the same terms as Perl itself, either Perl version 5.8.3 or, at
122       your option, any later version of Perl 5 you may have available.
123
124
125
126perl v5.32.0                      2020-07-28             VOMS::Lite::RSAKey(3)
Impressum