对蓝牙技巧中的加密算法的进一步探讨毕(2)
2013-11-21 01:02
导读:在认证历程中,用于蓝牙认证的E1认证函数来盘算出一个安全认证码或被称为MAC(媒体造访把持地址)。E1所采纳的算法是SAFER+,SAFER+算法是参与1997年美国
在认证历程中,用于蓝牙认证的E1认证函数来盘算出一个安全认证码或被称为MAC(媒体造访把持地址)。E1所采纳的算法是SAFER+,SAFER+算法是参与1997年美国国家 标准 技巧钻研所(NIST)征集AES(Advanced Encryption Standard)的候选算法之一。SAFER+是基于现有的64位分组密码的SAFER-SK128,因此它的安全性可以说是经过了光阴的考验。
E1函数的输入是link key,AU_RAND及BD_ADDR,它的定义如下:
E1:
在蓝牙技巧中,认证采纳口令-应答法子 。验证方请求申请者辨别随机数AU_RAND并返回盘算效果 SRES,若双方的盘算效果相等则认证成功 ,并保存 ACO(Authenticated Ciphering Offset)值。 若某次认证失败,则必须 等候必然的光阴间隔才干进行再次认证
3. 2加密算法
在蓝牙技巧中,用户信息可采纳分组有效载荷的加密进行保护,但辨认码和分组头不加密。有效载荷的加密采纳 E0流密码来实现。E0将对每一有效载荷重新同步。流密码系统 E0由三部分组成。第一部分履行初始化(生成有效载荷字),第二部分生成密钥流,第三部分完成加密和解密,如图2。
有效载荷字 明码文本/密码文本
Kc
地址
时钟 Z 密码文本/明码文本
(科教作文网 zw.nseac.com整理)
RAND
有效载荷字产生器非常简略,它仅仅以适当 序列对输入的位进行组合,然后将它们转移到用于密钥流产生器的四位LFSR中。加密机采纳了四个线性反馈移位寄放器(LFSR),依次为LFSR1、LFSR2、LFSR3、LFSR4,其长度分辨 为25,31,33,39比特。LFSR的性质: 加密机把四个LFSR的输出效果输入到一个有限状态 机中,经有限状态 机的组合运算输出密钥流序列,若在初始化阶段则输出一个随机的初始化值。加密算法应用 Kc、BD_ADDR、主时钟CLK26-1及RAND这些参数。时钟CLK26-1按时隙递增,在任两次发送中,CLK26-1至少有一位是不同的,因此在每次初始化后都将产生 新的密钥流。对占用多个时隙的分组来说,CLK26-1为分组所占的第一个时隙的时钟值。
第二部分是该密码系统 的首要部分,并也将用于初始化历程中。密钥流取自于Massey和Rueppel流密码产生器的法子 来生成。
最后就是流加密算法的加密历程。将数据流与密码算法生成二进制流比特 进行异或运算。对于加密规矩,流密码算法用于将加密位按位模2并加到数据流上,然后通过无线接口进行传输。对每一分组的有效载荷的加密是单独进行的,它产生在CRC校验之后,FEC编码之前。由于加密是对称的,解密应用完整和加密雷同的密钥和雷同的法子 实现。
4 蓝牙标准 中加密算法存在的问题