5
応用数学解説
文献あり

ElGamal暗号

4696
1

ElGamal暗号

ElGamal暗号とは離散対数問題を用いた公開鍵暗号方式である。

手順

準備

以下の手順で公開鍵と秘密鍵の生成を行う。

  1. 大きな素数である法 p を用意する。
  2. 1<g<p1 を満たす 原始根 g を選ぶ。
  3. 1<s<p1 満たす自然数 sをランダムに選ぶ。
  4. y=gsmodp を計算する。

(p,g,y) が公開鍵、s が秘密鍵となる。

暗号化

公開鍵 (p,g,y) を用いて、以下の手順により暗号化を行う。

  1. 平文 m を用意する。
  2. 1<r<p1 を満たす 自然数 r をランダムに選ぶ。
  3. c1=grmodp を計算する。
  4. c2=myrmodp を計算する。

(c1,c2)が暗号文となる。

復号

以下のように平文mを計算する。

m=c2(c1s)1modp

c1s のモジュラ逆数 (c1s)1は、フェルマーの小定理や拡張ユークリッド互除法を用いて計算できる。

評価

ElGamal 暗号の安全性と健全性について示す。

安全性

g,p,y(=gsmodp) を用いて秘密鍵s を求めることは、理論上可能である。

しかし離散対数問題により、現実的な時間で計算するのは難しい。

健全性

以下に復号が成り立つことを示す。

復号が成り立つ証明

c2(c1s)1c2c1smyr(gr)sm(gs)r(gr)smgrsgrsm(modp)

まとめ

離散対数問題に基づく公開鍵暗号である、ElGamal暗号の手順、安全性、健全性についてまとめた。

各パラメータ

s:秘密鍵

r:乱数

p:法(公開鍵)

g:原始根(公開鍵)

y=gsmodp:公開鍵

c1=grmodp:暗号文

c2=myrmodp:暗号文

参考文献

[1]
ElGamal, Taher, A public key cryptosystem and a signature scheme based on discrete logarithms., IEEE transactions on information theory 31.4 (1985)
投稿日:2020116
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

akakou
akakou
16
17302
数学が…わかりません……ダレカタスケテー

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. ElGamal暗号
  2. 手順
  3. 準備
  4. 暗号化
  5. 復号
  6. 評価
  7. 安全性
  8. 健全性
  9. まとめ
  10. 各パラメータ
  11. 参考文献