• 大小: 394KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-01-08
  • 语言: 其他
  • 标签: ELGama  数字签名  

资源简介

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

评论

共有 条评论