公钥密码学与密码协议详解
1. ElGamal加密算法在椭圆曲线上的应用
ElGamal加密方案可以直接应用于椭圆曲线 $E(F_q)$ 上。假设域参数 $(F_q, a, b, Q, n, h)$ 是公开已知的,$E_n = \langle Q \rangle$ 是阶为 $n$ 的子群。
- 密钥生成 :Bob随机选择一个整数 $s_B \in {1, \ldots, n - 1}$ 作为私钥,公钥 $P_B = s_BQ$。
- 加密过程 :Alice要给Bob加密消息 $m \in E_n$ 时,随机选择一个整数 $k$,$1 \leq k \leq n - 1$,计算 $kQ$ 和 $kP_B$,密文为 $(C_1, C_2) := (kQ, m + kP_B) \in E_n^2$。
- 解密过程 :Bob从 $C_1$ 计算 $s_BC_1 = ks_BQ = kP_B$,然后得到明文 $m = C_2 - s_BC_1$。
注意事项 :
1. 明文空间 :明文空间是 $E_n$。在某些应用中,明文可以自然地视为 $E_n$ 的元素,如交换共享密钥。但通常要加密的是长度为 $l$ 的比特串,需要将消息空间 ${0, 1, 2, \ldots, M - 1}$ 编码为 $E_n$ 的元素。Menezes - Vanstone变体则不需要这种编码。
2. 安全性 :
超级会员免费看
订阅专栏 解锁全文
7827

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



