用于以太网数据的三重搅动方法

文档序号:7962671阅读:249来源:国知局
专利名称:用于以太网数据的三重搅动方法
技术领域
本发明涉及通信技术中的数据加密解密,尤其涉及用于以太网系统数据的加密方法。
背景技术
随着Internet的迅速发展和IPTV等新业务、新应用对宽带接入网的接入宽带提出了更高的要求,一些基于以太网的新的宽带接入技术被提出,如以太网无源光网络、点到点光纤以太网和点到点铜缆以太网等已经被IEEE、ITU-T等组织标准化并迅速成熟。在这些基于以太网的系统中,存在数据安全性问题。尤其是在以太网无源光网络(EPON)中,采用带宽共享的点到多点的拓扑结构,每个光线路终端(OLT)通过光分配网络连接多个光网络单元(ONU),下行业务以广播方式发送给所有ONU。因此,任何ONU都能接收到所有用户的以太网数据帧,这就产生了数据安全性问题。在点到点以太网系统中也存在数据被窃取的可能性。
为了解决数据安全性问题,可以采用AES-128、搅动等方法对数据进行加密。AES-128等加密算法实现复杂,难度大。在宽带无源光网络(A/BPON,ITU-T G.983)系统中,采用搅动(Churning)方法进行下行数据加密。搅动方法的原理是打乱每个数据字节中比特的位置,因此实现比较简单,技术成熟。
但是,当在以太网系统(如EPON、点到点以太网系统)中采用搅动进行加密时,由于搅动的实现采用公开的标准,因此基于对以太网帧中特定字节的搅动图案的分析,可以很容易地破译出数据。恶意用户可以通过检测以太网帧中某些固定的字节而很容易破译搅动加密数据。这些字节包括全为“0x00”的填充域、以太网类型域(EtherType)中表示承载IP包的“0x8000”、表示VLAN的“0x8100”、表示OAM帧的“0x8809”以及OAM帧中的子类型“0x03”、MAC地址(如表示组播地址的“0x01005e******”和表示以太网控制地址的“0x0180C2******”)以及IP帧头的某些字段(如IP版本一般都是“0x04”、帧头长度一般也都是固定的)。这使得恶意用户可以在接收到几个典型以太网帧以后就可以破译其后的所有数据。根据分析,如果恶意用户有足够的专业知识,只需要1秒钟就可以破译搅动加密数据。因此,简单的搅动机制不能达到所需要的安全性。
因此,需要一种改进的搅动加密方法,以便进一步提高数据的安全性。

