1、数字签名原理用RSA算法做数字签名,总的来说,就是签名者用私钥参数d加密,也就是签名;
验证者用签字者的公钥参数e解密来完成认证。
下面简要描述数字签名和认证的过程。
(1)、生成密钥为用户随机生成一对密钥:公钥(e,n)和私钥(d,n).(2)、签名过程a) 计算消息的散列值H(M).b) 用私钥(d,n)加密散列值:s=(H(M))modn,签名结果就是s.c) 发送消息和签名(M,s).(3)、认证过程a) 取得发送方的公钥(e,n).b) 解密签名s:h=smodn.c) 计算消息的散列值H(M).d) 比较,如果h=H(M),表示签名有效;
否则,签名无效。
根据上面的过程,我们可以得到RSA数字签名的框图如图2-1:图2-1RSA数字签名框图2、 假设Alice想和Bob通信,以本地两个文件夹Alice和Bob模拟两个用户,实现消息M和签名的模拟分发(1)、Alice通过RSA算法生成一对密钥:公钥(e,n)和私钥(d,n),将公私钥分别存入pubKey.txt和priKey.txt中。
pubKey.txt中公钥如下:priKey.txt中私钥如下: (2)、将Alice中的pubKey.txt拷到Bob中,模拟公玥的分发。
(3)、将Alice中的消息info.txt做散列,将散列后的值存入hashInfo.txt中。
(4)、将Alice中的消息hashInfo.txt和签名sign.txt拷到Bob中,实现M密文状态下的签名与模拟分发、消息传递。
(5)Bob取得公钥pubKey.txt,用公钥解密签名,计算消息的散列值H(M).比较,如果h=H(M),表示签名有效;
否则,签名无效。
后台运行结果如下:
2024/1/24 8:56:16 17KB java数字签名
1
即时贴是一个很小的软件。
这是我编写的一个关于“即时贴”程序的缺陷报告,缺陷可能不全,欢迎补充~资源包括“即时贴”软件、即时贴功能描述和缺陷报告
2024/1/23 21:44:49 191KB 软件测试
1
单片机初学者,经常在双机通信这一块,遇到困难,我将我之前遇到的困难整理了一下,发给大家,具体的描述,在我的另一片帖子中有详细描述,这里只放了发送函数工程。
2024/1/23 18:21:15 3.79MB STM32 双机通信 串口通信
1
题目描述已知一个只包含0和1的二进制数,长度不大于10,将其转换为十进制并输出。
输入描述输入一个二进制整数n,其长度不大于10输出描述输出转换后的十进制数,占一行样例输入110样例输出6提交代码
2024/1/23 14:27:58 390B 二进转十进
1
这是一款入侵检测系统,语言:C++,希望大家有更多的代码一起共享!
2024/1/23 11:09:19 2.06MB 入侵检测系统
1
https://blog.csdn.net/qq_29542611/article/details/84711243C/C++:Windows编程—代码获取本地所有网卡信息(网卡描述,IP地址,子网掩码,MAC地址)示例程序demo
2024/1/23 11:38:01 902KB Windows 编程 C/C++ GetAdaptersI
1
NSCT方法是由传统的contourlet变化改进而来,contourlet变化是用轮廓段的基结构来对图像的直线奇异和曲线奇异进行逼近检测,但其融合后的图像不具有平移不变性,没有很好的消除混频现象以及吉布斯现象。
而本文提出的NSCT不但保留了contourlet变化的多尺度,多方向,各向异性等优点,在图像分解时采用来非下采样形式剪切波变换能够很好的避免图像由于分解与重构带来的细节丢失,更重要的是分解后的图像与原图像大小相同,因此能够更好的完整描述图像的方向性和特征。
2024/1/22 22:43:34 95KB 融合技术
1
dq变换数学锁相环的设计,描述比较详细,是很好的参考资料
2024/1/22 22:19:12 1.16MB DQ变换 锁相环
1
1、该文档描述微服务架构划分2、描述MQ、hystrix链路追踪3、数据库MySQL集群、redis等4、Java多线程等
2024/1/22 0:51:15 3.69MB java mianshi
1
功能全部实现;
误差很小;
利用51单片机IO口作输出,通过定时器的周期性中断输出一个占空比可调、频率可调的简易方波信号发生器,具体要求如下:1、完成频率范围为0.1Hz~5KHz的方波发生器,要求如下:(1)占空比5%~95%连续可调;
(2)可键盘输入信号发生的频率。
2、可完成脉宽范围为100μs~1s的脉冲信号发生器,要求如下:(1)可键盘输入发生脉冲宽度;
(2)每按一次触发键,可发出一个单脉冲。
3、根据已经描述的C语言控制程序,运用Proteus画出硬件连接图,并将运用C语言描述的程序下载到Proteus虚拟单片机中,在Proteus中实现“简易方波信号发生器”的各项功能。
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