暗号の用途

「暗号」と言うと、どのようなものを思い浮かべますか?

多くは次の二つのどちらかではないでしょうか。

一つは、戦時中に使われた 「ニイタカヤマノボレ1208」(※1)のように、文に言葉の意味とは異なる秘密の意味を持たせておくことで、目的の相手だけに秘密のメッセージを伝える「隠語文」と呼ばれるもの。そしてもう一つは、赤穂浪士が使ったと言われる、「山」と問い掛けられたら、事前に取り決めておいた「川」という対になる言葉を返すことで、相手が誰かを確認する「合言葉」と呼ばれるものです。

一般には、当事者間でメッセージを秘密裏に伝える隠語文のような用途が思い浮かびがちですが、暗号には情報の 秘匿化 という用途の他にも、「合言葉」のように相手の身元を確認する 認証 という用途もあるのです(※2)

※1 ニイタカヤマノボレ1208

この文は、当時の日本海軍において「12月8日午後零時以降、戦闘状態に入る。各部隊は予定のごとく行動せよ」という秘密の意味を持っていました。

※2 合言葉

合言葉は、広い意味では認証用途の暗号ですが、学術的には暗号と呼べる程の機能を持っていません。合言葉は秘密情報を認証相手に漏らしてしまうためです。例えば「山」と問い掛けられて「川」と答える際、「川」という正解を相手に伝えてしまいます。仮に「山」と問い掛けてきたのが仲間でなかったら、「山」に対する正しい回答が「川」だと知られてしまいます。

認証用途の現代暗号は、例えば「ゼロ知識対話証明」という数学のマジックを用いて、相手に秘密を漏らさず自分の身元を相手に証明することができます。簡単に言えば、銀行の ATM を利用する際に、暗証番号を直接入力しないままく「私は暗証番号を知っている」という事実だけを ATM に納得させられるのです。魔法みたいでしょう?

戻る次へ