[packages/perl-Crypt-OpenSSL-Bignum] - add mod_sqrt
adwol
adwol at pld-linux.org
Sat Apr 4 20:38:39 CEST 2020
commit 53288a45cc1d2f7491c06635b1e95e66fe68d6a4
Author: Adam Osuchowski <adwol at pld-linux.org>
Date: Sat Apr 4 20:38:17 2020 +0200
- add mod_sqrt
perl-Crypt-OpenSSL-Bignum-mod_sqrt.patch | 56 ++++++++++++++++++++++++++++++++
perl-Crypt-OpenSSL-Bignum.spec | 2 ++
2 files changed, 58 insertions(+)
---
diff --git a/perl-Crypt-OpenSSL-Bignum.spec b/perl-Crypt-OpenSSL-Bignum.spec
index 4666aaf..e7d7c13 100644
--- a/perl-Crypt-OpenSSL-Bignum.spec
+++ b/perl-Crypt-OpenSSL-Bignum.spec
@@ -14,6 +14,7 @@ License: GPL v1+ or Artistic
Group: Development/Languages/Perl
Source0: http://www.cpan.org/modules/by-module/Crypt/%{pdir}-%{pnam}-%{version}.tar.gz
# Source0-md5: c8ae05771c70c69b3e5647b29a885ed2
+Patch0: %{name}-mod_sqrt.patch
URL: http://search.cpan.org/dist/Crypt-OpenSSL-Bignum/
BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: perl-devel >= 1:5.8.0
@@ -38,6 +39,7 @@ parametry klucza z Crypt::OpenSSL::RSA.
%prep
%setup -q -n %{pdir}-%{pnam}-%{version}
+%patch0 -p1
%build
%{__perl} Makefile.PL \
diff --git a/perl-Crypt-OpenSSL-Bignum-mod_sqrt.patch b/perl-Crypt-OpenSSL-Bignum-mod_sqrt.patch
new file mode 100644
index 0000000..de98f4b
--- /dev/null
+++ b/perl-Crypt-OpenSSL-Bignum-mod_sqrt.patch
@@ -0,0 +1,56 @@
+diff -ruN Crypt-OpenSSL-Bignum-0.09.orig/Bignum.pm Crypt-OpenSSL-Bignum-0.09/Bignum.pm
+--- Crypt-OpenSSL-Bignum-0.09.orig/Bignum.pm 2017-12-01 20:07:57.000000000 +0100
++++ Crypt-OpenSSL-Bignum-0.09/Bignum.pm 2020-04-04 20:21:22.290086257 +0200
+@@ -314,6 +314,15 @@
+ a new Crypt::OpenSSL::Bignum object, using the second argument,
+ a Crypt::OpenSSL::Bignum::CTX object, as a scratchpad.
+
++=item mod_sqrt
++
++ my $new_bn_object = $self->mod_sqrt($bn_n, $ctx);
++ # new object is created $self is not modified
++
++Computes the square root of C<$self> modulo C<$bn_n> and returns the result in
++a new Crypt::OpenSSL::Bignum object, using the second argument,
++a Crypt::OpenSSL::Bignum::CTX object, as a scratchpad.
++
+ =item gcd
+
+ my $new_bn_object = $self->gcd($bn_b, $ctx);
+diff -ruN Crypt-OpenSSL-Bignum-0.09.orig/Bignum.xs Crypt-OpenSSL-Bignum-0.09/Bignum.xs
+--- Crypt-OpenSSL-Bignum-0.09.orig/Bignum.xs 2017-12-01 20:05:15.000000000 +0100
++++ Crypt-OpenSSL-Bignum-0.09/Bignum.xs 2020-04-04 20:21:04.377184936 +0200
+@@ -354,6 +354,20 @@
+ RETVAL
+
+ Crypt::OpenSSL::Bignum
++BN_mod_sqrt(self, n, ctx)
++ Crypt::OpenSSL::Bignum self;
++ Crypt::OpenSSL::Bignum n;
++ Crypt::OpenSSL::Bignum::CTX ctx;
++ PREINIT:
++ BIGNUM* bn;
++ CODE:
++ checkOpenSslCall( bn = BN_new() );
++ checkOpenSslCall( BN_mod_sqrt( bn, self, n, ctx ) );
++ RETVAL = bn;
++ OUTPUT:
++ RETVAL
++
++Crypt::OpenSSL::Bignum
+ BN_gcd(self, b, ctx)
+ Crypt::OpenSSL::Bignum self;
+ Crypt::OpenSSL::Bignum b;
+diff -ruN Crypt-OpenSSL-Bignum-0.09.orig/test.pl Crypt-OpenSSL-Bignum-0.09/test.pl
+--- Crypt-OpenSSL-Bignum-0.09.orig/test.pl 2016-10-22 12:46:23.000000000 +0200
++++ Crypt-OpenSSL-Bignum-0.09/test.pl 2020-04-04 20:28:16.946804394 +0200
+@@ -125,6 +125,9 @@
+ ok( 36 == $bn6->sqr( $ctx )->get_word() );
+ ok( 12 == $bn23->mod_inverse( $bn25, $ctx )->get_word() );
+
++my $bn18 = _new_bn( 18 );
++ok( 8 == $bn18->mod_sqrt( $bn23, $ctx )->get_word() );
++
+ ok(Crypt::OpenSSL::Bignum->new()->get_word == 0);
+ ok(Crypt::OpenSSL::Bignum->rand(32, 0, 0));
+ ok(Crypt::OpenSSL::Bignum->pseudo_rand(32, 0, 0));
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/perl-Crypt-OpenSSL-Bignum.git/commitdiff/53288a45cc1d2f7491c06635b1e95e66fe68d6a4
More information about the pld-cvs-commit
mailing list