加密二进制编码信息的方法

文档序号:7575168阅读:2745来源:国知局
专利名称:加密二进制编码信息的方法
技术领域
本发明设计电信和计算机工程领域,本发明尤其涉及要加密消息(数据)的密码方法和装置。
现有技术就其整个特征而言下述概念在提出权利要求的方法的描述中使用。
“密钥”指的是只有经核准的用户才知道的二进制信息。
“密码”指的是使用密钥的输入数据变换过程的基本步骤的组合,它以计算机程序的形式或作为分立的单元实现。
“加密”是在密钥控制下数字信息变换的过程,允许将源数据转换为加密的文本,该文本是通过字符的伪随机序列表示的,从而如不知道密钥,则实际上不可能从那里得出任何信息。
“解密”指和加密的相反的过程,该过程允许根据所提供的密码文本恢复信息,其中操作者知道加密的密钥。
“二进制”矢量通常指开关比特的某一序列,例如相应于通信链路中出现的哼声或寄生信号,在本申请中,二进制矢量表示排序比特的串,该串没有被数据的接收器作为需要的信号或信息翻译。
“形成二进制矢量的伪随机律”表示在原始参数以基础上产生扩展的比特序列,并将所述序列再分为必需长度的元素的预定规则;它可能用作原始参数,密钥或随机选择数;如果其数值是未知的,则事实上输出序列将和随机产生的信号无法区分。
“密码分析”是为具有对编码信息未核准访问的计算密钥的技术,或者确立允许不需计算密钥而访问这样的信息的方法。
“密码阻力”在操作者知道变换算法而不知道密钥的情况下构成数据保护可靠性的手段,以及,用为了根据密码恢复信息要执行的基本操作的数目给出的表示劳动强度。
已知各种对数据进行块加密的方法,例如,密码RC5[R.Rivest,RC5加密算法,快速软件加密,第二次国际研讨会进展(Leuven,Belgium,1994.12.14-16),计算机科学讲义Spriger-Verlag,V.10081995,pp86-96]。根据这些传统的方法,数据块的加密通过形成密钥,然后把要变换的数据块再分为子块,或者以后通过循环移位操作改变这些,最后对现有的块取模2和以及模232和来执行。这种块方法保证了如果以计算机程序的形式执行加密时有高的加密速率。
但是,未示出对差分(differential)以及线性密码分析足够的阻力[Kaliski B.S.,Yin Y.L.论RC5编码算法的差分和线性密码分析,密码学进展-CRYPTO’95进展,Springer-Verlag,1995,pp.171-184]这是由于这样的事实,即采用这种密码分析技术,攻击者有可能加密专门选出的原始文本。
就其技术本质而言可把提出要求权利的块加密的方法,视为在美国标准DES[国家标准局,数据加密标准。联邦信息处理标准出版物46,1977年1月]中描述的方法。这个方法包括下述步骤形成某一长度密钥、将二进制码形式表示的输入信息分为长64比特的元素,再在这些单元的基础上产生64比特数据块,并在密钥的控制下变换所述块。在变换之前,把每一个数据块分为两个32比特子块L和R,然后在16个类似的变换循环中交替进行处理。单个变换循环主要点是对子块R作替代、置换和模2和操作。每一个循环以子块R和L的置换结束。如果以专门电路形式执行的下则上述信息的块加密的方法给出了较高的变换速率。
不幸的是它有这样的缺点,即,当使用这种方法时,可能根据原始文本专门选出的输入块,有效地应用各种密码分析技术。这个缺点是由于这样的事实,即在这样密码分析中,分析者能够选择原始输入文本,该文本的加密伴有加密算法的统计性质的表现。
因此,本发明的一个目的是提供一种加密二进制编码信息的方法,根据该方法,输入数据的变换如此执行,从而允许以给出的固定的密钥,将原始文本变换为译成密码的文本,该译成密码文本的结构不被预定,因此加密算法统计性质的检查更为困难,结果增大了在选出的原始文本基础上的对密码分析的阻力。
发明概述上述问题通过提供加密二进制编码信息的方法解决,其中该方包括下述步骤选出密钥、作出K≥包含P≥1的二进制信息码单元的数据块、并在密钥的控制下变换数据,其特征在于另外产生D≥1二进制矢量,并且通过将二进制矢量连接到二进制信息代码的相应的单元而作出数据块。
有了这一方案,加密文本的块的结构不但依赖于密钥和二进制信息代码的单元结构,还依赖于二进制矢量的结构,导致加密文本的块的所述结构不再为给出的原始文本和采用的密钥而预定。结果,更加难以揭示加密算法的统计性质,因此导致对根据选出的原始文本本执行的密码分析阻力的增加。
本发明的另一个新颖特征在于这些矢量是随机地产生。这允许得到加密文本块的随机修改,因此增加了对根据已知方法做出的密码分析的阻力。
本发明的另一个特点在于,二进制矢量以伪随机方式产生,因此给出在PC上通过软件的方式执行提出权利要求的方法的可能性,而不必使用附加的电子电路以产生随机数。
本发明的还有一个新颖特征在于,二进制矢量根据密钥连接到二进制信息代码的相应的单元。这一方案保证了增加加密系统阻力,这是由于在得出数据块的过程中的辅助不定性的引入。
现在将通过一些例示的实施例,参照附图详细地解释本发明。


