雪月书韵茶香 雪月书韵茶香

专心做可以提升自己的事情
学习并拥有更好的技能
成为一个值得交往的人


目录
对称密码机制
/  

对称密码机制

网络安全学习笔记(二)-对称密码机制

密码封面.jpg

对称密码模型

对称密码模型

假设消息源要发送机密消息给消息目的端,消息源将要发送的消息应用加密的算法和密码 K 进行加密得到密文 C,然后将密文 C 通过公共信道传递到目的端,目的端通过解密算法和密钥 K 进行解密密文得到明文。

为了目的端需要正确的解密密 C,消息源需要将密钥 K 从安全信道发送到目的端

对称密码的显性特点是加密密钥和解密密钥是一样的,需要注意的是传递密文 C 的公共信道是否安全,可能存在攻击者(密码分析者)根据获取得算法和密文试图推导出或估计出密钥 K 甚至破译出明文

对称密码模型五个基本成分
1.明文
2.加密算法
3.密钥
4.密文
4.解密算法

流密码

将明文视为位流或字节流,每次加密数据流的一位或一个字节。

流密码模型

流密码模型

消息端通过加密算法加密出密文流,目的端通过解密算法将接收到的密文流解密出明文流

同样双方共享的密钥 K 需要通过安全信道从消息源传递给消息的目的方

流密码的基本组成部分

1.明文序列
明文序列

2.密钥
密钥

3.密文序列
密文序列

4.加密算法
加密算法

5.解密算法
解密算法

流密码的安全性

当密钥流序列是真的具有均匀分布的随机序列时,在同一对称密钥 K 下加密消息的密钥流之间没有任何的关联性,达到一次一密的效果,在理论上是不可破译的。

在实际应用中,真正的随机序列是不可能重复产生的,所以只能产生密码学意义上尽可能安全的伪随机密钥流。

流密码的加解密算法通常比较简单,如明文和密钥流逐位异或,其安全性依赖于密钥生成算法的强度。

常用的流密码算法

RC4(Rivest Cipher 4)

RC4 算法简单、高效、适合软件实现,加密速度比分组密码 DES 快大约 10 倍,广泛应用于 Windows,Lotus Notes,SSL(Secure Socket Layer)、TLS(Tranport Security),无线通信中的 WEP(Wired Equivalent Privacy)和 WPA(Wi-Fi Protected Access )

国外数据安全公司 Imperva 的研究员 Itsik Mantin 在 2015 年 3 月 26 日曝出由于 RC4 的弱密钥漏洞,SSL/TLS 协议易受“受戒礼”攻击(Bar Mitzyah Attack)(CNVD-2015-02171,CVE-2015-2808)攻击者可以在特定环境下只通过嗅探监听就可以还原采用 RC4 保护的加密信息中的纯文本,导致账户、密码、信用卡信息等重要敏感信息暴露,并可以通过中间人(Main-i-the-middle)进行会话劫持。

RC4 的弱密钥漏洞也影响了其在其它领域的应用,Win10 Edge 以及 IE11 浏览器已在 2016 年初停止敌对 RC4 加密算法的支持;新的无线网络安全标准 802.11i 将比 RC4 更安全的 AES 作为其数据保密和完整性保护算法。

A5

A5 有三个版本 A5/1,A5/2,A5/3

A5/1 安全性更高,仅限于欧洲使用,是欧洲数字蜂窝移动电话系统(GSM)采用的流密码加密算法,用于加密从移动台到基站的连接。

A5

A5 性能:

效率高,适合在硬件上高效实现

A5 安全性:

A5 安全性

祖冲之序列算法

由中国科学院数据与通信保护研究教育中心(DACAS)自主设计,包括祖冲之算法简称(ZUC)和以此为基础的加密算法 128-EEA3 和完整性算法 128-三部分,于 2010 年 6 月首次发表

祖冲之序列算法

ZUC 算法是一个三层结构:上层为素数域上的线性反馈移位寄存器 LFSR,中间层为比特重组 BR,下层为非线性函数 F,具有比较高的安全性。

ZUC 三层结构

ZUC 算法以 128 比特的密钥和 128 比特的初始向量作为输入,每次输出 32 比特的流密码。EEA3 算法通过将明文直接与 ZUC 产生的密钥流进行异或实现加密,EIA3 算法利用明文比特控制 ZUC 产生的密钥流做迭代运算生成 MAC 值。

分组密码

