公開鍵暗号法について

 ■ はじめに

理解するために、いくつかの工程を踏んで、公開鍵暗号法について理解する

■ 用語

* 公開鍵 ... 暗号化だけできる鍵
* 秘密鍵 ... 複合化だけできる鍵

よく、以下のように例えられる。
* 秘密鍵 ... 鍵
* 公開鍵 ... 南京錠

https://www.b-chan.jp/entry/essay/public-key-cryptosystem

 ■ Step1 : 簡単な過程

 * 例えば、1つの部屋に、「自分」「受信者(伝えたい人)」「傍受者(伝えたくない人)」がいたとする

 ⇒ どうやって、ひそひそ話ではなく、どうどうと「自分」は「受信者」だけに自分の意思を伝えるか?

 議論を簡単にするために

 * 伝えたい意思を5桁の数値にする(例えば「98765」)

 方針

一つのアイディアとして...

 ★ポイント★ 「自分」「受信者(伝えたい人)」で、二人だけの『秘密の共通の数字』を決めておく(例えば「123」)

 * 前提として、その数字は「傍受者(伝えたくない人)」は知らない
 * 数字を言う際に、その共通の数字を足した形で言う
 (加算トリックという。例えば、9なら「132(=123+9)」、8なら「131(=123+8)」・・・)

 ⇒ すると、その数値を聞いた「受診者」は、共通の数字を引いて記録しておけばいい
  (132なら「9(=132-123)」、131なら「8(=131-123)」・・・)

 関連するキーワード

 * 128ビット暗号化

 * ブロック化暗号
  => ある固定長のブロックごとに分けて暗号化を行う

 * AES (Advanced Encryption Standard)
  => 共通鍵暗号方式の代表的な暗号化アルゴリズムで、鍵長が128ビット、192ビット、256ビットから
     選ぶことができるブロック長が128ビットのブロック暗号

 ■ Step2 : オープンな場で『共通の秘密』を作る方法

 * Step1は、あくまで、二人だけの『秘密の共通の数字』を決めておいたからなせた事であって
 逆に、その数値がなければ、暗号化できない
 ⇒ そこで、オープンな場で『共通の秘密』を作る方法を考える

 議論を簡単にするために

 * 伝えたい意思を、色にする

 方針

一つのアイディアとして、以下の手順を実行する...

★ポイント★

[1] 「自分」「受信者(伝えたい人)」で、『秘密の色』それぞれを決めておく(例えば「山吹色」「パールホワイト」)
[2] 「自分」「受信者」が、[1]で決めた色とは別の色を決めて、それを公開する。(「公開色」とする。例えば「黄緑」)
[3] 「自分」の色と「公開色」を混ぜて、公開する。(「公開混合色A」とする)
[4] [3]と同様に「受信者」の色と「公開色」を混ぜる。(「公開混合色B」とする)
[5] 「受信者」の色と「公開混合色A」混ぜる(「山吹色」:「パールホワイト」:「黄緑」=1:1:2の色になる)
[6] 「自分」の色と「公開混合色B」混ぜる(「山吹色」:「パールホワイト」:「黄緑」=1:1:2の色になる)
 ⇒ [5]と[6]は同じ色になり、「傍受者(伝えたくない人)」は公開されている情報だけではこの色を知る(作る)ことはできない

 関連するキーワード

 * ディフィー・ヘルマン鍵交換

 ■ Step3 :『共通の秘密』をPCで分かる数値で置き換える

Step2は絵の具だったため、非可逆性(元に戻すことができないような性質)を保てたが
PCは数値で表すしかない。しかし、数値だと可逆性が出てくる。
そこで、限りなく非可逆性にするために、数学を用いて、暗号化する。

関連記事

暗号化・複合化ツール ~ GPG4WIN ~
https://dk521123.hatenablog.com/entry/2020/05/21/120745