Elliptic-curve cryptography (ECC)
Elliptic-curve cryptography (ECC)
finding the discrete logarithm of a random elliptic curve element with respect to a publicly known base point is infeasible: this is the "elliptic curve discrete logarithm problem" (ECDLP).
finding the discrete logarithm of a random elliptic curve element with respect to a publicly known base point is infeasible: this is the "elliptic curve discrete logarithm problem" (ECDLP).
Applicable for
- key agreement : elliptic curve Diffie–Hellman (ECDH)
- digital signatures : Elliptic Curve Digital Signature Algorithm (ECDSA) FIPS 186-3
- pseudo-random generators
- Integer Factorization algo. E.g. Lenstra elliptic-curve factorization.
- Encryption = key agreement + symmetric key encryption
ECC Key length comparison with RSA Key length.
RSA | ECC |
512 | 112 |
1024 | 160 |
2048 | 224 |
3072 | 256 |
7680 | 384 |
15360 | 512 |
Elliptic Curve
- Symmetric to X axis
- Straight line : intersect with 3 points
- y ^ 2 = x ^3 + a * x + b Weierstrass equation.
- No self-intersections,
- No isolated points
- R = P + Q : First, draw the line that intersects P and Q to curve then third point will be -R
- If line is tangent then also it interacts with one more curve.
- All vertical lines intersects the curve at infinity.
- Other algorithms
- Elliptic curve cryptography
- Elliptic-curve Diffie–Hellman (ECDH) Key agreement
- Elliptic Curve Digital Signature Algorithm (ECDCA)
- EdDSA : The Edwards-curve Digital Signature Algorithm (EdDSA) is based on Schnorr signatureand uses twisted Edwards curves,
- Dual_EC_DRBG
- Lenstra elliptic-curve factorization
- Elliptic curve primality proving
- Supersingular isogeny key exchange
ECC implementation
Module form https://en.wikipedia.org/wiki/Modular_form and Field arithmetic https://en.wikipedia.org/wiki/Field_arithmetic
* Software
Module form https://en.wikipedia.org/wiki/Modular_form and Field arithmetic https://en.wikipedia.org/wiki/Field_arithmetic
* Software
- ecclib : https://github.com/bluemurder/ecclib
- Microsoft MSR ECCLib : https://www.microsoft.com/en-us/download/details.aspx?id=52511
- Node.js https://www.npmjs.com/package/eccrypto
* Hardware
Advance Vector Extension : https://en.wikipedia.org/wiki/Advanced_Vector_Extensions
0 comments:
Post a Comment