公開鍵暗号方式の仕組みについて

一般的に公開鍵暗号方式とは、「公開鍵と秘密鍵という2種類の鍵を利用してデータを暗号化し、復号できるようにする暗号方式のこと」と言われます。
「公開鍵」と言った少しセキュリティ面で心配になるような単語が並んでいますが、いったいどうゆう仕組みなのでしょうか??今回はこの公開鍵暗号方式について掘り下げてみたいと思います。
もくじ
【公開鍵暗号方式の仕組み①】公開鍵暗号方式とは何か?
「公開鍵と秘密鍵という2種類の鍵を利用してデータを暗号化し、復号できるようにする暗号方式のこと」
公開鍵暗号方式を説明する上で、これ以上に的確な表現は無いと思います。しかし、これでもまだ分かりにくい部分が多いと思うので、もう少し細部に焦点を当ててみたいと思います。
まず暗号化とは「754DA321」など、データを「何が書いてあるのか?」第三者が見て分からないようにすることです。復号はそのわけの分からないデータを読める状態に戻すことです。

公開鍵を不特定多数にばら撒いたとしても、公開鍵では暗号化されたデータは元に戻すことは非常に困難です。秘密鍵がないと暗号化されたデータを復号することはできないのです。公開鍵暗号方式とはざっくり言えばこうゆうことで、仮想通貨の取引においては非常に堅牢な仕組みとして機能します。
【公開鍵暗号方式の仕組み②】公開鍵暗号方式は一方向関数を使って計算を複雑化してる
公開鍵暗号方式では、一方向関数を利用して公開鍵と秘密鍵の2つの鍵のペアを作っています。一方向関数とは、『関数値は容易に計算できるが、逆関数の計算は非常に困難である』といった特性を利用した関数です。
エジプトのピラミッドを想像してみてください。あれは現実に存在していますが現代になってもその作り方はハッキリしていません。「どうやって、その結果にいたったのか?」推測が非常に困難なのが一方向関数なのです。
確かに公開鍵から秘密鍵を推測するのは、高性能コンピュータを使えば不可能ではありません。ただ仮にやったとしても一般的には数十年と時間がかかってしまうものです。
長い長い時間をかけているうちに暗号化されたデータに価値が無くなってしまいそうですね。なので、それなら秘密鍵の推測は諦めて別のアプローチを選択した方が、盗賊の側も時間を無駄にせずに済みます。それが「公開鍵暗号方式が堅牢である」と言われる所以なのです。
【公開鍵暗号方式の仕組み③】公開鍵暗号方式の身近な活用例
身近な公開鍵暗号方式の例ですと電子署名です。契約書などがオンラインでやり取りされる際に、書類の内容が正しいことや改ざんされていないことを証明する手段として、この電子著名が利用されます。
また公開鍵暗号方式と共通鍵暗号方式の特性を併せ持ったハイブリット暗号方式ですが、SSL/TLSで利用されています。URLのhttpsというやつですね。
マイナンバーカードも公開鍵暗号方式の身近な活用例です。マイナンバーカードは秘密鍵と公開鍵として機能する電子証明書がICの中に格納されています。具体的には「地方公共団体 情報システム機構」(J-LIS)という機関が認証局の役割を持ち、電子証明書を発行し発行した電子証明書が正しいものかを判別し、個人が受けるサービスに対する認証作業を行っています。
まだまだありますが、社会のいたるところで、この公開鍵暗号方式は活用されています。
まとめ
これまで公開鍵暗号方式について説明してきましたが、仮想通貨に置き換えて考えてみたいと思います。
過去記事でシードフレーズの説明でアドレスと秘密鍵について触れました。あのアドレスとは秘密鍵から生成された公開鍵を暗号化して使いやすくしたものですね。少しこの仮想通貨における公開鍵方式の取引の流れを説明してみたいと思います。

お金の受取人であるAさんは100BTCを受け取るために秘密鍵から公開鍵を生成します。そして、その公開鍵からアドレスを生成して送金者に送ります。お金の送金者はこの100BTCのお金を送金するために公開鍵を使って送金用のアドレスを生成します。
この時、送金者の秘密鍵(電子著名)により、「確かにこの送金をする人物は本人なのか?」秘密鍵と公開鍵を利用した検証作業が行われます。
第三者が送金者の送金用アドレスを知っていれば、20BTCしか送金しないとか、不正送金ができてしまいますからね。ここで成りすまし防止のために送金者の秘密鍵(電子著名)を使った検証作業が入るのです。
検証がしっかり終了すれば、これでやっと無事に送金完了です。当たり前の話ですが途中で盗賊が100BTCを盗みたいと思っても、お金の受取人が保有する秘密鍵を持っていないので、取引内容は確認できても手の出しようがありません。
これが仮想通貨における公開鍵暗号方式の仕組みです。お金の受け取り時にも送金時にも、公開鍵と秘密鍵を利用した検証作業が入ってるんですね。第三者が取引内容を見れたとしても、取引そのものには介入できない堅牢な仕組みなのが良く分かると思います。
私はこの仕組みは政治の世界で応用したら面白いと思っています。例えば政務活動費の問題は、昔からずっと繰り返されてる問題です。実際に出張した事実がないにもかかわらず、架空の出張を申請して経費を取得する空出張。ほとんど勤務実態のない事務所の従業員の人件費としての不正受給。
これらは仮想通貨を利用してさえいればトランザクション(取引記録)に全て残るんですよね。たとえお金のやり取りがあったとしても、ジャーナリストは政治家のトランザクションをウォッチしていれば良いので、後でいくらでも追求できます。
また政治家をウォッチする報道機関の人間にも会社の活動で使う資金に関しては仮想通貨の利用を義務付ければ、メディア人と政治家の癒着も「プライベートマネーオンリーの現金のみで料亭に行く」など、なかなかハードルが上がるので、最小限まで抑えることが可能になると思います。
仮想通貨に関しては、「どこの国が法定通貨として利用するか?」がクローズアップされがちですが、政治家と第4の権力と呼ばれるメディアへの利用が1番私は社会にインパクトを与えると思います。
仮想通貨
ADA OMG XLM LTC ETH XRP BTC DOGE DOT USDC
関連記事
・仮想通貨のホワイトリストとは何か?その登録通貨一覧についても紹介します
・トレザー(TREZOR)のハードウェアウォレットについて紹介します。
・レジャーナノ(Ledger Nano)のハードウェアウォレットについて紹介します。
・MT5とは何か?MT5が使える仮想通貨取引所も、ご紹介します
・仮想通貨ウォレットのおすすめや、種類や仕組みまで解説します
・仮想通貨・初心者向けガイド~仮想通貨投資のやり方を解説します
・仮想通貨・短期トレードの特徴と具体的な始め方について解説します