System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及信息加密,具体而言,本申请涉及一种椭圆曲线加密标量乘的快速计算方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
技术介绍
1、椭圆曲线加密(elliptic curve cryptography,ecc)是一类基于使用有限域上的椭圆曲线的密码运算的公钥加密。ecc运算可以用于执行包括密钥交换和数字签名操作的传统的密码运算。
2、具体到椭圆曲线的加密算法的整个计算过程,标量乘运算是最耗时的部分之一。
技术实现思路
1、本申请实施例提供了一种椭圆曲线加密标量乘的计算方法、装置、电子设备、计算机可读存储介质及计算机程序产品,可以解决现有技术的上述问题。所述技术方案如下:
2、根据本申请实施例的一个方面,提供了一种椭圆曲线加密标量乘的计算方法,该方法包括:
3、确定椭圆曲线上的基点g与各组子标量k,所述各组子标量k是基于窗口法对标量k进行编码获得的;
4、对于每组子标量,从预设的静态随机存取存储器sram中读取与所述子标量k的实际值对应的第一结果rd;
5、根据各组子标量k对应的第一结果rd,确定所述椭圆曲线上的q点;
6、其中,从预设的sram中获取与所述子标量k的实际值对应的第一结果rd,之前还包括:
7、针对每组子标量k的每个可能值,通过硬件实现的点加和倍点算子,对所述基点g以及所述可能值进行标量乘,获得所述可能值对应的第一结果rd,并写入在所述sram中。
8、根据本
9、输入模块,用于确定椭圆曲线上的基点g与各组子标量k,所述各组子标量k是基于窗口法对标量k进行编码获得的;
10、读取模块,用于对于每组子标量,从预设的静态随机存取存储器sram中读取与所述子标量k的实际值对应的第一结果rd;
11、输出模块,用于根据各组子标量k对应的第一结果rd,确定所述椭圆曲线上的q点;
12、其中,计算装置还包括预处理模块,所述预处理模块用于针对每组子标量k的每个可能值,通过硬件实现的点加和倍点算子,对所述基点g以及所述可能值进行标量乘,获得所述可能值对应的第一结果rd,并写入在所述sram中。
13、根据本申请实施例的另一个方面,提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上的计算机程序,处理器执行所述计算机程序以实现上述椭圆曲线加密标量乘的计算方法的步骤。
14、根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述椭圆曲线加密标量乘的计算方法的步骤。
15、根据本申请实施例的一个方面,提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述椭圆曲线加密标量乘的计算方法的步骤。
16、本申请实施例提供的技术方案带来的有益效果是:
17、针对每组子标量k的可能值是有限的前提,针对每个可能值,在硬件上预先实现了点加和倍点算子供软件实时调用运算,并且,针对预定的椭圆曲线,软件可以基于点加和倍点算子,预先对椭圆曲线的基点与可能值进行标量乘,获得该可能值对应的第一结果rd,并写入sram中,从而,在获得了每组子标量后,基于该子标量的实际值,从sram中获得该实际值对应的第一结果rd,在实际运算阶段省略了计算子标量对应的第一结果rd的捕捉,最后利用各组子标量k对应的第一结果rd获得q点,显著提升标量乘的运算效率。
本文档来自技高网...【技术保护点】
1.一种椭圆曲线加密标量乘的计算方法,其特征在于,包括;
2.根据权利要求1所述的方法,其特征在于,针对每组子标量k的每个可能值,所述可能值对应的第一结果Rd通过以下方式写入在所述SRAM中:
3.根据权利要求1或2所述的方法,其特征在于,各个第一结果Rd均写入在唯一的SRAM中。
4.根据权利要求3所述的方法,其特征在于,所述SRAM具有纠错码ECC能力,对于所述SRAM中存储的每一数据,所述方法还包括以下一者:
5.根据权利要求4所述的方法,其特征在于,对所述第一结果Rd进行加扰,包括:
6.根据权利要求1所述的方法,其特征在于,所述子标量k的组数为L组;
7.根据权利要求1所述的方法,其特征在于,所述标量K通过以下方式确定:
8.根据权利要求1-7任意一项所述的方法,其特征在于,所述标量K的各组子标量k通过以下方式获得:
9.根据权利要求8所述的方法,其特征在于,还包括:
10.一种椭圆曲线加密标量乘的计算装置,其特征在于,包括:
11.一种电子设备,包括
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-9任一项所述的椭圆曲线加密标量乘的计算方法。
13.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-9任一项所述的椭圆曲线加密标量乘的计算方法。
...【技术特征摘要】
1.一种椭圆曲线加密标量乘的计算方法,其特征在于,包括;
2.根据权利要求1所述的方法,其特征在于,针对每组子标量k的每个可能值,所述可能值对应的第一结果rd通过以下方式写入在所述sram中:
3.根据权利要求1或2所述的方法,其特征在于,各个第一结果rd均写入在唯一的sram中。
4.根据权利要求3所述的方法,其特征在于,所述sram具有纠错码ecc能力,对于所述sram中存储的每一数据,所述方法还包括以下一者:
5.根据权利要求4所述的方法,其特征在于,对所述第一结果rd进行加扰,包括:
6.根据权利要求1所述的方法,其特征在于,所述子标量k的组数为l组;
7.根据权利要求1所述的方法,其特征在于,所述标量k通过以下方式确定:
8.根据...
【专利技术属性】
技术研发人员:吴豪,
申请(专利权)人:安谋科技中国有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。