将明文划分为更长的分组(如 64 位,128 位等),将每个明文分组作为一个最小数据单元进行加密,通常得到与明文等长的密文分组。

分组

分组密码

分组密码基本工作原理

分组密码模型

分组密码模型

待加密明文往往需要填充到分组块大小的整倍数

分组密码的五种工作模式

对于基本的分组密码算法,相同的数据分组输入和密钥会产生相同的输出,对于较长的数据,直接应用分组密码算法就需要多次使用相同的密钥加密多个分组,从而引发许多安全问题;在实际应用中,需要针对不同的需要采用不同的工作模式来增强密码算法的安全性

分组密码的 ECB 工作模式

电子密码本(Electronic Code Book)模式

最简单的加密模式,明文消息被分成固定大小的块(分组),每个块被单独使用相同的方法进行加密;
电子密码本

适用于数据较少的情形

对于很长的信息或者具有特定结构的信息,其大量重复的信息或固定的字符结构会给攻击者提供大量的已知明密文对,安全性较差

分组密码的 CBC 工作模式

密码块链(Cipher Block Chaining)模式

每一个分组和前一个分组的密文进行异或操作,然后再加密;第一个分组进行加密之前用初始化向量 IV 进行异或操作

加密

解密

CBC 特点:

密码块链的应用相当于对分组进行了两次加密,不同分组的密文块不独立,每个密文块依赖该块之前的所有明文块,增强了安全性,不过加解密过程不能并行处理。
具有一定随机性的初始化向量 IV 使得在相同密钥和加密算法下,每条消息(即使内容相同的消息)的密文具有唯一性,增加了密码分析的难度

链接模式的一个显著特点是差错传递,前面密文分组上的某些错误会影响到后面其他密文分组的解密。

分组密码的 CFB 工作模式

密码反馈(Clipher Freedback)模式

具有流密码的特点,用前一个分组的密文加密产生下一个密钥流块,然后与但当前明文分组异或操作生成当前分组的密文。第一个分组是用初始向量的密文作为第一个密钥流块。

加密

解密过程仍用同样的加密算法,前一个密文加密之后的输出与当前密文分组进行异或得到当前明文分组。

解密

CFB 特点:

1.CFB 模式的链接模式会有差错传递
2.应用流密码加解密数据,对称加密算法只用于生成密钥流
3.若明文的最后一个分组长度小于分组整长,无需填充,对密钥流做移位和丢弃操作即可。

分组密码的 OFB 模式

输出反馈(output Feedback)模式

输出反馈模式

和 CFB 类似:应用流密码方式加密数据,因此解密和加密流程 完全一样
和 CFB 不同的是:OFB 可以根据明文长度先独立生成相应长度的密钥流,从而不需要填充数据为块的整倍数。

OFB 特点:

与链接模式相比,明文分组不参与对称加密的过程,因而密文分组上某些错误不会影响到到其他密文分组的解密

然而若攻击者改变密文的一部分可能并不会被察觉,因而其消息完整性难以验证;

若明文的最后一个分组长度小于分组整长,无需填充,做移位和丢弃操作即可

密钥流只依赖与于密钥 K 和初始向量,若初始向量不变极易被攻击。

分组密码的 CTR 模式

计数器(Counter)模式

和 OFB 相同:将分组密码转换为流密码
和 OFB 不同:它通过加密连续的“计数器”值来产生密钥流块。

CTR 模式的特点

1.软硬件效率高,同链接模式相比,CTR 能够并行加密和解密,没有差错传播
2.由于加密解密过程不依赖明文和密文,因此可以做预处理以提高效率
3.可以随机访问某一明文或者密文分组进行部分加密和解密
4.若明文的最后一个分组长度小于分组长度,无需填充填充,类似 CFB 做移位和丢弃操作即可

分组密码的工作模式的应用

分组密码工作模式的应用

常用的分组密码算法

数据加密标准(DES)

DES(Data Encryption Standard)是美国国家标准局 NIST 于 1977 年公布的由 IBM 公司研制的加密算法。

DES

DES 算法的分组长度为 64 比特,密钥的长度是 64 比特,有效的密钥长度为 56 比特,通过密钥扩展算法进行扩展。DES 的加密和解密算法完全相同使用的轮函数为 Feistel 结构,交替使用代替或置换,共 16 轮,只是它的解密和加密的值秘钥的使用顺序刚好相反

随着计算能力的提高,DES 算法由于密钥长度太短面临安全威胁;

1998 年 5 月美国 EFF 宣布,他们以一台价值 20 万美元的计算机用 56 小时破译了 56 比特的 DES 算法

