T

Text Machine

強力なテキストツールを、ブラウザで

Straddling Checkerboard

Straddling Checkerboard、すなわち文字を数字に変換する monome-dinome 暗号を暗号化・復号しましょう。最もよく使われる文字は1桁を取り、それ以外のすべての文字は2桁を取るため、出力はメッセージをコンパクトな数字の並びへと分割し、単語の区切りを隠します。盤面を混ぜるキーワードを選び、2つの行を示す列を選び、暗号化と復号を切り替え、盤面が埋まり数字が形作られる様子を眺められます。すべての処理はブラウザ上で実行されます。

盤面のキー (キーワードと空白の列)

キーワード

空白の列

これら2つの列の数字が、2桁の文字のための行を示す指標になります。古典的な盤面では列 2 and 6 を使います。

リアルタイムの盤面

0
1
2
3
4
5
6
7
8
9
E
T
A
O
N
R
I
S
2
B
C
D
F
G
H
J
K
L
M
6
P
Q
/
U
V
W
X
Y
Z
.
平文
数字

上にテキストを入力すると、Straddling Checkerboard の結果がここに表示されます。

ストラドリング・チェッカーボード の使い方

  1. 1

    暗号化か復号かを選ぶ

    文字を数字の並びに変えるには暗号化を、Straddling Checkerboard の数字の並びを文字に戻すには復号を選びます。どちらの場合も同じ盤面のキーが使われます。

  2. 2

    盤面のキーを設定する

    任意で、文字の順序を混ぜるキーワードを入力し、行を示す指標になる2つの空白の列を選びます。古典的な盤面はキーワードを使わず、列 2 and 6 を使います。リアルタイムの盤面は各文字がどこに収まるかを正確に示します。

  3. 3

    テキストを入力または貼り付ける

    メッセージまたは数字を入力します。暗号は自動で実行され、各文字を1桁または2桁として符号化するか、数字の並びを文字に読み戻し、計算過程をカードごとに表示します。

  4. 4

    確認し、コピーし、共有する

    結果を確認し、それをコピーしたり、テキストファイルとしてダウンロードしたり、あなたの正確なキーワード・空白の列・向き・テキストとともにツールを開き直すリンクで共有したりできます。すべてはブラウザ内に留まります。

Straddling Checkerboard を理解する

Straddling Checkerboard とは何ですか?

Straddling Checkerboard は、小さな格子を使って文字を数字に変換する換字暗号です。これを特別にしているのは、コードがすべて同じ長さではないという点です: ごく一握りの最もよく使われる文字は1桁で符号化される一方、それ以外のすべての文字や記号は2桁で符号化されます。ある文字は1桁になり、別の文字は2桁になるため、この暗号は monome-dinome 暗号と呼ばれ、短いコードと長いコードが出力の中で交互に組み合わさる様子が、straddling という名前を与えています。

この不揃いな符号化は巧妙な仕掛けです。E, T, A, O, N, R, I, S のようなよく現れる文字に最も短いコードを与えることで、暗号文はコンパクトに保たれます。ちょうど Morse 符号がよく使われる文字に最も短い信号を与えるのと同じです。同時に、数字の並びにはスペースがなく固定された文字幅もないため、文字どうしの境界が隠されます。Straddling Checkerboard が単独で使われることはまれです。それは Nihilist 暗号や VIC 暗号のような、より強力な紙と鉛筆の方式の第1段階であり、そこで数字はさらに暗号化されます。

Straddling Checkerboard の仕組み

盤面は、列に 0 から 9 までのラベルが付いた格子です。一番上の行には高頻度の文字が入りますが、そのうち2つのセルは空白のままにされます。それら2つの空白の列の上にある数字が行を示す指標になります: それぞれが格子の下にある第2の行にラベルを付けます。一番上の行にある文字は、その列の1桁の数字で符号化されます。より下の行のいずれかにある文字は2桁で符号化され、最初に行を示す指標の数字、次に列の数字が来ます。

そうすると暗号化は直接の参照になります。平文を1文字ずつたどり、各文字を盤面で見つけ、その1桁または2桁のコードを書き留めます。スペースと句読点は取り除かれ、文字は1つの大小に揃えられるため、結果は純粋な数字の並びとなり、1つの文字がどこで終わり次がどこで始まるかを示すものは何もありません。復号は読み取りを逆にします: 数字を左から右へ走査し、2つの行を示す指標の数字のいずれかに出会うたびに、それを次の数字と一緒に2桁のコードとして読みます。そうでなければ1桁がそのまま独立して立ちます。行を示す指標は単独の文字として決して現れないため、この読み取りは常に一義的です。

実例で見る

一番上の行が空白でない列にわたって E, T, A, O, N, R, I, S と並び、2つの空白の列が 2 and 6 にある古典的な盤面を取ります。最初の下の行は指標 2 でラベル付けされ B, C, D, F, G, H, J, K, L, M を保持し、第2の下の行は指標 6 でラベル付けされ P, Q、スラッシュ、U, V, W, X, Y, Z、そしてピリオドを保持します。したがって E is 0、T is 1、A is 3、そして指標2の行の列1にある C は 21 になります。

