このツールでできること
シーザー暗号・ROT13・モールス信号の3種類の古典暗号を、ブラウザ上で暗号化・復号できる学習用ツールです。謎解きゲームの問題作成、暗号パズルの答え合わせ、プログラミングの教材、子ども向けの遊びなど、幅広い用途で使えます。すべての処理はブラウザ内で完結し、入力したテキストが外部に送信されることは一切ありません。
なお、ここで扱う3つの方式はいずれも「古典暗号」と呼ばれる学習・娯楽向けの方式です。現代のコンピュータでは数秒で解読できてしまうため、本格的な情報保護やパスワード管理には使えません。あくまで暗号の仕組みを学んだり、遊びの中で使ったりする目的でご利用ください。
対応する暗号方式
| 方式 | 説明 |
|---|---|
| シーザー暗号 | アルファベットを指定した数だけずらす。古代ローマのカエサルが使ったとされる最古の暗号 |
| ROT13 | アルファベットを13文字ずらす。シーザー暗号の特殊ケースで、2回適用すると元に戻る |
| モールス信号 | 文字をドット(・)とダッシュ(−)の組み合わせで表現する通信符号 |
暗号の歴史をざっくり知る
暗号の歴史は紀元前にまでさかのぼります。古代エジプトでは墓碑に変則的なヒエログリフが刻まれ、古代ギリシャのスパルタでは「スキュタレー」と呼ばれる棒に羊皮紙を巻いて文字をずらす暗号が使われていたといわれます。古代ローマの時代になると、ユリウス・カエサル(紀元前1世紀)が軍事通信のためにアルファベットを3文字ずらす方式を採用しました。これが今日「シーザー暗号」と呼ばれる手法です。
中世から近代にかけては、文字を別の文字に置き換える「換字式暗号」や、複数のアルファベット表を切り替えて使う「ヴィジュネル暗号」が登場し、外交文書や軍事通信で広く使われました。19世紀には電信技術の発達とともにモールス信号が生まれ、20世紀にはドイツの「エニグマ」のような機械式暗号機、そして第二次世界大戦後はコンピュータによる現代暗号(DES、AES、RSAなど)へと進化していきます。
このように暗号は「秘密を守りたい人」と「秘密を暴きたい人」のせめぎ合いの中で発展してきました。古典暗号は今となっては簡単に解読できてしまいますが、その仕組みを知ることは、現代のセキュリティ技術を理解する第一歩にもなります。
シーザー暗号の仕組み
シーザー暗号は、アルファベットを一定数だけ後ろにずらすシンプルな方式です。たとえばシフト数を「3」にすると、Aは3つ後ろのDに、Bは同じくEに、Cは F に置き換えられます。Zまで来たら循環してAに戻るので、Xは A、YはB、ZはCになります。
具体例として、平文「HELLO」をシフト3で暗号化すると次のようになります。
- H → K(3つずらす)
- E → H
- L → O
- L → O
- O → R
結果、暗号文は「KHOOR」となります。復号する際は逆方向に3つずらせば元に戻ります。仕組みが直感的なので、子ども向けの暗号入門や、プログラミング初心者がアルゴリズムを書いてみる教材として最適です。一方で、シフト数は1〜25までしか取れず、総当たり(ブルートフォース)でもすぐに解けてしまうため、現代では実用的な暗号としては使われません。
ROT13の仕組み
ROT13(ロットサーティーン)はシーザー暗号の特殊なケースで、シフト数を「13」に固定したものです。アルファベットは全部で26文字なので、13ずらしてさらに13ずらすと、ちょうど元の文字に戻ります。つまり、暗号化と復号がまったく同じ操作で行えるという面白い対称性を持っています。
たとえば「HELLO」をROT13に通すと「URYYB」になります。この「URYYB」をさらにROT13に通すと、再び「HELLO」に戻るのです。プログラム上は1つの関数で暗号化・復号の両方を兼ねられるため、コードがシンプルになるという利点があります。
ROT13は1980年代から海外の電子掲示板やニュースグループで「ネタバレ防止」「ジョークのオチ隠し」「不適切な発言のうっすら隠し」など、本気で内容を守る目的ではなく「読みたい人だけ読んでね」という軽い目隠しとして広く使われてきました。今でも一部のオンラインコミュニティで文化として残っています。
モールス信号の仕組み
モールス信号は、1830年代にアメリカのサミュエル・モールスとアルフレッド・ヴェイルが電信機向けに開発した通信符号です。文字を「短点(・、トン)」と「長点(−、ツー)」の組み合わせで表現し、電線を流れる電気のオン・オフだけで言葉を送れるようにしました。
モールス信号は19世紀後半から20世紀前半にかけて、電信・無線通信の世界共通言語として活躍しました。鉄道・軍事・船舶通信の現場で重宝され、特に第一次・第二次世界大戦中は戦況を左右する重要な通信手段でした。有名な遭難信号「SOS」は「・・・ −−− ・・・」と打ちますが、これは「Save Our Ship」や「Save Our Souls」の略ではなく、覚えやすく聞き分けやすいパターンとして1908年に国際的に採用されたものです。
現代では公式な海上通信からは引退しましたが、アマチュア無線(ハム)の世界では今も愛用され、ボーイスカウト活動・サバイバル訓練・脱出ゲームの謎解きなどでも親しまれています。
モールス信号一覧表(A〜Z、0〜9)
| 文字 | 符号 | 文字 | 符号 |
|---|---|---|---|
| A | ・− | N | −・ |
| B | −・・・ | O | −−− |
| C | −・−・ | P | ・−−・ |
| D | −・・ | Q | −−・− |
| E | ・ | R | ・−・ |
| F | ・・−・ | S | ・・・ |
| G | −−・ | T | − |
| H | ・・・・ | U | ・・− |
| I | ・・ | V | ・・・− |
| J | ・−−− | W | ・−− |
| K | −・− | X | −・・− |
| L | ・−・・ | Y | −・−− |
| M | −− | Z | −−・・ |
| 0 | −−−−− | 5 | ・・・・・ |
| 1 | ・−−−− | 6 | −・・・・ |
| 2 | ・・−−− | 7 | −−・・・ |
| 3 | ・・・−− | 8 | −−−・・ |
| 4 | ・・・・− | 9 | −−−−・ |
使い方
- 上部のタブで使いたい方式(シーザー暗号/ROT13/モールス信号)を選びます。
- シーザー暗号の場合はシフト数(1〜25)と「暗号化/復号」を、モールス信号の場合は「テキスト→モールス/モールス→テキスト」を選択します。
- 「入力」欄にテキスト(または暗号文)を貼り付けます。
- 下の「結果」欄に変換結果が即座に表示されます。「結果をコピー」ボタンで簡単に持ち出せます。
- 暗号文と平文を入れ替えて続けて作業したいときは「入力↔結果を入替」が便利です。
暗号を使った遊び・学習の活用例
- 謎解き・脱出ゲームの問題作成:参加者に暗号文を渡して、ヒントから方式とシフト数を推理してもらう。シーザー暗号は子ども向けイベントでも使いやすい難易度です。
- 暗号パズルの答え合わせ:書籍やネットの暗号問題を解いたあと、このツールで答え合わせができます。
- プログラミング学習の教材:自分で書いた暗号化プログラムの結果を本ツールと比較して、ロジックの正しさを確認できます。Python・JavaScript・Cなど、初学者の練習課題としても定番です。
- 子どもとの遊び:手紙やメモをROT13で書いて渡すと、簡単な「秘密の手紙」遊びになります。アルファベット学習のついでに楽しめます。
- モールス信号の練習:ボーイスカウト活動やアマチュア無線の入門前に、文字とパターンの対応を覚える際の早見表として使えます。
- ボードゲーム・TRPGの演出:シナリオ内のメモや日記を暗号化して、プレイヤーに解読させる演出に使うと臨場感が増します。
シーザー暗号の解読方法(暗号解読の入門)
シーザー暗号は、現代の感覚では「暗号」と呼ぶには弱すぎる方式です。代表的な解読方法は次の2つです。
1. 総当たり攻撃(ブルートフォース):シフト数の候補は1〜25の25通りしかないので、すべて試して意味の通る文章を探せばすぐに解けてしまいます。コンピュータなら一瞬、人間でも数分で全パターンを書き出せます。
2. 頻度解析:英語の文章では「e」が最もよく使われ、続いて「t」「a」「o」「i」「n」が頻出することが知られています。暗号文の中で最も多く出てくるアルファベットを「e」と仮定すれば、シフト数が逆算できる仕組みです。9世紀のアラビアの学者アル=キンディーがこの手法を体系化したといわれ、暗号解読の歴史における大きな転換点になりました。
こうした解読の容易さがあるため、シーザー暗号はあくまで「暗号の入り口を学ぶ題材」として位置づけられています。本格的に情報を守りたい場合は、現代のAESやRSAなどの暗号アルゴリズムが使われています。