现代加密算法及其实现:对称块密码与RSA
1. 对称块密码的位切片实现
对称块密码的位切片实现最早由Eli Biham提出,用于实现DES。其目标是在软件中模拟硬件实现,从而可以并行加密多个明文块。对称块密码中的操作将表示为一系列逻辑操作,并且实现应根据底层硬件的字长进行调整。使用字长为ω的架构,我们可以并行加密ω个明文块。
1.1 代数范式
为了介绍位切片实现,我们需要讨论布尔函数的代数范式。
-
布尔函数定义 :布尔函数是一个从 $F_2^n$ 到 $F_2$ 的函数 $\phi : F_2^n \to F_2$。一个布尔函数有 $2^n$ 种可能的输入值,对于每个输入值有2种可能的输出值,因此总共有 $2^{2^n}$ 种可能的布尔函数。布尔函数可以通过给出所有输入的输出值来指定,这样的表称为真值表。
-
示例 :
-
奇偶校验位 :对于3位定义的奇偶校验位是一个布尔函数 $\phi : F_2^3 \to F_2$,$\phi(x_2x_1x_0) = x_0 + x_1 + x_2$,其真值表如下:
| $x_2$ | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
| — | — | — | — | — | — | — | — | — |
| $x_1$ | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
| $x_0$ | 0 | 1 | 0 | 1 | 0
-
超级会员免费看
订阅专栏 解锁全文
1704

被折叠的 条评论
为什么被折叠?



