古典暗号

換字式暗号と転置式暗号の違い|仕組み・例・解読

更新: 織部 沙耶
古典暗号

換字式暗号と転置式暗号の違い|仕組み・例・解読

紙とペンを手にCATと書き、その場で二通りいじってみると、古典暗号の景色が一気に開けます。文字そのものを別の文字に替えれば換字になり、同じ三文字のまま並びだけを入れ替えれば転置になる――同じ平文でも、前者ではFDWのように姿が変わり、後者ではTCAのように位置だけが動きます。

紙とペンを手にCATと書き、その場で二通りいじってみると、古典暗号の景色が一気に開けます。
文字そのものを別の文字に替えれば換字になり、同じ三文字のまま並びだけを入れ替えれば転置になる――同じ平文でも、前者ではFDWのように姿が変わり、後者ではTCAのように位置だけが動きます。
本記事は、換字式暗号と転置式暗号の違いを最短距離でつかみたい人に向けて、手で追える具体例から整理するものです。
HELLOをKHOORにするシーザー暗号や、レールフェンスでの並べ替えをたどりながら、代表例と弱点、さらに現代暗号に受け継がれた substitution と permutation の発想までを一続きで見ていきます。
古典暗号の二大分類は、名前を覚えるだけでは腹落ちしません。
文字を変えるのか、位置を変えるのか――その一点を押さえると、頻度分析で崩れる理由も、多表式や混合式が求められた流れも、現代のAESやSPNの考え方まで自然につながってきます。

換字式暗号と転置式暗号の違いを一言でいうと

一言でいえば、換字式暗号(substitution cipher)は文字の正体を入れ替える方式、転置式暗号(transposition cipher)は文字の並び順だけを入れ替える方式です。
ここを押さえるだけで、古典暗号の二大分類をまず取り違えずに済みます。

たとえばCATを素材にすると、換字では各文字そのものを別の文字へ置き換えます。
シーザー暗号のように3文字先へずらすなら、CはF、AはD、TはWになります。
筆者はこの説明をするとき、机の上で指を折りながら C から F、A から D、T から W まで数えてみてもらうことがあります。
文字がその場で別の文字に“変身する”感覚が、頭だけで理解するよりもずっと鮮明になるからです。

それに対して転置では、文字はひとつも別物になりません。
CATの三文字をそれぞれ小さなカードに書いて並べ、順番だけを入れ替えてみると感覚がつかめます。
CATという札はそのままで、置く位置だけを動かせばTCAのような暗号文になります。
ここでは文字の正体は不変で、動いているのは座席順だけです。

この違いを短く言い直すなら、換字は「ラベルの張り替え」、転置は「席替え」です。
換字では文字の位置はおおむね保たれますが、各位置にいる文字が別人になります。
転置では文字そのものは同じでも、どの位置に現れるかが変わります。
古典暗号の話で混乱しがちな人は、この二つをまず身体感覚で分けておくと、その後の代表例や弱点の理解まで一気につながります。

このセクションを読み終えた段階での目標は、二つの分類を1〜2文で言い分けられることです。
たとえば「換字式暗号は文字を別の文字に置き換える暗号、転置式暗号は文字を変えず順番だけを並べ替える暗号」と言えれば、土台はもうできています。

この2分類はなぜ古典暗号の基本なのか

この二つの分類が古典暗号の基本とされるのは、単に覚えやすいからではありません。
暗号文を作る操作を突き詰めると、文字の正体を変えるか、文字の位置を動かすかにほぼ集約されるためです。
古典暗号の歴史をたどると、換字式と転置式という二つの基本的な発想は早期から見られ、その後これらを基盤として多くの方式が発展してきました。
ただし、この二本柱は強力であると同時に、それぞれ単独では弱点もはっきりしています。

一方の転置式は、文字そのものを変えないので、頻度分析だけでは決め手になりません。
けれども今度は、文字の出現回数がそのまま残るうえに、どこかに列や段の規則が潜みます。
筆者は初学者に説明するとき、方眼紙に文字を書き込み、行や列で読み出す作業を一度やってもらうことがあります。
あるいは文字を書いたカードを並べ替えてもらうだけでもかまいません。
すると転置は「暗号化」というより、まず席替えに近い操作だと腑に落ちます。
席替えには規則がある以上、その規則を逆向きに推定されると崩れます。
文字頻度は保たれ、連接の癖や列構造の候補が見えてくるため、転置だけで守り切るのは難しいのです。

このため、古典暗号の歴史では、換字か転置かの二択で終わらず、両者をどう組み合わせるかが次第に重くなっていきました。
換字は文字の正体をかく乱できるが頻度に弱い。
転置は並びを崩せるが文字頻度を隠せない。
ならば両方を重ねれば、片方の弱点をもう片方で埋められる。
こうして混合式の発想が育ちます。
古典暗号の後期に見られる洗練は、奇抜な新原理が突然現れたというより、二本柱を重ねる工夫が積み上がった結果として理解すると筋が通ります。

