32、椭圆曲线数字签名方案与委托协议中的问责推理

椭圆曲线数字签名方案与委托协议中的问责推理

椭圆曲线数字签名方案
基本 ECDSA 方案

基本 ECDSA 方案用于对消息 $m$ 进行签名和验证,实体 $A$ 的签名步骤如下:
1. 随机选择 $d \in {1, \cdots, n - 1}$ 作为私钥,并计算 $P = dG$ 作为公钥,其中 $G$ 是椭圆曲线 $E$ 上的基点。
2. 随机选择 $k \in {1, \cdots, n - 1}$,计算 $r \equiv (kG)_x \bmod n$,若 $r = 0$,则返回步骤 1。
3. 计算 $s \equiv k^{-1}(h(m) + dr) \bmod n$,若 $s = 0$,则返回步骤 1。
4. 消息 $m$ 的签名为 $(r, s)$。

实体 $B$ 验证签名时,首先获取公共参数和 $A$ 的公钥 $P$,然后检查 $((s^{-1}h(m))G + (s^{-1}r)P)_x \bmod n \equiv r$ 是否成立,若成立则接受签名,否则拒绝。

除了基本 ECDSA 方案,还有一些变体方案:
- ECDSS1 和 ECDSS2 :先计算 $r_1(r_2) \equiv h(kG, m)$ 和 $s_1 \equiv k/(r + d) (s_2 \equiv k/(1 + rd))$,得到签名 $(r_1, s_1) ((r_2, s_2))$,最后通过检查 $r_1 \equiv h(s(P + rG), m) (r_2 \equiv h(s(G + rP), m))$ 进行验证。
- NR -

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值