收藏 分享(赏)

实验三 DSA数字签名算法.doc

上传人:weiwoduzun 文档编号:4465343 上传时间:2018-12-29 格式:DOC 页数:7 大小:756KB
下载 相关 举报
实验三 DSA数字签名算法.doc_第1页
第1页 / 共7页
实验三 DSA数字签名算法.doc_第2页
第2页 / 共7页
实验三 DSA数字签名算法.doc_第3页
第3页 / 共7页
实验三 DSA数字签名算法.doc_第4页
第4页 / 共7页
实验三 DSA数字签名算法.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

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“

3、#include “sha1.h“#include “time.h“int shas1(const unsigned int x, unsigned char digest20)SHA1_CTX context;unsigned char buffer16384; /,digest20;/ FILE *file; SHA1Init(SHA1Update(SHA1Final(digest, return 0;CBigInt sha(CBigInt y)SHA1_CTX context;CBigInt X;unsigned char buffer16384,digest20;CString str

4、;char *t=“0123456789ABCDEF“;if(y.m_nLength=1)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) 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 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 位密钥长度,点击公开参数,如下图随便选择一个你要签名的文件,然后选择算法点击数字签名然后点击签名验证

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 中学实验

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报