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

免责声明

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

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

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

题目

逐题解析

3.9

做这题需要有置换和错排的知识储备(见参考文献)。

解: 个元素的置换有 种方式(不妨记为a)

其中,错排的数量为 个。(不妨记为b)

因此,S上具有不动点的置换个数是a-b个。

3.10

如果我没理解错题意,那么就是书上的证明。动手举个例子去试一下,理解不难。

3.11

解:DES的密钥为56bit,每个bit对应0或者1,双重DES则有112个密钥。因此

3.12

解:101010对应的横坐标是10(即2),纵坐标对应的是0101(即5)。

100010对应的横坐标是10(即2),纵坐标是0001(即1)。

我们并不知道是哪个盒子,因此要讨论。

|-------|-----|------|------|------|------|------|------|------|------|
| | | S1 | S2 | S3 | S4 | S5 | S6 | S7 | S8 |
| (2,5) | 数值 | 6 | 4 | 15 | 11 | 13 | 8 | 3 | 12 |
| (2,5) | 二进制 | 0110 | 0100 | 1111 | 1011 | 1101 | 1000 | 0011 | 1100 |
| (2,1) | 数值 | 1 | 14 | 6 | 6 | 2 | 14 | 4 | 11 |
| (2,1) | 二进制 | 0001 | 1110 | 0110 | 0110 | 0010 | 1110 | 0100 | 1011 |

3.13

解:同上理,这是一个逆向过程。对于每个盒子,输入的数字都不一定一样。

(每一个点对应的输入值请自己翻译,表格太长写不下。。。)

|---------------|--------|--------|--------|--------|--------|--------|--------|--------|
| | S1 | S2 | S3 | S4 | S5 | S6 | S7 | S8 |
| 1010 (十进制为10) | (0,9) | (0,15) | (0,0) | (0,7) | (0,5) | (0,2) | (0,13) | (0,8) |
| 1010 (十进制为10) | (1,8) | (1,11) | (1,7) | (1,13) | (1,11) | (1,10) | (1,7) | (1,4) |
| 1010 (十进制为10) | (2,13) | (2,4) | (2,13) | (2,0) | (2,4) | (2,11) | (2,8) | (2,10) |
| 1010 (十进制为10) | (3,12) | (3,2) | (3,1) | (3,4) | (3,12) | (3,7) | (3,6) | (3,5) |
| 0010 (十进制为2) | (0,4) | (0,10) | (0,14) | (0,9) | (0,0) | (0,5) | (0,2) | (0,2) |
| 0010 (十进制为2) | (1,5) | (1,5) | (1,8) | (1,10) | (1,2) | (1,3) | (1,12) | (1,15) |
| 0010 (十进制为2) | (2,6) | (2,14) | (2,10) | (2,13) | (2,1) | (2,4) | (2,15) | (2,7) |
| 0010 (十进制为2) | (3,3) | (3,7) | (3,14) | (3,14) | (3,6) | (3,2) | (3,13) | (3,0) |

3.14(待填坑)

这题需要用到多项式乘法逆元的知识。

学了AES我才知道大二上学的离散真的是一坨,密码学核心的循环群、环、域全部不用讲。

但是期末又把群论考的群难得一批。

然后有限域多项式的乘法完全把我搞蒙b了......现在也还在消化过程中。

解:

第一步求解逆元。

由题,

用扩展欧几里得算法算出。但是我还不会算,等待填坑

第二步仿射变换。

仿射变换简单亿点点。

3.15

这个就是异或运算。

解:

3.16(待填坑)

AES的列变换矩阵(记为P)如下:

课本也给出了逆矩阵P'如下:

那么

代码有空更新,这是16进制的,目前我还不会搞。

3.17

解:xtime(b)公式如下:

若b7=0,则字节内左移一位。

若b7=1,则字节左移一位之后与4D(01001101)的按位模2实现。

推导:

0x6D·0xD5计算结果:0xBA

过程:

参考文献

置换:近世代数 笔记与题型连载 第八章(置换群)_轮换与对换的关系-CSDN博客

错排:彻底搞懂错排公式-CSDN博客

【组合数学】错排问题 ( 递推公式 | 通项公式 | 推导过程 ) ★-CSDN博客

有限域:密码编码学与网络安全--原理与实现--(第八版)第5章 ------有限域_密码编码学与网络安全第八版答案-CSDN博客

有限域、域内运算、不可约多项式、本原多项式【这篇一定能让你看懂!!】-CSDN博客

相关推荐
budingxiaomoli20 分钟前
算法--滑动窗口(一)
数据结构·算法
Hi2024021743 分钟前
Qt+Qml客户端和Python服务端的网络通信原型
开发语言·python·qt·ui·网络通信·qml
王哈哈^_^1 小时前
【数据集】【YOLO】【目标检测】农作物病害数据集 11498 张,病害检测,YOLOv8农作物病虫害识别系统实战训推教程。
人工智能·深度学习·算法·yolo·目标检测·计算机视觉·1024程序员节
xier_ran1 小时前
邻接矩阵的 k 次幂意味着什么?从图论到路径计数的直观解释
算法·图论
程序员大雄学编程2 小时前
「用Python来学微积分」16. 导数问题举例
开发语言·python·数学·微积分
B站_计算机毕业设计之家2 小时前
预测算法:股票数据分析预测系统 股票预测 股价预测 Arima预测算法(时间序列预测算法) Flask 框架 大数据(源码)✅
python·算法·机器学习·数据分析·flask·股票·预测
yj15582 小时前
装修中怎样避坑
python
搬砖魁首3 小时前
密码学系列 - 零知识证明(ZKP) - NTT与MSM的总结
密码学·零知识证明·zkp·ntt·msm·pippenger·kzg
想唱rap3 小时前
C++ list 类的使用
c语言·开发语言·数据结构·c++·笔记·算法·list
景彡先生3 小时前
Python函数定义与调用全解析:从基础语法到实战技巧
linux·开发语言·python