古典暗号

書籍暗号の仕組みと作り方——ページと行で文字を指す

更新: 桐生 遼介
古典暗号

書籍暗号の仕組みと作り方——ページと行で文字を指す

書籍暗号は、平文の語や文字を本の中の位置を示す数字の組に置き換える換字式暗号である。1780年の西点要塞引き渡し交渉では、アーノルドとアンドレが辞書や法律書を鍵本に用い、同じ版を持っていることだけが通信の前提になった。

書籍暗号は、平文の語や文字を本の中の位置を示す数字の組に置き換える換字式暗号である。
1780年の西点要塞引き渡し交渉では、アーノルドとアンドレが辞書や法律書を鍵本に用い、同じ版を持っていることだけが通信の前提になった。
謎解きイベントの監修で、同じ書名で鍵本を揃えたのに刷が2種類混ざり、片方のチームだけ答えがずれたことがある。
版まで固定しなければ、書籍暗号はたちまち崩れる。

書籍暗号とは——本そのものが鍵になる暗号

項目内容
名称書籍暗号(本暗号、book cipher)
1冊の本そのもの
成立条件送信者と受信者が同じ書籍の同じ版を持つこと
暗号学上の分類ホモフォニック換字式

書籍暗号(本暗号、book cipher)は、平文の語や文字を「本のどこにあるか」を示す数字の組へ置き換える暗号です。
鍵は数表でもアルゴリズムでもなく1冊の本そのもので、強さは数学よりも「どの本かを相手に悟らせない」一点にかかっています。
成立条件も驚くほど単純で、送信者と受信者が同じ書籍の同じ版を持つこと、これだけが唯一かつ絶対の前提になります。
逆に言えば、この条件さえそろえば紙とペンだけで運用できるのが特徴です。

『鍵』が数字表ではなく1冊の本であるということ

書籍暗号では、たとえば (64, 5, 8) のような座標で「64ページ・5行目・8語目」を示します。
記法は運用者ごとに異なり、ページ・段落・語で表す流儀もあれば、通し語番号を使う方式もありますが、どれも本の実体を参照する点は同じです。
鍵が外部の暗号表ではないので、運用の中心は「どの本を使うか」と「その版をどう固定するか」に移ります。
ここを取り違えると、暗号設計そのものがずれてしまいます。

実際、謎解き制作で初めて書籍暗号を使ったとき、鍵本を伏せる演出に凝りすぎて誰も解けなくなったことがあります。
ところが、ヒントで書名を出した瞬間に全チームが5分で解けた。
あの場面で痛感したのは、書籍暗号では鍵本の秘匿がそのまま難易度になるという事実でした。
自宅の本棚から適当に選んだ小説を鍵本にした結果、語彙が偏っていて「駅」「電話」といった日常語が見つからず、出題を組み直した経験もあります。
鍵にする本は、所持していて不自然でなく、語彙の幅が広いものほど扱いやすいのです。

同じ文字を何通りにも書ける——ホモフォニック換字式という分類

書籍暗号は暗号学上、ホモフォニック換字式に分類されます。
同じ平文の文字や語でも、本の中に何度も現れるなら、そのたびに別の座標で表せるからです。
単純換字式の弱点は頻度分析にありますが、ここでは1つの文字が1つの記号に固定されません。
だから、単純な出現回数だけを手がかりにしても読み崩しにくいのです。

この性質は、読解のしやすさと引き換えに匿名性を作る仕組みでもあります。
単語式なら短くて済みますが、鍵本にない語は表せません。
頭文字式なら任意の語を綴れますが、暗号文は数倍に膨らみます。
どちらを選ぶかは、伝えたい情報の量と、どこまで座標のばらつきを使うかで決まるでしょう。
ホモフォニック換字式という分類は、単なるラベルではなく、この運用上の自由度を説明する言葉なのです。

暗号表を持ち歩かなくていい、という運用上の強み

