包括加密及解密系统的密码系统及密钥保管系统和相关的装置及设备的制作方法

文档序号:7579761阅读:254来源:国知局
专利名称:包括加密及解密系统的密码系统及密钥保管系统和相关的装置及设备的制作方法
技术领域
本发明涉及包括加密及解密的密码系统及密钥保管系统,和相关的装置及设备。
本发明尤其是设计用于芯片卡、PCMCIA卡、标签、无触点卡类型的电子系统或任何另外的便携式装置。
现今具有公用密钥的大多数密码系统(也称非对称密码系统)使用了RSA加密算法,它是在1978年由R.Rivest,A.shamir及L.Adleman发表的并继而以《密码通信系统及方法》的名称获得专利,其专利号为US 4,405,829。
除系统RSA以外,很少具有用公用密钥加密的实际系统和方法。但存在另一种较不著称及使用相对少的系统,它涉及以标题《公用密钥密码系统及基于离散对数的特征方案》发表在IEEE信息理论会利,1985年第IT-31卷第4期,第469-472页上的E1-Gamal系统。
一个RSA或E1-Gamal密码实际上是在计算机中由二进制或十六进制数字链表示的一个大数目。在处理所有可存取的参数的应用前,可借助软件计算资源(程序)和/或使用一系列计算规则的硬件(电子电路)来计算密码,以便隐蔽被处理数据的内容。可用模拟方式,借助软件计算资源或使用应用于所有秘密、公开参数及密码的一系列计算规则的硬件(解密码算法)来对密码解码。
加密系统或方法使用一种公用密钥来产生密码。而解密方法使用一种不公开的密钥,该密钥相应于总之无法被识别的秘密密钥。一种便携式电子装置、例如智能卡的用户具有一对密钥(称为公用密钥及秘密密钥)。并假定,公用密钥是所有用户公知的,而秘密密钥从不公开。所有的人能够使用用户的公用密钥来加密该用户的信息,但这些密码不能被解码,除非使用该用户的秘密密钥。
以下将以说明的方式描述公知的RSA算法的原理。
RSA参数为①两个长度至少等于256位(bit)的秘密质数p及q。这些质数是以一种特定方式产生的,其详情对于理解本发明并非必须的,但可以参考著作《应用密码、算法、协议及源码》Bruce Schneier著(MarcVauclair的译本),Thomson出版社出版。
②一个公用模数n=pq。
③一对指数,记为{e、d},e为公开指数及d为秘密指数,如ed=1 mod(p-1)(q-1)。
称为《加密指数》的指数e是安全可得到的,而《解密指数》d是保密的。
为了对信息m加密,发送机计算密码c=memod n,及接收机或检验装置通过计算m=cdmod n来解密。
E1-Gamal算法其本身的原理不太复杂及对于理解本发明并无特殊帮助。
本发明涉及一种密码系统,它包括作为RSA方法及E1-Gamal方法变型的具有交替公用密钥的加密-解密系统及一个密钥保管系统(英语通常称为《Keyescrow》)。
根据本发明,提供了一种与所谓离散对数及因数分解原理相结合的密码系统,其中包括公用密钥及一个秘密密钥,其特征在于,所述公用密钥至少包括a.一个长度大于640位(bit)的模数RSA n,它具有以下特性n=(ApA+1)×(BpB+1)式中pA及pB是长度大于320位(bit)的质数,(ApA+1)是一个记为p的RSA质数,(BpB+1)是一个记为q的RSA质数,A是K/2(K是包括在10及120之间的一个偶整数)个长度相对小(在2及6位之间)的质数(记为p〔i〕,i=1至K/2)的乘积,及B是K/2个质数(也记为p〔i〕,i=K/2+1至K)的乘积;p〔i〕的长度相对小(在2及16位之间),并同样互为质数;b.一个幂的底数g,其量级为φ(n)/4(其中φ(n)为欧拉指示函数),因此g不会成为任何数的第p〔i〕次幂的模n(modulo n)。
更确切地,本发明涉及一种密码系统,它包括至少一个加密-解密系统,其特征在于一个信息m的加密由以下操作形成,m<AB
C=gmmod n式中C表示密码(加密信息)。
优选地,根据本发明的密码系统其特征在于m的完整性可由m/h(m)的加密(h表示一个截断函数及1表示链接)或由DES(cle′、m)的加密来保证,《cle′》是一个完全可取得的密钥。
本发明同样旨在描述一种保管系统。根据本发明,译码器的所述秘密密钥或保管核心是数φ(n),及解密操作或恢复用户识别的操作在于以下步骤a.对于从1至K的i计算y〔i〕=cφ(n)/p〔i〕mod n;b.对于从1至K的i,对于1至p〔i〕的j,比较y〔i〕与m无关的值gjφ(n)/p〔i〕mod n,如果gjφ(n)/p〔i〕mod n=y〔i〕,则赋予μ〔i〕=j,c.根据TRC中国余数定理及值μ〔i〕重组信息m。
根据一个实施变型,通过以下计算可加速所述译码器对量y〔i〕的计算a)z=crmod n,其中r=pApB,b)对于从1至K的i,计算y〔i〕=ZAB/p〔i〕mod n,以便利用AB/p〔i〕及φ(n)/p〔i〕之间的长度差别来加速计算。
根据本发明的另一变型,译码器将一劳永逸地对于1≤i≤k及1≤j≤p〔i〕预计算及保存值gjφ(n)/p〔i〕mod n的表格,或更专门地,这些值的截断值或散列值(记为h)具有以下特性h(gjφ(n)/p〔i〕mod n)≠h(gj′φ(n)/p〔i〕mod n),如果j≠j′的话。
因此,这就一方面避免了对于每个I对量gjφ(n)/p〔i〕mod n的全新计算,另一方面可对特别长的值进行存储。
根据本发明的另一优选实施方式,译码器通过分开地先解码信息模p然后解码模q及借助中国余数定理组合结果模,以重新获得m。
保管系统是由以下的功能步骤来实现的a.保管权威机构通过计算e(ID)=∏ p〔i〕ID〔i〕(对于从1至K的i计算积)对用户的识别码ID=∑2i-1ID〔i〕编码,其中ID〔i〕是系统中该用户的识别码位(对于从1至K的i计算和);b.它向用户输出一个E1-Gamal密钥(这就是说,一个幂的底数)C=gc(ID)umod n,其中u是一个随机的大质数或具有φ(n)的质数;
c.它也可以通过选择一个随机数x及通过自乘C到x模n次幂使用户从C的求导得到其E1-Gamal公用密钥;d.为了重新找到用户的踪迹,权威机构从编码器的E1-Gamal密码中提取下列部分(所述密码总是包括两部分)V=crmod n式中r是由编码器选择的编码随机量;e.知道φ(n)后,所述权威机构由下列算法求出位ID〔i〕①对于从1至K的i计算y〔i〕=Vφ(n)/p〔i〕mod n,②如果y〔i〕=1,则μ〔i〕=1,否则μ〔i〕=0,③计算ID′=∑2i-1μ〔i〕,④求出ID=CCE(ID′),式中CCE表示一种(选择的)纠错机制(其类型为著作《码纠错器,理论与实践》,A.Poli及L.Huguet著,Masson出版社,中所述的类型),它用于对在非法使用组合r的情况下导入的干扰进行纠偏。
所提出的另一种保管系统是基于Diffie-Hellman的所谓密钥交换机制,其中用户之一通过自乘g到a模n随机次幂获得的数C被所述保管权威机构截取C=gamod n所述保管权威机构以再下列方式示出aa.知道n的因数分解后,所述权威机构借助于解码的算法求出值α=a mod AB或a=α+βAB;b.所述权威机构计算λ=c/gamod n=gβABmod n;c.通过使用密码分析算法(离散对数计算法,可能执行两次(模p及模q)以便加速运算),权威机构计算离散对数βλ=(gAB)βmod n;d.所述权威机构求出a=α+βAB并基于使用a,解码通信信息。
根据本发明的另一实施例,模数RSA n为三个因数的乘积n=(ApA+1)×(BpB+1)×(CpC+1)
式中pA、pB、pC为长度大于320位的质数,(ApA+1)、(BpB+1)、(CpC+1)为RSA质数,分别记为p、q、r,A、B及C各是K/3个质数(记为p〔i〕,i=1至K)的乘积,p〔i〕的长度相对小(在2至16位之间)并互为质数,及K是包括在10及120之间的一个整数,因此乘积ABC至少为160位。
该实施例对于加速解码的运算是有利的。为了加速这些计算,解码器执行mod p mod q mod r的运算。如果n为640位,分割成三个因数将使这些因数的长度更小。
本发明优先地设计用于加密、解密及密钥的保管装置中,例如它们为计算机、芯片卡、PCMCIA卡、标签、无触点卡及其它的便携装置。
本发明也涉及一种设备,它包括一个密码系统,其特征在于它包括一个加密系统和/或一个解密系统和/或一个密码保管系统,所述这些系统通过交换电子信号或通过对无线电波或红外信号交换在它们之间进行通信。
为了更好地理解本发明,需要进行以下的说明。
本发明的加密方法可分为三个不同阶段产生密钥,产生密码,及对密码解码。
以下,我们使用传统的(符号表示)方式φ(n)表示欧拉指示函数,φ(n)也确定为当n=n1×n2×n3×…×nk-1×nk,其中n1、n2、n3、…nk-1、nk为质数,则有φ(n)=(n1-1)×(n2-1)×(n3-1)×…(nk-1-1)×(nk-1)。
为了很好地理解本发明,首先,必须描述密钥的产生。
为了产生密钥,密码接收机随机地选择两个各约有K/2个不同小质数p〔i〕的集GA及GB(K是10至120量级的系统参数),并构成以下两个数(其长度近似相同)A=属于集GA的p〔i〕的乘积B=属于集GB的p〔i〕的乘积为了安全的缘故,可以适当地这样规定GA及GB1.GA∩GB是零集,2.某些p〔i〕未出现在GA∪GB中。
即使条件2不能被满足,本发明的方法也被证实是可靠的(尽管某些规定不太复杂)。如果条件1不能被满足,该方法也同样被证实是可靠的,但是密钥产生算法及解码算法应作相应改变,并变得显著的复杂。并且,p〔i〕可能为非质数,而彼此互质(例如二或三个字节的质数的整数幂)。
为了简化说明,我们将p〔i〕表示为第i个奇质数p〔1〕=3、p〔2〕=5、p〔3〕=7…。
在以下还假设,A是由对于1至K/2的i的p〔i〕乘积直接形成的,及B是由对于K/2+1至K的i的p〔i〕乘积形成的。但是,这不是最好可能的选择,而仅应理解为一种传统的符号表示方式。
然后,密码接收机产生两个大质数(通常为200至512位的量级),记为pA及pB,例如p=ApA+1及q=BpB+1为RSA质数(RSA质数是这样的数,一旦相乘,其乘积n=pq很难被因数分解)。
为了保证安全,显然最好对不同参数规定最小长度1-乘积AB应至少为160位量级的数;2-每个数pA、pB的长度应超过至少160位的乘积AB;3-数n=p×q的长度应至为640位。
这些质数产生的程序不在本发明的范围内,并显然地是该领域的技术人员熟知的。
最后,信息接收机产生及发出量级为φ(n)/4的一个元g。
对于这样一个g应强制地用以下条件检验对于所有的i,不存在使g=xp〔i〕mod n的x。
可借助以下的方法计算g*计算g的(快速)第一方法为信号接收机产生两个整数gp,量级为(p-1)/2 modulo pgq,量级为(q-1)modulo q如上所述,gp的产生实际上与一个数的产生相同,该数对于所有小于k/2的i不是第p〔i〕的幂;对于gq也是一样,并具有以下明显显的修改1.确定x0=1ti=1tI=对于从1至i-1的j的p〔j〕的乘积2.对于从1至k/2的所有i取一个随机数x使x数ti次乘方如果x(p-1)/p〔i〕=1,试验另一个x否则,计算xi=x(xi-1)p〔i〕3.确定gp=Xk/24.确定x0=1ti=1ti=对于从1至i-1的j的p〔j〕的乘积5.对于从1至K/2的所有i取一个随机数x使x数ti次乘方如果x(q-1)/p〔i〕=1,试验另一个x否则计算xi=〔xi-1〕p〔i〕6.确定gq=xk7.运用中国余数方法(在下列说明中表示为TRC,“Me′thode desRestes Chinois”的缩写),即在书籍《数字理论及密码数程》(NealKoblitz著,第二版,Springer出版社)中描述的一种方法来由gp和gq构成g。这了得到最后的g,必须使数字积平方。
应当指出,该算法(其细节对于理解本发明并不需要)的每个步骤用于确定一个元,该元不是对于小于或等于i的j的第p〔j〕次幂。
*计算g的(简单)第二方法该替换方案为,随机地选择一个g及检验这个g不是第p〔j〕次幂mod n。精确的计算表明,这个g将在ln(k)次随机抽取后被找到(即对于K=120约有5次机会)。
为了根好地理解本发明,现在需要描述密码的产生。
一个小于乘积AB的信息的密码c可由下列公式计算c=gmmod n现在,本发明的说明将指向对密码解码的描述。
为了求出m,解码器执行以下操作①对于从1至K的i计算y〔i〕=cφ(n)/p〔i〕mod n,或m〔i〕=mmod p〔i〕及m′=(m-m〔i〕)/p〔i〕通过替代,容易看出y〔i〕=cφ(n)/p〔i〕mod n=gmφ(n)/p〔i〕mod n=g(m〔i〕+m′p〔i〕φ(n)/p〔i〕mod n=gm〔i〕φ(n)/p〔i〕gm′φ(n)mod n=gm〔i〕φ(n)/p〔i〕mod n②对于从1至K的i作出对于从1至p〔i〕的j作出如果gjφ(n)/p〔i〕mod n=y〔i〕,赋予mi=j③求出m=TRC(m1、m2、…、mk)。
解码的算法可用各种方式来改善通常,可以对在解码过程中所需的变量i及j的所有值预计算gj φ(n)/p〔i〕mod n,并制成表格。并且这样一个表格可被切割或截断,只要切割或截断的方法(记为h)能保证h〔gjφ(n)/p〔i〕mod n〕≠h〔gj′φ(n)/p〔i〕mod n〕,如果j≠j′。
借助这种实施方式,可以证实,20字节的信息可通过K=30被解码(积AB则为160位,模n为80字节及表格为4kilo字节)。
如在以上《密钥的产生》部分所描述的,选择16个10位的质数来取代30个质数p〔i〕(K值则为16),是更合理的。如果具有75个这样的质数,约有252.9种可能的选择,但不必公开所选择的质数,尽管这不会增加附加的安全性。
也可以选择互质的数;例如质数的幂,这可以增加这些参数选择的范围。
第二种实施方式可通过在收到密码开始计算下列量Z=crmod n,式中r=PAPB因此可以通过取以下计算的捷径使量y〔i〕的计算更容易y〔i〕=ZAB/p〔i〕mod n,并利用AB/p〔i〕及φ(n)/p〔i〕之间长度的差加速幂的计算。
第三种实施方式通过分别地先解码信息模p然后解码模q(p及q的长度是n长度的一半,解码将加速两倍)及组合结果模φ(n)来加速解码。
这种类型的解码方法可这样地描述①对于从1至K/2的i计算y〔i〕=cφ(p)/p〔i〕mod n或m〔i〕=m mod p〔i〕及m′=(m-m〔i〕)/p〔i〕通过替代,容易看出y〔i〕=cφ(p)/p〔i〕mod p=gmφ(p)/p〔i〕mod p=g(m(i)+m′p〔i〕φ(p)/p〔i〕mod p=gm(i)φ(p)/p〔i〕gm′φ(p)mod p=gm(i)φ(p)/p〔i〕mod p②对于从1至K的i作出对于从1至p〔i〕的j作出如果gjφ(p)/p〔i〕mod p=y〔i〕,赋予μ〔i〕=j③求出m=TRC(μ〔1〕mod p〔1〕,…μ〔k/2〕mod p〔k/2〕)④以q取代p重复步骤{①,②,③}⑤计算m=TRC(m modφ(p),m modφ(q))。
显然,在使用本发明推荐的方法编码f(cle′、m)时,必须防止m被操作,其中f是一个对称加密函数(例如DES算法),而参数《cle′》是完全可以得到的。换一种方式,该加密方法可检验所获得的信息m正是其密码为c的信息。另一种保护m的方式是通过所推荐的方法对m/hash(m)加密(这就是说c=gm/hash(m)mod n),式中hash(m)为信息m的散列,及1表示链接(在此情况下,解码检验由其散列计算所获得的信息的完整性)。
也可以将上述密码系统扩展到模n不是由两个而是由三个因数组成的情况。我们则有n=pqr式中p=ApA+1、q=BpB+1、r=CpC+1,pA、pB、pC是三个大质数(200至512位),及A、B、C的各个是来自集GA、GB、GC的不同小奇质数的乘积。
它所带来的变化对于本领域的技术人员来说是显而易见的。
此外,显然可以对以上密钥产生描述部分的第二条件(这里仍为《某些p〔i〕不出现在GA∪GB∪GC中》稍微放宽。这就是,参数n为640位,积ABC为160位及每个p〔i〕相应为160位中的一些偏差仍能保证适当的安全性。
本发明的第二目的在于提供一种改进的密钥保管系统,它是对由Y.Desmedt在文章《密码文本可跟踪性的保安-导致安全软件密钥保管系统》(Proceedings of Eurocrypt`95,Lecture Notes inComputer Science 921)中所述的并被L.Knudsen及T.Pedersen在文章《论软体密钥保管的困难》(Proceedings of Eurocrypt′96,Lecture Notes in Computer Science 1070)中所述的评论所完善的一种方法的改善。
为了对由Y.Desmedt提出的密钥保管功能有显著的改善,我们考虑加密方法的一种变型即,每个用户的识别码ID以二进制方式编码ID=∑2i-1ID〔i〕其中ID〔i〕是密钥保管系统用户识别码的位(对于1至k的i取其和);及e(ID)=∏p〔i〕ID〔i〕(对于1至k的i取其积)。
最后有c=ge(ID)umod n,其中,u为一个随机大质数,c是用户参数,其作为E1-Gamal密码中幂的底数。用户由c并通过选择一个随机数x及自乘c到x模n次幂得到他的E1-Gamal公用密钥。
为了跟踪用户,所述保管中心从用户E1-Gamal密码中抽取以下部分V=crmod n式中r是由用户选择的编码随机数。
知道了φ(n)后,所述保管中心根据下列算法求出位ID〔i〕①对于1至k的i计算y〔i〕=vφ〔n〕/p〔i〕mod n,②对于1至k的i作出对于1至p〔i〕的j作出如果y〔i〕=1,则将μ〔i〕赋于1,否则,将μ〔i〕赋于0。
③计算ID′=∑2i-1u〔i〕,④求出ID=CCE(ID′)式中CCE表示一种纠错机制(其类型为A.Poli及L.Huguet著,Masson出版社出版的《纠码器,理论及实践》一书中所述的类型),用于对在非法使用组合r的情况下导入的干扰进行纠偏。该纠错机制在这里可被省略;而跟踪用户的算法应经受对本领域技术人员显而易见的修改,及使用多个类似于crmod n的量,它们相应于E1 Gamal加密算法的多次执行。
本发明的第三目的在于提出第二种密钥保管系统,它基于US4200770中一种被专利保护的Diffie Hellman所述的密钥交换机制。
在该体系中,由用户之一通过自乘g到a模n随机次幂获得的数c被保管权威机构截取c=gamod n。
所述保管权威机构以下列方式求出a1.知道n的因数分解后,所述权威机构借助于解码算法求出值α=a mod AB或a=α+βAB;2.权威机构计算λ=c/gαmod n=gβABmod n(因为c=gamod n=gα+βABmod n=gαgβABmod n);3.通过使用密码分析算法(离散对数计算法,可能执行两次(模p及模q)以及加速运算),权威机构计算离散对数β;λ=(gAB)βmod n;4.权威机构求出a=α+βAB并基于使用a对通信信息解码。
在阅读了以下的说明及附图后将会更好地理解本发明;其附图为—

图1表示实施本发明提出的系统的加密系统组织机构图;—图2表示实施本发明提出的系统的解密系统组织机构图;—图3表示在信息m的保安传输期间加密系统及解密系统之间传输的数据。
根据本发明,每个加密装置(通常为一个计算机或一张芯片卡)由一个处理单元(CPU),通信接口,一个随机存取存储器(RAM)和/或一个只读存储器(ROM)和/或一个可写入(通常,可重写)存储器(硬盘、软盘、EPROM或EEPROM)组成。
该加密装置的CPU和/或ROM中装有与密码产生规则相应的程序或计算资源(乘法、乘方及求简模)。这些运算中的某些可以再组合(例如,求简模可直接地结合在乘法运算中)。
类似于RSA的实施方式,RAM通常包括将对其施以加密的信息m及用于产生密码的规则。软硬盘,E(E)PROM中至少包括参数n及g,其产生及使用如以下的说明。
CPU通过地址及数据总线控制通信接口,存储器的读及写操作。
每个解密装置(等同于密钥保管装置)必需使用软或硬件的保护来抵御外界。这种保护应足以防止未被授权的实体获得由n的秘密因数构成的秘密密钥。现今在硬件方面使用最多的技术是在保安组件中的芯片及芯片设备中集成能检测温度、光线变化的装置及能检测异常时钟频率和电压的装置。同样可使用尤其如,使存取器的存取混合的软件技术。
根据本发明,解密装置至少由一个处理单元(CPU)及存储器资源(RAM、ROM、EEPROM或盘)。
CPU通过地址及数据总线控制通信接口,存储器的读及写操作。RAM、EEPROM或盘包含参数φ(n),或至少包括φ(n)的因数。
解密装置的CPU和/或ROM包括能执行上述解密方法各个步骤的计算程序或资源(乘法、取幂及求简模)。这些运算中的某些可以再组合(例如求简模可直接地结合在乘法运算中)。
在本发明总的范围内,信息m的加密是通过在卡、标签装置及验证装置之间至少交换数据c来实现的。
权利要求
1.一种与所谓离散对数及因数分解原理相结合的密码系统,其中包括公用密钥及一个秘密密钥,其特征在于,所述公用密钥至少包括a.一个长度大于640位(bit)的模数RSA n,它具有以下特性n=(ApA+1)×(BpB+1)式中pA及pB是长度大于320位(bit)的质数,(ApA+1)是一个记为p的RSA质数,(BpB+1)是一个记为q的RSA质数,A是k/2(k是包括在10及120之间的一个偶整数)个长度相对小(在2及6位之间)的质数(记为p〔i〕,i=1至k/2)的乘积,及B是k/2个质数(也记为p〔i〕,i=k/2+1至k)的乘积;P〔i〕的长度相对小(在2及16位之间),并同样互为质数;b.一个幂的底数g,其量级为φ(n)/4(其中φ(n)为欧拉指示函数),因此g不会成为任何数的第p〔i〕次幂的模n。
2.根据权利要求1的密码系统,至少包括一个加密-解密系统,其特征在于一个信息m的加密由以下操作形成,m<ABC=gmmod n式中C表示密码(加密信息)。
3.根据权利要求2的密码系统,包括一个加密-解密系统,其特征在于m的完整性可由m/h(m)的加密(h表示一个截断函数及|表示链接7或由DES(cle′,m)的加密来保证,所述《cle′》是一个完全可取得的密钥。
4.根据权利要求1的密码系统包括一个加密-解密系统及一个密钥保管系统,其特征在于译码器的所述秘密密钥或保管核心是数φ(n)及解码操作或恢复用户识别的操作在于以下步骤a.对于从1至k的i计算y〔i〕=cφ(n)/p〔i〕mod n;b.对于从1至k的i,对于1至p〔i〕的j,比较y〔i〕与m无关的值gjφ(n)/p〔i〕mod n,如果gjφ(n)/p〔i〕mod n=y〔i〕,则赋于μ〔i〕=j,c.根据TRC中国余数定理及值μ〔i〕重组信息m。
5.根据权利要求4或5的密码系统,包括一个加密-解密系统及一个密钥保管系统,其特征在于通过以下计算来加速所述译码器对量y〔i〕的计算a)Z=crmod n,其中r=pApB,b)对于从1至k的i,计算y〔i〕=ZAB/p〔i〕mod n,以便利用AB/p〔i〕及φ(n)/p〔i〕之间的长度差别来加速计算。
6.根据权利要求4或5的密码系统,包括一个加密-解密系统及一个密钥保管系统,其特征在于译码器一劳永逸地对于1≤i≤k及1≤j≤p〔i〕预计算及保存值gjφ(n)/p〔i〕mod n的表格,或更专门地,这些值的截断值或散列值(记为h)具有以下特性h(gjφ(n)/p〔i〕mod n)≠h(gj′φ(n)/p〔i〕mod n),如果j≠j′的话。
7.根据权利要求4至6中任一项的密码系统,包括一个加密-解密系统及一个密钥保管系统,其特征在于译码器通过分开地先解码信息模p然后解码模q及借助中国余数定理组合模,以重新获得m。
8.根据权利要求4至7中任一项的密码系统,其特征在于一个密钥保管权威机构或中心实现以下步骤a.它通过计算e(ID)=∏p〔i〕ID〔i〕(对于从1至k的i计算积)对用户的识别码ID=∑2i-1ID〔i〕编码,其中ID〔i〕是系统中该用户的识别码位(对于从1至k的i计算和);b.它向用户输出一个E1-Gamal密钥(这就是说,一个幂的底数)c=ge(ID)umod n,其中u是一个随机的大质数或具有φ(n)的质数;c.它也可通过选择一个随机数x及自乘c到x模n次幂使用户从c的求导得到其E1-Gamal公用密钥;d.为了重新得到用户的踪迹,权威机构从编码器的E1-Gamal密码中提取下列部分(所述密码总是包括两部分)V=crmod n式中r是由编码器选择的编码随机量;e.知道φ(n)后,所述权威机构由下列算法求出位ID〔i〕①对于从1至k的i计算y〔i〕=vφ(n)/p〔i〕mod n,②如果y〔i〕=1,则μ〔i〕=1,否则μ〔i〕=0,③计算ID′=∑2i-1μ〔i〕,④求出ID=CCE(ID′)式中CCE表示一种纠错机制。
9.根据权利要求4至7中任一项的密码系统,包括一个密钥保管系统,其特征在于它基于Diffie-Hellman的所谓密钥交换机制,其中由用户之一通过自乘g到a模n随机次幂获得的数c被所述保管权威机构截取c=gamod n。所述保管权威机构再以下方式求出aa.知道n的因数分解后,所述权威机构借用于解码的算法求出值α=a mod AB或a=α+βAB;b.所述权威机构计算λ=c/gamod n=gβABmod n;c.通过使用密码分析算法,权威机构计算离散对数βλ=(gAB)βmod n;d.权威机构求出a=α+βAB当基于使用a,解码通信信息。
10.根据权利要求2至9中任一项的密码系统,包括一个加密-解密系统及一个密钥保管系统,其特征在于RSA模n为三个因数的乘积n=(ApA+1)×(BpB+1)×(CPC+1)式中pA、pB、pC为长度大于320位的质数,(ApA+1)、(BpA+1)、(CpC+1)为RSA质数,分别记为p、q、r,A、B、C各为k/3个质数(记为p〔i〕,i=1至k)的乘积,p〔i〕的长度相对小(在2至16位之间)并互为质数及k是包括在10及120之间的一个整数,因此乘积ABC至少为160位。
11.根据权利要求1至10中任一项的密码系统,包括一个加密-解密或保管系统,其特征在于加密、解密及密钥保管装置为计算机、芯片卡、PCMCIA卡、标签、无触点卡及其它的便携装置。
12.包括根据以上权利要求中任一项的密码系统的设备,其特征在于它包括一个加密系统和/或一个解密系统和/或一个密码保管系统,所述这些系统通过交换电子信号或通过对无线电波或红外信号交换在它们之间进行通信。
全文摘要
本发明涉及一种与所谓离散对数及因数分解原理相结合的密码系统,它包括一个加密及解密系统及一个密钥保管系统和相关的装置和设备。它尤其是设计用于芯片卡、PCMCIA卡、标签、无触点卡或其它便携式装置类型的电子系统中。
文档编号H04L9/30GK1248366SQ9880267
公开日2000年3月22日 申请日期1998年2月17日 优先权日1997年2月19日
发明者D·纳卡希, F·莱维-迪特-维赫尔, J·斯特恩 申请人:格姆普拉斯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1