精华内容
下载资源
问答
  • 为此,在环签名理论、 Elgamal数字签名算法与PBFT算法的基础上,提出一种基于 Elgamal数字签名算法的环签名改进方案。对环签名算法进行正确性及匿名性分析,运用环签名方案改进PBFT算法的签名及验证过程,使用 ...
  • c语言代码,自己写不出这么长的代码,手里有资源的可以发给我一下吗
  • ElGamal公钥密码算法ElGamal数字签名方案实现

    万次阅读 多人点赞 2018-03-30 15:41:58
    它既可用于加密又可用于数字签名的公钥密码体制。 一、ElGamal公钥密码算法描述 1.选取一个大素数p,使离散对数问题在有限域GF(p)上是难解的,选取g∈Z是一个本原元。 2.随机选取整数x,1≤x≤p-2,计算y=g^x...

    ElGamal公钥密码算法是在密码协议中有着重要应用的一类公钥密码算法,其安全性是基于有限域上离散对数学问题的难解性。它至今仍是一个安全性良好的公钥密码算法。它既可用于加密又可用于数字签名的公钥密码体制。

     

    一、ElGamal公钥密码算法描述

    1. 选取一个大素数p,使离散对数问题在有限域GF(p)上是难解的,选取g∈Z是一个本原元。

    2. 随机选取整数x,1≤x≤p-2,计算y=g^x(mod p); y是公开的加密密钥,而x是保密的脱密密钥。

    3. 明文空间为Z,密文空间为Z×Z。

    4. 加密变换:对任意明文m∈Z,秘密地随机选取一个整数k,1≤k≤p-2,

    展开全文
  • Elgamal数字签名主要利用离散对数的特性来实现签名,具体方式如下: 生成 随机选择 签名算法 验证算法
  • ElGamal数字签名优缺点

    2021-04-16 18:53:38
    密码学 ElGamal数字签名优缺点 Schnorr数字签名算法优缺点

    ElGamal数字签名优缺点

    该方案在技术上存在一些限制,从而可能导致一致的安全隐患, 如 : 会话密钥 k 不能暴露给任何人, 其值必须随机选取, 而且必须确保在签不同的信息时会话密钥没有重复使用过;必须避免选择到 “ 弱随机数”k如2或者 3 ; 必须避免产生 “ 弱签名” , 以防攻击者通过签名即可计算出签名者的私钥;为 了避免遭受代换攻击, 必须使用单向Ha s h函数等尽管该方案在实际应用中是简单可行的,但是随着社会对安全性要求的日益提高,已经不能充分地满足社会的需求

    Schnorr签名算法优缺点

    第一,Schnorr 签名算法有可证明安全性。在假设椭圆曲线离散对数问题难度的随机寓言(Random Oracle)模型,以及假设原像抗性(Preimage Resistance)和次原像抗性(Second Preimage Resistance)的通用群模型下,Schnorr 签名算法具备选择消息攻击下的强不可伪造性(Strong Unforgeability under Chosen Message Attack,SUF-CMA)。换言之,如果不知道 Schnorr 签名的私钥,即使有针对任意消息的有效 Schnorr 签名,也没法推导出其他有效 Schnorr 签名。而 ECDSA 签名算法的可证明安全性则依赖于更强的假设。

     

    第二,Schnorr 签名算法具有不可延展性(Non-malleability)。签名延展性的含义是,第三方在不知道私钥的情况下,能将针对某一公钥和消息的有效签名,改造成针对该公钥和信息的另一个有效签名。ECDSA 签名算法则有内在的可延展性,这是 BIP 62 和 BIP 146 针对的问题。

     

    第三,Schnorr 签名算法是线性的,使得多个合作方能生成对他们的公钥之和也有效的签名。这一特点对多重签名、批验证(Batch Verification)等应用非常重要,既能提高效率,也有助于保护隐私。而在 ECDSA 签名算法下,如无额外的见证数据,批验证相对逐个验证并无效率提升。

     

     

    展开全文
  • ElGamal数字签名

    2020-08-16 13:32:35
    前面已经介绍过ElGamal加密系统,ElGamal数字签名使用的是相同的密钥,但是使用的算法不同。该算法创建了两个数字签名。在验证步骤中,这两个签名应该相吻合。这里的密钥生成过程和ElGamal加密系统的生成过程一样。...
    1.简介

    前面已经介绍过ElGamal加密系统,ElGamal数字签名使用的是相同的密钥,但是使用的算法不同。该算法创建了两个数字签名。在验证步骤中,这两个签名应该相吻合。这里的密钥生成过程和ElGamal加密系统的生成过程一样。公钥仍然是(E1,E2,P),私钥仍然是D。

    2.签名过程

    签名过程如下:
    (1)发送方选择一个随机数R。
    (2)发送方使用等式 S 1 = E 1 R m o d P S1=E1^R\quad mod\quad P S1=E1RmodP计算出第一个签名S1。
    (3)发送方使用等式 S 2 = ( M − D × S 1 ) × R − 1 m o d ( P − 1 ) S2=(M-D\times S1)\times R^{-1}\quad mod\quad (P-1) S2=(MD×S1)×R1mod(P1)计算出第二个签名S2,这里M是需要进行签名的原始消息。
    (4)发送方把M、S1和S2发送给接收方。

    3.验证过程

    验证过程如下:
    (1)接收方使用等式 V 1 = E 1 M m o d P V1=E1^M\quad mod\quad P V1=E1MmodP进行验证的第一部分V1。
    (2)接收方使用等式 V 2 = E 2 S 1 × S 1 S 2 m o d P V2=E2^{S1}\times S1^{S2}\quad mod\quad P V2=E2S1×S1S2modP进行验证的第二部分V2。
    (3)如果V1=V2,则认为该签名是合法的,否则认为该签名是不合法的。

    展开全文
  • Elgamal数字签名原理

    万次阅读 2017-12-01 17:37:36
    Elgamal数字签名  Elgamal数字签名主要也是利用离散对数的特性来实现签名,具体方式如下: 1. 选择一个大素数P、一个本原元G、一个随机整数d,d属于[2,p-2]; 2. 生成β,β=G^d mod P; 3. 此时P、G、β就是公钥...

    Elgamal数字签名

             Elgamal数字签名主要也是利用离散对数的特性来实现签名,具体方式如下:

    1. 选择一个大素数P、一个本原元G、一个随机整数d,d属于[2,p-2];

    2. 生成β,β=G^d mod P;

    3. 此时P、G、β就是公钥,记作Kpub;

    4. Elgamal数字签名记作sig(x,k)=(r,s);  x是明文的摘要,k是临时私钥的随机值,记作Kpr,r,s是构成签名的两个整数;

    5. 签名生成: r=G^k mod P; s=(x-dr)k^-1 mod (p-1);

    6. 生成签名后,签名随明文一起发送给接收方;

    7. 接收者收到消息后计算 t=β^r · r^s mod P

    8. 验证:当t≡G^x modP 则该签名有效,数据未被篡改,反之则签名无效;

     

    举例:B发消息给A,对消息使用Elgamal数字签名

        1. B选择素数P=29、本原元G=2、随机整数d=12,临时私钥k=5, 明文的摘要x=26;

             2.公钥β=G^d mod P → β=4096 mod 29 → β=7

             3.B将公钥(P=29,G=2,β=7)发给A

             4.计算签名,

         r=G^k mod P → r=2^5 mod 29 → r=3

               s=(x-dr)k^-1 mod (p-1) → s=(26-36)·17 mod 28 → s=26

        5.计算签名后将r=3、s=26、x=26发送给A

        6.A收到消息后,验证签名:

          t=β^r · r^smod P → t=343 X 2541865828329 mod 29 → t=22

          t≡G^x mod P  t mod P =22, G^x mod P =67108864mod 29 =22

        7.验证成功。

    展开全文
  • elgamal数字签名

    千次阅读 2018-11-25 09:34:00
    其中数字签名算法原理如下: 1. 秘钥产生:Alice选择大素数p,本原根g,选择一个秘密整数1<<x<<p-2,计算y=g^xmod p,公钥为(p,g,y),私钥为x 2.数字签名:Alice签名消息m,(m一般为...
  • ElGamal数字签名

    2021-06-28 13:48:25
    著名的公钥算法,椭圆曲线体制,在数字签名中都有一定的应用。ElGamal就是一种原理简单,应用广泛的数字签名方法,它的成功很大程度上取决于求解离散对数问题的困难。ElGamal的密钥和参数的产生过程如下: 它先选定...
  • 比较典型的数字签名方案有:· RSA签名算法(R. L. Rivest, A. Shamir, and L. M. Adleman, 1978)· ElGamal 签名算法(T. ElGamal, 1985)· Schnorr签名算法(C. P. Schnorr, 1989)· DSS签名算法(NIST, 1991)基于RSA....
  • 数据完整性算法_ElGamal数字签名方案

    千次阅读 2018-12-10 13:10:00
    ElGama数字签名方案是五种签名方案中的一种,我们知道ElGama加密方案是使用用户的公钥进行加密,使用用户的私钥进行解密。但ElGama数字签名方案是使用私钥进行加密,公钥进行解密。   ElGama方案遵循数字签名的...
  • ElGamal数字签名笔记

    2021-10-06 19:36:42
    ElGamal数字签名核心思想在于这样的表达式: 1)am−S1XA×aS1XA≡am(modp),S11) a^{m-S_1X_{A}} \times a^{S_1X_{A}}\equiv a^{m} \pmod{p},S_11)am−S1​XA​×aS1​XA​≡am(modp),S1​是常数; 2)2)2) 对于...
  • ECDSA在区块链中的应用 比特币交易流程 ELGamal签名算法
  • 求一个简单ElGamal数字签名,C或C++控制台程序代码就行, rsa数字签名也有的更好,谢谢大神,让我应付下密码学的算法设计。
  • 注意:只是我的理解,可能有不正确的地方算法ElGamal加密算法是一种非对称加密算法,基于Diffie-Hellman密钥交换算法,由Taher Elgamal在1985年提出。安全ElGamal加密算法能够应用在任意一个循环群(cyclic group)上...
  • ELGamal数字签名方案的实现 1. 问题描述 为简化问题,我们取p=19,g=2,私钥x=9,则公钥y=29 mod 19=18。消息m的ELGamal签名为(r,s),其中r=gk mod p,s=(h(m)-xr)k-1 mod (p-1) 2.基本要求  考虑p取大素数的情况...
  • Elgamal签名算法(初始化和签名) Elgamal签名算法(验证) Elgamal签名算法(正确性) Elgamal签名算法(举例) #include <stdlib.h> #include <stdio.h> #include <time.h> #include <math.h>...
  • 数字签名中的elgamal算法

    热门讨论 2011-05-09 18:28:55
    本压缩包中是用C编写的ELGAMAL加密算法
  • 数字签名算法

    2013-04-19 13:44:55
    纤细介绍了信息安全中的主要数字签名算法。RSA,DSS,ElGamal,Schnorr,Ecdsa等算法。
  • 数字签名标准(Digital Signature Standard, DSS), DSS本质是ElGamal数字签名算法,DSS使用的算法成为数字签名算法(Digital Signature Algorithm, DSA)。 DSA与RSA是数字证书不可或缺的两种算法。DSA算法仅包含数字...
  • 在掌握了ElGamal和Schorr数字签名算法的基础上,进一步地学习和掌握DSA签名算法。深入地理解该算法是如何降低了签名信息的长度(当其中一个重要参数 选为512bit的素数时,ElGamal签名的长度为1024bit,而DSA中通过...
  • 包含Base64 包含对称加密算法:DES,3DEA,AES,PBE 包含对称加密算法:DH,RAS,ElGamal 包含摘要算法:MD2,MD4...数字签名算法:RSA,DSA,ECDSA 详情请查看:http://blog.csdn.net/baidu_34012226/article/details/53331147
  • 请尊重作者劳动,也欢迎来信交流 fnlq@263.net ============================================================ =========== 【正文】 ElGamal算法既能用于数据加密也能用于数字签名,其安全性依赖于计算有限域上...
  • Java实现ElGamal算法签名

    千次阅读 2018-06-20 23:09:10
    Elgamal.java package elgamal; import java.math.BigInteger; import java.lang.Math; import java.util.Random; import java.io.*; public class ElGamal { private static final BigIn...
  • DSA数字签名算法及其实现

    千次阅读 2020-06-26 19:02:05
    在掌握了ElGamal和Schorr数字签名算法的基础上,进一步地学习和掌握DSA签名算法。深入地理解该算法是如何降低了签名信息的长度(当其中一个重要参数选为512bit的素数时,ElGamal签名的长度为1024bit,而DSA中通过160...
  • Digital Signature Algorithm (DSA)是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSS(DigitalSignature Standard)。(文尾梳理了对不同消息M,重用k时候带来的威胁..)算法描述:参数: 全局公钥为 {p, q, g, y} :p ...
  • 数字签名技术 -- DSA算法

    千次阅读 2017-04-14 10:30:53
    本质上是ElGamal数字签名算法,仅能与SHA系列算法结合,没有相应的MD融合算法。DSA算法和RSA算法的异同DSA算法是DSS技术的核心算法,与RSA算法的异同如下: 二者都是数字签名算法中的重要组成,缺一不可; DSA算法...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,390
精华内容 956
关键字:

elgamal数字签名算法