ElGamal加密算法

✍ dations ◷ 2024-12-22 19:24:37 #密码学,算法

在密码学中,ElGamal加密算法是一个基于迪菲-赫尔曼密钥交换的非对称加密算法。它在1985年由塔希尔·盖莫尔提出。GnuPG和PGP等很多密码学系统中都应用到了ElGamal算法。

ElGamal加密算法可以定义在任何循环群 G {\displaystyle G} 上。它的安全性取决于 G {\displaystyle G} 上的离散对数难题。

ElGamal加密算法由三部分组成:密钥生成、加密和解密。

密钥生成的步骤如下:

使用Alice的公钥 ( G , q , g , h ) {\displaystyle (G,q,g,h)} 向她加密一条消息 m {\displaystyle m} 的加密算法工作方式如下:

值得注意的是,如果一个人知道了 m {\displaystyle m'} ,那么它很容易就能知道 h y {\displaystyle h^{y}} 的值。因此对每一条信息都产生一个新的 y {\displaystyle y} 可以提高安全性。所以 y {\displaystyle y} 也被称作临时密钥(英语:ephemeral key)。

利用私钥 x {\displaystyle x} 对密文 ( c 1 , c 2 ) {\displaystyle (c_{1},c_{2})} 进行解密的算法工作方式如下:

ElGamal加密系统通常应用在混合加密系统(英语:hybrid cryptosystem)中。例如:用对称加密体制来加密消息,然后利用ElGamal加密算法传递密钥。这是因为在同等安全等级下,ElGamal加密算法作为一种非对称密码学系统,通常比对称加密体制要慢。对称加密算法的密钥和要传递的消息相比通常要短得多,所以相比之下使用ElGamal加密密钥然后用对称加密来加密任意长度的消息,这样要更快一些。


相关

  • 挪亚七律挪亚七律(希伯来语:.mw-parser-output .script-hebrew,.mw-parser-output .script-Hebr{font-size:1.15em;font-family:"Ezra SIL","Ezra SIL SR","Keter Aram Tsova","Taamey
  • 糖原分解糖原分解是指由糖原分解成为葡萄糖-1-磷酸(G-1-P)及葡萄糖的过程,即糖原支链的异化作用。此反应的化学实质是链最末端的葡萄糖残基被磷酸化,进而以单体葡萄糖形式脱离糖原链。在
  • 斯图亚特·考夫曼斯图亚特·阿兰·考夫曼(英语:Stuart Alan Kauffman,1939年9月28日-)是一个美国理论生物学家和复杂系统研究者,主攻领域为地球上的生命起源。
  • 相对高度相对高度(英语:elevation),是地理坐标系的垂直坐标,一个地理位置的高度是在一个固定参考点之上或之下的高度,最常参考的是大地水准面,它是地球的海平面的数学模型,是一个等位重力平
  • 绒毛膜取样术绒毛取样术(Chorionic Villus Sampling, CVS),又称绒毛膜取样术,绒毛活检,抽绒毛,是一种检测染色体异常和遗传性疾病的产前检查的方法。绒毛取样术通过抽取胎盘中的一些细胞样本,并
  • 阿昌语阿昌语,是阿昌族的语言,属于汉藏语系缅彝语支,主要分布在中国云南省德宏傣族景颇族自治州的陇川、梁河、潞西以及保山市的龙陵等县市,中缅边境缅甸一侧也有分布。使用人数约3万
  • 庆云县庆云县是中国山东省德州市所辖的一个县。总面积为502平方公里,2001年人口为30万。隋开皇六年(586年)置无棣县,县治在今常家镇于家店村北,元分置西无棣县,明洪武六年(1373年)改庆云县
  • bc (编程语言)bc,即bench calculator的缩写,是一种任意精度计算器语言(an arbitrary precision calculator language),语法和C语言类似。bc是Unix 作业系统下的一个高精确度数学运算工具,小数点
  • 程千帆程千帆(1913年9月21日-2000年6月3日),原名逢会,后改会昌,字伯昊,四十岁以后号闲堂,斋名玄览斋,湖南长沙人,中国文史学家。1913年生于长沙一个传统的知识分子家庭,幼时就读私塾。1923年
  • 奥地利和平服务奥地利和平服务(德语:Friedensdienst)是奥地利国外服务(Austrian Service Abroad)最小的项目。在这个项目里年轻奥地利人可以在国外停留一年,而且奥地利和平服务被视为代替兵役的