0Pricing
Cryptology Academy · レッスン

シーザー暗号の仕組み

古典的なROT-N換字暗号を実装し、解読します。

「シーザー暗号の仕組み」はCoddyKit上の無料Cryptology Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCryptology Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cryptology Academyコースには全4レッスンが含まれています。

ようこそ

Caesar暗号は最も単純な換字暗号です。アルファベット上の各文字を一定の位置数だけ移動させます。実装して解読してみましょう。

Caesar暗号の仕組み

シフトが3の場合、A→D、B→E、...、Z→Cとなります。'HELLO'は'KHOOR'になります。復号では逆方向にシフトするため、'KHOOR'は'HELLO'になります。

数学的定義

暗号化:E(x) = (x + k) mod 26。復号:D(y) = (y - k) mod 26。ここでxは文字のインデックス(A=0)、kはシフト鍵です。

ROT-13方式

ROT-13は、shift=13のCaesar暗号です。13+13=26なので、暗号化と復号は同じ関数になります。フォーラムでネタバレを隠すために使用されます。

Pythonによる暗号化

def caesar(text, k): result = '' for c in text.upper(): if c.isalpha(): result += chr((ord(c) - 65 + k) % 26 + 65) else: result += c return result print(caesar('HELLO', 3)) # KHOOR

Pythonによる復号

復号は、シフトを負にした暗号化にすぎません。 def decrypt(text, k): return caesar(text, -k) print(decrypt('KHOOR', 3)) # HELLO

総当たりによるCaesar暗号の解読

可能なシフトは25通りしかありません。攻撃者は25通りすべてを試し、英語らしく見える結果を選ぶだけです。コンピューターは必要なく、手作業でも数秒で解読できます。

鍵空間の分析

鍵空間は26です(恒等変換を除くと25です)。AES-128の2^128 ≈ 3.4×10^38個の鍵と比べてみてください。Caesar暗号の鍵空間は壊滅的なほど小さいのです。

頻度分析の予告

総当たりをしなくても、頻度分析が使えます。英語では'E'が最もよく使われる文字です(約13%)。暗号文で最も頻出する文字を見つけ、シフトを推測します。

実際のコードでのROT-N

Pythonでは、import codecs; codecs.encode('hello', 'rot_13')により'uryyb'が得られます。ROT-13はPythonのcodecsモジュールに組み込まれており、その歴史的な重要性が分かります。

歴史的背景におけるCaesar暗号

Caesarは私的な通信にシフト3を使用しました。読み書きのできない相手には有効でしたが、教養のある相手に対しては西暦800年までには簡単に解読されていました。

確認問題

シフト3のCaesar暗号で'ABC'を暗号化すると、暗号文は何になるでしょうか。

振り返り

Caesar暗号を実装し、解読しました。次は、より複雑な古典暗号であるAtbash暗号とAffine暗号を学びます。

よくある質問

「シーザー暗号の仕組み」レッスンは無料ですか?

はい。「シーザー暗号の仕組み」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cryptology Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cryptology Academyコースには全4レッスンが含まれています。

「シーザー暗号の仕組み」で何を学びますか?

古典的なROT-N換字暗号を実装し、解読します。 ブラウザで直接実行するハンズオンコードでCryptology Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cryptology Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCryptology Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「シーザー暗号の仕組み」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCryptology Academyレッスンでコードを書いて実行できますか?

はい。すべてのCryptology Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. シーザー暗号の仕組み
  2. AtbashとAffine暗号
  3. Vigenère暗号と多表式暗号
  4. 頻度分析と暗号解読の基礎
← Cryptology Academyに戻る