安企神电脑监控软件 在线试用
扫码咨询客服
安企神电脑监控软件、局域网监控软件
首页
功能介绍
产品简介
下载中心
帮助中心
客户列表
关于安企神

EPON三重搅动加密算法

更新时间:2022-10-28 15:43:13


本文简介:EPON搅动加密算法是针对PON结构提出的一种安全解决方案,目前搅动加密算法分为单重搅动和三重搅动。三重搅动算法是在单重搅动算法的基础上扩展而成,其增加了搅动后数据的时域关联性,进而提高用户数据的安全性。一、三重搅动算法原理EPON系统下行方向采用广播方式,恶意用户很容易截获系统中其它用户的信息。ONU为了使自己的信息不被其他ONU读懂,要求OLT在发送它的数据信息前按每个ONU自己提供的密码(搅

EPON三重搅动加密算法

EPON搅动加密算法是针对PON结构提出的一种安全解决方案,目前搅动加密算法分为单重搅动和三重搅动。三重搅动算法是在单重搅动算法的基础上扩展而成,其增加了搅动后数据的时域关联性,进而提高用户数据的安全性。

一、三重搅动算法原理

EPON系统下行方向采用广播方式,恶意用户很容易截获系统中其它用户的信息。ONU为了使自己的信息不被其他ONU读懂,要求OLT在发送它的数据信息前按每个ONU自己提供的密码(搅动键)在TC层进行搅动加密。

应OLT的要求,ONU提供搅动键,使用3个字节的键完成搅动功能。搅动键是从上行用户数据中提取出来的3个字节数据和3个字节随机产生数的异或相加的结果。这三个字节共24位码,它们是X1-X8和P1-P16,均映射在信息域中。 通过对X1-X8和P1-P16的逻辑运算,产生搅动键K1-K10。在搅动端利用K1、K2、P1-P12共14比特按照固定对8比特宽的数据流进行搅动,在解搅动端利用同样的14比特对8比特长的经过搅动的数据(密文)进行解搅动。

为防止窃听者逐个试探解密,需要对搅动键定时更新,每个ONU更新的频率至少每秒更新一次。

三重搅动加密算法是在单重搅动加密算法的基础上扩展而成,其增加了搅动后数据的时域关联性,进而提高用户数据的安全性。为提高用户数据的保密性,系统支持针对每个LLID的搅动功能.每个LLID都有独立的密钥。搅动由OLT提出密钥更新要求,ONU提供3字节搅动密钥,OLT使用此密钥完成搅动功能。在启用搅动功能后,对所有的数据帧和OAM帧进行搅动。搅动密钥的更新和同步过程采用基于OrganizationSpecific Exfension的OAM PDU方式。

户数据的安全性。为提高用户数据的保密性,系统支持针对每个LLID的搅动功能.每个LLID都有独立的密钥。搅动由OLT提出密钥更新要求,ONU提供3字节搅动密钥,OLT使用此密钥完成搅动功能。在启用搅动功能后,对所有的数据帧和OAM帧进行搅动。搅动密钥的更新和同步过程采用基于OrganizationSpecific Exfension的OAM PDU方式。

第一级搅动引擎chutning_1的输出与两个8位矢量进行逐比特的异或(XOR)运算:第一个矢量是前一个输入加密字节,当所加密的字节为一个数据帧的第一个加密字节时,该矢量为密钥的最低位字节。第二个矢量是4个字节前的三重搅动后的数据输出。对于一个帧中的前4个加密字节,用"0"代替data_out[N-4]。XOR_1的输出经过比特移位输入ehurning_2。移位规则如下:比特2、4交换,比特3、5交换,比特0、1、6、7位置不变。

第二级搅动引擎Churning_2的输出也与两个矢量进行逐比特XOR运算:第一个矢量是二字节前的输入加密字节,当所加密的字节为一个数据帧的第一个加密字节时,该矢量为密钥的第二低位字节。当所加密的字节为一个数据帧的第二个加密字节时,该矢量为密钥的最低位字节。第二个矢量是5个字节前的三重搅动后的数据输出。XOR_2的输出仍然经过比特移位输入第三级搅动引擎chuming_3,移位规则同前。三重解搅动的实现为三重搅动功能的简单镜像,其实现方案如图所示。

二、三重搅动加密算法的安全性

ITU-T G.983标准描述的单重搅动采用3字节随机数作为搅动码.搅动码和其生成的10比特辅助搅动参数构成一组搅动密钥.在搅动端对固定8bit宽的数据流进行搅动。24比特对8比特明文搅动得到8比特密文,但上文已知对半个字节的搅动密钥仅有8比特,而高半字节和低半字节搅动过程中没有相关性,因此对于8比特明文的搅动所使用到的密钥最多不超过16个,密钥总数相当于216=65536,采用穷举法破译.每微秒可搜索一百万次的计算机所需破译时间不到0.1μs。

ITU-T G.983标准描述的单重搅动采用3字节随机数作为搅动码.搅动码和其生成的10比特辅助搅动参数构成一组搅动密钥.在搅动端对固定8bit宽的数据流进行搅动。24比特对8比特明文搅动得到8比特密文,但上文已知对半个字节的搅动密钥仅有8比特,而高半字节和低半字节搅动过程中没有相关性,因此对于8比特明文的搅动所使用到的密钥最多不超过16个,密钥总数相当于216=65536,采用穷举法破译.每微秒可搜索一百万次的计算机所需破译时间不到0.1μs。

为了提高异或运算的破译难度,三重搅动算法将加密算子的数量设为两个。一个是第4或第5字节前三重搅动的输出数据,一个是第1或第2字节前的输入数据。该方式可以使当前搅动输出与以前的搅动输出相关联,使单重搅动情况下容易重复出现的某些图案在三重搅动情况下无法被探测到。时域关联使加密算子无规律地更新。

三重搅动采用比特移位的方式,使高半字节和低半字节相关联。和单重搅动相比,单独破译出半字节数据的情形将不再出现,每比特数据对应的密钥数由原来的8个增加到14个,如比特3原来只由有K1、K2、P1-P4、P9和P10共8比特密钥决定,现在则为K1-K2和P1-P12共14比特密钥决定,文件加密的复杂性得到提高。

单重搅动加密算法的密钥长度短,安全级别低,最简单的穷举攻击也能对它实现短时间破译。三重搅动加密算法使用三个级联搅动器,增加密钥数量,采用时域关联的异或运算,并用比特移位实现了明文高低半字节之间的搅动连接。三重搅动加密算法保留了搅动方案所特有的优点,并且成本较低,从而弥补了单重搅动加密算法安全性不高的缺陷。

小知识之EPON:

EPON(以太无源光网络)是一种新型的光纤接入网技术,它采用点到多点结构、无源光纤传输,在以太网之上提供多种业务。它在物理层采用了PON技术,在链路层使用以太网协议,利用PON的拓扑结构实现了以太网的接入。因此,它综合了PON技术和以太网技术的优点:低成本;高带宽;扩展性强,灵活快速的服务重组;与现有以太网的兼容性;方便的管理等等。

立即下载试用

三重DES加密算法原理与实现(一)

随着信息技术的飞速发展,人们对信息系统的安全性,信息传输的保密性要求越来越高。伴随着通信和计算机技术发展起来的现代密码学,不仅在解决信息的机密性、而且在解决信息的完整性、可用性和抗抵赖性方面发挥着不可替代的作用。密码技术使得两个在不安全信道中通信的人,以一种使其敌手不能明白和理解通信内容的方式进行通信,保证了信息的安全。就密码体制而言,一般分为两类,对称密码体制和公钥密码体制。

对称密码体制其特点是发送和接收的双方使用同一密钥,且该密钥必须保证不被泄露;加密算法的安全性依赖于密钥的秘密性,而非算法的秘密性。DES加密算法就是对称加密体制中的佼佼者。1977年1月,美国政府采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(DES)。DES被授权用于所有公开的和私人的非保密通信场合,后来它又曾被国际标准组织采纳为国际标准。

虽然现在DES已不作为数据加密标准,但至今它仍然被广泛的应用,而且它是一种最有代表性的分组加密体制。因此,研究这一算法的基本原理、设计思想、安全性分析以及实际应用中有关问题,对于掌握分组密码理论和当前的实际应用都是很有意义的。

一、 DES算法原理

DES是一种分组加密算法。明文分组长度为64位。加密得到的密文分组长度为64位。密钥长度64位,8个字节。每一个字节的最高位用于奇偶效验,所以有效密钥长度为56位。其分组加密过程描述如下:①子密钥Ki的生成。②64位的明文经过一个初始置换IP后,被分成左右两半部分,每个部分32位,以L0和R0表示。③进行16轮迭代变换:第i 轮变换将上一轮变换所得到的结果的右半部分与第i个子密钥Ki结合,这个过程称为f函数。第i轮变换结果的左半部分为上一轮变换结果的右半部分(即:Li=Ri-1),其右半部分为上一轮变换结果的左半部与上一轮变换结果的右半部经过F函数处理所的结果的异或:Ri=Li-1⊕F(Ri-1,Ki)。④16轮变换之后左右两部分再连接起来,经过一个初始逆置换IP-1得到密文。 其加密过程如图1所示。

DES的解密算法与加密算法完全相同,只需要将密钥的应用次序与加密时相反应用即可。即解密过程是初始置换函IP数接受长度为64比特的密文输入, 将16个子密钥按照K16到K1的顺序应用与F函数的16轮迭代运算中, 然后将迭代的结果经由末置换函数IP-1得到64位的明文输出。

二、 两个密钥的三重DES

由于DES密钥只有56bit,易于遭受穷举时攻击。作为一种替代加密方案,Tuchman提出使用两个密钥的三重DES加密方法,并在1985年成为美国的一个商用加密标准。该方法使用两个密钥,执行三次DES算法,如图2所示。加密的过程是加密-解密-加密,解密的过程是解密-加密-解密。

采用两个密钥进行三重加密的好处有:①两个密钥合起来有效密钥长度有112bit,可以满足商业应用的需要,若采用总长为168bit的三个密钥,会产生不必要的开销。②加密时采用加密-解密-加密,而不是加密-加密-加密的形式,这样有效的实现了与现有DES系统的向后兼容问题。因为当K1=K2时,三重DES的效果就和原来的DES一样,有助于逐渐推广三重DES。③三重DES具有足够的安全性,目前还没有关于攻破三重DES的报道。

三、Java语言编程实现DES算法

1、 子密钥的生成

1) PC-1变换。

