质数产生制造技术

技术编号:12270500 阅读:56 留言:0更新日期:2015-11-04 17:06
一个特征关于一种减少与产生质数相关联的计算延迟的方法。所述方法包含产生具有多个位的第一随机数。接着,对所述第一随机数执行第一质数测试。接着,确定所述产生的第一随机数是未能通过还是通过了所述第一质数测试。如果所述第一随机数未能通过所述质数测试,那么使用相等数目的随机产生的位替换所述第一随机数的所述多个位中的一部分但并非所有,以产生第二随机数。接着,再次对所述第二随机数执行质数测试。重复这个过程直至检测到质数。

【技术实现步骤摘要】
【国外来华专利技术】
各种特征涉及用于质数产生的方法及装置,且更明确地说,涉及促进质数产生的方法及装置。
技术介绍
质数在公用密钥密码术中广泛使用。举例来说,RSA(Rivest、Shamir、Adleman)为针对密键产生过程需要质数的大部分最广泛使用的公用密钥密码中的一种。用于密码术的质数必须足够大以确保较大的密钥空间,所述密钥空间抵消强力攻击。可用于RSA密码术方案的典型质数可为(例如)1,024位,其产生2,048位公用密钥/私用密钥对。此时,产生如此大的质数对于具有相对先进的处理器的个人电脑及服务器为耗时的,并且导致明显延迟。这种延迟变成影响在某些应用程序(例如,受信任的平台模块(TPM)及智能卡(UICC)需要RSA密钥产生时的移动计算的关键因素。在最新的基于ARM的处理器中产生1,024位质数可采取数量级为秒的延迟,所述延迟显著影响用户体验。因此,促进质数产生的任何方法将有益于密码编译应用程序,尤其是移动计算应用程序。图1说明先前技术中发现的产生质数的典型方法100。首先,使用真随机数产生器(RNG)或高质量伪随机数产生器(PRNG)产生η字的随机数R 102。其次,对候选数R执行“质数测试”104。“质数测试”为一种用于确定一数字是否为质数的算法。在许多情况下,质数测试实际上为在本质上概率的复合数字测试(即,其确定一数字是否为复合数字)。这些测试的实例包含Miller-Rabin质数测试及Solovay-Strassen质数测试。第三,如果候选数字R通过质数测试(即,所述数字R可能为质数),那么R可在密钥产生过程中用作质数106。否则,如果候选数字R未能通过所述质数测试(即,确定所述数字R并非质数),那么数字R被丢弃并且产生完全新的随机数R2108,且重复以上步骤104、106 和 / 或 108。尽管质数测试促成与质数产生相关联的大部分延迟,但在确定候选随机数并非质数(即,步骤108)之后,所述延迟的另一有效的促成者是由于产生新随机数R(即,步骤102)所花费的时间。随机选择的数字R为质数的概率极低。举例来说,根据质数定理,1,024位的数字为质数的概率约为1/710(1/111(21°24))。出于此原因,可丢弃候选质数(S卩,步骤108),并且可在(某种程度上)确认候选质数为质数(即,步骤106)之前多次产生(即,步骤102)新候选质数。因此,存在以下需求:促进质数产生,以使得与产生及确定数字为质数相关联的总延迟减少。关于依赖于质数产生的密码术的应用可从这些加速的质数产生方案得到明显益处。
技术实现思路
—个特征关于一种产生质数的方法,所述方法包括:产生具有多个位的第一随机数,对产生的第一随机数执行第一质数测试,确定所述产生的第一随机数未能通过所述第一质数测试,使用相等数目的随机产生的替换第一随机数的多个位中的一部分但非所有,以产生第二随机数,以及对所述第二随机数执行第二质数测试。根据一个方面,所述方法进一步包括确定第二随机数未能通过第二质数测试,及使用相等数目的随机产生的位替换第二随机数的多个位的部分但非所有,以及对所述第二随机数运行连续质数测试直至确定所述第二随机数通过所述连续质数测试中的一者。根据另一方面,第一随机数包括多个X-位字,并且多个位的替换的部分为第一 X-位字。根据另一个方面,,所述方法进一步包括在使用第一 X位字替换多个位的所述部分之前,使第一随机数向左或向右旋转至少一个X位字。根据一个方面,多个位的替换的部分形成连续的位块。根据另一方面,多个位的替换的部分为部分具有非连续位数的所述多个位的随机位。根据另一个方面,第一随机数及第二随机数各自具有至少八个(8)位,并且多个位的替换的部分为至少两个(2)位。根据另一方面,所述方法进一步包括确定第二随机数未能通过第二质数测试,使用相等数目的随机产生的位替换第二随机数的多个位中的一部分但非所有,以产生第三随机数,以及对所述第三随机数执行第三质数测试。根据一个方面,第一和第二随机数各自包括多个X位字,并且第一随机数的多个位的所述替换的部分为第一 X位字,且第二随机数的多个位的所述替换的部分为第二 X位字。根据另一方面,第一 X位字及第二 X位字具有不同字编号。根据另一个方面,第一 X位字及第二 X位字具有连续字编号。根据另一方面,第一 X位字及第二 X位字具有非连续字编号。 根据一个方面,第一和第二随机数各自包括多个X位字,并且经替换以产生第二随机数的第一随机数的多个位的所述部分为第一 X位字,且所述方法进一步包括:确定第二随机数未能通过第二质数测试,及使用随机产生的X位字替换第二随机数的第一 X位字,及对第二随机数运行连续质数测试直至确定所述第二随机数通过所述连续质数测试中的一者或确定所述第二随机数的所述第一 X位字已替换预定次数。根据另一方面,所述方法进一步包括在确定第二随机数的第一 X位字已替换所述预定次数时,使用随机产生的X位字替换所述第二随机数的第二 X位字。另一特征关于一种质数产生器,所述质数产生器包括:随机数产生器电路,其适于产生具有多个位的第一随机数;质数测试电路,其以通信方式耦合到所述随机数产生器电路,所述质数测试电路适于对产生的第一随机数执行第一质数测试,及确定所述产生的第一随机数未能通过第一质数测试;以及位替换电路,其以通信方式耦合到所述质数测试电路,所述位替换电路适于使用相等数目的随机产生的位替换第一随机数的多个位的一部分但非所有,以产生第二随机数,其中所述质数测试电路进一步适于对第二随机数执行第二质数测试。根据一个方面,质数测试电路进一步适于确定第二随机数未能通过第二质数测试,且位替换电路进一步适于使用相等数目的随机产生的位替换第二随机数的多个位的部分但非所有及对所述第二随机数运行连续质数测试直至确定所述第二随机数通过所述连续质数测试中的一者。根据另一方面,第一随机数包括多个X-位字,并且多个位的替换的部分为第一 X-位字。根据另一个方面,位替换电路进一步适于在使用第一 X位字替换多个位的所述部分之前使第一随机数向左或向右转动至少一个X位字。根据一个方面,质数测试电路进一步适于确定第二随机数未能通过第二质数测试,位替换电路进一步适于使用相等数目的随机产生的位替换第二随机数的多个位中的一部分但非所有,以产生第三随机数,并且质数测试电路进一步适于对所述第三随机数执行第三质数测试。根据另一方面,第一和第二随机数各自包括多个X位字,经替换以产生第二随机数的第一随机数的多个位的所述部分为第一 X位字,质数测试电路进一步适于确定第二随机数未能通过第二质数测试,并且位替换电路进一步适于使用随机产生的X位字替换第二随机数的第一 X位字,及对第二随机数运行连续质数测试直至确定所述第二随机数通过所述连续质数测试中的一者或确定所述第二随机数的所述第一X位字已经替换预定次数。根据另一个方面,位替换电路进一步适于在确定第二随机数的第一 X位字已经替换预定次数时,使用随机产生的X位字替换所述第二随机数的第二 X位字。另一特征关于一种质数产生器,所述质数产生器包括:用于产生具有多个位的第一随机数的装置;用于对产生的第一随机数执行第一质数测试的装置;用于确定产生的第一随机数未能通过第一质数测试的装置;用于使用相等数目的随机产本文档来自技高网
...

【技术保护点】
一种产生质数的方法,其包括:产生具有多个位的第一随机数;对所述产生的第一随机数执行第一质数测试;确定所述产生的第一随机数未能通过所述第一质数测试;使用相等数目的随机产生的位替换所述第一随机数的所述多个位中的一部分但非所有,以产生第二随机数;以及对所述第二随机数执行第二质数测试。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:肖露宾加·安萨里
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1