《实验三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数字签名算法相关推荐

  1. dsa数字签名c语言编程,对文件进行DSA数字签名

    package com.ivan.security.algorithm; /** * 对文件进行DSA数字签名 * @author Ivan * @DataTime 2006-12-12 0:58 * ...

  2. dsa数字签名c语言编程,DSA 数字签名算法

    Digital Signature Algorithm (DSA)是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSS(DigitalSignature Standard). (文 ...

  3. 南工程c语言实验报告,Linux环境下-C语言编程实验报告(1)(总4页).doc

    Linux环境下-C语言编程实验报告(1)(总4页).doc 西 安 邮 电 大 学 (计算机学院)课内实验报告实验名称 Linux环境下 C语言编程 专业名称 网络工程班 级 1203班 学生姓名 ...

  4. 实验c语言程序数据类型,C语言编程实验.doc

    C语言编程实验.doc C语言程序设计上机安排C语言上机实验32学时序号实验项目名称内容提要学时数1上机操作初步熟悉VC语言上机环境:了解如何编辑.编译.连接和运行一个C程序.22简单的C程序设计掌握 ...

  5. c语言编程测试char的整数生成,C语言编程实验

    <C语言编程实验>由会员分享,可在线阅读,更多相关<C语言编程实验(30页珍藏版)>请在人人文库网上搜索. 1.C语言实验习题7-1输出图形(10分)编写程序输出图形.第一行输 ...

  6. c语言程序设计实验三程序,c语言程序设计实验三循环.doc

    c语言程序设计实验三循环 高级语言程序设计 实验三 循环控制 一.实验目的和要求 1. 熟练掌握用while语句.do while语句和for语句实现循环的方法.掌握在程序设计中用循的方法实现一些常用 ...

  7. 离散卷积的c语言编程实验,数字信号处理实验一离散卷积c语言编程.ppt

    数字信号处理实验一离散卷积c语言编程 实验一 离散卷积的C语言编程实验 DSP实验室 2005 实验性质 综合设计性实验 实验目的 1 了解和认识常用的各种信号: 2 掌握卷积的定义和计算方法: 3 ...

  8. c语言程序设计 猜数字,猜数字游戏c语言编程,c语言编程 编一个猜数字游戏

    c语言编程 编一个猜数字游戏 #include #include #include #include void main()/*主函数*/ { int a,b,times=0,i,j,guess=0, ...

  9. 实验三、数字PID控制器的设计

    实验三.数字PID控制器的设计 --- 直流闭环调速实验 一.实验目的 1.理解晶闸管直流单闭环调速系统的数学模型和工作原理;. 2. 掌握PID控制器参数对控制系统性能的影响; 3. 能够运用MAT ...

最新文章

  1. mysql性能优化之sql语句优化最强合集
  2. 配置管理和Java开发_Java开发环境之------MyEclipse中服务器Server的配置,管理和启动...
  3. 坐标系旋转变换公式图解
  4. mybatis依赖_Spring Boot2 系列教程(二十一)整合 MyBatis
  5. TF-IDF的java实现(权重排序,可用来处理大数据集)
  6. oracle以10个记录为一页查询,SQL查询前10条记录(SqlServermysqloracle)语法分析
  7. usbserialconverter驱动找不到_驱动到底是什么?别再用精灵管家无脑装驱动了
  8. 结合了人工客服和AI的Fin,可能是Siri最大的竞争对手
  9. PostgreSQL\GPDB 多维数据透视典型案例分享
  10. Linux 下删除非空目录
  11. 【软件资源】VS2013软件安装全教程!(附VS各版本下载地址)
  12. 关于studio 3T
  13. 万圣节头像挂件微信小程序前端
  14. LR 杂记--数据分析Analysis
  15. 跑腿小程序需要服务器吗,小程序设置流程
  16. 高德地图android拖动地图,建议高德地图添加地图拖动事件,添加方法如内容所述...
  17. 不连接显示器或者HDMI欺骗器来 使用Moonlight串流游戏
  18. 深入理解TCP协议的连接状态与可靠机制
  19. [Go]获取当前时间戳秒/毫秒/纳秒 转成字符串string
  20. 毕业设计-模拟数据集生成笔记

热门文章

  1. 《2022 大数据技术与架构视频合集》附PPT和文档,限时下载
  2. 【推导】线性变换的矩阵表达式
  3. 三次样条插值matlab实现
  4. Nvicat Premium连接腾讯云数据库TDSQL-C(原CynosDB)
  5. 关于人工智能不会使大脑变懒惰的议论文_台湾人工智能学校执行长陈升玮:孩子成为这型人,就不怕被AI取代...
  6. RFID反向不归零编码(NRZ)
  7. 【恩墨学院】为什么用尽了办法你的系统性能还是不见改善?
  8. 360天擎终端安全管理系统最新版6.0免费下载
  9. 监狱筹建牌竖近2年 未告知民众关押病犯遭质疑
  10. mule seda 学习二