この見方は、古典暗号の紹介を超えて、現代暗号への橋にもなります。
現代のブロック暗号で使われる substitution と permutation という考え方は、まさに古典暗号の換字と転置を抽象化したものです。
紙とペンの時代に育った二分類が、機械式暗号を経て、現代の設計思想にも残っているわけです。
古典暗号を学ぶ入口としてこの二つが繰り返し登場するのは、歴史上の代表例を整理できるだけでなく、「なぜ後の暗号は単純な置換や並べ替えだけで終わらなくなったのか」まで見通せるからです。

換字式暗号の仕組みを具体例で体験する

単一換字(シーザー暗号)の手順

換字式暗号の入口として、まず押さえたいのが単一換字式暗号です。
これは、平文の各文字をひとつの固定した対応表で別の文字に置き換える方式を指します。
A は常に同じ文字へ、B も常に同じ文字へ変わります。
文章の途中で規則は変わりません。
シーザー暗号はその最も有名な例で、アルファベットを一定数だけ横にずらすだけの仕組みです。

紙にアルファベットを二列書いて、上段を通常の A〜Z、下段を 3 文字ぶん右へ回した D〜Z, A, B, C にすると、手で追う感覚がつかめます。
筆者はこの作業を初学者と一緒にやるとき、まずHELLOを一文字ずつ指でなぞってもらいます。
H は 3 つ進んで K、E は H、L は O、次の L も O、O は R です。
こうしてHELLOはKHOORになります。
頭の中で済ませるより、紙の上で一文字ずつ確かめた方が、換字が「文字の着せ替え」であることがはっきり見えてきます。

手順として書くなら、流れは単純です。

  1. アルファベット表を用意し、通常の並びと 3 文字ずらした並びを対応させます。
  2. 平文の先頭から一文字ずつ見ます。
  3. 各文字を対応表に従って置き換えます。
  4. 置き換えた文字を順に並べて暗号文にします。

HELLOなら、H→K、E→H、L→O、L→O、O→R となり、結果はKHOORです。
復号は逆向きで、K を 3 文字戻して H にする、という操作を繰り返せば元に戻ります。

この方式で使う「鍵」は、何文字ずらすかというシフト量です。
英語アルファベット 26 文字では、実質的な候補は 25 通りしかありません。
0 文字シフトは暗号にならないので除かれるからです。
つまりシーザー暗号は、仕組みを学ぶ教材としては見事でも、防御力そのものは小さいわけです。

ただ、ここで単一換字全体まで一気に弱いと決めてしまうのは早計です。
シーザー暗号は単一換字の中でもきわめて単純な一例にすぎません。
もっと一般的な単純換字暗号では、A〜Z の対応を丸ごと自由に並べ替えられるため、鍵の総数は 26!、およそ 4×10^26 に達します。
ビット換算では約 88 ビット相当で、見た目だけなら途方もない数です。
ところが、単一換字には構造上の弱点があります。
同じ平文文字は常に同じ暗号文字になるため、英語なら E や T のような頻出文字の癖が暗号文に残ります。
暗号文がある程度の長さになると、頻度分析が足場になります。
英語の単純換字では一意性距離が約 27.6 文字、実務的に解読の足場が立ちやすい長さは 50 文字前後とされるのは、その癖が隠し切れないからです。

ここで見えてくるのは、単一換字の本質が「規則の固定」にあるという点です。
固定だから手作業では追いやすい。
固定だから統計的な癖も残る。
この両面をつかむと、次の多表式換字がなぜ考え出されたのかが自然につながります。

多表式換字(ヴィジュネル)の直感と鍵空間

単一換字と対になるのが、多表式換字式暗号です。
こちらは、ひとつの対応表を最後まで使い切るのではなく、複数の換字表を切り替えながら暗号化します。
同じ平文文字でも、置かれた位置や鍵の進み方によって別の暗号文字になるのが特徴です。
前の段落で見た「同じ文字はいつも同じ文字になる」という単一換字の弱点を、そこから崩しにいった発想だと見ると理解しやすくなります。

代表例がヴィジュネル暗号です。
直感的には、シーザー暗号のずらし量を文字ごとに切り替える拡張版だと思えば十分です。
たとえば鍵がKEYなら、K, E, Y に対応するシフト量を順番に使い、平文の各文字へ周期的に当てていきます。
ひとつの文章の中で「+何文字ずらすか」が巡回していくので、同じ A でも毎回同じ文字にはなりません。

紙の上で仕組みをつかむ練習として、ATTACKATDAWNを鍵KEYで追う演習はよくできています。
平文の下に鍵を繰り返して並べると、K E Y K E Y K E Y K E Y となります。
ここで各鍵文字を「その文字ぶんのシフト量」と見なし、A に K を当てる、T に E を当てる、次の T に Y を当てる、という具合に進めます。
筆者はこの場面で、暗号文を一気に求めるより、まず「同じ T なのに、鍵が E のときと Y のときで別の文字になる」ことを目で確認してもらいます。
そこが腹に落ちると、ヴィジュネル暗号はただ難しい表を増やした方式ではなく、「単一換字の固定性を崩すための工夫」だと見えてきます。

