【密码学——基础理论与应用】李子臣编著 第五章 序列密码 课后习题

免责声明

这里都是自己搓或者手写的。

里面不少题目感觉有问题或者我的理解有偏颇,请大佬批评指正!

不带思考抄作业的请自动退出,我的并非全对,仅仅提供思维!

题目

逐题解析

5.1

我们先要知道三阶LFSR函数的表达式:

重要的是要读懂这句话:"c3=1时有4种线性反馈函数",实际上就是c2c1分别为00,01,10,11的情况

情况1:c2c1=00

|----|----|----|----|
| a3 | a2 | a1 | 输出 |
| 1 | 0 | 1 | |
| 1 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 1 |

T=3,输出序列为

情况2:c2c1=01

|----|----|----|----|
| a3 | a2 | a1 | 输出 |
| 1 | 0 | 1 | |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 1 | 0 |

T=2,输出序列为

情况3:c2c1=10

|----|----|----|----|
| a3 | a2 | a1 | 输出 |
| 1 | 0 | 1 | |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 0 |
| 0 | 1 | 1 | 1 |
| 0 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 |
| 0 | 1 | 0 | 0 |
| 1 | 0 | 1 | 0 |

T=7,输出序列为

情况4:c2c1=11

|----|----|----|----|
| a3 | a2 | a1 | 输出 |
| 1 | 0 | 1 | |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 1 | 0 |

T=2,输出序列为

5.2

|----|----|----|----|----|
| a4 | a3 | a2 | a1 | 输出 |
| 1 | 0 | 1 | 1 | |
| 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 0 | 1 |
| 0 | 1 | 1 | 1 | 0 |
| 0 | 0 | 1 | 1 | 1 |
| 0 | 0 | 0 | 1 | 1 |
| 0 | 0 | 0 | 0 | 1 |
| 1 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 0 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 | 1 |
| 0 | 1 | 1 | 0 | 0 |
| 1 | 0 | 1 | 1 | 0 |

T=15,输出序列为

5.3

|----|----|----|----|
| a2 | a1 | a0 | 输出 |
| 0 | 1 | 1 | |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 0 |
| 0 | 1 | 1 | 1 |

T=4,输出序列为

5.4

(1)

(2)

(3)

(1000)序列

|----|----|----|----|----|
| a4 | a3 | a2 | a1 | 输出 |
| 0 | 0 | 0 | 1 | |
| 1 | 0 | 0 | 0 | 1 |
| 1 | 1 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 0 | 0 | 1 | 1 |

T=5,输出序列为

(0010)序列

|----|----|----|----|----|
| a4 | a3 | a2 | a1 | 输出 |
| 0 | 0 | 1 | 0 | |
| 1 | 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 0 | 1 | 0 | 1 |

T=5,输出序列为

(1111)序列

|----|----|----|----|----|
| a4 | a3 | a2 | a1 | 输出 |
| 1 | 1 | 1 | 1 | |
| 0 | 1 | 1 | 1 | 1 |
| 1 | 0 | 1 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 0 |

T=5,输出序列为

5.5

结构常数为[1,0,1,1,1]。

5.6

由题可得反馈函数为

或者序列的递推关系式(二者不一样)为

|----|----|----|----|----|
| a4 | a3 | a2 | a1 | 输出 |
| 1 | 0 | 1 | 1 | |
| 0 | 1 | 0 | 1 | 1 |
| 0 | 0 | 1 | 0 | 1 |
| 0 | 0 | 0 | 1 | 0 |
| 1 | 0 | 0 | 0 | 1 |
| 1 | 1 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 | 0 |
| 1 | 0 | 1 | 1 | 0 |

T=7,输出序列为

5.7

我其实不懂这题,书上一大堆乱七八糟的数学推导,只能问chatgpt,给出了一条结论(算是通过背结论做题吧)

5.8

线性综合解为<1+x^2+x^3,3>。

我单独写了一篇讲B-M算法的博客:

密码学------序列密码 序列线性复杂度 B-M算法 例题演示-CSDN博客

5.9

(1)课本P96定义5.8套的去 2^29-1(因为全为0不符合LFSR)

(2)上下同乘(1+x^3)

变成

根据分子知输出序列为

(和5.7如出一辙,夸自己超强的自学能力嘻嘻,再度验证密码学的教材和老师就是路边一坨)

(3)课本97定理5.11套的去 2^24-1 2^(25-15-2)=2^8

相关推荐
靠近彗星15 小时前
3.1 栈
数据结构·算法
sulikey15 小时前
一文彻底理解:如何判断单链表是否成环(含原理推导与环入口推算)
c++·算法·leetcode·链表·floyd·快慢指针·floyd判圈算法
Swift社区16 小时前
LeetCode 402 - 移掉 K 位数字
算法·leetcode·职场和发展
_码力全开_16 小时前
P1005 [NOIP 2007 提高组] 矩阵取数游戏
java·c语言·c++·python·算法·矩阵·go
墨染点香16 小时前
LeetCode 刷题【124. 二叉树中的最大路径和、125. 验证回文串】
算法·leetcode·职场和发展
Camel卡蒙16 小时前
红黑树详细介绍(五大规则、保持平衡操作、Java实现)
java·开发语言·算法
AhriProGramming16 小时前
Flask-SQLAlchemy精读-双语精选文章
python·算法·flask
孤廖16 小时前
吃透 C++ 栈和队列:stack/queue/priority_queue 用法 + 模拟 + STL 标准实现对比
java·开发语言·数据结构·c++·人工智能·深度学习·算法