This article has been translated from English to Japanese.

デジタル署名はどのように機能するのか?

デジタル署名の仕組みについて技術的な詳細に入る前に、まずはユーモアのあるお話をご紹介して、皆さまにリラックスしていただこうと思う。

デジタル署名は複雑そうだと感じるかもしれませんが、この話を注意深く聞いていただければ、実際にはそうではないことがお分かりいただけるでしょう。

こんにちは!私はバットマンだ!

バットマンが箱を持っていると想像してみてほしい。

How digital signatures work: Box with a lock

私の箱を見て!

この箱には鍵が付いている…とても特別な種類の鍵だ。

この錠には3つの状態がある。

  1. ロックされた状態(A): 鍵を左に回しきると ロックされる。
  2. アンロック(B): 鍵が真ん中に来ると 、ロックが解除される。
  3. ロック(C): キーを右に回しきると ロックされる。

Lock has 3 states

そして、鍵は2種類ある。黒い鍵黄色い鍵だ。

  1. 黒い鍵は右にしか回らない。つまり、時計回りにしか回らない(A→B→C)。
  2. 黄色の鍵は左にしか回らないので、反時計回り(C→B→A)にしか回らない。

Lock has two separate keys

つまり、ボックスがロックされ、ロックが位置Aに回された場合、黒い鍵だけが右に回して位置B(ロック解除)に回すことでロックを解除できる。

ボックスがCの位置でロックされている場合、黄色の鍵だけがロックを左に回してBの位置にすることでロックを解除できる。

つまり、どちらの鍵でも箱をロックすることはできるが、いったんロックされたら もう一方の鍵でしかロックを解除できない

黒はバットマンの好きな色なので、バットマンは黒い鍵を選び、それを自分のものにする。

この鍵を「プライベート」キーと呼ぶことにしよう。なぜなら、今ではバットマンだけが持っているからだ。

2つ目の鍵は黄色い鍵と呼び、これを「公開」鍵としよう。

バットマンはそれを100万枚コピーし、バットモービルでゴッサムシティの街中を走っているときは、歩行者に窓からそれを投げ与える。

Toss Public Keys

至る所に黄色い鍵が落ちている。やがてゴッサムシティの住民全員が「公開」鍵を手に入れることになる。

このシナリオでは、バットマンはAからB、Cと時計回りに回転するプライベートキーを所有している。

そして、他の全員が彼の公開鍵を持っており、それは反時計回りにCからB、Aの順に回転させることができる。

バットマン引退!

ブルース・ウェインが心変わりし、「バットマン」を引退してネパールのカマー・タージに移り住み、エンシャント・ワンの下で修行して僧侶になりたいと決意したとしよう。

私はこの裕福で有名なスーパーヒーローの生活にうんざりしている。

また、彼は全財産を執事のアルフレッドに譲ることを決意する。

そこで彼は紙切れに「至急、アルフレッドに1兆ドルを渡す」と書き、

Batman's letter

バットマンは、この紙切れを箱に入れる。秘密鍵を使って、秘密鍵をCの位置に回し、箱をロックする。

Lock has 3 states

Box locked with private key (digital signature)

そして、別の紙を取り出して同じメッセージを書き、「アルフレッドに1兆ドルを至急送金せよ」と書く。

Batman's letter

そして、アルフレッドにこの紙を渡し、こう指示する。

これを私の銀行家へ渡してくれ。

そして、さらにこう付け加えた。

もし私の銀行家が君を信用しないようなら、鍵のかかった箱を彼に渡せ。

これで同じ内容の手紙が2通になった。1通は箱に鍵がかけられており、もう1通はアルフレッドのポケットに入っているが、厳密に言えば、誰でも見ることができる。

その日の夜遅く、バットマンは相棒のロビンに、引退して全財産をアルフレッドに譲ると告げる。

ロビンがそのニュースを報道機関にリークしたため、翌日にはテレビのニュースチャンネルで話題騒然となった。

Batman News Flash!

ゴッサム国立銀行のバットマンの銀行家、ダイム・ジモン氏は、オフィスでテレビからそのニュースを知る。驚いたことに、アルフレッドが現れ、彼の金を要求し、紙切れを手渡した。

ダイム・ジモンはニュースを信じず、拒否する。

アルフレッドは鍵のかかった箱を取り出す。

Alfred whips out the box acting as digital signature

そして、その箱を机の上に落とした。

これで、銀行員はメッセージと箱の両方を手に入れた。

Message with public key and digital signatures

ゴッサムシティの他の人々と同じように、ダイメ・ジモンは、オフィスの下の通りで拾った黄色い鍵を持っている。

大目付は「公共」の鍵をポケットから取り出し、箱を開けられるかどうか試してみる。

彼は「公開」キーを左回りに反時計回りに回してBの位置まで動かし、箱が開いた!

Lock has 3 states

箱の中にはバットマンが書いた手紙が入っていた。それはアルフレッドが最初に彼に見せた手紙と一致していた。

Batman letters match

デイム・ジモンはアルフレッドに謝罪し、秘書に金を用意するよう頼んだ。

箱がロックされていた唯一の方法は、バットマンのみが所有する「プライベート」キーを使用することだったことに彼は気づく。

つまり、バットマン以外の人物が手紙を箱に入れることは不可能であり、その手紙が実際にバットマンからのものであることを証明しているのだ!

「2本の鍵」の使用は、バットマンが実際に手書きの署名を提供することなく、メッセージが彼から、そして彼のみから送られたことを証明できる方法である。

そして、鍵のかかった箱の使用は、箱の中に入っているメッセージが常に保護され、手つかずの状態であったことを意味している(箱が一度鍵をかけられたら)。

これは基本的に、「バットマンが実際にこのメッセージを書いたことを、彼がその場にいなくてもどうやって証明できるのか? また、このメッセージが送信中に改ざんされていないことをどうやって証明できるのか?」という質問に対する答えである。

これは「デジタル署名」の仕組みを説明する 粗雑な例であるが、おそらく、その考え方は理解していただけたことと思う。

それでは、暗号の世界でデジタル署名が実際にどのように機能するのかを学んでみよう!