Diffie-Hellman 密钥交换&ElGamal协议的安全密钥交换

Diffie-Hellman 密钥交换&ElGamal协议的安全密钥交换

离散对数问题

在整数中,离散对数是一种基于同余运算和原根的一种对数运算。而在实数中对数的定义 log_b a 是指对于给定的 ab,有一个数 x,使得b^{x} = a。相同地在任何群 G中可为所有整数 k定义一个幂数为b^{k},而离散对数log_b a指使得b^{x} = a的 整数 k

离散对数在一些特殊情况下可以快速计算。然而,通常没有具非常效率的方法来计算它们。公钥密码学中几个重要算法的基础,是假设寻找离散对数的问题解,在仔细选择过的群中,并不存在有效率的求解算法。

Diffie-Hellman 密钥交换

Diffie-Hellman是一种建立密钥的方法,而不是加密方法。然而,它所产生的密钥可用于加密、进一步的密钥管理或任何其它的加密方式。Diffie-Hellman密钥交换算法及其优化首次发表的公开密钥算法出现在Diffie和Hellman的论文中,这篇影响深远的论文奠定了公开密钥密码编码学。

这种密钥交换技术的目的在于使得两个用户安全地交换一个秘密密钥以便用于以后的报文加密. Diffie-Hellman密钥交换算法的有效性依赖于计算离散对数的难度 。

主要过程

  • 所有用户都知道的全局参数

    • 大素数q
    • g : 用来模q的原始根
  • 每个用户生成自己的公钥(对于用户A)

    • 选择一个密钥,(私钥):数字 x_{A}<q
    • 计算公钥:y_{A}=g^{x_{A}}\mod q
    • 每个用户公开公钥
  • 则用户A&B共享的会话密钥是K_{AB}

    K_{AB}=g^{x_{A}· x_{B}} \mod q

    =y_{A}^{x_{B}}\mod q (B可以计算出来)

    =y_{B}^{x_{A}}\mod q (A可以计算出来)

From WIKI:

最简单,最早提出的这个协议使用一个质数p的整数模n乘法群)以及其原根g。下面展示这个算法,绿色表示非秘密信息, 红色粗体表示秘密信息

原理.png
  1. 爱丽丝和鲍伯写上一个有限循环群 G 和它的一个生成元 g。 (这通常在协议开始很久以前就已经规定好; g是公开的,并可以被所有的攻击者看到。)
  2. 爱丽丝选择一个随机自然数 a(很大) 并且将 g^{a}\mod p(大素数)发送给鲍伯。
  3. 鲍伯选择一个随机自然数 b (很大)并且将 g^{b}\mod p发送给爱丽丝。
  4. 爱丽丝 计算 (g^{b})^{a} \mod p
  5. 鲍伯 计算 (g^{a})^{b} \mod p

爱丽丝和鲍伯就同时协商出群元素g^{ab},它可以被用作共享秘密。(g^{b})^{a}(g^{a})^{b}因为群乘法交换的。

算法解释

爱丽丝和鲍伯最终都得到了同样的值,因为在模p下g^{ab}g^{ba} 相等。 注意a, b 和 g^{ab}= g^{ba} \mod p 是秘密的。 其他所有的值 – p, g, g^{a} \mod p, 以及 g^{b}\mod p– 都可以在公共信道上传递。 一旦爱丽丝和鲍伯得出了公共秘密,他们就可以把它用作对称密钥,以进行双方的加密通讯,因为这个密钥只有他们才能得到。

Elgamal密码体制

1984年,T.Elgamal提出了一种基于离散对数的公开密钥体制,是一个基于迪菲-赫尔曼密钥交换的非对称加密算法。ElGamal密码体系应用于一些技术标准中,如数字签名标准(DSS)和S/MIME电子邮件标准。与Diffie-Hellman一样,ElGamal的系统用户也是共同选择一个素数q,g是q的素跟。

算法描述

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

密钥生成

密钥生成步骤如下:

  • Alice利用生成元 g 产生一个 q,阶循环群 G,的有效描述。该循环群需要满足一定的安全性质。
  • Alice从 \{1,\cdots,q-1\}中随机选择一个 x
  • Alice计算 h:=g^{x} \mod q
  • Alice公开h,以及 G,q,g 的描述作为其公钥,并保留 x 作为其私钥。私钥必须保密。
加密

其他用户可以通过Alice的公钥进行加密。

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

  • 将信息表示成一个整数M,其中1\leq M \leq q-1,以分组密码序列的方式来发送信息,其中每个分块的长度不小于整数q。

  • Bob从 \{1,\cdots,q-1\} 随机选择一个 y。(私钥)

  • 然后计算 密钥K=h^{y} \mod q。(会话密钥)

  • 将M加密成明文对,(C_{1},C_{2}),其中

    C_{1}=g^{y} \mod q ; C_{2}=K\cdot M \mod q(公钥,加密的信息)

解密

Alice利用自己的私钥进行解密。

  • 得到密钥:K=(C_{1})^{x} \mod q
  • 得到消息M = (C_{2}K^{-1}) \mod q

如果信息必须分组,然后以加密的密钥块序列发送,那么每个分块要有唯一的x(私钥)。如果x用于多个分块,则利用信息的分块M_{1},攻击者会计算出其他块。

ElGamal的安全性是基于计算离散对数的困难性之上。

参考资料

[1]维基百科编者. 迪菲-赫尔曼密钥交换[G/OL]. 维基百科, 2018(20180503)[2018-05-03]. https://zh.wikipedia.org/w/index.php?title=%E8%BF%AA%E8%8F%B2-%E8%B5%AB%E7%88%BE%E6%9B%BC%E5%AF%86%E9%91%B0%E4%BA%A4%E6%8F%9B&oldid=49408565.

[2]《密码编码学与网络安全 原理与实践》(第6版)斯托林斯著

[3]维基百科编者. ElGamal加密算法[G/OL]. 维基百科, 2016(20161214)[2016-12-14]. https://zh.wikipedia.org/w/index.php?title=ElGamal%E5%8A%A0%E5%AF%86%E7%AE%97%E6%B3%95&oldid=42453545.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容