埃尔伽马尔密码系统与电话电缆拼接应用
1. 埃尔伽马尔密码系统概述
埃尔伽马尔密码系统是由埃及密码学家Taher ElGamal在1985年发明的一种公钥密码系统。与基于整数分解困难性的RSA密码系统不同,埃尔伽马尔密码系统的安全性基于在大素数模下求解离散对数的困难性。
2. 密钥生成
在埃尔伽马尔密码系统中,每个人需要选择一个素数 $p$、$p$ 的一个原根 $r$ 以及一个整数 $a$($0 ≤ a ≤ p - 1$)。$a$ 作为私钥,而对应的公钥是三元组 $(p, r, b)$,其中 $b$ 满足 $b ≡ r^a (mod p)$ 且 $0 ≤ b ≤ p - 1$。
示例 :
为了生成埃尔伽马尔密码系统的公钥和私钥,我们选择素数 $p = 2539$,原根 $r = 2$,并选择 $a = 14$ 作为私钥。计算可得 $b ≡ 2^{14} ≡ 1150 (mod 2539)$,所以公钥为 $(2539, 2, 1150)$。
3. 消息加密
在使用埃尔伽马尔密码系统加密消息之前,我们需要将字母转换为对应的数字,然后组成尽可能大的块(数字位数为偶数)。为了向拥有公钥 $(p, r, b)$ 的人发送加密消息,我们首先选择一个随机数 $k$($1 ≤ k ≤ p - 2$)。对于每个明文块 $P$,我们计算整数 $\gamma$ 和 $\delta$:
- $\gamma ≡ r^k (mod p)$,$0 ≤ \gamma ≤ p - 1$
- $\delta ≡ P \cdot b^k (mod p)$,$0 ≤ \delta ≤
超级会员免费看
订阅专栏 解锁全文
67

被折叠的 条评论
为什么被折叠?



