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

免责声明

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

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

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

题目

逐题解析

6.1

直接看表得

0x18 0xAD 0xF8 0x25

6.2

一样的看表,不过前两位看S0,中间两位看S1,最后两位看S0(S0S1错开来看,不要问为什么,问就是ZUC特性)

0x34BA12

6.3

就是S盒反过来看

0x12345678

6.4

输出结果是0xaa4e9357,参考答案是0xab4d9357

信我还是信参考答案,回答我!

python 复制代码
def rotate_left(x, shift, width=32):
    """对x进行循环左移,默认为32位"""
    shift %= width
    return ((x << shift) | (x >> (width - shift))) & ((1 << width) - 1)

def L(x):
    """线性变换 L(x) = x ^ (x<<<2) ^ (x<<<10) ^ (x<<<18) ^ (x<<<24)"""
    return x ^ rotate_left(x, 2) ^ rotate_left(x, 10) ^ rotate_left(x, 18) ^ rotate_left(x, 24)

# 示例
x = 0x12345678
result = L(x)
print(f"L({hex(x)}) = {hex(result)}")

6.5(偷懒)

老师的参考答案:C= 0x23456789⊕0x87654321 =0xa42024a8

我不想学ZUC也不想写代码,因为这东西说实话比较偏门,考的概率不大。

允许博主偷个懒吧

相关推荐
zhaoshuzhaoshu15 分钟前
主流 AI 编程助手工具特点与对比
人工智能·python
Daydream.V16 分钟前
Python 多线程编程从入门到精通:基础 + 实战 + 避坑全攻略
python·线程·threading·线程教学
神仙别闹18 分钟前
基于Python实现(控制台)个人信息系统
开发语言·python
a95114164221 分钟前
c++如何解析二进制协议中的可选字段读取逻辑及其反序列化【详解】
jvm·数据库·python
曾阿伦29 分钟前
AES 加密解密详解及示例
python·加密解密
Hello eveybody29 分钟前
介绍最大公因数和最小公约数(Python)
开发语言·python
weixin_5806140033 分钟前
golang如何实现时间格式化_golang时间格式化方法详解
jvm·数据库·python
forEverPlume33 分钟前
c++怎么利用std--span实现在不拷贝数据的前提下解析大规模文件【进阶】
jvm·数据库·python
Ulyanov34 分钟前
《PySide6 GUI开发指南:QML核心与实践》 第十篇:综合实战——构建完整的跨平台个人管理应用
开发语言·python·qt·ui·交互·qml·雷达电子战系统仿真
aq553560038 分钟前
数字资源分发的技术革命与未来趋势
java·开发语言·python·php