では、メッセージ ATTACK AT DAWN を暗号化しましょう。1文字ずつ読むと A is 3、T is 1、T is 1、A is 3、C is 21、K is 27、A is 3、T is 1、D is 22、A is 3、W is 65、N is 5 になります。これらのコードを区切りなしでつなげると、暗号文 3113212731223655 が得られます。復号するには、それらの数字を左から走査します: 3 は行を示す指標ではないので A、次に 1 は T、1 は T、3 は A、それから 2 が組を始めるので 21 は C、27 は K、というように続けて、ATTACKATDAWN を再構成します。スペースが消えているのは文字だけが符号化されるからであり、それこそが数字の並びが単語の区切りを隠すやり方そのものです。

キーワードと空白の列

2つの選択が盤面を定め、キーとして働きます。1つ目は文字の順序を混ぜるキーワードです: キーワードの重複しない文字がまず盤面に書き込まれ、それから残りの文字と記号が通常の順序で続きます。共有されたキーワードから作られた盤面は、どの文字がどのコードを得るかをかき混ぜるため、キーワードについて合意した2人の通信者は同じ盤面を作り出す一方、部外者は作れません。キーワードがなければ盤面は自然な順序で埋まり、上の教科書的な例が再現されます。

2つ目の選択は、一番上の行のどの2つの列を空白にするかです。それら2つの列の数字が2つの下の行のための行を示す指標になり、それらを変えるとすべての2桁のコードが変わります。このツールでは両方を設定できます: キーワードを入力して盤面を混ぜ、0 から 9 までの異なる任意の2つの列の数字を空白として選びます。リアルタイムの盤面が即座に更新されるので、各文字がどこに収まるかを正確に見ることができ、復号には同じキーワードと列が必要なので、それらは見えるテキストの中ではなく共有リンクの中に入って運ばれます。

VIC 暗号と冷戦の歴史

Straddling Checkerboard は、これまで実戦投入された手作業の暗号の中で最も洗練されたものの一つである VIC 暗号の核心として最もよく知られています。それは、1950年代にアメリカ合衆国で活動した、コードネーム VICTOR のソ連の工作員 Reino Hayhanen にちなんで名付けられました。彼は Straddling Checkerboard を使って自分のメッセージを数字に変え、それから日付・フレーズ・個人的な数字から導かれた秘密のキーによって動かされるさらなる数値的な手順を重ね、何年も解析に耐える暗号文を生み出しました。

この方式は、有名な中空ニッケル硬貨事件を通じて明るみに出ました。数字の並びをマイクロフィルムに収めた、くり抜かれた5セント硬貨がニューヨークに現れましたが、FBI は 1957 年に Hayhanen が亡命してその方法を説明するまで、そのメッセージを破ることができませんでした。この出来事は、よく設計された紙と鉛筆の暗号がどれほど強力になり得るかと、より難しい暗号化の段階が適用される前に平文を圧縮する基盤として Straddling Checkerboard がどのように役立ったかの両方を示しました。

Straddling Checkerboard はどれほど強いのですか?

単独では、Straddling Checkerboard は単純な換字であり、安全ではありません。各文字は常に同じ1桁または2桁に対応するため、根底にある文字の頻度が数字の並びの中に生き残ります。チェッカーボードを疑う解析者は、先頭の数字として異常によく現れる2つの数字を探し、それらを行を示す指標と特定し、並びを1桁と2桁のコードに分割し、それから普通の換字パズルのように結果を解くことができます。キーワードは配置を変えますが、これらの統計を隠しはしません。

その本当の価値は構成要素としてのものです。テキストをコンパクトで可変長の数字の並びに変換することは、その後に転置やモジュラー加算を加える方式にとって理想的な第1段階です。なぜなら分割が各文字の情報をメッセージ全体に広げ、役立ってしまう単語の隙間を取り除くからです。それこそが Nihilist 暗号と VIC 暗号がそれを使うやり方です: チェッカーボードが圧縮し偽装し、後の段階が暗号としての強さを供給します。

Straddling Checkerboard は安全ですか?

いいえ。現代の基準では、Straddling Checkerboard は機微な情報に対して何の保護も提供しません。それは可逆な符号化に単純な換字を加えたものであり、数字のパターンに気づいた者は誰でも紙と鉛筆でテキストを復元できます。分割と可変長コードがどう働くかを学ぶため、そしてパズル・脱出ゲーム・キャプチャー・ザ・フラッグの課題のためにはすばらしいものですが、大切なものを守らせるべきでは決してありません。

このツールは、仕組みを探るため、チェッカーボードのパズルを作って解くため、そして冷戦のスパイ暗号がどのようにその仕事を始めたかを見るために使ってください。本物のデータを守るためには、代わりに AES のような現代的で十分に検証されたアルゴリズムに頼ってください。ここではすべてがブラウザ内でローカルに実行されるため、入力したものが何一つ端末から離れることなく自由に試すことができます。

よくある質問

