【CS】Cryptography
02 February 2017
1. 引言
1.1 对称算法与非对称算法
对称算法
加密密钥和解密密钥可以互推,也叫“单钥算法”。如DES、IDEA、AES
非对称算法
加密密钥和解密密钥不可以通过对方计算处理,也叫”公钥算法“。如RSA、椭圆曲线。
1.2 保密通讯系统安全性要求
-
系统即使达不到理论上是不可破的,也应当为实 际上不可破的。就是说,从截获的密文或某些已知 的明文密文对,要决定密钥或任意明文在计算上是 不可行的。
-
系统的保密性不依赖于对加密体制或算法的保密 而依赖于密钥。这是著名的Kerckhoff原则。
-
加密和解密算法适用于所有密钥空间中的元素 4 系统便于实现和使用。
1.3 密码算法要满足以下两条准则之一:
- 破译密文的代价超过被加密信息的价值。
- 破译密文所花的时间超过信息的有用期。
1.4 密码方案
- 无条件安全的(不可破译的):一次一密方案(一次一密乱码本)
- 计算上安全的:流密码、分组密码、公钥密码
2. 流密码
3. 分组密码
分组密码是许多系统安全的一个重要组成部分。可用于构造
- 伪随机数生成器
- 流密码
- 消息认证码(MAC)和杂凑函数
- 消息认证技术、数据完整性机制、实体认证协议以 及单钥数字签字体制的核心组成部分。
3.1 美国数据加密标准DES(Data Encryption Standard)
发展史: DES -> DEA -> (EES) -> AES
分组长度为64 bits (8 bytes)
- 密文分组长度也是64bits。
- 密钥长度为64bits,有8bits奇偶校验,有效密钥长度为56bits。
- 算法主要包括:初始置换IP、16轮迭代的乘积变换 、逆初始置换IP以及16个子密钥产生器
我写的代码在这里
3.2
blog comments powered by Disqus