对称密钥原语的实用构建
在对称密钥密码学中,流密码和分组密码是两种重要的加密方式。本文将详细介绍几种常见的流密码和分组密码的特性、构造以及存在的安全问题。
1. 线性反馈移位寄存器(LFSR)的问题
线性反馈移位寄存器(LFSR)是一种简单且高效的硬件实现方式,但存在安全隐患。根据柯克霍夫斯原则,如果反馈系数已知,一个 n 阶 LFSR 的前 n 位输出就能揭示初始状态(即密钥),一旦初始状态已知,后续所有输出位都可计算得出。即使使用密钥设置反馈系数,攻击者最多观察 2n 位输出后也能获取整个密钥。具体来说,前 n 位输出揭示初始状态,接下来的 n 位输出可用于建立 n 个关于 n 个未知反馈系数的线性方程,通过线性代数方法可高效求解这些系数。
2. 引入非线性
为了抵御针对 LFSR 的攻击,需要引入非线性,即使用秘密值的与(AND)、或(OR)运算,而不仅仅是异或(XOR)运算。以下是几种引入非线性的方法:
- 非线性反馈 :使反馈回路非线性,得到反馈移位寄存器(FSR)。FSR 由一系列寄存器组成,每个寄存器包含一位。在每个时钟周期,所有寄存器的值向右移动,最左边寄存器的新值是当前寄存器的非线性函数。例如,在时间 t 的状态为 (s^{(t)} {n - 1}, \cdots, s^{(t)}_0),下一个时钟周期的状态为 (s^{(t + 1)} {n - 1}, \cdots, s^{(t + 1)} 0),其中 (s^{(t + 1)}_i := s^{(t)} {i + 1})((i = 0, \cdots, n - 2)),(s^{(t + 1)}
超级会员免费看
订阅专栏 解锁全文
16

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



