笑わない数学 #9「暗号理論」まとめ
RareTEC受講生のリュウです。
RareTECH(レアテック)| 希少型エンジニア育成スクール
私は最近、NHKの「笑わない数学」という番組を見ており、つくづく世界は数学でできていると思う。今週は第9回「暗号理論」についてまとめる。(NHKとは仲良くないし法に触れたくないので写真はない。)
途中の計算を飛ばすのがイヤだったため自分でチャレンジしてみたら、やたら時間がかかってしまった。せっかくなのでその辺も読んでもらえたら嬉しい。
現代はPCやスマホなどでメッセージ、個人情報をやり取りする機会が多く、それには暗号が使われている。どうして安全にそれが出来ているのか?そしてどんな数学が利用されているのか?という謎にパンサー尾形が今回も挑んでくれた。
私が最近RareTECで学習しているセキュリティー基礎コースでも暗号について学んでおり、それを更に深めることが出来るかもしれないと思ったので特に興味深く見ることが出来た。
RareTECH(レアテック)| 希少型エンジニア育成スクール
暗号の原理は、元の情報を「暗号化の方法」によって暗号化された情報、とし、暗号化された情報を「もどす方法」によって元の情報にする、ということになる。
歴史上有名な暗号方式に「シーザー暗号」がある
これは、たとえばアルファベットを三文字ぶん後ろにずらして、A→D、B→E、C→F、とすれば意味の通じない文章を作ることができる、中でも13文字ずらす「ROT13」は丁度26文字のアルファベットを半分で折り返すメジャーなものとして知られている。
また番組では「エニグマ」をさらりと紹介したが、これは第二次世界大戦時のドイツ軍の暗号機の事で、連合軍はこれを解読するのに心血を注ぎ、終盤ドイツ軍の情報は連合軍にダダ洩れだったとか。
このように「暗号化の方法」をいくら複雑にしても「暗号化の方法そのものが知られてしまうと元の情報が第三者に知られてしまう」ことは避けられず、数学者達は長年苦悩してきたらしい。
1976年のアメリカで「暗号化の方法を守り抜くなんてもうやめよう」とマーティン・エドワード・ヘルマンさんとホイットフィールド・ディフィーさんが「暗号の新しい方向性」というタイトルで「公開鍵暗号」の理論を発表した。
さらにその後現れた3人、ロナルドさん、アディ―さん、レオナルドさんが着目した「素因数分解の困難性」によってかのRSAが開発された(RSAは3人の頭文字Rivest、Shamir、Adlemanによる、番組の字幕ではAdlemanのつづりがAdelmanになっていた。どちらが正しいかお分かりの方はお教え下さい)
ここで実験①
4桁の2つの数を掛ける。その答えから元の2つの数にたどり着けるかどうか、という問題に東大生数人で挑んだ。しかし結果的には30分かけても元の2つの数にはたどり着けなかった。
パンサー尾形による実験②
素数11と19を掛けた「209」を公開鍵として公表する。
スタッフは尾形に送りたい数「21」を公開鍵で暗号化する。
スタッフは21を17乗し(なぜ17乗なのかは言及なし)、209で割る 21^17/209 のあまり「10」を尾形へ送る。
「10」を受け取った尾形は、{(11-1)×(19-1)×5+1}/17=53 を得る。
さらに、10の53乗 わる209のあまり「21」を得ることが出来た。めでたしめでたし。
しかし、である。
私がひっかかったのは、10^53/209のあまり を解く部分について。
尾形は自らペンを動かさず、いかにも数学が得意そうなスタッフ「はまちゃん」に丸投げする。
はまちゃんは電卓をペシペシ叩いて「21」という数を尾形へと渡すのだが…
なんで?
なんでそんなに簡単に出せるの?
それなら尾形にやらせてもいいんじゃないの?
という点。
(ああそうか、はまちゃんは関数電卓を使ったのか。ウチにはないもんな。)
そこで私は自分で解いてみようと思った。ハマるとも知らずに。
「10^53/29のあまり」を計算機でやろうとは普通思わない。
解法はいくつかあるだろうが、私は一つでクタクタ。
今回は合同式のmodにお世話になった。
modについてご存じない方に説明すると、2つの数があって、209で割ったあまりが同じだったらその2つの数は合同(≡)と考える。
たとえば、7で割った余りが同じ2である100と9は 100≡9(mod7) と表す。余りは2
また、12も5も7で割ると2足りないが、そういう時も 12≡5(mod7)と表す。余りはー2
今回は10の53乗と合同とみなすことのできる数を探した。
10^53=(10^9)^5×10^8 、および 209を法とすると10^9≡-1 、10^8≡-21であるから
(-1)^5×(-21)=21
を得る。
10^9=1000000000 で、209で割ったあまりが208であるが、これは-1とも表すことができる。
modでは「1または-1との出会いを求める」のが基本となる。
同様に10^8=100000000で、209で割ったあまりが188であるが、これは-21と表すことができる。
これ以外の解法があったら是非教えて頂けると有難い。
最後に尾形から「メッセ―ジ ”96 ” を解いてみて欲しい」と言われるが、もうそんな気力は残っていないので
に入力してサクッと計算してもらうと「39」サンキューが現れた。
今回は、尾形のサッカーにまつわる情報が全然出てこなかったので、尾形の決まり文句である「サンキュー」でお茶を濁したのだろう。
「公開鍵」は誰でも知ることが出来るものの「元に戻す方法は簡単に分からない」という特徴を持つ。この「公開鍵」を数学の力で発見したことで、暗号は飛躍的に発展した。
であるが…
最後にナレーターがさらりと「私たちのマイナンバーカードには、鍵の元であるpとqが含まれている。」と述べて、私はギョッとした。
そんな大事な情報を物理的に持ち歩くなんて本末転倒ではないかと。くれぐれもお気を付けいただきたい。
笑わない数学は全12回。残り3回となる。
次回は「abc理論」。全く知らない話なので予習なしで見てみようと思う。
寿司打9420円、ミス37回、進歩なし。
最後までご覧いただきありがとうございました。
Pythonをなめてみたら辛かった
RareTECH受講生のリュウです
先日のSleek先生の講義ではPythonをとばされたので、まずは自分でやってみようと思い、Envader >セキュリティー基礎コース>Pythonを使った暗号化について、にチャレンジしてみた
第1問から全然わからなくて、解答を見ながらチマチマコードを書き換えて、ようやく正解にたどり着いたが、Pythonのコードの書き方のルールすら分からない状態なので、第2問などは解答を見ても意味が分からない、やはりSleek先生の判断は正しかった
早くPythonが使えるようになりたい
それにしてもvimをいじってPythonのコードを書き換えることができたのは我ながら嬉しい
ところで最近、NHKで「笑わない数学」という番組が毎週水曜日の23時から放映されているのをご存じでしょうか
最近から見始めた(23時は夢の中なので録画)のだが、カオス理論とか暗号とか、なかなか興味深いタイトルである
パーソナリティーがパンサー尾形なので「なんでだろう」と思っているのだが、一生懸命説明しようとする姿に頑張れ!と思ってしまうため、その説明の内容が頭に入ってこない残念。
寿司打8660 ミス52 ダメだこりゃ
RareTECHに加えて、Rizapを始める
RareTECH受講生のリュウです
最近始まったばかりの「oVice」をのぞいてみるがチャットが通じない?
まぁみなさん入室しながら作業してるんだろう
またのぞいてみることにしよう
300本記事2本のみ
寿司打9660円 ミス49回
今日から自宅でRizapを始めた
ウエストが気になり始めたのだが
脂がたまっているのは腹だけでなく
脳血管もなのではないかと思い始めた
軽いウェイトトレーニングなのだが
RareTECHと同時に続けていきたい
目標は2か月で2Kgの減量
再起動8日目 久しぶり生講義
今日は300本記事ノックをちょっとやって終わろうかという時。
RareTECHのSlackをチラ見したところ、sleek先生のナマ講義がもうすぐ始まると知る。
しかも最近Envaderでやったセキュリティー関連ということで、家族をリビングから追い出し、もとい家族から追い出され、ノーパソとWi-Fiをもって一人部屋にこもる。
遅刻して入室すると何やら見たことのないメタバース空間が。
sleek先生が「今度あらたにRareTECHで作った「oVice」というオフィス」という。
何だか楽しそう。
さて授業は。
最近かじり始めたEnvaderの「セキュリティー基礎」コースのハンズオンということで、順調についていけた。しかしそれも始めのうちだけ。授業の途中にある10分間の休憩中も「Nmapの第2問」を解き続ける、残念ながら「SSHに対する攻撃」には辿り着けず終了となる。
いや今日のsleek先生も濃かった。
大変素晴らしい授業だった。なるほど、パスワード入手できずとも権限が甘いと秘密鍵で入ることが出来るのか。と、ざっくりながら理解。シロートにも分かるように話せるところも◎。2時間がこんなに速く感じるとは。
Nmapの事を「ピンポンダッシュ」というsleek先生に親近感を覚えた。
これからもよろしくお願いします。
バーチャルオフィス「oVice」がとても楽しそうだが、今から見に行っては明日起きられないので後日お邪魔するつもり。
寿司打9160円、ミス44
それではおやすみなさい。
再起動7日目
今日は7時出勤、18時帰宅、クタクタで眠い
車の運転は苦でないが、移動だけで往復2時間半。
移動中に耳だけで勉強できるRareTECH教材が欲しいと思う。
今日の勉強は300本記事ノック、3本のみ。
寿司打8280円、ミス55回、進歩している気がしない。
今日はこれだけ、明日に向けてもう寝る。
おやすみなさい。
再起動5日目はYouTub●からハッキング被害を受け、6日目に再構築
9/1
前夜、寝つけず。スマホでYouTube見始めたら止められずに夜更かし。
寿司打すらせず。RareTECHのsleek先生の講義を途中まで見て終了…。
9/2
2:15起床
sleek先生の「ハッキングとユーザー管理について」の動画を聴講。
ここまでEnvaderでsshを学んでいたお陰で話についていけた。
hydraというハッキングツールがネットに公開されているとか、私のように半年学んだだけで(一か月はサボったが)ブルートフォース攻撃が出来てしまうというのは、犯罪になり得て怖い。ここでの目的はハッキングへの対策なのだが、裏世界を垣間見た。
sleek先生の操作は何であんなに速いのだろうか、シンプルにカッコいい、顔見たい。
それに引き換え今日の寿司打は9540円ミス35。これでも私にしてはまずまずの成績。
それにしてもハッキングとか、人に迷惑をかけることがお金になるってどうなの。
だからいたちごっこが終わらない。お金を出す人がいる限り不幸もなくならない。
悪い政治とか、悪い宗教団体とか、戦争、核兵器、性風俗など、全く同じ構図。
救いようがないほどアホで罪な生き物だ。残りわずかな未来。時間は大切(自戒)
朝ごはん作ろう。
3日坊主は免れた
4:15起床
300本記事4本読了
今日はDNS8.8.8.8について、アンドロイドの設定などが気になったので時間を費やした。
寿司打5900円 ミス70 ノーコメント
ご飯作ろう