dsa数字签名c语言编程,实验三DSA数字签名算法
《实验三DSA数字签名算法》由会员分享,可在线阅读,更多相关《实验三DSA数字签名算法(8页珍藏版)》请在人人文库网上搜索。
1、实验三 DSA数字签名算法姓 名: 学 号: 学 院: 信息工程学院 指导老师: 郑明辉 1. DSA算法原理数字签名是数据在公开行信道中传输的安全保障,能够实现数据的公开、公正、不可抵赖等特点的方法,只能公开的密钥、密码签名算法。国际供认的公开密钥签字算法主要有RSA算法、ElGAMAL算法或者其变形的签名算法。DSA(Digite Signature Arithmotic )是Schnore和ElGamal算法的变型。美国国家标准技术研究所(NIST)1994年5月19日公布了数字签名标准的(DSS),标准采用的算法便是DSA,密钥长度为5121024位。密钥长度愈长,签名速度愈慢,制约运。
2、算速度的只要因素是大数的模指数运算。2. DSA签名中的参数参数描述:Digital Signature Algorithm (DSA)是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSS(DigitalSignature Standard)。算法中应用了下述参数: p:L bits长的素数。L是64的倍数,范围是512到1024; q:p - 1的160bits的素因子; g:g = h(p-1)/q) mod p,h满足h 1; x:x #include #include BigInt.h#include sha1.h#include time.hint shas1(c。
3、onst unsigned int x, unsigned char digest20)SHA1_CTX context;unsigned char buffer16384; /,digest20;/FILE *file; SHA1Init(&context);SHA1Update(&context, buffer, 1);SHA1Final(digest, &context);return 0;CBigInt sha(CBigInt y)SHA1_CTX context;CBigInt X;unsigned char buffer16384,digest20;CString str;char。
4、 *t=0123456789ABCDEF;if(y.m_nLength=1)&(y.m_ulValue0=0)str=0;X.Mov(0);return X;str=;int a;char ch=0;str.Insert(0,ch);X.Mov(y);while(X.m_ulValueX.m_nLength-10)a=X.Mod(16);ch=ta;str.Insert(0,ch);X.Mov(X.Div(16);int i=0;while (stri0) i+;for (a=i,i=0;i=0)&(digesti=A)&(digesti=a)&(digesti0)if (y%2=0) q.M。
5、ov(q.Mul(q); y /= 2 ; else p.Mov(p.Mul(q); y -= 1; return p;CBigInt pow3(CBigInt x, CBigInt y, CBigInt m)CBigInt p,t;p.Mov(1);t.Mov(0);while (y.Cmp(t)0)if (y.m_ulValue0&0x1=0) x.Mov(x.Mul(x); x.Mov(x.Mod(m); x.Mov(x.Div(2); else p.Mov(p.Mul(x); p.Mov(p.Mod(m); y.Mov(y.Sub(1); return p;4. 过程及结果截图描述开始运行选择512位密钥长度,点击公开参数,如下图随便选择一个你要签名的文件,然后选择算法点击数字签名然后点击签名验证(注:文档可能无法思考全面,请浏览后下载,供参考。可复制、编制,期待你的好评与关注。
dsa数字签名c语言编程,实验三DSA数字签名算法相关推荐
- dsa数字签名c语言编程,对文件进行DSA数字签名
package com.ivan.security.algorithm; /** * 对文件进行DSA数字签名 * @author Ivan * @DataTime 2006-12-12 0:58 * ...
- dsa数字签名c语言编程,DSA 数字签名算法
Digital Signature Algorithm (DSA)是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSS(DigitalSignature Standard). (文 ...
- 南工程c语言实验报告,Linux环境下-C语言编程实验报告(1)(总4页).doc
Linux环境下-C语言编程实验报告(1)(总4页).doc 西 安 邮 电 大 学 (计算机学院)课内实验报告实验名称 Linux环境下 C语言编程 专业名称 网络工程班 级 1203班 学生姓名 ...
- 实验c语言程序数据类型,C语言编程实验.doc
C语言编程实验.doc C语言程序设计上机安排C语言上机实验32学时序号实验项目名称内容提要学时数1上机操作初步熟悉VC语言上机环境:了解如何编辑.编译.连接和运行一个C程序.22简单的C程序设计掌握 ...
- c语言编程测试char的整数生成,C语言编程实验
<C语言编程实验>由会员分享,可在线阅读,更多相关<C语言编程实验(30页珍藏版)>请在人人文库网上搜索. 1.C语言实验习题7-1输出图形(10分)编写程序输出图形.第一行输 ...
- c语言程序设计实验三程序,c语言程序设计实验三循环.doc
c语言程序设计实验三循环 高级语言程序设计 实验三 循环控制 一.实验目的和要求 1. 熟练掌握用while语句.do while语句和for语句实现循环的方法.掌握在程序设计中用循的方法实现一些常用 ...
- 离散卷积的c语言编程实验,数字信号处理实验一离散卷积c语言编程.ppt
数字信号处理实验一离散卷积c语言编程 实验一 离散卷积的C语言编程实验 DSP实验室 2005 实验性质 综合设计性实验 实验目的 1 了解和认识常用的各种信号: 2 掌握卷积的定义和计算方法: 3 ...
- c语言程序设计 猜数字,猜数字游戏c语言编程,c语言编程 编一个猜数字游戏
c语言编程 编一个猜数字游戏 #include #include #include #include void main()/*主函数*/ { int a,b,times=0,i,j,guess=0, ...
- 实验三、数字PID控制器的设计
实验三.数字PID控制器的设计 --- 直流闭环调速实验 一.实验目的 1.理解晶闸管直流单闭环调速系统的数学模型和工作原理;. 2. 掌握PID控制器参数对控制系统性能的影响; 3. 能够运用MAT ...
最新文章
- mysql性能优化之sql语句优化最强合集
- 配置管理和Java开发_Java开发环境之------MyEclipse中服务器Server的配置,管理和启动...
- 坐标系旋转变换公式图解
- mybatis依赖_Spring Boot2 系列教程(二十一)整合 MyBatis
- TF-IDF的java实现(权重排序,可用来处理大数据集)
- oracle以10个记录为一页查询,SQL查询前10条记录(SqlServermysqloracle)语法分析
- usbserialconverter驱动找不到_驱动到底是什么?别再用精灵管家无脑装驱动了
- 结合了人工客服和AI的Fin,可能是Siri最大的竞争对手
- PostgreSQL\GPDB 多维数据透视典型案例分享
- Linux 下删除非空目录
- 【软件资源】VS2013软件安装全教程!(附VS各版本下载地址)
- 关于studio 3T
- 万圣节头像挂件微信小程序前端
- LR 杂记--数据分析Analysis
- 跑腿小程序需要服务器吗,小程序设置流程
- 高德地图android拖动地图,建议高德地图添加地图拖动事件,添加方法如内容所述...
- 不连接显示器或者HDMI欺骗器来 使用Moonlight串流游戏
- 深入理解TCP协议的连接状态与可靠机制
- [Go]获取当前时间戳秒/毫秒/纳秒 转成字符串string
- 毕业设计-模拟数据集生成笔记