運用面での強みは、暗号表という「持っていること自体が証拠になる物」を携帯しなくて済む点にあります。
本棚に本があっても誰も怪しまない。
だからこそ、書籍暗号はスパイ活動で重宝されました。
記号表や専用装置を隠す必要がなく、見た目はただの読書と区別がつきません。
そこに、この暗号の素朴で強い魅力があります。

ただし、秘密が「どの本か」だけに集中している以上、鍵本が露見すれば致命傷になります。
本を知ってしまえば、あとは同じ版で照合するだけです。
歴史的には便利な道具でしたが、現代では古典暗号として位置づけるのが自然です。
とはいえ、構造そのものは今も学ぶ価値があります。
書籍を暗号表ではなく辞書として引く感覚を押さえるだけで、他の古典暗号との立ち位置がはっきり見えてきます。

ページ・行・語の3数字が1語を指す仕組み

書籍暗号は、平文の語を本の中の位置に置き換える換字式暗号で、受け手は同じ版の同じ本を持っていることを前提に復号します。
座標の読み方さえ共有できれば、暗号文は難しい計算ではなく、ページを開き、行や段落を数え、該当する語を読むだけで解けます。
だからこそ最初に押さえるべきなのは、3数字が何を指しているかという約束事です。

(64, 5, 8) を実際に読んでみる

(64, 5, 8) は、64ページを開き、5行目を数え、その8語目を読む、という意味です。
受信者の作業は「開く・数える・読む」の3動作だけで、そこに計算は要りません。
座標を見た瞬間に本のどこへ行けばよいかが決まるので、暗号文は見た目ほど複雑ではないのです。

この仕組みの利点は、平文の語をそのまま書かずに済むところにあります。
たとえば同じ語でも、選ぶ位置が変われば座標も変わるため、暗号文は一本調子になりません。
書籍暗号がホモフォニック換字式に分類されるのは、まさにこの「同じ語に複数の座標を持たせられる」性質のためです。
手持ちの文庫本で『明日』を符号化したとき、同じ語が11か所に出てきて、毎回違う座標を選んだ結果、同じ文が3通りの暗号文になったことがあります。
暗号を作る側にとっては、ここで初めて「1語1座標ではない」と体でわかるでしょう。

ℹ️ Note

復号は逆順です。読む側が座標から場所を特定するのに対し、作る側は平文の語を本から探して座標へ戻します。この「探す」作業が、後の符号化手順でいちばん時間を食う部分になります。

ページ・行・語か、ページ・段落・語か——変種の見分け方

座標は3階層が基本ですが、2番目と3番目の中身は固定ではありません。
{39:7:12} のようにページ・段落・語で指す運用もあり、区切り記号も丸括弧や波括弧などで揺れます。
実物の暗号文を見たら、まず2番目の数字が行なのか段落なのかを確かめる必要があります。
ここを取り違えると、数値は正しく見えているのに、取り出す語だけがずれてしまいます。

その失敗は意外と根が深いものです。
段落方式を行方式だと思い込んで解こうとすると、周囲に並ぶ語がまったく噛み合わず、意味の通らない文字列が続きます。
実際、2番目の数字を行と勘違いしたまま30分ほど悩んだことがありましたが、原因は単純で、階層そのものを見誤っていたのです。
だからこそ、暗号文を読んだら最初に「何を数える座標なのか」を確認するのが出発点になります。
ここを飛ばすと、どれだけ丁寧に数えても正解に届きません。

なぜ『先頭から何語目』ではなく3階層なのか

本の先頭からの通し語番号だけで指す方式も、理屈の上では可能です。
ただし、数千語を1語ずつ誤差なく数え続けるのは現実的ではありません。
3階層の座標は、その数え間違いを避けるために生まれた実務的な工夫だと考えると腑に落ちます。
ページを開いてから局所的に数えれば、長い本でも位置を見失いにくいからです。

