CN1242587C - 高速、灵活的加密系统的方法及设备 - Google Patents
高速、灵活的加密系统的方法及设备 Download PDFInfo
- Publication number
- CN1242587C CN1242587C CN98801794.6A CN98801794A CN1242587C CN 1242587 C CN1242587 C CN 1242587C CN 98801794 A CN98801794 A CN 98801794A CN 1242587 C CN1242587 C CN 1242587C
- Authority
- CN
- China
- Prior art keywords
- fuzzy
- key
- encryption key
- impurity
- deciphering
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Analysing Materials By The Use Of Radiation (AREA)
- Saccharide Compounds (AREA)
- Mobile Radio Communication Systems (AREA)
- Lock And Its Accessories (AREA)
- Communication Control (AREA)
- Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
- Crystals, And After-Treatments Of Crystals (AREA)
Abstract
一个背袋式的信息及通讯密码系统,其特征是对键的逻辑分段,其中各段是用不同的方法生成并采用不同的转换;而其另一特征是密码的不定个数的子集和解,而解密器在有必要时通过协议解除多解状况。
Description
发明背景
本发明涉及加密系统,用于数据与信息保护,特别是用于通讯中数据与信息的保护,以及有关的方法和协议。
近几十年来,加密技术的发展突飞猛进,尤其是以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.EIGamal的加密系统发表于“一个运用离散对数的公开加密系统以及一种签名方法”(″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,Berlin:Springer-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,Berlin:Springer-Verlag,1985,pp.
150-158)。H.Isselhorst推展了一个采用有理数的背袋加密系统。请参看“非整数在公开加密系统中的使用”(″The Use of Fractions in Public-Key Cryptosystems″,Advances in CryptologyEUROCRYPT′89,Bérlin:Springer-Verlag,1990,pp.47-55)。V.Niemi也相继提出另一个背袋加密系统。请参照“背袋中的一个难逆性”(″A New Trapdoor in Knapsacks″,Advances in CryptologyEUROCRYPT′91 Proceedings,Berlin:Springer-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,Berlin:Springer-Verlag,1985,pp.342-358);“近期结果的泛观”(″A servey ofrecent results″作者Brickell和Odiyzko 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,Berlin:Springer-Verlag,1991,pp.313-317);“解析一个基于取模背袋的新公开加密系统”(″The Cryptanalysis of a New Public-Key Cryptosystme based on Modular Knapsack″作者Y.M.Chee,A.Joux和J.Stern,Advances in Cryptology CRYPTO′91,Berlin:Springer-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,...,em},也可能包括模糊杂质集F={f1,f2,...,fi,...},以及可逆的转换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是一个排列器,以P-1为其反排列器,而对于任意一个(有限)列X:
P(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-1 i,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={fi,1,fi,2,...,fi,1,fi,2,...}是个模糊杂质集。
4)FM()是个可逆的模糊杂质对应函数用于加密和解密。通过转换,解密模糊杂质集被转换成加密模糊杂质,而加密键保留原有的解密键与模糊杂质之间的对映,这样加密键元与加密模糊杂质元之间保持有与解密键元和解密模糊杂质元之间同样的对映。
除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<<Ai
7)Bi<<0
8)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的一个子集也作为公开键的一部分公开出来。
A1段到Ak段(即A本身)以及其他所有用来进行逆转换的参数就是秘密键,其中A是秘密键集。
要加密的数据先是以二进制码被组成n组,而每一组有h位码。而每个n*h-位码组可以变成加密文件的一个密码。加密是通过取加密键向量与n组二进制码形成的向量的内积,生成加密键集的一个子集和,其中加密键集中对应于非零h-位码组的元加到和中,而一些模糊杂质也可以在此过程中加到这个子集和中。
解密是对密码文件进行反转换以复原数据元的位码。当密码经过反转换时,与Ke中段相对应的Ak段到A1段里加到子集和中的元就可以识别出来了。而子集和中所含的模糊杂质也可识别出来。秘密键和模糊杂质集中元一经被识别,就被从密码中减去,而相对的非零位码组就被记下来。最后,所有的非零位码组就可以被复原了。同时,为零的位码组也就自然地、直接地被复原了。在去掉没必要的其它杂质后并用P-1进行反排列后,原数据位码也就复得了。
此发明的特征之一是键的设计可允许子集和中存在干扰因素。当解密键集为超增时,子集和中可以允许一个不大于x-1的数,如果ai,1等于某自然数y而ai,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+s被生成,而且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为其反排列器,而对于任意一个(有限)列X:
P(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二进制码是:
01000101010011100100011101001100
01001001010100110100100000100000
01001111010100100010000001000111
01010010010001010100010101001011
为了便于看清,位码被列成四个一组。进一步假设位码要分成组,每组大约k=32位码。一个随机序列为此而生:30,31,34,33,32,...,这样分成的位码组就是:
010001010100111001000111010011(30位码)
0001001001010100110100100000100(31位码)
0000100111101010010001000000100011(34位码)
101010010010001010100010101001011(33位码)
由于分成组的码会有领头的零(在以上例子中,除了第四组都如此),它们需要加以保护,以免当它们转换成数字时丢失。为此,一个领头的1被放到分成的位码组的最前面、最有效的码位,而位码组就成了:
1010001010100111001000111010011
10001001001010100110100100000100
10000100111101010010001000000100011
1101010010010001010100010101001011
当位码组被识别出来后,最前面的1码将被去掉,因而得到原来的位码。
下面我们用第一个分成的小块1010001010100111001000111010011来作一个示范,其中为了方便起见,我们用d来代表1010001010100111001000111010011。我们假设h=2而且一个有一个可辨认元的扩展集合:
E={e1,e2,...,en}
被生成了。这一集和可以是唯一集和、近乎唯一集合或采用模糊杂质及模糊杂质对映,但同时保持可辨认元在转换成d后的可辨认性。在此简单例子中,我们假设没有采用模糊杂质。
我们进一步假设e2正好与5互质而且其它E中与5互质的元素都被乘上5。然后这扩展集被取模两次而得到G={g1,g2,...,gn}。
在G的一个子集和x被逆取模后,就转换成E相应的一个子集和y,而g2是否含于x中,也就可以确定了。这是因为如果g2被用来生成x,那么e2就含在相应的y中,而y是从x逆取模而来的。这样,当y被5除时,会有非零余数。如果g2没被用来生成x,y将被5整除。
如果G被再次取模,而g2被转换成d,那么取过模的G就是一个集合,其含d的子集和就可以被逆取模变成E的一个相应的子集和,含有可是别元e2。
首先选择一个数m,其中m>sum(G)*(2h-1),m>d并且(m,g2)=1。然后算出g2与m同模的逆g-1 2。最后,得出w=(g-1 2*d)Ξm。因为(g2*w)Ξm=(g2*g-1 2*d)Ξm=(1*d)Ξm=d,用m-w的取模运算可以把g2转换成d。为保证数乘逆w-1的存在,m和d应互质。
此发明的普遍虚拟单次簿(UVOTP)加密方法具有保险性,但可以克服单次簿的不足。它是用规定且公开的码薄,通过一个用随机输入生成的秘密索引从码薄选码将文件逻辑与或成密码文件。此举一例来描述UVOTP。假设有随机输入的300个八位码或2400二进制码。先将这些二进制码的次序翻转,然后用某种非压缩性的方法搅乱,致使输出均匀分布。搅乱后的位码B,仍然是300个八位码,作为一个大数除以150得余数z。B被重新组成150个双八位码d1,d2,...,d150。一个序列a1,a2,...,a8数,其值在1和150之间,被一个随机数生成器在被d2起始化后生成。最后,八个序列用以下方式生成:
s1,s2,...通过R对2取模生成,以dy为起始化中子,这里y=a1
p1,p2,...通过R生成,以dy为起始化中子,这里y=a2
n1,n2,...通过R生成,以dy为起始化中子,这里y=a3
x1,x2,...通过R生成,以dy为起始化中子,这里y=a4
b1,1,b1,2,...通过R生成,以dy为起始化中子,这里y=a5
b2,1,b2,2,...通过R生成,以dy为起始化中子,这里y=a6
b3,1,b3,2,...通过R with dy为起始化中子,这里y=a7
b4,1,b4,2,...通过R with dy为起始化中子,这里y=a8
同时分别用e1,e2,...,e142生成142互质的数对(α1,β1),(α2,β2),...,(α142,β142),其中对0<i<143,28-1<αi<βi而序列e1,e2,...,e142是从d1,d2,...,d150中去掉dy后的序列,这里y=a1,a2,...,a8。文件的加密是通过用以下定义的方法取一个八位码来与文件中第i个八位码进行与或:
如果s1=0,此八位码就为(αj*(i-pi)Ξβj)Ξ28
而在其它情况下,此八位码就为(αj*(i-nj)Ξβj)Ξ28其中j=(bγΞ142)+1对γ≡(xiΞ4,i)。解密与加密一样,只是对密码文件进行与或。这一基本概念可以通过许多索引方式实现,而进行与或的单位可以是任意位码而不一定是刚才所示的八位码。实际上,码簿是′虚拟的′而且如果28被2c所代替,以上的例子就可以扩展成以c位码为单位的虚拟码簿。
下面介绍的方法是用来增进此发明的保险程度、提高信息律及灵活性。
用与此发明的模糊杂质是加大攻击密码本身来进行破译的复杂程度。以下段落介绍的方法包括:模糊杂质索引(对映),可除及不可除的模糊杂质,键元的指定(用于对模糊杂质的索引),以及皱集的使用。
一个模糊杂质的例子是零一集{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-1 1=6。取模后集合变为{9,7,12},然后m和2*m被加进去形成{9,7,12,13,26}。接着我们选m2=71,w-1 2=55,和w2=31。第二次取模后,集合变成{66,4,17,48,25}。
设某一位码组为01010,而此位码组与集合(都当成向量)的内积就是:
0*66+1*4+0*17+1*48+0*25=4+48=52
解码先对52逆取模:52*w2 -1Ξm2=52*55Ξ71=20接着20*w-1 1Ξm1=20*6Ξ13=3。因为m1和2*m1是m1的整倍数,01010中最后(最右)的两个位码在用m1及w-1 1进行逆取模时被′淹没′了。复原这两位码不能马上进行而要推迟一下。用第二次逆取模后的结果3以及解密用的唯一集合{2,3,7},马上可以复原010。中间结果20可帮我们得到其余的两位码。因为通过用w-1 2-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。
让<request>X作为从X来的一个请求,请求Y进行保险的通讯。
假设Y同意X提出的请求<request>X。
质疑可以是身份证明发起者生成的一组随机数,送给要证明其身份者,或者可以是私下的、只有通讯各方所有的秘密,譬如口令或杂凑的即次标识,或可以是两者的组合。为了简化对此协议的描述,我们假设CX(CY)是X(Y)为证明对方身份所生成的随机序列。
让IX(IY)为(数化的)某种公开算法,比如单向函数。为了方便对协议的阐述,我们假设IX(IY)是CX(CY)的子序列的索引,即IX={i:ri∈RY是个位码}其中RYCX(或IY={i:ri∈RX是个位码}其中RXCY)。
让←(→)表示从Y到X(X到Y)的传送。
让t为某时间上限(例如以微秒计),在此上限到达之前被质疑的一方应作出反响。在此例中,我们要求t绝对小于众所周知的最快破解的方式。
让K(x)作为用K对x进行加密或解密的缩写。
让H作为一个单向特征函数。
Party X Party Y
拨码
接通
<claim>X →
<request>X →
KYIp(KXp) →
收到<claim>X
收到<request>X
等待
如果t过了但还没收到KYIp(KXp)
记录协议失败
终止协议或采取其它措施
收到KYIp(KXp)
解密得到K1 Xp=KYIs(KYIp(KXp))
(K1 Xp是X的公开保护键)
←K1 Xp(KXIp(β·KYp·CY·IY))
其中β=H(K1 Xp·IY·CY)
(注:发起者被先质疑)等待如果t过了但还没收到K1 Xp(KXIp(β·KYp·CY·IY))
记录协议失败
终止协议或采取其它措施
收到K1 Xp(KXIp(β·KYp·CY·IY))
解密得到β′·K1 Yp·C1 Y·I1 Y=KXIs(KXs(K1 Xp(KXIp(β·KYp·CY·IY))))
(K1 Yp是Y的公开保护键)
如果β′◇H((KXp·I1 Y·C1 Y)
记录协议失败
终止协议或采取其它措施
(X的公开保护键KXp已在Y确立)
根据I1 Y从C1 Y中取出Rx
K1 Yp(KYIP(γ·RX·CX·Ix))→
其中γ=H(K1 Yp·IY·CY)
等待
如果t过了但还没收到
K1 Yp(KYIp(γ·RX·CX·Ix))
记录协议失败
终止协议或采取其它措施
收到K1 Yp(KYIp(γ·RX·CX·Ix))
解密得到γ′·R1 X·C1 X·I1 X=
KYIs(KYs(K1 Yp(KYIp(γ·RX·CX·Ix)))
如果RX◇R1 Y或γ′◇H(KYp·I1 X·C1 x))
记录协议失败
终止协议或采取其它措施
(X身份得以证明)
(Y的公开保护键KYp已在X确立)
根据I1 X从C1 X中取出RY
← K1 Xp(KXIp(RY))
(如果RY是X所期待的,协议结束)
等待
如果t过了但还没收到Y送来的K1 Xp(KXIp(RY))
记录协议失败
终止协议或采取其它措施
收到K1 Xp(KXIp(RY))
解密得到R1 Y=K1 Xp(KXIp(RY))
如果RY◇R1 Y
记录协议失败
终止协议或采取其它措施
(Y身份得以证明)
(协议结束)
为了具有更高的保险性,特别是来对付中间人一类的进攻,可以使用守时传送块(TSTB)的概念。TSTB是一方送给另一方的一个逻辑块,而块的全部内容必需在一特定时间内收到。刚描述的协议可以以另一种方式出现,其中通讯的每一方的至少一个守时传送块可以用规范的或个方都同意的方法重新组成n≥2部份p1,p2,...,pm,而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÷2
3.(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<<
Si<<Ci
Ci<<
否则如果bi=0那么
Ai<<Ci∪Ai (新识别出的非键或非数据元被移入Ai)
Ci<<
Si<<Bi
Bi<<
end if
9.如果所有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=8
3.C={0,1,...,1,0}(除了第一和最后的段,其它段都进行取皱处理,其中对于1<i<k,ci=1)
4.h=2
5.B=B1∪B2∪...∪Bk是皱集,其中Bi对映于键的第i段。
如果ci=0那么Bi=0={0,0,...}(即所有Bi的元都为零)
如果ci≠0那么bi,1=0
如果对于x<i,cx=0
bi,2=1
否则
bi,2=2h*max(B1∪B2∪...∪Bi-1)
对于3≤j,bi,j=2h*bi,j-1
6.a1.1>(2h-1)*sum(B)
7.对于1≤i≤k-2,tk-1=0及tk=2,ti=1
8.口令为ASCII码123(3个八位码)
9.最短的口令(即系统要求长度的下限)是12个八位码。
10.对口令的要求有所降低,这样通过反复复制、相连的方法加长口令至12个八位码,达到可按受的长度。
11.随机数生成器和生成器的起始装置分别是计算机C语言的rand()和srand()。
12.段的长度,除了最后段会短些外,都在[2,3]的范围之内。
13.驱使键集生成的随机因素属于[1,8]的范围内。例如a1.1=(2h-1)*sum(B)+(rand()Ξ8)+1。
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 9
19.最后段的最后一个元被指定通过一个函数IM4按一下的方法对映于模糊杂质:
位码组值和:0 1 2 3
↓↓↓↓
模糊杂质倍数:0 2 3 5
20.第三段的模糊杂质是模糊杂质集中的第一个元素,其值在[1,1000]的范围以内。
21.模糊杂质比其对映的最后一段中最后一个元要小,但至少是其三分之二大。这个模糊杂质是模糊杂质集中的第二个元。
22.这两个模糊杂质将被公开,而且也将假设18和19中的对映通知加密的一方。
因为(按假设8和9)口令比系统要求的要短,我们将它反复自行相接变成123123123123。
有域随机数是通过取域运算得来的:
r用((上限-下限+1)+下限)为模取余
其中r是随机数,对此例子来说就是rand()的输出。
从扩展的口令中每次取两个八位码作为重新起始化的种子。此例中的六个种子就是:12 31 23 1231 23。我们将使用双八位码的ASCII码的二进制值。譬如,ASCII码1和2的十进制值是49和50。而其二进制的值为:00110001和00110010。因此,ASCII码12的二进制值为:0011000100110010即十进制的49*256+50=12594,用它作为第一个种子输给srand()进行第一次起始化。扩展口令的八位码并不一定要原封不动地使用。可以先对它们进行处理,比如在用来作起始化之前将其位码重新排列。
对此例来讲,srand()是用12584启动,并按假设16中所给的域生成一个序列。此序列是用来启动srand()的六颗种子:
SEQ:s1,s2,...,s6
然后用序列SEQ的第一个数si作为现用的数,通过以下的方法依次生成所需的随机数:
让i=1
如果现用的SEQ的数变成零了(si=0)那么
如果现用的SEQ的数不是s6(i<6)那么
让i加1
用下一个种子si重新起始随机数生成器
调用rand()并取所提供的域(对此例来说就是假设12中的[2,3])
让现用的SEQ中的数(si)减一
以上的描述说明I中的数,即重新起始化点,是怎样生成的。也表明怎样用一个随机数生成器实现一个扩展杂凑函数,即一个函数其输入小于其输出,因而用很有限的输入通过扩展生成接近真随机序列。因为这一过程的每一步是确定的,同样的输入会产生同样的序列,而当用它来生成键的时后,也会导致同样的键。因此,口令与键的对映直接而有效。
在PPKS的例中,我们介绍WPKM和RPKM的双重概念。
首先,段的大小是通过假设12设定的域[2,3]而产生的(在此我们只给出最后产生的随机数)。第一次,我们取得随机数3。第二第三个随机数都是2。我们不用第四次调用rand()了,因为所定的域以及密码系统的规定(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-1 1,=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-1 1={w-1 1,1}={728}
真正的算法在产生w′s时调用了Random(),这些调用这里就不再一一说明了。因此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)+sum(D))*(2h-1)+Random(1,256)=(690+(95+35+1206+8714+9592))*3+191=61187。然而通过前面所用的同样方法生成w2,1=56426和w-1 2,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}}={{11411},{61187}}
W={W1,W2}={{w1,1},{w2,1}}={{878},{56426}}
W-1={W-1 1,W-1 2}={{w-1 1,1},{w-1 2,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-1 1,W-1 2,W-1 3}={{w-1 1,1},{w-1 2,1},{}}={{728},{3380},{}}
因为第三段不取模(据假设7)。M3,W3,和W-1 3为空。在取皱后:
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-1 1,W-1 2,W-1 3}={{w-1 1,1},{w-1 2,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-1 1,W-1 2,W-1 3}={{w-1 1,1},{w-1 2,1},{}}={{728},{3380},{}}
因为tk-4=2,还需要对D以及F取模两次,而m4,1=53277556、w4,1=6178291、及w-1 4,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-1 1,W-1 2,W-1 3,W-1 4}={{w-1 1,1},{w-1 2,1},{},{w-1 4,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}}
W-1={W-1 1,W-12,W-1 3,W-1 4}={{w-1 1,1},{w-1 2,1},{},{w-1 4,1,w-1 4,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码值是:
十六进制:454E
二进制: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-1 4={w-1 4,1,w-1 4,2}={21375375,908436921}被用来对密码进行逆取模:
5782425011*908436921Ξ1809832417=441845897
441845897*21375375Ξ53277556=9643907
现在最后的一段就被暴露了,而且商of
就得到了。满足
的x是1。因而,密码中含有—个最后一段的(唯一的)元素,而相对应解出的位码组就是01。模糊杂质2536200的倍数是SM4(x)=SM4(1)=2。1*3804299和2*2536200被从9643907中碱去,而经过处理的密码成为767208。
因为M3,W3和W-1 3皆空,不用进行逆取模。
下面两段被取皱了(因为c3和c2不为零),位码不能马上恢复,而要稍侯。对第三段,处理到现在的密码被解密键集的第三段的第一个元素除,商为:
我们记住767208中有一个542234,以便在以后将位码复原。所含模糊杂质666的三倍是以用在最后一段的同样方法确定的。1*542234和3*666被从767208中减去,剩下222976。由于第二段曾被取过模。222976被用m2,1=61187和w-1 2,1=3380进行逆取模而得到18601。
处理到此的密码(18601)被解码键集的第二段的第一个元素除,得商:
这个商也被记下来以便以后的复原。2*8714被从18601中减去而得到1173,然后经过用m1,1=1411和w-1 1,1=728进行逆取模后成为289,即第一段元素的和。由于第一段未经取皱,数据位码就可以复原了:
289-3*82=43
43-2*21=1
到此,延迟复原的位码就可以复原了。由于密码剩下了1,它对应与皱集的取过模的第一个元素,而它曾加在第二段的第二个元素上。因此。数据位码组第二段的位码为01xx而第三段的为00xx。其中xx是还不知其值的位码。通过前面得到并记住的商,这些位码是可以得到的。
根据键的元素的生成方法,很容易看清,当某个段在解密过程中被暴露的时候,当时的密码中所能含的相对应的皱集段的第一个元素的总数,恰好是那段中元素个数的和。因此,xx的值也就是所得的对应与此段的商减去延迟复原的位码组值的和。由于第二段的商是2,而且已被复原并且知道的倍数是1(01xx中的01),xx就是2-1=1(01)。同样,第三段的商是1而已被复原并且知道的倍数是0(00xx中的00),xx就是1-0=1(01)。
这样,第四到第二段的位码就复原了:01 00 01 01 01。加上第一段的位码(00 11 10),全部复原的位码就是:01 00 01 01 01 00 11 10,也即十六进制的45 4E(或ASCII码E和N),原来的数据。这里没实行反排列,因为位码组是‘从左到右’解出的,就等于自动进行了反排列。
Claims (22)
1.一种具有多种使用形式的密码方法,其中加密键和解密键由可辨认元素组成,并可通过多种不同方法生成,也可具有固定和可变部分;该方法可以产生不唯一解码,可以以秘密或公开加密键方式实施,可以采用一轮或多轮协议进行解密,也可以用于独立操作和通讯,其中该密码方法包括如下步骤:
提供多个生成解密键段的方法;
生成一个解密键,其中包括由可辨认元素组成的、被逻辑分段的解密键集,而每一逻辑段是由不公开的、多种不同方法之一生成的;
从解密键生成一个加密键,其中每个解密键集段被转换成相应的加密键集段,并且在转换过程中,已生成的加密键段参与当前段的转换;
接受以整数序列形式输入的文件;
将加密键集转换成一个向量,并将输入的整数序列转换成一个或多个与加密键向量同维的数据向量;
生成密码,生成过程包括取数据向量和加密键向量的内积;
接受密码;并且
通过解密步骤来复原文件。
2.如权利要求1所述的密码方法,其中在所述生成加密键和解密键步骤中,还包括如下步骤:
生成一个包括解密模糊杂质集的解密键;
导出一个模糊杂质的对映,从而使得解密键集的元素和模糊杂质集的元素之间建立起解密的关系;并且
从解密键导出一个加密键,其中包括一个从解密模糊杂质集导出的加密模糊杂质集,沿袭模糊杂质对映,从而使得加密键集的元素和加密模糊杂质集的元素之间建立起加密的关系;
在所述生成密码步骤中,按照数据向量的整数值以及模糊杂质对映,施加模糊杂质,生成密码文件;并且
在该解密步骤中,逐个解译密码,按照模糊杂质对映去掉模糊杂质,恢复原文件。
3.如权利要求1所述的密码方法,用于通讯,安全地将数据从S一方送到另一方R,其中:
在所述生成加密键和解密键的步骤中,在R方实现如下步骤:
生成不公开的解密键,其中此解密键对密码的解译为一个或多个、而对非密码具有识别能力;并且
从解密键导出一个加密键,而不同的数据位码可用此加密键生成相同的密码;
在所述生成加密键和解密键步骤之后,还包括以下步骤:
R方将加密键发给S方;并且
S方取得该加密键;
在所述接受文件的步骤中,S方接受一个文件;
在所述加密的步骤中,S方用加密键对所述接受的文件加密;
在所述文件加密步骤之后,还包括如下步骤:
S方将密码文件通过某通讯渠道传送到R方;并且
R方接收密码文件;并且
在所述解密步骤中,R方通过解译密码文件,从而得到所有可能的译码,并通过某种分辨方法确认真码或排除非真码,从而恢复原文件。
4.如权利要求3所述的密码方法,其解密步骤按一个非负界值排除不正确的解码,分辨真码,而每次采用分辨方法时,使用某个既定或即时商定的单向特征函数H,包括至少一轮以下步骤:
R方生成一个长度为零或大于零的随机位码序列s;
R方通过某个通讯渠道将s和p发送到S方,其中p是对所述文件某一部分的节取方法;
S方接收s和p;
S方将p所指定的文件部分与s混合,取得结果b;
S方计算出特征值h=H(b);
S方将h通过所述通讯渠道发送到R方;
R方接收h;并且
R方对每个解译出的文件C重复以下步骤:
将C中对应于p所指定的文件部分与s混合,取得结果b′;
R方计算特征值h′=H(b′);并且
当h不等于h′时,放弃C。
5.如权利要求1所述的密码方法,通过对需要加以保护数据的扩展,生成加密键,安全地将数据从一方S送到另一方R,其中解密步骤是通过保险协议进行的,其中:
在所述生成加密键和解密键的步骤中,S方通过扩展所述的数据,生成一个或多个公开加密键;
在所述生成加密键和解密键的步骤之后,S方将所述的公开加密键通过某个通讯渠道发送到R方;并且
在所述的解密步骤中,S方和R方执行一项安全协议,从而R方从公开的加密键中提取出扩展前的原数据。
6.如权利要求5所述的密码方法,其中数据被扩展成加密键e1,e2,…,en(n≥1),而每一个加密键ei都有与其相对应的解密键di1,di2,…,dim(m≥1),从而对应于ei不同的解密集di1,di2,…,dim对ei生成的密码有不同的解译,包括步骤:
S方将所说的数据扩展成加密键e1,e2,…,en;
将从所说的数据扩展成的加密键e1,e2,…,en通过某一渠道从S方发送到R方;并且
S方和R方执行一项安全协议,其中R方用e1,e2,…,en逐个加密,而S方对ei加过密的密码用dik解密,其中k是不小于1也不大于m的某个整数,从而R方从扩展的数据中析出所述原数据。
7.如权利要求6所述的密码方法,安全地将数据从一方S送到另一方R,其中扩展数据和解密包括步骤:
S方接受一个以位码序列形成出现的文件;
S方将位码序列转换成n个随机长度的子序列a1,a2,…,an,而每个子序列之首都被加上一个值为1的位码,形成n个整数;
S方生成一个不公开的解密键,其中包括至少n个唯一或近乎唯一集D1,D2,…,Dn作为扩展解密集,与所述的n个数相对应,而每个扩展集中至少有一个元素是可感元素;
S方从解密键导出一个加密键,对于1≤i≤n,将解密键扩展集Di转换成加密键扩展集Ei,其中每个解密键扩展集Di的某个元素被转换成相对应的ai;
S方将加密键发送到R方;
R方执行以下步骤至少一轮,直到每个Ei中的ai都通过排除Ei中非ai的元素而识别出来;
R方生成密码包括以下步骤:
R方生成随机整数向量Vi对应于Ei,其中1≤i≤n;并且
R方生成密码si,包括取Vi和Ei的内积,其中1≤i≤n;
R方将密码通过某一通讯渠道送给S方;
S方接收密码并确认si中是否含有从Di中的可感元素转换成的ai,其中1≤i≤n;
S方通过某个通讯渠道向R方报告所说的内含情况;并且
R方根据所述报告确认出在Ei中不是ai的元素,其中1≤i≤n;并且
R重新组建原文件。
8.如权利要求1所述的密码方法,采用公开加密键作为身份证明键,在发送数据加密键的通讯过程中,对数据加密键进行加密,取得不可分割的、最基础的相互确认以及公开加密键的交换的效果,其中该方法执行多轮所述密码方法,并在所述加密步骤中,用身份证明键对数据加密键进行加密,以及用数据加密键对用身份证明键加过密的另一个数据加密键和某些参量进行加密。
9.如权利要求8所述的密码方法,具有一个X方与另一个Y方之间保险地交换公开加密键以及恰当地相互确认通讯双方的不可分割性,包括步骤:
建立一个通讯渠道,以X方为发起者;
X方通过上述通讯渠道发给Y方Kyip(Kxp),其中kxp是X方要发给Y方的公开加密键,而Kyip是Y方的公开身份证明键;
Y方在一定时间t内收到Kyip(Kxp);
Y方通过解密得到K1 xp=Kyis(Kyip(kxp))
其中Kyis是Y方相对于Kyip的身份证明的秘密解密键;
Y方建立一个挑战包K1 xp(Kxip(β·Kyp·Cy)),其中Kyp是Y方要发给X方的公开加密键,
Cy是Y方生成的一个挑战,而β=H(K1 xp-Cy)是由某个单向特征函数H生成的;
Y方通过所说的通讯渠道将K1 xp(Kxip(β·Kyp·Cy))送到X方;
X方在所说的时间t以内收到并解译K1 xp(Kxip(β·Kyp·Cy)):
β1·K1 yp·C1 y=Kxis(Kxs(K1 xp(Kxip(β·Kyp·Cy)))
其中Kxis是X方相对于Kxip的身份证明秘密解密键而Kxs是X方相对于Kxp的秘密解密键;
X方验证β’是否等于H(Kxp·C1 y),如果不等就宣告相互确认失败并终止此过程;
X方建立一个挑战包K1 yp(Kyip(γ·Rx·Cx)),其中Kyip是Y方的身份证明公开加密键,Cx是X方的一个挑战,Rx是X方应Y方对C1 y的答复,而γ=H(K1 yp·Cx)
X方通过所说的通讯渠道将K1 yp(Kyip(γ·Rx·Cx))送给Y方;
Y方在所说的时间t以内收到并解译K1 yp(kyip(γ·Rx·Cx)):
γ’·R1 x·C1 x=Kyis(Kys(K1 yp(Kyip(γ·Rx·Cx)))
其中Kys是Y方相对于Kyp的秘密解密键;
Y方验证γ’是否等于H((Kyp·C1 x)并且R1 x是否等于Rx,如果其中任何一项不等就宣告相互确认失败并终止此过程,其中Rx是根据Cy所期待的答复;
Y方通过所说的通讯渠道送给X方K1 xp(Kxip(Ry)),其中Ry是Y方针对于C1 x给X方的答复;
X方受到并解译K1 xp(Kxip(Ry));
R1 y=Kxis(Kxs(K1 xp(Kxip(Ry))))
X方验证R1 y是否等于Ry,如果不等就宣告相互确认失败并终止此过程,其中Ry是根据Cx所期待的答复;
如果任何时候
1)时间t过了,或者
2)任一解密失败
就宣告相互确认失败并终止此过程;并且
使用K1 xp=Kxp and K1 yp=Kyp对通讯以及数据传送进行进一步保护。
10.如权利要求9中所述密码方法,用于以块操作密码器为加密及解密设备的密码系统,其中至少X方的一个守时块按定义好的或商定的方式被分成m>1部份,P1,P2,…,Pm,并从X方送至Y方,而在送每个Pi之后停顿αj,这里对于1≤j<m和1≤i<m-1,∑αj+d≥t并且∑αj+d<t,而d是传送延迟的上限,而且其中至少Y方的一个守时块按定义好的或商定的方式被分成n>1部份,q1,q2,…,qn,并从Y方送至X方,而在送每个qj之后停顿βj,这里对于1≤j<n和1≤β<n-1,∑βi+d≥t和∑βi+d<t,而X方期待在t时间内得到q1,Y方也期待在t时间内得到P1,双方最后都重新恢复守时块。
11.如权利要求1所述的密码方法,用于通讯,安全地把数据从一方S送到另一方R,其中:
所述生成加密键和解密键的步骤在R方实现,并包括如下步骤:
生成不公开的解密键,其成份之一是一个由可辨认元素组成的、被逻辑分段的解密键集,其中每一逻辑段都是用多种方法之一生成的;和
从解密键导出一个加密键,其中每个解密键集段被转换成相应的加密键集段;
在所述生成加密键和解密键的步骤之后,采用如下步骤:
R方将加密键发送给S方;并且
S方接收该加密键;
在所述加密步骤中,在S方生成密码文件,包括如下步骤:
接收一个以整数序列形式输入的文件;
将加密键集转换成一个向量,并将输入的整数序列转换成与加密键向量同维的数据向量;并且
S方通过计算数据向量和加密键向量的内积生成密码;
在所述加密步骤之后,采用如下步骤:
S方通过某个通讯渠道将密码文件发送到R方;并且
R方接收所述密码文件;并且
在所述解密步骤中,R方通过对所述密码文件解密,恢复原文件。
12.如权利要求11所述的密码方法,用于通讯,安全地把数据从一方S送到另一方R,其中:
所述生成加密键和解密键步骤在R方实现,其包括如下步骤:
生成一个包括解密模糊杂质集的解密键;
导出不公开的、包括解密模糊杂质集的解密键;
导出一个模糊杂质的对映,从而使得解密键集的元素和模糊杂质集的元素之间建立起解密关系;并且
从解密键导出一个加密键,其中包括从解密模糊杂质集导出一个加密模糊杂质集,沿袭模糊杂质对映,从而使得加密键集的元素和模糊杂质集的元素之间建立起解密的关系;
在所述生成密码步骤中,S方按照数据向量的整数值以及模糊杂质对映,施加模糊杂质,生成密码文件;并且
在所述解密步骤中,R方在解密步骤中逐个解译密码,按照模糊杂质对映去掉模糊杂质,恢复原文件。
13.如权利要求1所述的密码方法,其加密键和解密键生成步骤包括:
生成一个解密键,其中包括一个由可辨认元素组成的、被逻辑分为k>1段的解密键集:
Kd=Kd1∪Kd2∪…∪Kdk(其中Kdj对1≤j≤k是一个段)
={d1,1,d1,2,…,d1,z1,d2,1,d2,2…,dk,1,dk,2,…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)多对一对映法
而对于一个淹没的段i:
Di,j=2h(j-1)*mi,1≤j≤Zi,其中mi的下标i别定义为:i=i,0=i-1,zi-1
而对于一个取皱的段i:
σ=sum(ηθ*|θ|)+r
di,j=σ+ψi-1(bi,j),1≤j≤Zi
而对于一个用其它方法生成的段:
而对于一个用其它方法生成的段:
其中r是个非零正范围值,ηθ是θ∈Θi-1可使用的最大倍数,而Θi定义为:
其中ψ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
(wu,v,mu,v)=1
θu,v=Γu,v°Γu,v-1°…°Γu,1(θu-1),以及
其中Cu,v({μ1,μ2,…,μn})={Cu,v(μ1),Cu,v(μ2),…,Cu,v(μn)})代表生成整个解密键的互补函数而对于任意数μ,Cu,v(μ)或被定义为:
μ+mu,v如果
或
μ其它;
其中g∈G是一个范围值;
生成模糊杂质对映函数FM(),这样一来解密键集的元素就与模糊杂质集的元素建立了一种联系,而FM()对于某一段i至少有一个元素是采用一一对映法的,定义为:
满足IM(μ-1)+(μ-1)*dij<IM(μ)+μ*dhj<IM(μ+1)+(μ+1)*dij,其中X=X1∪X2∪…∪Xk是输入给FM()、属于[0,2h]范围的一个整数,Xij对应于eij而IM(xij)等于加到密码中的模糊杂质值。
而对于某个多对一对映段i,FM()被定义为:
FM(X)=FM(X1∪X2∪…∪Xk)=FM(X1)+FM(X2)+…+FM(Xk)
其中FM(Xi)=SM(∑IM(Xi,j))1≤j≤Zi并且如果eij是个对映元素IM(Xij)就等于Xij
否则为零,SM(μ)给出α*gi,1,其中α对映于μ且满足:
SM(μ-1)<SM(μ)<SM(μ+1);
从解密键生成一个加密键Θk,沿袭模糊杂质对映,
生成密码包括步骤:
接受一个用一系列在[0,2h]范围内的整数形式输入的文件:
将加密键集转换成向量并将输入的整数系列转换成与加密键向量有同维数的数据向量;并且
通过运算,其中包括计算每个数据向量与加密键向量的内积生成密码,如果加密键伴有模糊杂质,运算就定义为:
γ=Ke×X+FM(X)
否则就定义为:
γ=Ke×X
取得解密键;
通过对密件的密码逐个解译以恢复文件原码,而相对于经过普通法加密的某段i,解密依照:
并且在得到所有的yij(1≤j≤Zi)时,γ’经过以下调整:
而相对于经过淹没的某段i,解密依照:
其中Ω是从解密键集转换来的Θi-1中的元素,而γ’是解密后的{y1,1,y1,2,…,Yi-1,u},
其中U=Zi-1,
而相对于经过取皱的某段i,解密依照:
γ’<Γ-1 i(γ’)
yi,j<b’i,j,对于1<j<Zi
其中b’i,j是解译出来的γ’中所含可辩别元bi,j的倍数,而在得到qi后,γ’经过以下调整:γ’≤γ’-qi*di,1
而相对于经过一对一对映的某段i,对j=Zi递减到1,解密依照:
γ’≤Γ-1 i(γ’)
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,解密依照:
γ’≤Γ-1 i(γ’)
yi,j≤q,满足:
FM(q)+q*di,j≤γ’
而在得到每个yi,j后,γ’经过以下调整:
其中对相对映于解密键最后生成的一段的段k的解译时,γ’等于要进行解译的密码γ,并且
Cu,v -1代表Cu,v的逆,其中Cu,v -1(μ)对于任意数μ定义为:
μ+mu,v如果μ<-NEGu,v或
μ-mu,v如果μ>POSu,v或
μ其它
14.一种具有多种使用形式的密码系统,其中加密键和解密键是由可辨认元素组成的,可以通过多种不同方法生成,也可以具有固定和可变部分,此系统可以产生不唯一解码,可以以秘密和公开加密键方式实施,可以采用一轮或多轮协议进行解密,也可以用于独立操作和通讯,该系统包括如下设备:
以多种不同方法生成解密键段的设备;
生成一个解密键的设备,其中包括一个由可辨认元素组成的、被逻辑分段的解密键集,而每一逻辑段是由多种不同方法之一生成的;
从解密键生成一个加密键的设备,其中每个解密键集段被转换成相应的加密键集段,并且在转换过程中,已生成的加密键段参与当前段的转换;
接受以整数序列形式输入文件的设备;
将加密键集转换成一个向量并将输入的整数序列转换成与加密键向量同维的数据向量的设备;
生成密码的设备,生成过程包括取数据向量和加密键向量内积;
接受密码的设备;以及
通过解密来复原文件的设备。
15.如权利要求14所述的密码系统,其中:
所述生成加密键和解密键设备还包括如下设备:
生成一个包括解密模糊杂质集的解密键的设备;
导出一个与模糊杂质的对映从而使得解密键集的元素和模糊杂质集的元素之间建立起解密的关系的设备;以及
从解密键导出一个加密键的设备,其中包括从解密模糊质集导出的加密模糊杂质集,沿袭模糊杂质对映,从而使得加密键集的元素和模糊杂质集的元素之间建立起加密的关系;
所述的生成密码文件的设备按照数据向量的整数值以及模糊杂质对映,施加模糊杂质,生成密码文件;以及
所述的解密设备按照模糊杂质对映去掉模糊杂质,恢复原文件。
16.如权利要求14所述的密码系统,用于通讯,安全地将数据从S一方送到另一方R,其中:
所述的生成加密键和解密键的、设置在R方的设备,包括:
生成不公开的解密键的设备,其生成一个由可辨认元素组成的、被逻辑分段的解密键集,其中每一逻辑段是由多种方法之一生成的;以及
从解密键生成一个加密键的设备,其中每个解密键集段被转换成相应的加密键集段;
该系统还具备如下设备:
将加密键从R方发给S方的设备;以及
在S方取得加密键的设备;
所述加密设备设置在S方,包括:
接收一个以整数序列形式输入的文件的设备;
将加密键集转换成一个向量,并将输入的整数序列转换成与加密键向量同维的数据向量的设备;以及
通过计算数据向量和加密键向量的内积生成密码的设备;
其中该系统还具备如下设备:
通过某个通讯渠道将密码从S方发送到R方的设备;以及
在R方接收密码的设备;以及
所述解密设备在R方对所述密码解密,恢复原文件。
17.如权利要求14所述的密码系统,用于通讯,安全地把数据从一方S送到另一方R,其中:
所述的生成加密键和解密键的设备设置在R方,进一步包括:
导出不公开的、包括解密模糊杂质集的解密键的设备;以及
导出一个模糊杂质的对映,从而使得解密键集的元素与模糊杂质集的元素之间建立起解密关系的设备;以及
从解密键导出一个加密键的设备,其中包括从解密模糊杂质集导出一个加密模糊杂质集,沿袭模糊杂质对映,从而使得加密键集的元素和模糊杂质集的元素之间建立起解密的关系;
在所述的生成密码的设备中,在S方生成密码,其中包括按照数据向量的整数值以及模糊杂质的对映施加模糊杂质,生成密码文件;以及
所述的解密设备在R方逐个解译密码,按照模糊杂质对映去掉模糊杂质,从而恢复原文件。
18.如权利要求16所述的密码系统,其加密键和解密键生成系统包括:
生成一个解密键的设备,其中包括一个由可辨认元素组成的、被逻辑分为k>1段的解密键集:
Kd=Kd1∪Kd2∪…∪Kdk(其中Kdi对1≤j≤k是一个段)
={d1,1,d1,2…,d1,z1,d2,1,d2,z2,…dk,1,dk,2,…,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)多对一对映法
而对于一个淹没的段i:
di,j=2h(j-1)*mi,1≤j≤Zi,其中mi的下标i别定义为:i=i,0=i-1,Zi-1
而对于一个取皱的段i:
σ=sum(ηθ*|θ|)+r
di,j=σ+ψi-1(bi,j),1≤j≤Zi
而对于一个用其它方法生成的段:
其中r是个非零正范围值,ηθ是θ∈Θi-1可使用的最大倍数,而Θi定义为:
其中ψ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
(wu,v,mu,v)=1
θu,v=Γu,v°Γu,v-1°…°Γu-1(
θu-1),以及
其中Cu,v({μ1,μ2,…,μn})={Cu,v(μ1),Cu,v(μ2),…,Cu,v(μn)}代表生成整个解密键的互补函数,而对于任意数μ,Cu,v(μ)或被定义为:
μ+mu,v如果
或
μ-mu,v如果
或
μ其它;
其中g∈G是一个范围值;
生成模糊杂质对映函数FM()的设备,这样一来解密键集的元素就与模糊杂质集的元素建立了一种联系,而FM()对于某一个段i至少有一个元素是采用一一对映法的,定义为:
满足IM(μ-1)+(μ-1)*di,j<IM(μ)+μ*di,j<IM(μ+1)+(μ+1)*di,j,其中X=X1∪X2∪…∪Xk是输入给FM()、属于[0,2h]范围的一个整数,Xi,j对应于ei,j而IM(Xi,j)等于加到密码中的模糊杂质值;
而对于某个多对一对映段i,FM()被意义为:
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,1,其中α对映于μ且满足:
SM(μ-1)<SM(μ)<SM(μ+1);
从解密键生成一个加密键Θk的设备,沿袭模糊杂质对映,
生成密码的设备,包括:
接受一个用一系列在[0,2h]范围内的整数形式输入的文件的设备:
将加密键集转换成向量并将输入的整数系列转换成与加密键向量有同维数的数据向量的设备;以及
通过运算的设备,其中包括计算每个数据向量与加密键向量的内积生成密码,如果加密键伴有模糊杂质,运算就定义为:
γ=Ke×X+FM(X)
否则就定义为:
γ=Ke×X
取得解密键的设备;
通过对密件的密码逐个解译以恢复文件原码的设备,而相对于经过普通法加密的某段i,解密依照:
γ,=Γ-1 i(γ’)
并且在得到所有的yi,j(1≤j≤Zi,)时,γ’经过以下调整:
而相对于经过淹没的某段i,解密依照:
其中Ω是从解密键集转换来的Θi-1中的元素,而γ’是解密后的{y1,1,y1,2,…,yi-1,u},其中U=Zi-1
而相对于经过取皱的某段i,解密依照:
yi,j<b’i,j,对于1<j≤Zi
其中b’1,j是解译出来的γ’中所含可辩别元bi,j的倍数,而在得到qi后,γ’经过以下调整:γ’≤γ’-qi*di,1
而相对于经过一对一对映的某段i,对j=Zi递减到1,解密依照:
γ’≤Γ-1 i(γ’)
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,解密依照:
γ’≤Γ-1 i(γ’)
yi,j≤q,满足:
FM(q)+q*di,j≤γ’
而在得到每个yi,j后,γ’经过以下调整:
其中对相对应于解密键最后坐成的一段的段k的解译时,γ’等于要进行解译的密码γ,并且
Cu,v -1代表Cu,v的逆,其中Cu,v -1(μ)对于任意数μ定义为:
μ+mu,v如μ<-NEGu,v或
μ-mu,v如μ>POSu,v或
μ其它
19.如权利要求1所述的密码方法,其中加密键或解密键包括一个固定部分和一个可变部分,从而可变部分对每一个加密-解密的实施可以不同、并可以更换。
20.如权利要求19所述的密码方法,其中可变部分不公开,作为一次使用的通讯的加密键和解密键的一个组成部分,或作为生成一次性使用的通讯的加密键和解密键的参量。
21.如权利要求20所述的密码方法,其中固定部分作为主键,而可变部分作为网络环境中用户所使用的辅从键。
22.如权利要求21所述的密码方法,其中辅从键是用用户公开身份标识作为多个参量之一单向导出的。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3519797P | 1997-01-14 | 1997-01-14 | |
US60/035,197 | 1997-01-14 | ||
US08/941,350 | 1997-09-30 | ||
US08/941,350 US6154541A (en) | 1997-01-14 | 1997-09-30 | Method and apparatus for a robust high-speed cryptosystem |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1248365A CN1248365A (zh) | 2000-03-22 |
CN1242587C true CN1242587C (zh) | 2006-02-15 |
Family
ID=26711867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98801794.6A Expired - Fee Related CN1242587C (zh) | 1997-01-14 | 1998-01-13 | 高速、灵活的加密系统的方法及设备 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6154541A (zh) |
EP (1) | EP0953243B1 (zh) |
CN (1) | CN1242587C (zh) |
AT (1) | ATE293323T1 (zh) |
AU (1) | AU6646898A (zh) |
DE (1) | DE69829742D1 (zh) |
ES (1) | ES2241123T3 (zh) |
WO (1) | WO1998031120A2 (zh) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI980291A (fi) * | 1998-02-09 | 1999-08-10 | Nokia Mobile Phones Ltd | Liikkuva internetpääsy |
US7110984B1 (en) * | 1998-08-13 | 2006-09-19 | International Business Machines Corporation | Updating usage conditions in lieu of download digital rights management protected content |
US6865552B1 (en) * | 1998-12-02 | 2005-03-08 | Matsushita Electric Industrial Co., Ltd. | Data copying system, data copying apparatus, data copying method, and recording medium |
US7216232B1 (en) * | 1999-04-20 | 2007-05-08 | Nec Corporation | Method and device for inserting and authenticating a digital signature in digital data |
FR2794592B1 (fr) * | 1999-06-04 | 2001-08-24 | France Telecom | Generateur de bits pour l'etablissement d'une clef secrete de cryptage et procede correspondant |
DE19935286A1 (de) * | 1999-07-27 | 2001-02-01 | Deutsche Telekom Ag | Verfahren zur sicheren verteilten Generierung eines Chiffrierschlüssels |
JP2001066989A (ja) * | 1999-08-31 | 2001-03-16 | Fuji Xerox Co Ltd | 一方向性関数生成方法,一方向性関数値生成装置,証明装置,認証方法および認証装置 |
US7391865B2 (en) * | 1999-09-20 | 2008-06-24 | Security First Corporation | Secure data parser method and system |
US7003107B2 (en) * | 2000-05-23 | 2006-02-21 | Mainstream Encryption | Hybrid stream cipher |
US6952477B1 (en) * | 2000-07-03 | 2005-10-04 | International Business Machines Corporation | Fault intolerant cipher chaining |
US6959091B1 (en) * | 2000-07-28 | 2005-10-25 | Atmel Corporation | Cryptography private key storage and recovery method and apparatus |
US20060291650A1 (en) * | 2001-05-22 | 2006-12-28 | Viswanath Ananth | State-varying hybrid stream cipher |
US20020191785A1 (en) * | 2001-06-14 | 2002-12-19 | International Business Machines Corporation | Apparatus and method for encrypting and decrypting data with incremental data validation |
US7046818B2 (en) * | 2001-07-20 | 2006-05-16 | Seiko Epson Corporation | Standards compliant watermarking for access management |
US7873163B2 (en) * | 2001-11-05 | 2011-01-18 | Qualcomm Incorporated | Method and apparatus for message integrity in a CDMA communication system |
US20030142821A1 (en) * | 2002-01-02 | 2003-07-31 | Ross David Marshall | Cryptographic one time pad technique |
WO2003079607A1 (en) * | 2002-03-18 | 2003-09-25 | Colin Martin Schmidt | Session key distribution methods using a hierarchy of key servers |
US8261062B2 (en) | 2003-03-27 | 2012-09-04 | Microsoft Corporation | Non-cryptographic addressing |
US7580521B1 (en) | 2003-06-25 | 2009-08-25 | Voltage Security, Inc. | Identity-based-encryption system with hidden public key attributes |
US7929689B2 (en) * | 2004-06-30 | 2011-04-19 | Microsoft Corporation | Call signs |
EP1770575B1 (en) * | 2005-09-09 | 2010-08-25 | Sap Ag | System and method for scrambling keystrokes related to a password |
US8086842B2 (en) | 2006-04-21 | 2011-12-27 | Microsoft Corporation | Peer-to-peer contact exchange |
US7941726B2 (en) * | 2006-06-30 | 2011-05-10 | Microsoft Corporation | Low dimensional spectral concentration codes and direct list decoding |
DE102006039327B4 (de) | 2006-08-22 | 2008-06-26 | Nokia Siemens Networks Gmbh & Co.Kg | Verfahren zur Authentifizierung |
CA2591280A1 (en) * | 2007-06-12 | 2008-12-12 | Nikolajs Volkova | A new digital signature scheme |
US20090103723A1 (en) * | 2007-10-19 | 2009-04-23 | Sun Microsystems, Inc. | System And Method For Secure Storage Of Data |
FR2938951B1 (fr) * | 2008-11-21 | 2011-01-21 | Thales Sa | Procede de structuration d'une base de donnees d'objets. |
GB2498392B (en) * | 2012-01-16 | 2016-01-13 | Nujira Ltd | Crest factor reduction applied to shaping table to increase power amplifier efficency of envelope tracking amplifier |
US9160399B2 (en) | 2012-05-24 | 2015-10-13 | Massachusetts Institute Of Technology | System and apparatus for decoding tree-based messages |
US9780950B1 (en) * | 2013-03-15 | 2017-10-03 | Symantec Corporation | Authentication of PKI credential by use of a one time password and pin |
US9270412B2 (en) * | 2013-06-26 | 2016-02-23 | Massachusetts Institute Of Technology | Permute codes, iterative ensembles, graphical hash codes, and puncturing optimization |
HUP1300501A1 (hu) * | 2013-08-26 | 2015-03-02 | Pannon Szoftver Kft | Automataelméleti alapú kriptográfiai berendezés és eljárás információk titkosítására és visszafejtésére |
US9513913B2 (en) * | 2014-07-22 | 2016-12-06 | Intel Corporation | SM4 acceleration processors, methods, systems, and instructions |
US9467279B2 (en) | 2014-09-26 | 2016-10-11 | Intel Corporation | Instructions and logic to provide SIMD SM4 cryptographic block cipher functionality |
JP6721832B2 (ja) * | 2016-08-24 | 2020-07-15 | 富士通株式会社 | データ変換プログラム、データ変換装置及びデータ変換方法 |
US10320758B2 (en) * | 2017-04-25 | 2019-06-11 | International Business Machines Corporation | Cryptography using multi-factor key system and finite state machine |
EP3698262B1 (en) * | 2017-10-18 | 2023-08-02 | Cryptography Research, Inc. | Protecting modular inversion operation from external monitoring attacks |
CN108494745B (zh) * | 2018-03-07 | 2020-11-03 | 北京润科通用技术有限公司 | 一种装备履历信息的生成方法及系统 |
US20220224532A1 (en) * | 2018-12-21 | 2022-07-14 | 01 Communique Laboratory Inc. | Systems and Methods for Hiding Private Cryptographic Keys in Multimedia Files |
CN112399027B (zh) * | 2019-08-14 | 2023-12-05 | 北京京东振世信息技术有限公司 | 图片加解密方法及装置、存储介质及电子设备 |
US11621837B2 (en) | 2020-09-03 | 2023-04-04 | Theon Technology Llc | Secure encryption of data using partial-key cryptography |
US11310042B2 (en) | 2020-09-11 | 2022-04-19 | Crown Sterling Limited, LLC | Methods of storing and distributing large keys |
US11528136B2 (en) | 2020-11-24 | 2022-12-13 | Crown Sterling Limited, LLC | Decryption of encrypted data missing a private key |
US11755772B2 (en) | 2021-09-20 | 2023-09-12 | Crown Sterling Limited, LLC | Securing data in a blockchain with a one-time pad |
DE102021212212B4 (de) | 2021-10-28 | 2023-07-20 | Volkswagen Aktiengesellschaft | Kryptographisches Sichern basierend auf Ramanujan-Summierung |
US11791988B2 (en) | 2021-11-22 | 2023-10-17 | Theon Technology Llc | Use of random entropy in cryptography |
US11943336B2 (en) | 2021-11-22 | 2024-03-26 | Theon Technology Llc | Use of gradient decent function in cryptography |
US11902420B2 (en) | 2021-11-23 | 2024-02-13 | Theon Technology Llc | Partial cryptographic key transport using one-time pad encryption |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4200770A (en) * | 1977-09-06 | 1980-04-29 | Stanford University | Cryptographic apparatus and method |
US4218582A (en) * | 1977-10-06 | 1980-08-19 | The Board Of Trustees Of The Leland Stanford Junior University | Public key cryptographic apparatus and method |
US4405829A (en) * | 1977-12-14 | 1983-09-20 | Massachusetts Institute Of Technology | Cryptographic communications system and method |
US4306111A (en) * | 1979-05-31 | 1981-12-15 | Communications Satellite Corporation | Simple and effective public-key cryptosystem |
US4399323A (en) * | 1981-02-09 | 1983-08-16 | Bell Telephone Laboratories, Incorporated | Fast real-time public key cryptography |
US4694491A (en) * | 1985-03-11 | 1987-09-15 | General Instrument Corp. | Cryptographic system using interchangeable key blocks and selectable key fragments |
US5008818A (en) * | 1989-04-24 | 1991-04-16 | Alexander K. Bocast | Method and apparatus for reconstructing a token from a token fragment |
ATE128297T1 (de) * | 1991-03-14 | 1995-10-15 | Omnisec Ag | Verschlüsselungssystem mit öffentlichem schlüssel unter verwendung elliptischer kurven über ringe. |
US5271061A (en) * | 1991-09-17 | 1993-12-14 | Next Computer, Inc. | Method and apparatus for public key exchange in a cryptographic system |
US5297206A (en) * | 1992-03-19 | 1994-03-22 | Orton Glenn A | Cryptographic method for communication and electronic signatures |
WO1994015423A1 (en) * | 1992-12-22 | 1994-07-07 | Telstra Corporation Limited | A cryptographic method |
US5299263A (en) * | 1993-03-04 | 1994-03-29 | Bell Communications Research, Inc. | Two-way public key authentication and key agreement for low-cost terminals |
US5511121A (en) * | 1994-02-23 | 1996-04-23 | Bell Communications Research, Inc. | Efficient electronic money |
US5623262A (en) * | 1994-08-17 | 1997-04-22 | Apple Computer, Inc. | Multi-word variable length encoding and decoding |
-
1997
- 1997-09-30 US US08/941,350 patent/US6154541A/en not_active Expired - Fee Related
-
1998
- 1998-01-13 ES ES98908429T patent/ES2241123T3/es not_active Expired - Lifetime
- 1998-01-13 DE DE69829742T patent/DE69829742D1/de not_active Expired - Lifetime
- 1998-01-13 WO PCT/US1998/000030 patent/WO1998031120A2/en active IP Right Grant
- 1998-01-13 AU AU66468/98A patent/AU6646898A/en not_active Abandoned
- 1998-01-13 AT AT98908429T patent/ATE293323T1/de not_active IP Right Cessation
- 1998-01-13 CN CN98801794.6A patent/CN1242587C/zh not_active Expired - Fee Related
- 1998-01-13 EP EP98908429A patent/EP0953243B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0953243A2 (en) | 1999-11-03 |
EP0953243A4 (en) | 2002-01-16 |
ES2241123T3 (es) | 2005-10-16 |
US6154541A (en) | 2000-11-28 |
EP0953243B1 (en) | 2005-04-13 |
ATE293323T1 (de) | 2005-04-15 |
CN1248365A (zh) | 2000-03-22 |
WO1998031120A3 (en) | 1998-09-11 |
DE69829742D1 (de) | 2005-05-19 |
WO1998031120A2 (en) | 1998-07-16 |
AU6646898A (en) | 1998-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1242587C (zh) | 高速、灵活的加密系统的方法及设备 | |
CN1172474C (zh) | 公用密钥密码系统方法及设备 | |
CN1249972C (zh) | 使用多个服务器的远程密码验证的系统和方法 | |
CN1303065A (zh) | 数据库管理装置和加密/解密系统 | |
CN1285191C (zh) | 公共密钥签字的方法和系统 | |
CN1251715A (zh) | 有限域离散对数密码系统的割圆多项式结构 | |
CN100338907C (zh) | 信息处理系统和方法、信息处理设备和方法 | |
CN1099779C (zh) | 通信设备和通信系统 | |
CN1535451A (zh) | 可证实的秘密洗牌及其对于电子表决的应用 | |
CN1124545C (zh) | 实现高速加密处理的设备和方法 | |
CN1941699A (zh) | 密码方法、主机系统、可信平台模块和计算机安排 | |
CN1203431C (zh) | 公用密钥加密装置 | |
CN1531241A (zh) | 密码重构方法、分散密码重构装置及密码重构系统 | |
CN1871810A (zh) | 认证系统和远隔分散保存系统 | |
CN101076968A (zh) | 使用拟群的密码原语、差错编码和伪随机数改进方法 | |
CN1200392C (zh) | 信息处理方法 | |
CN1831754A (zh) | 一种椭圆曲线密码系统及实现方法 | |
CN1345495A (zh) | 实现椭圆曲线类型公共密钥加密算法的电子部件中的对策方法 | |
CN1668995A (zh) | 用于改善伪随机数发生器的输出的不可预测性的方法 | |
CN1338166A (zh) | 公用与专用密钥加密方法 | |
CN1235446A (zh) | 椭圆曲线变换装置、利用装置和利用系统 | |
CN1841443A (zh) | 计算方法、计算设备以及计算机程序 | |
CN1993684A (zh) | 存储卡、数据交换系统和数据交换方法 | |
CN1280726A (zh) | 优化椭圆曲线密码计算的变换方法 | |
CN1267816C (zh) | 信息安全装置,质数生成装置,和质数生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060215 Termination date: 20100222 |