HN 日本語サマリー

← 一覧へ戻る
科学・技術

死後の生をテストするために考案された1950年の暗号の解読

Solving the 1950 cipher meant to test life after death (creilly11235.github.io)

8 pointsby creilly112355 コメント

要約

1950年にT.E.ウッドが考案した、死後の生を証明するための暗号が、最新のAI技術と多言語辞書を駆使したコンピュータ検索によってついに解読されました。この暗号は、心理学者のロバート・サウレスが提唱した手法に基づいており、外国語の聖書から抽出された鍵によって解読されました。

全文翻訳

死後の生をテストするために考案された1950年の暗号の解読

サウレスの方法

計画は鍵を秘密にしておくことに依存していました。ウッドだけがそれを知っていたので、もし霊媒師が彼の死後にそれを提示できれば、それが彼の何かが生き残った証拠になると彼は期待していました。

このアイデアは、心理学者のロバート・サウレスが2年前に「生存のテスト」(Proceedings of the Psychical Research Society 48、1948年)と題した記事で発表したものに由来します。そこには、彼だけが鍵を知っている暗号化されたメッセージが含まれており、そのうちの1つは鍵なしでは解読不可能なシステムを使用していました。彼は、シェイクスピアのハムレットの「生きるべきか死ぬべきか」のセリフを鍵として暗号化された「THERE IS NO DEATH」という短い例でその仕組みを示しました。

  1. 鍵は本から取られたテキストの断片であり、その各単語が順番に使用されます。

    すでに現れた単語はスキップされるため、各鍵単語は一度だけ使用されます。ここでは2番目の「to」、「be」、「the」が除外されます。

    各鍵単語はメッセージの1文字とペアになり、THERE IS NO DEATH の14文字には14個の異なる鍵単語が必要です。

  2. 各文字に、フレーズから単語が割り当てられます。最初のペアはメッセージの文字 T と鍵単語「To」です。

    単語の文字を加算し(A=1からZ=26)、26を丸ごと含まれる回数だけ引きます。「To」は合計35になり、9が残ります。

    残った数値は、アルファベットでの位置によって文字を示します。1はA、25はY、0はZです。9番目の文字はIなので、Tに対する鍵文字はIです。

  3. 次に、その鍵文字を使用して各文字のシフトを計算します。この方法では、A=0(シフトなし)、B=1というようにカウントが始まります。IはAから8つ離れているため、シフト量は8になります。

    メッセージの文字はアルファベットでその数だけ進み、ZからAへラップアラウンドします。

    したがって、Tは8つ進んで、暗号文の最初の文字であるBになります。

このプロセスは14文字すべてに対して行われ、暗号文は5文字ずつのグループで書かれます。サウレスの記事の印刷版は、DではなくBで終わっていますが、これは記事の後半で触れられる誤りです。

メッセージ、鍵、暗号文をまとめて見ると、それがシステム全体です。鍵を持っている人なら誰でも逆の手順を実行してメッセージを読むことができ、鍵なしでは何も手がかりがありません。これがウッドが自身のテストに採用した方法です。

ウッドのヒント

1887年にヨークシャーで生まれ、ビルマで弁護士として実務を経験したT.E.ウッドは、「生存のためのさらなるテスト」(Proceedings 49、1950年)でサウレスに自身のメッセージで応じました。彼は「FVAMI NTKFX XWATB OIZVV X」という暗号文と3つのヒントを発表しました。

  • サウレスの方法を使用し、重複する単語は省略した。
  • 鍵となる文章は「アクセス可能な本」にあり、外国語である。
  • メッセージは「単一の言語では書かれない」。

[画像: Wood’s cryptogram as printed in Proceedings of the SPR 49 (1950), p. 105]

Wood’s cryptogram as printed in Proceedings of the SPR 49 (1950), p. 105

未解決のままだった理由

鍵文字を自由に選択できた場合、同じ暗号文でも同じ長さの任意のメッセージを作成することができました。

この文は、ウッドの21文字のメッセージを自由に選択された鍵で作成したものです。それなりに読めますが、それを生成する鍵は意味不明な文字列です。

2番目の鍵は、同じ21文字を2番目の文に変換します。暗号文自体には、どちらか一方を優先する要素はありません。

3番目の文も同様に読みやすいです。単一の文だけでは、それがウッドのものであるかどうかを判断できません。特に短い文の場合、鍵は検証可能な場所から来る必要があります。

しかし、ウッドは重要なことを1つ明かしていました。彼の鍵は、出版された本の連続した単語から取られていたため、本のコレクションを、開始単語ごとに検索することができました。ここにある各背表紙は、最初の検索で使用された129冊の本のうちの1冊です。

