公開鍵や秘密鍵は、わかりにくい。それは、両方とも「鍵」というイメージでとらえるからだとおもう。「南京錠」で、たとえた方がわかりやすいんだネ。
下の図をみてください。花子は太郎に、ネットをつうじて「南京錠」を投げかける。投げかけられた太郎は、ただ錠をかけるだけ。カチャ。あとは花子に「南京錠」を返す。とちゅう、たとえ、だれかに盗まれたとしても、「鍵」を持っているのは花子だけなので、「南京錠」を開けることができない。
で、つぎね。「南京錠」のかわりに、花子は太郎に数列を投げかける。太郎は、この数列をつかって鍵を施錠する。カチャ。万一、だれかに、この数列が盗まれても、だいじょうぶ、鍵は花子が持っているから。
この数列は、なにかというと、花子の持っている「89652331」と「96325939」は素数である。「8635844967113809」は2つの数字を掛けたもの。「8635844967113809」は盗まれても、第三者が「89652331」「96325939」を知るには、たいへん骨が折れる。一方、任意を素数を選んだ花子自身は、もちろん知っている。じっさいの公開鍵はケタ違いの数字なので、第三者がもとの素数を知るのは不可能である。これが公開鍵、秘密鍵のイメージだ。素数の利用は、分解した値が、ひととおりしかないからだね。
使用イラスト:著作権フリー/イラストAC
参考資料:「暗号解読(下)」(サイモン・シン/ 青木薫 訳 新潮文庫)