この違いは、短い例でも鮮明です。
単一換字では、平文中の A は全部同じ記号に変わります。
多表式では、最初の A と次の A が別の暗号文字になりえます。
つまり、単一換字はラベルを一度だけ貼り替える方式、多表式換字は途中で貼り替えルールそのものが変わる方式です。
前者は文字頻度の山がそのまま残りやすく、後者はその山が複数の表へ分散します。

鍵空間の見方もここで一段広がります。
ヴィジュネル暗号で鍵長を n とすると、鍵候補数は 26^n です。
鍵が 1 文字なら 26 通り、2 文字なら 26^2、3 文字なら 26^3 という具合に増えます。
単一のシーザー暗号では 25 通りしかなかった候補が、鍵長の増加とともに指数的に膨らむわけです。
だから歴史的には、ヴィジュネル暗号は単純な単一換字より手強い方式として受け止められました。

とはいえ、ここでも「鍵を周期的に繰り返す」という構造が残ります。
周期がある以上、暗号文の中にその周期の痕跡が現れます。
のちにカシスキーテストのような手法が有効になるのは、この周期性が逃げ切れないからです。
多表式換字は単一換字より一枚上手ですが、規則が消えたわけではなく、例えば一部の頻度偏差や周期の痕跡などが残ることがあり、それらが別の角度から解析されると復元につながることがあります。
古典暗号の発展は、こうした「見えにくくした規則が、別の角度からまた見えてしまう」といういたちごっこの積み重ねでもありました。

エニグマはどこが複雑な換字なのか

ここまでを踏まえると、エニグマがなぜ古典暗号の延長線上に置けるのかも見えてきます。
見た目はシーザー暗号やヴィジュネル暗号とは別世界の機械ですが、骨格だけ抜き出せば、あれも換字を何度も切り替える装置です。
つまり、エニグマは機械式の複雑な多表式換字の系譜に属します。

シーザー暗号では、ひとつのずらし方を固定して最後まで使いました。
ヴィジュネル暗号では、鍵の周期に応じて複数のずらし方を切り替えました。
エニグマでは、その切り替えがさらに動的になります。
キーを一文字打つたびにローターが回転し、次に使われる換字表が変わるからです。
同じ平文文字 A を連続で打っても、毎回別の暗号文字に化けることがあります。
ここに、単一換字とは決定的に違う複雑さがあります。

歴史研究の現場でエニグマ資料を読むと、しばしば「機械式暗号」という外見の新しさが強調されます。
しかし、初学者が押さえるべき核心はそこだけではありません。
筆者はむしろ、「一文字ごとに換字表が動く」と言い換える方が本質に近いと感じています。
紙の表では切り替えが面倒だったものを、機械が自動で、しかも連続的に実行するようになった。
それがエニグマの強みでした。

もちろん、エニグマは単にヴィジュネル暗号を豪華にしただけではありません。
ローターの組み合わせ、回転位置、内部配線、さらに接続盤の設定が重なり、実際の鍵設定ははるかに入り組みます。
ただ、それでも発想の根は古典的です。
文字を別の文字へ変え、その対応が固定されず、操作のたびに切り替わる。
だからエニグマは、古典暗号と近代機械暗号の境目に立つ存在として読むとおもしろいのです。

この見方を持っておくと、シーザー暗号からヴィジュネル暗号、そしてエニグマまでが、ばらばらの発明ではなく一本の流れになります。
固定の換字では読まれる。
ならば表を増やす。
表を増やしても周期を突かれる。
ならば機械で切り替えをもっと複雑にする。
暗号史は、そうした工夫の連鎖として眺めると輪郭がくっきりします。
ここで手を動かして得た感覚は、後に現代暗号の substitution の発想へ進むときにも、そのまま土台になります。

転置式暗号の仕組みを具体例で体験する

転置式暗号では、文字の正体はそのままで、席順だけを入れ替えます
前の節で見た換字式が「A を D に替える」のに対し、こちらは A は A のまま、どこに置くかだけを動かします。
だから暗号文を眺めると、使われている文字の頻度そのものは保存されます。
英語なら E や L が多い傾向は残り、日本語のローマ字文でも母音が目につくことがあります。
隠れているのは文字ではなく、並び方です。

この違いは、紙の上で一度並べ替えてみるとすぐ腑に落ちます。
筆者が授業や講座でよくやるのは、短い語をその場で崩して見せる方法です。
文字を別の記号へ置き換えるのではなく、同じ札を机の上で並べ替える。
換字が「ラベルの張り替え」なら、転置は「席替え」です。
ここで鍵になるのは、何文字ごとに区切るか、何列で書くか、どの順で読み出すかという構造の情報です。

レールフェンス暗号の手順と弱点

レールフェンス暗号は、転置式暗号の感触をつかむには最適です。
鍵はレール数、つまり何本の線にジグザグで書くかだけです。
文字は変えずに、書き下ろす経路だけを変えます。

