diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-06-16 21:23:20 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-06-16 21:23:20 +0100 |
commit | fab849d1daed0ba7f2ac497d07985c3dbb692543 (patch) | |
tree | 10baa743a5340b42ad538dd19d48669ccac209b1 /dev-perl/Crypt-Curve25519 | |
parent | 73c318acdaf6f8309d68bd266051e6dd1f1bd787 (diff) |
gentoo resync : 16.06.2019
Diffstat (limited to 'dev-perl/Crypt-Curve25519')
3 files changed, 179 insertions, 2 deletions
diff --git a/dev-perl/Crypt-Curve25519/Crypt-Curve25519-0.60.0.ebuild b/dev-perl/Crypt-Curve25519/Crypt-Curve25519-0.60.0.ebuild index 058124122629..85c685c418fa 100644 --- a/dev-perl/Crypt-Curve25519/Crypt-Curve25519-0.60.0.ebuild +++ b/dev-perl/Crypt-Curve25519/Crypt-Curve25519-0.60.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -12,6 +12,8 @@ SLOT="0" KEYWORDS="amd64 x86" IUSE="test" +PATCHES="${FILESDIR}/${P}-fmul-fixedvar.patch" + RDEPEND=" virtual/perl-Carp virtual/perl-Exporter diff --git a/dev-perl/Crypt-Curve25519/Manifest b/dev-perl/Crypt-Curve25519/Manifest index 3592b5de432f..d53e5e230100 100644 --- a/dev-perl/Crypt-Curve25519/Manifest +++ b/dev-perl/Crypt-Curve25519/Manifest @@ -1,3 +1,4 @@ +AUX Crypt-Curve25519-0.60.0-fmul-fixedvar.patch 6225 BLAKE2B 96227f80b3da21226400d4e94089c18ab630307d1ae172d4b2b42344998f933e5540ba45bde91199735fbc2b0ce42840a9096337c098672981c741bd2339e30f SHA512 e534ee2ca915287c97622cf7b1cca889416a1bf31f6f80c263a7bc02638c95a6f4058665deebeb42f0d5fb5775279902bfb431f31e16f8230e115a712d663c03 DIST Crypt-Curve25519-0.06.tar.gz 27835 BLAKE2B 39ab90ae4044e897a9cf24c21d5a922520dc1724e0aa4612864ce996b27fe9234111cc8394f60caeac9734cab64f3a378a74b3eaf087ee5e6b3d168fa967f5bf SHA512 e5d351c36c9f60e1b55f45bf9fa871fddf949bd5c0a20b4d065e1eb2d4e24ba43807289591eda854fca28b5909fd6af1b0fc9ede63efbeeaf6e011e7382a4e1d -EBUILD Crypt-Curve25519-0.60.0.ebuild 509 BLAKE2B 22a593618d035c64b9b56dcb583484b35c0c5145d541d217d60d563aa35a4d01440093975f4a302065390ddfb694ea9be5a168abfe215036c2e09f8cc2863eae SHA512 de364c15963074ca1865de8331ad68667edd405c11cd119db20068329b504e1dd574a8419bf847c9c5dc1b8e48d64b14fe94ccd6167f4ffdd12283049f857486 +EBUILD Crypt-Curve25519-0.60.0.ebuild 554 BLAKE2B 9167a04b7a23824b4e13c4c7eaedf5e4d98584797914aec43b61c0408b13679c9c6e0310c1dbd386a88ffdf05e9eb9dc350cd6e6580ed1a3d7ac1565a9c90100 SHA512 b6cfd8965050e0e73aa3624f4b0cdbbf54a5dfa524b9e936cc25bbb9af3e39af2bb7fdfbcb8eb18d76bc790c8cfb684204a983f22808c2a66ae07bcb8a685b7a MISC metadata.xml 404 BLAKE2B 10ed7e808c1aae4061047a0e272d0ec67f179044d1317d49ef6938ffeff38ed5a5514c6ce64f936cbb377c20c03afd42cc2388f420b0b318951c5200ae103811 SHA512 3476e3a46b08c83e99c2957eac5e2a4468a5f624e74772a2ea817f640acc6c8de018897d34fa516a5d2ecb24f84fe45f63f20682522993ff328d8cf2b76b89f8 diff --git a/dev-perl/Crypt-Curve25519/files/Crypt-Curve25519-0.60.0-fmul-fixedvar.patch b/dev-perl/Crypt-Curve25519/files/Crypt-Curve25519-0.60.0-fmul-fixedvar.patch new file mode 100644 index 000000000000..83f3e7e5130f --- /dev/null +++ b/dev-perl/Crypt-Curve25519/files/Crypt-Curve25519-0.60.0-fmul-fixedvar.patch @@ -0,0 +1,174 @@ +diff -uNr Crypt-Curve25519-0.06.ORIG/curve25519-donna.c Crypt-Curve25519-0.06/curve25519-donna.c +--- Crypt-Curve25519-0.06.ORIG/curve25519-donna.c 2019-06-13 11:19:36.492819752 +0100 ++++ Crypt-Curve25519-0.06/curve25519-donna.c 2019-06-13 11:19:55.595991363 +0100 +@@ -325,7 +325,7 @@ + * reduced coefficient. + */ + static void +-fmul(limb *output, const limb *in, const limb *in2) { ++fixedvar(limb *output, const limb *in, const limb *in2) { + limb t[19]; + fproduct(t, in, in2); + freduce_degree(t); +@@ -661,54 +661,54 @@ + /* 2 */ fsquare(z2,z); + /* 4 */ fsquare(t1,z2); + /* 8 */ fsquare(t0,t1); +- /* 9 */ fmul(z9,t0,z); +- /* 11 */ fmul(z11,z9,z2); ++ /* 9 */ fixedvar(z9,t0,z); ++ /* 11 */ fixedvar(z11,z9,z2); + /* 22 */ fsquare(t0,z11); +- /* 2^5 - 2^0 = 31 */ fmul(z2_5_0,t0,z9); ++ /* 2^5 - 2^0 = 31 */ fixedvar(z2_5_0,t0,z9); + + /* 2^6 - 2^1 */ fsquare(t0,z2_5_0); + /* 2^7 - 2^2 */ fsquare(t1,t0); + /* 2^8 - 2^3 */ fsquare(t0,t1); + /* 2^9 - 2^4 */ fsquare(t1,t0); + /* 2^10 - 2^5 */ fsquare(t0,t1); +- /* 2^10 - 2^0 */ fmul(z2_10_0,t0,z2_5_0); ++ /* 2^10 - 2^0 */ fixedvar(z2_10_0,t0,z2_5_0); + + /* 2^11 - 2^1 */ fsquare(t0,z2_10_0); + /* 2^12 - 2^2 */ fsquare(t1,t0); + /* 2^20 - 2^10 */ for (i = 2;i < 10;i += 2) { fsquare(t0,t1); fsquare(t1,t0); } +- /* 2^20 - 2^0 */ fmul(z2_20_0,t1,z2_10_0); ++ /* 2^20 - 2^0 */ fixedvar(z2_20_0,t1,z2_10_0); + + /* 2^21 - 2^1 */ fsquare(t0,z2_20_0); + /* 2^22 - 2^2 */ fsquare(t1,t0); + /* 2^40 - 2^20 */ for (i = 2;i < 20;i += 2) { fsquare(t0,t1); fsquare(t1,t0); } +- /* 2^40 - 2^0 */ fmul(t0,t1,z2_20_0); ++ /* 2^40 - 2^0 */ fixedvar(t0,t1,z2_20_0); + + /* 2^41 - 2^1 */ fsquare(t1,t0); + /* 2^42 - 2^2 */ fsquare(t0,t1); + /* 2^50 - 2^10 */ for (i = 2;i < 10;i += 2) { fsquare(t1,t0); fsquare(t0,t1); } +- /* 2^50 - 2^0 */ fmul(z2_50_0,t0,z2_10_0); ++ /* 2^50 - 2^0 */ fixedvar(z2_50_0,t0,z2_10_0); + + /* 2^51 - 2^1 */ fsquare(t0,z2_50_0); + /* 2^52 - 2^2 */ fsquare(t1,t0); + /* 2^100 - 2^50 */ for (i = 2;i < 50;i += 2) { fsquare(t0,t1); fsquare(t1,t0); } +- /* 2^100 - 2^0 */ fmul(z2_100_0,t1,z2_50_0); ++ /* 2^100 - 2^0 */ fixedvar(z2_100_0,t1,z2_50_0); + + /* 2^101 - 2^1 */ fsquare(t1,z2_100_0); + /* 2^102 - 2^2 */ fsquare(t0,t1); + /* 2^200 - 2^100 */ for (i = 2;i < 100;i += 2) { fsquare(t1,t0); fsquare(t0,t1); } +- /* 2^200 - 2^0 */ fmul(t1,t0,z2_100_0); ++ /* 2^200 - 2^0 */ fixedvar(t1,t0,z2_100_0); + + /* 2^201 - 2^1 */ fsquare(t0,t1); + /* 2^202 - 2^2 */ fsquare(t1,t0); + /* 2^250 - 2^50 */ for (i = 2;i < 50;i += 2) { fsquare(t0,t1); fsquare(t1,t0); } +- /* 2^250 - 2^0 */ fmul(t0,t1,z2_50_0); ++ /* 2^250 - 2^0 */ fixedvar(t0,t1,z2_50_0); + + /* 2^251 - 2^1 */ fsquare(t1,t0); + /* 2^252 - 2^2 */ fsquare(t0,t1); + /* 2^253 - 2^3 */ fsquare(t1,t0); + /* 2^254 - 2^4 */ fsquare(t0,t1); + /* 2^255 - 2^5 */ fsquare(t1,t0); +- /* 2^255 - 21 */ fmul(out,t1,z11); ++ /* 2^255 - 21 */ fixedvar(out,t1,z11); + } + + int curve25519_donna(u8 *, const u8 *, const u8 *); +@@ -727,7 +727,7 @@ + fexpand(bp, basepoint); + cmult(x, z, e, bp); + crecip(zmone, z); +- fmul(z, x, zmone); ++ fixedvar(z, x, zmone); + freduce_coefficients(z); + fcontract(mypublic, z); + return 0; +diff -uNr Crypt-Curve25519-0.06.ORIG/curve25519-donna-c64.c Crypt-Curve25519-0.06/curve25519-donna-c64.c +--- Crypt-Curve25519-0.06.ORIG/curve25519-donna-c64.c 2019-06-13 11:19:36.492819752 +0100 ++++ Crypt-Curve25519-0.06/curve25519-donna-c64.c 2019-06-13 11:19:55.598991390 +0100 +@@ -96,7 +96,7 @@ + * On return, output[i] < 2**52 + */ + static inline void force_inline +-fmul(felem output, const felem in2, const felem in) { ++fixedvar(felem output, const felem in2, const felem in) { + uint128_t t[5]; + limb r0,r1,r2,r3,r4,s0,s1,s2,s3,s4,c; + +@@ -305,22 +305,22 @@ + memcpy(origxprime, xprime, sizeof(limb) * 5); + fsum(xprime, zprime); + fdifference_backwards(zprime, origxprime); +- fmul(xxprime, xprime, z); +- fmul(zzprime, x, zprime); ++ fixedvar(xxprime, xprime, z); ++ fixedvar(zzprime, x, zprime); + memcpy(origxprime, xxprime, sizeof(limb) * 5); + fsum(xxprime, zzprime); + fdifference_backwards(zzprime, origxprime); + fsquare_times(x3, xxprime, 1); + fsquare_times(zzzprime, zzprime, 1); +- fmul(z3, zzzprime, qmqp); ++ fixedvar(z3, zzzprime, qmqp); + + fsquare_times(xx, x, 1); + fsquare_times(zz, z, 1); +- fmul(x2, xx, zz); ++ fixedvar(x2, xx, zz); + fdifference_backwards(zz, xx); // does zz = xx - zz + fscalar_product(zzz, zz, 121665); + fsum(zzz, xx); +- fmul(z2, zz, zzz); ++ fixedvar(z2, zz, zzz); + } + + // ----------------------------------------------------------------------------- +@@ -405,26 +405,26 @@ + + /* 2 */ fsquare_times(a, z, 1); // a = 2 + /* 8 */ fsquare_times(t0, a, 2); +- /* 9 */ fmul(b, t0, z); // b = 9 +- /* 11 */ fmul(a, b, a); // a = 11 ++ /* 9 */ fixedvar(b, t0, z); // b = 9 ++ /* 11 */ fixedvar(a, b, a); // a = 11 + /* 22 */ fsquare_times(t0, a, 1); +- /* 2^5 - 2^0 = 31 */ fmul(b, t0, b); ++ /* 2^5 - 2^0 = 31 */ fixedvar(b, t0, b); + /* 2^10 - 2^5 */ fsquare_times(t0, b, 5); +- /* 2^10 - 2^0 */ fmul(b, t0, b); ++ /* 2^10 - 2^0 */ fixedvar(b, t0, b); + /* 2^20 - 2^10 */ fsquare_times(t0, b, 10); +- /* 2^20 - 2^0 */ fmul(c, t0, b); ++ /* 2^20 - 2^0 */ fixedvar(c, t0, b); + /* 2^40 - 2^20 */ fsquare_times(t0, c, 20); +- /* 2^40 - 2^0 */ fmul(t0, t0, c); ++ /* 2^40 - 2^0 */ fixedvar(t0, t0, c); + /* 2^50 - 2^10 */ fsquare_times(t0, t0, 10); +- /* 2^50 - 2^0 */ fmul(b, t0, b); ++ /* 2^50 - 2^0 */ fixedvar(b, t0, b); + /* 2^100 - 2^50 */ fsquare_times(t0, b, 50); +- /* 2^100 - 2^0 */ fmul(c, t0, b); ++ /* 2^100 - 2^0 */ fixedvar(c, t0, b); + /* 2^200 - 2^100 */ fsquare_times(t0, c, 100); +- /* 2^200 - 2^0 */ fmul(t0, t0, c); ++ /* 2^200 - 2^0 */ fixedvar(t0, t0, c); + /* 2^250 - 2^50 */ fsquare_times(t0, t0, 50); +- /* 2^250 - 2^0 */ fmul(t0, t0, b); ++ /* 2^250 - 2^0 */ fixedvar(t0, t0, b); + /* 2^255 - 2^5 */ fsquare_times(t0, t0, 5); +- /* 2^255 - 21 */ fmul(out, t0, a); ++ /* 2^255 - 21 */ fixedvar(out, t0, a); + } + + int curve25519_donna(u8 *, const u8 *, const u8 *); +@@ -443,7 +443,7 @@ + fexpand(bp, basepoint); + cmult(x, z, e, bp); + crecip(zmone, z); +- fmul(z, x, zmone); ++ fixedvar(z, x, zmone); + fcontract(mypublic, z); + return 0; + } |