资源简介
Elgamal数字签名主要利用离散对数的特性来实现签名,具体方式如下:
生成
随机选择
签名算法
验证算法
代码片段和文件信息
//本原元的概念:若模n下a的阶d=φ(n),a就是n的本原元(又称为原根)。此时a是Z*_n的生成元。
/*======================================================
Diffie-Hellman 算法下面就给出一个快速求大素数 p 及其本原根的算法
算法如下:
P1. 利用素性验证算法,生成一个大素数 q;
P2. 令 p = q * 2 + 1;
P3. 利用素性验证算法,验证 p 是否是素数,如果 p 是合数,则跳转到 P1;
P4. 生成一个随机数 g,1 < g < p - 1;
P5. 验证 g2 mod p 和 gq mod p 都不等于 1,否则跳转到 P4;
P6. g 是大素数 p 的本原根。
======================================================*/
#include “ELGamel.h“
int main()
{
//cout << “签名者 A:“ << endl;
string message;
BigInteger r s;
cout << “输入签名的消息:“ << endl;
cin >> message; //输入签名的消息
elgamalSign((unsigned char *)message.c_str() message.length() r s); //调用ELGemel.h中的函数
cout << “签名信息如下:“ << endl;
/*不要奇怪为什么r总是等于d去看一下r的定义就知道了。
*r = g^k mod p[g是mod p 下的本原元 k是任意
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-05-01 21:53 ELGamel\
目录 0 2018-05-01 21:53 ELGamel\bin\
目录 0 2018-05-01 21:53 ELGamel\bin\Debug\
文件 1135459 2018-03-22 21:27 ELGamel\bin\Debug\ELGamel.exe
文件 1332 2018-03-13 11:29 ELGamel\ELGamel.cbp
文件 1032 2018-03-22 21:27 ELGamel\ELGamel.depend
文件 1096 2018-03-22 22:17 ELGamel\ELGamel.layout
目录 0 2018-05-01 21:53 ELGamel\include\
文件 4298 2018-03-13 11:20 ELGamel\include\BigInteger.h
文件 1908 2018-03-15 10:49 ELGamel\include\ELGamel.h
文件 9085 2018-03-22 21:27 ELGamel\include\md5.h
文件 1878 2018-03-15 14:00 ELGamel\main.cpp
目录 0 2018-05-01 21:53 ELGamel\obj\
目录 0 2018-05-01 21:53 ELGamel\obj\Debug\
文件 50086 2018-03-22 21:27 ELGamel\obj\Debug\main.o
目录 0 2018-05-01 21:53 ELGamel\obj\Debug\src\
文件 115523 2018-03-13 11:25 ELGamel\obj\Debug\src\BigInteger.o
目录 0 2018-05-01 21:53 ELGamel\src\
文件 35889 2018-03-13 11:25 ELGamel\src\BigInteger.cpp
相关资源
- Surface pro 7 SD卡固定硬盘X64驱动带数字
- 数据加密与数字签名系统
- 使用Elgamal公钥密码系统实现数字签名
- 使用cryptapi进行数字签名demo
- 基于DES的数字签名系统
- Windows驱动签名工具 64Signer和Driver Si
- 这是一个基于openssl库的对文件进行加
- 数字签名和数字证书
- 数字签名编程实现
- 密码学实验全部题目+完整代码:Has
- PGP8.1破解版加汉化包
- 基于余数系统的sm2白盒数字签名
- dsa数字签名算法的验证及实现
- 清除数字签名工具
- NVMe固态硬盘通用驱动无数字签名证书
- 数字签名验证工具
- Windows软件数字签名makecert.exesigncode.
- firadisk64位带数字签名,免按F8
- 已数字签名的cfadisk_X64
- RSA数字签名设计与实现
- 一种数字签名系统的设计与实现
- signtool数字签名工具和cab制作工具
- 带数字签名Virtual USB Multikey64bit drive
- 数字签名清除工具
- dseo13b.exe
- MD5SHA1CRC32数字签名校验工具
- 从客户端调用capicom控件签名
- 密码学课程设计 一个简易的数字签名
- DSA Tools v13
- 数字签名算法DSS
评论
共有 条评论