実際にHELLOWORLDを 3 レールで追ってみます。
筆者はこれを紙に書くとき、3 本の斜め線を意識して、上段から中段、下段へ降り、また中段、上段へ戻る往復運動として処理します。
文字は順番に置かれていきます。

まず H を上段、E を中段、L を下段に置きます。
次は折り返しなので、L を中段、O を上段です。
そこからまた下へ向かい、W を中段、O を下段、R を中段、L を上段、D を中段に置きます。
配置だけ抜き出すと、見た目はこうなります。

上段には H, O, L 中段には E, L, W, R, D 下段には L, O

この各レールを上から順に読み出すと、HOLELWRDLOになります。
ここで起きていることは単純で、H が別の文字に化けたわけではありません。
L も O もそのままです。
変わったのは位置だけです。
換字式との対比で見ると、この一点が転置式の核心です。

紙の上で自分の手で追うと、レールフェンスの鍵がどこにあるかもよく見えます。
鍵は「3 レール」という本数そのものです。
2 レールで書けば別の並びになり、4 レールでも別の暗号文になります。
つまり、どの文字を何文字目に置くかは、レール数という構造に支配されています。

ただし、この方式は構造が素朴なので弱点もはっきりしています。
レール数の候補は多くありません。
短文なら、2 レール、3 レール、4 レールと総当たりで書き戻していけば、元の文らしい並びが見えてきます。
転置全般で見れば、6 文字の並べ替え候補は 6! で 720 通りあり、40 文字なら 40! という桁外れの数になります。
それでもレールフェンス暗号は、その膨大な「自由な並べ替え」全部を使っているわけではありません。
ジグザグという決まった形に縛られているため、解読側はその構造を逆用できます。
歴史的に見ても、転置式暗号は理論上の並べ替え数の大きさほど無敵ではなく、列長や周期、文字のつながり方が手掛かりになりました。

ℹ️ Note

レールフェンス暗号の見どころは、暗号文の文字集合が平文と同じままだという点です。E が消えるのではなく、E が別の位置へ移る。その感覚をつかむと、転置式の解読で「どの文字が使われているか」より「どこに置かれていたか」を考える理由が見えてきます。

カラム転置の最小例

もう一歩進むと、表形式の転置も同じ発想で理解できます。
こちらは方眼紙を使うと一気に見通しがよくなります。
短い文を横に埋め、あとで列の順番で読み出すだけです。
鍵になるのは、何列の表を使うか、そして列をどの順に読むかです。

筆者が紙上演習でよく使う最小例は、6 文字を 3 列の方眼に入れる方法です。
たとえばSECRETを左から順に埋めます。
1 行目に S E C、2 行目に R E T と置くと、表は 3 列 2 行になります。

この段階ではまだ平文がそのまま見えています。
ここから列の読み出し順を鍵として決めます。
仮に「2 列目、1 列目、3 列目」の順に読むと、2 列目は E E、1 列目は S R、3 列目は C T なので、暗号文はEESRCTになります。
S も E も C も T も何ひとつ別の文字にはなっていません。
表の中の座席番号だけが入れ替わったのです。

この方式を方眼紙で体験すると、転置式暗号の鍵がどこに潜んでいるかが具体的に見えます。
まずブロック長、つまり何文字をひとまとまりとして表に入れるかが鍵になります。
次に、列の読み出し順が鍵になります。
3 列で左からそのまま読めば何も隠れませんが、2-1-3 のように順番を変えるだけで、表面上はばらけた文字列になります。
列に番号を振る方式では、その番号の並びそのものが鍵です。

短い文で試す小タスクとしては、SUMMERのような 6 文字を 3 列に入れ、列順を 3-1-2 にして読み出すと感覚が定着します。
方眼紙を前にすると、どの列を先に読むかで暗号文がまったく変わる一方、使っている文字は一字も増えず減りもしないことが目で追えます。
この「文字はそのまま、経路だけが違う」という手触りが、換字式とのいちばん鮮やかな境目です。

転置式暗号は、見かけ上の候補数だけ見れば強そうに映ります。
6 文字なら 720 通り、40 文字なら 40! で、全順列を真正面から数えると天文学的です。
けれども実際の古典的な方式は、表の列数や読み出し順、行ごとの埋め方といった規則ある並べ替えに限られます。
そこに解読の足場が生まれます。
たとえば同じ文字頻度が残ること、英単語らしい連接がどこかで復元されること、列長の候補が限られることなどです。
転置式は換字式とは別の強さを持ちながら、別の痕跡も残す。
その対照が見えてくると、古典暗号の分類が単なる用語整理ではなく、解読史の実感を帯びてきます。

解読の観点から見る本質的な違い

なぜ換字は頻度分析に弱いのか

換字式暗号、とくに単一換字の本質は、文字の中身を別の記号に貼り替えることにあります。
ここで起きているのは、英語なら A が Q になり、E が X になり、といった対応表の入れ替えです。
けれども平文に含まれていた文字の出現傾向そのものまでは消えません。
E が最も多い文章なら、暗号文でも「ある一文字」が最も多く現れます。
名前が変わっただけで、頻度の山と谷は残る。
だから単一換字は、よく言われる通り頻度のラベル張り替えにすぎません。

