
人類は何千年もの昔から、秘密のメッセージを守るために「暗号」を生み出してきました。古代スパルタの棒を使った転置式暗号から、第二次世界大戦のエニグマ機、現代インターネットを支えるAES・RSAまで、暗号は時代とともに劇的に進化し続けています。本記事では暗号の種類を「古典暗号(#1〜#34)」「現代暗号(#35〜#56)」の2大カテゴリに分けて全56種を一覧で網羅し、各暗号の仕組み・歴史・解読エピソードをまとめて解説します。
古典暗号の種類一覧
古典暗号は「転置式」「換字式」「多表式」「機械式」の4タイプに大別されます。計34種を分類別にまとめました。
転置式暗号|文字の順番を入れ替える(5種)
平文の文字を消さず、並び順だけを変えて暗号化するタイプです。最もシンプルな暗号の原型といえます。
← 横にスクロールできます →
| 名称 | 仕組みの概要 | 使用時代・背景 |
|---|---|---|
| スキュタレー暗号 | 棒(スキュタレー)にリボン状の羊皮紙を巻いて文字を書く。巻き戻すと文字の順序が変わり暗号化 | 紀元前7世紀頃。古代スパルタ軍が使用した最古の道具暗号 |
| レール・フェンス暗号 | 平文を複数の「レール(行)」にジグザグに書き、横方向に読み取る | 19世紀以降。南北戦争でも使用された |
| 列転置暗号 | 平文を行列に書き込み、キーワードに従って列の順序を並べ替えて読む | 15世紀頃〜。第一次世界大戦でも利用 |
| ルート転置暗号 | 平文を格子状に書き、螺旋や蛇行など特定の経路(ルート)で読み取る | 南北戦争期(1861〜65年)の北軍が多用 |
| ダブル転置暗号 | 列転置暗号を2回繰り返すことでさらに複雑化した二重転置の暗号 | 第一次世界大戦。フランス軍が採用 |
換字式暗号|文字を別の文字・記号に置き換える(13種)
各文字を別の文字や記号に対応させて置換するタイプです。最も種類が多く、様々な工夫が凝らされてきました。
← 横にスクロールできます →
| 名称 | 仕組みの概要 | 使用時代・背景 |
|---|---|---|
| シーザー暗号 | アルファベットを一定数(通常3文字)ずらして置換する最も有名な換字式暗号 | 紀元前58年頃。ユリウス・カエサルが軍事通信に使用 |
| ROT13 | アルファベットを13文字ずらす変換。暗号化と復号が同じ操作で完結する | 20世紀。ネット掲示板のスポイラー隠しに使われた |
| アトバシュ暗号 | ヘブライ文字を辞書順と逆順に対応させる換字式暗号 | 紀元前6世紀頃。旧約聖書エレミヤ書に暗号文として登場 |
| ポリビウス方陣暗号 | 5×5格子に文字を配置し、行番号と列番号の2桁で文字を表す | 紀元前2世紀頃。ギリシャ人ポリビウスが考案 |
| アフィン暗号 | 一次関数(ax+b mod 26)で文字を数学的に変換する換字式暗号 | 18世紀以降。シーザー暗号の数学的一般化 |
| ピッグペン暗号 | 格子図形の枠線と点の組み合わせで文字を表す記号換字式暗号 | 17〜18世紀。フリーメーソンが使用したことで広く知られる |
| テンプル騎士団暗号 | 十字型・X型の図形を使ったピッグペン暗号の変形バリアント | 中世。テンプル騎士団が秘密通信に使用したとされる |
| モールス符号 | 短点(・)と長点(-)の組み合わせで文字を表す符号体系 | 1837年。サミュエル・モールスが発明。電信・無線通信に不可欠 |
| ベーコン暗号 | 「A」「B」の2種類を5文字一組で使う二進換字。通常文に隠せる | 1605年。哲学者フランシス・ベーコンが著書で考案 |
| ニヒリスト暗号 | ポリビウス方陣に数値加算を組み合わせた強化版換字式暗号 | 19世紀。ロシアの革命家ナロードニキが獄中通信に使用 |
| ランニングキー暗号 | 合意した書籍のテキストをキーとして使う「本暗号」 | 19世紀以降。鍵の長さがメッセージと同じで頻度分析が困難 |
| ヌル暗号 | 通常の文章中に隠れたルール(頭文字など)でメッセージを埋め込む | 古代〜現代。ステガノグラフィーの一種 |
| セマフォ | 腕(旗)の角度で文字を表す視覚的信号体系 | 1794年。フランスのシャップ兄弟が実用化 |
多表式暗号|複数の換字表を組み合わせる(10種)
単一の換字表だけでなく、複数の換字表を切り替えることで頻度分析を困難にしたタイプです。
← 横にスクロールできます →
| 名称 | 仕組みの概要 | 使用時代・背景 |
|---|---|---|
| アルベルティ暗号 | 2枚の円板で複数の換字表を切り替える。最初の多表式暗号 | 1467年。レオン・バッティスタ・アルベルティが考案 |
| ヴィジュネル暗号 | キーワードに従って26×26の「タブラ・レクタ」を周期的に切り替える | 16世紀。「300年間解読不能」と言われ、1863年にカシスキー検定で解読法が確立 |
| ボーフォート暗号 | ヴィジュネル暗号の変形。暗号化と復号が同一の操作になる | 1857年。英国提督フランシス・ボーフォートが考案 |
| プレイフェア暗号 | 5×5の文字格子を使い、平文を2文字のペアで換字する | 1854年。チャールズ・ウィートストン考案。第一次世界大戦でイギリス軍が使用 |
| ヒル暗号 | 行列演算(線形代数)を使って複数文字をまとめて換字する | 1929年。ラスター・ヒルが考案。頻度分析に強い |
| フォー・スクエア暗号 | 4つのポリビウス方陣を使い2文字ずつ換字するプレイフェアの発展版 | 19世紀。フェリックス・デラストールが考案 |
| グロンスフェルト暗号 | キーに数字のみを使うヴィジュネルの変形バリアント | 17世紀。グロンスフェルト伯爵が考案 |
| トリテミウス暗号 | キー不要で文字の位置に応じ順番にシーザー暗号を切り替える | 1508年。ヨハネス・トリテミウスが「Polygraphia」で発表した最初のキーなし多表式 |
| ワンタイムパッド | 使い捨てのランダムキーを使う。理論上唯一の完全秘匿暗号 | 1882年頃〜。クロード・シャノンが1949年に情報理論的安全性を数学的に証明 |
| オートキー暗号 | 送信済みの平文テキスト自体を次のキーとして使い続ける自己鍵式暗号 | 16世紀。ヴィジュネルが考案した「本来のヴィジュネル暗号」はこちらにあたる |
機械式暗号|機械で超複雑な多表式を実現(6種)
20世紀に入り、機械の力で多表式の複雑さを飛躍的に高めた暗号機が登場しました。
← 横にスクロールできます →
| 名称 | 仕組みの概要 | 使用時代・背景 |
|---|---|---|
| エニグマ | 複数のローター(歯車)とプラグボードで超複雑な多表式換字を実現した暗号機 | 1918年発明。第二次大戦でドイツ軍が使用。アラン・チューリングらが解読に成功 |
| ローレンツ暗号機(SZ 40/42) | テレタイプ信号を直接暗号化するドイツ軍最高司令部専用の通信暗号機 | 1941年〜。コロッサス(世界初の電子コンピュータの一つ)が解読に貢献 |
| 97式欧文印字機(パープル) | 電話交換機の技術を応用した旧日本海軍の外交暗号機 | 1939年〜。米国の「MAGIC」作戦でウィリアム・フリードマンが解読に成功 |
| SIGABA(M-134-C) | 5枚の動力ローターと5枚の制御ローターを組み合わせたアメリカ軍暗号機 | 1943年〜。第二次世界大戦中、一度も解読されなかった数少ない暗号機 |
| ハガリン暗号機(M-209) | ピン・ラグ方式の機械的置換暗号機。米軍M-209として約140,000台が生産 | 1934年(C-36)〜。スウェーデンのボリス・ハガリンが開発 |
| TypeX | エニグマを参考にイギリス軍が独自開発したローター式暗号機 | 1937年〜。ローターをエニグマより多く搭載し、安全性を高く設計 |
現代暗号の種類一覧
1970年代以降、コンピュータの登場とともに暗号は数学的理論に基づく「現代暗号」へと移行しました。これらの暗号アルゴリズムはプログラミング言語のライブラリとして実装され、あらゆるシステムに組み込まれています。計22種を分類別にまとめます。
共通鍵暗号(対称暗号)|同じ鍵で暗号化と復号(7種)
送受信者が同一の秘密鍵を共有する方式です。高速な暗号化が可能なため、大量データの暗号化に使われます。
← 横にスクロールできます →
| 名称 | 特徴 | 現在の評価 |
|---|---|---|
| DES | 56ビット鍵のブロック暗号。米国NISTが1977年に標準化した最初の公開暗号標準 | 廃止済み。1999年に22時間での解読が実証されたため廃止 |
| 3DES | DESを3回適用して安全性を強化したバリアント。112〜168ビット相当 | 廃止済み。2023年にNISTが廃止勧告。AESへの移行が推奨 |
| AES | 128/192/256ビット鍵のブロック暗号。ベルギー人暗号学者設計のRijndaelが原型 | 現役最強。SSL/TLS・WPA2・ファイル暗号化など広く使用 |
| ブロウフィッシュ | 可変長鍵(32〜448ビット)のブロック暗号。ブルース・シュナイアーが1993年設計 | 現役。AESより鍵導出が遅く、パスワードハッシュ(bcrypt)のベースに最適 |
| TwoFish | ブロウフィッシュの後継でAES最終候補の1つ。128/192/256ビット鍵対応 | 現役。AESほど普及していないが堅牢 |
| ChaCha20 | 32ビット演算に最適化されたストリーム暗号。ダニエル・バーンスタインが2008年設計 | 現役。モバイルでAESより高速。TLS 1.3のサイファースイートとして採用 |
| RC4 | 非常に単純で高速なストリーム暗号。ロン・リベストが1987年設計 | 廃止済み。SSL・WEP・MSOffice旧版に使用されたが多数の脆弱性が発覚 |
公開鍵暗号(非対称暗号)|公開鍵と秘密鍵のペアを使う(5種)
「誰でも暗号化できるが、持ち主だけが復号できる」2つの鍵を使う方式です。鍵交換やデジタル署名に用いられます。
← 横にスクロールできます →
| 名称 | 特徴 | 現在の評価 |
|---|---|---|
| RSA | 大きな数の素因数分解困難性に基づく公開鍵暗号。リベスト・シャミア・エーデルマンの頭文字 | 現役。2048ビット以上が推奨。HTTPS・デジタル証明書・SSH認証に使用 |
| Diffie-Hellman鍵交換 | 公開チャンネルで安全に共有秘密鍵を生成できる最初の公開鍵プロトコル | 現役。ECDHとして進化した形で広く使用。1976年の発表は暗号史の革命 |
| 楕円曲線暗号(ECC) | 楕円曲線上の離散対数問題に基づく公開鍵暗号。RSAより小さい鍵で同等安全性 | 現役最前線。ECDSA・ECDH。スマートフォン・IoT・ビットコインに最適 |
| ElGamal暗号 | 離散対数問題に基づく公開鍵暗号。タヘル・エルガマルが1985年考案 | 現役。GPG(GNU Privacy Guard)のメール暗号化に採用 |
| DSA | ElGamal暗号を改良した米国政府標準のデジタル署名アルゴリズム。1991年提案 | 現役。ただしECDSA(楕円曲線版)への移行が進んでいる |
ハッシュ関数|一方向変換で改ざんを検知(5種)
平文から固定長の「ハッシュ値」を生成する一方向関数です。パスワード検証やファイル整合性確認に使われます。マルウェアによるランサムウェア攻撃でも、ファイルの暗号化にハッシュ関数と共通鍵暗号が組み合わせて使われます。
← 横にスクロールできます →
| 名称 | 特徴 | 現在の評価 |
|---|---|---|
| MD5 | 128ビットのハッシュ値を生成。ロナルド・リベストが1991年設計 | 廃止済み。衝突攻撃が容易。パスワード保存にも整合性検証にも非推奨 |
| SHA-1 | 160ビットのハッシュ値を生成。NSA設計・NISTが1995年標準化 | 廃止済み。2017年にGoogleのSHAttered攻撃で実際の衝突が実証された |
| SHA-256(SHA-2) | SHA-1の後継ファミリー。256/384/512ビット等の変形を持つ | 現役標準。TLS・コードサイン・ビットコインのマイニングアルゴリズムに使用 |
| SHA-3 | Keccakアルゴリズムベースの次世代ハッシュ関数。SHA-2と設計が全く異なる | 現役。2015年NIST標準化。SHA-2が破られた場合のバックアップとして位置づけ |
| bcrypt | ブロウフィッシュベースのパスワード専用ハッシュ関数 | 現役。コスト係数でブルートフォース耐性を調整できる。Webアプリのパスワード保存に最適 |
耐量子暗号(ポスト量子暗号)|量子コンピュータ時代の次世代暗号(5種)
量子コンピュータはRSA・ECCを短時間で解読できるとされています。その脅威に対抗する次世代暗号です。
← 横にスクロールできます →
| 名称 | 特徴 | 現在の評価 |
|---|---|---|
| 量子鍵配送(QKD) | 量子力学の原理(光子の偏光状態)で鍵を配送。盗聴すると量子状態が変化するため検知可能 | 実用化進行中。光ファイバー経由の商用サービスが一部地域で開始 |
| 格子暗号(ML-KEM) | 高次元格子問題(LWE)の困難性に基づく。CRYSTALS-Kyberを改称 | 2024年NIST標準化済み。移行期の主力候補として普及が急速に進む |
| 格子ベース署名(ML-DSA) | CRYSTALS-Dilithiumを改称。格子問題に基づくデジタル署名アルゴリズム | 2024年NIST標準化済み。ML-KEMと組み合わせて移行推奨 |
| ハッシュベース署名(SLH-DSA) | SPHINCS+を改称。ハッシュ関数のみに依存する保守的設計のデジタル署名 | 2024年NIST標準化済み。格子暗号とは異なる数学的基盤のため二重の保険として有効 |
| 符号ベース暗号 | 誤り訂正符号の復号困難性に基づく。マクエリース暗号(1978年)が基礎 | NIST審査中。1978年以来一度も解読されておらず、安全性への信頼が最も高い |
暗号にまつわる豆知識
エニグマを解読した「ウルトラ作戦」の真実
第二次世界大戦中、イギリス・ブレッチリー・パークでは数学者・言語学者・チェスチャンピオンら1万人以上が極秘でエニグマ解読に取り組みました。中心となったのが数学者アラン・チューリング。彼が設計した電気機械式の解読機「ボンブ」が、エニグマの膨大な鍵の組み合わせを高速で試すことを可能にしました。この解読作業は「ウルトラ(ULTRA)」と呼ばれ、大戦の行方に決定的な影響を与えたともいわれています。驚くべきことに、この功績はチューリングの死後30年以上にわたって英国機密として封印されていました。
ワンタイムパッドが「唯一完全な暗号」とされる理由
ワンタイムパッドは数学的に証明された唯一の「情報理論的安全性」を持つ暗号です。1949年、数学者クロード・シャノンが情報理論を用いて厳密に証明しました。条件は「キーは平文と同じ長さ以上」「キーは完全にランダム」「キーを一度しか使わない」の3つ。これを満たせば、どれだけ強力なコンピュータを使っても原理的に解読は不可能です。ただし、安全な鍵の生成・保管・配送が極めて難しく、実用上は限定的な用途にとどまります。
量子コンピュータが現代暗号を脅かす「Q-Day」
RSA・ECCなど現代の公開鍵暗号は「素因数分解」や「離散対数問題」の計算困難性に安全性を依拠しています。しかし十分な量子ビットを持つ量子コンピュータにショアのアルゴリズムを実装すれば、現在のスーパーコンピュータなら宇宙の寿命より長くかかる計算が、現実的な時間内で解けるとされています(研究試算では数十〜数百日規模)。この「Q-Day(量子コンピュータが既存暗号を破る日)」に備え、NISTは2024年に耐量子暗号の正式標準(ML-KEM・ML-DSA・SLH-DSA)を公開。世界中のITシステムが移行準備を急いでいます。
暗号は古代の棒と羊皮紙から始まり、ローターが回る機械式暗号機を経て、量子力学を応用した次世代暗号へと進化してきました。本記事で紹介した56種はその歴史の断面であり、人類の知恵と技術の積み重ねが凝縮されています。現代の暗号はインターネット・スマートフォン・金融取引のあらゆる場面を支えており、その仕組みを知ることがデジタル社会を生きるうえで欠かせない教養になりつつあります。マルウェアの種類と仕組みも合わせて読むと、情報セキュリティへの理解がさらに深まります。