针对SOSEMANUK和AES的密码分析攻击
一、SOSEMANUK算法概述
SOSEMANUK是一种面向32位字的流密码,逻辑上由线性反馈移位寄存器(LFSR)、有限状态机(FSM)和轮函数Serpent1三部分组成。
1. LFSR
- LFSR定义在有限域$F_{2^{32}}$上,包含10个32位寄存器$s_i$($1\leq i\leq10$)。其反馈多项式$\pi(x)$为:$\pi(x) = \alpha x^{10} + \alpha^{-1} x^{7} + x + 1$,其中$\alpha$是多项式$P(x) = x^{4} + \beta^{23} x^{3} + \beta^{245} x^{2} + \beta^{48} x + \beta^{239}$在有限域$F_{2^{8}}$上的根,$\beta$是二进制多项式$Q(x) = x^{8} + x^{7} + x^{5} + x^{3} + 1$的根。
- 由LFSR生成的序列${ s_t } {t\geq1}$满足:$s {t + 10} = s_{t + 9} \oplus \alpha^{-1} s_{t + 3} \oplus \alpha s_t$,$\forall t \geq 1$。
2. FSM
- FSM包含两个32位存储单元$R_1$和$R_2$。在时间$t$,FSM以LFSR的寄存器$s_1$、$s_8$和$s_9$的取值$s_{t + 1}$、$s_{t + 8}$和$s_{t + 9}$作为输入,输出一个32位字$f_t$。其执行过程如下:
- $R_{1t
超级会员免费看
订阅专栏 解锁全文
94

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