筆者が初学者にこの感覚を伝えるとき、短い暗号文を前にまず文字を数える作業から入ります。
X が目立って多く、次に T や Q が続く、といった分布を見つけると、そこで「この X は E ではないか」と仮置きしてみるのです。
もちろん一発で当たるとは限りません。
けれど、その仮定を置いた瞬間に、二文字の並びや語尾の形が少しずつ意味を帯び始めます。
E、T、A のような高頻度文字を起点に、手探りで盤面の霧が晴れていく感覚は、単一換字が統計に抗えないことをよく示しています。

この弱さは、理論上の鍵数の大きさだけでは測れません。
単純換字の鍵数は 26! で、数だけ眺めれば途方もない規模です。
対照的にシーザー暗号は 25 通りしかなく、総当たりで終わります。
では 26! なら安全かというと、そうはなりません。
英語の単純換字には一意性距離がおよそ 27.6 文字という目安があり、さらに実務感覚では 50 文字前後あると解読の足場が生まれやすいとされます。
鍵候補の数は膨大でも、言語が持つ冗長性がその壁を崩してしまうのです。

多表式換字になると話は少し変わります。
ヴィジュネル暗号のように、鍵長 n に対して探索空間が 26^n で増えていく仕組みでは、同じ平文文字が毎回同じ暗号文字になるとは限りません。
そのため単一換字のような素朴な頻度分析は通じにくくなります。
ただし今度は鍵周期が露出し、そこから列ごとに分解して再び単一換字として攻める道が開けます。
ここでも見えてくるのは、暗号の強さが単なる「候補数」だけで決まらないという事実です。

転置で残る痕跡

転置式暗号は、換字式とは反対側に立っています。
文字の正体は一切変えず、順番だけを崩します。
したがって単文字頻度は平文と暗号文で一致します。
E が 10 個あれば、暗号文にも E は 10 個あります。
この点だけ見ると、換字式よりむしろ情報を多く漏らしているようにも見えます。

ただし転置で壊れるのは、単語の骨格や隣り合い方です。
英語でも日本語のローマ字表記でも、文字は好き勝手には並びません。
二文字、三文字の連接には偏りがあります。
転置式ではその連接が切断され、代わりに不自然な隣接が増えます。
解読側はここを見ます。
単文字頻度ではなく、どの長さの列で区切れば自然な並びが戻るか、どこに周期があるか、ブロックの端で単語がどう裂けているかを探るのです。

紙の上で転置文を眺めていると、妙に母音が固まる場所や、いかにも単語の途中で切れたような断片が目に入ることがあります。
筆者はこういうとき、まず「この不自然さは列長のせいではないか」と考えます。
たとえば 5 文字ごと、6 文字ごとに並べ替えたと仮定して書き戻すと、ばらばらだった文字列の一部から急に英単語らしいまとまりが立ち上がることがあるのです。
転置の解読は、文字の正体当てというより、崩された座席表を復元する作業に近いと言えます。

この観点から見ると、レールフェンス暗号や単純なカラム転置の弱点も納得できます。
レールフェンス暗号はジグザグという形が固定されているため、レール数を候補として順に試すだけで復元の道筋が見えます。
単純転置も、列数や読み出し順に構造的な癖が残ります。
理論上は長文ほど並べ替え候補が膨らみますが、古典的な転置法は「自由な全順列」ではなく、規則ある並べ替えに限られます。
そのため解読では、列構造、ブロック長、周期性といった痕跡を逆用できます。

⚠️ Warning

転置式を読むときは「どの文字が何に化けたか」ではなく、「本来はどことどこが隣だったか」と考えると筋道が通ります。単文字頻度がそのまま残るので、攻撃点は文字の種類ではなく配列のゆがみに移ります。

鍵空間と“実際の弱さ”のズレ

古典暗号を比べるとき、鍵空間の大きさはつい目を引きます。
シーザー暗号は 25 通り、単純換字は 26!、多表式換字は鍵長 n に対して 26^n、転置式はメッセージ長に応じて n! に近い増え方を見せます。
数字だけ眺めれば、単純換字や転置は強そうに映ります。
ところが解読の現場では、その印象がそのまま通用しません。

理由は、攻撃者がいつも総当たりだけをしているわけではないからです。
単純換字には文字頻度という露骨な偏りが残り、転置には列や連接の乱れが残ります。
理論上の鍵空間全体を相手にしなくても、言語の癖と暗号方式の構造を使って候補を一気に削れます。
26! という巨大な数は、あくまで「無作為な対応表の数」であって、英語の平文が持つ規則性まで消し去る数ではありません。
転置の n! も同様で、実際の方式が採るのは、その中のごく限られた規則的配置です。

