合肥工业大学密码学实验SM234设计与实现

✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆
🔥系列专栏 :
📃新人博主 :欢迎点赞收藏关注,会回访!
💬舞台再大,你不上台,永远是个观众。平台再好,你不参与,永远是局外人。能力再大,你不行动,只能看别人成功!没有人会关心你付出过多少努力,撑得累不累,摔得痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷。


文章目录

  • 一、设计要求
  • 二、开发环境与工具
  • 三、设计原理
    • 1. SM2
      • 加密过程:
      • 解密过程:
      • 原理:
    • 2. SM3
    • 3. SM4
      • S盒
      • 非线性变换τ
      • 线性变换部件L
      • 合成变换T
      • 加密算法
      • **解密算法**
  • 四、系统功能描述及软件模块划分
    • 1 function.py 模块的划分
    • 2 SM2.py模块的划分
    • 3 SM3.py模块划分
    • 4 SM4.py模块的划分
  • 五、设计步骤
    • 1. SM2
      • 默认参数
      • 加密流程
      • 解密流程
      • 签名:
      • 验签
    • 2. SM3
    • 3. SM4
      • 非线性变换τ
      • 线性变换部件L
      • 合成变换T
      • 加密算法
      • **解密算法**
  • 六、关键问题及其解决方法
      • ECB
      • CBC
      • CFB
      • OFB
      • SM3数据填充
  • 七、设计结果
  • 八、软件使用说明
  • 九、参考资料
  • 十、验收时间及验收情况
  • 十一、设计体会

一、设计要求

实现国密算法, SM2, SM3, SM4。
数据类型为文本、图片、音频

二、开发环境与工具

编辑工具:Visual Studio Code
编译工具:python 3.9.7
界面工具:PyQt5 designer
用到的库:math; Random; gmssl; PyQt5 5.15.4;

三、设计原理

1. SM2

加密过程:

设需要发送的消息为比特串 M ,klen 为 M 的比特长度。
为了对明文 M 进行加密,作为加密者的用户 A 应实现以下运算步骤:
A1:用随机数发生器产生随机数;
A2:计算椭圆曲线点 ,([k]G 表示 k*G )将C1的数据类型转换为比特串;
A

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/36772.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么隐藏宝塔面板左上角绑定的手机号码?

宝塔面板后台的左上角会显示我们绑定的宝塔账号(手机号码),每次截图的时候都要去抹掉这个号码,那么能不能直接将这个手机号码隐藏掉呢? 如上图红色箭头所示的手机号码,其实就是我们绑定的宝塔账号&#xff…

Delphi-2M:基于病史预测未来健康的改进GPT架构

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

CAN-bus总线在冷链运输中的应用

CAN-bus总线在冷链运输中的应用 如图1所示,疫苗冷链是指为保证疫苗从疫苗生产企业到接种单位运转过程中的质量而装备的存储、运输冷藏设施、设备。由于疫苗对温度敏感,从疫苗制造的部门到疫苗使用的现场之间的每一个环节,都可能因温度过高而失效。在储运过程中,一旦温度超…

R语言 | 带P值的相关性热图绘制教程

