python基于RSA算法的数字签名生成软件

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w+、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战,微 xiaoxu_9411

🍅文末获取源码联系🍅

👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟

2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅
Java项目精品实战案例《500套》
Java微信小程序项目实战《200套》
Python项目实战《200套》

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及文档编写等相关问题都可以给我留言咨询,希望帮助更多的人

1 摘 要

本文讲解的是python基于RSA算法的数字签名生成软件,使用 Python 语言开发,MySQL 作为数据库。

当下,数字签名技术的技术运用已经十分的广泛了,数字签名的的运用大大的提升了信息安全特别是当下网络交易的安全系数。通过数字签名技术能够提升体的系统数据传输安全性,并且通过公钥和秘钥的区分来实现更好的数据保护功能。

此次就是利用RSA算法来进行信息数字签名的内容设计,通对于数字签名的内容讨论,来更好的掌握这项技术,通过对该技术的掌握来达到对密码学、安全知识的掌握能力,能够更好的实现对信息的保护和安全管理的内容学习,并且通过结合python技术来实现数字签名软件的设计,来提升整体对于系统搭建、数字签名的快速加密的内容研究,实现对国家信息安全推广的促进和帮助作用。

关键词:RSA算法;数字签名;python

图片[1]-python基于RSA算法的数字签名生成软件 - 计算机毕业设计源码网-计算机毕业设计源码网

2 数字签名的原理

现在的数字签名技术包括了有
ElGamal、RSA以及DSA等多种算法,而RSA作为公钥体制算法,能够进行数字签名的设计相对比较简单,并且内容设计比较完整,基于RSA算法的数字签名原理主要遵循了以下的内容:

  1. 通过初始化系统,可以生成签名中的数字参数;

  2. 发送方有着自己的私钥,并且通过利用自己的私钥为该信息进行数字签名;

  3. 发送方能够将信息的明文内容以及数字签名一同同时发给接收方;

  4. 接收方可以通过利用文件中附带的公钥信息进行签名的解密操作;

  5. 接收方在通过私钥、公钥对该消息进行了解密之后,可以将解密后的消息与消息的原文进行对比,观察二者是否一致,如果一致则证明消息传输过程中没有被破坏或者消息被篡改,如果不一致,则证明消息又被改动,该条信息不安全。

3 RSA 数字签名方案的描述

RSA的算法过程主要是分为了三个步骤,这三个步骤内容描述如下:

  1. RSA 密钥生成

通过选取两个没有任何关系的素数pq,通过计算公式npq、φ(n)
=(p−1)(q−1)

来进行计算,再选取一个正整数e,这个正整数是随机选择的,让其满足1\< e
\<φ(n),并且 eϕ(n) 的最大公约数 GCD(e,φ(n))
=1,此次设计解密的秘钥为d,使其满足 0 \< d \< φ(n) ,而且 ed
≡1(modφ(n)) ,私钥为 (d,n) 。

  1. 消息加密

消息加密之前,需要先对明文进行处理和分组,要让每一个明文的十进制数都不大于n,然后对着数组化的明文M进行加密。公式为C
M e mod n

(3)消息解密

消息接收方利用私钥 (d,n) 对密文 C 进行解密:

MCd mod n

4 vRSA数字签名的实现

4.2.1登录模块的实现

在登录模块的设计上,基于python的友好操作和开发,本次在登录的界面上设计了动态内容的显示,在蓝绿色的登录页面中背景选择了动态的雪花飘动,整体的背景显示流畅,通过色差的对比,提升了登录框的明亮度,可以在登录框中输入管理员的登录信息完成登录。具体的登录界面如下图所示:

图片[2]-python基于RSA算法的数字签名生成软件 - 计算机毕业设计源码网-计算机毕业设计源码网

图4.1用户登录界面

4.2.2数字签名的实现

此次在数字签名的模块中设计了数字签名的添加功能,并且有已经生成数字签名的信息列表的内容显示。界面如下图所示

图片[3]-python基于RSA算法的数字签名生成软件 - 计算机毕业设计源码网-计算机毕业设计源码网

图4.2数字签名界面

当点击新增数字签名是会出现如下的显示内容:

图片[1]-python基于RSA算法的数字签名生成软件 - 计算机毕业设计源码网-计算机毕业设计源码网

图4.3数字签名添加界面

当输入完"我爱学习"的内容之后,点击确定就可以看到该信息添加完毕了,还需要一步的操作就是进行验证签名,通过对点击验证签名可以实现签名的验证工作,如下图所示:

图片[5]-python基于RSA算法的数字签名生成软件 - 计算机毕业设计源码网-计算机毕业设计源码网

图4.4数字签名验证界面

4.2.3RSA数字签名的修改

上述已经完成签名验证的信息,点击修改,将原有"我爱学习"的内容修改为"我爱学习11"点击确认完成内容的修改,如下图所示:

图片[6]-python基于RSA算法的数字签名生成软件 - 计算机毕业设计源码网-计算机毕业设计源码网

图4.5信息修改界面

修改完毕后,再点击验证签名,可以得到系统反馈的信息为签名无效,如下图所示:

图片[7]-python基于RSA算法的数字签名生成软件 - 计算机毕业设计源码网-计算机毕业设计源码网

图4.6签名无效界面

参考文献

  1. 国家计算机网络应急技术处理协调中心. 2016

    中国互联网网络安全报告[M]. 北京: 人民邮电出版社, 2017:23-26.

  2. 刘 德 良 . 我 国 网 络 信 息 安 全 问 题 的 法 律 规 制 [J]. 信 息

    安 全与 通 信 保 密 , 2011(6):31-35

  3. 刘海玲, 裴连群. 计算机网络信息安全问题及防护策略[J].

    自动化与仪器仪表, 2017(9):192-193.

  4. 覃力更, 何增镇, 王彬. 基于 RSA

    加密算法的车道收费软件授权认证管理系统[J]. 西部交通科技,
    2015(2):58-61

  5. 郭国智,郭湘杰.基于云端安全的数字签名技术研究与应用[J].无线互联科技,2020,17(15):28-29.

  6. 程朝辉.数字签名技术概览[J].信息安全与通信保密,2020(07):48-62.

  7. 阳树铭.计算机网络信息安全中的数据加密技术[J].电脑知识与技术,2020,16(06):36-37+40.

© 版权声明
THE END
喜欢就支持一下吧,作者 v xiaoxu_9411
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容