ここで見落とせないのが、歴史的な安全性評価はつねに相対的だという点です。
単一換字はシーザー暗号よりは広い鍵空間を持ちますし、多表式換字は単一換字より統計を乱します。
けれども、どれも十分な長さの平文、言語の冗長性、鍵の再利用、運用上の癖から崩れる余地を残していました。
暗号は机上の組合せ論だけで生きるのではなく、人が読み書きする言葉と、人が使い回す手順の中で評価されます。

その意味で、換字式と転置式の違いは「どちらが絶対に強いか」という単純な勝敗ではありません。
換字は文字の正体を隠す代わりに頻度の形を残し、転置は頻度をそのまま晒す代わりに並びを壊します。
どちらも何かを消し、何かを残す。
解読者は、まさにその「残ったもの」から入口を作ってきました。
歴史上の暗号戦が教えるのは、強さとは鍵空間の数字だけではなく、平文の冗長性、鍵管理、運用の丁寧さまで含めて決まる、という身も蓋もない事実です。

単一換字・多表式換字・転置式を並べて比べる

比較表

ここまでの話を一枚に畳むと、換字と転置の差は「何をいじるか」に尽きます。
単一換字式は文字の正体を入れ替え、多表式換字式はその入れ替え規則そのものを途中で切り替え、転置式は文字の位置だけを動かします。
歴史上の解読者たちがまず見たのも、その痕跡でした。

暗号文を前にしたとき、筆者はまず自分に三つの問いを置きます。
同じ文字が何度も同じ顔で現れているか。
文字そのものの頻度は平文らしく残っているか。
くり返し断片の間隔に周期が潜んでいないか。
この三つを当てはめるだけで、攻め口はずいぶん絞れます。
読者も表を眺めながら、「自分が解読側なら最初にどこを見るか」を一つ選んでみると、分類が記号ではなく手触りのある道具に変わってきます。

項目単一換字式暗号多表式換字式暗号転置式暗号
入力/操作各文字を1対1で別文字へ置換する複数の置換表を鍵に従って切り替えながら置換する文字列の順番だけを並べ替える
固定の対応表。シーザー暗号なら実質 25 通り、単純換字なら 26! の対応関係鍵語または鍵列。ヴィジュネル暗号では鍵長 n に対して 26^n の候補を持つ列数、読み出し順、レール数などの並べ替え規則
残る痕跡文字頻度が保存されやすく、同じ平文文字が同じ暗号文字になりやすい単純な頻度は崩れるが、鍵の周期や反復パターンが露出する文字の正体と単文字頻度はそのまま残り、不自然な隣接や列構造が生じる
主な解読法頻度分析、既知語の当てはめ、パターン照合鍵長推定、カシスキーテスト、その後の列ごとの頻度分析列長推定、レール数の試行、連接の復元、ブロック構造の推定
代表例シーザー暗号Atbash単純換字式暗号ヴィジュネル暗号、のちの機械式多表換字の系譜レールフェンス暗号カラム転置スキュタレー

表の見どころは、鍵の大きさそのものより「何が漏れるか」です。
単一換字では鍵候補が巨大でも、英語なら短い文でも文字頻度が足場になります。
多表式換字ではその足場が崩される代わりに、今度は周期が入口になる。
転置式では文字の顔は隠れないため、頻度の保存という露骨な痕跡が残ります。
暗号は何かを消すたびに、別の何かを残す。
その交換条件が、方式ごとの個性です。

同一平文での暗号化結果を見比べる

紙の上で差をつかむには、同じ平文を三つの方式に通すのがいちばん早道です。
たとえば平文を ATTACKATDAWN とします。
これをそれぞれの方式で眺めると、暗号文の「顔つき」が変わります。

単一換字式の例としてシーザー暗号で 3 文字ずらすと、DWWDFNDWGDZQ になります。
同じ A がすべて D に化け、T はすべて W になります。
文字の位置は保たれたまま、ラベルだけが張り替えられた姿です。
解読側の目には、同じ記号の反復がまず飛び込んできます。

多表式換字の例としてヴィジュネル暗号で鍵を LEMON にすると、LXFOPVEFRNHR になります。
ここでは平文中の A が毎回同じ文字になるとは限りません。
先頭の A は L になりますが、途中の A は V や N のように別の文字へ散っていきます。
単一換字で見えていた「同じ文字のくり返し」が薄れ、かわりに鍵が繰り返される周期が水面下に残ります。
暗号文中で同じ断片が複数回現れ、その間隔が 18、24、36 のように並べば、最大公約数を取って 6 という鍵長候補に寄せていく、あの古典的な手筋がここで生きます。
筆者はこの作業をしていると、19世紀の机の上に肘をついている気分になります。
見えているのは無意味な文字列でも、距離の列だけは妙に正直です。

転置式の例としてカラム転置を考え、4 列に書き込んで列ごとに読む単純な形を取ると、たとえば ACDTKATAWTAN のように並びます。
ここでは A も T も C も、その正体は変わっていません。
変わったのは居場所だけです。
単一換字やヴィジュネルと違い、頻度表を作れば A が何個、T が何個あるかはそのまま読めます。
そのかわり、ATT や ACK のような自然な連なりはばらされ、別の場所同士が無理に隣り合います。

