Skip to content

Commit

Permalink
feat: add block cipher
Browse files Browse the repository at this point in the history
  • Loading branch information
liuzhuan committed Nov 4, 2024
1 parent 816142b commit f65b8e4
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion _posts/2024-11-01-on-crypto-101.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,22 @@ $$ P_i \oplus k_i = C_i $$

一次性密码本(One-Time Pad, OTP)是一种加密方式,明文和密钥的比特长度相同,密钥位数完全随机且只能使用一次。这是一种在理论上堪称完美的加密方式。

但是 OTP 的缺点在于密钥的管理和分发。
但是 OTP 的缺点在于密钥的管理和分发。

## 分块加密 {#block-cipher}

分块加密(*block cipher*)是一种处理固定长度信息的加密算法。

加密函数 \\(E\\) 使用密钥 \\(k\\),将明文 \\(P\\) 转换为密文 \\(C\\):

$$ C = E(k, P) $$

明文和密文的比特长度相同,也可以说它俩具有相同的**块大小***block size*)。

使用相同的密钥 \\(k\\) 和解密程序 \\(D\\),可以把密文解密为原始明文。

$$ P = D(k, C) $$

由于解密和加密使用同样的密钥,因此这种加密模式也被称作**对称密钥加密***symmetric-key encryption*)或**密钥加密**(secret-key encryption)。

将来你会见到更多的加密模式,比如**公钥加密算法***public-key encryption*),它的加密和解密使用的密钥是不同的。这类加密模式也被称作**非对称密钥加密***asymmetric-key encryption*)。

0 comments on commit f65b8e4

Please sign in to comment.