(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 20221098087 7.6
(22)申请日 2022.08.16
(71)申请人 广州万协通信息技 术有限公司
地址 510400 广东省广州市白云区北太路
1633号广州民营科技园科盛路8号配
套服务大楼5层A5 05-63房
(72)发明人 颜昕明 董文强 王亮
(74)专利代理 机构 北京市盛峰律师事务所
11337
专利代理师 于国富
(51)Int.Cl.
H04L 9/08(2006.01)
H04L 9/30(2006.01)
H04L 9/32(2006.01)
(54)发明名称
一种基于多重随机加扰实现SM2加解密防信
息篡改的方法
(57)摘要
本发明提供了一种基于多重随机加扰实现
SM2加解密防信息篡改的方法, 该方法在所有标
量乘法过程中均采用标量的随机化掩码方法, 具
体采用: 选择输入标量d1和曲线上任意点P进行
标量乘法获得[d1]P: 首先验证P点坐标是否符合
SM2算法的椭圆曲线方程, 再由硬件物理的真随
机数生成单元生成真随机数m1, 使用Montgomery
Ladder算法, 计算生成随机点M1=[m1]P; 通过
BRIP流程, 以M1为随机点计算Q1=[t1]P, t1=d1‑
m1, 计算完成Q1点坐标后, 再用点Q1减去随机点
M1, 结果即是点[d1]P=Q1‑M1。 签名过程中计算s
时的随机掩码处理方法, 使 得整个加解密过程均
可防SPA, DPA, ZPA, 以及 高阶DPA攻击, 防止信息
篡改, 提高数据通信的安全性。
权利要求书2页 说明书4页 附图3页
CN 115361120 A
2022.11.18
CN 115361120 A
1.一种基于多重随机加扰实现SM2加解密防信息篡改的方法, 其特征在于, 在采用SM2
算法进行数据加 解密过程中, 采用带标量 随机掩码的点乘过程, 所述带标量 随机掩码的点
乘过程包括以下步骤:
选择输入标量d1和曲线上任意点P进行标量乘法获得[d1]P: 首先验证P 点坐标是否符合
SM2算法的椭圆曲线方程, 再由硬件物理真随机数生成单元生成真随机数m1, 使用
Montgomery Ladder算法, 计算生成随机点M1=[m1]P; 通过BRIP流程, 以M1为随机点计算Q1
=[t1]P, t1=d1‑m1, 计算完成Q1点坐标后, 再用点Q1减去随机点M1, 结果即是点[ d1]P=Q1‑
M1。
2.根据权利要求1所述的基于多重随机加扰实现SM2加解密防信 息篡改的方法, 其特征
在于, 采用的椭圆曲线方程 为: y2=x3+ax+b(mod p)
其中模值p,限定 了椭圆曲线上点的坐标和参数的取值范围; a,b是椭圆曲线的参数。
3.根据权利要求1所述的基于多重随机加扰实现SM2加解密防信 息篡改的方法, 其特征
在于, 使用Mo ntgomery Ladder算法, 计算 生成随机点M1=[m1]P, 具体包括:
输入: 坐标P, u位整数
m1(j)∈{0,1},且m1(u‑1)=1,
输出: 点坐标M1=[m1]P。
4.根据权利要求1所述的基于多重随机加扰实现SM2加解密防信 息篡改的方法, 其特征
在于, 通过BRIP流 程, 以M1为随机点计算 Q1=[t1]P, 具体包括:
输入: u位整数
t1(j)∈{0,1},点 坐标P;
输出: 点坐标Q1=[t1]P;
计算流程:
1), 使用Mo ntgomery Ladder算法, 生成随机坐标点R;
2), 计算T0=R, T1= ‑R,T2=P‑R;
3), j从u‑1下降到0执行:
T0=[2]T0
若t1第j位=0则
T0=T0+T1
否则
T0=T0+T2
4), 输出Q1=T0+T1。
5.根据权利要求1所述的基于多重随机加扰实现SM2加解密防信 息篡改的方法, 其特征
在于, 密钥生成流 程包括以下步骤:
生成真随机数k1, 采用所述带标量随机掩码的点乘过程计算P1点坐标, P1=[k1]G,确定
计算得到的P1点坐标是否有效, 若有效, 则获得密钥对(k1,P1)并存储该密钥对; 否则返回重
新生成真随机数k1, 重复计算P1点坐标。
6.根据权利要求1所述的基于多重随机加扰实现SM2加解密防信 息篡改的方法, 其特征
在于, SM2加解密过程中的签名过程具体包括以下 过程:
根据SM2标准流程计算e, 然后产生真随机数k2和k3, 使用所述带标量随机掩码的点乘过
程计算(x1,y1)=[k2]G, 其中G为椭圆曲线基点; 判断(x1,y1)点坐标是否有效, 若是, 则再 次权 利 要 求 书 1/2 页
2
CN 115361120 A
2计算r=(e+x1)mod n; 判断r=0或r+k1=n, 若符合, 则错误 退出该签名过程; 若不符合, 则进
一步计算f=k2*dA(mod n), s=((k3+f)*(k3*k2‑r*f))(mod n), 再次判断s是否大于等于1且
小于n; 若是, 则确定数字签名为(r,s), 否则 则签名过程 错误, 退出该签名过程。权 利 要 求 书 2/2 页
3
CN 115361120 A
3
专利 一种基于多重随机加扰实现SM2加解密防信息篡改的方法
文档预览
中文文档
10 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共10页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-03-03 12:16:19上传分享