当前位置: 首页 > news >正文

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

免责声明

这里都是自己搓或者手写的。
里面不少题目感觉有问题或者我的理解有偏颇,请大佬批评指正!
不带思考抄作业的请自动退出,我的并非全对,仅仅提供思维!

题目

逐题解析

5.1

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

f(a_1,a_2,a_3)=c_3a_1 \oplus c_2a_2 \oplus c_1a_3

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

情况1:c2c1=00

a3a2a1输出
101
1101
0110
1011

T=3,输出序列为(101)^\infty

情况2:c2c1=01

a3a2a1输出
101
0101
1010

T=2,输出序列为(10)^\infty

情况3:c2c1=10

a3a2a1输出
101
1101
1110
0111
0011
1001
0100
1010

T=7,输出序列为(1011100)^\infty

情况4:c2c1=11

a3a2a1输出
101
0101
1010

T=2,输出序列为(10)^\infty

5.2

a4a3a2a1输出
1011
11011
11101
01110
00111
00011
00001
10000
01000
10100
01010
00101
10010
11001
01100
10110

T=15,输出序列为(11011 10000 10100)^\infty

5.3

a2a1a0输出
011
1011
1101
1110
0111

T=4,输出序列为(1101)^\infty

5.4

 (1)

(2)

f(a_1,a_2,a_3,a_4)=a_1 \oplus a_2 \oplus a_3 \oplus a_4

(3)

(1000)序列

a4a3a2a1输出
0001
10001
11000
01100
00110
00011

T=5,输出序列为(10001)^\infty

(0010)序列

a4a3a2a1输出
0010
10010
01001
10100
01010
00101

T=5,输出序列为(01001)^\infty

(1111)序列

a4a3a2a1输出
1111
01111
10111
11011
11101
11110

T=5,输出序列为(11110)^\infty

5.5

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

5.6

由题可得反馈函数为f(a_1,a_2,a_3,a_4)=a_1 \oplus a_3 \oplus a_4
或者序列的递推关系式(二者不一样)为a_{5+k}=a_{1+k} \oplus a_{3+k} \oplus a_{4+k}

a4a3a2a1输出
1011
01011
00101
00010
10001
11000
01100
10110

T=7,输出序列为(1101000)^\infty

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)

变成\frac{1+x^2+x^3+x^8}{1+x^9}

根据分子知输出序列为(101100001)^\infty

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

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

相关文章:

  • spring.factories文件作用详解,@SpringBootApplication启动过程与其关联
  • SpringCloud-快速通关(二)
  • Scrapy结合Selenium实现搜索点击爬虫的最佳实践
  • 一站式Windows下Docker开启MySQL并链接本地Navicat(附乱码解决方案)
  • Docker学习笔记-docker安装、删除
  • 单片机任意普通IO引脚使用定时器扩展外部中断的巧妙方法
  • 如何撤回刚提交的 commit
  • 在交换机上划分VLAN并配置IP地址的完整指南
  • C数据结构--顺序表
  • 【Linux】41.网络基础(2.3)
  • SQL 查询中 ORDER BY 的执行顺序
  • 30学Java第十天——类加载的过程
  • **searchProperties 是什么,python中**是什么:解包字典的操作符
  • camx的xml解析
  • 【跳坑日记】Jetson 6.2 编译cuda-sample报错:No CMAKE_CUDA_COMPILER could be found
  • java android持久化数据
  • c#内存泄露的原因和解决办法
  • 全新电脑如何快速安装nvm,npm,pnpm
  • 批量将文件夹名称、文件夹路径提取到 Excel 清单
  • git在IDEA中使用技巧
  • 第一集丨《亲爱的仇敌》和《姜颂》,都有耐人寻味的“她”
  • 浙江首个核酸药谷落子杭州,欢迎订阅《浪尖周报》第23期
  • 7月打卡乐高乐园,还可以去千年古镇枫泾参加这个漫画艺术季
  • 2025年两岸关系研讨会在上海开幕
  • 佩斯科夫:俄会考虑30天停火提议,但试图对俄施压无用
  • 昆明一学校门外小吃摊占满人行道,城管:会在重点时段加强巡查处置