具体实施方式
以下结合具体实施例,对本发明实施例提供的EPON系统的数据加密/解密方法和设备进行描述。
本发明一种实施例提供的EPON系统的数据加密方法中,所述EPON系统可以为基于10G数据速率的以太网无源光网络(10G EPON)系统,其采用64位总线进行数据传输。在一种实施例中,请参阅图1,所述10G EPON系统200可包括:多个光网络单元ONU设备210和光线路终端OLT设备220。所述OLT设备220通过光分配网络ODN以点到多点的方式连接至所述多个ONU设备210。其中,从OLT设备220到ONU设备210的方向定义为下行方向,从ONU设备210到OLT设备220的方向定义为上行方向。所述10G EPON系统200中,上行方向采用时分多址接入方式对各个ONU设备210的数据发送进行仲裁和授权,而下行方向采用广播方式将下行数据传输给所述ONU设备210。
为避免恶意用户窃取系统中其他用户的信息,所述10G EPON系统的下行方向可以采用多重搅动(Multiple Churning)的方式进行数据加密。以下实施例以三重搅动加密为例,不过应当理解,本发明其他替代实施例还可以采用四重或其他多重搅动方式进行加密处理。
请参阅图2,所述10G GPON系统200在工作时,OLT设备220可周期性地向ONU设备210发送新密钥请求帧以更新搅动密钥(Chuming key),所述新密钥请求帧的帧格式可参阅图3。
所述ONU设备210接收到所述新密钥请求帧之后,产生新的搅动密钥,并通过向所述OLT设备220发送新密钥通知帧的方式将所述新的搅动密钥提供给所述OLT设备220。所述新密钥通知帧的帧格式可如图4所示,其中所述搅动密钥可以包括72位(9个字节),此72位搅动密钥可分为三个子密钥,分别记为第一子密钥(Chuming key1)、第二子密钥(Chuming key2)和第三子密钥(Chuming key3)。每个子密钥均包括24位,以下将这三个子密钥各个位分别记为X1~X24(其可作为所述72位搅动密钥的第1~3个字节)、Y1~Y24(其可作为所述72位搅动莫要的第4~6个字节)、Z1~Z24(其可作为所述72位搅动密钥的第7~9个字节)。
进一步地,所述OLT设备220内部可设置有用于控制密钥更新周期的定时器,当定时器超时,所述OLT设备220则启动上述密钥更新。其中,密钥更新的周期可以预先设置,比如设置为10S。
所述OLT设备220在接收到所述新密钥通知帧之后,从其中提取出所述第一子密钥、第二子密钥和第三子密钥,并分别对所述子密钥进行逻辑运算以生成搅动键。以第一子密钥为例,所述OLT设备220可根据以下逻辑运算式对所述第一子密钥的24位数据进行逻辑运算,从而得到第一搅动键K11、K12、...、K10。
(1) K11=(X1·X21·X11)+(X2·X21·notX22)+(X7·not X21·X22)+(X8·notX21·not X22)
(2) K12=(X3·X23·X24)+(X4·X23·notX24)+(X5·not X23·X24)+(X6·not X23·not X24)
(3) K13=(X1·X17)+(K2·not X17)
(4) K14=(K1·not X17)+(K2·X17)
(5) K15=(K1·X18)+(K2·not X18)
(6) K16=(K1·not X18)+(K2·X18)
(7) K17=(K1·X19)+(K2·not X19)
(8) K18=(K1·not X19)+(K2·X19)
(9) K19=(K1·X20)+(K2·not X20)
(10) K10=(K1·not X20)+(K2·X20)
其中,“+”表示逻辑或运算(Logical OR),“·”为逻辑与运算(Logical AND),“not”为逻辑非运算(Logical NOT)。
相类似地,所述OLT设备220可进一步通过对所述第二子密钥和第三子密钥分别进行逻辑运算,并分别得到第二搅动键K21、K22、...、K20和第三搅动键K31、K32、...、K30,具体逻辑运算过程可参阅上述搅动键K11、K12、...、K10的生成方法。
进一步地,所述OLT设备220在将下行数据传输给ONU设备210之前,可确认所述数据是否需要进行加密。当判断出所述数据需要进行加密时,所述OLT设备220还可进一步利用其内部的数据加密模块对需要加密的下行数据进行多重搅动加密处理。所述数据加密模块包括多个数据加密单元,且其可采用所述多个数据加密单元分组对通过所述64位总线进行传输的下行数据并行地进行多重搅动加密处理。
比如,在一种实施例中,请参阅图5,所述数据加密模块可包括8个数据加密单元S1~S8,每个数据加密单元每一次可以对1个字节(8位)进行加密,由此可实现64位下行数据的并行加密处理。具体而言,请参阅图6,每一数据加密单元包括依次级联的第一数据搅动器610、第一逻辑运算器620、第二数据搅动器630、第二逻辑运算器640和第三数据搅动器650。
在某一时段,假定并行输入到所述8个数据加密单元S1~S8的数据分别为下行数据的第N个~第N+7个字节,则所述数据加密单元S1~S8可并行对所述第N个~第N+7个字节进行搅动加密处理。
以所述数据加密单元S1为例,其接收到所述第N个字节D_in[N]之后,首先利用所述第一数据搅动器610对所述第N个字节D_in[N]进行第一级搅动加密。具体地,所述第一数据搅动器610可采用所述第一子密钥及所述OLT设备生成的第一搅动键对所述第N个字节D_in[N]进行第一级搅动加密,具体的搅动过程可参阅现有的单重搅动加密技术。
进一步地,在完成所述第一级搅动加密处理之后,所述第一数据搅动器610可将第一级搅动加密的结果输出到所述第一逻辑运算器620,并通过所述第一逻辑运算器620将经过第一级搅动加密的所述第N个字节D_in[N]与第一组预设字节进行逐位异或逻辑运算。在一种实施例中,当N大于32时,输入到所述第一逻辑运算器620的第一组预设字节可包括所述下行数据中输入加密的第N-8个字节D_in[N-8],以及所述下行数据的第N-32个字节经过三级搅动加密后的数据输出Data_out[N-32]。进一步地,所述第一组预设字节还可以包括由所述ONU设 备220提供的72位搅动密钥中的第m1个字节,比如第8个字节。通过将所述第一级搅动加密结果与先前的输入字节D_in[N-8]和加密输出字节D_out[N-32]进行逻辑异或运算,可使搅动加密具有数据的时域关联性,从而提高加密的强度。
另外,在具体实施例中,当所述N小于8时,所述第一组预设字节中的D_in[N-8]可以采用一预设值代替,比如,其可以采用所述72为搅动密钥中的第m3个字节;为保证加密效果,可选m3不等于ml。进一步地,当N小于32时,所述第一组预设字节中的Data_out[N-32]同样可以采用其他预设值代替,比如,其可以采用所述72位搅动密钥中的第m2个字节,相类似地,为保证加密效果,可使得m2不等于m3也不等于ml。比如,m1、m2和m3可分别取1、6、8。进一步地,所述m1、m2和m3的取值可预先设置为满足一定的规律,比如,通过循环右移某一预设的字节(比如1个字节或N-1个字节)得到。在其他实施例中,所述D_in[N-8]和Data_out[N-32]还可以采用具有固定值的预设字节代替,比如00000000。
另外,应当理解,上述实施例中,所述用于进行异或逻辑运算字节采用D_in[N-8]和D_out[N-32]只是作为一个实施例,在其他替代实施例中,二者还可以分别采用所述下行数据的其他输入加密的字节和经过加密输出的字节代替。鉴于所述OLT设备220采用8个数据加密单元并行地进行加密处理,只要所述两个预设字节分别采用所述下行数据的第N-i个字节和经三重搅动加密之后输出的第N-j个字节即可,其中,i,j为8的整数倍。
进一步地,所述第一逻辑运算器620可以将经第一级逻辑运算处理的结果输出到所述第二数据搅动器630,并通过所述第二数据搅动器630对经过第一级逻辑异或运算的第N个字节D_in[N]进行第二级搅动加密处理。具体而言,所述第二数据搅动器630可采用所述第二子密钥及第二搅动键对所述经过第一级逻辑异或运算的第N个字节D_in[N]进行第二级搅动加密,同样,具体的搅动过程可参阅传统的单重搅动加密技术。
进一步地,在完成第二级搅动加密之后,所述第二数据搅动器630可以将所 述第二级搅动加密的结果输出到所述第二逻辑运算器640,并通过所述第二逻辑运算器640将经过第二级搅动加密处理的所述第N个字节D_in[N]与第二组预设字节进行逐位异或逻辑运算。在一种实施例中,当N大于40时,输入到所述第二逻辑运算器640的第二组预设字节可以包括所述下行数据中输入加密的第N-16个字节D_in[N-16],以及所述下行数据的第N-40个字节经过三级搅动加密后的数据输出D_out[N-40]。
另外,在具体实施例中,当所述N小于16时,所述第二组预设字节中的D_in[N-16]可以采用一预设值代替,比如,其可以采用所述72为搅动密钥中的第n3个字节;为保证加密效果,可选n3不等于n1。进一步地,当N小于32时,所述第一组预设字节中的Data_out[N-40]同样可以采用其他预设值代替,比如,其可以采用所述72位搅动密钥中的第n2个字节,相类似地,为保证加密效果,可使得n2不等于n3也不等于n1。比如,n1、n2、n3可分别取2、4、9。进一步地,所述n1、n2和n3的取值可预先设置为满足一定的规律,比如,通过循环右移某一预设的字节(比如1个字节或N-1个字节)得到。在其他实施例中,所述D_in[N-16]和Data_out[N-40]还可以采用具有固定值的预设字节代替,比如00000000。
同样地,应当理解,在上述实施例中,所述第二组预设字节中所采用的字节D_in[N-16]和D_out[N-40]只是作为一个实施例,在其他替代实施例中,二者还可以采用所述下行数据的其他输入加密的字节和经过加密输出的字节代替,只要所替代的字节与所述第N个字节D_in[N]之间间隔的字节数满足8的整数倍即可。
进一步地,在完成所述第二级逻辑异或运算之后,所述第二逻辑运算器640可将经第二次逻辑运算处理的结果输出到所述第三数据搅动器650,并通过所述第三数据搅动器650对经过第二级逻辑异或运算的所述第N个字节D_in[N]进行第三级搅动加密处理。具体而言,所述第三数据搅动器650可采用所述第三子密钥及第三搅动键对所述第N个字节D_in[N]进行第三级搅动加密,同样,具体的 搅动过程可参阅传统的单重搅动加密技术。
由此,所述第N个字节D_in[N]便实现了三重搅动加密处理,从而生成搅动输出字节D_out[N]。另外,需要注意的是,在所述数据加密单元S1对所述需要加密的下行数据的第N个字节进行搅动加密处理的过程中,所述数据加密单元S2~S8也分别同步对所述下行数据的第N+1~N+7个字节进行搅动加密处理。具体的加密处理过程可参阅所述第N个字节的加密过程。由此,在所述数据加密单元S1输出D_out[N]的同时,其余7个数据加密单元S2~S8也同时生成搅动输出字节D_out[N+1]~D_out[N+7]。
还需要注意的是,所述数据加密单元S1~S8中,当所述第N~第N+7个字节分别完成第一级搅动加密并送入对应的第一逻辑运算器时,所述下行数据的第N+8~N+15个字节可分别对应送入所述8个数据加密单元S1~S8的第一数据搅动器进行第一级搅动处理。可见,每一个数据加密单元对每个输入加密的字节的处理过程可分为五拍,所述五拍可分别对应于其内部的第一数据搅动器610、第一逻辑运算器620、第二数据搅动器630、第二逻辑运算器640和第三数据搅动器650的处理过程。而在每一拍中,所述第一数据搅动器610、第一逻辑运算器620、第二数据搅动器630、第二逻辑运算器640和第三数据搅动器650可分别处理对应的字节。
因此,以数据加密单元S1为例,当需要进行加密输入的第N个字节D_in[N】输入到第一逻辑运算器620准备进行第一级逻辑运算处理时,所述第三数据搅动器650恰好已完成所述下行数据的第N-32个字节的第三级搅动并输出已完成三重搅动的第N-32个字节D_out[N-32]。此时,可简单方便第实现将经过第三级搅动加密输出的第N-32个字节D_out[N-32]反馈回所述第一逻辑运算器620,通过所述第一逻辑运算其对二者进行异或逻辑处理可实现所述第N个字节与先前字节的搅动加密的输出结果的关联性。当然,实际应用上,还可以反馈其他字节经过所述数据处理单元S1进行三重搅动加密的输出结果进行异或逻辑处理,比如第N-40个字节D_out[N-40]。甚至,还可以反馈所述三重搅动处理的中间结果 作为参数进行逻辑运算,比如反馈第二数据搅动器630输出的经过第二级搅动处理的第N-16个字节,或者反馈第二逻辑运算器640输出的经过第二级逻辑运算的第N-24个字节。
另一方面,所述第一逻辑运算器620在进行逻辑运算处理的同时,还进一步引入所述下行数据中输入加密的第N-8个字节D_in[N-8]进行逻辑异或运算。由于所述数据加密单元S1~S8是并行工作的,因此所述第N-8个字节D_in[N-8]也是对应由所述数据加密单元S1进行处理的。进一步地,所述引入到第一逻辑运算器620中作为预设字节的输入解密字节还可以为先前输入到所述数据加密单元S1进行加密处理的其他字节,如D_in[N-16]或D_in[N-24]等,只要其满足与所述第N个字节之间的间隔的字节数满足8的整数倍即可。
通过以上描述可看出,本实施例中,在所述第一逻辑运算器620在进行所述第N个字节D_in[N]的逻辑异或运算处理时,反馈到其中的先前输入加密的字节和经过多重搅动输出的字节与所述第N个字节D_in[N]之间间隔的字节数都满足8的整数倍。即,反馈的先前的输入加密的字节和经过多重搅动输出的字节分别为需要进行加密处理的下行数据的第N-i个字节和所述下行数据中经过搅动加密处理输出的第N-j个字节,其中i、j均为8的整数倍。
进一步地,本发明实施例中,第二逻辑运算器640在进行所述第N个字节的逻辑异或处理的时候,反馈至其中的先前输入加密的字节和经过多重搅动输出的字节同样可分别进一步扩展为输入加密的第N-(i+x)个字节D_in[N-(i+x)]以及和所述下行数据中经过多重搅动加密输出的第N-(j+y)个字节D_out[N-(j+y)],其中x、y亦均为8的整数倍。即,所述第二组预设字节中的前两个字节与所述第N个字节D_in[N]之间间隔的字节数同样都满足8的整数倍。在具体实施例中,为使反馈过程简单高效,可直接将反馈到第一逻辑运算器620的输入加密字节D_in[N-i]和经过多重搅动加密输出的字节D_in[N-j]分别通过移位8个字节实现,即使x=y=8。
由此,在所述数据加密单元S1中,可实现反馈回所述第一逻辑运算器620 和所述第二逻辑运算器640进行逻辑异或运算处理的字节实际上均为所述数据加密单元S1处理的字节。因此,对于每一个数据加密单元S1~S8中,其三重搅动加密的处理过程均为相互独立的。也就是说,本实施例中通过使反馈到逻辑运算器的字节与准备进行逻辑异或运算处理的第N个字节D_in[N]之间间隔的字节数满足8的整数倍,有效保证每一个数据加密单元S1~S8的搅动处理不需要反馈经其他数据加密单元的处理的字节,从而提高所述EPON系统中进行三重搅动加密处理的工作效率,保证其满足10G EPON系统的数据速率。
另外,本发明实施例中ONU设备210提供给OLT设备220的搅动密钥增加到72位,由于所述搅动密钥的位数较多,所述第一逻辑运算器620和第二逻辑运算器640在进行逻辑异或运算时,还可进一步引入所述72位的搅动密钥的相应字节,比如上述实施例使用的第k个字节和第k+1个字节来进行异或运算,由此可进一步提高加密强度。并且,在启动数据搅动加密处理的前几拍中,所述数据加密单元S1~S8可能未有相应搅动输出时,将所述搅动密钥中的字节引入到所述第一级和/或第二级逻辑异或运算处理,可保证逻辑异或处理的有效性。进一步地,本发明实施例中还分别在进行三级搅动加密过程中分别采用三个相互独立的子密钥,与现有的数据加密方法相比,此可进一步提高加密强度,保证数据的安全性。
另外,需要注意的是,本发明实施例提供的数据加密方法在进行数据搅动加密中,采用8个数据加密单元S1~S8分八组进行搅动加密只是针对64位总线的10G EPON系统的一种较佳实施例。在本发明构思下,根据本发明实施例提供的方案,所属技术领域的技术人员还可以得到其他的替代的分组方式,比如分为M组以实现并行地对M个字节进行多重搅动加密处理(M为大于1的整数)。不过,在分为M组的情况下,为实现各组的搅动加密处理的独立性,引入到逻辑运算器进行运算的预设字节应当与当前准备进行逻辑运算处理的第N个字节D_in[N]之间的间隔的字节数应当满足M的整数倍,其余的加密过程可参照以上实施例,以下不再赘述。由此可见,本发明实施例所提供的EPON系统的加密 方法同样可以适用未来的128位总线或256位总线的EPON系统,不过在这种情况下分组并行处理的方式略有不同。比如,对于128位总线的EPON系统,可以分为16组,每组采用一个独立的数据加密单元在每一拍分别针对一个字节进行数据加密处理。进一步地,对于在分组并行加密的情况下,每一组在进行多重搅动加密处理的过程中,并不局限在针对1个字节(8位)并行进行加密,比如每一组还可对4位数据并行加密或者16位数据(2个字节)并行进行加密。
进一步地,虽然上述实施例是采用三重搅动的数据加密方法,应当理解,为进一步提高加密强度,本发明实施例在此基础上还可以采用多重搅动的加密方式,比如四重搅动、五重搅动等。在这种情况下,可以通过增加搅动密钥的位数或者将原有72位搅动密钥进行移位处理来得到用于进行第四级和/或第五级搅动加密的子密钥。
另外,在实际应用中,本发明实施例提供的数据加密方法可通过专用集成电路芯片(Application Specific Integrated Circuit,ASIC),比如现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)等实现。
根据以上描述,下面对本发明实施例提供EPON系统的数据加密方法进行小结。本发明实施例提供的EPON系统的数据加密方法可并行地对M个字节分别进行多重搅动加密(M为大于1的整数),其中所述方法可包括以下步骤:(a)利用第一子密钥对输入加密的第N个字节进行第一级搅动加密,N为整数;(b)将经过所述第一级搅动加密的所述第N个字节与第一组预设字节进行第一级异或运算处理,所述第一组预设字节包括第一预设字节和第二预设字节,所述第一预设字节和第二预设字节分别为输入加密的第N-i个字节和经过多重搅动加密输出的第N-j个字节,其中i、j均为M的整数倍,且i、j均小于N;(c)利用第二子密钥对经过所述第一级异或运算处理的所述第N个字节进行第二级搅动加密;(d)将经过所述第二级搅动加密的所述第N个字节与第二组预设字节进行第二级异或运算处理,所述第二组预设字节包括第三预设字节和第四预设字节,所述第三预设字节和第四预设字节分别为输入加密的第N-(i+x)个字节和经过 多重搅动加密输出的第N-(j+y)个字节,其中x、y均为M的整数倍,且(i+x)、(j+y)均小于N;(e)利用第三子密钥对经过所述第二级异或运算处理的所述第N个字节进行第三级搅动加密。
其中,步骤(a)~(e)可分别在所述OLT设备中的第一数据搅动器610、第一逻辑运算器620、第二数据搅动器630、第二逻辑运算器640和第三数据搅动器650中实现。
进一步地,所述搅动密钥可包括72位,且所述第一组预设字节还包括第五预设字节,所述第五预设字节为所述72位搅动密钥的第m1个字节;所述第二组预设字节还包括第六预设字节,所述第六预设字节为所述72位搅动密钥的第n1个字节,其中m1、n1均为整数,且m1≤9,n1≤9。
另外,在所述第N-j个字节中j大于或等于N时,所述第二预设字节为所述72位搅动密钥的第m2个字节;在所述第N-i个字节中i大于或等于N时,所述第一预设字节位所述72位搅动密钥的第m3个字节;其中,m2、m3均为整数,且m2≤9、m3≤9;另外为了保证加密效果,可选m2≠m3≠m1。进一步地,在所述第N-(j+y)个字节中的(j+y)大于或等于N时,所述第四预设字节为所述72位搅动密钥的第n2个字节;在所述第N-(i+x)个字节中(i+x)大于或等于N时,所述第三预设字节位所述72位搅动密钥的第n3个字节;其中,n2、n3均为整数,且n2≤9、n3≤9;另外,相类似地,为了保证加密效果,可选n2≠n3≠n1。
进一步地,在M=8的情况下,当N>40时,可选i=8,j=32,即所述第一组预设字节包括输入加密的第N-8个字节和经过多重搅动加密输出的第N-32个字节;另外,还可选x=y=8,即所述第三、第四字节分别为输入加密的第N-16个字节和经过多重搅动加密输出的第N-40个字节。
进一步地,所述第一子密钥、第二子密钥和第三子密钥相互独立,且每个子密钥包括24位。
本发明实施例提供的EPON系统的数据加密方法通过并行地对下行数 据分组以实现对M个字节并行地进行多重搅动处理,从而满足下一代EPON系统对于高数据速率的需要;并且,在每一个字节的搅动处理过程中分别引入其同组的先前输入加密字节和加密输出字节进行异或运算处理,使所述字节在多重搅动加密过程中实现其与同组中的先前输入加密字节和加密输出字节的时域关联性,从而使得各组的多重搅动处理相互独立,有效避免反馈回来进行异或处理的先前输入加密字节和加密输出字节为其他组所处理的字节而间接影响数据速率,进一步保证所述方法可使用下一代EPON系统。
基于上述数据加密方法和设备,本发明实施例还进一步提供一种数据解密方法。所述数据解密方法可在ONU设备210中通过ASIC实现。
所述OLT设备220在将所述下行数据加密之后,通过光分配网络(ODN)将其发送给ONU设备210。所述ONU设备210在接受到所述加密数据之后,可通过其内部的数据解密模块对所述下行数据进行解密处理。
与所述OLT设备220内部的数据加密模块对应,所述ONU设备210内部的数据解密模块也包括8个数据解密单元D1~D8,每个数据解密单元可并行对一个字节(8位)进行解密处理,从而实现64位下行数据的并行解密处理。
具体而言,以数据解密单元D1为例,请参阅图7,所述数据解密单元D1可包括依序级联的第一解搅动器710、第一反逻辑运算器720、第二解搅动器730、第二反逻辑运算单元740和第三解搅动器750。所述数据解密单元D1可通过所述第一解搅动器710、第一反逻辑运算器720、第二解搅动器730、第二反逻辑运算单元740和第三解搅动器750将所述下行数据中经过三重搅动加密的第N个字节进行解密处理,从而将其转换为原始下行数据的第N个字节并提供给用户。具体的解密过程可参阅以下EPON系统的数据解密方法。
所述EPON系统的数据解密方法可用于对经过多重搅动加密的数据进行解密,所述方法并行地对M个字节分别进行多重解搅动处理(M为大于1的整数),所述多重解搅动处理使用的解搅动密钥与前述数据加密方法的搅动密钥相一致,其可包括第一子密钥、第二子密钥和第三子密钥。所述方法可包括以下步 骤:(a)利用所述第三子密钥对输入解密的第N个字节进行第一级解搅动处理,N为整数;(b)将经过所述第一级解搅动处理的所述第N个字节与第一组预设字节进行第一级异或运算处理,其中所述第一组预设字节包括输入解密的第N-q个字节和经过多重解搅动输出的第N-p个字节,p、q均为M的整数倍,且p、q均小于N;(c)利用所述第二子密钥对经过所述第一级异或运算处理的第N个字节进行第二级解搅动处理;(d)将经过所述第二级解搅动处理的第N个字节与第二组预设字节进行第二级异或运算处理,所述第二组预设字节包括输入解密的第N-(q-y)个字节和经过多重解搅动输出的第N-(p-x)个字节,其中,x、y均为M的整数倍,且(p-x)、(q-y)均小于N;(e)利用所述第一子密钥对经过所述第二级异或运算处理的第N个字节进行第三级解搅动处理。
其中,步骤(a)~(e)可分别在所述第一解搅动器710、第一反逻辑运算器720、第二解搅动器730、第二反逻辑运算单元740和第三解搅动器750中实现。
在具体实施例中,可选M=8,且在N大于40时,所述第一组预设字节可包括为输入加密的第N-16个字节和经过多重搅动加密输出的第N-40个字节,所述第二组预设字节可以为输入加密的第N-8个字节和经过多重搅动加密输出的第N-32个字节。
进一步地,所述解搅动密钥可包括72位,且所述第一组预设字节还包括所述72位搅动密钥的第n1个字节;所述第二组预设字节所述72位解搅动密钥的第m1个字节,其中m1、n1均为整数,且m1≤9,n1≤9。
另外,在所述第N-q个字节中q大于或等于N,且所述第N-p个字节中p大于或等于N时,所述第一组预设字节可包括所述72位解搅动密钥的第n2个字节及所述72位解搅动密钥的第n3个字节;其中,n2、n3均为整数,且且n2≤9、n3≤9。另外,在具体实施例中可选n2≠n3≠n1。进一步地,在所述第N-(q+y)个字节中的(q十y)大于或等于N,且所述第N-(p+x)个字节中(p+x)大于或等于N时,所述第二组预设字节可包括所述72位解搅动密钥的第m2个字节以及所述72位解搅动密钥的第m3个字节;其中,m2、m3均为整数,且m2≤9、m3≤9, 另外在具体实施例中可选m2≠m3≠m1。
进一步地,所述第一子密钥、第二子密钥和第三子密钥相互独立,且每个子密钥包括24位。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。