この設計は、作る側と読む側の役割分担にもよく合っています。
復号側は与えられた座標をそのままたどればよいのに対し、符号化側は本の中から平文の語を探し、見つけた場所を座標に書き換えます。
逆順の作業なので、鍵本の版がずれると改ページや改行位置まで変わり、以降の座標が全部ずれます。
だから書籍暗号では、版と刷を固定したうえで記法を先に決め、最後に逆方向へ読み返して検算する流れが欠かせません。
探す、書き換える、確かめる。
順番はこの3つです。

単語式と頭文字式——2つの指定方式の違い

単語式と頭文字式の差は、暗号文の長さではなく「何をどこまで表せるか」にあります。
単語式は短く手早い反面、鍵本にない語で止まりやすく、頭文字式はどんな語でも綴れる代わりに座標数が増えて読解の手間も膨らみます。
実務ではこの二択をきれいに割り切らず、足りない部分だけを補う混成がいちばん扱いやすいのです。

単語をまるごと指す方式——短いが行き止まりがある

単語式は、平文の1語を1座標で指すやり方です。
語そのものをそのまま座標に置き換えるので、暗号文は短く済み、書く側も引く側も速い。
鍵本に収録された語をそのまま辿ればよいだけなので、辞書の索引を引く感覚に近く、運用の負担が小さいのが利点です。
辞書を鍵本にするとこの長所はさらに伸び、収録語数が多いぶん表現できる範囲が広がり、語を探す動作も本来の使い方と一致するので迷いにくくなります。

ただし弱点は明確で、鍵本に載っていない語は原理的に表現できません。
固有名詞や専門語はここで壁になります。
友人に出題する暗号で人名を単語式のまま作ろうとして該当語がなく、やむなくその語だけ頭文字式に切り替えたことがありますが、切り替えの合図を伝え忘れたせいで、受け手は別の方式が混ざったことに気づけませんでした。
単語式は短いぶん、前提共有が一つ崩れるだけで全体が読めなくなる。
そこが実戦上の怖さです。

頭文字だけを拾う方式——何でも綴れるが長くなる

頭文字式は、座標が指す語の1文字目だけを使って綴る方式です。
1文字につき1座標が必要になるので、単語式より暗号文は数倍に伸びますが、その代わり鍵本にない語でも理屈の上では何でも表せます。
読める文字を細かくつないでいくので、長い文章や複雑な固有名詞にも対応しやすい。
自由度の高さは魅力ですが、長さという代償を払うことになります。

この差は感覚よりも実測のほうがわかりやすいでしょう。
同じ一文を単語式と頭文字式の両方で作ってみると、頭文字式は座標の数が4倍近くに増え、書き写すだけで20分かかりました。
長くなればなるほど、転記ミスや見落としの余地も増える。
つまり方式選択の判断軸は、短さと自由度のトレードオフそのものだと考えるのが自然です。
おすすめですかと聞かれれば、まずは単語式で設計し、足りない箇所だけ頭文字式で補う形を試してみてください。

固有名詞と日本語をどう処理するか

鍵本に該当語がないとき、アーノルドは不足する文字や語尾を後から書き足して補いました。
ここに見えるのは、単語式か頭文字式かの二者択一ではなく、両方を混ぜて破綻を避ける実践感覚です。
単語式を基本にしつつ、名前や語尾だけ頭文字式で埋める折衷は、記号の見通しを保ったまま表現の穴をふさげる。
実戦解としてはこの形がもっとも筋が通っています。

日本語で運用する場合は、この発想がさらに大切になります。
語の切れ目が曖昧なので、英語のように単語単位で切るだけでは崩れやすいからです。
むしろ仮名の頭文字を拾うほうが、どこで区切るかを固定しやすく、鍵本の設計もぶれにくい。
日本語の鍵本を作るなら、単語式の見やすさを追うより、頭文字式で確実に綴れる形を先に決めるとよいでしょう。
おすすめの考え方は、表現したい語の種類を先に見て、固有名詞が多いなら最初から混成を前提に組むことです。

