公開鍵と秘密鍵とは?

読む 4 分
重要なポイント
— 公開鍵と秘密鍵の目的は、トランザクションが本当に資金の所有者によって署名されており、偽造されていないことを証明することにあります。
— 暗号資産を所有する場合、実際に所有しているのは秘密鍵である。
— 「秘密鍵」とは、所有者へ暗号資産の使用に関する権利を与えるもの。 秘密鍵があると暗号資産が使えるようになるため、厳重に保護する必要があります。
— すべての秘密鍵に対し、1つまたは複数の公開鍵を関連付けることができる。
— 秘密鍵を所有している限り、公開鍵を復元することは可能。 しかし、公開鍵だけでは秘密鍵を見つけることはできません。

公開鍵と秘密鍵とは? ここでは、その仕組みと注意点について説明します。


公開鍵と秘密鍵は、ブロックチェーンネットワーク上に構築された暗号資産に不可欠な要素であり、公開鍵暗号 (PKC) または非対称暗号として暗号学分野において大きな役割を持ちます。

PKCの目標は、ある状態から別の状態への移行を簡単に行う一方、その逆はほぼ不可能にすることです。秘密鍵を公開することなく、秘密鍵を持っていることを証明することです。 これは、一方通行の数学関数となっており偽造ができないため、トランザクションなどの真偽を確認するのに適しています。 PKCは、2つの鍵モデルに依存しています。公開鍵はいわば南京錠であり、南京錠を開けるのは秘密鍵の役割です。

公開鍵の暗号方式(PKC)

PKCは、「Trapdoor Functions 」という原始的な数学の考えに基づいて構築されています。これは、一方向に計算するのは簡単なのに対し、逆方向にはほとんど不可能な数学の問題です。

この問題を解くには、コンピューターが正解を計算するまでに膨大な時間(数千年)を必要とします。 PKCの文脈では、素因数分解のような数学的トリックは暗号署名のリバースエンジニアリング(偽造)を不可能にする「Trapdoor function」であり、事実上解決不可能な数学的問題をコンピューターに解かせる必要があります。

公開鍵と秘密鍵の考え方

PKCの一般的な目的は、悪意のある者が存在する可能性のある公開チャネルにおいて、デジタル署名を用いて安全でプライベートな通信を可能にすることです。 暗号資産においては、トランザクションが本当に資金の所有者によって署名され、偽造されていないことを証明することが目的であり、これはすべてピア間のパブリックブロックチェーンネットワーク上で行われます。

暗号資産を所有する場合、実際に所有しているのは「秘密鍵」です。 「秘密鍵」とは、所有者に暗号資産を使用する権利を与えるものです。 暗号資産へのアクセスを提供するという性質のため、その名のとおりプライベートな状態を維持する必要があります。

秘密鍵の他には公開鍵があり、公開鍵と秘密鍵の間には暗号的なつながりがあります。 秘密鍵を所有している限り、公開鍵を復元することが可能です。 しかし、公開鍵だけでは秘密鍵を見つけることはできません。

公開鍵と秘密鍵は、それぞれメールアドレスとパスワードのようなものです。

アリスは、自分の秘密鍵から何十億もの公開鍵(アドレス)を作ることが理論上可能であり、秘密鍵は自分だけが知っているパスワードとして機能します。 アリスが公開鍵アドレスを作成すると、そのアドレスはBitcoinのような暗号資産を送ることができるアドレスとしてネットワーク内のすべてのユーザーが公に利用できるようになります。 アリスは、公開されているアドレスに対応する鍵を持っているため、アリスだけがそのアドレスに送られた暗号資産にアクセスすることができます。

トランザクションの仕組み

アリスの秘密鍵はデジタル署名であり、これを用いてトランザクションやメッセージの送信を行ったのがアリス自身であることを証明することができます。

例えば、アリスがチャーリーが聞いている公開チャネルを通してボブにメッセージを送りたい場合、アリスは自分の秘密鍵でメッセージを暗号化してボブに送信できます。 さらにハッシュ出力と呼ばれる特別な値を、自分のメッセージとともに生成して、ボブの公開鍵を使ってボブに送ります。 ハッシュ出力とメッセージ、そしてボブが秘密鍵を使うことで、ボブはメッセージを解読して読むことができるようになります。

チャーリーが持っているのは、アリスの公開鍵と自分の秘密鍵のみのため、メッセージを読むことはできません。 これこそが、Trapdoor functionの真髄です。 トラップドア関数を使って作られているため、チャーリーはアリスのメッセージや秘密鍵をリバースエンジニアリングすることはできません。

Bitcoinにおける取引とは、UTXOトランザクションモデルにおいてユーザーが互いのパブリックアドレスを入力および出力とし、Bitcoinを送受信する一連の流れです。 アリスは自分の公開鍵をウェブ上で公開でき、人々はアリスがその資金の秘密鍵の持ち主であることを知った上で、そのアドレスにBitcoinを送ることができます。

より一般的に、Bitcoinのノード(Bitcoinのソフトウェアを実行するユーザー)は、基本的なコンセンサスルールと公開鍵/秘密鍵ペアが有効であることを示すクリプトグラフィック証明(Proof of work)を使用し、ネットワーク上のトランザクションが偽造されていないことを自動で確認・検証します。 PKCを利用するBitcoinなどの暗号資産は数学的証明により保護されているため、トランザクションを偽造することはほぼ不可能です。

学び続けましょう! 暗号資産やブロックチェーンの理解を深めるために、School of Blockの動画をご覧ください。 暗号資産を安全に保つ方法


お問い合わせ

お知らせはブログからご確認いただけます。 メディア関連の連絡先:
[email protected]