検証鍵 【validation key】
概要
検証鍵(validation key)とは、公開鍵暗号を応用した電子署名(デジタル署名)で、一対の鍵のうち署名を検証するための鍵。公開鍵暗号における公開鍵が該当し、署名者がデジタル証明書などの形で公開したり、相手方へ提供する。公開鍵暗号は数学的に簡単に解けない問題を利用して一対の値のペアを作成し、片方で暗号化、もう一方で復号する暗号方式である。鍵の持ち主は暗号化に用いる鍵は公開して相手方に渡し、復号に用いる鍵は誰にも知られないよう手元で秘匿して保管する。前者を「公開鍵」、後者を「秘密鍵」という。
デジタル署名ではこの公開鍵暗号の原理を応用し、鍵ペアの持ち主(送信者)は手元の署名鍵(秘密鍵)を用いてメッセージから一定の計算手順で署名データを作成する。メッセージに署名を添付して送ることで、内容は送信者が作成し、第三者が改ざんやすり替えを行っていないことを証明できる。
署名を受け取った検証者は、送信者が公開している検証鍵(公開鍵)をデジタル証明書などの形で取り寄せ、受信したメッセージの内容から所定の計算手順で署名データを算出する。これがメッセージに添付された送信者の署名に一致すれば、その署名は確かに送信者しか知らない署名鍵で作成され、内容も変わっていないと確認できる。
署名鍵と検証鍵は巨大な素数同士の積など数学的に関連した値のペアとなっており、ある署名鍵で作成された署名が、ペアの検証鍵以外の値で検証されることはない。また、受信したメッセージや署名、公開されている検証鍵をもとに、対になる署名鍵を算出する効率的な方法は見つかっておらず、現実的な時間で署名鍵を割り出すことはできないようになっている。
(2025.1.16更新)