歴史が示した書籍暗号の実力——アーノルド暗号とビール暗号

アーノルド暗号とビール暗号は、書籍暗号が「鍵本の選択」と「版の固定」で決まることを、歴史の側からはっきり示す事例です。
どちらも、鍵さえ合えば驚くほど素直に開くのに、鍵本がずれた瞬間に意味が崩れます。
しかも前者は裏切りの相談、後者は財宝伝説という、最も露見してはならない情報を扱っていた点が印象的です。

アーノルドとアンドレ——辞書と法律書で交わされた裏切りの交渉

1779年5月10日、アンドレはアーノルドに暗号方式を記した書簡を送り、1780年の西点要塞引き渡し交渉での通信を支えた。
敵味方の境界をまたぐ連絡に、専用機器ではなく本1冊で足りる暗号が選ばれたことに、この方式の実用性が凝縮されている。
人目につく持ち物のなかに鍵を埋め込めば、紙片や装置を持ち歩くよりずっと自然で、しかも露見しにくいからだ。

鍵本はブラックストン『イングランド法釈義』またはネイサン・ベイリーの辞書とされる。
法律書も辞書も、当時の教養ある人物が所持していて不自然ではないうえ、語彙が広いので、暗号文の受け皿としても都合がよい。
ここには、鍵本選びの条件を歴史が先取りしていたという見方が成り立つ。
つまり、目立たず、入手しやすく、なおかつ情報量が多い本ほど、書籍暗号の鍵として強いのである。

スコーヴェル方式:ページ・段・項目で辞書を指す

スコーヴェル方式の符号は、辞書のページを示す数字、段を示す文字、項目番号を示す数字の3要素で構成された。
数字だけでなく文字を混ぜたのは、辞書の段組みに対応させるためで、単なるページ番号だけでは足りないという現実にきわめて忠実だ。
書籍の物理構造そのものを記法に織り込む発想であり、ここでも鍵本と暗号文が一体になっている。

この方式の面白さは、抽象的な暗号理論よりも、むしろ本棚にある一冊の使い方に現れている。
ページ、段、項目番号がそろって初めて語が定まるので、版が変われば位置もずれるし、同じ題名の本でも別物になる。
アーノルド暗号を考えるときも、スコーヴェル方式を見比べると、書籍暗号は「何を鍵にしたか」だけでなく「どの版を固定したか」で成否が分かれるとわかる。

ビール暗号:3通のうち1通だけが解けた理由

ビール暗号は3通からなり、1885年に小冊子として公開された。
第2暗号のみが独立宣言を鍵として解読され、財宝の所在を記すとされる第1暗号と相続人を記すとされる第3暗号は今も未解読のままである。
解読済みの第2暗号が語る財宝の推定価値は2025年1月時点で6,000万ドル超に達する。
それほどの動機があり、世界中の解読者が挑んでなお解けないという事実は、鍵本を特定できない書籍暗号の頑健さを逆説的に証明している。

実際に独立宣言を鍵に第2暗号の冒頭を復号し直してみると、番号を順に引くだけで英文が立ち上がってくる瞬間がある。
鍵さえ合えば、書籍暗号は驚くほど素直に開く。
ところが同じ独立宣言を第1暗号に当てはめると、数十語で意味が崩壊する。
ここで見えるのは、暗号の難しさよりも、鍵本が違うと手がかりすら残らないという冷徹な現実だ。
なお、ビール暗号は原本が確認できず人物の実在も裏づけがないため、創作説が有力視されている。
真偽の議論と、書籍暗号の技術的な示唆は切り分けて読むべきである。

書籍暗号の作り方——鍵本選びから検算まで

