对蓝牙技巧中的加密算法的进一步探讨毕(3)
2013-11-21 01:02
导读:蓝牙所采纳的E0流密码算法的本身就有一些弱点。流密码算法首要的错误在于若一个伪随机序列产生差错便会使全部密文产生差错,致使在解密历程中无法
蓝牙所采纳的E0流密码算法的本身就有一些弱点。流密码算法首要的错误在于若一个伪随机序列产生差错便会使全部密文产生差错,致使在解密历程中无法还原回明文。流加密算法系统 的安全完整依赖密钥流产生器的内部机制。如果它的输出是无穷 无尽的0序列,那么密文就是明文,这样全部系统 就一文不值;如果它的输出是一个周期性的16-位模式,那么该算法仅是一个可漠视 安全性的异或运算;如果输出的是一系列无尽的随机序列(是真正的随机,非伪随机),那么就有一次一密乱码本和非常完善的安全。实际的流密码算法的安全性依附于简略的异或运算和一次一密乱码本。密钥流产生器产生 的看似随机的密钥流实际上是断定的,在解密的时候能很好的将其再现。密钥流产生器输出的密钥越接近于随机,对密码分析 者来说就越艰苦。然而,这种随机的密钥流却不容易得到。
在蓝牙E0流加密中用到的 LFSR易受到相干攻击和分割解决攻击,且用软件实现效率 非常低。在实现历程中要避免稀疏 的反馈多项式,因为它们易遭到相干攻击,但稠密 的反馈多项式效率 也很低。事实上LFSR算法用软件实现并不比DES快。
以上的这些问题会让人觉得蓝牙的安整个系是高度不可靠的,然而一个不可漠视 的事实是:通过蓝牙连接 传输的数据一般来说并不是非常首要的。目前蓝牙标准 考虑 到的安全技巧只实用于规模 较小的网络,如果网络结点较多,拓扑繁杂 (如Ad Hoc网络),现有的基于点对点的密钥分配和认证机制不能满足需求。蓝牙所供给的数据安全性措施 对小型利用来说看起来已足够了,但任何敏感数据或会产生 问题的数据都不应直接通过蓝牙传输。为了使蓝牙技巧利用得更广泛 ,我们可采纳另外更强劲的加密算法,如DES算法。
5 DES解决方案
(转载自中国科教评价网www.nseac.com )
5.1 DES简介
1977年1月,美国政府采用了由IBM研制的作为非绝密信息的正式标准 乘积密码。这勉励了一大宗生产厂家实现这个在保密产业中成为数据加密标准 DES(data encrytion standard)的加密算法。此算法有一个64比特的密钥作为参数。明文按64比特分组加密,生成64比特的密文。
由于DES是一种块加密法子 ,这意味着加密历程是针对一个数据块一个数据块地进行的。在DES算法中,原始信息被分成64位的固定长度数据块,然后利用 56位的加密密钥通过置换和组合法子 生成64位的加密信息。解密用的密钥与加密密钥雷同,只是解密步骤正好相反。DES传送数据的一般情势是以代入法密码款式按块传送数据。DES采纳的加密法子 ,一次加密一位或一个字节,形成密码流。密码流具有自同步的特性,被传送的密码文本中产生差错和数据丧失,将只影响最终的明码文本的一小段(64位),这称为密码反馈。
与蓝牙流密码算法不同,
数学上可以证明分组加密算法是完整安全的。DES块密码是高度随机的、非线性的,生成的加密密文与明文和密钥的每一位都相干。DES的可用加密密钥数量多达72 x 1015个。利用于每一明文信息的密钥都是从这一庞大数量的密钥中随机产生 的。DES算法已被广泛 采纳并被觉得是非常可靠的。
5. 2蓝牙中用DES代替 E0流密码
如图1,在两个蓝牙设备 经过认证并已生成了加密密钥Kc后就可进行加密了。因为Kc可在8~128比特变更,而DES加密算法应用长度为56比特的密钥加密长度为64比特的明文从而获得64比特的密文,所以这里可取Kc的长度为56比特。用DES加密蓝牙数据分组的历程如下:
a) 将来自蓝牙分组分割成64比特的明文段。其中的一段记为x=DIN[63:0],先通过一个固定的初始置换IP,将x的比特置换为x0。即:x0=IP(x)=L0R0,这里L0是x0的前32比特,R0是x0的后32比特。
(科教论文网 lw.NsEac.com编辑整理)
b) 进行16轮完整雷同的运算,在这里是数据与密钥相联合,例盘算 LiRi, 。
Li=Ri-1
Ri=Li f(Ri-1,Ki)
其中Ki是来自密钥Kc=Key[63:0]的比特的一个置换效果。而f函数是实现代替 、置换及密钥异或的函数。
c) 对R16L16进行初始置换IP的逆置换IP ,获得密文y=DOUT[63:0],即y= IP (R16L16)。最后一次迭代后,左边和右边未交换 ,将R16L16作为IP 的输入,目标是使算法可同时用于加密和解密。
无论是硬件还是软件,此DES加密方案 都易实现。其中DES的硬件实现如图3。此硬件加密方案 采纳低成本的可编程逻辑器件和现成可用的用于高档加密处理 的智力产权(IP)产品实现。目前,大宗量时只用10美元即可购置到10万系统 门的可编程逻辑器件。这些器件还容许在设计中增加其它功效,如高档差错纠正 。因此可编程逻辑器件可大幅度降低 系统 级的成本。
用软件(这里选用C语言)来实现该加密算法。为了算法实现的方便 ,这里删去了初始置换和末置换。
将此加密算法嵌入蓝牙协议 中的基带部分以代替 E0流密码算法,可容许蓝牙技巧安全地利用到领域广泛 的安全性具有最首要地位 的利用中去。这些利用包孕:金融电子交易:ATM、智能卡 ,安全电子商务交易 ,安全办公通信 ,安全视频监督系统 ,数字机顶盒 ,高清楚度电视(HDTV) ,其它消费电子设备 等领域 。
另外,对蓝牙加密这个历程中,可创造DES加密算法在近距离无线局域网的特定环境下存在一些问题。进而优化算法,最终可为利用于各种近距离无线网络通信 的加密算法的选择供给有实际意义的参考根据。
6 收场语