3.1 对称加密体制概述 – lmn
0x01 现代密码算法
相对于对称加密算法与非对称加密算法,现代密码算法其实还包括“单向加密算法”(也称为摘要算法)
是一种将任意长度的数据转变为固定长度,可称为哈希算法
可参考我的另一篇文章:
https://www.yuque.com/tidesec/grghkw/npnhbr
0x02 对称加密概要
对称加密(symmetrical encryption)
对称加密通常采用单钥密码系统的加密方法,加密与解密使用相同的密钥
因为对称加密的特性,对称加密要比非对称加密所消耗的时间短,更少的存储空间和更快的传输速度,效率高
对称加密的密钥通常比较小,一般小于256bit,小密钥加密的速度会快
0x03 对称加密类型
对称密钥加密可以使用流密码或分组密码
- 流密码一次加密一条消息的数字(通常是字节)或字母(替代密码)
- 替换密码是众所周知的密码,但可以使用频率表轻松解密
- 块密码采用多个位并将它们作为一个单元进行加密,填充明文使其成为块大小的倍数
现在流行的对称密钥算法包括:Twofish、Serpent、AES (Rijndael)、Camellia、Salsa20、ChaCha20、Blowfish、CAST5、Kuznyechik、RC4、DES、3DES、Skipjack、Safer和IDEA
0x04 对称加密安全性
对称密码历来容易受到已知明文攻击、选择明文攻击、差分密码分析和线性密码分析的影响
仔细构建每一轮的函数可以大大降低攻击成功的机会,还可以增加密钥长度或加密过程中的轮数,以更好地防止攻击
但是,由于系统需要执行的操作量,这往往会增加处理能力并降低进程运行的速度
因此,实施对称加密(尤其是使用硬件)可能非常有效,因为不会因为加密和解密而经历任何明显的时间延迟,对称密码术还提供了一定程度的身份验证,因为用一个对称密钥加密的数据不能用任何其他对称密钥解密
0x05 DES
DES全称为Data Encryption Standard,即数据加密标准
DES是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来
DES设计中使用了分组密码设计的两个原则:
- 混淆(confusion)
混淆是使密文的统计特性与密钥的取值之间的关系尽可能复杂化,以使密钥和明文以及密文之间的依赖性对密码分析者来说是无法利用的 - 扩散(diffusion)
扩散的作用就是将每一位明文的影响尽可能迅速地作用到较多的输出密文位中,以便在大量的密文中消除明文的统计结构,并且使每一位密钥的影响尽可能迅速地扩展到较多的密文位中,以防对密钥进行逐段破译
0x06 AES
密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准
这个标准用来替代原先的DES(Data Encryption Standard),已经被多方分析且广为全世界所使用
经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院 (NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准,2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一
3DES算法
3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法
0x07 对称加密的密钥管理问题
对称密钥的缺陷是密钥管理方面,包括:
钥匙用尽
每次使用密钥都会“泄露”一些信息,攻击者可能会使用这些信息来重建密钥,针对这种行为的防御措施包括使用密钥层次结构来确保不会过度使用主密钥或密钥加密密钥,以及对加密大量数据的密钥进行适当的轮换
为了易于处理,这两种解决方案都需要有效的密钥管理策略,就好像(例如)无法恢复已停用的加密密钥,数据可能会丢失
归因数据
与非对称(公钥)证书不同,对称密钥没有嵌入的元数据来记录诸如到期日期或访问控制列表之类的信息,以指示密钥的用途——例如加密而不是解密
ANSI X9-31 等标准在某种程度上解决了后一个问题,其中密钥可以绑定到规定其用法的信息,但是为了完全控制密钥的用途和使用时间,需要一个密钥管理系统
大规模密钥管理
在一个方案中只涉及几个键(几十到几百)的情况下,管理开销是适度的,可以通过手动的人工活动来处理,然而,对于一个大的资产,跟踪到期和安排密钥的轮换很快变得不切实际
References:
https://www.ibm.com/docs/en/ztpf/2020?topic=cryptography-bulk-ciphers
https://www.cryptomathic.com/news-events/blog/symmetric-key-encryption-why-where-and-how-its-used-in-banking
请登录后查看回复内容