本发明专利技术公开了一种快速生成高概率原根的计算方法
【技术实现步骤摘要】
一种快速生成高概率原根的计算方法、系统及存储介质
[0001]本专利技术涉及网络安全
,具体涉及一种快速生成高概率原根的计算方法
、
系统及存储介质
。
技术介绍
[0002]在离散对数型密码系统中,大质数与原根这两个参数相当重要且关系到系统的安全性
。
为了降低计算复杂度,现有方法通常先利用概率式的质性判定方法产生,然后再利用费马定理去验证原根的阶是否最大,这两个参数产生的过程都需要用到模指数运算,计算复杂度皆为
。
然而,前面产生大质数的方法是属于概率式的,后面产生原根的方法却是确定式的,这意味着是不是原根其实也是一个概率问题,这样产生原根的计算复杂度较大,从而导致整体系统的复杂度也较大
。
[0003]而目前验证原根方法为:先将
P
‑1分解后,,然后逐一计算算式是否成立,
1 mod P 或
1 mod P , i=2,3,...k
,总共需要
k
次模指数运算,若所有算式皆成立,才可判定所任选的为原根
。
[0004]其次,当
P
是一个非常大的质数时,
P
‑1可能包含很大的因子相乘的复合数,这时就很难进行分解,因为这是一个大数分解的数学难题
。
[0005]所以,现有技术方法的缺点有至少如下两点:
(1)
需要
k
次模指数运算,每次计算复杂度为,整体计算复杂度过高,特别是在一些计算资源受限的装置中较难实现
。(2)
若
P
‑1无法完全分解,则无法正确判别原根,且错误概率非常高
。
技术实现思路
[0006]本专利技术提供了一种在数论中生成和判别原根的计算方法,可直接应用于离散对数型密码系统中,降低信息安全与网络安全所需的计算复杂度
。
本专利技术能直接用较低的计算复杂度产生概率式的原根,对降低整体系统复杂度有所助益
。
[0007]有鉴于此,本专利技术第一方面提供了一种快速生成高概率原根的计算方法,所述方法包括:步骤1:随机选取一个大奇数
P
,并判定
P
是否为一个大质数;步骤2:重复执行步骤1,直至确定
P
为大质数为止;步骤3:随机选取一个整数,
1<<P
‑1,并计算
mod P
的雷建德符号值;步骤4:重复执行步骤3,直至,则判定为原根
。
[0008]可选地,结合第一方面,在一种可能的实现方式中,所述方法还包括:确定是一个原根的概率步骤,其中,所述确定是一个原根的概率步骤具体包括:假设,表示存在一个平方根满足:;
由于,则,的阶等于,当时,一定不是一个原根;满足的总个数为:,其中,
k≥2
;其中,阶为原根的非同余整数总个数为:;则隐含是一个原根的概率为:
。
[0009]本专利技术第二方面提供了一种快速生成高概率原根的计算系统,所述系统包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述装置执行如本专利技术第一方面或第一方面的任意一种可能的实现方式中所述的快速生成高概率原根的计算方法
。
[0010]本专利技术第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如本专利技术第一方面或第一方面的任意一种可能的实现方式中所述的快速生成高概率原根的计算方法
。
[0011]本专利技术提出的快速判别原根的方法为:直接计算
mod P 的雷建德符号值,若,则为原根的正确概率趋近于
1。
[0012]与现有技术对比,本专利技术所需的计算复杂度仅为,远低于现有技术需要
k
次的计算复杂度
。
同时,不需进行
P
‑1的因子分解,易于直接实现
。
附图说明
[0013]图1为本申请提供的一种快速生成高概率原根的计算方法流程图;图2为本申请提供的一种快速生成高概率原根的计算系统示意图
。
具体实施方式
[0014]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚
、
完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例
。
基于本专利技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围
。
[0015]本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序
。
应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施
。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程
、
方法
、
系统
、
产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程
、
方法
、
产品或设备固有的其它步骤或
模块
。
[0016]本专利技术涉及一种在数论中生成和判别原根的计算方法,可直接应用于离散对数型密码系统中,降低信息安全与网络安全所需的计算复杂度
。
本专利技术在数论中的主要应用:
(1)
离散对数问题(
Discrete Logarithm Problem
):原根可以用于解决离散对数问题,即找到一个整数 k
,使得给定的底数 a、
模数 p 和指数 x 满足 a^k ≡ x (mod p)。
这个问题在密码学中有广泛的应用,如椭圆曲线密码学和
Diffie
‑
Hellman
密钥交换算法
。(2)
素数生成:原根可以帮助生成大素数
。
如果一个素数 p 的一个原根可以找到,那么可以使用它来测试其他数字是否为素数
。
这在
RSA
加密算法等密码学协议中非常有用
。(3)
密码学:原根在许多密码学算法中发挥关键作用,包括
Diffie
‑
Hellman
密钥交换
、
椭圆曲线密码学和
ElGamal
加密等
。
原根的性质可以用于实现安全的密钥交换和加密
。(4)
数字签名:原根也可以用于数字签名算法,如
DSA
(
Digital本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.
一种快速生成高概率原根的计算方法,其特征在于,所述方法包括:步骤1:随机选取一个大奇数
P
,并判定
P
是否为一个大质数;步骤2:重复执行步骤1,直至确定
P
为大质数为止;步骤3:随机选取一个整数,
1<<P
‑1,并计算
mod P
的雷建德符号值;步骤4:重复执行步骤3,直至,则判定为原根
。2.
根据权利要求1所述的快速生成高概率原根的计算方法,其特征在于,所述方法还包括:确定是一个原根的概率步骤,其中,所述确定是一个原根的概率步骤具体包括:假设,表示存在一个平方根满足:;由于,则...
【专利技术属性】
技术研发人员:彭顺富,廖珮君,
申请(专利权)人:泉州信息工程学院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。