二进制数据块加密变换方法技术

技术编号:3533568 阅读:265 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及电信和计算机技术领域,具体涉及用于对数字数据进行密写的加密方法和装置。该方法包括:将数据块分成N≥2个子块,通过对第i个子块施加至少一次变换运算,来顺序地变换所述子块,其中i≤N,所述运算取决于第j个子块的值,其中j≤N。该方法的特征在于,所述取决于第j个子块的值的运算是第i个子块的数位转置运算。该方法进一步的特征在于,取决于第j个子块的值的第i个子块的数位转置运算是根据第i个子块变换开始之前的密钥进行的。该方法进一步的特征在于,在取决于第j个子块的第i个子块的当前数位转置运算之前,确定二进制向量V,其中第i个子块中的所述数位转置运算是根据向量V的值进行的。所述二进制向量是根据其在执行所述各子块中的一个子块的先前变换步骤时的值,以及第j个子块的值来确定的。(*该技术在2018年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术一般涉及电信与计算机
,具体涉及用于对消息(信息)进行密写的加密方法和装置。在描述本专利技术所述的方法中用到的术语如下-密钥是只有合法用户才知道的二进制信息;-加密变换是指,例如为了保护信息不被非法读取,生成数字签名,生成修改检测代码,而允许一个源数据位对多个输出数据位有影响作用的数字数据变换;一些重要类型的加密变换有单向变换,哈希和密写处理等。-信息哈希处理是指某种用于为任意大小的消息形成所谓的具有固定大小(通常为128位)的哈希代码的方法;目前所广泛采用的哈希方法,大多基于采用信息加密变换的分组机制的迭代哈希函数(见Lai X.,Massey J.L的基于分组密码的哈希函数/加密技术理论和应用工作室,EUROCRYPT’92,匈牙利,1992年5月24-28会议记录p.53-66)。-密写是指根据密钥所进行的信息变换处理,其中将源文本转换为由伪随机字符序列所表示的密文,使得在不知道上述密钥的情况下实际上无法从密文中获得信息;-解密是指密写过程的逆处理;解密处理将确保在知道密钥的情况下,能够根据密文恢复出其原始信息;-密写器是指利用密钥对输入数据进行变换的所有基本步骤的总和;密写器可以以计算机程序、或独立装置的形式来实现;-二进制向量是指某种二进制数位序列,如1011010011;如果假设每个数位的位置对应于一个二进制数位,则二进制向量的特定结构可以被解释为一个二进制数,即二进制向量可以被比作一个由二进制向量结构所唯一确定的数值;-密码分析是指一种为获得对密写信息的非授权访问权,来计算密钥;或用于开发在不计算密钥的情况下提供对密写信息的访问权方法的方法;-单向变换是指其中L位输入数据块被变换为L位输出数据块的变换,其允许很容易地根据输入数据块计算出输出数据块,相反却几乎无法计算出被变换为随机选择的输出数据块的输入数据块;-单向函数是指可以根据所给定的自变量,很容易地计算出函数值,但根据给定的函数值计算其自变量值,却是计算困难问题的函数;单向函数通常由针对某个输入块(自变量)所进行的单向变换序列来实现,其输出值即为函数值;-抗解密性是指密写信息保护安全性的一种测度,其代表了以在已知变换算法但不知道密钥的情况下,为了根据密文恢复原始信息,所需执行的基本运算的数目测算的劳动强度;对于单向变换,抗解密性意味着根据其输出值计算输入块值的复杂性;-取决于被变换子块或二进制向量的循环移位运算,是在由子块值或二进制向量值所设定的多个数位上进行的循环移位运算;向左(右)的循环移位运算由符号“<<<”(“>>>”)表示,例如,记号B1<<<B2表示将子块B1向左循环移位,其移位个数等于二进制向量B2的值;RC5密写器所基于的便是此类运算;-单址运算是指对一个运算数(数据块或二进制向量)所进行的运算;执行完某种给定单址运算后的子块值只取决于其初始值;单址运算的例子有加法,减法,乘法等等;关于数据块加密的方法,请参阅,例如,美国标准DES(国家标准局,数据加密标准,联邦信息处理标准出版物46,1977年1月)。上述数据块加密方法包括如下步骤生成密钥;将所要转换的数据块分成两个子块L和R,并通过对子块L与根据子块R的值所生成的作为某个函数F的输出值的二进制向量,进行位对位模2求和运算,来交替地改变后者。随后将两个子块互换。此方法中的函数F是通过对子块R进行转置和填充运算来实现的。当以专用电子电路的形式来实现时,此方法具有较高的变换速率。然而,已知的最新现有技术采用的是位长较小(56位)的密钥,因此其很容易通过找出匹配的密钥来进行密码分析。这与目前大众化电脑的计算能力越来越高有直接关系。与本专利技术的二进制数据块加密变换方法的技术本质最为接近的方法是,以密写器RC5形式实现的,并在(R.Rivest,RC5加密算法/快速软件加密,第二国际工作室会议记录(Leuven,比利时,1994年12月14-16日),计算机科学讲座记录v1008,Springer-Verlag,1995,pp.86-96)中进行说明的方法。上述最新现有技术方法包括如下步骤生成一个形式为多个子密钥的密钥;将输入数据块分成子块A和B,并交替地进行子块变换。随后通过对其进行单址和双址运算来对子块进行变换。作为双址运算,其中所用的是模2n加法运算,其中n=8,16,32和64,以及模2位对位加和运算。作为单址运算,所用的是向左循环移位运算,其中所变换子块所移动的位数取决于另一个子块的值,由此决定了在当前子块变换步骤,循环移位运算对输入数据块的初始值具有依赖性。对一个子块和子密钥,以及两个子块进行双址运算。最新现有技术方法的特征在于,根据其中一个子块的值来对另一个子块进行循环移位运算。对某个子块,例如子块B,进行如下变换。对子块A和B进行模2位对位加和运算(“”),并将此运算所得数值赋值给子块B。其关系可写为B←BA其中符号“←”表示赋值运算。此后,对子块B进行其位数等于子块A的值的循环移位运算。B←B<<<A随后,将对该子块和其中一个子密钥S进行模2n加和运算B←(B+S)mod2n,其中n为子块的位长。其后,对子块A进行类似地变换。并对两个子块进行许多次这种变换步骤。当以计算机程序的形式、或以电子密写装置的形式来实现时,本方法可以提供较高的加密速率。然而,上述最新现有技术具有如下一些缺点即,其无法确保加密数据变换对微分和线性密码分析(KalisiB.S.,Yin Y.L.的RC5加密算法的微分和线性密码分析,Cryptology-CRYPTO’95会议记录,Spring-Verlag,1955,pp.171-184)具有较高的抗解密性。此缺点的原因在于,为了提高对现有密码分析方法的抗解密性,由于循环移位运算所可能具有的可实现形式的数目,等于子块二进制数位的数目n,而不会超过64,使得取决于所被变换数据的运算的利用效率被降低了。本专利技术的目的是为了开发一种用于二进制数据块加密变换的方法,其中以能够增大取决于所被变换数据块的各种运算形式的数目的方式来实现输入数据变换,并由此而提高对微分和线性密码分析的抗解密性。本专利技术的目的是通过如下的二进制数据块加密变换方法来实现的,其包括如下步骤将数据块分成N≥2个子块;通过对第i个(其中i≤N)子块进行至少一次变换运算,来交替地变换各个子块,所述运算取决于第j个(j≤N)子块的值,而本专利技术的新颖特征在于,作为取决于第j个子块值的运算,其所采用的是第i个子块的数位转置运算。由于采用上述解决方案,其将增大取决于第j个子块值的运算所可能具有形式的数目,由此而使其能够提高加密变换对微分和线性密码分析的抗解密性。本专利技术的新颖特征还在于,取决于第j个子块值的第i个子块的数位转置运算,是根据第i个子块变换开始之前的密钥来形成的。由于采用上述解决方案,取决于第j个子块值的第i个子块的数位转置运算的变型并不是预先设定好的,由此使其能够进一步增强对微分和线性密码分析的抗解密性,同时其还允许减少所需变换运算的数目,而提高加密速率。本专利技术还有一个新颖特征在于,在进行取决于第j个子块的第i个子块的当前数位转置运算之前,其另外还产生有一个二进制向量V,并根据V的值来执行第i个子块的数位转置运算,其中上述二进制向量是根据其在对本文档来自技高网...

【技术保护点】
一种用于对二进制数据块进行加密变换的方法,其中包括如下步骤:将所述数据块分成N≥2个子块;通过根据第j个子块的值对第i个(其中:i≤N)子块进行至少一次变换运算,来交替地对所述数据块进行变换;该方法特征在于所述根据第j个(其中j≤N)子块数值的运算所采用的是第i个子块的数位转置运算。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:亚历山大安得烈耶维奇莫尔多维安尼古莱伊安得烈耶维奇莫尔多维安
申请(专利权)人:莫斯科戈罗德电话设备公开股份公司亚历山大安得烈耶维奇莫尔多维安尼古莱伊安得烈耶维奇莫尔多维安
类型:发明
国别省市:RU[俄罗斯]

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

1