Straddling Checkerboard とは何ですか?
Straddling Checkerboard は、小さな格子を使って文字を数字に変える換字暗号です。最もよく使われる文字は1桁として符号化され、それ以外のすべての文字は2桁として符号化されるため、monome-dinome 暗号になります。メッセージを圧縮し単語の区切りを隠し、Nihilist 暗号と VIC 暗号の第1段階を形作ります。
なぜある文字は1桁で別の文字は2桁なのですか?
盤面の一番上の行には E, T, A, O, N, R, I, S のような高頻度の文字が入り、それぞれその列の1桁の数字で符号化されます。その行の2つの列は空白のままにされ、その数字が、残りの文字を保持する2つの下の行のための行を示す指標として働くため、それらの文字は2桁を必要とします。よく使われる文字に最も短いコードを与えることで、出力はコンパクトに保たれます。
Straddling Checkerboard のメッセージはどう読むのですか?
数字を左から右へ走査します。2つの行を示す指標の数字のいずれかに出会うたびに、それを次の数字と一緒に、下の行の文字のための2桁のコードとして読みます。それ以外の数字は、一番上の行の文字のための1桁のコードです。指標は文字として単独で立つことが決してないため、この読み取りは常に一義的です。
Straddling Checkerboard の例を見せてもらえますか?
一番上に E, T, A, O, N, R, I, S があり、空白の列が 2 and 6 の古典的な盤面を使うと、メッセージ ATTACK AT DAWN は 3113212731223655 に符号化されます。それらの数字を同じ盤面で復号すると ATTACKATDAWN が返ります。文字だけが符号化されるため、スペースは消えます。
キーワードは何のためですか?
キーワードは盤面の文字の順序を混ぜます。その重複しない文字がまず置かれ、残りのアルファベットが続くため、同じ文字がもはやそのままの盤面と同じコードを得なくなります。キーワードを共有する2人は同じ盤面を作り、それを持たない者は作れません。キーワードがなければ盤面は自然な順序で埋まります。
空白の列とは何ですか?
空白の列は、空のままにされた一番上の行の2つのセルです。その列の数字が、2つの下の行にラベルを付ける行を示す指標になるため、すべての2桁のコードはそのいずれかで始まります。空白の列を変えると、すべての2桁のコードが変わります。古典的な盤面は列 2 and 6 を空白にしますが、0 から 9 までの異なる任意の2つの列を選べます。
Straddling Checkerboard は VIC 暗号と同じですか?
いいえ。Straddling Checkerboard は VIC 暗号の1つの構成要素であって、その全体ではありません。VIC 暗号はまずチェッカーボードでメッセージを数字に変換し、それから秘密のキーによって動かされるさらなる数値的な暗号化を適用します。チェッカーボードが分割を供給し、後の段階が強さの大半を供給します。
VIC 暗号と中空ニッケル硬貨事件とは何ですか?
VIC 暗号は、1950年代のアメリカで工作員 Reino Hayhanen、コードネーム VICTOR が使ったソ連の手作業の暗号で、その核心に Straddling Checkerboard がありました。それは中空ニッケル硬貨事件を通じて有名になりました。そこでは、くり抜かれた硬貨が数字のマイクロフィルムのメッセージを収めていましたが、FBI は 1957 年に Hayhanen が亡命してその方法を明かすまで、それを破ることができませんでした。
この暗号はスペースや句読点を保ちますか?
いいえ。暗号化するときは文字だけが変換されます。スペース・句読点・数字・その他の記号は取り除かれ、文字は1つの大小に揃えられます。これは意図的なもので、単語どうしの隙間を取り除くことが、数字の並びがメッセージの構造を隠すやり方の一部だからです。したがって復号はスペースのない文字を返します。
Straddling Checkerboard はどうやって復号しますか?
ツールを復号に切り替え、メッセージが暗号化されたときと同じキーワードと空白の列を設定し、数字の並びを貼り付けます。ツールは数字を左から右へ読み、行を示す指標の後では2桁を、それ以外では1桁を取り、文字を再構成します。数字が盤面に対応できない場合は疑問符として表示されます。
Straddling Checkerboard は安全ですか?
いいえ。単独では単純な換字なので、文字の頻度が数字の中に生き残り、手作業で解くことができます。その目的は、それ自体が安全な暗号であることではなく、より大きな暗号のための強力な構成要素になることです。本物の情報を守るためには、代わりに AES のような現代的なアルゴリズムを使ってください。
入力したテキストはサーバーに送信されますか?
いいえ。すべての符号化と復号は完全にブラウザ内で行われるため、あなたのテキスト・キーワード・空白の列がアップロード・記録・保存されることは決してありません。共有リンクでさえ、データを URL のハッシュ以降の部分に保持しますが、ブラウザはこの部分をサーバーに決して送信しないため、自分で共有を選ぶまで非公開のまま保たれます。

関連ツール

こちらの便利なツールもどうぞ

シーザー暗号

ヴィジュネル暗号

アトバシュ暗号

レールフェンス暗号

プレイフェア暗号

アフィン暗号