图1示意地示出根据建议方法对原始文本P的加密的过程。
图2示出对经加密的文本C的解密过程的方框图。
图3表示一种方案,用于将二进制信息代码分成单元p1、p2……pi,…和一组产生的二进制矢量r1、r2……、ri……。
图4示意地示出了通过将二进制信息代码的单元连接到二进制矢量得出的输入数据块。
图5示出关于下面的例2的加密的方框图。
本发明的较佳实施例本发明根据图1给出的1提出权利要求的方法,在数据块的密码变换概图的帮助下将更容易理解,其中单元RNG是随机数发生器,R是随机二进制矢量,P是要变换的二进制信息的一个单元,E表示加密单元,K是密钥,C是输出经加密的文本,而[|]表示并置运算的符号表示(sign symbolizing)。
在加密系统内,二进制信息的单元被连接到随机产生的二进制矢量R,以形成数据块B=R|P(它被提供至加密单元E的输入端,该单元E得出经加密的文本C)。
根据本发明假设块产生的二进制矢量形成密码的一部分,并且由此不能在选出的文本基础上由放对的分析者进行密码分析的情况下被替代;并且加密算法也不能变化。后面的这一规定构成了对已知密码是共同的要求。在加密过程中,二进制矢量的结构以不可预测的方式变化,这是因为它由随机数发生器提供的。因此,无法预先知道或选择在将二进制矢量连接到输入块之后得到的要加密的数据块,因此对在选出的原始文本为基础上进行的进攻方式产生很难克服的障碍。
由于把加密密码告诉了核准的用户,所以他可以用适当的算法使二进制矢量的结构和输入块的结构恢复。如果该用户分离和舍弃不包含任何要传送的信息的任何部分的二进制矢量,则他将完全和单义地恢复供他用的本发明。
图2示出方框图,描述了根据本发明的解密过程。将加密文本块馈送至解密单元D,该解密单元D(使用进入的密钥码K)保证了数据块B=R/P的值的恢原。被预先得出并用于加密过程中的复原的二进制矢量R将在加密系统中被擦去,其方法是逐位地累加以对R上和对一些新的随机值(这些随机值在随机数发生器的输出端处提供)模2。
在许多应用中,尤其是在设计的电路中,可以通过例如测量随机的物理过程或有可能使用的噪声换能器的信号实现二进制矢量的随机发生。根据另一个实施例,人们可以不用随机数发生器而使用伪随机数发生器(对其输入端提供有一个随机选择的二进制数,以便在其输出端得到所需长度的伪随机序列。已知许多建立伪随机数发生器的方法例如见[B.Schneier,“应用密码学”第二版,JohnWiley&Sons,Inc,New York,1966,pp.416-418],它可以很好地用于实行提出权利所要求的解决方案。这种发生器的使用允许通过软件手段实施所建议的方法,如果我们例如例连续击键经过的时间间隔的值取为原始随机数。
为了字组的加密变换,例如可能使用上述类似的现有技术方法或最接近于提出权利要求的方法,还有另一种已知的块加密方法,它在第5,003,596号美国专利[M.C.Wood.“从一种形式到另一种形式用密码转换电子数字数据的方法,美国专利#5,003,596,1991年3月26日]中描述。
提出权利要求的方法的技术可能性用本发明的实施例的下面具体例子来证实。为了简便理解上容易起见,这些例子以算法的形式给出,这些算法构成一种用于实行所建议的块加密方法的具体实施例的接连的过程的逻辑记录。
例1这个例子用于描述由二进制代码(分为32比特单元形式)表示的加密信息的方法。根据上述最接近的现有技术的方法,这里使用的单元E保证了64比特数据块的加密的性能。为了描述例1,使用下面的算法。
算法132比特块密码1.取二进制信息码P的下一个32比特单元,得出32比特随机矢量R,并产生数据块B=R|P,其中符号“|”表示并置(连接)。
2.使用最接近的现有技术的方法,加密64比特数据块。
例2这个例子描述了以二进制代码(分为12比特单元)的形式表达的加密信息的方法。可以使用任何已知的加密64比特块B(其中B=X|Y)的方法,例如,最接近于现有技术的方法。加密函数由E(B)表示,即,当加密块B时,后者将根据法则B←E(B)变换,其中“←”用作指出赋值运算。对于例2的描述,使用下面的算法。
算法248比特块密码1.形成加密密钥2.取二进制信息代码p1,p2,p3和p4的下面四个12比特单元,随机地得出四个20 比特二进制矢量v1,v2,v3和v4,并且产生数据块P=p1|v1|p2|v2|p3|v3p4|v4。
3.将数据块P分为两个子块P=X|Y,其中X=p1|v1|p2|v2,而Y=p3|v3p4|v4。
4.变换子块XX←E(X)。
5.将子块X重叠在数字块Y上Y←YX,其中符号表示逐位置加到模2的运算。
6.变换子块YY←E(Y)。
7.将子块Y重叠在子块X上X←XY。
8.变换子块XX←E(X)。
9.将子块X重叠在数字块Y上Y←YX。
10.转换子块YY←E(Y)。
11.将子块Y重叠在子块X上X←XY。
12.作为加密的文本的输出块提供块X|Y。
以上的例2在图3到5中描述。在图3中,方框1是被分为12比特单元的二进制信息代码,而方框2表示所产生的20位矢量的序列。图4示出如此形成的数据块的结构。变换的方案由图5描述,其中方框E用符号表示根据最接近的现有技术的方法的加密过程。
例3这个例子描述了应用密钥以确定通过使用二进制信息代码的32比特单元和32比特随机二进制矢量得出1024字节数据块B的法则。加密过程使用密码“Crab”它在[Kaliski B.S.,Robshaw M.J.B.快速块密码提议、快速软件加密,剑桥安全研讨会进展、计算机科学讲义,v.809,Springer-veriag,1994,pp.26-39;亦可参见B.Schneier,“应用密码学”,第二版,John Wiley&Sons,Inc.,NewYork,1966,pp.342-344]中描述。此密码用作变换1024字节数据块(它作为32比特子块B0、B1、B2……、B255的序列呈现),并使用置换表形式的密钥以及由2048子密钥Q0、Q1、Q2、……Q2047构成的排序的序列,每一个子密钥长度为32比特。让我们指定“E”为由密码“Crab”确定的加密函数。下面的算法描述了和例3相关的程序。
算法3512字节随机密码输入二进制信息代码的512字节单元,以二进制信息代码P0、P1、P2……、P127的32比特单元序列的形式表示。
1.形成128个随机的32比特二进制矢量r0、r1、r2、……、r127。
2.将32比特二进制矢量和二进制信息代码的32比特单元综合成一个中间块(t0|t1|t2|…|t225)(t0|t1|t2|…|t127)=(r0|r1|r2|…|r127)(t128|t129|t130|…|t255)=(p0|p1|p2|…|p127)。
3.使用子密钥Q0、Q1、Q2、Q3和Q4,计算参数u1=Q0mod256,u2=Q1mod256,u3=Q2mod256,s(1)=Q3mod8,s(2)=Q4mod8。
4.设置初始计数器值i=0,并建立32比特变量b0=b1=b2=…=b255=0。
5.计算指数h=[(u1+i)]<<<s(1)+U2]<<<s(2)U36.把值th分配给变量b1∶b1←th。
7.如果I≠255则递增i←i+1并进到第5项。
8.将变量b1合并到1024字节数据块中B=b0|b1|b2|…|b255。
9.使用密码“Crab”,加密块BC=E(B),其中E表示由所述密码确定的加密函数。
输出加密文本C的1024字节块。
第2,3,…,7项描述了根据密钥(更精确地说,根据子密码Q0、Q1、Q2、Q3、Q4)将二进制信息代码单元连接到二进制矢量的过程。
工业适用性如由上述例子所示,块加密的提出权利要求的方法技术上是可行的,并且可以较好地实现从事的任务。
这些例子容易在例如个人计算机上执行,并允许在此基础上产生软件加密模块,它对使用选出的原始文本从事的攻击表现出很大的阻力。
通过这些例子证实,数字数据块的加密变换的建议的方法在技术上是可行的,并允许达到寻求的目的。
提出权利要求的方法可以在例如个人计算机中执行,给出在此基础上产生高速软件加密模块的可能性,以及用备有快速加密软件系统的个人计算机替换实际的昂贵和复杂的加密设备。
权利要求
1.加密二进制编码的信息的方法,包括下述步骤形成密钥、算出K包含P≥1二进制信息代码单元的数据块,并在密钥的控制下变换数据块,其特征在于另外产生D≥1的二进制矢量,并且通过将所述二进制矢量连接到相应的所述二进制信息代码单元而得出所述数据块。
2.如权利要求1所述的方法,其特征在于所述二进制矢量随机地产生。
3.如权利要求1所述的方法,其特征在于所述二进制矢量伪随机地产生。
4.如权利要求1所述的方法,其特征在于所述二进制矢量在所述密钥的基础上被连接到相应的所述二进制信息代码单元。
全文摘要
本发明涉及电信和信息技术,本发明尤其涉及对加密数据加密的加密装置和系统。本发明的系统包括得出密钥,得出K≥1数据块(它包括P≥1二进制信息代码单元),并变换数据块。系统的新颖性在于,还产生D≥二进制矢量,还通过组合二进制矢量形成数据块,随机地和伪随机地产生二进制矢量,把它们连接到相应的二进制信息代码的单元,以及该连接是在密钥的基础上进行的。
文档编号H04L9/06GK1244321SQ97196528
公开日2000年2月9日 申请日期1997年12月24日 优先权日1997年4月2日
发明者亚历山大·安德烈耶维奇·莫尔多维安, 尼古莱伊·安得烈耶维奇·莫尔多维安, 彼得·安得烈耶维奇·莫尔多维安 申请人:亚历山大·安得烈耶维奇·莫尔多维安, 尼古莱伊·安得烈耶维奇·莫尔多维安
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1