将原密钥的各位按照PC-1矩阵重新排列,这一过程剔除了奇偶校验位。PC-1如下:

57 49 41 33 25 17 9

1 58 50 42 34 26 18

10 2 59 51 43 35 27

19 11 3 60 52 44 36

63 55 47 39 31 23 15

7 62 54 46 38 30 22

14 6 61 53 45 37 29

21 13 5 28 20 12 4

2) 将排好的密钥分成两部分,前面28位为C0,后面28位为D0。

3) 从i=1开始,循环执行16次以下步骤得到16个子密钥。

① 对Ci-1和Di-1进行相同位数的循环左移,得到Ci和Di

左移的位数为:

i取数值: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

移 动 数: 1 1 2 2 2 2 2 2 1 2 2 22 221

② 连接Ci和Di,按照矩阵PC-2排列选择合适的位,构成子密钥Ki,该过程将56位压缩到48位,PC-2如下:

14 17 11 24 1 5

3 28 15 6 21 10

23 19 12 4 26 8

16 7 27 20 13 2

41 52 31 37 47 55

30 40 51 45 33 48

44 49 39 56 34 53

46 42 50 36 29 32

知识点:

三重DES就是对明文使用两个以上不同的密钥利用相同的加解密算法分别加解密处理三次。

本文为收集整理,文章部分观点不代表本站观点,如有侵权或其它问题请反馈客服。https://www.wgj7.com/cjwt/16253.html