1998 年 12 月美国决定不再使用 DES;

DES 算法被扩展到二重 DES、三重 DES;

二重 DES

应用两个密钥的两次 DES 加密,密钥长度 112 比特;

1992 年已证明二重 DES 产生的映射不会等价于单重 DES 加密,安全性比单重 DES 加密有极大增强

二重 DES

二重 DES 加密的第一次加密结果等于密文第一次解密结果,利用此特性攻击者可以有效的实施中间相遇攻击

中间相遇攻击

已知一对明密文对分别对明文和密文进行 2 的 56 次方加密和解密,寻找匹配的中间结果 X,从而获取到密钥,找到正确密钥的概率会非常的高(1 减去 2 的负十六次方)

预防的二重 DES 加密缺陷(易遭受中间相遇攻击)的有效措施是采用三重 DES 加密

三重 DES

利用两个不同密钥的三重 DES 和利用三个不同密钥的三重 DES

两个密钥三重 DES

如图所示两个密钥的三重 DES 加密操作顺序是
1.应用密钥 K1 加密
2.应用密钥 K2 解密
3.再利用密钥 K1 加密
4.
如图所示两个密钥的三重 DES 解密操作顺序是
1.应用密钥 K1 解密
2.应用密钥 K2 加密
3.再利用密钥 K1 解密

三个密钥的三重 DES

如图所示三个密钥的三重 DES 加密顺序是
1.应用密钥 K1 加密
2.应用密钥 K2 解密
3.应用密钥 K3 加密

如图所示三个密钥的三重 DES 解密顺序是
1.应用密钥 K3 解密
2.应用密钥 K2 加密
3.应用密钥 K3 解密

三重 DES 加密的特点

密钥长度增加到 112 或 168 位,安全性大大增强,能抵抗暴力破解和中间相遇攻击;

软件实现的处理速度较慢;

明文长度仍为 64 位,与密钥长度相比,效率偏低。

高级加密标准(AES)

美国国家标准和技术研究所 NIST 发起征集 AES(Advanced Encryption Standard)的活动。2001 年 10 月,NIST 宣布比利时的学者 Joan Daemen 和 Vincent Rijmen 设计的 Rijndael 为的 AES

AES

AES 算法特点

1.密钥长度可变,可独立的指定 128/192/256 比特的密钥长度
2.AES 的轮函数不是 Feistel 结构,而是有限域上的非线性变换,轮函数的轮数可选为 10/12/14
3.加解密算法相似,但不完全相同

AES 结构简单,效率高,安全性好,是目前应用最为广泛的分组密码

国际数据解密算法(IDEA)

IDEA(International data encryption algorithm)由瑞士学者提出,于 1991 年公布

IDEA

中国分组密码算法标准(国密)SM1/SM4/SM7

SM1

分组长度和密钥长度都为 128 比特;

算法安全保密强度及相关软硬件实现性能与 AES 相当,算法不公开,仅以 IP 核的形式存在于芯片中;

SM1 应用

目前已根据 SM1 算法研制了系列相关产品,广泛应用于电子政务,电子商务及国民经济的各个领域包括国家政务通、警务通等政治领域

SM4

分组长度和密钥长度为 128 比特

算法公开,2012 年发布为我国密码行业标准 GM/T 0002-2012

加密算法于密钥扩展算法都采用了 32 轮非线性迭代结构。解密算法与加密算法的结构相同只是轮密钥的使用顺序相反。

此算法主要用于无线局域网产品

SM7

分组长度和密钥长度为 128 比特

SM7 算法不公开;

SM7 适用于非接触式 IC 卡,应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通等)

对称密码的安全性

对称密码的安全要求

对称密码的安全使用是在算法不保密而密钥保密的条件下,满足以下两个安全要求

1.加密算法足够强。即使攻击者拥有一定数量的密文及其对应的明文,他也不能破译未知的密文或获得密钥

2.发送者和接受者必须在某种安全的形式下共享密钥且保证密钥安全


算法的不保密使得制造商可以开发低成本的加密芯片从而促进对称密码的广泛使用。


标题:对称密码机制
作者:shuaibing90
版权声明:本站所有文章除特别声明外,均采用 CC BY-SA 4.0转载请于文章明显位置附上原文出处链接和本声明
地址:https://www.xysycx.cn/articles/2020/02/20/1582191782412.html
欢迎加入博主QQ群点击加入群聊:验证www.xysycx.cn