02 February 2017

1. 引言

1.1 对称算法与非对称算法

对称算法

加密密钥和解密密钥可以互推,也叫“单钥算法”。如DES、IDEA、AES

非对称算法

加密密钥和解密密钥不可以通过对方计算处理,也叫”公钥算法“。如RSA、椭圆曲线。

1.2 保密通讯系统安全性要求

  1. 系统即使达不到理论上是不可破的,也应当为实 际上不可破的。就是说,从截获的密文或某些已知 的明文密文对,要决定密钥或任意明文在计算上是 不可行的。

  2. 系统的保密性不依赖于对加密体制或算法的保密 而依赖于密钥。这是著名的Kerckhoff原则。

  3. 加密和解密算法适用于所有密钥空间中的元素 4 系统便于实现和使用。

1.3 密码算法要满足以下两条准则之一:

  1. 破译密文的代价超过被加密信息的价值。
  2. 破译密文所花的时间超过信息的有用期。

1.4 密码方案

  1. 无条件安全的(不可破译的):一次一密方案(一次一密乱码本)
  2. 计算上安全的:流密码、分组密码、公钥密码

2. 流密码

3. 分组密码

分组密码是许多系统安全的一个重要组成部分。可用于构造

  1. 伪随机数生成器
  2. 流密码
  3. 消息认证码(MAC)和杂凑函数
  4. 消息认证技术、数据完整性机制、实体认证协议以 及单钥数字签字体制的核心组成部分。

3.1 美国数据加密标准DES(Data Encryption Standard)

发展史: DES -> DEA -> (EES) -> AES

分组长度为64 bits (8 bytes)

  1. 密文分组长度也是64bits。
  2. 密钥长度为64bits,有8bits奇偶校验,有效密钥长度为56bits。
  3. 算法主要包括:初始置换IP、16轮迭代的乘积变换 、逆初始置换IP以及16个子密钥产生器

我写的代码在这里

3.2



blog comments powered by Disqus