この三つを並べると、解読側の初手も変わります。
DWWDFNDWGDZQ を見たら、まず頻度と反復から入るはずです。
LXFOPVEFRNHR なら、単純換字ほど素直ではないので、くり返し断片や鍵周期の気配を探りたくなります。
ACDTKATAWTAN なら、文字の種類ではなく、どの長さで区切れば自然な並びに戻るかを試したくなる。
表で覚えた分類が、この短い実例で急に立ち上がります。

💡 Tip

暗号文を見たら、まず「文字の顔が変わったのか、席順だけが変わったのか」を見分けると、最初の一手がぶれません。解読は総当たりより前に、観察の段階で半分ほど勝負がついています。

混合式暗号という第三の道

古典暗号の歴史を追っていると、作り手がやがて気づいたことがあります。
換字にも転置にも弱点があるなら、片方だけに頼らず組み合わせればよい、という発想です。
ここから現れるのが混合式暗号です。

代表例としてよく挙がるのがADFGVXです。
文字をいったん記号の組に置き換える換字を行い、その結果をさらに転置で並べ替えます。
換字だけなら頻度の偏りが残り、転置だけなら文字の正体が残る。
二段に重ねれば、片方の弱点をもう片方で覆える場面が出てきます。
歴史的に見ても、これは単なる足し算ではありません。
解読者が頼りにする手掛かりを、一つの層で見つけても次の層で崩してしまうという、守る側の工夫です。

この発想は古典暗号の時代で終わりません。
現代暗号の設計でも、置換と並べ替えを組み合わせて混乱と拡散を両立させる考え方が主流になりました。
AESがその典型で、S-box による置換と、位置の再配置や線形混合をラウンドごとに重ねるSPN構造を取ります。
古典暗号の教科書で見る「換字か転置か」という二分法は、現代では「両方をどう噛み合わせるか」という設計思想に育っているわけです。

筆者はこの流れを見るたび、暗号史の面白さは勝者が単純に入れ替わることではないと感じます。
単一換字が破られたから多表式換字が生まれ、多表式換字の周期が読まれたから混合が工夫される。
攻防のたびに、守る側は「何を隠し、何を残さないか」を学んでいったのです。
分類表は初学者向けの整理に見えますが、その先には、古典から現代まで続く設計の連続性がきれいにのぞいています。

現代暗号へのつながり

S(置換)とP(転置)の相乗効果

古典暗号を歴史として眺めていると、作り手たちは早い段階で一つの感覚をつかんでいたことがわかります。
文字の正体だけを変えても、順番だけを崩しても、解読者にはまだ足場が残る。
そこで効いてくるのが、置換と転置を重ねて「どこを見ても元の形が追いにくい状態」に持ち込む発想です。

筆者はこの感覚を説明するとき、よくトランプの束を思い浮かべます。
何度もシャッフルして札の並びを崩しながら、同時に一部のハートやスペードの記号を別の記号に貼り替えていくのです。
並びだけを変えるなら、札そのものの顔は残ります。
記号だけを貼り替えるなら、元の並び方の癖が残ります。
両方を繰り返すと、どの札がもともとどこにいたのか、何だったのかが一気に追いづらくなります。
古典暗号における換字と転置の組み合わせは、この「混ぜ方」の感覚に近いものです。

歴史的にも、手作業暗号としてdouble columnar transpositionが比較的強力とみなされたのは、この「一度の並べ替えでは残る規則性を、もう一段崩す」という発想が効いていたからです。
単純なカラム転置では列構造の痕跡が読まれることがありますが、転置を重ねると復元の見通しが急に悪くなります。
もちろん現代基準では別物ですが、紙と鉛筆で扱う時代の暗号としては、手間に対して得られる攪拌効果が大きかったわけです。

ここで見えてくるのは、暗号の強さが「鍵候補の数」だけでは決まらないという点です。
どの痕跡を消し、どの痕跡を別の層で崩せるか。
その設計思想が、のちの混合式暗号へつながっていきます。

ADFGVXから現代SPNへの思想継承

古典暗号の代表的な混合式として語られるADFGVXは、この流れを理解するうえで象徴的です。
まず文字を記号列へ置き換え、そのあとで並べ替える。
前半で文字の顔を隠し、後半で並びの手掛かりも散らす。
この二段構えは、単に工程を増やしたのではなく、異なる種類の痕跡を別々に処理する設計になっています。

この考え方は、現代のブロック暗号でいうSPNへ自然につながります。
Substitution-Permutation Networkという名前の通り、置換と転置をラウンドごとに重ね、局所的な変化を全体へ広げていく構造です。
S は substitution、つまり置換です。
P は permutation、つまり並べ替えや拡散です。
古典暗号で「換字と転置を組み合わせると手掛かりが一気に拾いにくくなる」と感じられた直感が、現代では数学的に洗練された形で受け継がれています。