書籍暗号は、鍵本のページ・行・語を座標に変えて送る方式で、作り方の肝は本選びと版の固定にあります。
見た目は単純でも、版がずれれば座標が崩れ、語を探すだけで時間が溶けるため、最初に手順と記法を固めておくことが出発点になるでしょう。
実作では、符号化して終わりではなく、逆順に復号して検算するところまで含めて一通です。

鍵本を選ぶ3つの基準

鍵本は「版・刷・出版年まで一意に特定できる」「語彙が広い」「相手が持っていても不自然でない」の3条件で選ぶと失敗が減ります。
とくに最初の条件は、暗号の成否をほぼ決める軸です。
同じ書名でも中身の座標系が違えば、以後の数字は別世界になります。
語彙が広い本ほど平文の単語を拾いやすく、相手が自然に所持していそうな本なら出題時の違和感も薄れます。

実際、クリスマスの謎解きを自作したとき、家族全員分そろえたつもりの鍵本が1冊だけ新装版で、検算で初めてその1人だけ答えが合わないと分かりました。
書名だけ合わせても足りず、版・刷・出版年まで突き合わせて初めて同じ本になるのです。
鍵本選びに最も時間をかける、という順番を崩さないほうがよいでしょう。

版・刷を固定する——ここで9割が決まる

版の固定が最大の落とし穴です。
1995年のハードカバーと2008年のペーパーバックでは、改ページ・改行位置・組版が変わり、1語が次の行へ送られただけで以後の座標が全部ずれます。
書籍暗号は、1か所のズレが後続の復号をまとめて壊す方式だと意識しておくべきです。

だからこそ、記法は作り始める前に決めて紙に書いておきます。
2番目の数字が行なのか段落なのか、区切りはカンマかコロンか、頭文字式に切り替える合図をどうするか。
こうした取り決めを暗号文と一緒に渡さなければ、相手は読み方そのものを復元できません。
出題側は、相手が迷わない粒度まで先に設計してしまいましょう。

符号化してから、逆順に復号して検算する

符号化の手順は単純で、平文を語に分け、1語ずつ鍵本から探し、見つけた位置を座標にする、この反復です。
同じ語が複数あるなら好きな出現箇所を選んでかまいません。
むしろ散らして使うと、座標の偏りが減って解読側の推測が効きにくくなります。
短い文でも、語の並びを追うだけで手触りはかなり変わります。

ただし、作ったら必ず逆順に復号して検算します。
自分で書いた暗号文を鍵本だけを頼りに読み返し、平文が元どおり出るかを確認するのです。
20語ほどの短い文を符号化するのに、語を探す作業だけで1時間半かかったことがあり、そのとき書籍暗号が実戦で廃れた理由を身体で理解しました。
座標のズレは1通ごとに潰しましょう。
出題や共有では、鍵本をどう伝えるか自体が演出になります。
書名を直接渡すのか、別の謎で導かせるのかで難度は跳ね上がるので、そこまで含めて設計するとおすすめです。

書籍暗号は安全か——弱点と現代での使いどころ

書籍暗号は、鍵本さえ突き止められなければ手強く見える暗号です。
ですが弱点はきわめて単純で、秘密の中心が「どの本か」に偏りすぎている点にあります。
本が割れた瞬間、暗号文は座標の束にすぎなくなり、実用暗号としては脆い部類に入るのです。

書籍が電子的に大量入手できる現在、この脆さは計算機でそのまま突けます。
候補となる鍵本を総当たりで照合し、座標を当てはめて意味の通る語が並ぶかを機械的に検査できるため、かつては人力で途方もない作業だった鍵本特定が、実際の探索手順に変わりました。
手元にある文庫本を鍵本にして書名を伏せたまま友人のエンジニアへ渡したところ、青空文庫のテキストを片端から当てて数時間で突き止められたことがあり、総当たりの威力を目の前で思い知らされました。

最大の弱点は『どの本か』が漏れること

