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

embedded/2025/3/13 12:01:02/

免责声明

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

题目

逐题解析

3.9

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

解: 2^n 个元素的置换有 2^n! 种方式(不妨记为a)
其中,错排的数量为 2^n! \sum_{k=0}^{2^n} \frac{(-1)^k}{k!}个。(不妨记为b)
因此,S上具有不动点的置换个数是a-b个。

3.10

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

3.11

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

P= \frac{1}{2^{112}}

3.12

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

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

S1S2S3S4S5S6S7S8
(2,5)数值641511138312
二进制01100100111110111101100000111100
(2,1)数值11466214411
二进制00011110011001100010111001001011

3.13

解:同上理,这是一个逆向过程。对于每个盒子,输入的数字都不一定一样。
(每一个点对应的输入值请自己翻译,表格太长写不下。。。)

S1S2S3S4S5S6S7S8

1010

(十进制为10)

(0,9)(0,15)(0,0)(0,7)(0,5)(0,2)(0,13)(0,8)
(1,8)(1,11)(1,7)(1,13)(1,11)(1,10)(1,7)(1,4)
(2,13)(2,4)(2,13)(2,0)(2,4)(2,11)(2,8)(2,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)
(1,5)(1,5)(1,8)(1,10)(1,2)(1,3)(1,12)(1,15)
(2,6)(2,14)(2,10)(2,13)(2,1)(2,4)(2,15)(2,7)
(3,3)(3,7)(3,14)(3,14)(3,6)(3,2)(3,13)(3,0)

3.14(待填坑)

这题需要用到多项式乘法逆元的知识。
学了AES我才知道大二上学的离散真的是一坨,密码学核心的循环群、环、域全部不用讲。
但是期末又把群论考的群难得一批。
然后有限域多项式的乘法完全把我搞蒙b了......现在也还在消化过程中。

解:
第一步求解逆元。
由题,(a_7a_6a_5a_4a_3a_2a_1a_0)(b_7b_6b_5b_4b_3b_2b_1b_0) \equiv 1 \ mod \ m(x)
用扩展欧几里得算法算出(b_7b_6b_5b_4b_3b_2b_1b_0)。但是我还不会算,等待填坑
第二步仿射变换。
仿射变换简单亿点点。

3.15

这个就是异或运算。

解:

A(x) \oplus B(x) \\ =(1b \oplus ac) x^3+(03 \oplus 00) x^2+(dd \oplus f0) x^1+(a1 \oplus 2d) x^0 \\ =b7x^3+03 x^2+22 x^1+8c x^0

3.16(待填坑)

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

\begin{pmatrix} 02 & 03 & 01 & 01 \\ 01 & 02 & 03 & 01 \\ 01 & 01 & 02 & 03 \\ 03 & 01 & 01 & 02 \end{pmatrix}

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

\begin{pmatrix} 0E & 0B & 0D & 09 \\ 09 & 0E & 0B & 0D \\ 0D & 09 & 0E & 0B \\ 0B & 0D & 09 & 0E \end{pmatrix}

那么

(t_{ij})_{4*4}= P' (s_{ij})_{4*4}

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

3.17

解:xtime(b)公式如下:
若b7=0,则字节内左移一位。
若b7=1,则字节左移一位之后与4D(01001101)的按位模2实现。
推导:

x^8=x^6+x^3+x^2+1\\ xtime(b)\\ =b_7x^8+b_6x^7+b_5x^6+b_4x^5+b_3x^4+b_2x^3+b_1x^2+b_0x^1+0\\ =(b_6\oplus 0)x^7+(b_5\oplus 1)x^6+(b_4\oplus 0)x^5+(b_3\oplus 0)x^4+\\(b_2\oplus 1)x^3+(b_1\oplus 1)x^2+(b_0\oplus 0)x^1+(0\oplus 1)\\

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

参考文献

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

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

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

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

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


http://www.ppmy.cn/embedded/172234.html

相关文章

计算机网络:Socket编程 Tcp协议 第二弹

目录 1. Tcp协议接口 1.1 listen监听函数 1.2 accept函数 1.3 connect函数 1.4 inet_ntop函数 2. TcpEchoServer服务 2.1 Common.hpp 2.1 TcpServer.hpp 2.1.1 TcpServer类 2.1.2 InitServer函数 2.1.3 Start函数 2.1.4 HandlerRequest函数 2.3 TcpServer.cc 2.4…

10✨让笔迹突破语言壁垒!Manus AI 多语言识别开启智能书写新纪元

Manus AI在多语言手写识别领域的技术突破主要体现在以下四个方面,通过创新的技术架构和工程化实践解决了传统手写识别的核心痛点: 一、深度学习模型与算法优化 混合神经网络架构 Manus AI采用了**卷积神经网络(CNN)与长短…

【web前端开发】HTML排版标签、HTML语义化标签、常用的文本标签

1、HTML排版标签 标签名 标签含义 单/双标签 h1~h6 …

【VS】vs生成前事件,复制脚本文件至运行目录

​ 在项目目录中添加了一些配置文件,或者脚本文件,运行时需要把这些文件复制运行目录下,visual studio 中 可以设置生成事件,项目生成时自动复制文件到运行目录。 xcopy /Y “KaTeX parse error: Undefined control sequence: \c…

ES搭建详细指南+常见错误解决方法

Elasticsearch(ES)是一款开源的、分布式的、RESTful风格的搜索和数据分析引擎。它用于全文搜索、结构化搜索、分析等场景。以下是Elasticsearch的搭建步骤以及处理常见错误的方法。 Elasticsearch搭建步骤: 1.环境准备: 确保你的…

(2025|ICLR|厦大华为,LoSA,基于表示互信息的动态层级稀疏率,基于重构误差的秩分配)LLM 的动态低秩稀疏自适应

Dynamic Low-Rank Sparse Adaptation for Large Language Models 目录 1. 引言 1.1 关键词 2. 方法 2.1 预备知识 2.2 层级稀疏率确定 2.3 稀疏感知的秩分配 2.4 动态稀疏与适配 3. 实验 3.1 实验设置 3.2 语言建模 3.3 零样本任务 3.4 N:M 稀疏性 3.5 消融实验 …

【Godot4.4】写入和读取ZIP文件

概述 Godot提供了ZIPPacker类型来读写ZIP压缩包文件。本文是简单的写入和读取文件操作测试笔记。 写入纯文本文件 extends Buttonfunc _ready():write_zip_file("1.zip",func(zip_packer):write_txt_file_to_zippack(zip_packer,"1.txt","hhhhh&qu…

45.HarmonyOS NEXT Layout布局组件系统详解(十二):高级应用案例与性能优化

温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦! HarmonyOS NEXT Layout 布局组件系统详解(十二):高级应用案例与性能优化 文章目录 HarmonyOS NEXT Layout 布局…