前回に引き続き、暗号化手法の一つ「ElGamal暗号」を学びます。そして攻撃に強く、「安全な暗号」に必要な要素とは何かを考えてみます。 連載目次 ElGamal暗号と強秘匿性 第1回で紹介したRSA暗号に続き、1984年に提案された公開鍵暗号「ElGamal暗号」を紹介します。 「ElGamal暗号」の考え方は、次回以降で紹介する楕円曲線暗号でも利用されます。これは次の方式で表現されます。 鍵生成:整数gと素数pを適切に選び、みんなに公開する(gとpの条件は省略します)。xをランダムに選びy=gx mod pとする。a mod bは整数aをbで割った余りを表す記号でした。以降mod pは省略します。 暗号化:公開鍵yを持つ人に対して平文mを送るには、整数rをランダムに選び、Enc(m)=(gr,myr)を暗号文とします。 復号:暗号文(c1, c2)=Enc(m) を受け取った人は自身の秘