Contiランサムウェア集団の暗躍とAnonymousの活躍が話題なのでZennTerralien🏟️Contiランサムウェア集団の暗躍とAnonymousの活躍が話題なので2022/03/04に公開2022/04/30Security暗号idea時事ネタです。自分の担当するサービスがこのような標的になってはたまったものではないので、これまで適当にしていたセキュリティをしっかりと学んでいこうと思います。暗号鍵・公開鍵あたりを適当に聞き流していた程度の知識しかないので基礎からしっかりと身につけたいです。書いている人のスキル感としては業務として多少サーバーに触れる程度で、セキュリティは多少書籍読んだり聞きかじりの知識くらいしか無い程度です。学校のセキュリティの授業で確か一番最初は暗号技術の体系を学んだような記憶があるのですが、とりあえずシーザー暗号を復習してみます。シーザー暗号とはローマ帝国の皇帝ユリアスシーザーが平文と呼ばれる元の文章を3文字ずらして暗号としたことが命名の由来。文字をずらすことからシフト暗号などとよばれる暗号の元祖です。書籍や文章だけではイメージがイマイチつかめない体質ですので、セキュリティの基礎を無料かつハンズオンで学べるEnvaderを利用していきます。カエサルセキュリティ基礎、暗号とはざっくりと言うと情報を伝達したい相手以外には(なるべく)読ませないための仕組みです。セキュリティ基礎コースで元祖暗号であるシーザー暗号をまずはやってみます。シーザー暗号の仕組み文章の文字をROT{n}ずらします。元々のシーザー暗号は3文字ずらしていたためROT3と表現します。元の文章がAIUEOならROT3はDLXHR、ROT13だったならNVHRBといった具合に。この数字部分が暗号を解く鍵そのものとなっています。ROT13なら暗号化はアルファベット順を右に13シフトします。復号化の仕組み暗号を元の文章に戻すことを復号といいます。ROT13だった場合はアルファベットを左に13シフトすると平文に復号できます。シーザー暗号はn文字ずらす暗号なので、n部分の鍵がわかればすぐに復号できます。わからなくても総当りすればいずれ復号が可能です。暗号がFHRPUPRBだった場合は、簡単ですねn文字ずらせばいいだけですから......。(10分経過)わかったYAKINIKUだ!ROT7だ!思ったよりは大変で、もし仕組みを知らなかったとしたら時間稼ぎにはなるようです。trコマンドで変換できるLinuxではtrコマンドを使うことで簡単にシーザー暗号(ROT13)を作ることが出来ます。N-ZA-Mn-za-mLNXVAVXHアルファベットは26文字のため、ROT13の場合は暗号化したものをもう一回ROT13すると復号できちゃいます。N-ZA-Mn-za-mYAKINIKUいずれ解読されるものの暗号の仕組みさえわかっていれば暗号というものは解読されてしまうわけですが、相手に情報が漏洩するのを遅延することができるという点で今日の暗号化とそう仕組みは変わりないようです。ハンズオンで教わることシーザー暗号の仕組みや、シェルスクリプトやPythonでシーザー暗号を作れるようになります。実際のハンズオンでは自力でシーザー暗号を解読するためかなり頭が疲れてしまう......つまり暗号を自力で解くのはめんどくさいからプログラムで解決しようという動機づけを学べますwシーザー暗号を学習して得た知識いや文字ずらしただけとか解読するの簡単じゃんとは思っていたのですが、実際にシーザー暗号化された文章を解読していくのは脳に負荷がかかって疲れます。いえ時間さえあれば解読できるし、プログラムで簡単に解読できるため今となっては暗号の用途をほぼなさず陳腐化しています。容易にできるサイトhttps://dencode.com/ja/cipher/caesarTerralienAWSたのすいバッジを贈って著者を応援しようバッジを受け取った著者にはZennから現金やAmazonギフトカードが還元されます。Proよくある質問LinksX(Twitter)GitHubメディアキットLegal利用規約プライバシーポリシ。