
TAC講座での説明で、これまでなんのことかわからずにいた疑問がとけはじめた。
暗号化の技術である「公開鍵暗号方式」(暗号化と復号に2個1組の異なる鍵を用いる)の代表的なアルゴリズム(暗号化手順)「RSA」で、
「公開鍵から秘密鍵を推測できない」
だからより安全だ、の意味がわからんかった。
暗号といえばその解読で日本海軍はミッドウェーで手痛い敗北、惨敗を喫している。
米軍がおとりで「ミッドウェー島で生水が不足している」と無線通信したのを日本軍が傍受し、それを「AFでは生水が不足している」と軍に報告したことから次の攻撃目標をミッドウェーとつきとめ、空母艦隊で待ち伏せし日本の4隻の主力空母を失うこととなった。
古くはシーザーが戦地で軍に指令をだすさいに、AはBと、BはCと読みかえるを用いた。
めったに使わないキャッシュカードにぼくは数字の4桁をこの「1文字ずつずらし」でテプラでシールを張り付けている。ぼくのレベルは紀元前古代ローマのラベル。これもこの講座でシーザーもそうだったんかい!と知る。
さて、本題に入る。
この「RSA」だが「素因数分解」を利用している。
じゃあ、なぜ「素因数分解」を利用していると推測できなくなるのか。
1とその数字しか割れない(分解できない)のが「素因数」。
だから2,3,5,7、11、、、と続く
4なら2×2と分解できる。20なら2×2×5に。
「6887」という数字列があるとする。これをまず「公開鍵」とする。
これを素因数分解すると71×97が求められる。
そしてこの「7197」を復号(もとにもどす)のための「秘密鍵」とする。
「6887」を素因数分解して71×97を求めるのにはできなくはないが労力がいる。
いま、秘密鍵は
617桁
までになっている。
解読するのにPCでも何年もかかる、気の遠くなる作業。
ATMで気の遠くなる作業はしたくないからキャッシュカードパスワードは4桁「1文字ずつずらし」のままでいく。
もうずっと送金はネットバンキングを利用しており銀行に行くことはなくなった。
スマホでの第2暗証番号の4桁の数字の生成にこの技術が使われているのかもしれない。
