量子コンピュータ時代にも有効なランポート署名はどんな仕組みか

 このコラムの「仮想通貨の暗号が解読され安全性が脅かされるリスクがある」(2017.9.7)で述べたように、仮想通貨の運用には電子証明が必要である。ところが、量子コンピュータが実用化すると、現在の暗号システムに依存する電子署名は、有効でなくなる可能性がある。

 それに対する解決策の1つとして、「ランポート署名」(Lamport Signature)がある。これは量子コンピュータでも解読できないため、安全性を担保できると考えられている。1979年に、レスリー・ランポートによって考案された。

 ランポート署名は、乱数とハッシュを巧みに組み合わせて作られており、これを理解するのは、「頭の体操」としても面白い。その概要は、つぎのとおりだ(この説明は、Lamport signaturを参考にしている)。

第1段階
アリスが「秘密鍵」と「公開鍵」を生成する

 仮想通貨のシステムでは、送金の情報を送る際に、送金者が電子署名をする。これは、つぎの2つを証明するためである。

 第1に、送金の情報を送ったのは確かに送金者本人であり、他の人でないこと。第2に、送金者は確かに送金情報を送っており、後になってから「送金していない」と否認することができないこと。

「ランポート署名」は、つぎのように作られる。

 署名者アリスは、まず、ペアになった256×2=512個の乱数を作る。各乱数は、256ビットのサイズ。ペアの各々を、「第1群、第2群」と呼ぶことにしよう。これが彼女の「秘密鍵」だ。