見出し画像

枝分かれ-2 (暗号アルゴリズム)

元々取り組んでることから、
近いけど異なる事柄に興味を持ったことを
書いていくこのシリーズ。

第二弾は暗号アルゴリズムです。
本業に近い内容の話を初めて書きます。

※技術的な内容では無く、
興味をあることを記録することに重点を置きます。

経緯と自分の性質

暗号アルゴリズムに興味を持ったきっかけは、
仕事でSSH(Secure Shell)について触れたことが始まりです。
SSHとは、ざっくり言ってしまうと、
ネットワークに接続された機器を遠隔操作する為の手段です。
初めて知った時は、「へーそういう物があるのか」程度にしか思わず、
仕事においても、設定有無とキー長を見るくらいしか触れませんでした。

暫くして、「そういえばSSHって概念的な役割は知ってるけど、
どうやって動いてるん?」と興味を持ち、ググりました。
その時は本当に駆け出しの頃だったので、
勿論(?)公開鍵や共通鍵などわかりませんでした。
したがって、「RSA?DES???」など
また知らない世界を見つけてしまった瞬間でした。

私の性質として、
『興味あること×理解できないこと』に遭遇すると
とても興奮する性質があります。
通常であれば気の赴くまま、
スマホゲームで遊ぶ感覚で調べたりします。
しかし、今回の興味の対象は暗号アルゴリズム。
深堀しようとするとマジな数学に触れることになります。
(ド文系である故)

完全理解 VS 挫折

5月の自粛期間で仕事が落ち着いていたので、
下記の本を一通り読むことができました。
その結果、十把一絡げにしていた用語や仕組みを
体系化することはできました。

しかし、興味は落ち着くこと無く、
更に「何で?」「それ何?」が大量発生しました。
Diffie-Hellman鍵共有(何故かお気に入り)を完全に理解したいけど、
離散対数を知らないのは如何なものか。
また、それに関連してエルガマル暗号、
楕円曲線暗号もあるらしい。
公開鍵暗号方式のRSAを理解したいけど、
フェルマーの小定理に触れないのはどうなの?
その他、SHA-2を始めとするハッシュ関数も理解を深めたい。
共通鍵暗号方式のDES、AESはどんな動きをするのか、
Camelliaは何なのかを知ろうとすると「ブロック暗号」という言葉が出てきて、それにはFeistel暗号、SPN暗号があるらしい。

っとこんな具合に世界の広さを実感しています。
数学自体、高校・大学でひたすら避けていたので、
ゆっくりじっくり取り組もうと思います。

最後に

・暗号アルゴリズムって何かロマン感じますよね。

・勉強する度に、暗号云々に限らず
 「こんなの(技術、仕組み、考え方など)よく思いつくなぁ」
と最近つくづく思います。

・この記事を書いてて、
 一体誰が読むんだろ…と10分に一回は思いました。
 読んで下さった方、ありがとうございました。

この記事が気に入ったらサポートをしてみませんか?