検索方法をテストするために、既知の答えを持つ100個の暗号文を同じコードで処理し、各復号を英語との類似性で採点しました。正しいメッセージは、100回のテスト中97回でトップになりました。

ウッドのメッセージは、検索対象が3,977冊の本に拡大した後も、何も読みやすいものを提供しませんでした。代わりに、21文字のランダムな文字列100個で実行された場合、同じ検索では、ウッドのメッセージに対して見つかったどの結果よりも高いスコアを持つ結果が12個見つかりました。

最初の検索では、129冊の公開されている書籍から2860万件の候補鍵をテストしました。その後、14言語の3,848冊のProject Gutenbergの書籍を追加し、約4億2900万件の候補鍵をテストしましたが、より大きなライブラリは、より魅力的な誤検出を生成しましたが、読みやすいメッセージは生成しませんでした。

弱点は採点にありました。検索はまず5文字のパターンを比較し、次に最も強力な候補が英語の単語にどのように分割されるかを確認しました。これにより、可能な読み方をランク付けする方法が得られましたが、すべての読み方が英語として評価されていました。

そこで、ウッドのヒント「メッセージは「単一の言語では書かれない」」が重要になりました。次の検索では、7言語の単語を検索し、単語ごとに言語が変化することを許可しました。文字パターンの簡単なチェックにより、プログラムが単語に分割しようとする前に候補が絞り込まれ、採点は一般的な単語を優先し、断片化された文字列や言語間を飛び跳ねて単語を合わせる読み方をペナルティとしました。

英語の単語リストでグループ化すると断片化されますが、7言語の単語リストでグループ化すると、VERSTEHT GEWISSE MINDER が正しく復元されます。

より的を絞った情報源も必要でした。ウッドは、鍵が外国語の「アクセス可能な本」から来ていると述べていたので、聖書ほどアクセスしやすい本はほとんどありません。そこで、検索に19言語の聖書の翻訳を追加しました。

ヒット

聖書検索は、19冊の聖書を単語ごとに処理しました。可能な開始単語ごとに、重複単語をスキップする場合としない場合の2つの方法で鍵を構築し、サウレス自身のルールと一般的なバリアントの2つの算術読み方でこれらすべてを行いました。これは、各読み方で2670万件の候補鍵となり、最初のパスは3分未満で完了しました。

サウレスのルールでは、トップの結果はドイツ語の聖書から得られ、マタイ6:9の6番目の単語、主の祈りの冒頭から始まりました。これはルーマニア語の聖書を2位として大きく上回り、次のように復号されました。

HIER BIN ICH TOTSIENS TEW

正確な言葉遣いが重要でした。以前の検索では、ドイツ語の主の祈りを一般的な教会形式で「Vater unser」から始めて試しましたが、何も見つかりませんでした。ルター聖書の「Unser Vater in dem Himmel」は、最初の単語から異なる鍵を生成します。

単語に分けると、文字は「Hier bin ich」(「私はここにいる」という意味のドイツ語)、「Totsiens」(「さようなら」という意味のアフリカーカンス)、「T.E.W.」(ウッド自身のイニシャル)となります。

ウッドは、霊媒師が鍵を伝えた後、彼の死後にメッセージが読まれることを意図していました。その中で彼は自己紹介をし、別れを告げ、自分の名前を署名しています。彼が送り返したであろう鍵は、「天におられる私たちの父」から始まります。

Unser Vater in dem Himmel! Dein Name werde geheiligt. Dein Reich komme. Dein Wille geschehe auf Erden wie im Himmel. Unser täglich Brot gib uns …

鍵は21個の異なる単語を使用しており、「Unser」から「uns」までです。4つの重複(「Dein」が2回、「Himmel」と「Unser」が各1回)はスキップされ、「täglich」のäはaとして読み取られます。

[画像: Matthew 6:9–11 in a 1922 printing of the 1912 Luther Bible]

The key passage, Matthew 6:9–11, in a 1922 Berlin printing of the 1912 Luther Bible(British and Foreign Bible Society発行)

サウレスの方法を自分で試してみる

短いメッセージを書き、その各文字に鍵単語を与え、サウレスとウッドのように暗号文が形成されるのを見てください。鍵は有名な文章でも自分で考えた言葉でも構いません。単語の重複は許されません。

あなたの秘密のメッセージ

謝辞

