数据处理系统以及数据处理方法技术方案

技术编号:7281898 阅读:130 留言:0更新日期:2012-04-20 00:47
本发明专利技术提供一种数据处理系统以及数据处理方法。提供一种即使如IC卡那样仅具有有限的存储资源也可以实现高效的加密处理的技术。加密密钥的生成系统具备:运算单元,用于重构多个小的素数;筛选单元,用于检查是否利用小的素数整除了整数;重编码单元,用于改变整数的表现;以及素数性判定测试单元。筛选单元检查是否利用最初由运算单元重构的小的素数整除了整数,由此去除“不恰当的”素数候补。之后,使用素数性判定测试单元对剩余的素数候补进行测试。此时,使用重构单元,变换素数候补的表现,使用所变换的表现形式,素数性判定测试单元进行判定。由此,无需大的存储器容量,而可以减少用于素数性判定的运算处理数。

【技术实现步骤摘要】

本专利技术涉及用于素数判定的,例如涉及应用于在公有密钥加密方式的系统结构等中使用的加密密钥的高效生成有效的技术。
技术介绍
公有密钥加密方式被广泛公知,且当前被用于很多的应用、例如银行业务或电子商务。在此,经由不安全的网络,在用户之间使用数字签名文件、加密数据、变换密钥键等。 RSA是用于公有密钥加密法的事实上的标准,并且在需要数字签名或公有密钥加密的应用中被一般化。例如,由用于信用卡的EMV(Europay-Mastercard-Visa)财团推荐有效利用 RSA,更准确而言,直到2010年为止,由EMV推荐具有IOM位的键长度的RSA,在此以后推荐 2048位的键。在RSA中,消息被编码成η位整数。RSA公有密钥由幂指数E (其一般较小)、η位的模数N构成。RSA私有密钥是η位整数D,具有E * D = Imod(P-I) * (Q-I)的关系。记号*意味着乘法。此处,P和Q是私有的素数,其满足P * Q = N的关系。关于任意的消息 0 < = M < N、(Me)d mod N = M进行说明。假设成例如艾丽斯是作为RSA密钥的(E、N)、D 的保有者,而且假设成鲍勃希望向艾丽斯发送加密后的消息M。鲍勃计算C = Me mod N,向艾丽斯发送密文。接下来,艾丽斯计算Cd= (Me) d = M mod N而恢复原来的文章。由此,可知RSA的中心动作是乘方的余数乘法Xy mod N.。在N大时,例如在2048位时,其乘方计算花费时间。为了提高RSA的运算速度,可以利用中国的余数定理。其提及了乘方的余数乘法Cd mod N可以交换成二个乘方的模P和Q。N = P * Q且P以及Q是模N的大约一半的数据尺寸,所以根据利用该中国的余数定理的途径(RSA-CRT),可以实际上加快进行运算。 在RSA-CRT中,该加密的步骤与标准的RSA同样地,是C = Me mod N。相异点是从加密的解码手法。例如,设为被定义成 Dp = D mod P-I = E"1 mod P_l、Dq = D mod Q-I = E"1 mod Q-UQinv = GT1 mod P。其中,在 Z = X-1 modY 满足 Z * X = 1 mod Y 的整数是 1 <= Z < Y 时,利用计算机的RSA-CRT的解码处理成为Mp = CDp mod P,Mq = C"DQ mod Q、M = Mq+Q * 。因此,此时的RSA的密钥对是作为公有密钥的E、N、作为用于标准 RSA的私有密钥的D以及用于RSA-CRT的P、Q、DQ、DP、&nv。RSA密钥的长度例如与公有密钥N的位数的尺寸相关。例如在2048位RSA中,公有密钥N具有2048位,素数P、Q—般分别具有10M位。其结果,成为N = P* Q。为了发行RSA密钥,选择二个随机的素数P以及Q,其他密钥元素来自于二个素数。为了生成随机的素数,一方面,如下所述进行处理。第一,选择随机的整数,然后对该任意的数进行素数判定、例如费马(Fermat)判定。在该数无法通过素数判定的情况下,被更新成新的素数候补而进行处理。更新的处理根据方法而不同,例如设为新的任意的整数,或者增加最初的随机的整数。在生成RSA密钥的计算机处理中,生成任意的素数的步骤花费的计算机资源最多。过去,对于进行这样的成本较大的处理,计算机处理能力过低,对于在IC卡中生成RSA密钥的情况,无疑也是如此。其结果,只能使用功能强大的工作站来生成RSA密钥, 并拷贝到IC卡。但是,最近的IC卡开始享受针对公有密钥加密处理特化的硬件加速器 (accelerator)带来的利益。上述硬件加速器是加密处理用的辅助处理器(coprocessor), 从而使IC卡生成加密密钥变成现实。其具有二个效果。第一效果为,防止单一障碍点,即防止如在工作站生成密钥的情况那样,如果工作站发生障碍则由此生成的全部密钥变得危险的现象。第二效果为,卡发行者可以不知道私有密钥这一点。即,对于卡发行者来说,不会被视为负有泄漏私有密钥或将这些误用的责任。专利文献1 美国专利第7113595号说明书非专禾丨J文献 1 :Alfred Menezes, Paul van Oorschot, ScottVanstone ,Handbook of Applied Cryptography", Chapter 4, Public-Key Parameters. CRC Press, ISBN 0-8493-8523-7非专利文献 2 :Katsuyuki Okeya, Katja Schmidt-Samoa, Christian Spahn and Tsuyoshi Takagi "Signed BinaryRepresentations Revisited,,, Proceedings of Advances in Cryptology, CRYPTO 2004, LNCS 3152, Springer-Verlag, 2004即使利用加密处理用的辅助处理器来促进了其计算处理,但IC卡那样的便携设备在多数情况下处于其计算能力低且存储资源也不充分的非常有限的环境中。但是,其终端用户通常不希望在发生加密密钥时等待较长的时间。因此,期望开发无需大量的计算机资源而可以高效地生成该种加密密钥的技术。另外,在非专利文献1中,记载有生成随机的素数的几种方法。但是,其中记载的技术几乎无法通过仅具备不充分的存储器资源的IC卡来实现。在非专利文献2中,虽然详述了生成随机的素数的简单的技术但未能提供有效的方法。
技术实现思路
本专利技术是鉴于上述情况而完成的,其目的在于提供一种素数判定技术,即使例如如IC卡那样仅具有有限的存储资源也可以实现高效的加密处理。换言之,本专利技术的目的在于提供一种技术,即使如便携机器那样具有不充分的存储资源也可以高速地生成随机的素数。本专利技术的上述以及其他目的和新的特征通过本说明书的记述以及附图将更加明确。如果简单说明本申请中公开的专利技术中的代表性的专利技术的概要,则如下所述。即,本专利技术为了能够用较少的计算机资源高效地进行处理,而被应用于数据的编码和重编码。特别,在素数生成步骤的期间,为了再次生成多个小的素数,而使用预定的紧凑的表。另外,对素数判定中处理的素数候补进行重编码,将它们的表现形式从二进制码变换成恰当的码。例如,生成加密密钥的数据处理系统具备运算单元,用于重构多个小的素数;筛选单元,用于检查整数是否被小的素数整除;重编码单元,用于改变整数的表现;以及素数性判定测试单元。筛选单元检查整数是否被最初由运算单元重构的小的素数整除,由此去除“不恰当的”素数候补。之后,使用素数性判定测试单元对剩余的素数候补进行测试。此时,使用重构单元,变换素数候补的表现,使用所变换的表现形式,素数性判定测试单元进行判定动作。由此,无需大的存储器容量,而可以减少用于素数性判定的运算处理数。如果简单说明通过本申请公开的专利技术中的代表性的专利技术而得到的效果,则如下所述。S卩,即使如IC卡等那样仅具有有限的存储资源也可以在素数判定或素数生成中实现高效的加密处理。另外,即使如便携机器那样具备不充分的存储资源也可以高速地生成随机的素数。附图说明图1是IC本文档来自技高网
...

【技术保护点】

【技术特征摘要】
...

【专利技术属性】
技术研发人员:卡米尔·维尧姆桶屋胜幸吉野雅之
申请(专利权)人:瑞萨电子株式会社
类型:发明
国别省市:

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

1
相关领域技术