【声明】

一.本文实用于初学者,目的在于帮助大家熟悉一些系统底层的知识。

二.本文只是为了让广大网友共同提高一些基础知识,本人决无卖弄之意,只供需要这方面知识的读者阅读,如果你是高手,或者不需要这方面知识,请跳过。

三.本文是一篇翻译文章,如有雷同,敬请谅解。

四.本文欢迎传抄转载,但是不要用于任何商业用途。请尊重作者劳动,也欢迎来信交流 fnlq@263.net

============================================================ ===========

【正文】

ElGamal算法既能用于数据加密也能用于数字签名,其安全性依赖于计算有限域上离散对数这一难题。密钥对产生办法。首先选择一个素数p,两个随机数, g 和x,g, x < p, 计算 y = g^x ( mod p ),则其公钥为 y, g 和p。私钥是x。g和p可由一组用户共享。ElGamal用于数字签名。被签信息为M,首先选择一个随机数k, k与 p – 1互质,计算

a = g^k ( mod p )

再用扩展 Euclidean 算法对下面方程求解b:

M = xa + kb ( mod p – 1 )

签名就是( a, b )。随机数k须丢弃。验证时要验证下式:

y^a * a^b ( mod p ) = g^M ( mod p )

同时一定要检验是否满足1<= a < p。否则签名容易伪造。ElGamal用于加密。被加密信息为M,首先选择一个随机数k,k与 p – 1互质,计算

a = g^k ( mod p ),b = y^k M ( mod p )

( a, b )为密文,是明文的两倍长。解密时计算

M = b / a^x ( mod p )

ElGamal签名的安全性依赖于乘法群(IFp)* 上的离散对数计算。素数p必须足够大,且p-1至少包含一个大素数。因子以抵抗Pohlig & Hellman算法的攻击。M一般都应采用信息的HASH值(如SHA算法)。ElGamal的安全性主要依赖于p和g,若选取不当则签名容易伪造,应保证g对于p-1的大素数因子不可约。D.Bleichenbache“GeneratingElGamal Signatures Without Knowing the Secret Key”中提到了一些攻击方法和对策。ElGamal的一个不足之处是它的密文成倍扩张。

美国的DSS(Digital Signature Standard)的DSA(Digital Signature Algorithm)算法是经ElGamal算法演变而来。

elgamal签名算法c语言,ElGamal算法相关推荐

  1. elgamal签名算法c语言,ELGamal数字签名.doc

    ELGamal数字签名 摘要 随着网络的发展,人们之间的各种交流变得越来越来方便,但同时也对信息传递的安全提出了新的要求,数字签名随之广泛的深入到了人们的日常生活中. ELGamal作为目前应用比较广 ...

  2. elgamal签名算法c语言,elgamal数字签名方案

    Elgamal算法由T.E1Gamal在1985年发表的一篇论文中提出,是Rabin体制的一种变型.其修正形式已被美国国家标准技术研究所作为数字签名标准(DS),其核心就是著名是数字签名方法(DSA) ...

  3. elgamal签名算法c语言,ElGamal加密、签名算法笔记

    注意:只是我的理解,可能有不正确的地方算法 ElGamal加密算法是一种非对称加密算法,基于Diffie-Hellman密钥交换算法,由Taher Elgamal在1985年提出.安全 ElGamal ...

  4. ElGamal加密算法|ElGamal签名算法|公钥密码|数字签名|密码学|信息安全

    ElGamal加密算法 简单介绍 EIGamal密码是除了RSA密码之外最有代表性的公开密钥密码 EIGamal是建立在离散对数的困难问题上的一种公钥体制密码 密钥产生 选一个素数p,以及小于p的两个 ...

  5. R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘)、使用subset函数进一步筛选生成的规则去除左侧规则中的冗余信息、获取更独特的有新意的关联规则

    R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘).使用subset函数进一步筛选生成的规则去除左侧规则中的冗余信息.获取更独特的有新意的关联规则 目录

  6. R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘)、查看限制了规则的右侧之后挖掘到的规则(置信度排序,只查看左侧即可)

    R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘).查看限制了规则的右侧之后挖掘到的规则(置信度排序,只查看左侧即可) 目录

  7. R语言Apriori算法关联规则挖掘:使用interestMeasure函数评估挖掘到的规则(包括覆盖率(coverage)和FishersExactTest)、置信度最高的五条规则(top five

    R语言Apriori算法关联规则挖掘:使用interestMeasure函数评估挖掘到的规则(包括覆盖率(coverage)和FishersExactTest).置信度最高的五条规则(top five ...

  8. 【计算理论】计算复杂性 ( 阶段总结 | 计算理论内容概览 | 计算问题的有效性 | 语言与算法模型 | 可计算性与可判定性 | 可判定性与有效性 | 语言分类 ) ★

    文章目录 一.计算理论内容概览 二.计算问题的 有效性 三.语言 与 算法模型 四.可计算性 与 可判定性 五.可判定性 与 有效性 六.语言分类 一.计算理论内容概览 计算理论分为 形式语言与自动机 ...

  9. 【计算理论】可判定性 ( 通用图灵机和停机问题 | 可判定性 与 可计算性 | 语言 与 算法模型 )

    文章目录 一.通用图灵机和停机问题 二.可判定性 与 可计算性 三.语言 与 算法模型 一.通用图灵机和停机问题 利用 图灵 的结论 , 证明 有哪些 计算问题 是找不到 算法 进行判定的 ; 如 停 ...

最新文章

  1. 赠书|大厂面试喜欢考算法,该怎么破?
  2. windows server 2003 安装显卡驱动
  3. MIME Type的介绍
  4. linux内核分为子系统,Linux内核内存管理子系统分析【转】
  5. 常用加密算法(Java实现)总结
  6. 互联网日报 | 3月22日 星期一 | 苹果iMac Pro全球下架;知乎更新上市招股书;字节跳动成立朝夕光年奇想基金...
  7. 循环冗余校验 使用及记忆方法
  8. 人人都想自学python_人人都想自学Python,为什么坚持下来的没几个?
  9. HTML5 Web Storage -- 让Cookies看起来如此古老
  10. 如何安装python解释器_python基础系列教程——Python的安装与测试:python解释器、PyDev编辑器、pycharm编译器...
  11. wpf ListView圆角
  12. 259年后,中国最大的皇家园林上云了
  13. 电脑用电量_诡异!北山一空置房子用电量噌噌上涨,工作人员打开门一看……_媒体_澎湃新闻...
  14. 关于BT下载的一点事儿
  15. ffplay音视频同步
  16. 《自卑与超越》的读后感作文1600字
  17. 天线方向图仿真(面阵、圆阵、圆环阵)matlab
  18. Twaver-HTML5基础学习(32)Network样式andTree样式
  19. 一千本免费电子书(建议长期保存)转的-用迅雷下载
  20. datax(24):远程调试datax

热门文章

  1. (转)Base64原理解析
  2. I/O控制器与适配器的解释
  3. 阿里云大数据开发二面面经,已过,面试题已配答案
  4. 忆享科技:从产业初布局到品牌新升级的企业蜕变
  5. Starling滤镜合集
  6. 我们暗恋的10种不良编程习惯
  7. 必须升级pip,为什么?!
  8. AI实践之路:决策树
  9. [转]google工具大全
  10. java在线答疑答题系统