离散数据分块加密方法技术

技术编号:3533597 阅读:300 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及电子通信与计算机技术领域,具体地说,本发明专利技术涉及用于数字数据的加密方法和装置。本方法包括如下步骤:产生一个形式为一组子密钥之组合的加密密钥;将数据块分解为N≥2个子块,并通过对子块和子密钥进行双址运算来交替地对各子块进行变换。本方法特征在于:在对第i个子块和子密钥进行双址运算之前,将先对该子密钥执行基于第j个子块的变换运算,其中j≠i。本方法特征还在于,基于第j个子块的变换运算是基于第j个子块对子密钥的数位所进行的置换运算。本方法另外特征还在于,基于第j个子块的变换运算是基于第j个子块的子密钥循环移位运算。本方法最后特征在于,基于第j个子块的变换运算是根据第j个子块对子密钥所执行的替换运算。(*该技术在2018年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及电子通信与计算机
,具体涉及用于对报文(信息)进行加密的方法。常见的加密方法有分块数据加密方法,参见,例如加密器RC5。在现有的加密方法中,数据块加密是通过产生一个形式为多个子密钥之组合的加密密钥;将被变换数据块拆分为多个子块;以及通过对两个子块进行循环移位运算,模2加和运算,对子块和子密钥进行模232加和运算,来交替地改变子块等步骤来实现的。其中,各子密钥是根据固定的进度表来使用的,即,在执行子块与子密钥之间的二进制运算的给定步骤中,子密钥值并不取决于输入数据块。由此,当以计算机程序的形式来实现上述加密方法时,其也可以获得较高的加密速率。然而,上述方法并不能确保对微分及线性密码分析也具有充分高的抗解密性,这是因为,上述方法中,在某些给定的加密步骤,对于所有可能的输入数据块,其所采用的均是固定的子密钥。技术本质上与本专利技术所要求的数据块加密方法最为相近的是,美国标准DES。该方法由如下步骤组成产生一个形式为一组48位子密钥之组合的加密密钥,将离散输入数据块分解为两个32位子块L和R,以及在密钥的控制下交替地对各个子块进行变换。总共要对32位数据子块进行16轮次的处理。每个子块变换轮次所执行的处理进程包括(1)通过复制子块R的一部分数位而将其扩展到48位,R->R’;(2)对该子块和子密钥进行模2加和运算;(3)将子块R’分解为8个6位子块;(4)对照已知的替换表,用多个4位子块来分别替换各6位子块来对6位子块进行替换运算;(5)将8个4位子块合并为一个32位子块2;(6)根据预定的法则对R子块执行数位置换运算;(7)利用子块L对子块R进行模2加和运算。在执行当前加密轮次处理的过程中,对所有可能的数据输入块均采用固定的子密钥。而这些在变换块中使用的子密钥则是在56位密钥的控制下生成的。由此,当以专用电路的形式来实现此方法时,其具有很高的变换速率。然而,上述方法也存在一些缺点,即当以软件的形式来实现时,其加密速率较低。此外,由于此方法所采用的56位密钥位长较短,使得非法用户将可以利用高性能计算机,通过穷举所有可能的密钥值来破译密钥,从而造成失密。为此,此方法需要利用多种不同的密钥来重复执行多次加密处理进程,使其即使以硬件形式来实现,也很难获得较高的加密速率。因此,本专利技术主要动机便在于,开发一种其中数据子块变换方式可以减少对一个输入数据数位所执行的变换运算的数目,以及提高抗解密性,同时能够使加密速率大为提高的离散数据分块加密方法。由于采用上述解决方案,使得在给定加密步骤中所用到的子密钥结构,将取决于所要变换的数据,因此在给定的变换步骤,对不同的输入数据块所采用的是不同的子密钥值,由此使其能够对微分密码分析具有较高抗解密性,同时还能够减少所需加密运算的轮次,进而提高加密变换的速率。本专利技术的另一个新特性是,作为第j个子块相关变换运算,所采用的是第j个子块相关子密钥数位置换运算。由于采用上述解决方案,在以电子加密装置形式来实现本专利技术所要求的方法时,其加密速率将可以得到提高。本专利技术的新特性还在于,第j个子块相关子密钥的位循环偏移运算被用作第j次子块相关变换运算。由于采用上述解决方案,当以计算机加密软件的形式来实现本专利技术所要求的方法时,加密速率可以得到提高。另外,本专利技术的新特性还包括,作为第j个子块相关变换运算,所采用的是对子密钥所进行的第j个子块相关置换运算。由此采用上述解决方案,其可以进一步提高本方法的抗解密性,同时当以计算机加密软件的形式来实现本专利技术所要求的方法时,其也可以确保具有较高的加密速率。接下来将参照附图,并根据本专利技术的实施例,对本专利技术的基本技术原理进行更为详细地说明。图3所示为当控制信号的电势为高电平时,基本受控开关的输入信号和输出信号的统计表。图4所示为当控制信号的电势为低电平时,基本受控开关的输入信号和输出信号的统计表。图5所示为由一组相同类型的数据块组成的受控置换数据块的结构示意图,其中基本开关用于,根据79位控制代码的值来实现对输入数位所进行的279种不同的置换处理。图6所示为简化受控置换数据块的示意图。附图说明图1所示为单独一个(第r次)加密轮次的示意图。根据受控运算所使用的具体类型以及所要求的变换速率,可以将轮次总数设定为从6到10或更多。单独一个变换轮次包括执行如下步骤(1)根据子块A的值,以及附加子密钥Q(2r)的值,对子密钥K2r进行变换,其结果作为数据块P1的输出产生子密钥的变换值PA,Q(2r)(K2r);(2)通过对PA,Q(2r)(K2r)和子块B的值进行模2位逐位加和运算B=B_PA,Q(2r)(K2r)来对子块B进行变换,其中符号“=”表示赋值运算;(3)通过对子块A和子块B进行模2n加和运算来对子块A进行变换,即A=A_B;(4)根据子块B的值,以及附加子密钥Q(2r-1)的值,对子密钥K2r-1进行变换,其结果作为数据块P2的输出产生子密钥的变换值PA,Q(2r-1)(K2r-1);(5)对子块A进行变换A=A_PA,Q(2r-1)(K2r-1);(6)对子块B进行变换B=B_A根据本专利技术的离散信息分块加密方法的特定实施例,在执行每个加密轮次时可以使用同一对m位子密钥K2和K1(附加g位子密钥Q(2)和Q(1))。在某一种实施例中,其也可以在每个轮次中采用独立的子密钥K2r和K2r-1(独立附加子密钥Q(2r)和Q(2r-1))。例如,当轮次总数为r=3时,第一轮可以使用子密钥K2和K1,(Q(2)和Q(1)),第二轮使用子密钥K4和K3(Q(4)和Q(3)),第三轮使用子密钥K6和K5(Q(6)和Q(5))。其中可以根据基于密钥的专用程序来产生子密钥K2r和K2r-1,以及附加子密钥Q(2r)和Q(2r-1)。在某一种实施例中,其也可以通过随机法则生成的方法来产生子密钥K2r和K2r-1,以及附加子密钥Q(2r)和Q(2r-1)。本专利技术所要求方法的技术实施可能性由如下的具体实施例来说明。实例1本实例中,是通过将受控置换运算用作根据被变换数据块之一对子密钥所执行的运算来对64位数据块进行加密的。其中所产生的加密密钥形式为,16个位长分别为32位的子密钥K1,K2,K3,…,K16。同时并不使用附加子密钥。输入数据块被分解为两个32位子块A和B。输入数据块加密算法具体如下1.设置加密轮次计数器r=1;2.根据公式B=B_PA(K2r)对子块B进行变换,其中PA(K2r)表示根据子块A的值对子密钥K2r所进行的数位置换运算。3.根据公式A=A_B对子块A进行变换4.根据公式A=A_PB(K2r-1)对子块A进行变换,其中PB(K2r-1)表示根据子块B的值对子密钥K2r-1所进行的数位置换运算。5.根据公式B=B_A对子块B进行变换。6.如果r≠8,则将计数器的值加1,即r=r+1,并跳转到步骤2,否则停止。本算法适用于电子电路实施方式。其中可以利用通过用于执行两位置换运算的多个基本开关所实现的数据块受控置换运算,来执行根据所要变换各子块之一对子密钥所进行的数位置换运算。图2所示为基本开关的操作示意图,其中u为控制信号,a和b为数据输入信号,c和d分别为数据输出信号。图3和图4所示表格为输出信号和输入信号与控制信号之间的关系。从中可以本文档来自技高网...

【技术保护点】
一种离散数据的分块加密方法,其包括如下步骤:产生一个形式为一组子密钥之组合的加密密钥;将数据块分解为N≥2个子块,以及通过对子块和子密钥进行双址运算来交替地对所述子块进行变换;本方法特征在于,在对第i个子块和子密钥执行所述双址运算之前,将先根据第j个子块对子密钥执行变换运算,其中j≠i。

【技术特征摘要】
...

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

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

1