摘要
椭圆曲线数字签名算法(ECDSA)是使用椭圆曲线对数字签名算法(DSA)的模拟。
ECDSA 于 1999 年成为 ANSI 标准,并于 2000 年成为 IEEE 和 NIST 标准。它在 1998 年既
已为 ISO 所接受,并且包含它的其他一些标准亦在 ISO 的考虑之中。与普通的离散对数问
题(discrete logarithm problem DLP)和大数分解问题(integer factorization problem IFP)
不同,椭圆曲线离散对数问题(elliptic curve discrete logarithm problem ECDLP)没有亚
指数时间的解决方法。
因此椭圆曲线密码的单位比特强度要高于其他公钥体制。
本文将详细论述 ANSIX9.62 标准及其协议,安全,实现,互操作性方面的问题。
1、介绍
数字签名算法(DSA)在联邦信息处理标准 FIPS 中有详细论述,称为数字签名标准。它的
安全性基于素域上的离散对数问题。椭圆曲线密码(ECC)由 Neal Koblitz 和 Victor Miller
于 1985 年发明。它可以看作是椭圆曲线对先前基于离散对数问题(DLP)的密码系统的模
拟,只是群元素由素域中的元素数换为有限域上的椭圆曲线上的点。椭圆曲线密码体制的安
全性基于椭圆曲线离散对数问题(ECDLP)的难解性。椭圆曲线离散对数问题远难于离散
对数问题,椭圆曲线密码系统的单位比特强度要远高于传统的离散对数系统。因此在使用较
短的密钥的情况下,ECC 可以达到于 DL 系统相同的安全级别。这带来的好处就是计算参
数更小,密钥更短,运算速度更快,签名也更加短小。因此椭圆曲线密码尤其适用于处理能
力、存储空间、带宽及功耗受限的场合。
ECDSA 是椭圆曲线对 DSA 的模拟。ECDSA 首先由 Scott 和 Vanstone 在 1992 年为了响应
NIST 对数字签名标准(DSS)的要求而提出。ECDSA 于 1998 年作为 ISO 标准被采纳,在
1999 年作为 ANSI 标准被采纳,并于 2000 年成为 IEEE 和 FIPS 标准。包含它的其他一些
标准亦在 ISO 的考虑之中。本文中我们将介绍 ANSI X9.62 标准。也将介绍一些签名的基础
知识以及协议、安全性、实现、互操作性方面的问题。
本文其他部分的安排如下:
第二节中我们将回顾数字签名方案和 DSA,
第三节和第四节将分别介绍有限域和椭圆曲线,
第五节将讲述域参数的产生和参数有效性的验证,
第六节将讲述密钥对的产生和公钥有效性的验证,
第七节的内容是 ECDSA 的签名和验证过程。第八章论证 ECDSA 的安全性,
第九节和第十节讲述的是 ECDSA 协议和实现方面的问题。
评论1
最新资源