原文链接:带P值的相关性热图绘制教程 本期教程 往期教程部分内容 **注意:若是在MarkDown格式中无法运行成功,请新建有一个R script文件 ** 一、加载R包 if (!require(corrplot)) install.packages("corrplot") if (!require(Hmi…

27、架构-微服务需要的条件

微服务需要的条件 在决定采用微服务架构之前,需要明确其前提条件。微服务架构不仅仅是技术上的变革,更涉及组织结构和团队文化的调整。以下是微服务需要的几个关键条件: 1. 组织结构 微服务的成功实施依赖于组织结构的支持。根据康威定律&…

【python】PyQt5对象类型的判定,对象删除操作详细解读

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

【离散数学·图论】(复习)

一、基本概念 1.一些基本术语: 2.点u,v邻接(或相邻): 边e称为关联顶点u和v,or e连接u和v; 3.G(V,E)中,顶点v所有邻居的集合:N(v), 成为v的邻域。 4.度 : deg(v) 5.悬挂点:度为1的…

鸿蒙智慧监控解决方案:由Al视觉盒、网络摄像头、管理后台、手机端、NVR等组成

方案架构 整体技术架构由Al视觉盒、网络摄像头、管理后台、手机端、NVR等组成,提供从前端智能监控到后端数据处理的完整闭环。 方案价值 01/节约人力成本 ①AI算法对监控内容进行实时的智能检测,准确率高,有效减少错漏,无需多个…

springCloudalibabaAI孵化(一)

目录 1、what 1、简介 2、核心概念 3、高级特性 Prompt 和 AiResponse 4、功能 2、How 1、前言 2、在项目 pom.xml 中加入 2023.0.1.0 版本 Spring Cloud Alibaba 依赖: 3、在 配置文件中加入以下配置:application.yml 4、编写聊天服务实现类&a…

如何精准分析人形机器人运动数据?

全球“机器换人”进程加速,人形机器人有望成为AI下一个重要落地应用场景;EtherCAT-Analyzer具备分析人形机器人所有关节和电池与主站的通讯信息,快速掌握节点网络状态! 前言 随着人形机器人行业的发展及《中国制造2025》的全面实施,传统的脉冲模式控制很大程度上制约了机…

照明物联网:基于网关的智能照明云监控系统解决方案

智能照明系统就是利用物联网技术,将同一空间的照明、空调、新风、排风等系统共同接入物联网平台,实现了“设备互联、数据互通”的智慧物联能力。照明数据、环境监测数据通过网关上传云端,在云端进行统计分析并将结果通过各种终端共享&#xf…

JVM专题十三:总结与整理(持续更新)

图解JVM JVM与Java体系结构 JVM垃圾回收算法 JVM垃圾回收器 图解JVM主要是放了前面12个章节的我们给大家画的图,做了整体的汇总,大家可以根据图区回忆我们所说的内容,查缺补漏。 实战经验 1、项目中数据量多少,QPS与TPS最高多少…

充电站,正在杀死加油站

最近,深圳公布了一组数据,深圳的超级充电站数量已超过传统加油站数量,充电枪数量也已超过加油枪数量。 从全国范围看,加油站关停的速度在加快。 充电站正在杀死加油站。 加油站,未来何去何从? 01. 减少 我…

FFmpeg教程-二-代码实现录音

目录 一,实现步骤 二,具体实现 1,注册设备 2,获取输入格式对象 3,打开设备 4,采集数据 一,实现步骤 二,具体实现 1,注册设备 // 初始化libavdevice并注册所有输入…

vue动态渲染元素,对处于奇数位置的元素设置样式

在Vue中,如果你想要对动态渲染的列表中处于奇数位置的元素设置样式,你可以使用v-for指令结合index来实现。v-for指令允许你指定一个key和一个index,其中index代表当前元素在列表中的位置(从0开始计数)。 以下是如何对…

操作系统-中断和异常

中断和异常 用户态:普通应用程序运行在用户态,有很多权限限制 内核态:操作系统运行在内核态,有完全的权限访问和管理所有资源(硬件,内存) 中断的作用 把CPU从用户态变内核态 异常&#xff08…

C++ 教程 - 07 类的静态成员

文章目录 静态成员 静态成员 使用static修饰的成员; 静态的成员变量; 仅保留一份副本,不管创建多少个实例对象,都共享这一份数据;类、对象均可以调用;类外重新声明,并通过类初始化;…

C语言:哈希表

1、文章声明: 本文是基于链地址法建立的哈希表。文章中若存在错误,欢迎各路大佬指正。本文涉及二级指针,链表等内容。该方面的知识点,可以参考文章: 数据结构:单链表的相关操作-CSDN博客 C语言&#xff…

什么是软件架构的 4+1视图?如何运用?有什么优缺点?

一、41视图的起源 41视图最早由Philippe Kruchten提出。他在1995年的《IEEE Software》上发表了题为《The 41 View Model of Architecture》的论文,这一论文的发表引起了业界的极大关注,并最终被RUP(Rational Unified Process,统一…

【力扣】有效的字母异位词

🔥博客主页: 我要成为C领域大神🎥系列专栏:【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞👍收藏⭐评论✍️ 本博客致力于知识分享,与更多的人进行学习交流 给定两个字符串 s …