ECC(椭圆曲线密码学,Elliptic Curve Cryptography)算法最早由 Neal Koblitz(华盛顿大学)与 Victor S. Miller(IBM)于 1985 年分别独立提出。尽管 ECC 算法在 1985 年即已提出用于密码学,但其起步缓慢,直到 2004 与 2005 年前后才获得广泛接受。ECC 是一种相对较新的算法,它基于曲线上的点来定义公钥与私钥并生成加密密钥。
ECC 的主要优势
ECC 密钥对当前智能手机普及的一代用户尤为有益。随着智能手机使用持续增长,企业面临对更灵活加密方案日益增长的需求,以满足不断提高的安全要求。
更强的密钥
ECC 是最新的加密方法,提供更强的安全性。与 RSA 和 DSA 算法相比,256 位 ECC 相当于 3072 位 RSA 密钥。保持较短密钥的原因在于消耗更少的计算资源,连接更快更安全,也更适合智能手机与平板电脑。美国政府和美国国家安全局(NSA)均已认证 ECC 加密方法。ECC 算法所依赖的数学问题比 RSA 和 DSA 更难攻破,意味着 ECC 能以更安全的方式保障网站与基础设施安全。
更短的密钥长度
ECC 证书在提供更高安全级别的同时,可使密钥长度保持较小。ECC 证书的密钥生成方法与以往算法完全不同,依赖公钥加密、私钥解密。从小规模起步并具备缓慢增长潜力,ECC 拥有更长的潜在生命周期,很可能成为下一代密码算法。
公钥最小位数、密钥长度比与安全强度(bits)对照如下:
DSA / RSA:80 位,ECC:160–223 位,ECC 对 RSA/DSA 比例 1:6,有效至 2010 年;112 位对 224–255 位,比例 1:9,有效至 2030 年;128 位对 256–383 位,比例 1:12,2031 年之后;192 位对 384–511 位,比例 1:20;256 位对 512 位以上,比例 1:30。可见 DSA 与 RSA 密钥长度相较 ECC 增长显著,更长的密钥需要更多空间、带宽与处理器资源,生成密钥、加密与解密数据也耗时更久。
为何需要椭圆曲线密码学
由于黑客威胁日益加剧——一方面黑客攻击手法愈发成熟,另一方面随着数据使用增长,攻击后果愈发危险——加密专家迫切需要通过安全与性能双重指标寻找更有效的方法来提供更高安全级别,同时兼顾网络性能与大数据处理。
多重因素推动 ECC 日益流行:首先,1024 位加密的安全性因算力提升与对加密方法理解的加深而逐渐下降,尽管暴力破解 1024 位加密仍不太可能,但高度并行的分布式计算等新方法已导致更精巧的攻击,削弱了该安全级别的有效性;RSA Security 估计即便 2048 位加密也仅能有效至 2030 年。
Web 标准:网站所有者需考量 Web 服务器标准,许多运行在单一域名下的 Web 服务器可同时处理 RSA、DSA 与 ECC 配置;少数服务器无法处理多种算法,只能在单一 Web 服务器上使用单张证书。
认证速度:RSA、DSA 与 ECC 在验证与认证速度上各有差异。RSA 在客户端认证上更快,而 ECC 在服务器端认证上更快;RSA 密钥的签名验证快于 ECC 密钥。交易类型、设备处理能力、存储容量、带宽与功耗也会影响算法选择。
客户身份:许多政府机构已开始接受 DSA 与 ECC,它们适用于政府分包商及政府分支机构的内部通信交换。
连接数量在选择算法标准时同样关键。ECC 比 RSA 算法能同时处理更多连接。组织需在安全、用户体验与网络处理涉及的 IT 基础设施成本之间保持平衡。