对基于LFSR的流密码的已知明文攻击

Tim*_*kle 0 encryption stream-cipher

我正在读一本关于密码学的书,我陷入了一个问题.我真的试图解决它几个星期.但我认为问题是我无法理解整个画面.问题是这样的:

我们对基于LFSR的流密码进行已知明文攻击.我们知道发送的明文是:

1001 0010 0110 1101 1001 0010 0110

通过点击频道,我们观察以下流:

1011 1100 0011 0001 0010 1011 0001

1- What is the degree m of the key stream generator?
2- What is the initialization vector?
3- Determine the feedback coefficients of the LFSR.
4- Draw a circuit diagram and verify the output sequence of the LFSR.
Run Code Online (Sandbox Code Playgroud)

非常感谢您帮助我了解加密和LFSR.

Per*_*ids 5

你指的是帕尔和佩尔齐的"了解密码学",对吗?在第二章可以在网上对施普林格网站上找到这应该是法律赋予施普林格是出版商.

我会说第二个列表是密文,即明文与密钥流进行异或.然后是密钥流

    1001 0010 0110 1101 1001 0010 0110
XOR 1011 1100 0011 0001 0010 1011 0001
=   0010 1110 0101 1100 1011 1001 0111
Run Code Online (Sandbox Code Playgroud)

要么

0010111 0010111 0010111 0010111
Run Code Online (Sandbox Code Playgroud)

按7位块分组.给定定理2.3.1"由m度的LSFR生成的最大序列长度为(2 ^ m)-1",您可以猜测度可能是3,因为LSFR的序列长度看起来是7.度数计算LSFR的内部状态,而不是指多项式的次数.根据公式(2.1),它的程度是少一个.

所以你想要计算的是方程的解

p(0,0,1)=0
p(0,1,0)=1
p(1,0,1)=1
Run Code Online (Sandbox Code Playgroud)

for p(s_0,s_1,s2)=p_0*s_0+p_1*s_1+p_2+s_2和检查密钥流的其余部分是否也匹配此公式.这样做你最终得到以下矩阵:

0 0 1 | 0
0 1 0 | 1
1 0 1 | 1
Run Code Online (Sandbox Code Playgroud)

所以p_0=1,p_1=1p_2=0.哪个与密钥流的其余部分匹配.