古典との違いは、手作業の一回きりの操作ではなく、それを何ラウンドも反復する点にあります。
小さな置換で文字やビットの性質をひねり、その結果を転置や線形混合で別の場所へ運ぶ。
次のラウンドでは、前のラウンドで生まれた変化が別の置換に入り、さらに広がる。
この循環によって、入力の一部に加えた差が全体に波及していきます。
古典暗号では「換字か、転置か」という分類が入口でしたが、現代暗号では「置換で混乱させ、転置で拡散させ、それを反復する」が主戦場になっています。

この連続性を知ると、古典暗号は昔の不器用な技術ではなく、現代暗号の発想を先取りした試行錯誤だったと見えてきます。
人が紙の上で考えた「どう混ぜれば読まれにくいか」という問いが、計算機時代に入っても形を変えて生き残ったのです。

AESに見る徹底的にかき混ぜる発想

その思想がもっともよく見える代表例がAESです。
AESは 128 ビットのブロックを扱う SPN 系の暗号で、鍵長 128、192、256 ビットに対して、それぞれ 10、12、14 ラウンドを重ねます。
ここで注目したいのは、個々の処理の細部よりも、「置換で変えたものを、すぐに全体へばらまく」という設計のリズムです。

AESの SubBytes は S-box による置換で、1バイトごとに非線形な変換をかけます。
これは古典暗号でいえば、単純なラベルの貼り替えをもっと精密にしたものだと捉えると直感がつかめます。
ただしAESの S-box は単なる思いつきの対応表ではなく、8ビット入力から8ビット出力への可逆な置換として組まれており、暗号全体に非線形性を与える役割を担います。

それだけでは局所的な変化にとどまるため、AESは続けて ShiftRows と MixColumns を使い、位置関係を崩しながらデータを列方向にも横方向にも行き渡らせます。
古典暗号の転置が「文字の席替え」だとすれば、ここでは席替えに加えて、隣の列にも影響が流れ込むような混合が起きています。
入力の一部を少し変えただけで、ラウンドを経るうちにブロック全体の見た目が別物になるのは、この拡散の働きによります。

筆者はAESの説明をするとき、「徹底的にかき混ぜる」という言い方がいちばん腑に落ちると感じます。
材料を一度だけ入れ替えるのではなく、味の違う混ぜ方を何度も繰り返して、どこを取っても元の形が残らない状態にしていく。
古典暗号の換字と転置を見てきたあとでAESに触れると、発想の芯は意外なほど同じです。
違うのは、勘と経験に頼っていた混ぜ方が、現代では S-box と線形混合として精密に定義され、ラウンド構造の中で体系化されている点です。

この橋を渡ると、古典暗号は単なる入門史ではなくなります。
紙の上で生まれた「置換して、並べ替えて、さらにまた混ぜる」という素朴な工夫が、AESのような現代暗号の内部で、より硬い形に鍛え直されているからです。
古典を知っていると、現代暗号の設計思想が急に人間の手触りを帯びて見えてきます。

まとめ

換字式暗号と転置式暗号の芯は、文字を変えるか、位置を変えるかの違いに尽きます。
代表例で見れば、シーザー暗号ヴィジュネル暗号エニグマは前者の系譜、レールフェンス暗号カラム転置は後者の系譜です。
筆者はここを紙に書いて手で追うと、仕組みが急に立体的になると感じます。
自分で短い暗号文を作り、家族や友人に渡して解いてもらう小さな暗号戦を始めると、作る側と破る側の発想の差まで見えてきます。

シェア

織部 沙耶

科学史・技術史を専門とする歴史研究者。エニグマ解読からWWII暗号戦まで、暗号が歴史を動かした瞬間を一次資料に基づいて描きます。

関連記事

古典暗号

ピッグペン暗号は、図形記号を使う単一換字式暗号です。筆者も最初は紙に二つの3×3格子と二つのX字を書き、HELLOを一文字ずつ記号に置き換えてみましたが、読めない形が並んでいるのに自分だけは意味を知っている、その妙な手応えが強く残りました。

古典暗号

古代スパルタで使われたと伝えられるスキュタレーは、棒に細長い帯を巻いて文字を書き、ほどくと読めなくなる道具であり、そのまま方式名としても語られる古典暗号です。文字を別の文字に置き換えるのではなく、順序だけを入れ替える転置式暗号で、鍵になるのは送受信者が同じ直径の棒、

古典暗号

映画で見た光るランプの列を思い出しながら、筆者が紙の上で追ってみると、エニグマの1文字は右から左へ進み、反射して、また左から右へ戻る小さな旅をしています。その往復のあいだに、キーボード、プラグボード、ローター、リフレクター、ランプがどう噛み合うのかまで見えてくると、この機械は「複雑な箱」ではなく、

古典暗号

シミュレーターでAキーを連打すると、同じキーしか押していないのにランプは毎回ちがう文字へ飛びます。あの小さな驚きの正体こそ、ローター機エニグマの核心です。電流が行って帰る一本の道の上で、ローター配線、回転、リング設定、プラグボードが切れ目なく働いています。