加密算法之ElGamal算法

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算法演变而来。 给力(0票)动心(0票)废话(0票)专业(0票)标题党(0票)路过(0票) 原文:加密算法之ElGamal算法 返回网络安全首页

时间: 2024-11-02 05:45:42

加密算法之ElGamal算法的相关文章

非对称加密算法-ElGamal算法

一.概述   1.ElGamal算法和ECC算法基于离散对数问题   2.这个是一个单向的过程.虽然密钥对构造简单,但是只是乙方向另外一方单向传送数据进行加解密,不能反向操作   3.这里只有"公钥加密.私钥解密"这个过程   4.ElGamal不足之处就是 密文会成倍增长   5.ElGamal和RSA最大不同就是他们构造密钥对的方式不同.还有就是是否为双向加解密   二.模型分析  以甲方向乙方发送数据为模型 1.甲方构造密钥对(公钥+私钥),公布公钥给乙方 2.这里甲方没法给乙方

加密算法之DES算法

一.DES算法美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告.加密算法要达到的目的(通常称为DES 密码算法要求)主要为以下四点: ☆提供高质量的数据保护, 防止数据未经授权的泄露和未被察觉的修改: ☆具有相当高的 复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握: ☆DES密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础: ☆实现经济,运行

加密算法之RSA算法

它是第一个既能用于数据加密也能用于数字签名的算法.它易于理解和操作,也很流行.算法的名字以发明者的名字命名:Ron Rivest, Adi Shamir 和Leonard Adleman.但RSA的安全性一直未能得到理论上的证明.它经历了各种攻击,至今未被完 全攻破.一.RSA算法 : 首先,找出三个数,p,q,r,其中p,q是两个相异的质数,r是与(p-1)(q-1)互质的数......p,q,r这三个数便是privatekey接著,找出m,使得rm==1mod(p-1)(q-1).....这

数据传输加密非对称加密算法以及对称算法-RSA+AES

转载:http://blog.csdn.net/chay_chan/article/details/58605605 源码:https://github.com/Javen205/IJPay 数据传输加密   在开发应用过程中,客户端与服务端经常需要进行数据传输,涉及到重要隐私信息时,开发者自然会想到对其进行加密,即使传输过程中被"有心人"截取,也不会将信息泄露.对于加密算法,相信不少开发者也有所耳闻,比如MD5加密,Base64加密,DES加密,AES加密,RSA加密等等.在这里我主

由古论今,三千年加密算法发展史

作为一种安全手段,加密算法和我们大多数人的生活发生着紧密联系.只要你上网,都会从中受益,因为凡是使用https的网站都已经使用了加密协议TLS/SSL.因此,我们都在被动享受加密算法带来的隐私保护及通讯安全.此外,从安全技术层面,网络层到主机文件层,无论哪层加密应用或协议背后都是由各种加密算法所支撑. 本文就尝试由古及今,对这种与我们网络生活息息相关的加密算法的发展演变,以及在整个过程中先后出现的集中关键加密算法一一论述,带领大家了解背后这种有趣的. 加密算法主要作用是把明文变成密文,防止信息泄

MD5加密算法在网站数据库安全方面的应用与查表攻击

编者按:本文作者为北师大的大三学生张俏,女Geek,在CSDN等各大网站的用户数据被泄露之后,她就MD5加密问题写下此文,发表了自己的看法,如果有读者想要跟作者进一步探讨,可以在新浪微博@阿豆拉. MD5为现在应用最广泛的Hash算法之一,在1992年由MIT 的Ronald L. Riverst提出,由MD4演化而来.该算法广泛应用于互联网网站的用户数据加密,能够将用户密码加密为128位的长整数.数据库并不明文存储用户密码,而是在用户登录时将输入密码字符串进行MD5加密,与数据库中所存储的MD

在PHP+MySQL应用中使用XOR运算加密算法

mysql|加密|算法|运算 [摘 要] 上一部分介绍了如何使用XOR运算进行加密/解密的原理,本节将使用其加密用户的登录信息.根据上一小节介绍的XOR加密算法的原理,不难写出以下的加密解密函数.首先列出加密算法. 本文将介绍一个简单易用的加密/解密算法:使用异或(XOR)运算.本算法原理简单,旨在使读者对信息的加密/解密有一个更加直观的印象. XOR算法原理 从加密的主要方法看,换位法过于简单,特别是对于数据量少的情况很容易由密文猜出明文,而替换法不失为一种行之有效的简易算法. 从各种替换法运

PHP+MySQL应用中使用XOR运算加密算法

本文将介绍一个简单易用的加密/解密算法:使用异或(XOR)运算.本算法原理简单,旨在使读者对信息的加密/解密有一个更加直观的印象. XOR算法原理 从加密的主要方法看,换位法过于简单,特别是对于数据量少的情况很容易由密文猜出明文,而替换法不失为一种行之有效的简易算法. 从各种替换法运算的特点看,异或运算最适合用于简易加解密运算,这种方法的原理是:当一个数A和另一个数B进行异或运算会生成另一个数C,如果再将C和B进行异或运算则C又会还原为A. 相对于其他的简易加密算法,XOR算法的优点如下. (1

简介.Net框架下的各种加密解密算法

该文章将会不断的收入.net下的加密算法,这些算法将会采用策略模式来统一管理. using System; using System.Collections.Generic; using System.Text; namespace EncryptAndDecrypt { public class EncryptAndDecrytHandler { IEncrytAndDecrypt _EncryptAndDecrypt; public EncryptAndDecrytHandler(IEncr