aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJ08nY2018-07-18 15:48:37 +0200
committerJ08nY2018-07-18 15:48:37 +0200
commited484c16c74f8d4f1e7c211f9583d2e675abae79 (patch)
tree2f6d66b31cfd39de0af0158142d32112db645ac1 /docs
parent4ec020d8099df27cd7845dfebf183f635bfb006b (diff)
downloadECTester-ed484c16c74f8d4f1e7c211f9583d2e675abae79.tar.gz
ECTester-ed484c16c74f8d4f1e7c211f9583d2e675abae79.tar.zst
ECTester-ed484c16c74f8d4f1e7c211f9583d2e675abae79.zip
Diffstat (limited to 'docs')
-rw-r--r--docs/LIBS.md62
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