search
テクノロジー

[入門篇]公開鍵暗号とは

もずく's icon'
  • もずく
  • 2018/09/18 14:17

こんばんは、もずくです。


魔法使いオズモンのシリーズ第2回は「公開鍵暗号」についてです。

前回の記事「ハッシュ関数とは」をまだ読んでいない方は(オズモンの設定の話もあるので)お先にどうぞ。


さて、魔法使いオズモン、今回はどんな問題を魔法で解決するのかな…?




やあ、魔法使いのオズモンだよ。


魔法の世界でも人間の世界でも、恋の基本は攻めの姿勢。

ボクの彼女(予定)のマギカちゃんは、ちょっと鈍感なところがあって、ボクの気持ちになかなか気づいてくれない(笑)

だから絶えずプレゼントを送っているんだ。


でも、魔法の世界にはアクマくんという悪いやつがいて、配送中のモノを盗み見たり、酷いときにはそっくり複製したりするんだ。

恋のやりとりってとってもデリケートなのに困ったもんだよ。


Content image


だから、魔法の世界には「カギ魔法」っていうのがあるんだ。

カギ魔法を使えばどんなモノもロックできて、中身がわからないようにできる。

受け取る人に同じカギを渡しておけば、その二人にしか開けることのできない贈り物ができるってわけ。


だから、ボクからマギカちゃんへのプレゼントが知らないうちにアクマくんに複製されても、魔法のカギがなければ中身を見ることはできないから安心できる。



でも、このカギ魔法、ちょっと問題があるんだ。


モノを送る前に、相手に魔法のカギを渡しておかなきゃいけないんだけど、そのときはまだ魔法でロックできないわけだから、アクマくんに取られちゃうかもしれない。

マギカちゃんに直接会ったときにしかカギを渡せないのって不便だよね。


Content image



だから、ボクが新しいカギの魔法を作ったんだ。

ポイントは、魔法のカギを〔自分用のカギ〕と〔配る用のカギ〕の二つに分けたこと。


Content image


こんなふうに、〔配る用カギ〕はみんなにバラまいて、ボク宛に送るモノをロックするのに使ってもらう。

で、〔配る用カギ〕でロックされたものは、同じ〔配る用カギ〕ではアンロックできないようになっている。

つまり、ロックされたモノをアンロックできるのは〔自分用カギ〕を持っているボクだけ…というわけ。



ボクから誰かにモノを送りたいときは、先に相手の〔配る用カギ〕をもらっておかないといけない。

相手の数だけ〔配る用カギ〕があるってことだね。送る相手に合わせてロックするカギを決めるんだ。

Content image


最初に紹介したシンプルなカギ魔法の二つの問題が解決されていることがわかるかな?

相手に渡しておくのは盗まれても構わない〔配る用カギ〕で、〔自分用カギ〕は他人に送る必要がないんだ。

すごい発明でしょ?


ちなみに、〔配る用カギ〕は〔自分用カギ〕から作り出すことができるから、自分で保管しておくのは〔自分用カギ〕だけで構わない。

狭い日本の住宅事情にも配慮した設計にしてみたんだ。



そうそう、例によって、人間界のコンピュータの世界にも僕の魔法を真似た「公開鍵暗号」っていう技術があるらしい。

ロックのことを「暗号化」って言い換えたり、〔自分用カギ〕と〔配る用カギ〕を「秘密鍵」と「公開鍵」って言い換えたりしているけど、仕組みはほぼ同じ。

どうみても僕の魔法のパクリだよね。


Content image


ちなみに、ブロックチェーンのトークン(暗号通貨)はインターネット上に存在するんだけど、その所有者の証となるのが秘密鍵(プライベートキー)なんだ。

もう少し踏み込んだ話はいつかするけど、秘密鍵はパスワードと同じで無くしたり盗まれたりしたら大変。大切に保管しておきなよ。



あと、ビギナー記事ではやっちゃいけない“余談”なんだけど、ウェブで「https」ってあるでしょ、あれも魔法カギ(暗号化)の仕組みが使われているんだよ。


Content image


言ってなかったけど、実は公開鍵暗号(カギを二つに分ける方)って、暗号化・復号化のときにちょっと時間がかかるんだ。

だから、ウェブみたいに頻繁にやりとりするときに、毎回 公開鍵暗号を使っていたら日が暮れるわけ。


だから、httpsの暗号化通信では、一番最初に紹介したシンプルな魔法カギ(人間界では「共通鍵」と呼ばれる)を使うんだ。

共通鍵の問題点は、一番最初にどうやってカギを相手に渡すか…というところだったけど、そこの部分だけ処理の重い公開鍵暗号を使って送る。

共通鍵が安全に二人の手に渡ってしまえば、処理の軽い共通鍵で暗号化して情報をやりとりする。これがhttpsの仕組みだよ。




というわけで、今日は魔法カギ(公開鍵暗号)の話でした:)

最後のhttpsの話が完全に蛇足だけど、絵を書いちゃったからもったいなくて…


次回はいよいよブロックチェーンに頻出する電子署名の話だよ。

楽しみにしててね!



記事一覧][Twitter][Monappy





公開日:2018/09/18
獲得ALIS:45.00
Article registration Article registration
もずく's icon'
  • もずく
  • @mozk
主要な記事はHiÐΞに移行中

投稿者の人気記事
コメントする
Loading...
コメントする
こちらもおすすめ!
Eye catch
他カテゴリ

ALISのシステム概観

ALISブロックチェーンブログ 2018/07/03
Like token Tip token
5.00 ALIS
Eye catch
ゲーム

ドラクエで学ぶオーバフロー

keiju togashi 2020/03/12
Like token Tip token
30.10 ALIS
Eye catch
テクノロジー

彼女でも分かるように解説:ディープフェイク

Jimmy 2020/03/17
Like token Tip token
32.10 ALIS
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

CryptoChick 2020/03/07
Like token Tip token
159.32 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

nnppnpp(んぺー) 2021/09/08
Like token Tip token
46.60 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

大田コウキ 2021/04/06
Like token Tip token
947.13 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

kaya 2021/10/06
Like token Tip token
61.20 ALIS
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

nonstop-iida 2020/03/04
Like token Tip token
124.82 ALIS
Eye catch
テクノロジー

iOS15 配信開始!!

IMAKARA 2021/09/23
Like token Tip token
7.20 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

池田らいく 2021/04/04
Like token Tip token
18.92 ALIS
Eye catch
テクノロジー

オープンソースプロジェクトに参加して自己肯定感を高める

おはぐろ氏 2020/02/15
Like token Tip token
85.05 ALIS
Eye catch
テクノロジー

なぜ、素人エンジニアの私が60日間でブロックチェーンゲームを制作できたのか、について語ってみた

ゆうき 2020/08/12
Like token Tip token
270.93 ALIS