跳到主要内容
uencoder

Use elliptic curves 为 cryptography

Elliptic curve cryptography (ECC) provides 相同安全 as RSA 具有 much smaller 关键. Learn point 操作和 键 exchange.

  1. 1

    elliptic curve y^2 = x^3 + ax + b 遍历 finite 字段 forms 组在 point addition. "discrete logarithm 问题" 开 elliptic curves (given P 和 kP, 查找 k) 是 harder than factoring 或 DLP 在 Z_p — 所以 ECC 我们 smaller 关键为 equivalent 安全. P-256 (256-位) ≈ RSA 3072-位. Curve25519 是 popular 为 ECDH.

  2. 2
    模幂运算计算器 →

    While ECC 我们 point multiplication (不 modular exponentiation), underlying 字段操作 use modular arithmetic. 此 tool demonstrates modular arithmetic used 在 ECC 字段操作. Point multiplication 是 repeated point addition, analogous 到 modular exponentiation 是 repeated multiplication.

  3. 3
    素数检查器 →

    Verify 素数 modulus 的 elliptic curve 字段. 标准 curves (P-256, Curve25519) use carefully chosen primes. 素数必须是 大 (256+ bits) 和 curve 必须有 大素数 order subgroup 到是 安全.

常见问题

为什么是 ECC 关键 smaller than RSA?
best known algorithm 为 elliptic curve discrete logarithm 问题 (ECDLP) 是 O(sqrt(n)) — square 根的 组 order. 为 RSA, best algorithm (GNFS) 是 sub-exponential. 所以 ECDLP 是 harder relative 到键 大小: 256-位 ECC ≈ 3072-位 RSA, 384-位 ECC ≈ 7680-位 RSA.
哪个 curve 应该 I use?
Curve25519 (Daniel J. Bernstein) 为 ECDH — 快, 常量-时间, 否坏 parameters. P-256 (NIST) 为 compatibility — 宽 supported 在 TLS 和标准. secp256k1 为 Bitcoin/Ethereum. Avoid curves 具有 unexplained parameters (potential NSA backdoors). Use standardized, well-analyzed curves.

相关工具