CN114338039A - 白盒处理后的椭圆曲线签名方法和系统 - Google Patents
白盒处理后的椭圆曲线签名方法和系统 Download PDFInfo
- Publication number
- CN114338039A CN114338039A CN202111627380.8A CN202111627380A CN114338039A CN 114338039 A CN114338039 A CN 114338039A CN 202111627380 A CN202111627380 A CN 202111627380A CN 114338039 A CN114338039 A CN 114338039A
- Authority
- CN
- China
- Prior art keywords
- elliptic curve
- signature
- private key
- axis
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000009466 transformation Effects 0.000 claims abstract description 24
- 238000006467 substitution reaction Methods 0.000 claims abstract description 20
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 10
- 238000011084 recovery Methods 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 abstract description 21
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Editing Of Facsimile Originals (AREA)
Abstract
本申请公开了一种白盒处理后的椭圆曲线签名方法和系统。该方法包括初始化系统并构建私钥的查找表;通过椭圆曲线以及所述私钥的查找表生成签名;更新所述私钥的存储方式,并通过所述椭圆曲线的替代点代替所述椭圆曲线的基点;根据所述更新后的私钥的存储方式以及所述椭圆曲线的替代点计算新的签名。本申请解决了相关技术中加密算法需要额外参数,且私钥的存储安全依赖于非线性变换的混淆结果的问题。
Description
技术领域
本申请涉及密码学技术领域,特别是涉及一种白盒处理后的椭圆曲线签名算法。
背景技术
公钥密码学被广泛的应用于身份认证、数字签名等领域。现代密码安全依托于密钥安全,因此私钥的安全至关重要。而传统密码学,假设算法运行在一个可信的终端设备内,攻击者无法查看其运行子结果以及内存。
而随着科技发展,终端设备多种多样,人们越来越多的在手机、平板等设备上进行加解密或签名活动。
2002年,Chow等人提出了白盒安全的概念,白盒即攻击者已经完全控制了整个操作过程且对此完全可见,攻击者可以自如地观察动态密码运行过程,并且内部算法的详细内容完全可见,可随意更改,即攻击者对主机和软件具有完全控制权,软件动态执行过程是可见的,加密算法内部细节完全可见、可修改。
学界内有大量关于对称加密算法白盒化的研究,对于非对称白盒算法,例如针对SM2椭圆曲线算法白盒研究,有专利文件CN108259506A-Sm2白盒密码实现方法,但这个方案在签名验证过程中,需要额外参数,有别于标准流程。而在专利文件CN106685662A-一种基于余数系统的商密sm2加密算法的白盒软件实现方法中私钥的存储安全依赖于非线性变换的混淆结果。
通常我们认为密钥使用时间越长、加密数据越多,其安全性会逐渐降低。例如在NIST 800-38D中给出了AES-GCM密钥的使用建议,及加密数据量超过232 时,应更换密钥。
目前,市场上现有技术的缺点:
加密算法需要额外参数,且私钥的存储安全依赖于非线性变换的混淆结果。
针对相关技术中加密算法需要额外参数,且私钥的存储安全依赖于非线性变换的混淆结果的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种白盒处理后的椭圆曲线签名方法,以解决上述问题。
为了实现上述目的,根据本申请的一个方面,提供了一种白盒处理后的椭圆曲线签名方法。
根据本申请的白盒处理后的椭圆曲线签名方法包括:
初始化系统并构建私钥的查找表;
通过椭圆曲线以及所述私钥的查找表生成签名;
更新所述私钥的存储方式,并通过所述椭圆曲线的替代点代替所述椭圆曲线的基点;
根据所述更新后的私钥的存储方式以及所述椭圆曲线的替代点计算新的签名。
进一步的,所述初始化系统并构建私钥的查找表,包括:
选取素数基,其中,所述素数基中的素数连乘的积大于所述椭圆曲线的阶的平方的绝对值;
根据所述素数基计算并记录所述私钥的余数;
生成所述私钥的置乱变换,其中,所述置乱变换是一种基于古典密码体制的图像加密算法,本质上是对长宽相等的图像进行拉伸与折叠操作以改变空间中像素点的位置,从而破坏图像相邻像素点之间的相关性,用作其它加密算法的预处理;
根据所述置乱变换构造所述私钥的查找表。
进一步的,所述通过椭圆曲线以及所述私钥的查找表生成签名,包括:
获取随机数,通过所述随机数和椭圆曲线的基点计算椭圆曲线上的点,其中,所述随机数为在椭圆曲线的阶数以内的正整数;
根据所述椭圆曲线上的点在坐标轴上的x轴坐标计算x轴的签名分量,其中,当所述x轴的签名分量为0时,重新计算;
根据所述x轴的签名分量以及所述查找表得到y轴的签名分量;
根据所述x轴的签名分量以及所述y轴的签名分量输出签名。
进一步的,所述更新所述私钥的存储方式,并通过所述椭圆曲线的替代点代替所述椭圆曲线的基点,包括:
获取随机数,通过所述查找表得到所述随机数的对应数,其中,所述随机数为在椭圆曲线的阶数以内的正整数;
通过中国剩余定理恢复所述随机数的对应数,其中,所述中国剩余定理即孙子定理,是中国古代求解一次同余式组的方法;
根据所述恢复的对应数更新所述所述查找表得到新的查找表,并根据所述随机数以及椭圆曲线的基点得到椭圆曲线的替代点。
进一步的,所述根据所述更新后的私钥的存储方式以及所述椭圆曲线的替代点计算新的签名,包括:
获取随机数,通过所述随机数和所述椭圆曲线的替代点计算新的椭圆曲线上的点,其中,所述随机数为在椭圆曲线的阶数以内的正整数;
根据所述新的椭圆曲线上的点在坐标轴上的x轴坐标计算新的x轴的签名分量,其中,当所述新的x轴的签名分量为0时,重新计算;
根据所述新的x轴的签名分量以及所述查找表得到新的y轴的签名分量;
根据所述新的x轴的签名分量以及所述新的y轴的签名分量输出新的签名。
一种白盒处理后的椭圆曲线签名系统,包括:
白盒处理模块,用于初始化系统并构建私钥的查找表;
签名生成模块,用于通过椭圆曲线以及所述私钥的查找表生成签名;
私钥存储模块,用于更新所述私钥的存储方式,并通过所述椭圆曲线的替代点代替所述椭圆曲线的基点;
签名更新模块,用于根据所述更新后的私钥的存储方式以及所述椭圆曲线的替代点计算新的签名。
进一步的,所述白盒处理模块,包括:
素数基获取单元,用于选取素数基,其中,所述素数基中的素数连乘的积大于所述椭圆曲线的阶的平方的绝对值;
私钥计算单元,用于根据所述素数基计算并记录所述私钥的余数;
置乱变换单元,用于生成所述私钥的置乱变换;
查找表生成单元,用于根据所述置乱变换构造所述私钥的查找表。
进一步的,所述签名生成模块用于:
椭圆曲线计算单元,用于获取随机数,通过所述随机数和椭圆曲线的基点计算椭圆曲线上的点,其中,所述随机数为在椭圆曲线的阶数以内的正整数;
x轴分量计算单元,用于根据所述椭圆曲线上的点在坐标轴上的x轴坐标计算 x轴的签名分量,其中,当所述x轴的签名分量为0时,重新计算;
y轴分量计算单元,用于根据所述x轴的签名分量以及所述查找表得到y轴的签名分量;
签名输出单元,用于根据所述x轴的签名分量以及所述y轴的签名分量输出签名。
进一步的,所述私钥存储模块,包括:
对应数获取单元,用于获取随机数,通过所述查找表得到所述随机数的对应数,其中,所述随机数为在椭圆曲线的阶数以内的正整数;
对应数恢复单元,用于通过中国剩余定理恢复所述随机数的对应数,其中,所述中国剩余定理即孙子定理,是中国古代求解一次同余式组的方法;
替代点计算单元,用于根据所述恢复的对应数更新所述所述查找表得到新的查找表,并根据所述随机数以及椭圆曲线的基点得到椭圆曲线的替代点。
进一步的,所述签名更新模块,包括:
椭圆曲线更新单元,用于获取随机数,通过所述随机数和所述椭圆曲线的替代点计算新的椭圆曲线上的点,其中,所述随机数为在椭圆曲线的阶数以内的正整数;
x轴分量更新单元,用于根据所述新的椭圆曲线上的点在坐标轴上的x轴坐标计算新的x轴的签名分量,其中,当所述新的x轴的签名分量为0时,重新计算;
y轴分量更新单元,用于根据所述新的x轴的签名分量以及所述查找表得到新的y轴的签名分量;
签名更新输出单元,用于根据所述新的x轴的签名分量以及所述新的y轴的签名分量输出新的签名。
在本申请实施例中,采用通过初始化系统并构建私钥的查找表,通过椭圆曲线以及所述私钥的查找表生成签名,更新所述私钥的存储方式,并通过所述椭圆曲线的替代点代替所述椭圆曲线的基点,实现了根据所述更新后的私钥的存储方式以及所述椭圆曲线的替代点计算新的签名的技术效果,进而解决了现有技术中加密算法需要额外参数,且私钥的存储安全依赖于非线性变换的混淆结果的技术问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的白盒处理后的椭圆曲线签名方法的流程示意图;
图2是根据本申请实施例的白盒处理后的椭圆曲线签名系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本发明及其实施例,并非用于限定所指示的系统、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,根据具体情况理解这些术语在本发明中的具体含义。
此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,是固定连接,可拆卸连接,或整体式构造;是机械连接,或电连接;是直接相连,或者是通过中间媒介间接相连,又或者是两个系统、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,根据具体情况理解上述术语在本发明中的具体含义。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征相互组合。应当理解,在本发明的描述中,除非另有明确的规定和限定,术语“存储介质”是ROM、RAM、磁碟或者光盘等各种存储计算机程序的介质。术语“处理器”是CPLD(ComplexProgrammable Logic Device:复杂可编程逻辑器件)、 FPGA(Field-Programmable Gate信息ray:现场可编程门阵列)、MCU (Microcontroller Unit:微控制单元)、PLC(Programmable Logic Controller:可编程逻辑控制器)以及CPU(Central ProcessingUnit:中央处理器)等具备数据处理功能的芯片或电路。术语“电子设备”是具有数据处理功能和存储功能的任何设备,通常包括固定终端和移动终端。固定终端如台式机等。移动终端如手机、PAD 以及移动机器人等。此外,后续所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就相互结合。
下面将参考附图并结合实施例来详细说明本申请。
根据本发明实施例,如图1所示,提供了一种白盒处理后的椭圆曲线签名方法,该方法包括如下的步骤:
S100、初始化系统并构建私钥的查找表;
S200、通过椭圆曲线以及所述私钥的查找表生成签名;
S300、更新所述私钥的存储方式,并通过所述椭圆曲线的替代点代替所述椭圆曲线的基点;
S400、根据所述更新后的私钥的存储方式以及所述椭圆曲线的替代点计算新的签名。
在进一步的此实施例中,所述初始化系统并构建私钥的查找表,包括:
S110、选取素数基,其中,所述素数基中的素数连乘的积大于所述椭圆曲线的阶的平方的绝对值;
S120、根据所述素数基计算并记录所述私钥的余数;
S130、生成所述私钥的置乱变换,其中,所述置乱变换是一种基于古典密码体制的图像加密算法,本质上是对长宽相等的图像进行拉伸与折叠操作以改变空间中像素点的位置,从而破坏图像相邻像素点之间的相关性,用作其它加密算法的预处理;
S140、根据所述置乱变换构造所述私钥的查找表。
在进一步的此实施例中,所述通过椭圆曲线以及所述私钥的查找表生成签名,包括:
S210、获取随机数,通过所述随机数和椭圆曲线的基点计算椭圆曲线上的点,其中,所述随机数为在椭圆曲线的阶数以内的正整数;
S220、根据所述椭圆曲线上的点在坐标轴上的x轴坐标计算x轴的签名分量,其中,当所述x轴的签名分量为0时,重新计算;
S230、根据所述x轴的签名分量以及所述查找表得到y轴的签名分量;
S240、根据所述x轴的签名分量以及所述y轴的签名分量输出签名。
在进一步的此实施例中,所述更新所述私钥的存储方式,并通过所述椭圆曲线的替代点代替所述椭圆曲线的基点,包括:
S310、获取随机数,通过所述查找表得到所述随机数的对应数,其中,所述随机数为在椭圆曲线的阶数以内的正整数;
S320、通过中国剩余定理恢复所述随机数的对应数,其中,所述中国剩余定理即孙子定理,是中国古代求解一次同余式组的方法;
S330、根据所述恢复的对应数更新所述所述查找表得到新的查找表,并根据所述随机数以及椭圆曲线的基点得到椭圆曲线的替代点。
进一步的,所述根据所述更新后的私钥的存储方式以及所述椭圆曲线的替代点计算新的签名,包括:
S410、获取随机数,通过所述随机数和所述椭圆曲线的替代点计算新的椭圆曲线上的点,其中,所述随机数为在椭圆曲线的阶数以内的正整数;
S420、根据所述新的椭圆曲线上的点在坐标轴上的x轴坐标计算新的x轴的签名分量,其中,当所述新的x轴的签名分量为0时,重新计算;
S430、根据所述新的x轴的签名分量以及所述查找表得到新的y轴的签名分量;
S440、根据所述新的x轴的签名分量以及所述新的y轴的签名分量输出新的签名。
从以上的描述中,看出,本发明实现了如下技术效果:
在本申请实施例中,采用通过初始化系统并构建私钥的查找表,通过椭圆曲线以及所述私钥的查找表生成签名,更新所述私钥的存储方式,并通过所述椭圆曲线的替代点代替所述椭圆曲线的基点,实现了根据所述更新后的私钥的存储方式以及所述椭圆曲线的替代点计算新的签名的技术效果。
在本申请的另一个实施例中,如图2所示,包括一种白盒处理后的椭圆曲线签名系统,包括:
白盒处理模块,用于初始化系统并构建私钥的查找表;
签名生成模块,用于通过椭圆曲线以及所述私钥的查找表生成签名;
私钥存储模块,用于更新所述私钥的存储方式,并通过所述椭圆曲线的替代点代替所述椭圆曲线的基点;
签名更新模块,用于根据所述更新后的私钥的存储方式以及所述椭圆曲线的替代点计算新的签名。
在进一步的此实施例中,所述白盒处理模块,包括:
素数基获取单元,用于选取素数基,其中,所述素数基中的素数连乘的积大于所述椭圆曲线的阶的平方的绝对值;
私钥计算单元,用于根据所述素数基计算并记录所述私钥的余数;
置乱变换单元,用于生成所述私钥的置乱变换;
查找表生成单元,用于根据所述置乱变换构造所述私钥的查找表。
在进一步的此实施例中,所述签名生成模块用于:
椭圆曲线计算单元,用于获取随机数,通过所述随机数和椭圆曲线的基点计算椭圆曲线上的点,其中,所述随机数为在椭圆曲线的阶数以内的正整数;
x轴分量计算单元,用于根据所述椭圆曲线上的点在坐标轴上的x轴坐标计算 x轴的签名分量,其中,当所述x轴的签名分量为0时,重新计算;
y轴分量计算单元,用于根据所述x轴的签名分量以及所述查找表得到y轴的签名分量;
签名输出单元,用于根据所述x轴的签名分量以及所述y轴的签名分量输出签名。
在进一步的此实施例中,所述私钥存储模块,包括:
对应数获取单元,用于获取随机数,通过所述查找表得到所述随机数的对应数,其中,所述随机数为在椭圆曲线的阶数以内的正整数;
对应数恢复单元,用于通过中国剩余定理恢复所述随机数的对应数;
替代点计算单元,用于根据所述恢复的对应数更新所述所述查找表得到新的查找表,并根据所述随机数以及椭圆曲线的基点得到椭圆曲线的替代点。
在进一步的此实施例中,所述签名更新模块,包括:
椭圆曲线更新单元,用于获取随机数,通过所述随机数和所述椭圆曲线的替代点计算新的椭圆曲线上的点,其中,所述随机数为在椭圆曲线的阶数以内的正整数;
x轴分量更新单元,用于根据所述新的椭圆曲线上的点在坐标轴上的x轴坐标计算新的x轴的签名分量,其中,当所述新的x轴的签名分量为0时,重新计算;
y轴分量更新单元,用于根据所述新的x轴的签名分量以及所述查找表得到新的y轴的签名分量;
签名更新输出单元,用于根据所述新的x轴的签名分量以及所述新的y轴的签名分量输出新的签名。
在本申请的另一个实施例中,提供了一种可更新私钥的白盒处理后的椭圆曲线签名算法,与原有白盒处理后的椭圆曲线签名算法相比保密性更好。
原有白盒处理后的椭圆曲线签名算法流程包括以下步骤:
S102、选取随机数k,k∈[1,n-1],其中n为椭圆曲线的阶;
S104、计算曲线上的点P=kG,G为椭圆曲线的基点;
S106、计算r=xp mod n,其中,r是点P在x轴方向的签名分量,xp是点P 的x坐标;
S108、如果r=0,则重复步骤S102至步骤S106;
S110、计算e=Hash(message),其中,e为符合SM2签名规范的哈希值,Hash 为符合SM2签名规范的哈希计算方法;
S112、计算s=k-1(e+rd),其中,s是点P在y轴方向的签名分量,d为私钥;
S114、输出签名(r,s)。
本申请的一种可更新私钥的白盒处理后的椭圆曲线签名算法,经过白盒处理后的步骤包括:
S210、初始化系统得到查找表;
S220、生成签名;
S230、更新私钥存储方式;
S240、计算更新后签名。
在进一步的此实施例中,所述初始化系统,包括:
其中,M为素数连乘的积,n为椭圆曲线的阶;
S212、计算di=d mod mi,记录私钥的余数表示d={d1,d2,…,dt};
S213、生成置乱变换f={f1,f2,…,ft},g={g1,g2,…,gt};
S214、构造私钥的查找表T,T的计算公式为
其中,j为正整数,t为查找表T求取的数量。
在进一步的此实施例中,所述生成签名,包括:
S221、选取随机数k,k∈[1,n-1],其中n为椭圆曲线的阶;
S222、计算曲线上的点P=kG,G为椭圆曲线的基点;
S223、计算r=xp mod n,其中,r是点P在x轴方向的签名分量,xp是点P 的x轴坐标;
S224、如果r=0,则重复步骤S211至S213;
S225、计算e=Hash(message),其中,e为符合SM2签名规范的哈希值,Hash 为符合SM2签名规范的哈希计算方法,
通过查表法计算r在查找表中对应的数w,计算公式为
其中ri是r在余数系统下的表示;
S226、使用中国剩余定理得到W=CRT(wi),
其中,W为中国剩余定理恢复w得到的数;
S227、计算s=k-1(e+W-rd),其中,s是点P在y轴方向的签名分量,d为私钥;
S228、输出签名(r,s)。
在进一步的此实施例中,所述更新私钥存储方式,包括:
S231、生成随机数φ,φ∈[1,n-1],其中n为椭圆曲线的阶;
S232、使用查表法得到所述随机数φ在所述查找表中对应的数α,计算公式为
α={α1,α2,…,αt}
其中,查找表为查找表T,t为查找表T求取的数量;
S233、使用中国剩余定理恢复α;
S234、更新查找表,新查找表T’的计算公式为
其中,j为正整数,t为查找表T'求取的数量;
S235、记录椭圆曲线的替代点G',替代点的计算公式为
G'=φ-1G
其中,G是椭圆曲线的基点。
在进一步的此实施例中,所述计算更新后签名,包括:
S241、选取随机数k',k'∈[1,n-1],其中n为椭圆曲线的阶;
S242、计算曲线上的点P'=k'G',G为椭圆曲线的基点;
S243、计算r'=x'p mod n,其中,r'是点P'在x轴方向的签名分量,x'p是点 P'的x轴坐标;
S244、如果r'=0,则重复步骤S241至S243;
S245、计算e=Hash(message),其中,e为符合SM2签名规范的哈希值,Hash 为符合SM2签名规范的哈希计算方法,
通过查表法计算r'在查找表中对应的数w',计算公式为
其中r'i是r'在余数系统下的表示;
S246、使用中国剩余定理得到W'=CRT(w'i),
其中,W'为中国剩余定理恢复w'得到的数;
S247、计算s'=k'-1(e+W'-r'd),其中,s'是点P'在y轴方向的签名分量, d为私钥;
S248、输出新的签名(r',s')。
还包括一个实施例,本发明实施例,还包括一种电子设备,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序在所述处理器中执行时用于实现上述的白盒处理后的椭圆曲线签名方法,该方法包括:
S100、初始化系统并构建私钥的查找表;
S200、通过椭圆曲线以及所述私钥的查找表生成签名;
S300、更新所述私钥的存储方式,并通过所述椭圆曲线的替代点代替所述椭圆曲线的基点;
S400、根据所述更新后的私钥的存储方式以及所述椭圆曲线的替代点计算新的签名。
还包括一个实施例,本实施例中,本发明还提供了一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现上述的白盒处理后的椭圆曲线签名方法,该方法包括:
S100、初始化系统并构建私钥的查找表;
S200、通过椭圆曲线以及所述私钥的查找表生成签名;
S300、更新所述私钥的存储方式,并通过所述椭圆曲线的替代点代替所述椭圆曲线的基点;
S400、根据所述更新后的私钥的存储方式以及所述椭圆曲线的替代点计算新的签名。
其中,可读存储介质是计算机存储介质,也是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也是处理器的组成部分。处理器和可读存储介质位于专用集成电路(Application Specific IntegratedCircuits,ASIC)中。另外,该ASIC位于用户设备中。当然,处理器和可读存储介质也作为分立组件存在于通信设备中。可读存储介质是只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。
在上述终端或者服务器的实施例中,应理解,处理器是中央处理单元(英文:Central Processing Unit,CPU),还是其他通用处理器、数字信号处理器(英文: DigitalSignal Processor,DSP)等。通用处理器是微处理器或者该处理器也是任何常规的处理器等。结合本发明所公开的方法的步骤直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
需要说明的是,在附图的流程图示出的步骤在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,以不同于此处的顺序执行所示出或描述的步骤。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤用通用的计算装置来实现,它们集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们用计算装置可执行的程序代码来实现,从而,将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种白盒处理后的椭圆曲线签名方法,其特征在于,包括:
初始化系统并构建私钥的查找表;
通过椭圆曲线以及所述私钥的查找表生成签名;
更新所述私钥的存储方式,并通过所述椭圆曲线的替代点代替所述椭圆曲线的基点;
根据所述更新后的私钥的存储方式以及所述椭圆曲线的替代点计算新的签名。
2.根据权利要求1所述的方法,其特征在于,所述初始化系统并构建私钥的查找表,包括:
选取素数基,其中,所述素数基中的素数连乘的积大于所述椭圆曲线的阶的平方的绝对值;
根据所述素数基计算并记录所述私钥的余数;
生成所述私钥的置乱变换;
根据所述置乱变换构造所述私钥的查找表。
3.根据权利要求1所述的方法,其特征在于,所述通过椭圆曲线以及所述私钥的查找表生成签名,包括:
获取随机数,通过所述随机数和椭圆曲线的基点计算椭圆曲线上的点,其中,所述随机数为在椭圆曲线的阶数以内的正整数;
根据所述椭圆曲线上的点在坐标轴上的x轴坐标计算x轴的签名分量,其中,当所述x轴的签名分量为0时,重新计算;
根据所述x轴的签名分量以及所述查找表得到y轴的签名分量;
根据所述x轴的签名分量以及所述y轴的签名分量输出签名。
4.根据权利要求1所述的方法,其特征在于,所述更新所述私钥的存储方式,并通过所述椭圆曲线的替代点代替所述椭圆曲线的基点,包括:
获取随机数,通过所述查找表得到所述随机数的对应数,其中,所述随机数为在椭圆曲线的阶数以内的正整数;
通过中国剩余定理恢复所述随机数的对应数;
根据所述恢复的对应数更新所述所述查找表得到新的查找表,并根据所述随机数以及椭圆曲线的基点得到椭圆曲线的替代点。
5.一种白盒处理后的椭圆曲线签名系统,其特征在于,包括:
白盒处理模块,用于初始化系统并构建私钥的查找表;
签名生成模块,用于通过椭圆曲线以及所述私钥的查找表生成签名;
私钥存储模块,用于更新所述私钥的存储方式,并通过所述椭圆曲线的替代点代替所述椭圆曲线的基点;
签名更新模块,用于根据所述更新后的私钥的存储方式以及所述椭圆曲线的替代点计算新的签名。
6.根据权利要求5所述的系统,其特征在于,所述白盒处理模块,包括:
素数基获取单元,用于选取素数基,其中,所述素数基中的素数连乘的积大于所述椭圆曲线的阶的平方的绝对值;
私钥计算单元,用于根据所述素数基计算并记录所述私钥的余数;
置乱变换单元,用于生成所述私钥的置乱变换;
查找表生成单元,用于根据所述置乱变换构造所述私钥的查找表。
7.根据权利要求5所述的系统,其特征在于,所述签名生成模块,包括:
椭圆曲线计算单元,用于获取随机数,通过所述随机数和椭圆曲线的基点计算椭圆曲线上的点,其中,所述随机数为在椭圆曲线的阶数以内的正整数;
x轴分量计算单元,用于根据所述椭圆曲线上的点在坐标轴上的x轴坐标计算x轴的签名分量,其中,当所述x轴的签名分量为0时,重新计算;
y轴分量计算单元,用于根据所述x轴的签名分量以及所述查找表得到y轴的签名分量;
签名输出单元,用于根据所述x轴的签名分量以及所述y轴的签名分量输出签名。
8.根据权利要求5所述的系统,其特征在于,所述将私钥存储模块,包括:
对应数获取单元,用于获取随机数,通过所述查找表得到所述随机数的对应数,其中,所述随机数为在椭圆曲线的阶数以内的正整数;
对应数恢复单元,用于通过中国剩余定理恢复所述随机数的对应数;
替代点计算单元,用于根据所述恢复的对应数更新所述所述查找表得到新的查找表,并根据所述随机数以及椭圆曲线的基点得到椭圆曲线的替代点。
9.一种电子设备,包括存储器和处理器,所述存储器存储计算机程序,其特征在于,所述计算机程序在所述处理器中执行可实现权利要求1至4中任一种方法。
10.一种存储介质,存储计算机程序,其特征在于,所述计算机程序在处理器中执行可实现权利要求1至4中任一种方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111627380.8A CN114338039A (zh) | 2021-12-28 | 2021-12-28 | 白盒处理后的椭圆曲线签名方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111627380.8A CN114338039A (zh) | 2021-12-28 | 2021-12-28 | 白盒处理后的椭圆曲线签名方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114338039A true CN114338039A (zh) | 2022-04-12 |
Family
ID=81015333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111627380.8A Pending CN114338039A (zh) | 2021-12-28 | 2021-12-28 | 白盒处理后的椭圆曲线签名方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114338039A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130024699A1 (en) * | 2010-03-31 | 2013-01-24 | Irdeto Canada Corporation | System and Method for Protecting Cryptographic Assets From a White-Box Attack |
CN106685662A (zh) * | 2016-12-23 | 2017-05-17 | 中国电子科技集团公司第三十研究所 | 一种基于余数系统的商密sm2加密算法的白盒软件实现方法 |
US20180062843A1 (en) * | 2016-08-26 | 2018-03-01 | Intel Corporation | Secure elliptic curve cryptography instructions |
CN109768863A (zh) * | 2019-01-16 | 2019-05-17 | 杭州趣链科技有限公司 | 一种基于椭圆曲线的区块链密钥共享和动态更新方法 |
CN110663215A (zh) * | 2017-03-17 | 2020-01-07 | 皇家飞利浦有限公司 | 在白盒场景中的椭圆曲线点乘设备和方法 |
-
2021
- 2021-12-28 CN CN202111627380.8A patent/CN114338039A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130024699A1 (en) * | 2010-03-31 | 2013-01-24 | Irdeto Canada Corporation | System and Method for Protecting Cryptographic Assets From a White-Box Attack |
US20180062843A1 (en) * | 2016-08-26 | 2018-03-01 | Intel Corporation | Secure elliptic curve cryptography instructions |
CN106685662A (zh) * | 2016-12-23 | 2017-05-17 | 中国电子科技集团公司第三十研究所 | 一种基于余数系统的商密sm2加密算法的白盒软件实现方法 |
CN110663215A (zh) * | 2017-03-17 | 2020-01-07 | 皇家飞利浦有限公司 | 在白盒场景中的椭圆曲线点乘设备和方法 |
CN109768863A (zh) * | 2019-01-16 | 2019-05-17 | 杭州趣链科技有限公司 | 一种基于椭圆曲线的区块链密钥共享和动态更新方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110300112B (zh) | 区块链密钥分层管理方法 | |
Lin et al. | Distortion-free secret image sharing mechanism using modulus operator | |
Wang et al. | I mage encryption scheme based on Chaos and DNA plane operations | |
Lee et al. | Selective scalable secret image sharing with verification | |
CN111988144A (zh) | 一种基于多重密钥的dna一次一密图像加密方法 | |
CN106530197A (zh) | 一种基于Kent映射和广义Gray码的图像加密方法 | |
CN112035574A (zh) | 一种基于区块链技术的隐私数据分布式存储方法 | |
JP2010164835A (ja) | 検索システム及び索引暗号化装置及び検索暗号化装置及び検索装置及びコンピュータプログラム及び検索方法 | |
Zhang et al. | NANO: Cryptographic Enforcement of Readability and Editability Governance in Blockchain Databases | |
CN111368317B (zh) | 一种计算机数据加密系统及方法 | |
Shankar et al. | Using the digital signature of a fingerprint by an elliptic curve cryptosystem for enhanced authentication | |
CN114338039A (zh) | 白盒处理后的椭圆曲线签名方法和系统 | |
CN112330551A (zh) | 一种基于秘密共享的遥感图像外包降噪方法 | |
Li et al. | Secure and practical wildcard searchable encryption system based on inner product | |
CN108924379B (zh) | 一种数字图像加密方法 | |
US20100208884A1 (en) | Method and device for hashing onto points of an elliptic curve | |
CN115694974A (zh) | 一种基于协同可搜索的密文数据共享方法及系统 | |
CN106922210A (zh) | 解密条件追加装置、加密系统和解密条件追加程序 | |
CN112118094B (zh) | 云存储中一般访问策略的实现方法 | |
Liu et al. | Plaintext-related image encryption scheme using hyperchaotic system and DNA computing | |
Liu et al. | A novel image protection scheme using bit-plane compression and secret sharing | |
Qiu et al. | Efficient privacy-preserving outsourced k-means clustering on distributed data | |
Cheng et al. | Novel one-dimensional chaotic system and its application in image encryption | |
CN115134473B (zh) | 图像加密方法和装置 | |
Liu et al. | Meaningful share generation for (2, 2)-multiple visual secret sharing scheme without pixel expansion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |