有限域上的离散对数问题
定义
设 是一个有限域,则在已知 中的元 ,求解整数 ,使得
在有限域 中成立的问题。
它是求 问题吗? 不尽然,因为必须在域 中,且为整数。
其难解性与大合数分解基本相当。
本原元
设 是素数,则 构成有限域,因而其非零元全体按模 乘法运算构成循环群。
设 ,如果存在 使
则称 是 的本原元。
有特性 (任意数可用 的幂表示)
Diffie-Hellman 公钥体制
参数选取
选取大素数 ,再选取 的一个本原元 ,并将 公开。

于是可以得到协商的共同密钥
其中, 都 且
(为什么?本原元阶为 ,所以大于 的数都可以用更小的数取代)
优点
-
任何两个人都能够协商出一个共同的会话密钥,不需要事先拥有对方的任何(公开、秘密)信息。
-
每次密钥交换后无需再保留秘密信息,减少保密负担。
缺陷
- 易受中间人攻击。(与双方身份信息无关,故加上身份信息即可缓解)
ElGamal 公钥体制
也是基于有限域上的离散对数问题,在Diffie-Hellman体制上做出了修改。
参数选取
- 第一步与 Diffie-Hellman 相仿。
选取有限域 ,再选取上面的一个本原元 ,并将 公开。
随机选取整数 ,并计算出 。
- 直接将 作为公开加密密钥,将 作为保密的脱密密钥。
明文空间:
密文空间:
加密
对 ,秘密选择一个随机整数 ,则密文 ,其中
脱密
对任意密文 ,计算明文
总结
加密密钥 ,而 每次加密时临时生成,也不需要每次发送给对方。实质上为一次一密,安全性较高。