System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及密码学,尤其涉及一种生成椭圆曲线点的方法、设备及存储介质。
技术介绍
1、椭圆曲线是数字密码学中的重要工具,它广泛应用于密码学算法、数字签名、密钥交换和安全协议等多个方面。其中,将字符串映射成椭圆曲线上的点是使用椭圆曲线进行密码学运算的关键步骤。
2、目前,通常采用概率算法实现字符串的编码映射,将字符串经过哈希处理得到一映射值t作为椭圆曲线点的x值。但是,此时对f(x)开平方所得到的y值不一定是整数,因此在构造x的过程中需要引入i值,令x=t+i,不断尝试不同的i值,直至最后得到的椭圆曲线点的y值为正整数。这种情况下,确定y值的过程充满不确定性,需要不断穷举i值进行验证,导致椭圆曲线点的生成效率较低。
技术实现思路
1、本申请的多个方面提供一种生成椭圆曲线点的方法、设备及存储介质,用以提高生成椭圆曲线点的效率。
2、获取待映射字符串映射至有限域上后,所获得的n个元素;
3、根据所述有限域的阶确定基准参数,所述基准参数对所述有限域的阶进行模运算的结果恒等于1;
4、计算所述基准参数和第一元素的平方之间的乘积,作为用于描述所述第一元素的自定义参数,所述第一元素是所述n个元素中的任意一个;
5、根据所述有限域上的椭圆曲线对应的方程中用于描述椭圆曲线形状的参数和所述自定义参数,计算所述第一元素在所述椭圆曲线上对应的第一横坐标;
6、将所述第一横坐标代入所述有限域上的椭圆曲线对应的方程,得到所述第一元素对应的第
7、若所述第一纵坐标不是整数,则将所述第一横坐标与所述自定义参数之间的乘积,作为所述第一元素对应的第二横坐标;
8、将所述第一元素对应的第二横坐标代入所述有限域上的椭圆曲线对应的方程,得到所述第一元素对应的第二纵坐标;
9、将所述第二横坐标和第二纵坐标在所述椭圆曲线上所指向的点,作为基于所述第一元素为所述待映射字符串在所述椭圆曲线上确定出的点。
10、本申请实施例还提供一种计算设备,包括:存储器、处理器和通信组件;
11、所述存储器用于存储一条或多条计算机指令;
12、所述处理器与所述存储器和所述通信组件耦合,用于执行一条或多条计算机指令,以用于:
13、通过所述通信组件获取待映射字符串映射至有限域上后,所获得的n个元素;
14、根据所述有限域的阶确定基准参数,所述基准参数对所述有限域的阶进行模运算的结果恒等于1;
15、计算所述基准参数和第一元素的平方之间的乘积,作为用于描述所述第一元素的自定义参数,所述第一元素是所述n个元素中的任意一个;
16、根据所述有限域上的椭圆曲线对应的方程中用于描述椭圆曲线形状的参数和所述自定义参数,计算所述第一元素在所述椭圆曲线上对应的第一横坐标;
17、将所述第一横坐标代入所述有限域上的椭圆曲线对应的方程,得到所述第一元素对应的第一纵坐标;
18、若所述第一纵坐标不是整数,则将所述第一横坐标与所述自定义参数之间的乘积,作为所述第一元素对应的第二横坐标;
19、将所述第一元素对应的第二横坐标代入所述有限域上的椭圆曲线对应的方程,得到所述第一元素对应的第二纵坐标;
20、将所述第二横坐标和第二纵坐标在所述椭圆曲线上所指向的点,作为基于所述第一元素为所述待映射字符串在所述椭圆曲线上确定出的点。
21、本申请实施例还提供一种存储计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行前述的生成椭圆曲线点的方法。
22、在本申请实施例中,可先将待映射字符串映射为有限域上的n个元素,再为各元素生成各自对应的椭圆曲线点。针对n个元素中的第一元素,可基于预先构建的基准参数,获得第一元素对应的自定义参数,根据该自定义参数和有限域上椭圆曲线对应的方程,可计算第一元素在椭圆曲线上对应的第一横坐标,将第一横坐标代入椭圆曲线方程可得到第一元素对应的第一纵坐标。在第一纵坐标不是整数(即是二次非剩余)的情况下,可根据自定义参数为第一元素生成第二横坐标,将第二横坐标代入椭圆曲线方程得到第一元素对应的第二纵坐标,以将()作为基于第一元素为待映射字符串确定出的椭圆曲线点。其中,巧妙的构建了一种自定义参数,基于自定义参数可在和之间建立一种关联关系,从而确保和的取值涵盖了模p的所有可能余数,和之间必定存在二次剩余,即第一纵坐标和第二纵坐标之间至少有一个是整数。这样,不再需要对横坐标进行反复尝试,消除了纵坐标的不确定性,可快速、准确地为待映射字符串生成对应的椭圆曲线点,从而有效提高生成椭圆曲线点的效率。
本文档来自技高网...【技术保护点】
1.一种生成椭圆曲线点的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述获取待映射字符串映射至有限域上后,所获得的N个元素,包括:
3.根据权利要求2所述的方法,其特征在于,所述将所述待映射字符串,转换为指定长度的目标字符串,包括:
4.根据权利要求2所述的方法,其特征在于,所述从所述目标字符串中,提取N个子字符串,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述有限域上的椭圆曲线对应的方程中用于描述椭圆曲线形状的参数和所述自定义参数,计算所述第一元素在所述椭圆曲线上对应的第一横坐标,包括:
6.根据权利要求1所述的方法,其特征在于,还包括:
7.根据权利要求6所述的方法,其特征在于,还包括:
8.根据权利要求7所述的方法,其特征在于,还包括:
9.一种计算设备,其特征在于,包括存储器、处理器和通信组件;
10.一种存储计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利
...【技术特征摘要】
1.一种生成椭圆曲线点的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述获取待映射字符串映射至有限域上后,所获得的n个元素,包括:
3.根据权利要求2所述的方法,其特征在于,所述将所述待映射字符串,转换为指定长度的目标字符串,包括:
4.根据权利要求2所述的方法,其特征在于,所述从所述目标字符串中,提取n个子字符串,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述有限域上的椭圆曲线对应的方程中用于描述椭圆曲线形状的参数和所述自...
【专利技术属性】
技术研发人员:秦体红,邓祥瑞,
申请(专利权)人:北京信安世纪科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。