[libmath-prime-util-perl] 11/33: No validation means we weren't stripping weirdness from input bit counts. Use int("bits") to normalize.
Partha P. Mukherjee
ppm-guest at moszumanska.debian.org
Thu May 21 18:51:41 UTC 2015
This is an automated email from the git hooks/post-receive script.
ppm-guest pushed a commit to annotated tag v0.37
in repository libmath-prime-util-perl.
commit 987e1d8305fbff6db4d6edd61b1591df2358f7d9
Author: Dana Jacobsen <dana at acm.org>
Date: Tue Jan 21 08:31:55 2014 -0800
No validation means we weren't stripping weirdness from input bit counts.
Use int("bits") to normalize.
---
lib/Math/Prime/Util/RandomPrimes.pm | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/lib/Math/Prime/Util/RandomPrimes.pm b/lib/Math/Prime/Util/RandomPrimes.pm
index 057ba97..2b7b0fa 100644
--- a/lib/Math/Prime/Util/RandomPrimes.pm
+++ b/lib/Math/Prime/Util/RandomPrimes.pm
@@ -93,7 +93,7 @@ sub _set_randf {
return 0 if $bits <= 0;
return ($_BRS->irand() >> (32-$bits))
if $bits <= 32;
- return ((($_BRS->irand() << 32) + $_BRS->irand()) >> (64-$bits))
+ return ( (($_BRS->irand() << 32) + $_BRS->irand()) >> (64-$bits) )
if $bits <= 64 && ~0 > 4294967295;
my $bytes = int(($bits+7)/8);
my $n = Math::BigInt->from_hex('0x' . $_BRS->bytes_hex($bytes));
@@ -555,6 +555,7 @@ my @_random_nbit_arange;
sub random_nbit_prime {
my($bits) = @_;
croak "random_nbit_prime, bits must be >= 2" unless $bits >= 2;
+ $bits = int("$bits");
_set_randf();
@@ -691,6 +692,7 @@ sub random_nbit_prime {
sub random_maurer_prime {
my $k = shift;
croak "random_maurer_prime, bits must be >= 2" unless $k >= 2;
+ $k = int("$k");
return random_nbit_prime($k) if $k <= MPU_MAXBITS && !OLD_PERL_VERSION;
@@ -703,6 +705,7 @@ sub random_maurer_prime {
sub random_maurer_prime_with_cert {
my $k = shift;
croak "random_maurer_prime, bits must be >= 2" unless $k >= 2;
+ $k = int("$k");
# This should never happen. Trap now to prevent infinite loop.
croak "number of bits must not be a bigint" if ref($k) eq 'Math::BigInt';
@@ -822,6 +825,7 @@ sub random_maurer_prime_with_cert {
sub random_strong_prime {
my $t = shift;
croak "random_strong_prime, bits must be >= 128" unless $t >= 128;
+ $t = int("$t");
croak "Random strong primes must be >= 173 bits on old Perl"
if OLD_PERL_VERSION && MPU_64BIT && $t < 173;
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libmath-prime-util-perl.git
More information about the Pkg-perl-cvs-commits
mailing list