(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210889020.3
(22)申请日 2022.07.27
(71)申请人 浪潮云信息技 术股份公司
地址 250100 山东省济南市高新区浪潮路
1036号浪潮科技园S01号楼
(72)发明人 王伟兵 魏金雷 张立勇
(74)专利代理 机构 济南信达专利事务所有限公
司 37100
专利代理师 姜明
(51)Int.Cl.
H04L 9/32(2006.01)
H04L 9/08(2006.01)
H04L 9/06(2006.01)
(54)发明名称
一种基于离散对数的可验证变色龙哈希验
证方法
(57)摘要
本发明公开了一种基于离散对数的可验证
变色龙哈希验证方法, 所述方法通过设置一个验
证参数, 允许普通用户执行哈希计算, 并可证明
该普通用户所述提交的r=(ga,ya)元组中的随
机数a分别是g和y的离散对数, 使算法升级为可
验证变色龙哈希算法, 允许不可信的普通用户使
用变色龙哈希 算法计算哈希值, 并允许第三方验
证哈希值的有效性。 本发明将已有的基于离散对
数的变色龙哈希算法升级成可验证算法, 使不知
道陷门秘密 的一般用户也能使用算法计算变色
龙哈希值。 无论一般用户计算的哈希值, 还是陷
门用户计算的哈希碰撞值, 都提供了零知识证明
来验证有效性。 改进后的算法更适合于区块链场
景, 可为区块链技术增加可修订(Redactable)能
力。
权利要求书2页 说明书6页 附图1页
CN 115378600 A
2022.11.22
CN 115378600 A
1.一种基于离散对数的可验证变色龙哈希验证方法, 其特征在于, 所述方法通过设置
一个验证 参数, 允许普通用户执行哈希计 算, 并可证明该普通用户所述提交的r=(ga,ya)元
组中的随机数a分别是g和y的离散对 数, 使算法升级为可验证变 色龙哈希算法, 允许不可信
的普通用户使用变色龙哈希算法计算哈希值, 并允许第三方验证哈希值的有效性。
2.根据权利要求1所述的一种基于离散对数的可验证变色龙哈希验证方法, 其特征在
于, 所述方法的实现过程包括 步骤如下:
1)进行安全设置, 定义乘法群参数和内部哈希算法;
系统参数生成: 生成乘法群G, 定义哈希函数H;
2)为陷门持有者 生成陷门密钥和对应公钥;
陷门持有方生成陷门x、 公钥y;
3)一般用户利用哈希公钥计算变色龙哈希值, 利用零知识证明证明哈希值有效性;
一般用户利用公钥y计算变色龙哈希;
4)任意用户可利用零知识证明验证 变色龙哈希值的有效性,
提供两种验证算法分别验证由一般用户计算的哈希值和陷门持有者计算碰撞哈希值;
5)陷门持有者利用陷门密钥x计算 新消息的哈希碰撞和相应零知识证明。
3.根据权利要求2所述的一种基于离散对数的可验证变色龙哈希验证方法, 其特征在
于,
所述方法涉及三类用户: 陷门持有者用户A、 哈希计算用户B、 哈希验证用户C, 其中:
用户A执行所述步骤1)、 2)、 5),
用户B执行步骤3),
用户C执行步骤4)。
4.根据权利要求3所述的一种基于离散对数的可验证变色龙哈希验证方法, 其特征在
于, 所述方法的计算过程包括:
步骤(1)、 系统参数生成PG:
设G是g生成的乘法群, 其阶为素数q, 设Hash:{0,1} →G*是一个全域抗碰撞哈希函数,
系统参数为S P={G, q, g, H};
步骤(2)、 密钥生成KG:
所述陷门持有者用户随机选择一个整数x∈R Zq*作为其陷门密钥, 并发布其哈希公钥
y=gx; y的有效性可通过 可信证书颁发机构颁发的证书来确保;
步骤(3)、 哈希计算H:
在输入哈希密钥y时, 自定义标识I, 设h=Hash(y, I);
选择一个随机整数a∈RZq*, 并计算r=(ga, ya, v), 其中v是验证参数;
变色龙哈希函数定义 为:
H=Hash(I, m, r)=g ahm
v的计算公式:
伪随机数: w =Hash(h, ga, ya)
挑战: c=Hash(y, gw)
验证参数: v=ac+w
哈希计算的输出 是r=(ga, ya, v)和H。权 利 要 求 书 1/2 页
2
CN 115378600 A
25.根据权利要求4所述的一种基于离散对数的可验证变色龙哈希验证方法, 其特征在
于, 所述方法的实现还 包括步骤(4)哈希验证V, 具体 计算过程如下:
利用r=(ga, ya, v)和m, 验证H是否为有效的哈希值。
6.根据权利要求5所述的一种基于离散对数的可验证变色龙哈希验证方法, 其特征在
于, 所述方法的实现还 包括步骤(5)计算哈希碰撞F, 具体 计算过程如下:
对于任何有效的哈希值H, 使用算法F计算与陷门密钥x的哈希碰撞, 如下 所示:
F(H, x, I, m, r, m ′)=r′=(ga′, ya′, v′),
其中, ga′=gahm‑m′, ya′=yahx(m‑m′);
生成一个Sc hnorr非交互零知识证明, 证明
具体的计算过程如下:
计算v′=xc′+w′:
伪随机数: w ′=Hash(h, ga′, ya′)
挑战: c′=Hash(y, gw′)
验证参数: v ′=xc′+w′
所述哈希碰撞计算的输出 是r′=(gα′, yα′, v′)和H′=H;
所述零知识证明v ′的验证方法, 是检测等式 gv′=gw′yc′是否成立。
7.根据权利要求6所述的一种基于离散对数的可验证变色龙哈希验证方法, 其特征在
于, 所述其中H有效有两种可能:
第一种可能是: (H, ga, ya)是由步骤(4)生成;
第二种可能是: (H, ga′, ya′)是由步骤(5)生成。
8.根据权利要求7所述的一种基于离散对数的可验证变色龙哈希验证方法, 其特征在
于, 所述第一种可能(v由第(3)步 生成)的验证过程如下:
已知r=(ga, ya, v), 计算h=Hash(y, I), w =Hash(h, ga, ya), c=Hash(y, gw);
检测gw(ga)c=gv和yw(ya)c=yv是否同时成立, 且y是否为有效的哈希公钥,
如果同时成立且y有效, 则r.v有效。
9.根据权利要求8所述的一种基于离散对数的可验证变色龙哈希验证方法, 其特征在
于, 所述验证方法通过构造一个零知识证 明v, 验证r的前两个元素分别是ga和ya, 证明计算
哈希的用户输出的r符合 规则, 具体实现步骤 包括:
w是证明方随机数, c是验证方挑战, v是证明方反馈值;
由于v=ac +w, 则验证gw(ga)c=gv时, 等式左侧gw(gA)c=gwgac=gw+ac=gv; 等式yw(ya)c=
yv的也是同样原理。
10.根据权利要求9所述的一种基于离散对数的可验证变色龙哈希验证方法, 其特征在
于, 所述步骤(5)碰撞计算的正确性分析 过程如下:
由计算公式v ′=xc′+w′可知: gv′=gxc′+w′,
等式右侧 进一步改写为: (gx)c′gw′, 而gx=y, 则等式右侧变成yc′gw′, 最终得出: gv′=gw′
yc′。权 利 要 求 书 2/2 页
3
CN 115378600 A
3
专利 一种基于离散对数的可验证变色龙哈希验证方法
文档预览
中文文档
10 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共10页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-03-03 12:16:24上传分享