高速灵活的加密系统的方法及设备的制作方法

文档序号:7579668阅读:277来源:国知局
专利名称:高速灵活的加密系统的方法及设备的制作方法
背景技术
本发明涉及加密系统,用于数据与信息保护,特别是用于通讯中数据与信息的保护,以及有关的方法和协议。
近几十年来,加密技术的发展突飞猛进,尤其是以W.Diffie和M.Hellman的里程碑似的文献“加密技术新导向”为新起点(″New Directions in Cryptography″,IEEE Transactions on InformationTheory,Vol.IT-22,1976,pp.644-654)。此后,公开加密系统不再屈指。Rivest,Shamir及Adleman发明了RSA加密系统,公布于美国专利第4,405829号。T.ElGamal的加密系统发表于“一个运用离散对数的公开加密系统以及一种签名方法”(″A Public Key Cryptosystem and a Signature Schemebased on Discrete Logarithms″,IEEE Transactions on Information Theory,Vol.31,985,pp.469-472)。新近推出的基于椭线的加密系统则以Victor S.Miller的文章“用椭线于加密技术”(″Use of EllipticCurves in Cryptography″,Advances in Cryptology CRYPTO′85 Proceedings,BerlinSpringer-Verlag,1985,pp.417-426)。对此,请参照U.Maurer在美国第5,146,500号专利上发表的具体实现方法。
另有一种以背袋难题为基础的加密系统被R.Merkle和M.Hellman破土,系统在其“运用难逆的背袋问题进行信息隐避及签字”中公布于世。(″Hiding Information and Signature in TrapdoorKnapsacks″,IEEE Transactions on Information Theory,Vol.IT-24,1978,pp.525-530)。S.C.Lu和L.N.Lee提出了一个更具普遍性的背袋加密系统,其中使用了中国余数定理。请参照“一个简单而有效的公开加密系统”(″A Simple and Effective Public-Key Cryptosystem″,COMSAT Technical Review,Vol.9,No,1,1979,pp.15-24)。R.M.Goodman和A.J.McAuley开发了另一种形式的背袋加密系统。请参看“新难逆的背袋公开加密系统”(″New Trapdoor Knapsack Public Key Cryptosystem″,Advances in Cryptology Proceedings of EUROCRYPT′84,BerlinSpringer-Verlag,1985,pp.150-158)。H。-Isselhorst推展了一个采用有理数的背袋加密系统。请参看“非整数在公开加密系统中的使用”(″The Use of Fractions in Public-Key Cryptosystems″,Advances in CryptologyEUROCRYPT′89,BerlinSpringer-Verlag,1990,pp.47-55)。V.Niemi也相继提出另一个背袋加密系统。请参照“背袋中的一个难逆性”(″A New Trapdoor in Knapsacks″,Advances in CryptologyEUROCRYPT′91 Proceedings,BerlinSpringer-Verlag,1991,pp.405-411)。所有这些背袋式的加密方法及系统在下面例举的文章中都或多或少被研讨解破“一个线性时间的算法用来破解基本的Merkle-Hellman加密系统”(″A Polynomial Time Algorithm for Breaking the Basic Merkle-HellmanCryptosystem″,Advances in Cryptology Proceedings of CRYPTO′82,Plenum Press,1983,pp.279-288);“破解多次取模背袋”(″Breaking Iterated Knapsack″,Advances in Cryptology Proceedingsof CRYPTO′84,BerlinSpringer-Verlag,1985,pp.342-358);“近期结果的泛观”(″A servey ofrecent results″作者Brickell和Odlysko,Contemporary Cryptology,IEEE Press,1992,pp.501-540);“解析建立于有限精确小数的公开加密系统”(″Cryptanalysis of Public-Key Cryptosystems based onApproximation by Rational Numbers″作者J.Stern和P.Toffin,Advances in CryptologyEUROCRYPT′91,BerlinSpringer-Verlag,1991,pp.313-317);“解析一个基于取模背袋的新公开加密系统”(″The Cryptanalysis of a New Public-Key Cryptosystme based on Modular Knapsack″作者Y.M.Chee,A.Joux和J.Stem,Advances in Cryptology CRYPTO′91,BerlinSpringer-Verlag,1991,pp.204-212)。
当今加密技术及系统有待于改进和创新,以便具有更好的性能及更高的灵活性。
发明的目的以及概述本发明的一个主要目的是提供各种方法,用来具体实现加密系统,以便保护数据和通讯的安全,保障数据完整,并且得以正确辨认通讯各方。
本发明是个灵活性强,速度高的加密系统,运用多种不同加密方法及协议。其基本概念是使用可辨认元,即集合中元(或其倍数)可从子集和中确定无疑地,唯一地,有效地识别出来。此发明具有生成密键快、易、用户可控,公开键和秘密键每次使用可以更新,以及通过口令相应生成密键的特征。
附图
的简叙本发明的目的,特征及优点可以借助于附图,并通过后面对于本发明优选实施例的详细描述而得以更好地了解。附图中包括图一是功能模块图,描述发明的概观。
图二是发明单向加密或解密的详图。
图三给出一个简化的硬件实现图。
图四是此发明中加密逻辑。
图五是此发明中解密逻辑。
优先实施例的详述本发明最简单的构造包括至少一个加密装置或至少一个解密装置来进行加密或解密。其一般构造包括1)至少两个密码机,其同与某数据传送媒介(DTM)相连,各自具有自己的加密器(E)和解密器(D)。
2)每个密码机具有一些输入、输出(I/O)设施,包括数据存储设备(DS)。
3)每个密码机具有一个键生成器。
4)每个密码机具有一个数据及键管理器。
5)每个密码机具有一个数据处理器。
6)每个密码机具有一个通讯协议器。
密码机的输入、输出设施包括稳定内存、中端、显示器、键盘、打印机、传真机、扫描器、通讯线路等等,也包括数据存储设备,譬如内存、硬盘、磁带、只读光盘等等。
键生成器依靠随机或半随机输入产生加密、解密用的键。用户可提供秘密口令,用以生成各键。其他随机输入可为组织编辑的硬盘使用数据、用户按键间隙、检测随机环境所收集的数据等等。此发明文本中所提及的随机一词也会用于伪随机的概念。在能取得真正的随机数据时,本发明倡导采用真随机数据。伪随机(或半随机)数据是指某种器具用真随机数据驱动生成的输出。
数据及键管理器协调密码机中其他各组成部分,管理和控制键、中间结果和其他数据的存取。如果有些键属于某外界实体(例如一组键是某电脑中心用来进行保险通讯的),数据及键管理器会建立此外界实体与这组键的关系。
数据处理器提供加密或解密以外的数据处理。例如,如果键长为X,二进制数可分为x位码一组,以便加密。
加密器用于加密,解密器用于解译密码。
通讯协议器提供密码器与媒介的界面,此媒介也与其他参与通讯的密码机相连。
现请参照附图一中发明的概括形式。输入给密码机A的可以是需要加密的口令或数据,而这些要加密的数据也可以原来就存于密码机内的存储媒介。例如在键已确定的情况下,当密码机A得到指令进行加密,并把加过密的数据送给密码机B时,密码机A将数据送入加密器(11A)加密,并通过数据传送媒介传密码给密码机B,密码机B接收从密码机A传来得密码,通过解密器(12B)解密。复原的数据再从密码机B中输出。同样的操作可以反向进行,即密码机B加密而密码机A解译。
图二展示本发明单向加密的详况。左边的大虚线框图表示加密单位(密码机A的加密结构),而右边的大虚线框图表示解密单位(密码机B的解密结构)。
数据及键管理器(27A)通过密码机A的协议器(29A)要求与密码机B接通,并要求密码机A输送数据给密码机B。密码机B同意后,数据及键管理器(29B)通知键生成器(26B)生成一组键,并将密键存放好以进行解密,同时将公开键通过协议器(29B)传给密码机A。
密码机A在收到公开键后,通过数据及键管理器(27A),从数据存储设备中提取数据,送入数据处理器(28A)进行加密前的处理(如双向搅乱),处理后的数据再进入加密器(22A),而最后的密码输给协议器(29A)送入数据传送媒介(21)。
密码机B通过协议器(29B)接到加过密的数据后,采取与密码机A相反的步骤。密码机B先解密,随后进行所需的处理,如反双向搅乱,复原的数据或是放于数据存储设备(25B)中,或是输出给其他设备(24B)。
在加密、解密过程中,可以起用某协议。此举一例。密码机A可以在任何时候通知密码机B,新的模糊杂质对映需以确定。而后双方都转入某种状态以建立新的模糊杂质。在确定模糊杂质后,双方又都返回正常加密或解密状态,继续进行加密或解密。模糊杂质是数字,当它被加到子集和里面的时后,会导至子集和有多种分解。而模糊杂质对映是键元与数据位码的一种关系,它定义模糊杂质是以何种方式加到子集的和上。
在此过程中,密码机A与密码机B也可能进入解除模糊状态,来解决或部分解决在解密中遇到的多解的状况。当解除多解状况完毕时,双方又回复加密、解密状态,继续进行加密、解密。
图三是一个简化了的设备,具有两个大存储器(可容纳所需处理的最大数字),以及一些运算逻辑电路(32),用来进行所需的运算,如加、减、乘等等。选择器(31)是一组逻辑电路,用来选取内存或存储器(30)中数值,并将数值放入相应的存储器(33或34)。在两存储器中数值运算完毕后,结果存于存储器(34),而后,选择器可选恰当的存储器或内存(30)存放结果。
简而言之,此发明用键生成器生成的数字组成一组数作为加密键、解密键、和其他影响密码及键转换的参数。加密键包括加密键集,有可能还包括一个模糊杂质集。解密键包括解密键集和其他参数。此加密系统的基本概念是解密集Kd={d1,d2,...,dn},加密集Ke={e1,e2,...,en},也可能包括模糊杂质集F={f1,f2,...,f1,...},以及可逆的转换T,具有以下特点1)Ke是从Kd通过T转换过来的,而T-1是T的反转换。就是说对于1≤i≤n,ei=T(di)并且di=T-1(ei),同时对于某大于零的自然数g,0≤y≤g,y*ei=T(y*di)并且y*di=T-1(y*ei).
2)T可将Kd的任一子集和转换成相应的Ke的子集和,而T-1可将Ke的任一子集和转换成Kd相应的子集和。这就是说,假设X是Kd的一个子集有q个元,Z是Ke的一个子集有q个元,Y={y1,y2,...,yq}是一个标量集满足0≤yj≤g,对于1≤j≤q,x=X×Y和z=Z×Y,如果x是z相应的子集和,(同时z是x的相应子集和),那么ei*yj是Z×Y的成份当且经当di*yj是X×Y,的成份,这里1≤j≤n,1≤j≤q。
3)Kd建立的方式可以保证一种有效方法的存在,这样用Kd形成的任一子集和中的元可以唯一地、肯定的识别出来。
4)T的设计保证T和T-1都实际、有效、并且可以实现。
5)T,Kd和Ke的设计致使从Kd通过T转换来的Ke中不再有Kd原有的规律,这样,通过Ke对加密系统的攻击,从运算角度来讲不切实际。
6)模糊杂质集F是根据Kd和Ke生成的,并可能经T转换,这样F中元的某一倍数可以以一种方式加到Ke的子集和上,同时保持唯一、确定的解码。
7)Ke和F可以公开。
图四是加密逻辑。数据位码被分成组装入数据寄存器41。同时,密码寄存器42被清零。位移器43是被参量h所控制,这样h位码就被依次输入第一数乘器45。第一选择器44从加密键集402中选出正确的元与装入第一数乘器45中的h位码相乘,乘积又输给数加器46。与此同时,在密码器42中的数值也进入数加器46。这样密码器42中的数值就和第一数乘器45来的积累计起来。在位移器43输给第一数乘器的同时,也将这些位码输给对映器47,它将h位码组对映于某相应的倍数。此倍数和第二选择器49选出的模糊杂质所成的积被输进数加器46加到累计的和中。当所有的位码从数据寄存器41被移出后密码器42中所存的最终的和就被作为一个密码输出。第二选择器49与第一选择器44保持向步,这样当第一选择器44在加密键集402中选中某一个含杂质元时,第二选择器49从模糊杂质集401中选出正确的模糊杂质。如果所选中的元是不含杂质的,第二选择器49输零给第二数乘器48,也就如同输零给数加器,实际上就是不加杂质。
加密是通过用加密键向量Ke和一组组数据位码组成的向量生成内积C,即加密文件的密码。C实际上就是Ke的子集和,而Ke中相对应于非零的位码组的元则是子集和中非零的组成部份。不影响恢复原数据的模糊杂质也可以根据模糊杂质的特性加到密码C上。由于存在着有效可行的算法来识别出组成解密键集的子集和的成员,当密码被T-1转换成相应的加密键的子集和时,Kd中相应的成员也就能辨认出来了。这样相应的非零原数据位码组就可以复原,同时为零的位码组也就能自然而直接的复原了。
现请参照图五的解密逻辑。首先一个皱集被生成并装入皱集寄存器51中。皱集是个集合。当它被加到另一个集合上的时候可以打乱后者的特殊结构、规律以及后者中元素之间的联系。密码然后被一个个地输入密码寄存器52,而每次输入一个密码时,位码组及商寄存器53就被清零。第一选择器54分别从模寄存器560和逆乘数寄存器中选出应选的模-逆乘数对并对从密码寄存器52送来的密码在逆乘取模器550中进行逆乘取模。然后,第二选择器55和第三选择器56分别从解密键寄存器57和模糊杂质寄存器58中选出应选的解密键元和模糊杂质输送给位码提取器59。位码提取器59提取出数据原码,在需要进行延迟恢复原码(即原码的恢复需要几步进行)时,也提取出商,并将它们暂存于位码组和商寄存器中。位码提取器59又将未处理完的密码送回到密码寄存器52中。处理过程一直重复到所有位码及商都被提取出来。最后第五选择器510选出的商和与其对应的第四选择器520从皱集寄存器中选出的元被一起输进位码延迟复原器530,以便将剩下的位码全部复原。复原的位码通过重新排列器540,恢复到数据位码的正确位置。
此发明有两种形式。其基本形式是纯公开键式(PPKS),它不对加密键进行进一步的保护而且加密键可以公开。其扩展形式是半公开式(QPKS),这种形式不将加密键原封不动地公开。多余无用的杂质元与加密键集以及其它有关加密的数据混在一起,用以隐蔽真正的加密键元。实际数据也可以通过QPKS进行扩展。
PPKS阐述如下让S={C,h,I,k,n,P,R,R}为加密系统的一般定义,具有如下特征1)n是公开及秘密键的大小,或公开及秘密键向量的维数。
2)k(1≤k≤n)是分段键集的段数。
3)P是一个排列器,以P1为其反排列器,而对于任意一个(有限)列XP(P-1(X))=P-1(P(X))=X这里P和P-1进行的排列可以用随机输入或秘密口令来控制。
4)R是一个随机数生成器,应输入的种子(数)生成一系列随机数。
5)I={i1,i2,...}给出系统运行中的一些点i1,i2,...,在到达这些点时,随机数生成器R内部状态将重新确定。这些重新确定点可以用随机输入或秘密口令来控制。
6)R={r1,r2,...}是个数对集合,数对是数值范围的上下限。
7)C={c1,c2,...,ck}是个有k个数的集合,用以控制皱集的特性。
8)h>0是个自然数,用以确定组成加密向量元的位码数。
其中,以下参数也可以为加密系统制订出来,或由加密系统生成。
1)Z={z1,z2,...,zk}是个有k个非零自然数集,而Z中所有数的和等于n。其中zi,对于1≤i≤k,是键第i段中含元的个数。
2)每段都有以下相应参数的制订和生成。
2.1)ti确定对正在生成的键集和模糊杂质取模的次数。
2.2)Mi={mi,1,mi,2,...},Wi={wi,1,wi,2,...}和Wi-1={wi,1-1,wi,2-1,..}都有ti个成员,其中每对mi,j-wi,j是用来取模的,mi,j的选择保证逆取模时不会产生多种解。例如,mi,j大于所有要被取模数的和的2h-1倍,(mi,j,wi,j)=1(即互质)而且w-1i,j对于1≤j≤ti,是wi,j同模于mi,j的逆乘数。mi,j-wi,j-1对是用来进行逆取模的。在F也需要取模时,mi,j的选择会在计算mi,j时把F考虑进来。例如,mi,j比当时所生成的键和模糊杂质元所能取的最大倍数的和还大。如果ci>0,针对第i段,以下参数也可能被生成2.3)qi是第i段中要被取皱的元素的个数,这里qi≤zi,即皱集中非零元的个数。
2.4)Bi={bi,1,bi,2...}是有zi元的皱集,它与第i段相对应。皱集是用来加到另一个集合上,从而打乱后者中的规律性。
3)F={fl,1,fl,2,...,fi,1,fi,2,...}是个模糊杂质集。
4)FMO是个可逆的模糊杂质对应函数用于加密和解密。通过转换,解密模糊杂质集被转换成加密模糊杂质,而加密键保留原有的解密键与模糊杂质之间的对映,这样加密键元与加密模糊杂质元之间保持有与解密键元和解密模糊杂质元之间同样的对映。
除M,W,W-1和F之外,参数可以用以下方式产生1)制订给系统而且保持不变。
2)作为变量制订给系统,用来控制系统运行和键的生成。
3)在随机输入的驱动下通过系统生成。
4)给系统提供数值范围让系统生成数值范围内的参数。
只要对此技术有所了解就不难看出,如果除去 M,W,W-1和F其他参数都保持不变,系统是经不起攻击的。一种生成公开和秘密键的简单方法可用如下过程所表示1)让A和X为空集。
2)生成皱集B1一直到皱集Bk。
3)对于(i=1;i≤k,i++){4)生成Ai={ai,1,ai,2,...,ai,u}一个段5)将bi,j*ci加到ai,j(对段Ai取皱)/*如ci=0,Ai不变*/6)Xi<<Ai7)Bi<<08)A<<(A∪Ai)9)X<<(X∪Xi)10)对X取模ti次11)对B取模ti次}12)用Ke代表被P排列过的X在第4)步中u=zi.
在第6)步后,Ai中的元可以从X的任一子集和中有效地识别并选出。模糊杂质也能在以上的过程中生成。
Ke是公开加密键集,而有可能的话,F的一个子集也作为公开键的一部分公开出来。
Al段到Ak段(即A本身)以及其他所有用来进行逆转换的参数就是秘密键,其中A是秘密键集。
要加密的数据先是以二进制码被组成n组,而每一组有h位码。而每个n*h-位码组可以变成加密文件的一个密码。加密是通过取加密键向量与n组二进制码形成的向量的内积,生成加密键集的一个子集和,其中加密键集中对应于非零h-位码组的元加到和中,而一些模糊杂质也可以在此过程中加到这个子集和中。
解密是对密码文件进行反转换以复原数据元的位码。当密码经过反转换时,与Ke中段相对应的Ak段到Al段里加到子集和中的元就可以识别出来了。而子集和中所含的模糊杂质也可识别出来。秘密键和模糊杂质集中元一经被识别,就被从密码中减去,而相对的非零位码组就被记下来。最后,所有的非零位码组就可以被复原了。同时,为零的位码组也就自然地、直接地被复原了。在去掉没必要的其它杂质后并用P1进行反排列后,原数据位码也就复得了。
此发明的特征之一是键的设计可允许子集和中存在干扰因素。当解密键集为超增时,子集和中可以允许一个不大于x-1的数,如果a1、1等于某自然数y而a1、2等于x+y。这就是说,一些数只要它们的和不超过x-1,就可以在秘密键到公开键转换时,采用施用于其它参数的、同样的取模方法取模,而且可以用来加到任一个子集和中而不影响解密的唯一性。这就是杂质公开键方法(RPK orRPKM)。一般来讲,干扰因素可以是任何数,只要当它们被加到子集上时并不影响解密的唯一性。因此可辨认元就可以用来作干扰因素。
此发明的另一特征是,当一个以上ci大于零时,某些公开键集中的规律会被打乱。例如,当ci大于零时,Ai的超增性将被打乱。特别是当打乱后如果键集仍保持为唯一可辨认元集,也就是一个集合满足(∑Y=∑Z)→(Y=Z),其中Y和Z是集合的任一子集,这种方法叫做皱公开键方法(WPK orWPKM)。
此发明的另一特征是,当k大于1时,公开键集实际上是分段生成的,而各段可以采用不同的生成方式并经过一系列不同的取模和转换。这是分段公开键方法(SPK or SPKM)。
此发明还有一种方法,干扰素可以以特定的方式设计和实施,这样密码的解就不再唯一。这是模糊杂质公开键方法(FPK or FPKM)。模糊杂质可以建立在加密键里面,比如用WPKM,每个键集元都被加上一个整数,即采用皱集,产生一个不唯一键集。模糊杂质也可以采用独立的模糊杂质集,其中模糊程度以及实施与要进行加密的数据挂钩。
具体来说,RPKM与WPKM和起来使用值得一提。假设已经生成的u个段含元a1,...,a2,...,am而第u+2段要有t个元。接着可辨认元am+1,...,am+3被生成,而且am+1到am+s+t+1是第u+1段的元,其中s>t>1。然后a1到am+s可以在生成第u+2段的第一个可辨认元x之前经取模生成对应的b1到bm+s。而第u+2段的元就可以是x+bm+s-t+2,x+bm+s-t+3,...,x+bm+s。
QPKS阐述如下让S={C,h,I,k,n,P,R,R}为加密系统的一般定义1)n是扩展键集的大小,或扩展向量的维数。
2)I={i1,i2,...}给出系统中一些点i1,i2,...,在到达这些点时,随机数生成器R内部状态将重新确定。这些重新确定点可以用随机输入或秘密口令来控制。
3)k是秘密文件的分块大小,指定文件应该怎样分成较小的单位,而每个单位则是个扩展集的一个元。
4)P是一个排列器,以P-1为其反排列器,而对于任意一个(有限)列XP(P-1(X))=P-1(P(X))=X这里P和P-1进行的排列可以用随机输入或秘密口令来控制。
5)R是一个随机数生成器,应输入的种子(数)生成一系列随机数。
6)R={r1,r2,...}是个数对集合,数对是数值范围的上下限。
7)C是用来对部分可感觉(扩展)集进行分类的方法(或数化的分类方法),而对于每次具体加密可以从这些方法中(随机)选来应用。可感觉元是否被加入了某个子集和是可以唯一而有效的确定的。一个元当且仅当具有这一特性时才被叫做可感觉元,而可感觉集是一个含有可感觉元的集合。
8)h>0是个自然数,用以确定组成加密向量元的位码个数。
一般来讲,扩展集可以大小不一。
二进制码块先被分成小块。有几种分法正好k位码,最多k位码,或有大约k位码。当然,如果都是正好k位码将不保险。如果每小块的大小不同,一个多余的位码1将加在前面用来保护打头的零位码。完后的小块我们叫文件基本单位。然后对每以个文件基本单位,生成一个有m个可感觉元的大小为n的集合,在经转换后,其中一个可感觉元将被转换成那个文件基本单位。然后这个集合的元将被重新排列。但如果此感觉元是随机选的,重新排列就没有必要了。
接收扩展集的一方用每个扩展集生成一个子集和送给传送扩展集的一方。如果传送扩展集的一方送回一个肯定的答复(即肯定收到的子集和中含有文件基本单位),就意味着那些没用来建立子集的元都不是文件基本单位。因此,非文件基本单位的元就可以从扩展集中一组一组地识别出来,而当所有非文件基本单位的元被识别出来后,文件基本单位也就自然而直接地被识别出来了。当所有的原位码块中的小块都被识别出来、去掉前面的位码1然后联接在一起,原位码块就被复原了。
采用QPKS,子集和的建立基本上与用PPKS一样,即取扩展向量和数据位码组形成的向量的内积。所不同的是,用QPKS时位码组不是预先确定的数据。随机位码组可以达到更好的效果。但QPKS每次选用不同的扩展集元来形成子集和。
QPKS的解密过程与PPKS的基本相同。所不同的是,QPKS不一定需要识别出所有形成子集和的元,而只需要确定子集和中是否含有我们所关心的可感觉元。
QPKS值得注意的一点是怎样将需要加密的位码块分成小块,并且怎样把一个有m个可感觉元集合中的一个可感觉元转换成一个所分成的小块。假设以下例子中要进行扩展的位码块是
ENGLISH □ OR □ GREEK其中□代表一个空格。其ASCII二进制码是0100 0101 0100 1110 0100 0111 0100 11000100 1001 0101 0011 0100 1000 0010 00000100 1111 0101 0010 0010 0000 0100 01110101 0010 0100 0101 0100 0101 0100 1011为了便于看清,位码被列成四个一组。进一步假设位码要分成组,每组大约k=32位码。一个随机序列为此而生30,31,34,33,32,...,这样分成的位码组就是0100 0101 0100 1110 0100 0111 0100 11 (30位码)00 0100 1001 0101 0011 0100 1000 0010 0 (31位码)000 0100 1111 0101 0010 0010 0000 0100 011 (34位码)1 0101 0010 0100 0101 0100 0101 0100 1011 (33位码)由于分成组的码会有领头的零(在以上例子中,除了第四组都如此),它们需要加以保护,以免当它们转换成数字时丢失。为此,一个领头的1被放到分成的位码组的最前面、最有效的码位,而位码组就成了10100 0101 0100 1110 0100 0111 0100 11100 0100 1001 0101 0011 0100 1000 0010 01000 0100 1111 0101 0010 0010 0000 0100 01111 0101 0010 0100 0101 0100 0101 0100 1011当位码组被识别出来后,最前面的1码将被去掉,因而得到原来的位码。
下面我们用第一个分成的小块10100 0101 0100 1110 0100 0111 0100 11来作一个示范,其中为了方便起见,我们用d来代表10100 0101 0100 1110 0100 0111 0100 11。我们假设h=2而且一个有一个可辨认元的扩展集合
下面介绍的方法是用来增进此发明的保险程度、提高信息律及灵活性。
用与此发明的模糊杂质是加大攻击密码本身来进行破译的复杂程度。以下段落介绍的方法包括模糊杂质索引(对映),可除及不可除的模糊杂质,键元的指定(用于对模糊杂质的索引),以及皱集的使用。
一个模糊杂质的例子是零一集{1,2,3,7,11}。数10可以是子集和用1,2,和7建成的,或用3和7建成的。在没有集合的其它更确切的特征和没有更确切的子集和形成的知识时,模糊状况无法消除,即无法说1-2-7还是3-7是10的正确解译码。但如果另有条规定,3与7不能同时含在子集和中,模糊状况就变为可以消除的了。对于这一例,10只可以被解译成1-2-7因为解译为3-7违反了规定。可除的模糊状况可以有其它多种,如稀疏的语句结构和语义就可以帮助消除大部分或绝大部分、甚至所有的错误解译。键集可以用某种方式设计和建立,这样设计者可以有效地挑出可除模糊状况下的正确解码以及不可除模糊状况下的所有解码。模糊的′程度′根据集合建立的方法也是可以控制的。如集和{1,2,3,7,11}是25%模糊,即随意形成的100个子集合中,平均有25个可以有一种以上的解法。如果集合是{1,2,5,10,18},它就是3.125%模糊。如果集合{1,2,3,7,11}被转换成两个集合,一个零一集{1,2,7,11}和一个模糊杂质集{0,3},同时确定只要对应于7的数据位码是1时加零否则加3。这样一来,模糊状况就变为可除了。
现举一模糊杂质对映的例子。针对某一次加密可以规定,如果对应于某一含模糊杂质元的数据位码值为1时,加上某一模糊杂质的三倍;如果其值为2,加上此模糊杂质的5.5772倍(带有限精确度);如果其值为3,则不加任何模糊杂质,等等。
干扰因素可以被有意地设计用来搅乱带进公开键的规律,也可以用来加入模糊状况。现举一例。假设我们采用PPKS而让k=1,c是个非零整数。生成一个唯一集(其中元都是可识别的)并取模两次得到A={a1,a2,...,an}。然后生成一个皱集B={b1,b2,...,bn}满足min(A)>max(B)。为了控制解密的复杂性,B可以含零元而且sum(B)可以被限制为一个不太大的数。公开键向量是经过重新排列的(a1+b1*c,a2+b2*c,...,an+bn*c),实际上等价于A+B′,其中B′={b1*c,b2*c,...,bn*c}。加密仍然是简单的对公开键向量和位码形成的向量取内积。解密较费时,但并行处理可以加快运算。因为c和B是已知的,模糊程度或子集和(密码)中可能的c的个数也是可知的。对于每个可能的c的倍数m,子集和(密码)可以先作尝试被减去m*c,所得的差再通过正常的解密过程。每次尝试的结果可以有以下三种之一1)解码成功(即差可表示为一个子集和)并且m=D×B,其中D是解译完的位码组的向量,而×是内积运算2)解码成功(即差可表示为一个子集和)但是m◇D×B,其中D是解译完的位码组的向量3)解码失败(即差不可表示为一个子集和)情况2)和3)肯定地表明所减去的c的个数m是不正确的。我们可以试c的另一个倍数。
情况1)有两种可能。一是正确原码得到了,再就是内存模糊状况,即子集和有多种解而解密器无法在没有被加过密的文件的原文或其它特征的情况下找出正确的解。很明显,如果所有可能的c的倍数都试过了而第一种情况只出现了一次,那么所解的码就是所要的正确的解。但如果第一种情况出现了一次以上,就肯定是内存模糊状况了。然而,内存模糊状况可以通过稍后介绍的协议有效地进行消除。
下面我们描述一种延迟解码方法。给出一个(缩小、简化的)零一集合{2,3,7},假设我们选m1=13,w1=11而且w-11=6。取模后集合变为{9,7,12},然后m和2*m被加进去形成{9,7,12,13,26}。接着我们选m2=71,w-12=55,和w2=31。第二次取模后,集合变成{66,4,17,48,25}。
设某一位码组为01010,而此位码组与集合(都当成向量)的内积就是0*66+1*4+0*17+1*48+0*25=4+48=52解码先对52逆取模
接着
。因为m1和2*m1是m1的整倍数,01010中最后(最右)的两个位码在用m1及w-11进行逆取模时被′淹没′了。复原这两位码不能马上进行而要推迟一下。用第二次逆取模后的结果3以及解密用的唯一集合{2,3,7},马上可以复原010。中间结果20可帮我们得到其余的两位码。因为通过用w-12-m2逆取模的结果20不过就是(0,1,0,y,z)和(9,7,12,13,26)的内积,而13y+26z=20-(0*9+1*7+0*12)=13。用第二段{13,26},最后两位码10也就可以轻而易举地复原了。这样,原码01010就全部复原了。
在下面的协议中,我们描述怎样把身份证明与键交换合为一个不可分割的基本步骤,其中身份证明过程中包含键的交换。
让X作为身份证明的发起者。
让KXIp作为X的用以身份证明的公开键,此键不作他用。
让KYIp作为Y的用以身份证明的公开键,此键不作他用。
让KXIs作为X的用以身份证明的秘密键,此键不作他用。
让KYIs作为Y的用以身份证明的秘密键,此键不作他用。
让KXp作为X的公开保护键,此键在每次通讯是即时生成。
让KYp作为Y的公开保护键,此键在每次通讯是即时生成。
让KXs作为X的秘密保护键,此键在每次通讯是即时生成。
让KYs作为Y的秘密保护键,此键在每次通讯是即时生成。
身份证明键和保护键不必含有不可除模糊状况。
让<claim>X作为X声称传送此<claim>X的是X。
收到<claim>X收到<request>X等待如果t过了但还没收到KYIp(KXp)记录协议失败终止协议或采取其它措施收到KYIp(KXp)解密得到K1Xp=KYIs(KYIp(KXp))(K1Xp是X的公开保护键)← K1Xp(KXIp(β·KYp·CY·IY))其中β=H(K1Xp·IY·CY)(注发起者被先质疑)等待如果t过了但还没收到K1Xp(KXIp(β·KYp·CY·IY))记录协议失败终止协议或采取其它措施收到K1Xp(KXIp(β·KYp·CY·IY))解密得到β′·K1Yp·C1Y·I1Y=KXIs(KXs(K1Xp(KXIp(β·KYp·CY·IY))))(K1Yp是Y的公开保护键)如果β′◇H(KXp·I1Y·C1Y)记录协议失败终止协议或采取其它措施(X的公开保护键KXp已在Y确立)根据I1Y从C1Y中取出RxK1Yp(KYIp(γ·RX·CX·Ix))→其中γ=H(K1Yp·IY·CY)等待如果t过了但还没收到K1Yp(KYIp(γ·RX·CX·Ix))记录协议失败终止协议或采取其它措施收到K1Yp(KYIp(γ·RX·CX·Ix))解密得到γ′·R1X·C1X·I1X=KYIs(KYs(K1Yp(KYIp(γ·RX·CX·Ix))))如果RX◇R1Y或γ′◇H(KYp·I1X·C1x)))
记录协议失败终止协议或采取其它措施(X身份得以证明)(Y的公开保护键KYp已在X确立)根据I1X从C1X中取出RY← K1Xp(KXIp(RY))(如果RY是X所期待的,协议结束)等待如果t过了但还没收到Y送来的K1Xp(KXIp(RY))记录协议失败终止协议或采取其它措施收到K1Xp(KXIp(RY))解密得到R1Y=K1Xp(KXIp(RY))如果RY◇R1Y记录协议失败终止协议或采取其它措施(Y身份得以证明)(协议结束)
为了具有更高的保险性,特别是来对付中间人一类的进攻,可以使用守时传送块(TSTB)的概念。TSTB是一方送给另一方的一个逻辑块,而块的全部内容必需在一特定时间内收到。刚描述的协议可以以另一种方式出现,其中通讯的每一方的至少一个守时传送块可以用规范的或个方都同意的方法重新组成n≥2部份p1,p2,...,pn,而pi送出前间隔αi-1满足从算法上来讲,只用p1,p2,...,pn-1通过同样的搅乱方法来重建守时传送块的前k位码是不现实的,而∑αi+d≥t,∑αj+d<t,其中0≤i<n-1,0≤j<n,α0=0,k是p1中的位码数,d大于或等于在媒介中传送的最大延迟。接收方期待在t到期前得到p1而k足够大(建议至少128)。这些部份在接收方又复原成守时传送块。如果αi和d挑选得好,公开键块加密器是使用搅乱方法的很好而自然的选择。只要对此技术有所了解就不难看出,所提到的部份并不只限于块中连续位码。实际上为了更安全,一部份应该是来自整个块的各个地方。
在下面介绍的协议和例子中,我们不再明说必要和恰当的身份证明及加密键的交换总被付之实施。因此,如果我们说一些位码被送走了,它们实际上可能是被新交换了的加密键加密后才送走的。
下面我们用简化了的方式来描述QPKS的协议。
假设每个扩展集都是零一集只含有一个文件基本单位,而且为了简单起见,假设没有不可除的模糊状况。(在有不可除模糊状况时,可以在协议执行过程中,调用解决方法将其解除)。我们进一步假设n是2的整次幂。
为从扩展集中挑出键或数据元(一个可辨认元),可采用和以下相近的协议1.对于每个扩展集Si,扩展集接收者采用另外三个集合Ai,Bi和Ci。Ai装已被淘汰的、不是真正的键或数据元,Bi和Ci分别各装一半不在Ai中的元。不在Ai中的元里面有一个是真正的键或数据元。开始Ai,Bi和Ci都是空的。
2.m<<n÷23.(2*m是此刻Si中含的元的个数,其中一个元是真正的键或数据元,而Si中元的个数每次都减半)。对于每个扩展集Si,如果其中还有一个以上的元,扩展集接收者随机地把m个元从Si中移到Bi中而且复制Si中的其他元放入Ci。
4.对于每个扩展集Si,如果其中还有一个以上的元,从Ai随意移n÷2-m个元到Si。如果Ai是空集,无变化。
5.对于每个扩展集Si,取Si中元之和si。如果Si只有一个元就让si为零。
6.将s1,s2,...送给扩展集的发送者。
7.扩展集的发送者解译密码后送位码b1,b2,...给s1,s2,...的发送者。bi为1如果si中含有真正的键或数据元,否则为0。
8.扩展集接收者在收到b1,b2,...,后,根据bi的值作如下处理如果bi=1那么Ai<<Bi∪Ai(新识别出的非键或非数据元被移入Ai)Bi<<Sj<<CiCi<<
否则如果bi=0那么Ai<<Ci∪Ai(新识别出的非键或非数据元被移入Ai)Ci<<Si<<BiBi<<endif9.如果所有Si中只剩下一个元,跳到第12步。
10.m<<m÷2.
11.回到第3步。
12.Si中剩下的唯一元就是键或数据元(仍带有领头位码1),找出此元最多需要重复log2(n)次。
就和PPKS一样,模糊杂质也可以用在QPKS上。在第2和第10步中,不一定非要正好一半的元,大约一半或足够多的元都可以选来生成子集,而且n不再非是2的整次幂。重复的次数也会比第12步给出的要多。在一个(小于密码的最大可能值的)随机数恰是真正的密码(子集和)的概率τ很小而扩展集所有元都是可辨认元的条件下,协议还可以扩展为另一种具体实现方法,即在第5步时,当加密器(扩展集接收者)已辨认出键或数据元时,即Si只剩下一个元的时侯,在第7步不送零而送一个随机位码。解密器(扩展集的发送者)发现假码的可能性很高,因而意识到对方已经辨认出键或数据元。在这种情况下,解密器就可以随机地用1或0作为bi进行答复。这种情形下,加码器就不用管对应于si的bi值了。再有,假密码还可以随时送出,而当τ非常小的时候,也可以使用反馈操作方式,那时系统或加密和解密各方可以决定是否用假密码的值于反馈。由于τ非常小,解不唯一的子集和导致协议失败的情况也极为少见。只要对此技术有所了解就不难看出,如此发明稍后介绍的消除模糊状况的协议类似的其它核实方法,可以用来防止哪怕是极小的失败的可能。
下面介绍一些方法和协议,用于控制解密过程中由于模糊状况所至的复杂程度的增长并解除模糊状况。
据定义,可除模糊状况是可以从解译的密码中消除的。一个具体的例子就是加了密的英文文字。其中不正确的译本可以根据英文句法、语法、词义等等加以解除;另一例子则是任意的数据块带有文件核实码,而核实是通过核对根据各种解密的文本算出的文本核实码与解出的文本核实码。当出现不可除模糊状况时,可用如下的方法和协议来排除不正确的解码。
解密器生成随机位码s送给加密器。加密器用事先规定的或当时通过通讯建立的方法将s混入数据原码。譬如,位码被依次轮换从s和数据原位码中一个一个地取出。如果数据原码或s先被取完,剩下未被取完的位码就加在后面。然后事先规定的和当时通过通讯建立的一种单向特征函数或单向压缩杂凑函数用在混合后的新位码块,其结果h就被送回给解密器。同时,解密器用同样的方法将s与每个解译版本混合而且使用同样的杂凑函数于混合的位码块取得值h′。它然后将h和h′进行比较。如它们相同,对应于h′的解译的版本就可能是正确的解码,否则解译的版本就被作为错译码而取缔。在所有的解译版本都被这样处理完后,如果只有一个杂凑值和从加密器来的一致,那么这个版本就是正确的。有时一个以上的版本会杂凑成同一值,尽管这种情况在杂凑碰撞稀疏时极为鲜见。如果需要去掉所有错译码,可以生成另一个随机位码序列,同时也可以确立另一个函数来重复执行协议,直到正确的解码被辨认出来。
当密码不唯一解译较多的时候,密码文件的解法会多得无法控制。然而通过解决模糊状况的协议,模糊状况或解译版本的数模可以随时削减。解密器不一定非要加密器计算整个文件的杂凑值,而可以在解密过程中的任何时候都可以选择原数据任何位码,让加密器计算杂凑值。
为了更保险,在解密过程中采用解除模糊状况的协议的次数应该尽量少而杂凑函数应该送回只能消除部份而不是全部假解码的杂凑值。只有最后一次执行协议是才应该用一个杂凑函数尽可能地消除不正确的解码。一个简单但有效的杂凑函数就是余数函数。譬如,当模是5的时候,平均五分之四的不正确的解码都会被消除。
此发明的另一种方法是用来减少签字证明中对第三信任方的依赖。签字证明可以采用多个注册-转换机构而少数个别注册-转换机构出现问题是可以及时发现。通过保险的通讯方式,签字一方先将其签字转换键注册在多个注册-转换机构,而这些机构遵守规定不互通签字者的公开身份或其签字转换键。签字者的公开身份可以包括其姓名、地址、身份证明公开键等等。签字键注册机构持有签字者的公开身份但不持有其签字转换键;签字转换机构持有签字者的签字转换键但不知道此键与签字者的关系。换言之,签字转换机构有签字转换键但不知道此键归谁所有。签字键注册机构和签字转换机构双方以一个独特的标识I来分别查询签字者的身份与签字转换键。在注册过程中,签字者向签字键注册机构出示其身份并从签字转换机构那里得到一个即次注册标识,签字者将用此标识在送其签字键给签字转换机构时用来证明身份。签字键注册机构认证签字者后,生成I和即次注册标识,并将两者送给签字转换机构,同时也将即次注册标识送给签字者。签字键注册机构也将签字者的公开身份和I一起作为相关的信息秘密保存起来。签字者然后与和此签字键注册机构相关的签字转换机构取得联系,用即次注册标识证明其身份并且提供签字转换键。签字转换机构核实此签字键无诈后通知签字键注册机构以及签字者,签字键已被接受。签字转换机构然后将签字转换键和I作为相关的信息秘密保存起来。对一个签字者的签名进行核实的时候,持签字者用保险方式与一个或多个相关的签字注册-转换机构联系,在那些机构里签字者曾注册了他的签字转换键。持签字者向签字键注册机构证明其身份,并把签字者的签字以及其公开身份送给签字键注册机构。签字键注册机构通过签字者的公开身份查到I,生成一个即次核实标识J,并将签字、I及J用保险的方式送给签字转换机构。签字转换机构通过从签字键注册机构那里得来的I查到签字转换键,将签字通过签字转换键转换成T,并将J和T送给签字键注册机构。签字键注册机构再将T传给持签字者。持签字者参照T所代表的文件对T进行核实。如果核实无误,签字就被接受。参照的方法多种多样,依赖于具体的签字键技术或方法。有时,T与未签过字的文件的二进制码完全一样,而直接的比较就可以核实签字的真实性,而有时T是文件的一种不可伪造的简化形式,必需满足一定的标准,具备一定的特征或属于某一范围。签字转换机构可以将签字、I、J、T、及签字时间作为相关的信息安全地记录保存起来,而签字键注册机构可以将签字、I、J、T、签字时间以及持签字者的身份作为相关的信息安全地记录保存起来。它们也可以将签字时间、J、T、甚至签字的本身公开,其中要求T和签字既不是签字的文件本身也不会泄露任何文件内容。
例子为了更好地阐述此发明的基本概念,我们按如下的假设举几个例子1.我们采用按此发明所建立的加密系统的一般定义S={C,h,I,k,n,P,R,R}2.n=83.C={0,1,...,1,0}(除了第一和最后的段,其它段都进行取皱处理,其中对于1<i<k,ci=1)4.h=25.B=B1∪B2∪...∪Bk是皱集,其中Bi对映于键的第i段。
如果ci=0那么Bi=0={0,0,...}(即所有Bi的元都为零)如果ci≠0那么bi,1=0如果对于x<i,cx=0bi,2=1否则bi,2=2h*max(B1∪B2∪...∪Bi-1)
对于3≤j,bi,j=2h*bi,j-16.a1,1>(2h-1)*sum(B)7.对于1≤i≤k-2,tk-1=0及tk=2,ti=18.口令为ASCII码123(3个八位码)9.最短的口令(即系统要求长度的下限)是12个八位码。
10.对口令的要求有所降低,这样通过反复复制、相连的方法加长口令至12个八位码,达到可接受的长度。
11.随机数生成器和生成器的起始装置分别是计算机C语言的randO和srandO。
12.段的长度,除了最后段会短些外,都在[2,3]的范围之内。
13.驱使键集生成的随机因素属于[1,8]的范围内。例如
14.驱使第i个模生成的随机因素是2i-1*128。
15.对随机数生成器进行重新起始化的种子是二进制码,每个种子是扩展口令的两个八位码。
16.重新起始化点的范围是[2,3].
17.第三段被指定对应于模糊杂质。即相对于键集第三段元的位码组值的和将与一个模糊杂质对映。
18.第三段通过一个函数SM3按以下的方法对映于模糊杂质位码组值和 0 1 2 3 4 5 6↓ ↓ ↓ ↓ ↓ ↓ ↓模糊杂质倍数 0 3 4 5 6 8 919.最后段的最后一个元被指定通过一个函数IM4按一下的方法对映于模糊杂质位码组值和 0 1 2 3↓ ↓ ↓ ↓
模糊杂质倍数 0 2 3 520.第三段的模糊杂质是模糊杂质集中的第一个元素,其值在[1,1000]的范围以内。
21.模糊杂质比其对映的最后一段中最后一个元要小,但至少是其三分之二大。这个模糊杂质是模糊杂质集中的第二个元。
22.这两个模糊杂质将被公开,而且也将假设18和19中的对映通知加密的一方。因为(按假设8和9)口令比系统要求的要短,我们将它反复自行相接变成123123123123。有域随机数是通过取域运算得来的r用((上限-下限+1)+下限)为模取余其中r是随机数,对此例子来说就是randO的输出。
从扩展的口令中每次取两个八位码作为重新起始化的种子。此例中的六个种子就是12 31 23 1231 23。我们将使用双八位码的ASCII码的二进制值。譬如,ASCII码1和2的十进制值是49和50。而其二进制的值为00110001和00110010。因此,ASCII码12的二进制值为0011000100110010即十进制的49*256+50=12594,用它作为第一个种子输给srandO进行第一次起始化。扩展口令的八位码并不一定要原封不动地使用。可以先对它们进行处理,比如在用来作起始化之前将其位码重新排列。
对此例来讲,srandO是用12584启动,并按假设16中所给的域生成一个序列。此序列是用来启动srandO的六颗种子SEQs1,s2,...,s6然后用序列SEQ的第一个数s1作为现用的数,通过以下的方法依次生成所需的随机数让i=1如果现用的SEQ的数变成零了(si=0)那么如果现用的SEQ的数不是s6(i<6)那么让i加1用下一个种子si重新起始随机数生成器调用randO并取所提供的域(对此例来说就是假设12中的[2,3])让现用的SEQ中的数(si)减一以上的描述说明I中的数,即重新起始化点,是怎样生成的。也表明怎样用一个随机数生成器实现一个扩展杂凑函数,即一个函数其输入小于其输出,因而用很有限的输入通过扩展生成接近真随机序列。因为这一过程的每一步是确定的,同样的输入会产生同样的序列,而当用它来生成键的时后,也会导致同样的键。因此,口令与键的对映直接而有效。
在PPKS的例中,我们介绍WPKM和RPKM的双重概念。
首先,段的大小是通过假设12设定的域[2,3]而产生的(在此我们只给出最后产生的随机数)。第一次,我们取得随机数3。第二第三个随机数都是2。我们不用第四次调用randO了,因为所定的域以及密码系统的规定(n=sum({z1,z2,...,zk})),决定了最后一段的大小为1。即n-3-2-2=8-7=1。
然后皱集的元素就按假设5,定为段的元数减一。
对第一和第四段来说,由于c1=c4=0,不对其取皱。
第二段有一个元素需要取皱。
第三段也有一个元素需要取皱。
据假设5,B2={0,1}而且B3={0,4},自然B1={0,0,0}而且B4={0}。
接着,第一段的第一个元用下面的方法计算sum(B)*(2h-1)+Random(1,8),其中Random(1,8)意味着随机数生成器按域[1,8]产生随机数。所使用的域[1,8]是根据假设13。Random(1,8)生成的域内的数是6,,因此第一段的第一个元素为sum(B)*(2h-1)+Random(1,8)=(1+4)*(22-1)+6=5*3+6=21.
到此为止生成的秘密键集只包含这一个元素A={a1,1}={21}下一个元素的计算方法是((sum(B)+sum(A))*(2h-1)+Random(1,8)=(5+21)*3+4=82,而第三个元素的计算方法是((sum(B)+sum(A))*(2h-1)+Random(1,8)=(5+21+82)*3+2=326。现在A={21,82,326}。一个D集也被用来存放公开键集在取模过程中的中间结果。因此在这一阶段,D={21,82,326}.
到此,应有三个元素的第一段就生成了。
由于c1=0,不用取皱。因为t1=1,我们对现以建成的D取模。模数是这样计算的m1,1=((sum(B)+sum(D))*(2h-1)+Random(1,128)=(5+429)*3+109=1411。所采用的域的上限(128)是根据假设14。一个与模数互质的数w1,1=878被生成,同时此数的逆乘数w-11,=728也被生成。取得互质数的方法很多。其中一种就是随机地选不是m1,1因子的质数,而这些质数的乘积就与m1,1互质。生成此数的方法应该是确定的,并可以用口令控制。B和D然后被取模D<<D*w1,1Ξm1,1(={95,35,1206})B<<B*w1,1Ξm1,1(={{0,0,0},{0,878},{0,690},{0}})M1={m1,1}={1411}and W1={w1,1}={878}and W-11=-11,1}={728}真正的算法在产生w′s时调用了RandomO,这些调用这里就不再一一说明了。因此SEQ中的si有时被递减,而且种子也被用掉了。对此,我们不重复再明说了。
由于c2=1,第二段要经取皱。先生成第二段的元素((sum(B)+sum(D))*(2h-1)+Random(1,8)=((878+690)+(95+35+1206))*3+2=8714.。即A={21,82,326,8714,8714}而且D={95,35,1206,8714,8714},然后取皱,即B2={0,878}被加到A和D的第二段{8714,8714}上。这一来A={21,82,326,8714,9592}并且D={95,35,1206,8714,9592}。因为B2以被用来对第二段取皱,就被设成零,即B2<<{0,0}。
下一个模数计算为m2,1<<((sum(B)+1sum(D))*(2h-1)+Random(1,256)=(690+(95+35+1206+8714+9592))*3+191=61187。然而通过前面所用的同样方法生成w2,1=56426和w-12,1=3380。B和D再次取模后变成B={{0,0,0},{0,0},{0,19008},{0}}D={37201,16926,9812,58619,39177}而M={M1,M2}={{m1,1},{m2,1}}={{1411},{61187}}W={W1,W2}={{w1,1},{w2,1}}={{878},{56426}}W-1={W-11,W-12}={{w-11,1},{w-12,1}}={{728},{3380}}第三段施用同样方法取得A={21,82,326,8714,9592,542234,542234}B={{0,0,0},{0,0},{0,0},{0}}D={37201,16926,9812,58619,39177,542234,542234}M={M1,M2,M3}={{m1,1},{m2,1},{}}={{1411},{61187},{}}W={W1,W2,W3}={{w1,1},{w2,1},{}}={{878},{56426},{}}
W-1={W-11,W-12,W-13}={{w-11,1},{w-12,1},{}}={{728},{3380},{}}因为第三段不取模(据假设7),M3,W3和W-13为空。在取皱后A={21,82,326,8714,9592,542234,561242}B={{0,0},{0,0},{0,0,0},{0}}D={37201,16926,9812,58619,39177,542234,561242}M={M1,M2,M3}={{m1,1},{m2,1},{}}={{1411},{61187},{}}W={W1,W2,W3}={{w1,1},{w2,1},{}}={{878},{56426},{}}W-1={W-11,W-12,W-13}={{w-11,1},{w-12,1},{}}={{728},{3380},{}}此后,第三段的模糊杂质被生成Random(1,1000)=666.
因为第三段不需取模,接下来生成的就是最后一段的唯一的元素sum(D)*(2h-1)+λ*666+Random(1,8)=3804299其中λ不小于假设19所定的、模糊杂质能用的最大倍数。此例中,λ=13。大些的λ是为留出充分空间,以便采用多种不同的对映,可以在不用更新键集或模糊杂质集的情况下进行多次不同的加密。
按假设21,最后段的元素是
。B中元素已全为零了,并不再对以后键的建立有任何影响,因而以后就不再使用了。到此,各个参数就是A={21,82,326,8714,9592,542234,561242,3804299}F={666,2536200}D={37201,16926,9812,58619,39177,542234,561242,3804299}M={M1,M2,M3}={{m1,1},{m2,1},{}}={{1411},{61187},{}}W={W1,W2,W3}={{w1,1},{w2,1},{}}={{878},{56426},{}}
W-1={W-11,W-12,W-13}={{w-11,1},{w-12,1},{}}={{728},{3380},{}}因为tk=4=2,还需要对D以及F取模两次,而m4,1=53277556、w4,1=6178291、及w-14,1=21375375被生成用来进行第一次取模。第一次取模后,参数变为A={21,82,326,8714,9592,542234,561242,3804299}F={12369994,26194152}D={52504463,43188594,44810120,37691997,6969599,39998370,53220274,33112937}M={M1,M2,M3,M4}={{m1,1},{m2,1},{},m4,1}}={{1411},{61187},{},{53277556}}W={W1,W2,W3,W4}={{w1,1},{w2,1},{},{w4,1}}={{878},{56426},{},{6178291}}W-1={W-11,W-12,W-13,W-14}={{w-11,1},{w-12,1},{},{w-14,1}}={{728},{3380},{},{21375375}}在用m4,2=1809832417和w4,2=2085440329完成最后一次取模后,最终结果就是A={21,82,326,8714,9592,542234,561242,3804299}F={21933612,808030227}D={20053732,624037339,480756407,747752389,133089836,623579574,602702862,683922441}M={M1,M2,M3,M4}={{m1,1},{m2,1},{},{m4,1,m4,2}}={{1411},{61187},{},{53277556,1809832417}}W={W1,W2,W3,W4}={{w1,1},{w2,1},{},{w4,1,w4,2}}={{878},{56426},{},{6178291,2085440329}}
W1={W-11,W-12,W-13,W-14}={{w-11,1},{w-12,1},{},{w-14,1,w-14,2}}={{728},{3380},{},{21375375,908436921}}为了简单起见,一个反序排列P定义为对于任意一个序列x1,x2,...,xn,P(x1,x2,...,xn))=(xn,xn-1,...,x2,x1)。而经反排列的D就作为公开键向量。相对与D的反排列,同时为了响应P对D的反序排列,模糊杂质对映关系也相应地被调整。我们将F以及假设18和19中的对映通知加密的一方。A,M,W,W-1,未经取模转换的皱集{{0,0,0},{0,1},{0,4},{0}},模糊杂质集{666,2536200},以及假设18和19中的对映合起来是解密键。A是秘密键向量。
下面的例子用刚刚生成的键来描述加密过程。假设要加密的数据是ENGLISH □ OR □ GREEK其中□代表一个空格。加密的过程是把最前面的两个字母(E和N)变成密码。对的其它字母的加密可以用完全同样的方式进行。还是为了简单化,数据不经过双向搅乱。数字化输入的ASCII码值是十六进制 45 4E二进制 0100 0101 0100 1110按假设4,h=2。因此,二进制码就被分成两个码一组01 00 01 01 01 00 11 10而每一组的十进制的值是1、0、1、1、1、0、3和2。以向量形式表示就是(1,0,1,1,1,0,3,2)并用来与公开键向量(683922441,602702862,623579574,133089836,747752389,480756407,624037339,20053732)生成内积。最后段的最后那个唯一的元素是683922441,而相应的模糊杂质是808030227。相对的位码组的值是1而且根据假设18,对映的倍数是2。对映与第三段的模糊杂质是21933612。第三段位码组值的和是0+1=1,而根据假设19对映的倍数是3。因此,加过密的0100010101001110是
1*683922441+(2*808030227)+0*602702862+1*623579574+(3*21933612)+1*133089836+1*747752389+0*480756407+3*624037339+2*20053732=5782425011下面,解密的过程是对刚生成的密码(5782425011)的解译,描述如下因为tk=4=2、M4={m4,1,m4,2}={53277556,1809832417}而且W-14={w-14,1,w-14,2}={21375375,908436921}被用来对密码进行逆取模5782425011*908436921Ξ1809832417=441845897441845897*21375375Ξ53277556=9643907现在最后的一段就被暴露了,而且商of
就得到了。满足
的x是1。因而,密码中含有一个最后一段的(唯一的)元素,而相对应解出的位码组就是01。模糊杂质2536200的倍数是SM4(x)=SM4(l)=2。1*3804299和2*2536200被从9643907中减去,而经过处理的密码成为767208。
因为M3,W3和W-13皆空,不用进行逆取模。
下面两段被取皱了(因为c3和c2不为零),位码不能马上恢复,而要稍侯。对第三段,处理到现在的密码被解密键集的第三段的第一个元素除,商为
我们记住767208中有一个542234,以便在以后将位码复原。所含模糊杂质666的三倍是以用在最后一段的同样方法确定的。1*542234和3*666被从767208中减去,剩下222976。由于第二段曾<p>实施例81
将1当量的实施例58的产物(化合物101.0-B,表1)溶于95%的含有1.1当量氢氧化钠的甲醇水溶液中,于25℃搅拌16小时。真空浓缩得到为白色固体的产物。mp=240℃(d)。
实施例82
将1.0当量的实施例81的产物(化合物107.0-B)溶于含有5.0当量氯化铵和DEC、HOBT以及N-甲基吗啉各1.0当量的DMF中。于室温下,将该混合物搅拌18小时,然后真空浓缩为残留物,使其分配于乙酸乙酯和水之间。用碳酸氢钠水溶液和盐水依次洗涤有机相。用硫酸镁干燥有机相,过滤并真空浓缩为残留物。将残留物经硅胶层析,得到为白色固体的产物。mp=125.5-126.5℃。
权利要求
1.一个密码方法包括步骤生成一个解密键,其中包括一个由可辨认元素组成的、被逻辑分段的解密键集,而每一段是由多种不同方法之一生成的;从解密键生成一个加密键,其中每个解密键集段被转换成相应的加密键集段,而且其中至少两个段的转换方法相异;接受一个文件,而文件是以整数序列形式输入的;将加密键集转换成一个键向量并将输入的整数序列转换成与键向量同维的数据向量;生成密码,生成过程包括取数据相量和键向量内积;接受密码;并且解译密码来复原文件。
2.一个如权利要求1所述的密码方法,安全地把数据从一方S送到另一方R包括步骤在R方生成密码键包括步骤在R方生成解密的秘密键,其成份之一是一个由可辨认元素组成的、被逻辑分段的解密键集,其中每段都是用多种建键的方法之一生成的;从解密键生成一个加密键,其中每个解密键集段被转换成相应的加密键集段,而其中至少两个段的转换方法相异;将加密键从R方发送给S方;S方取得加密键;S方生成密码文件,包括步骤接受一个以整数序列形势输入的文件;将加密键集转换成一个键向量并将输入的整数序列转换成与键向量同维的数据向量;并且通过计算数据向量和键向量的内积生成密码;通过某个通讯渠道将加过密的文件从S方送到R方;R方接收加过密的文件;并且R方解译加过密的文件恢复原文。
3.一个如权利要求1所述的密码方法还包括步骤生成一个包括解密模糊杂质集的解密键;导出一个模糊杂质的对映从而使得解密键集的元素和模糊杂质集的元素之间建立起解密的关系;从解密键导出一个加密键,其中包括一个从解密模糊杂质集导出的加密模糊杂质集,沿袭模糊杂质对映,从而使得加密键集的元素和加密模糊杂质集的元素之间建立起加密的关系;计算密码文件的密码,其中包括按照数据向量的整数值以及模糊杂质对映,施加模糊杂质;并且逐个解译密码,其中包括按照模糊杂质对映去掉模糊杂质,恢复原文件。
4.一个如权利要求2所述的密码方法,安全地把数据从一方S送到另一方R还包括步骤生成一个R方的秘密解密键,其中包括一个R方的秘密模糊杂质集;导出一个R方的秘密模糊杂质对映从而使得解密键集的元素和模糊杂质集的元素之间建立起解密的关系;R方从解密键导出一个加密键,其中包括从解密模糊杂质集导出一个加密模糊杂质集,沿袭模糊杂质对映,从而使得加密键集的元素和加密模糊杂质集的元素之间建立起加密的关系;S方按照数据向量的整数值以及模糊杂质对映施加模糊杂质,算出文件的密码;并且R方逐个解译密码,其中包括按照模糊杂质对映去掉模糊杂质,恢复原文件。
5.一个密码方法,安全地将数据从S一方送到另一方R包括步骤R方生成密码键包括步骤生成一个R方的秘密解密键,其中此解密键的解译不唯一;并且从此解密键导出一个加密键,而用此加密键加过密的文件对外具有不可消除的模糊性;将加密键从R方发给S方;S方取得加密键;S方接受一个文件;S方用加密键对文件加密;S方将加过密的文件通过某一通讯渠道送给R方;R方接收加过密的文件;并且R方解译加过密的文件从而得到所有可能的解码,并通过某种解决方法排除非真码来恢复原文。
6.一个密码方法,安全地将数据从S一方送到另一方R包括步骤S接受一个以位码序列形式出现的文件;S将位码序列转换成n个数a1,a2,...,an用n个随机选取、长短不一的子序列组成,而每个子序列之首都被加上一个值为1的位码;生成一个S方的秘密解密键,其中包括至少n个唯一或近乎唯一集D1,D2,...,Dn作为扩展解密集对应与那n个数,而每个扩展集中至少有一个元素是可感觉元。S从解密键导出一个加密键,对于1≤i≤n,将解密键扩展集Di转换成加密键扩展集Ei,其中每个解密键扩展集Di的某个元素被转换成相对应的ai;将加密键从S方送到R方;R执行以下步骤至少一轮,直到每个Ei中的ai都通过排除Ei中非ai的元素而识别出来R生成密码包括以下步骤生成随机整数向量Vi对应与Ei,其中1≤i≤n;并且生成密码si,包括取Vi和Ei的内积,其中1≤i≤n;R方将密码通过某一通讯渠道送给S方;S方收到密码并确认si中是否含有从Di中的可感觉元转换成的ai,其中1≤i≤n;S方向R方通过某个通讯渠道报告所说的含纳情况;并且R方根据所说的报告确认出在Ei中不是ai的元素,其中1≤i≤n;并且R重新组建原文件。
7.一个保障信息和通讯安全的密码方法,具有保险地交换公开加密键的特性以及相互确认通讯各方的不可分割的特性,包括步骤采用身份证明公开键而不依赖提前约定的机密也不依赖第三信任者,进行不可分割的、最基础的相互确认以及保险的公开加密键交换。
8.一个如权利要求6所述保障信息和通讯安全的密码方法,具有一个X方与另一个Y方之间保险地交换公开加密键以及恰当的相互确认通讯双方的不可分割性,包括步骤建立一个通讯渠道,以X方为发起者;X方通过上述通讯渠道发给Y方Kyip(Kxp),其中Kxp是X方要发给Y方的公开加密键,而Kyip是Y方的公开身份证明键;Y方在一定时间t内收到Kyip(Kxp);Y方通过解密得到K1xp=Kyis(Kyip(Kxp))其中Kyis是Y方相对于Kyip的身份证明的秘密解密键;Y方建立一个挑战包K1xp(Kxip(β·Kyp·Cy)),其中Kyp是Y方要发给X方的公开加密键,Cy是Y方生成的一个挑战,而β=H(K1xp·Cy)是由某个单向特征函数H生成的;Y方通过所说的通讯渠道将K1xp(Kxip(β·Kyp·Cy))送到X方;X方在所说的时间t以内收到并解译K1xp(Kxip(β·Kyp·Cy))β′·K1yp·C1y=Kxis(Kxs(K1xp(Kxip(β·Kyp·Cy)))其中Kxis是X方相对于Kxip的身份证明秘密解密键而Kxs是X方相对于Kxp的秘密解密键;X方验证β′是否等于H(Kxp·C1y),如果不等就宣告相互确认失败并终止此过程;X方建立一个挑战包K1yp(Kyip(γ·Rx·Cx)),其中Kyip是Y方的身份证明公开键,Cx是X方的一个挑战,RX是X方应Y方对C1y的答复,而γ=H(K1yp·Cx);X方通过所说的通讯渠道将K1yp(Kyip(γ·Rx·Cx))送给Y方;Y方在所说的时间t以内收到并解译K1yp(Kyip(γ·Rx·Cx))γ′·R1x·C1x=Kyis(Kys(K1yp(Kyip(γ·Rx·Cx)))其中Kys是Y方相对于Kyp的秘密解密键;Y方验证γ′是否等于H((Kyp·C1x)并且R1x是否等于Rx,如果其中任何一项不等就宣告相互确认失败并终止此过程,其中Rx是根据Cy所期待的答复;Y方通过所说的通讯渠道送给X方K1xp(Kxip(Ry)),其中Ry是Y方针对于C1x给X方的答复;X方受到并解译K1xp(Kxip(Ry))R1y=Kxis(Kxs(K1xp(Kxip(Ry))))X方验证R1y是否等于Ry,如果不等就宣告相互确认失败并终止此过程,其中Ry是根据Cx所期待的答复;如果任何时候1)时间t过了,或者2)任意解密失败就宣告相互确认失败并终止此过程;并且使用K1xp=Kxpand K1yp=Kyp对通讯以及数据传送进行进一步保护。
9.一个如权利要求8中所述的身份证明方法,用于以块操作密码器为加密及解密设备的密码系统,其中至少X方的一个守时块按定义好的或商定的方式被分成m>1部份,p1,p2,...,pm,并从X方送至Y方,而在送每个pj之后停顿αj,这里对于1≤j<m和1≤i<m-1,∑αj+d≥t并且∑αi+d<t,而d是传送延迟的上限,而且其中至少Y方的一个守时块按定义好的或商定的方式被分成n>1部份,q1,q2,...,qn,并从Y方送至X方,而在送每个qj之后停顿βj,这里对于1≤j<n和1≤β<n-1,∑βj+d≥t和∑βi+d<t,而X方期待在t时间内得到q1,Y方也期待在t时间内得到p1,双方最后都重新恢复守时块。
10.一个用于解决解密过程中出现的不可消除的模糊状况的方法,其模糊状况来源于某一S方送给另一R方的加过密的文件,而消除方法是依照一个非零界值,通过一组组地排除非真的解译码来实现的,其中排除过程在非真解码数组低于所说的界值时结束,并且在每一轮排除非真解码组时,双方采用事先约定或即时商定的一个单向特征函数,包括至少一轮以下的步骤指定R方生成一个随机位码序列s,此序列可含零个或多个位码;R方将s以及p,即对所说文件某一部份的指定,通过一个通讯渠道送给S方;S方收到s及p;S方将s与p所指定的文件部份混合,得到混合后的结果b;S方计算出特征值h=H(b);S方将h通过所说的通讯渠道送给R方;R方收到h;并且R方针对每一组解码C重复以下步骤将s与C中p所指定的部份混合得到混合后的结果b′;计算出特征值h′=H(b′);并且如果h′不等于h,抛弃C。
11.一个搅乱、加密方法,用于一个密码系统,通过采用一个规定的、公开的、由s>0位码单位组成的二进制块为码簿,其中s-位的单位是均匀分布于
]>和一个解密模糊杂质集,其段对映于Kd的段G=G1∪G2∪...∪Gk还包括一个皱集,其段对应于Kd的段B=B1∪B2∪...∪Bk其中Kd,G和B是保密的,而对于1≤i≤k,Kd的i段是由以下至少一种方法生成的1)普通法2)淹没法3)取皱法4)一对一对映法5)多对一对映法而对于一个淹没的段idi,j=2h(j-1)*mi,1≤j≤zi,其中mi的下标i别定义为i≡i,0≡i-1,zi-1而对于一个取皱的段iσ=sum(ηθ*|θ|)+rdi,j=σ+Ψi-1(bi,j),1≤j≤zi而对于一个用其它方法生成的段di,j=&Sigma;&theta;&Element;&theta;i-1&eta;&theta;*|&theta;|+(2h-1)&Sigma;t=1j-1di,t+r,]]>对于1≤j≤zi其中r是个非零正范围值,ηθ是θ∈Θi-1可使用的最大倍数,而Θi定义为
对于0≤i≤k其中Ψi(X∪Y)=Ψi(X)∪Ψi(Y),对于任何X和Y集Ψi(S)={Ψi(S1),Ψi(S2),...,Ψi(Sn)}对于任何集S={S1,S2,...,Sn}Ψi=Γi°Γi-1°...°Γi
(wn,v,mn,v)=1mn,v>&Sigma;&theta;&Element;&theta;-k,v=1&eta;&theta;*|&theta;|]]>
以及&theta;-u=(&theta;u-1&cup;Kdu&cup;Gu)-&psi;u-1(Bu)]]>其中Cu,v({μ1,μ2,...,μn})={Cu,v(μ1),Cu,v(μ2),...,Cu,v(μn)}代表生成整个键的互补函数而对于任意数μ,Cu,v(μ)或被定义为μ+mu,v如果
或μ-Mu,v如
或μ otherwise其中g∈G是一个范围值;生成模糊杂质对映函数FMO,这样一来密键集的元素就与模糊杂质集的元素建立了一种联系,而FMO对于某一段i至少有一个元素是采用一一对映法的,定义为FM(X)=&Sigma;i=1k&Sigma;j=1ziIM(xi,j)]]>满足IM(μ-1)+(μ-1)*di,j<IM(μ)+μ*di,j<IM(μ+1)+(μ+1)*di,j,其中X=X1∪X2∪...∪Xk是输入给FMO、属于
]>yi,j&lt;&lsqb;&gamma;&prime;-&Sigma;m=j+1zi(yi,m*di,m)di,j&rsqb;,]]>对于1≤j≤zi并且在得到所有的yi,j(1≤j≤zi)时,γ′经过以下调整&gamma;&prime;&lt;&gamma;&prime;-&Sigma;j=1zi(yi,j*di,j)]]>而相对于经过淹没的某段i,解密依照&gamma;&prime;&lt;&Gamma;i-1(&gamma;&prime;)]]>yi,j&lt;&gamma;&prime;-Y&prime;&times;&Omega;2h(j-1)*mi-1,ti-1]]>其中Ω是从解密键集转换来的Θi-1中的元素,而Y′是解密后的{y1,1,y1,2,...,yi-1,u},其中u=zi-1,而相对于经过取皱的某段i,解密依照&gamma;&prime;&lt;&Gamma;i-1(&gamma;&prime;)]]>qi&lt;&lsqb;&gamma;&prime;di,l&rsqb;]]>yi,j<b′i,j对于1≤j≤ziyi,l&lt;qi-&Sigma;j=2zi(yi,j)]]>其中b′i,j是解译出来的γ′中所含可辩别元bi,j的倍数,而在得到qi后,γ′经过以下调整γ′<<γ′-qi*di,1.而相对于经过一对一对映的某段i,对j=zi递减到1,解密依照&gamma;&prime;&lt;&lt;&Gamma;i-1(&gamma;&prime;)]]>yi,j<<q,满足FM(q-1)+(q-1)*di,j≤FM(q)+q*di,j<FM(q+1)+(q+1)*di,j而在得到每个yi,j后,γ′经过以下调整γ′<<γ′-FM(yi,j)-yi,j*di,j而相对于经过多对一对映的某段i,对j=zi递减到1,解密依照&gamma;&prime;&lt;&lt;&Gamma;i-1(&gamma;&prime;)]]>yi,j<<q,满足FM(q)+q*di,j≤γ′而在得到每个yi,j后,γ′经过以下调整&gamma;&prime;&lt;&gamma;&prime;-yi,j*di,j-(SM(&Sigma;m=jziIM(yi,m)))-(SM(&Sigma;m=j+1ziIM(yi,m)))]]>其中对相对映于解密键最后生成的一段的段k的解译时,γ′等于要进行解译的密码γ,并且
&Gamma;u,v-1(&mu;)=Cu,v-1((wu,v-1*&mu;)&Xi;mu,v)]]>Cu,v-1代表Cu,v的逆,其中Cu,v-1(μ)对于任意数μ定义为μ+mu,v如果μ<-NEGu,v或μ-mu,v如果μ>POSu,v或μ otherwiseNEGu,v=&Sigma;&theta;&lt;0&theta;&Element;&theta;u,v-1&theta;]]>POSu,v=&Sigma;&theta;>0&theta;&Element;&theta;z,v-1&theta;]]>
15.一个密码系统包括如下设备设备生成一个解密键,其中包括一个由可辨认元素组成的、被逻辑分段的解密键集,而每一段是由多种不同方法之一生成的;设备从解密键生成一个加密键,其中每个解密键集段被转换成相应的加密键集段,而其中至少两个段的转换方法相异;设备接受一个文件,而文件是以整数序列形式输入的;设备将加密键集转换成一个键向量并将输入的整数序列转换成与键向量同维的数据向量;设备生成密码,生成过程包括取数据向量和键向量内积;设备接受密码;并且设备解译密码来复原文件。
16.一个权利要求15所述的密码系统,安全地把数据从一方S送到另一方R包括如下设备设备在R方生成密码键包括设备在R方生成解密的秘密键,包括一个由可辨认元素组成的、被逻辑分段的解密键集,其中每段是由多种方法之一生成的;并且设备从解密键生成一个加密键,其中每个解密键集段被转换成相应的加密键集段,而其中至少两个段的转换方法相异;设备将加密键从R方发给S方;设备在S方取得加密键;设备在S方生成密码文件,包括设备接受一个以整数序列形式输入的文件;设备将加密键集转换成一个键向量并将输入的整数序列转换成与键向量同维的数据向量;并且设备通过计算数据向量和键向量的内积生成密码;设备通过某个通讯渠道将加过密的文件从S方送到R方;设备在R方接收加过密的文件;并且设备在R方解译加过密的文件恢复原文。
17.一个如权利要求15所述的密码系统还包括如下设备设备生成一个包括解密模糊杂质集的解密键;设备导出一个与模糊杂质的对映从而使得解密键集的元素和模糊杂质集的元素之间建立起解密的关系;设备从解密键导出一个加密键,其中包括一个从解密模糊杂质集导出的加密模糊杂质集,沿袭模糊杂质对映,从而使得加密键集的元素和模糊杂质集的元素之间建立起加密的关系;设备计算密码文件的密码,其中包括按照数据向量的整数值以及模糊杂质对映,施加模糊杂质;并且设备逐个解译密码,其中包括按照模糊杂质对映去掉模糊杂质,恢复原文件。
18.一个如权利要求16所述的密码系统,安全地把数据从一方S送到另一方R包括如下设备设备在R方生成密码键包括设备生成一个R方的秘密解密键,其中此解密键的解译不唯一;并且设备从此解密键导出一个加密键,而用此加密键加过密的文件对外据有不可消除的模糊性;设备将加密键从R方发给S方;设备在S方取得加密键;设备在S方接受一个文件;设备在S方用加密键对文件加密;设备在S方将加过密的文件通过某一通讯渠道送给R方;设备在R方接收加过密的文件;并且设备在R方解译加过密的文件从而得到所有可能的解码,并通过某种解决方法排除非真码来恢复原文。
19.一个用来生成键的加密系统包括如下设备设备生成一个解密键,其中包括一个由可辨认元素组成的、被逻辑分为k>1段的解密键集
(其中
对1≤j≤k是一个段)={d1,1,d1,2&CenterDot;&CenterDot;&CenterDot;,d1,z1,d2,1d2,2&CenterDot;&CenterDot;&CenterDot;d2,z2,&CenterDot;&CenterDot;&CenterDot;,dk,1,dk,2,&CenterDot;&CenterDot;&CenterDot;,dk,zk}]]>和一个解密模糊杂质集,其段对应于Kd的段G=G1∪G2∪...∪Gk还包括一个皱集,其段对应于Kd的段B=B1∪B2∪...∪Bk其中Kd,G和B是保密的,而对于1≤i≤k,Kd的i段是由以下至少一种方法生成的1)普通法2)淹没法3)取皱法4)一对一对映法5)多对一对映法而对于一个淹没的段idi,j=2h(j-1)*mi,1≤j≤zi,其中mi的下标i别定义为i≡i,0≡i-1,zi-1而对于一个取皱的段iσ=sum(ηθ*|θ|)+rdi,j=σ+Ψi-1(bi,j),1≤j≤zi而对于一个用其它方法生成的段di,j=&Sigma;&theta;&Element;&theta;i-1&eta;&theta;*|&theta;|+(2h-1)&Sigma;t=1j-1di,t+r,]]>对于1≤j≤zi其中r是个非零正范围值,ηθ是θ∈Θi-1可使用的最大倍数,而Θi定义为
对于0≤i≤k其中Ψi(X∪Y)=Ψi(X)∪Ψi(Y),对于任何X和Y集Ψi(S)=(Ψi(S1),Ψi(S2),...,Ψi(Sn)}对于任何集S={S1,S2,...,Sn}Ψi=Γi°Γi-1°...°Γ1
而相对于经过一对一对映的某段i,对j=zi递减到1,解密依照&gamma;&prime;&lt;&lt;&Gamma;i-1(&gamma;&prime;)]]>yi,j<<q,满足FM(q-1)+(q-1)*di,j≤FM(q)+q*di,j<FM(q+1)+(q+1)*di,j而在得到每个yi,j后,γ′经过以下调整γ′<<γ′-FM(yi,j)-yi,j*di,j而相对于经过多对一对映的某段i,对j=zi递减到1,解密依照&gamma;&prime;&lt;&lt;&Gamma;i-1(&gamma;&prime;)]]>yi,j<<q,满足FM(q)+q*di,j≤γ′而在得到每个yi,j后,γ′经过以下调整&gamma;&prime;&lt;&gamma;&prime;-yi,j*di,j-(SM(&Sigma;m=jziIM(yi,m)))-(SM(&Sigma;m=j+1ziIM(yi,m)))]]>其中对相对映于解密键最后生成的一段的段k的解译时,γ′等于要进行解译的密码γ,并且
而对于某个多对一对映段i,FMO被定义为FM(X)=FM(X1∪X2∪...∪Xk)=FM(X1)+FM(X2)+...+FM(Xk)其中FM(Xi)=SM(∑IM(xi,j))1≤j≤zi并且如果ei,j是个对映元素IM(xi,j)就等于xi,j否则为零,SM(μ)给出α*gi,j,其中α对映于μ且满足SM(μ-1)<SM(μ)<SM(μ+1);设备从解密键生成一个加密键Θk,沿袭模糊杂质对映,设备生成密码包括设备接受一个用一系列在
]>yi,j&lt;&lsqb;&gamma;&prime;-&Sigma;m=j+1zi(yi,m*di,m)di,j&rsqb;,]]>对1≤j≤zi并且在得到所有的yi,j(1≤j≤zi,)时,γ′经过以下调整&gamma;&prime;&lt;&gamma;&prime;-&Sigma;j=1zi(yi,j*di,j)]]>而相对于经过淹没的某段i,解密依照&gamma;&prime;&lt;&Gamma;i-1(&gamma;&prime;)]]>yi,j&lt;&gamma;&prime;-Y&prime;&times;&Omega;2h(j-1)*mi-1,ti-1]]>其中Ω是从解密键集转换来的Θi-1中的元素,而Y′是解密后的{y1,1,y1,2,...,yi-1,u},其中u=zi-1而相对于经过取皱的某段i,解密依照&gamma;&prime;&lt;&Gamma;i-1(&gamma;&prime;)]]>qi&lt;&lsqb;&gamma;&prime;di,l&rsqb;]]>yi,j&lt;bi,j&prime;,]]>对于1≤j≤ziyi,1&lt;qi-&Sigma;j=2zi(yi,j)]]>其中b′i,j是解译出来的γ′中所含可辩别元bi,j的倍数,而在得到qi后,γ′经过以下调整γ′<<γ′-qi*di,1.而相对于经过一对一对映的某段i,对j=zi递减到1,解密依照&gamma;&prime;&lt;&lt;&Gamma;i-1(&gamma;&prime;)]]>yi,j<<q,满足FM(q-1)+(q-1)*di,j≤FM(q)+q*di,j<FM(q+1)+(q+1)*di,j而在得到每个yi,j后,γ′经过以下调整γ′<<γ′-FM(yi,j)-yi,j*di,j而相对于经过多对一对映的某段i,对j=zi递减到1,解密依照&gamma;&prime;&lt;&lt;&Gamma;i-1(&gamma;&prime;)]]>yi,j<<q,满足FM(q)+q*di,j≤γ′而在得到每个yi,j后,γ′经过以下调整&gamma;&prime;&lt;&gamma;&prime;-yi,j*di,j-(SM(&Sigma;m=jziIM(yi,m))-(SM(&Sigma;m=j+1ziIM(yi,m))]]>其中对相对应于解密键最后生成的一段的段k的解译时,γ′等于要进行解译的密码γ,并且
&Gamma;u,v-1(&mu;)=Cu,v-1((wu,v-1*&mu;)&Xi;mu,v)]]>Cu,v-1,代表Cu,v的逆,其中Cu,v-1(μ)对于任意数μ定义为μ+mu,v如μ<NEGu,v或μ-mu,v如μ>POSu,v或μ otherwiseNEGu,v=&Sigma;&theta;&lt;0&theta;&Element;&theta;u,v-1&theta;]]>POSu,v=&Sigma;&theta;>0&theta;&Element;&theta;u,v-1&theta;]]>
全文摘要
一个背袋式的信息及通讯系统,其特征是对键的逻辑分段,其中各段是用不同的方法生成并采用不同的转换;而其另一特征是子集的密码的多种解,而解密器在有必要时通过协议解除多解状况。
文档编号H04L9/30GK1248365SQ98801794
公开日2000年3月22日 申请日期1998年1月13日 优先权日1997年1月14日
发明者张景隆 申请人:张景隆
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1