diff options
Diffstat (limited to 'docs/LIBS.md')
| -rw-r--r-- | docs/LIBS.md | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/docs/LIBS.md b/docs/LIBS.md index 903aef4..bfe20cd 100644 --- a/docs/LIBS.md +++ b/docs/LIBS.md @@ -9,50 +9,50 @@ Popular libraries with at least some ECC support: - [OpenSSL (FIPS mode)](https://www.openssl.org/docs/fipsnotes.html) - [Microsoft CNG](https://msdn.microsoft.com/en-us/library/windows/desktop/aa376210(v=vs.85).aspx) - [Microsoft .NET crypto](https://docs.microsoft.com/en-us/dotnet/standard/security/cryptography-model) - + # Supported libraries - [BouncyCastle](https://bouncycastle.org/java.html) - Java - Works with the short Weierstrass curve model. - Works with coordinates: - - Affine - - Projective(Homogenous) - - Jacobian - - Jacobian-Chudnovsky - - Jacobian-Modified - - Lambda-Affine? - - Lambda-Projective? - - Skewed? + - Affine + - Projective(Homogenous) + - Jacobian + - Jacobian-Chudnovsky + - Jacobian-Modified + - Lambda-Affine? + - Lambda-Projective? + - Skewed? - Multiple scalar multiplication algorithms implemented and used: - - Double-and-add always (DoubleAddMultiplier) - - Fixed point comb (FixedPointCombMultiplier) - - GLV (Gallant-Lambert-Vanstone) using endomorphisms (GLVMultiplier): Faster point multiplication on elliptic curves with efficient endomorphisms. <-- default, if available - - Binary NAF right-to-left multiplication(mixed coordinates) (MixedNafR2LMultiplier) - - Montgomery ladder (MontgomeryLadderMultiplier) - - Binary NAF right-to-left multiplication (NafR2LMultiplier) - - Binary NAF left-to-right multiplication (NafL2RMultiplier) - - Double-and-add reference implementation (ReferenceMultiplier) - - Window NAF left-to-right multiplication (WNafL2RMultiplier) <-- default - - Window Tau-NAF multiplication (WTauNafMultiplier): Improved Algorithms for Arithmetic on Anomalous Binary Curves - - Zeroless signed digit binary right-to-left multiplication (ZSignedDigitR2LMultiplier) - - Zeroless signed digit binary left-to-right multiplication (ZSignedDigitL2RMultiplier) + - Double-and-add always (DoubleAddMultiplier) + - Fixed point comb (FixedPointCombMultiplier) + - GLV (Gallant-Lambert-Vanstone) using endomorphisms (GLVMultiplier): Faster point multiplication on elliptic curves with efficient endomorphisms. <-- default, if available + - Binary NAF right-to-left multiplication(mixed coordinates) (MixedNafR2LMultiplier) + - Montgomery ladder (MontgomeryLadderMultiplier) + - Binary NAF right-to-left multiplication (NafR2LMultiplier) + - Binary NAF left-to-right multiplication (NafL2RMultiplier) + - Double-and-add reference implementation (ReferenceMultiplier) + - Window NAF left-to-right multiplication (WNafL2RMultiplier) <-- default + - Window Tau-NAF multiplication (WTauNafMultiplier): Improved Algorithms for Arithmetic on Anomalous Binary Curves + - Zeroless signed digit binary right-to-left multiplication (ZSignedDigitR2LMultiplier) + - Zeroless signed digit binary left-to-right multiplication (ZSignedDigitL2RMultiplier) - Has custom field and point arithmetic for: - - Curve25519 (transformed into short Weierstrass model) - - SMP2 curves - - SECG curves + - Curve25519 (transformed into short Weierstrass model) + - SMP2 curves + - SECG curves - [Sun EC](https://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html#SunEC) - Java + C - Uses the short Weierstrass curve model. - For prime field curves: - - Uses 5-bit window NAF, Uses mixed Modified-Jacobian coordinates + - Uses 5-bit window NAF, Uses mixed Modified-Jacobian coordinates for doubling and Chudnovsky Jacobian coordinates for additions (ecp_jm.c). From: Brown, Hankerson, Lopez, Menezes: Software Implementation of the NIST Elliptic Curves Over Prime Fields. - - Contains an implementation of scalar multiplication with 4-bit sliding window, using Jacobian coordinates (ecp_jac.c) - - Contains an implementation of IEEE P1363 algorithm A.10.3 using affine coordinates (ecp_aff.c) + - Contains an implementation of scalar multiplication with 4-bit sliding window, using Jacobian coordinates (ecp_jac.c) + - Contains an implementation of IEEE P1363 algorithm A.10.3 using affine coordinates (ecp_aff.c) - For binary field curves: - - Uses Lopez-Dahab (Montgomery) ladder, XZ coordinates (ec2_mont.c): Fast multiplication on elliptic curves over GF(2^m) without precomputation (Algorithm 2P) - - Contains an implementation of IEEE P1363 algorithm A.10.3 using affine coordinates (ec2_aff.c) + - Uses Lopez-Dahab (Montgomery) ladder, XZ coordinates (ec2_mont.c): Fast multiplication on elliptic curves over GF(2^m) without precomputation (Algorithm 2P) + - Contains an implementation of IEEE P1363 algorithm A.10.3 using affine coordinates (ec2_aff.c) - Has some custom arithmetic for some of the NIST primes. - [Botan](https://botan.randombit.net/) - C++ @@ -68,6 +68,6 @@ Popular libraries with at least some ECC support: - [Crypto++](https://cryptopp.com/) - C++ - For prime field curves: - - Uses projective coordinates and sliding window scalar multiplication algorithm. + - Uses projective coordinates and sliding window scalar multiplication algorithm. - For binary field curves: - - Uses affine coordinates and sliding window scalar multiplication algorithm.
\ No newline at end of file + - Uses affine coordinates and sliding window scalar multiplication algorithm.
\ No newline at end of file |
