密码学课设 SPN增强 Hust

2023-10-11 18:20
文章标签 增强 密码学 课设 hust spn

本文主要是介绍密码学课设 SPN增强 Hust,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目如图

在这里插入图片描述

个人见解

这题就如字面意思,就是SPN加密的加强版。加强的方式无非就是改变密钥长度,改变S盒的加密方式,增加加密轮数等等…

因为这次加密的明文很长,所以我一次加密64位,S盒和P盒的内容也要随之改变了。

我的主要改变方法就是S盒的加密方法改变,由书上的s[16]改成了s[16][16]置换,其实还可以改进一下,就是让每一轮加密的S[16][16]内容都不相同,但是已经可以过系统的检测了就懒得再改了。

P盒由16长度变为了32长度。

这题有一个坑就是他给的TIPS,不能用ECB工作模式,所以要用CBC工作模式加密。

ECB:
在这里插入图片描述

CBC:
在这里插入图片描述

说白了就是,CBC每次明文加密之前,都要和上一组加密完成后的密文异或一下再继续假面,而ECB没有这个步骤。而第一组加密的明文没有上一组密文可以异或,所以需要我们随机生成一个y0去进行这个操作。

代码 C语言

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>#define true 1
#define false 0
#define nr 8
#define tu (1<<21)unsigned long long Key[9];/*与初始spn相比,增加了轮数,增加了分组长度,增加了秘钥长度,使用了AES的S盒子*/
/*分组长度为64*/
unsigned short S[16][16] = {
};//S盒子内容就自己填吧,反正随机的
unsigned short P[32] = {
};//P盒子内容就自己填吧,反正随机的unsigned long long S_Box(unsigned long long In)
{unsigned long long Out = 0;unsigned long long M[16];M[0] = (In & 0xF000000000000000) >> 60;M[1] = (In & 0x0F00000000000000) >> 56;M[2] = (In & 0x00F0000000000000) >> 52;M[3] = (In & 0x000F000000000000) >> 48;M[4] = (In & 0x0000F00000000000) >> 44;M[5] = (In & 0x00000F0000000000) >> 40;M[6] = (

这篇关于密码学课设 SPN增强 Hust的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/189953

相关文章

java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频) 停车管理信息系统是为了提升停车场的运营效率和管理水平而设计的综合性平台。系统涵盖用户信息管理、车位管理、收费管理、违规车辆处理等多个功能模块,旨在实现对停车场资源的高效配置和实时监控。此外,系统还提供了资讯管理和统计查询功能,帮助管理者及时发布信息并进行数据分析,为停车场的科学

黑神话:悟空》增加草地绘制距离MOD使游戏场景看起来更加广阔与自然,增强了游戏的沉浸式体验

《黑神话:悟空》增加草地绘制距离MOD为玩家提供了一种全新的视觉体验,通过扩展游戏中草地的绘制距离,增加了场景的深度和真实感。该MOD通过增加草地的绘制距离,使游戏场景看起来更加广阔与自然,增强了游戏的沉浸式体验。 增加草地绘制距离MOD安装 1、在%userprofile%AppDataLocalb1SavedConfigWindows目录下找到Engine.ini文件。 2、使用记事本编辑

java计算机毕设课设—企业员工信息管理系统(附源码、文章、相关截图、部署视频)

这是什么系统? 获取资料方式在最下方 java计算机毕设课设—企业员工信息管理系统(附源码、文章、相关截图、部署视频) 企业员工信息管理系统旨在为公司提供高效的员工信息管理解决方案。该系统的核心功能涵盖密码修改、员工管理、部门管理、出勤管理、工资管理、请假审核等方面,帮助企业优化人力资源管理流程。系统结构如下: (1)前端(员工端): 1.密码修改:员工可以修改自己的密码,提升账户的安全

密码学读书笔记小结

密码学是保证消息的私密性和完整性以及消息认证的基础。加密算法的选择和密钥的管理是安全机制的效率、性能和可用性的关键。 公钥加密算法: 分发密钥比较容易,但是对大数据量的加密性能较差密钥加密算法: 更适合大批的加密任务混合型加密协议: 例如TLS,先用公钥加密建立一个安全通道,然后使用通道交换密钥,并将此密钥用于后续数据交换。 对分布式系统攻击的分类: 窃听: 未经授权获得消息副本伪装: 在未

国产隔离放大器:增强信号完整性和系统安全性的指南

隔离放大器是电子领域的关键组件,特别是在信号完整性和电气隔离至关重要的应用中。这些放大器隔离输入和输出信号,使它们能够在没有直接电气连接的情况下跨不同系统传输数据。这确保了电路一部分的高压尖峰或噪声不会影响另一部分,从而保护了系统和用户。随着国产隔离放大器的不断发展,它们提供了性能、可靠性和成本效益的完美结合,使其成为工程师和系统设计师的理想选择。 1. 了解国产隔离放大器的优势 增强信号

NISP | 密码学

关注这个证书的其他相关笔记:NISP 一级 —— 考证笔记合集-CSDN博客 通过上一章的学习,我们知道了,网络安全的 CIA 模型,而本期学习的“密码学”,则能为 CIA 模型提供很好的技术支持: 面临的攻击威胁所破坏的信息安全属性解决问题所采用的密码学技术截获(泄露信息)机密性对称密码和非对称密码篡改(修改信息)完整性哈希函数、数字签名、 对称密码和非对称密码伪造(伪造信息来源)真实

jmeter压力测试,通过LLM利用RAG实现知识库问答,NEO4J部署,GraphRAG以知识图谱在查询时增强提示实现更准确的知识库问答(9/7)

前言         这周也是杂七杂八的一天(高情商:我是一块砖,哪里需要往哪里搬),首先是接触了jemter这个压力测试工具,然后帮公司的AIGC项目编写使用手册和问答手册的第一版,并通过这个平台的智能体实现知识库问答的功能展示,以及部分个人扩展和思考(NEO4J创建知识图谱的GraphRAG)。 Jmeter         Jmeter是一个压力测试工具,一开始导师叫我熟悉的时候我还说

Java高级特性增强-NIO

GitHub:https://github.com/wangzhiwubigdata/God-Of-BigData 关注公众号,内推,面试,资源下载,关注更多大数据技术~大数据成神之路~预计更新500+篇文章,已经更新50+篇~ **Java高级特性增强-NIO 本部分网络上有大量的资源可以参考,在这里做了部分整理并做了部分勘误,感谢前辈的付出,每

一个功能增强的Delphi TListView组件——TSmartListView

unit SmartListView;  {* |<PRE>  ================================================================================  * 单元名称:TSmartListView v1.01  * 单元作者:HsuChong@hotmail.com  * 备    注:  * 开发平台:PWin2003St