发明内容
本发明的目的在于克服现有技术中的以上缺陷,针对点到多点的EPON系统、点到点的以太网系统等以太网系统中数据安全性,提供一种加密解密方法,以提高以太网数据的安全性。
根据本发明,在现有技术ITU-T G.983标准所规定的搅动方法的基础上,提出一种三重搅动加密方法,通过增加搅动输出数据间的时域关联性,消除了现有单重搅动加密方法中存在的安全性不高、易于破译的问题。
根据本发明的一个方面,提供了一种用于以太网数据的三重搅动加密方法,所述三重搅动加密方法对数据进行逐字节地加密,其中对数据中第N字节D_in[N]执行以下步骤利用24比特的搅动密钥K对输入加密字节D_in[N]进行第一级搅动加密,其中N为自然数;第一级搅动加密后的数据字节D_in[N]与i个字节前的三重搅动加密后的输出数据字节D_out[N-i]以及前一个输入加密字节D_in[N-1]异或,其中i为自然数,i≥3,并且如果N≤i,则D_out[N-i]=00000000;对异或后的第一级搅动加密数据字节进行比特移位;将搅动密钥K循环移位一个字节,并利用循环移位一个字节后的搅动密钥对比特移位后的异或第一级搅动加密数据字节进行第二级搅动加密;第二级搅动加密后的数据字节D_in[N]与i+1个字节前的三重搅动加密后的输出数据字节D_out[N-i-1]以及两个字节前的输入加密字节D_in[N-2]异或,其中如果N≤i+1,则D_out[N-i-1]=00000000;对异或后的第二级搅动加密数据字节进行比特移位;将搅动密钥K向相同方向循环移位两个字节,并利用循环移位两个字节的搅动密钥对比特移位后的异或第二级搅动加密数据字节进行第三级搅动加密,得到三重搅动加密后的数据字节D_out[N]。其中,如果当前搅动加密的数据字节D_in[N]为第一个加密字节,则D_in[N-1]为所述搅动密钥K的最低位字节,D_in[N-2]为所述搅动密钥K的第二低位字节,如果当前搅动加密的数据字节D_in[N]为第二个加密字节,则D_in[N-2]为所述搅动密钥K的最低位字节。
优选地,i=4。根据本发明的一个优选实施例,对异或后的第一级搅动加密数据字节进行的比特移位和对异或后的第二级搅动加密数据字节进行的比特移位的规则相同。优选地,搅动密钥的循环移位操作为向右循环移位。
根据本发明另一方面,提供一种用于对以太网数据进行逐字节加密的装置,所述加密装置包括第一搅动加密单元,用于利用24比特的搅动密钥K对输入加密字节D_in[N]进行第一级搅动加密,其中N为自然数;第一异或单元,用于将所述第一搅动加密单元的输出与i个字节前的三重搅动加密后的输出数据字节D_out[N-i]以及前一个输入加密字节D_in[N-1]进行异或,其中i为自然数,i≥3,并且如果N≤i,则D_out[N-i]=00000000;第一比特移位单元,用于对所述第一异或单元的输出进行比特移位;第二搅动加密单元,用于利用第二搅动密钥对所述第一比特移位单元的输出进行第二级搅动加密,其中通过对所述搅动密钥K循环移位一个字节而得到所述第二搅动密钥;第二异或单元,用于将所述第二搅动加密单元的输出与i+1个字节前的三重搅动加密后的输出数据字节D_out[N-i-1]以及两个字节前的输入加密字节D_in[N-2]进行异或,其中如果N≤i+1,则D_out[N-i-1]=00000000;第二比特移位单元,用于对所述第二异或单元的输出进行比特移位;第三搅动加密单元,用于利用第三搅动密钥对所述第二比特移位单元的输出进行第三级搅动加密,以输出三重搅动加密后的数据字节D_out[N],其中通过在与所述第二搅动密钥循环移位相同的方向上对所述搅动密钥循环移位两个字节,而得到所述第三搅动密钥;其中,如果当前搅动加密的数据字节D_in[N]为第一个加密字节,则D_in[N-1]为搅动密钥的最低位字节,D_in[N-2]为所述搅动密钥的第二低位字节,如果当前搅动加密的数据字节D_in[N]为第二个加密字节,则D_in[N-2]为所述搅动密钥的最低位字节。
根据本发明的再一方面,提供一种用于以太网数据的三重解搅动解密方法,所述三重解搅动解密方法对数据进行逐字节地解密,其中对三重搅动加密数据中第N字节D_in[N]执行以下步骤将24比特的解搅动密钥K循环移位两个字节;用循环移位两个字节后的解搅动密钥对输入解密字节D_in[N]进行第一级解搅动解密,其中N为自然数;对第一级解搅动解密后的数据字节进行比特移位;将比特移位后的第一级解搅动解密数据字节与i+1个字节前的输入解密字节D_in[N-i-1]以及两个字节前的三重解搅动解密后的输出数据字节D_out[N-2]异或,其中i为自然数,i≥3,并且如果N≤i+1,则D_out[N-i-1]=00000000;将所述解搅动密钥K向相同方向循环移位一个字节,并利用循环移位一个字节后的解搅动密钥对异或后的数据字节进行第二级解搅动解密;对第二级解搅动解密后的数据字节进行比特移位;将比特移位后的第二级解搅动解密数据字节与i个字节前的输入解密字节D_in[N-i]以及一个字节前的三重解搅动解密后的输出字节D_out[N-1]异或,其中如果N≤i,则D_out[N-i]=00000000;利用所述解搅动密钥K对异或后的数据字节进行第三级解搅动解密,得到三重解搅动解密后的输出字节D_out[N];其中,如果当前解搅动解密的数据字节D_in[N]为第一个解密字节,则D_out[N-1]为所述解搅动密钥K的最低位字节,D_out[N-2]为所述解搅动密钥K的第二低位字节,如果当前解搅动解密的数据字节D_in[N]为第二个解密字节,则D_out[N-2]为所述解搅动密钥K的最低位字节。
根据本发明的另一方面,提供一种用于对三重搅动加密的以太网数据进行逐字节解密的装置,所述解密装置包括第一解搅动解密单元,用于利用第一解搅动密钥对输入解密字节D_in[N]进行第一级解搅动解密,其中N为自然数,通过对24比特的解搅动密钥K循环移位两个字节而得到所述第一解搅动密钥;第一比特移位单元,用于对所述第一解搅动解密单元的输出进行比特移位;第一异或单元,用于将所述第一比特移位单元的输出与i+1个字节前的输入解密字节D_in[N-i-1]以及两个字节前的三重解搅动解密后的输出数据字节D_out[N-2]进行异或,其中i为自然数,i≥3,并且如果N≤i+1,则D_out[N-i-1]=00000000;第二解搅动解密单元,用于利用第二解搅动密钥对所述第一异或单元的输出进行第二级解搅动解密,其中通过在与所述第一解搅动密钥循环移位相同的方向上对所述解搅动密钥K循环移位一个字节而得到所述第二解搅动密钥;第二比特移位单元,用于对所述第二解搅动解密单元的输出进行比特移位;第二异或单元,用于将所述第二比特移位单元的输出与i个字节前的输入解密字节D_in[N-i]以及一个字节前的三重解搅动解密后的输出数据字节D_out[N-1]进行异或,其中如果N≤i,则D_out[N-i]=00000000;第三解搅动解密单元,用于利用所述解搅动密钥K对所述第二异或单元的输出进行第三级解搅动解密,以输出三重解搅动解密后的数据字节D_out[N];其中,如果当前解搅动解密的数据字节D_in[N]为第一个解密字节,则D_out[N-1]为所述解搅动密钥K的最低位字节,D_out[N-2]为所述解搅动密钥K的第二低位字节,如果当前解搅动解密的数据字节D_in[N]为第二个解密字节,则D_out[N-2]为所述解搅动密钥K的最低位字节。
以下结合附图详细介绍本发明,其中

