暗号理論における暗号化と復号화
ビルドアップ
アリスがボブに伝えたいメッセージがあるとしよう。この世に二人しかいなければ、このメッセージは二人だけのもので、隠す必要はない。[ NOTE: 暗号理論では、アリスとボブはそれぞれとを表す名前としてよく用いられる。]
しかし、第三者のイヴがいるとしよう。イヴは特に悪意があるわけではないが、アリスがボブに伝えたいメッセージに興味がある。一方、アリスは自分が送るメッセージがボブだけに知られたいと願っている。[ NOTE: 暗号理論では、イヴは「盗聴者」を意味するEavesdropperの頭文字を取ってとして表され、メッセージを盗み見するだけの受動的攻撃者の役割を持つ。]
だから、アリスはイヴに知られないようにメッセージを送りたい。これは「暗号理論」のモチーフであり、誰もが共感できるものだ。
アリスがメッセージをボブだけが理解できるように変換することを暗号化とし、ボブが変形されたメッセージを元の形に戻せるようにすることを復号という。また、暗号化される前のメッセージを平文といい、その集合を、暗号化された後のメッセージを暗号文といい、その集合をと表す。暗号化と復号は何らかのルールに基づいて行われるが、第三者がこのルールを知っていても復号できないようにキーを共有する。このようなキーの集合をとするならば、暗号化と復号は以下のように数学的に表現できる。
定義 1
- 関数を暗号化といい、簡単にとも表す。
- 関数を復号といい、簡単にとも表す。
ただし、とは互いに逆関数でなければならない。つまり、全てのに対してである必要がある。
しかし、このような対応関係は非常に多く、その中で使い物になる暗号は次の条件を満たさなければならない。
暗号システムは次の性質を持つ時に有用である。
- (i): 全てのとに対してを計算するのが容易でなければならない。
- (ii): 全てのとに対してを計算するのが容易でなければならない。
- (iii): を知らない場合、が与えられてもを計算するのが困難でなければならない。
説明
要約すると、資格のある人だけが簡単にメッセージを見られ、資格のない人は見られないような暗号システムが有用だ。メッセージを傍受する攻撃者がいなければ最も良いが、仮にいたとしても、その内容を漏らしてはならない。さらに、通信を行う当事者同士でも、暗号化と復号に時間がかかりすぎると、セキュリティが良くても通信の機能性を大きく損なってしまう。
Hoffstein. (2008). An Introduction to Mathematical Cryptography: p37. ↩︎