购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.3.5
椭圆曲线DSA

由于椭圆曲线在密钥长度和安全性方面具有优势,美国政府在1998年将椭圆曲线DSA写入标准。椭圆曲线DSA算法的过程和前述DSA算法基本相同,其签名也由一对整数( r , s )构成,其差别在于计算过程是基于椭圆曲线进行的。为方便起见,下面仅对差别部分进行描述。

在算法中, B A 都是椭圆曲线上的点,且 B = mA 。我们已经知道,椭圆曲线上的数学难题是已知 B A ,很难找到 m 。因此, m 是私钥,椭圆曲线采用的其他参数都是公钥。

在签名的过程中,Bob选择一个随机数 k ,使得1≤ k q -1,然后找到曲线上点 kA 的坐标( u , v )。Bob很容易通过坐标( u , v )确定签名{ r , s },即:

r = u mod q

以及

s = k -1 [SHA( x )+ mr ] mod q

验证的过程中,Alice计算:

w = s -1 mod q

i = w ×SHA( x ) mod q

j = w × r mod q

如果Alice计算点 F = iA + jB 的横坐标 u 满足 u mod q = r ,则通过验证;否则不通过。 8c3DaYI0xvrk9/R7q9TR87uhdbpP+TxH3qoWHHjUb6SwxflFHRCXZRdalS582IIV

点击中间区域
呼出菜单
上一章
目录
下一章
×