以往的文件或书信可以通过亲笔签名来证明其真实性,而通过计算机网络传输的信息则可以通过数字签名技术来实现其真实性的验证。
下面就以DSA算法为例,介绍数字签名算法。
DSA算法在1991年被美国国家标准与技术局(NIST)采纳为联邦数字签名标准,NIST称之为数字签名标准(DSS)。
(1)DSA中的参数:全局公钥(p,q,g):p为512~1024bit的大素数,q是(p-1)的素因子,为160比特的素数,g=h(p-1)/qmodp,且1<h1用户私钥x:x为0<x<q内的随机数用户公钥y:y=gxmodp用户为待签消息选取的秘密数k,k是满足0<k<q的随机数或伪随机数。
(2)签名过程用户对消息M的签名为(r,s),其中r≡(gkmodp)modq,s≡[k-1(H(M)+xr)]modq,H(M)是由MD4、MD5或SHA求出的杂凑值。
(3)验证过程设接收方收到的消息为M,签名为(r,s)。
计算:w≡(s)-1modq,u1≡[H(M)w]modqu2≡rwmodq,v≡[(gu1yu2)modp]modq检查v=r′是否成立,若成立,则认为签名有效。
这是因为若(M′,r′,s′)=(M,r,s),则:
2024/1/31 14:58:34 3.62MB C++ DSA
1
实现使用按键切换的正弦、方波、三角波、锯齿波、直流的信号发生器(幅值可调,频率不可调)
2024/1/31 0:54:24 5.69MB verilog
1
获取经纬度已经封装成工具类,纯原生获取android手机经纬度,并且根据经纬度转换成准确的地址
2024/1/30 6:02:35 18.38MB android gps 经纬度 经纬度转换
1
利用手机App实现记录家庭账务,可有效掌控家庭财务收支情况。
本代码主要使用第三方开源的jxl.jar完成对Excel文档的操作,包括可以在sd卡中查看Excel文档,也可以在项目中单击“导出帐单”查看记录。
2024/1/26 7:11:14 18.12MB 源码
1
可作为PWM控制,的输出发生器占空比可调
2024/1/25 18:27:18 22KB labVIEW
1
在做游戏时,经常会遇到需要读取Excel表格,用来配置游戏数据,供策化调试程序用Unity版本:5.4.1f1,可以正常打包成exe工程地址:链接:http://pan.baidu.com/s/1mhGhN8s密码:orsm这里Down了三种方法,都采用第三方库,不需要安装Office,关键free第一种:NPOI
2024/1/24 8:48:13 17.42MB unity3d unity excel
1
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:06:30 12.11MB 试验设计
1
java开发的股票交易模拟系统,你用了公开的新浪,腾讯股票数据接口,而且使用了第三方的java开源项目-jfreechart,程序所用的各种jar包也一并在压缩包里,在工程中添加后buildpath即可使用
2024/1/23 4:43:37 10.51MB java 股票交易 开源插件
1
第三方支付系统原版,加了部署说明,springmvc,dubbo,fastdfs,mysql
2024/1/22 20:53:56 29.57MB Java支付
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