]> git.pld-linux.org Git - packages/perl-Crypt-OpenSSL-Bignum.git/blob - perl-Crypt-OpenSSL-Bignum-mod_sqrt.patch
- updated URL
[packages/perl-Crypt-OpenSSL-Bignum.git] / perl-Crypt-OpenSSL-Bignum-mod_sqrt.patch
1 diff -ruN Crypt-OpenSSL-Bignum-0.09.orig/Bignum.pm Crypt-OpenSSL-Bignum-0.09/Bignum.pm
2 --- Crypt-OpenSSL-Bignum-0.09.orig/Bignum.pm    2017-12-01 20:07:57.000000000 +0100
3 +++ Crypt-OpenSSL-Bignum-0.09/Bignum.pm 2020-04-04 20:21:22.290086257 +0200
4 @@ -314,6 +314,15 @@
5  a new Crypt::OpenSSL::Bignum object, using the second argument,
6  a Crypt::OpenSSL::Bignum::CTX object, as a scratchpad.
7  
8 +=item mod_sqrt
9 +
10 + my $new_bn_object = $self->mod_sqrt($bn_n, $ctx);
11 + # new object is created $self is not modified
12 +
13 +Computes the square root of C<$self> modulo C<$bn_n> and returns the result in
14 +a new Crypt::OpenSSL::Bignum object, using the second argument,
15 +a Crypt::OpenSSL::Bignum::CTX object, as a scratchpad.
16 +
17  =item gcd
18  
19   my $new_bn_object = $self->gcd($bn_b, $ctx);
20 diff -ruN Crypt-OpenSSL-Bignum-0.09.orig/Bignum.xs Crypt-OpenSSL-Bignum-0.09/Bignum.xs
21 --- Crypt-OpenSSL-Bignum-0.09.orig/Bignum.xs    2017-12-01 20:05:15.000000000 +0100
22 +++ Crypt-OpenSSL-Bignum-0.09/Bignum.xs 2020-04-04 20:21:04.377184936 +0200
23 @@ -354,6 +354,20 @@
24      RETVAL
25  
26  Crypt::OpenSSL::Bignum
27 +BN_mod_sqrt(self, n, ctx)
28 +    Crypt::OpenSSL::Bignum self;
29 +    Crypt::OpenSSL::Bignum n;
30 +    Crypt::OpenSSL::Bignum::CTX ctx;
31 +  PREINIT:
32 +    BIGNUM* bn;
33 +  CODE:
34 +    checkOpenSslCall( bn = BN_new() );
35 +    checkOpenSslCall( BN_mod_sqrt( bn, self, n, ctx ) );
36 +    RETVAL = bn;
37 +  OUTPUT:
38 +    RETVAL
39 +
40 +Crypt::OpenSSL::Bignum
41  BN_gcd(self, b, ctx)
42      Crypt::OpenSSL::Bignum self;
43      Crypt::OpenSSL::Bignum b;
44 diff -ruN Crypt-OpenSSL-Bignum-0.09.orig/test.pl Crypt-OpenSSL-Bignum-0.09/test.pl
45 --- Crypt-OpenSSL-Bignum-0.09.orig/test.pl      2016-10-22 12:46:23.000000000 +0200
46 +++ Crypt-OpenSSL-Bignum-0.09/test.pl   2020-04-04 20:28:16.946804394 +0200
47 @@ -125,6 +125,9 @@
48  ok( 36 == $bn6->sqr( $ctx )->get_word() );
49  ok( 12 == $bn23->mod_inverse( $bn25, $ctx )->get_word() );
50  
51 +my $bn18 = _new_bn( 18 );
52 +ok( 8 == $bn18->mod_sqrt( $bn23, $ctx )->get_word() );
53 +
54  ok(Crypt::OpenSSL::Bignum->new()->get_word == 0);
55  ok(Crypt::OpenSSL::Bignum->rand(32, 0, 0));
56  ok(Crypt::OpenSSL::Bignum->pseudo_rand(32, 0, 0));
This page took 0.026669 seconds and 3 git commands to generate.