ElGamal算法

这篇具有很好参考价值的文章主要介绍了ElGamal算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.ElGamal数字签名方案

1.1 知识引用

ElGamal数字签名使用私钥进行加密,使用公钥进行解密。

基本元素是p和α,α是p的原根,用户产生私钥/公钥对的方法如下。

elgamal签名算法,密码学

数字签名的过程为:

(1)  选择随机整数K,K和q-1互素。

(2)S1=α^Kmod(q)

  (3)   计算K^-1mod(q-1)

  (4)   S2=K^-1(m-XAS1)mod(q-1)。m=H(M),是M在哈希函数H下的哈希值,满足0<=m<=q-1的整数

  (5) (S1,S2)为签名

验证签名的方法为:

elgamal签名算法,密码学

证明为:

elgamal签名算法,密码学

1.2 例题

ElGamal数字签名方法:模数q=19,选取随机数K=11,对消息m=4的签名(S1,S2)=(2,4)。

(1)若敌手知晓K=11,请写出计算出私钥XA的过程。

由前文数字签名的过程(4)

elgamal签名算法,密码学

即得到

4=5×(4-2×XA) mod (18)         XA 取值在1和18之间     

XA=7

PS:

求K逆的过程比较简单的可以使用欧几里得除法,如本题可求得为5

elgamal签名算法,密码学

(2)若敌手不知晓K,但敌手截获另一也选取同一随机数K的对m'=17的签名(2,15),则其也可以计算出私钥XA,请写出计算过程

elgamal签名算法,密码学

解得XA=(18n-8)/22,XA=7.

二、ElGamal公钥密码算法描述

2.1算法介绍

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,于是可得密文为:

c=(c1,c2)

其中

c1=g^k(mod p) , c2=my^k(mod p)

5. 脱密变换:对任意密文c=(c1,c2)∈Z×Z,明文为:

m=c2×(c1^x)^-1(mod p)

证明:

c2×(c1^x)^-1(mod p)=my^k(g^(kx))^-1 (mod p)

=mg^kx × g^(-kx) (mod p)=m (mod p)
 

2.2算法例题

Alice的私钥XA=11,公开参数q=19,α=5。

(1)计算Alice的公钥YA

elgamal签名算法,密码学

这里介绍一种模重复平方计算法,计算过程如下:

elgamal签名算法,密码学

结果是6

(2)选取k=3,计算对M=7用Alice的公钥加密后得到的密文。

elgamal签名算法,密码学

(3)Alice收到密文C=(4,7),用私钥对密文解密,求其得到的明文。

elgamal签名算法,密码学文章来源地址https://www.toymoban.com/news/detail-793830.html

到了这里,关于ElGamal算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ElGamal算法

    ElGamal数字签名使用私钥进行加密,使用公钥进行解密。 基本元素是p和α,α是p的原根,用户产生私钥/公钥对的方法如下。 数字签名的过程为: (1)  选择随机整数K,K和q-1互素。 (2)S1=α^Kmod(q)   (3)   计算K^-1mod(q-1)   (4)   S2=K^-1(m-XAS1)mod(q-1)。m=H(M),是M在哈希函数H下的

    2024年01月16日
    浏览(16)
  • 【密码学】 一篇文章讲透数字签名

       数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是在使用了公钥加密领域的技术来实现的,用于鉴别数字信息

    2024年02月06日
    浏览(39)
  • 【密码学】使用mkcert安装CA、自签名ssl证书,配置nginx的https 证书笔记

    CA(Certificate Authority,证书授权)是由认证机构服务者签发,是数字签名的技术基础保障,也是网上实体身份的证明,能够证明某一实体的身份及其公钥的合法性,证明该实体与公钥二者之间的匹配关系。 在电子商务系统中,所有实体的证书都是由证书授权中心即CA中心颁发并签

    2024年02月03日
    浏览(40)
  • 【密码学】量子安全的密码学算法以及原理介绍

    (1)“代数格密码套件”(CRYSTALS)包含两个密码原语Kyber和Dilithium。Kyber是一种抗适应性选择密文攻击(IND-CCA2)安全密钥封装机制,Dilithium是一种高度不可伪造性(EUF-CMA)安全数字签名算法。两种密码都是为了应对量子计算机的攻击,并且在操作过程中只需更改几个参数即

    2024年02月11日
    浏览(42)
  • 密码学基础(一)——哈希算法

    一、常用密码学算法分类 哈希算法:哈希算法不可逆,包括:MD4、MD5、hash1、ripeMD160、SHA256、SHA3、Keccak256、国家标准SM3(国家密码管理局) 加密/解密算法:加密解密算法可逆,但是必须要有秘钥,对称加密,非对称加密,数字签名算法DSA 编码/解码算法:编码解码算法可逆

    2023年04月16日
    浏览(30)
  • 密码学_ZUC算法

    目录 ZUC算法介绍 算法结构 线性反馈移位寄存器LFSR   LFSR初始化模式   LFSR工作模式 比特重组BR 非线性函数F  加密流程 ZUC算法介绍         祖冲之算法集(ZUC算法)是由我国学者自主设计的加密和完整性算法,包括祖冲之算法、加密算法128-EEA3和完整性算法128-EIA3,已经

    2024年02月12日
    浏览(32)
  • 公钥密码学算法类型综述

    作者:网安新生研讨课第一小组 采用协议 CC BY-NC,原文链接 :https://www.cnblogs.com/Multya/p/18072514 公开密钥密码学 (英语: Public-key cryptography )也称 非对称式密码学 (英语: Asymmetric cryptography )是密码学的一种算法,它需要两个密钥,一个是 公开密钥 ,另一个是 私有密钥

    2024年03月14日
    浏览(29)
  • 【密码学基础】RSA加密算法

    RSA是一种非对称加密算法,即加密和解密时用到的密钥不同。 加密密钥是公钥,可以公开;解密密钥是私钥,必须保密保存。 基于一个简单的数论事实:两个大质数相乘很容易,但想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥,即公钥;而两个

    2024年02月01日
    浏览(34)
  • 密码学 - 加解密算法 - 填充规则

    对称加解密算法是分组运算,运算时需要将数据按固定长度分组,由于明文不一定是指定大小的整数倍,因此需要将明文的最后一个分组填充至加密算法所要求的分组大小后进行运算。 随着加解密算法的发展,出现了多种填充规则。 填充规则是对称加密分组加密算法的通用

    2024年02月09日
    浏览(31)
  • 【密码学】一文读懂ZUC算法

    这次在来聊一个国产密码, 祖冲之算法(ZUC)是中华人民共和国政府采用的一种序列密码标准,由国家密码管理局于2012年3月21日发布,相关标准为“GM/T 0001-2016 祖冲之序列密码算法”,2016年10月成为中国国家密码标准(GB/T 33133-2016)。祖冲之算法于2011年9月被3GPP采纳为国际加

    2024年02月13日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包