概述
1.分析1比特的明文或密文错误对密码算法的不同模式(5种)下的加密结果及解密结果的影响。
1 ECB
一比特的明文密文错误只会影响该分组加解密,而不会影响到其他分组,但如果出现了密文中增加或丢失一些数据位,那么整个密文序列将不能正确解密。
2 CBC
明文中发生错误,会影响对应的密文分组以及之后的所有密文分组,但由于解密会反转这种影响,所以没有明文错误扩散。
密文中发生错误,会影响对应解密明文分组和其后的一个解密明文分组。随后的那个分组在解密后在同样的bit位上有错误,但再之后的分组将不会再受影响。
3 CFB
明文错误同CBC
密文错误一位会引起解密后对应明文的一位错误,错误进入移位寄存器,将导致加密输出错误,直到该错误从寄存器移除,有良好的自同步性质
4 OFB
传输过程中密文在某位上发生的错误不会影响解密后明文其他位。
5 CTR
CTR模式也具备和OFB模式类似的性质。如果CTR模式的密文分组有一个比特反转了,则解密后的明文分组中仅有与之对应的比特会被反转,这一错误不会放大。
2.你还知道分组密码算法的其他运行模式吗?
1.GCM模式
GCM是一种有大吞吐能力的加密认证模式。其中主要适用了CRT模式和类似CBC模式的GHASH模式。CRT模式基本上没有大多变化,GHASH则是利用有限域上的乘法进行HASH,此运算可以通常预先计算和查表优化加速。
GCM两个基本模块 GHASH和GCTR。加解密和认证验证过程都离不开这两个模块。
下图为GHASH流程图
下图为GCTR流程图
GCM认证加密的流程图如下:
GCM验证解密的流程图如下:
2.CCM加密认证模式
CCM是Cipher Block Chaining Message Authentication Code (CBC-MAC)和Counter模式(CTR)的组合。可以同时生存认证信息和对数据加密。CCM广泛用于互联网和物联网中对传输数据进行保护。而且很多MCU中都实现了对CCM的硬件支持,使用也比较方便。
在数据通信中,传输中的数据包由两部分构成:数据包头和用户数据(payload)。用户数据一般需要加密以防止窃听。但传输路上的设备(路由器、交换机等)往往需要参照数据包头以保证把数据包能正确地送到目的地,因此数据包头不能加密。网络通信中的风险除了窃听,还有恶意篡改、伪造等其他行为。因此为了保证收到的数据包没有被篡改,需要对整个数据、包括包头进行认证。
数据认证
认证采用CBC-MAC模式。需要指定两个参数:
(1)认证域的长度M:可以是4、6、8、10、12、14、16。
(2)长度域的长度(大小)L。
M、L均用3bit编码,编码方式如下:
M域:(M-2)/2;
L域:L-1。
为了认证处理,需要的信息如下:
(1)密钥K。
(2)Nonce N,长度为:15-L。Nonce在一个密钥的使用周期内必须确保唯一。
(3)明文信息m,其长度l(m)的范围为0≤l(m)<2^(8L),目的是其长度确保可以由L字节的长度域保存。
(4)额外认证数据a(一般为数据包的报头),其长度为l(a),大小范围为:0≤l(a)<2^(64)。这部分数据只认证(Authenticate),不加密。因此也不包含在该模式的输出中。主要是用于认证明文的报头、或影响消息解析的上下文信息。
CBC-MAC的操作流程如下:
数据加密
采用Counter(CTR)模式,其操作流程如下:
3.分组链接(BC)模式
(1)变量定义
a)q个明文分组P1,P2,…,Pq所组成的序列,每个块都为n位。
b)密钥K。
c)n位初始值IV。
d)q个反馈变量F1,F2,,F1所组成的序列,每个块都为n位。
e)q个密文分组C1,C2,…,Cq所组成的结果序列,每个块都为n位。
(2)BC加密方式
(3)BC解密方式
4.带非线性函数的输出反馈(OFBNLF)模式
(1)参数定义
(2)加密方式
(3)解密方式
最后
以上就是炙热冷风为你收集整理的无线通信安全作业2的全部内容,希望文章能够帮你解决无线通信安全作业2所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复