图1表示根据本发明的三重搅动加密方法的一种优选实施方式;图2表示根据本发明的三重搅动加密方法的数据输入输出关系;
图3表示根据本发明的解三重搅动解密方法的一种优选实施方式。
具体实施例方式
以下参照附图对本发明的实施例进行更详细的描述。
图1表示了根据本发明的三重搅动加密方法的一个优选实施例。根据本发明的方法采用三次搅动级联的方式,使用三个级联的搅动器,其中每个搅动器所执行的操作与现有技术中单重搅动的操作相同,因此对于单重搅动的操作在这里省略,不再赘述。这三个搅动器所使用的搅动密钥不相同,其中第一级搅动器所使用的搅动密钥为原始的24比特搅动密钥(X1-X8,P1-P16),第二级搅动器所使用的搅动密钥为第一级搅动密钥循环移位一个字节后所获得的(向右P9-P16,X1-X8,P1-P8或者向左P1-P16,X1-X8),而第三级搅动器所使用的搅动密钥为第一级搅动密钥向与第二级密钥循环移位相同的方向循环移位两个字节所得到的(向右P1-P16,X1-X8或者向左P9-P16,X1-X8,P1-P8)。
如图1所示,要进行三重搅动加密的数据的第N个字节Data_in[N]被输入到第一级搅动器,其中利用第一级搅动密钥K(X1-X8,P1-P16)对其进行搅动加密,所进行的搅动加密操作为现有技术中的单重搅动操作。被第一级搅动器进行搅动加密后的输出与两个8位矢量进行逐比特的异或运算(XOR),其中第一个矢量是前一个输入加密字节Data_in[N-1],并且如果当前进行加密的字节为第一个输入加密字节,则这个第一个矢量为第一级搅动密钥的最低字节(P9-P16);第二个矢量是i个字节前的三重搅动后的数据输出Data_out[N-i],其中i≥3,并且如果当前进行加密的字节为前i个加密字节,即N≤i,则用“00000000”代替Data_out[N-i]。优选地,i=4。
异或后的输出首先被比特移位,然后被输入到第二级搅动器中。在第二级搅动器中,搅动密钥是通过第一级搅动密钥循环移位一个字节后所得到的。如图1所示,优选地,对第一搅动密钥向右循环移位一个字节,即第二级搅动密钥K’为(P9-P16,X1-8,P1-8)。在第二级搅动器中,对所输入的字节进行搅动加密。随后,第二级搅动器的输出也被输入到异或器中,使其与另外两个8位矢量进行逐比特的异或运算,其中第一个矢量是两个字节前的输入加密字节,即Data_in[N-2],并且如果当前所加密的字节为第一个输入加密字节,则这个矢量为原始搅动密钥(即第一级搅动密钥)的第二低位字节,即P1-P8,而如果当前所加密的字节为第二个输入加密字节,则这个矢量为原始搅动密钥的最低位字节,即P9-P16;第二个矢量是i+1个字节前的三重搅动加密后的数据输出,即Data_out[N-i-1],并且如果当前进行加密的字节为前i+1个加密字节,即N≤i+1,则用“00000000”代替Data_out[N-i-1]。
随后,所得到的字节被比特移位。如图所示,优选地,这次比特移位的规则与先前的比特移位规则相同。根据本发明的一个优选实施例,所进行的比特移位为比特2、4交换,比特3、5交换,比特0、1、6、7不变,如图所示。
比特移位后所得到的字节被输入到第三搅动器中进行第三级搅动加密,其中第三级搅动加密的搅动密钥为原始搅动密钥在与第二级搅动密钥循环移位相同的方向上循环移位两个字节而得到的。优选地,根据图示实施例,第三级搅动密钥K”为(P1-P16,X1-X8)。最后,第三级搅动器输出三重搅动加密后的输出字节Data_out[N],三重搅动加密处理结束。
图2示意性地表示了根据本发明的三重搅动加密方案的数据输入与输出之间的关系。如图3所示,通过根据本发明的三重搅动加密方法,由第N、N-1、N-2个输入加密字节以及第N-i、N-i-1个三重搅动加密后的输出字节求得第N个字节的三重搅动加密后的输出字节。
根据本发明的三重搅动加密方案,通过级联三个单重搅动,从而增强了加密复杂性,提高了安全性。同时,通过在对第N个字节进行加密时,使用前一个和两个字节前的输入加密字节(即Data_in[N-1],Data_in[N-2])以及i个字节和i+1个字节前三重搅动加密后的输出字节(即Data_out[N-i],Data_out[N-i-1]),从而使当前搅动加密输出与先前搅动输入和输出相关联,增加了搅动输出数据间的时域关联性。因此,根据本发明的三重搅动加密方法消除了现有单重搅动加密方法所存在的安全性不高、易于破译的问题,可以大幅度提高数据加密的安全性,从而降低密钥交换的频率。根据本发明的方法具有协议简单、技术可靠、安全性高、开销小、可扩展性强等优点。
图3中表示了根据本发明的三重解搅动解密方法的一个优选实施例的示意图,其为三重搅动加密方法的简单镜像。其中,输入的三重搅动加密后的字节首先被输入第一解搅动器中,其解搅动密钥对应于三重搅动加密中第三级搅动加密器的搅动加密密钥K”(其优选为P1-P16,X1-X8),然后对输出进行比特移位,比特移位规则与加密时第三级搅动加密前所进行的比特移位规则相对。随后,将输出与加密时进行第二次异或中的两个矢量进行异或运算,所得到的输出被输入第二级解搅动器中进行解搅动解密,其中的解搅动密钥对应于加密中第二级搅动加密密钥K’(其优选为P9-P16,X1-X8,P1-P9)。然后,对输出进行与加密过程中第二级搅动器之前所进行的比特移位相对的比特移位,并将其与加密过程中第一次异或运算中的两个矢量进行异或运算,所得到的输出被输入到第三级解搅动器中进行解搅动解密,其中的解搅动密钥对应于加密过程中第一级搅动加密密钥K,即原始搅动密钥(X1-X8,P1-P16)。第三级解搅动器输出三重解搅动解密后的输出字节。
在根据本发明的三重搅动加密方法和三重解搅动解密方法中,每级搅动器或解搅动器所实现的搅动操作或解搅动操作完全与现有技术中的相同,即完全与G.983中规定的相同。
对于以太网帧而言,三重搅动加密的范围为目前的MAC地址(DA)到帧校验(FCS)字段。
本发明通过使当前搅动加密字节搅动加密后的输出与先前的搅动加密输入和输出字节相关联,并通过将搅动密钥循环移位以用作三级搅动器的搅动密钥,使单重搅动加密中容易重复出现的某些图案在三重搅动加密情况下无法被探测到,从而引入更大的搅动输出随机性,使得破译难度大大增加。
采用根据本发明的三重搅动加密方法以后,由于增加了搅动输出数据之间的关联性,使得基于特征字节进行破译的难度大大增加。在典型速率为1Gbps的EPON系统中,破译三重搅动加密数据的最短时间也需要10秒种以上,因此密钥的更换周期可以延长到10秒(现有技术中,G.983规定的密钥周期为1秒),进而大大降低密钥更换所导致的OAM消息开销。根据本发明的三重搅动加密的实现复杂度为现有技术中单重搅动加密的3倍,但是破译难度提高224以上,可以显著地提高以太网的数据安全性。
权利要求
1.一种用于以太网数据的三重搅动加密方法,所述三重搅动加密方法对数据进行逐字节地加密,其中对数据中第N字节D_in[N]执行以下步骤利用24比特的搅动密钥K对输入加密字节D_in[N]进行第一级搅动加密,其中N为自然数;第一级搅动加密后的数据字节D_in[N]与i个字节前的三重搅动加密后的输出数据字节D_out[N-i]以及前一个输入加密字节D_in[N-1]异或,其中i为自然数,i≥3,并且如果N≤i,则D_out[N-i]=00000000;对异或后的第一级搅动加密数据字节进行比特移位;将所述搅动密钥K循环移位一个字节,并利用循环移位一个字节后的搅动密钥对比特移位后的异或第一级搅动加密数据字节进行第二级搅动加密;第二级搅动加密后的数据字节D_in[N]与i+1个字节前的三重搅动加密后的输出数据字节D_out[N-i-1]以及两个字节前的输入加密字节D_in[N-2]异或,其中如果N≤i+1,则D_out[N-i-1]=00000000;对异或后的第二级搅动加密数据字节进行比特移位;将所述搅动密钥K向相同方向循环移位两个字节,并利用循环移位两个字节的搅动密钥对比特移位后的异或第二级搅动加密数据字节进行第三级搅动加密,得到三重搅动加密后的输出数据字节D_out[N];其中,如果当前搅动加密的数据字节D_in[N]为第一个加密字节,则D_in[N-1]为所述搅动密钥K的最低位字节,D_in[N-2]为所述搅动密钥K的第二低位字节,如果当前搅动加密的数据字节D_in[N]为第二个加密字节,则D_in[N-2]为所述搅动密钥K的最低位字节。
2.根据权利要求1的方法,其特征在于,i=4。
3.根据权利要求1或2的方法,其中所述对异或后的第一级搅动加密数据字节进行的比特移位和对异或后的第二级搅动加密数据字节进行的比特移位的规则相同。
4.根据权利要求3的方法,其中所述比特移位的规则为比特2、4交换,比特3、5交换,比特0、1、6、7不变。
5.根据权利要求1或2的方法,其中所述对搅动密钥K所执行的循环移位操作为向右循环移位。
6.一种用于对以太网数据进行逐字节加密的装置,所述加密装置包括第一搅动加密单元,用于利用24比特的搅动密钥K对输入加密字节D_in[N]进行第一级搅动加密,其中N为自然数;第一异或单元,用于将所述第一搅动加密单元的输出与i个字节前的三重搅动加密后的输出数据字节D_out[N-i]以及前一个输入加密字节D_in[N-1]进行异或,其中i为自然数,i≥3,并且如果N≤i,则D_out[N-i]=00000000;第一比特移位单元,用于对所述第一异或单元的输出进行比特移位;第二搅动加密单元,用于利用第二搅动密钥对所述第一比特移位单元的输出进行第二级搅动加密,其中通过对所述搅动密钥K循环移位一个字节而得到所述第二搅动密钥;第二异或单元,用于将所述第二搅动加密单元的输出与i+1个字节前的三重搅动加密后的输出数据字节D_out[N-i-1]以及两个字节前的输入加密字节D_in[N-2]进行异或,其中如果N≤i+1,则D_out[N-i-1]=00000000;第二比特移位单元,用于对所述第二异或单元的输出进行比特移位;第三搅动加密单元,用于利用第三搅动密钥对所述第二比特移位单元的输出进行第三级搅动加密,以输出三重搅动加密后的数据字节D_out[N],其中通过在与所述第二搅动密钥循环移位相同的方向上对所述搅动密钥循环移位两个字节,而得到所述第三搅动密钥;其中,如果当前搅动加密的数据字节D_in[N]为第一个加密字节,则D_in[N-1]为所述搅动密钥K的最低位字节,D_in[N-2]为所述搅动密钥K的第二低位字节,如果当前搅动加密的数据字节D_in[N]为第二个加密字节,则D_in[N-2]为所述搅动密钥K的最低位字节。
7.根据权利要求6的方法,其特征在于,i=4。
8.根据权利要求6或7的方法,其中所述第一比特移位单元与第二比特移位单元相同。
9.根据权利要求8的方法,其中所述第一比特移位单元和第二比特移位单元的移位规则为比特2、4交换,比特3、5交换,比特0、1、6、7不变。
10.根据权利要求6或7的方法,其中通过对所述搅动密钥K向右循环移位以获得所述第二和第三搅动密钥。
11.一种用于以太网数据的三重解搅动解密方法,所述三重解搅动解密方法对数据进行逐字节地解密,其中对三重搅动加密数据中第N字节D_in[N]执行以下步骤将24比特的解搅动密钥K循环移位两个字节;用循环移位两个字节后的解搅动密钥对输入解密字节D_in[N]进行第一级解搅动解密,其中N为自然数;对第一级解搅动解密后的数据字节进行比特移位;将比特移位后的第一级解搅动解密数据字节与i+1个字节前的输入解密字节D_in[N-i-1]以及两个字节前的三重解搅动解密后的输出数据字节D_out[N-2]异或,其中i为自然数,i≥3,并且如果N≤i+1,则D_out[N-i-1]=00000000;将所述解搅动密钥K向相同方向循环移位一个字节,并利用循环移位一个字节后的解搅动密钥对异或后的数据字节进行第二级解搅动解密;对第二级解搅动解密后的数据字节进行比特移位;将比特移位后的第二级解搅动解密数据字节与i个字节前的输入解密字节D_in[N-i]以及一个字节前的三重解搅动解密后的输出字节D_out[N-1]异或,其中如果N≤i,则D_out[N-i]=00000000;利用所述解搅动密钥K对异或后的数据字节进行第三级解搅动解密,得到三重解搅动解密后的输出字节D_out[N];其中,如果当前解搅动解密的数据字节D_in[N]为第一个解密字节,则D_out[N-1]为所述解搅动密钥K的最低位字节,D_out[N-2]为所述解搅动密钥K的第二低位字节,如果当前解搅动解密的数据字节D_in[N]为第二个解密字节,则D_out[N-2]为所述解搅动密钥K的最低位字节。
12.根据权利要求11的方法,其特征在于,i=4。
13.根据权利要求11或12的方法,其中所述对第一级解搅动解密后的数据字节进行的比特移位和对第二级解搅动解密后的数据字节进行的比特移位的规则相同。
14.根据权利要求13的方法,其中所述比特移位的规则为比特2、4交换,比特3、5交换,比特0、1、6、7不变。
15.根据权利要求11或12的方法,其中所述对解搅动密钥K所执行的循环移位操作为向右循环移位。
16.一种用于对三重搅动加密的以太网数据进行逐字节解密的装置,所述解密装置包括第一解搅动解密单元,用于利用第一解搅动密钥对输入解密字节D_in[N]进行第一级解搅动解密,其中N为自然数,通过对24比特的解搅动密钥K循环移位两个字节而得到所述第一解搅动密钥;第一比特移位单元,用于对所述第一解搅动解密单元的输出进行比特移位;第一异或单元,用于将所述第一比特移位单元的输出与i+1个字节前的输入解密字节D_in[N-i-1]以及两个字节前的三重解搅动解密后的输出数据字节D_out[N-2]进行异或,其中i为自然数,i≥3,并且如果N≤i+1,则D_out[N-i-1]=00000000;第二解搅动解密单元,用于利用第二解搅动密钥对所述第一异或单元的输出进行第二级解搅动解密,其中通过在与所述第一解搅动密钥循环移位相同的方向上对所述解搅动密钥K循环移位一个字节而得到所述第二解搅动密钥;第二比特移位单元,用于对所述第二解搅动解密单元的输出进行比特移位;第二异或单元,用于将所述第二比特移位单元的输出与i个字节前的输入解密字节D_in[N-i]以及一个字节前的三重解搅动解密后的输出数据字节D_out[N-1]进行异或,其中如果N≤i,则D_out[N-i]=00000000;第三解搅动解密单元,用于利用所述解搅动密钥K对所述第二异或单元的输出进行第三级解搅动解密,以输出三重解搅动解密后的数据字节D_out[N];其中,如果当前解搅动解密的数据字节D_in[N]为第一个解密字节,则D_out[N-1]为所述解搅动密钥K的最低位字节,D_out[N-2]为所述解搅动密钥K的第二低位字节,如果当前解搅动解密的数据字节D_in[N]为第二个解密字节,则D_out[N-2]为所述解搅动密钥K的最低位字节。
17.根据权利要求16的方法,其特征在于,i=4。
18.根据权利要求16或17的方法,其中所述第一比特移位单元与第二比特移位单元相同。
19.根据权利要求18的方法,其中所述第一比特移位单元和第二比特移位单元的移位规则为比特2、4交换,比特3、5交换,比特0、1、6、7不变。
20.根据权利要求16或17的方法,其中通过对所述解搅动密钥K向右循环移位以获得所述第一和第二解搅动密钥。
全文摘要
本发明提供一种三重搅动加密方法。本发明使用三次级联的搅动加密来对输入字节进行加密,并且在对字节加密时,引入前面的输入加密字节和先前的三重搅动加密后的输出字节,以增加搅动加密后数据的时域关联性。因此,本发明的三重搅动加密方法提高了现有技术中单重搅动加密的安全性。
文档编号H04L9/28GK1897521SQ20061008875
公开日2007年1月17日 申请日期2006年6月5日 优先权日2006年6月5日
发明者沈成彬, 余景文, 王作强, 王波 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1