密码学题目 - LFSR流密码破译
设一个流密码算法使用了一个GF(2)上的8级线性反馈移位寄存器作为密钥流生成器,已知明文0110000101101100的密文为1011010000010011,试破译该密码算法。
解密过程:使用线性反馈移位寄存器(LFSR)破译流密码
已知条件
- 明文:
- 密文:
根据流密码的工作原理,密文是通过明文和密钥流进行按位异或生成的。因此,密钥流可以通过明文和密文进行异或恢复:
计算密钥流
第一部分:
第二部分:
因此,密钥流为:
构造LFSR的状态
LFSR状态可以表示为一个矩阵形式,通过线性方程组来恢复状态。
已知初始状态 到:
根据已知密钥流,建立方程组:
确定反馈系数
构造矩阵方程:
将已知密钥流代入:
求解此线性方程组可以得到反馈系数。
增广矩阵
我们将矩阵方程写成增广矩阵的形式:
高斯消元法步骤
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 2 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| 3 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 4 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 |
| 5 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
| 6 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 |
| 7 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 8 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
尋找第1行第1列的主元
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
| 2 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| 3 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 4 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 |
| 5 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
| 6 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 |
| 7 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 8 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
将第1行减去第2
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
| 2 | 0 | -1 | 1 | -1 | 1 | -1 | 1 | -1 | 1 |
| 3 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 4 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 |
| 5 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
| 6 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 |
| 7 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 8 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
将第1行减去第4
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
| 2 | 0 | -1 | 1 | -1 | 1 | -1 | 1 | -1 | 1 |
| 3 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 4 | 0 | -1 | 1 | -1 | 1 | -1 | 1 | 0 | 1 |
| 5 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
| 6 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 |
| 7 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 8 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
将第1行减去第6
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
| 2 | 0 | -1 | 1 | -1 | 1 | -1 | 1 | -1 | 1 |
| 3 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 4 | 0 | -1 | 1 | -1 | 1 | -1 | 1 | 0 | 1 |
| 5 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
| 6 | 0 | -1 | 1 | -1 | 1 | 0 | 1 | 0 | 1 |
| 7 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 8 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
将第1行减去第8
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
| 2 | 0 | -1 | 1 | -1 | 1 | -1 | 1 | -1 | 1 |
| 3 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 4 | 0 | -1 | 1 | -1 | 1 | -1 | 1 | 0 | 1 |
| 5 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
| 6 | 0 | -1 | 1 | -1 | 1 | 0 | 1 | 0 | 1 |
| 7 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 8 | 0 | -1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
尋找第2行第2列的主元(反轉全行的正負號)
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
| 2 | 0 | 1 | -1 | 1 | -1 | 1 | -1 | 1 | -1 |
| 3 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 4 | 0 | -1 | 1 | -1 | 1 | -1 | 1 | 0 | 1 |
| 5 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
| 6 | 0 | -1 | 1 | -1 | 1 | 0 | 1 | 0 | 1 |
| 7 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 8 | 0 | -1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
将第2行减去第1
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| 2 | 0 | 1 | -1 | 1 | -1 | 1 | -1 | 1 | -1 |
| 3 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 4 | 0 | -1 | 1 | -1 | 1 | -1 | 1 | 0 | 1 |
| 5 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
| 6 | 0 | -1 | 1 | -1 | 1 | 0 | 1 | 0 | 1 |
| 7 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 8 | 0 | -1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
将第2行减去第3
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| 2 | 0 | 1 | -1 | 1 | -1 | 1 | -1 | 1 | -1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | -1 | 1 | -1 | 1 | -1 | 1 | 0 | 1 |
| 5 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
| 6 | 0 | -1 | 1 | -1 | 1 | 0 | 1 | 0 | 1 |
| 7 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 8 | 0 | -1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
将第2行乘以-1
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| 2 | 0 | -1 | 1 | -1 | 1 | -1 | 1 | -1 | 1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | -1 | 1 | -1 | 1 | -1 | 1 | 0 | 1 |
| 5 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
| 6 | 0 | -1 | 1 | -1 | 1 | 0 | 1 | 0 | 1 |
| 7 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 8 | 0 | -1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
将第2行减去第4
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| 2 | 0 | -1 | 1 | -1 | 1 | -1 | 1 | -1 | 1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 5 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
| 6 | 0 | -1 | 1 | -1 | 1 | 0 | 1 | 0 | 1 |
| 7 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 8 | 0 | -1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
将第2行乘以-1
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| 2 | 0 | 1 | -1 | 1 | -1 | 1 | -1 | 1 | -1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 5 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
| 6 | 0 | -1 | 1 | -1 | 1 | 0 | 1 | 0 | 1 |
| 7 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 8 | 0 | -1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
将第2行减去第5
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| 2 | 0 | 1 | -1 | 1 | -1 | 1 | -1 | 1 | -1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 5 | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 2 |
| 6 | 0 | -1 | 1 | -1 | 1 | 0 | 1 | 0 | 1 |
| 7 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 8 | 0 | -1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
将第2行乘以-1
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| 2 | 0 | -1 | 1 | -1 | 1 | -1 | 1 | -1 | 1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 5 | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 2 |
| 6 | 0 | -1 | 1 | -1 | 1 | 0 | 1 | 0 | 1 |
| 7 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 8 | 0 | -1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
将第2行减去第6
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| 2 | 0 | -1 | 1 | -1 | 1 | -1 | 1 | -1 | 1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 5 | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 2 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 8 | 0 | -1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
将第2行乘以-1
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| 2 | 0 | 1 | -1 | 1 | -1 | 1 | -1 | 1 | -1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 5 | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 2 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 8 | 0 | -1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
将第2行减去第7
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| 2 | 0 | 1 | -1 | 1 | -1 | 1 | -1 | 1 | -1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 5 | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 2 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 1 | 0 | 2 | 0 | 2 | 0 | 2 |
| 8 | 0 | -1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
将第2行乘以-1
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| 2 | 0 | -1 | 1 | -1 | 1 | -1 | 1 | -1 | 1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 5 | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 2 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 1 | 0 | 2 | 0 | 2 | 0 | 2 |
| 8 | 0 | -1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
将第2行减去第8行再还原
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| 2 | 0 | 1 | -1 | 1 | -1 | 1 | -1 | 1 | -1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 5 | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 2 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 1 | 0 | 2 | 0 | 2 | 0 | 2 |
| 8 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
尋找第3行第3列的主元
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| 2 | 0 | 1 | -1 | 1 | -1 | 1 | -1 | 1 | -1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 5 | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 2 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 1 | 0 | 2 | 0 | 2 | 0 | 2 |
| 8 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
将第3行减去第1
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 |
| 2 | 0 | 1 | -1 | 1 | -1 | 1 | -1 | 1 | -1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 5 | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 2 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 1 | 0 | 2 | 0 | 2 | 0 | 2 |
| 8 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
将第3行乘以-1
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 |
| 2 | 0 | 1 | -1 | 1 | -1 | 1 | -1 | 1 | -1 |
| 3 | 0 | 0 | -1 | 0 | -1 | 0 | -1 | 0 | -2 |
| 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 5 | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 2 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 1 | 0 | 2 | 0 | 2 | 0 | 2 |
| 8 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
将第3行减去第2
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 |
| 2 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 3 | 0 | 0 | -1 | 0 | -1 | 0 | -1 | 0 | -2 |
| 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 5 | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 2 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 1 | 0 | 2 | 0 | 2 | 0 | 2 |
| 8 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
将第3行乘以-1
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 |
| 2 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 5 | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 2 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 1 | 0 | 2 | 0 | 2 | 0 | 2 |
| 8 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
将第3行减去第5
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 |
| 2 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 1 | 0 | 2 | 0 | 2 | 0 | 2 |
| 8 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
将第3行减去第7
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 |
| 2 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
| 8 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
尋找第4列的中心點,及對調第8行及第4行的位置
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 |
| 2 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
| 5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
| 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
将第4行减去第2
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 |
| 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
| 5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
| 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
尋找第5列的中心點,及對調第7行及第5行的位置
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 |
| 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 |
| 4 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
| 5 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
将第5行减去第3
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 |
| 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 3 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 2 |
| 4 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
| 5 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
尋找第6行第6列的主元
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 |
| 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 3 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 2 |
| 4 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
| 5 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
将第6行减去第4
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 |
| 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 3 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 2 |
| 4 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 5 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
尋找第7行第7列的主元
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 |
| 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 3 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 2 |
| 4 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 5 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
将第7行减去第5
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 |
| 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 3 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 2 |
| 4 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 5 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
尋找第8行第8列的主元
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 |
| 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 3 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 2 |
| 4 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 5 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
将第8行减去第6
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | b | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 |
| 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 3 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 2 |
| 4 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 5 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
解:
x8 = -1
x7 = 1
x6 = 2
x5 = 0
x4 = 0
x3 = 0
x2 = 0
x1 = 0
所以GF(2):
x8 = 1
x7 = 1
x6 = 0
x5 = 0
x4 = 0
x3 = 0
x2 = 0
x1 = 0
解方程组
可以看到,通过高斯消元法,已经将增广矩阵转换为上三角矩阵。接下来我们可以通过回代法求解:
从最后一行开始,直接得到:
回代到第7行:
回代到第6行:
回代到第5行:
回代到第4行:
回代到第3行:
回代到第2行:
回代到第1行:
最终得到反馈系数:
验证和构造反馈系数
解得:
因此,反馈系数为:
确认反馈函数
构造特征方程并验证初始密钥流和反馈函数:
初始状态为 和反馈系数一起生成后续密钥流。
反馈函数为
结论
通过明文和密文的异或运算,我们恢复了初始密钥流,并使用线性代数方法确定了反馈函数。使用该反馈函数,可以验证初始密钥流的正确性,从而确定正确的密钥生成过程。
