diff options
| author | J08nY | 2018-07-14 01:33:44 +0200 |
|---|---|---|
| committer | J08nY | 2018-07-14 01:33:44 +0200 |
| commit | 94430f04698c9fe8675b217ca831d980918db97c (patch) | |
| tree | e4922e1c83e12d68fead09fd7c2cb0ce6a713af3 /docs/LIBS.md | |
| parent | bd657e107ed51ccca25047ab2473f231ef58533e (diff) | |
| download | ECTester-94430f04698c9fe8675b217ca831d980918db97c.tar.gz ECTester-94430f04698c9fe8675b217ca831d980918db97c.tar.zst ECTester-94430f04698c9fe8675b217ca831d980918db97c.zip | |
Diffstat (limited to 'docs/LIBS.md')
| -rw-r--r-- | docs/LIBS.md | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/docs/LIBS.md b/docs/LIBS.md index f6d3896..512dee2 100644 --- a/docs/LIBS.md +++ b/docs/LIBS.md @@ -14,8 +14,46 @@ Popular libraries with at least some ECC support: - [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? + - 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) + - Has custom field and point arithmetic for: + - 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 + 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) + - 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) + - Has some custom arithmetic for some of the NIST primes. - [Botan](https://botan.randombit.net/) - C++ - Uses blinded(randomized) Montgomery ladder. |