書籍暗号の要は、暗号アルゴリズムそのものより鍵本の選定にあります。
しかもアルゴリズムは公開されているに等しく、守るべき秘密が「どの本か」だけに集中するので、防御の厚みが一点に偏るのです。
候補本が特定されると、あとは座標の参照先が明らかになるだけですから、暗号文は平文と見分けがつかない状態へ落ち込みます。
ここが、古典的な趣味の暗号と実務の暗号を分ける決定的な線でしょう。

さらに厄介なのは、部分的な解読が連鎖することです。
いくつかの座標対応が当たるだけで、使われた本の版や題名の手がかりが浮かび、そこから鍵本そのものを言い当てられる場合があります。
謎解きイベントで鍵本を「会場の本棚にある1冊」と限定したことがありましたが、候補が20冊に絞られた時点で参加者が総当たりを始め、難易度は候補数で決まるのだと実感しました。
書籍暗号が実用から退いた理由は、この脆さに尽きます。

ランニングキー暗号とはどう違うのか

混同されやすいランニングキー暗号とは別系統です。
ランニングキー暗号は本文を鍵の流れとして平文に加算する多表式換字であり、文字列そのものを長い鍵として使います。
これに対して書籍暗号は、書名や版面に並ぶ文字の位置を指すホモフォニック換字です。
どちらも「本を鍵にする」ように見えますが、実際には働き方が違うため、同じ棚に置いて考えると見誤ります。

呼び名の違いもややこしさを増やします。
オッテンドルフ暗号は3要素で構成される書籍暗号の呼び名で、英国側で活動したニコラス・ディートリッヒ男爵の名に由来するとされます。
名称が複数あるせいで、初学者は別の暗号体系だと勘違いしがちですが、見た目の呼称よりも、座標で文字を引く発想が共通点だと押さえておくと整理しやすいでしょう。

実用からは退場し、謎解きの世界で生き続ける

セキュリティ状態は historical であり、現代の通信保護には使われません。
理由は明快で、電子化された書籍コーパスと計算機による照合が、鍵本の秘匿を保ちにくくしたからです。
ただし、退場したから価値が消えたわけではありません。
2004年公開の映画『ナショナル・トレジャー』では独立宣言の裏の暗号として登場し、2012年から続いた Cicada 3301 の出題でも『Agrippa』などを鍵本として用いる形で現れました。

この暗号は、守るための道具というより、発想の面白さを味わう知的娯楽として生きています。
意味のある文章が、別の本のページと座標の対応だけで別表現に変わる感覚は、解けた瞬間の快感がはっきりしているのです。
実務にはおすすめできませんが、謎解きやパズル文化の中では今もおすすめで、手に取ってみてくださいと勧めたくなる題材です。

シェア

桐生 遼介

サイエンスライター。暗号と映画・文学・パズル文化の接点を探るコラムを得意とし、暗号を「解く楽しさ」から伝えます。

関連記事

古典暗号

レールフェンス暗号は、平文の文字を柵のレールにジグザグに書き、段ごとに拾い直して並び順だけを変える転置式暗号である。別名はジグザグ暗号で、換字式と違って文字そのものは置き換えないため、暗号文の文字の出現頻度が平文と一致する。

古典暗号

ポリュビオスの暗号表は、5×5のマス目に文字を並べ、その位置を行番号と列番号の2桁で示すだけの、きわめてシンプルな換字式暗号である。名前は難しそうでも、数学の知識は要らず、表さえあれば誰でも文字を数字に変え、数字を文字に戻せます。

古典暗号

踊る人形は、アーサー・コナン・ドイルの短編に登場する暗号で、1903年12月に雑誌発表され、1905年刊行の『シャーロック・ホームズの帰還』にも収録された作品です。

古典暗号

アトバシュ暗号は、アルファベットを逆順に折り返して対応させるだけの、きわめて単純な換字式暗号である。A は Z、B は Y と対応し、暗号化と復号が同じ操作になる自己反転性を持つため、仕組みの核心はこの一文だけでほぼつかめます。