枝分かれ-2 (暗号アルゴリズム)
元々取り組んでることから、
近いけど異なる事柄に興味を持ったことを
書いていくこのシリーズ。
第二弾は暗号アルゴリズムです。
本業に近い内容の話を初めて書きます。
※技術的な内容では無く、
興味をあることを記録することに重点を置きます。
経緯と自分の性質
暗号アルゴリズムに興味を持ったきっかけは、
仕事でSSH(Secure Shell)について触れたことが始まりです。
SSHとは、ざっくり言ってしまうと、
ネットワークに接続された機器を遠隔操作する為の手段です。
初めて知った時は、「へーそういう物があるのか」程度にしか思わず、
仕事においても、設定有無とキー長を見るくらいしか触れませんでした。
暫くして、「そういえばSSHって概念的な役割は知ってるけど、
どうやって動いてるん?」と興味を持ち、ググりました。
その時は本当に駆け出しの頃だったので、
勿論(?)公開鍵や共通鍵などわかりませんでした。
したがって、「RSA?DES???」など
また知らない世界を見つけてしまった瞬間でした。
私の性質として、
『興味あること×理解できないこと』に遭遇すると
とても興奮する性質があります。
通常であれば気の赴くまま、
スマホゲームで遊ぶ感覚で調べたりします。
しかし、今回の興味の対象は暗号アルゴリズム。
深堀しようとするとマジな数学に触れることになります。
(ド文系である故)
完全理解 VS 挫折
5月の自粛期間で仕事が落ち着いていたので、
下記の本を一通り読むことができました。
その結果、十把一絡げにしていた用語や仕組みを
体系化することはできました。
しかし、興味は落ち着くこと無く、
更に「何で?」「それ何?」が大量発生しました。
Diffie-Hellman鍵共有(何故かお気に入り)を完全に理解したいけど、
離散対数を知らないのは如何なものか。
また、それに関連してエルガマル暗号、
楕円曲線暗号もあるらしい。
公開鍵暗号方式のRSAを理解したいけど、
フェルマーの小定理に触れないのはどうなの?
その他、SHA-2を始めとするハッシュ関数も理解を深めたい。
共通鍵暗号方式のDES、AESはどんな動きをするのか、
Camelliaは何なのかを知ろうとすると「ブロック暗号」という言葉が出てきて、それにはFeistel暗号、SPN暗号があるらしい。
っとこんな具合に世界の広さを実感しています。
数学自体、高校・大学でひたすら避けていたので、
ゆっくりじっくり取り組もうと思います。
最後に
・暗号アルゴリズムって何かロマン感じますよね。
・勉強する度に、暗号云々に限らず
「こんなの(技術、仕組み、考え方など)よく思いつくなぁ」
と最近つくづく思います。
・この記事を書いてて、
一体誰が読むんだろ…と10分に一回は思いました。
読んで下さった方、ありがとうございました。
この記事が気に入ったらサポートをしてみませんか?