このプロジェクトはコリン・ライリーが主導しました。ロバート・サウレスが方法を設計し、リチャード・ビーンが2019年にコンピュータで書籍を検索して発見したサウレスのメッセージBの解決は、その仕組みを正確に示し、ここで使用されたアプローチを開拓しました。クラウス・スメがパズルに注目し、答えを確認し、リチャード・ビーンも読み方を確認し、検索に関するこの説明を改善するのに役立ちました。主役はAnthropicのClaudeで、検索コードを書き、鍵を見つけました。OpenAIのGPT-6 Astraが独立して結果を検証しました。

情報源

復号を自分で確認するには、リポジトリから python3 harness/wood35t/verify_wood.py を実行してください。コードはMITライセンスで公開されています。

付録

以下は、読者が確認できるように、解決の詳細です。

鍵、単語ごと
No.Key wordSumKeyCipher → plain
1Unser77YF → H
2Vater66NV → I
3in23WA → E
4dem22VM → R
5Himmel60HI → B
6Dein32FN → I
7Name33GT → N
8werde55CK → I
9geheiligt82DF → C
10Reich43QX → H
11komme57EX → T
12Wille61IW → O
13geschehe60HA → T
14auf28BT → S
15Erden46TB → I
16wie37KO → E
17im22VI → N
18täglich60HZ → S
19Brot55CV → T
20gib18RV → E
21uns54BX → W

すべての21文字は正しく復号され、ウッドの元の暗号文に再暗号化されます。

チェック方法

結果をクラウス・スメに送る前に、いくつかの方法で復号をチェックしました。

他のプロジェクトコードを使用しない短いスタンドアロン スクリプトは、祈りのテキストから鍵を再構築し、すべての21文字を復号し、ウッドの正確な暗号文に再暗号化します。OpenAIのAstraは、別々に作業して、すべての21文字を再現しました。

このようなヒットが偶然起こる確率はどれくらいでしょうか?フォローアップ実行では、3,847冊のGutenberg書籍と19冊の聖書全体で約8億5400万件の試行復号を試み、辞書単語の後に3文字の署名を探しました。TEWを署名とした場合、一致したのはこのメッセージだけであり、500のランダムな署名のうち7つだけが一致を生成しました。

Astraによる復号の完全なレビューはリポジトリにあります。

偶然テストの各試行では、18文字を3〜10文字の辞書単語にきれいに分割する必要がありました。実行は、算術の2つのバージョン(繰り返し単語ありとなし)をカバーし、ランダムな署名のマッチ(1.4%)は単語のサラダでした。

2つの注意点があります。TOTSIENSは解決後に単語リストに追加され、テスト自体はヒット後に設計されたため、マッチがまれであることを示していますが、これは証明と同じではありません。

ウッドの1950年の記事とサウレスの1948年の記事のスキャンは、暗号文、方法、およびウッドのヒントを文字通り確認しました。また、私たちが確信を持てなかった1つの詳細、つまり「Aはシフトなしを意味する」というルールが、後の推測からではなく、サウレス自身のテキストに由来するということを確定しました。

スメのブログとそのコメント、Redditのr/codes、および他の2026年のソルバーログの検索では、ウッドの暗号文の以前の解決策は見つかりませんでしたが、それは誰も最初に到達しなかったという証明ではありません。

元の例での誤り

1948年の論文に対して方法をチェックしている間に、サウレス自身の実演例に算術上の誤りがあることがわかりました。これは78年間印刷されており、私たちが知る限り誰も指摘していません。

彼のシステムがどのように機能するかを示すために、サウレスはハムレットの「生きるべきか死ぬべきか」のセリフを鍵として「THERE IS NO DEATH」を暗号化しました。彼は鍵文字IGGWW BG PI VNWNUと暗号文BNKNA JYCWY RWGBを印刷しました。

最初の13個の鍵文字は正しく、14番目の鍵単語は「suffer」です。その文字の合計は19+21+6+6+5+18 = 75です。

75 = 2 × 26 + 23 なので、鍵文字は23番目の文字であるWであるべきです。サウレスは21番目の文字であるUを印刷しました。

彼の印刷された暗号文は印刷されたUに従っているため、これは単なる誤植ではありません。14番目のプレーンテキスト文字はDEATHの最後のHであり、彼が印刷したUでシフトするとBになりますが、正しいWでシフトするとDになります。

したがって、彼の例の最後のグループはRWGBではなくRWGDであるべきです。

[画像: Thouless’s worked example with the incorrect U and B marked]

Thouless’s 1948 example, with “suffer”, the printed U and B, and the recomputed table marked

ウッドは、彼自身の部分では、サウレスの書かれたルールを正しく守りました。彼の21個の鍵文字すべてがそれに一致しており、それが彼のメッセージを復号するメソッドです。