T

Text Machine

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

ニヒリスト暗号

19世紀ロシアの革命家たちが用いた数字暗号、ニヒリスト暗号を暗号化・復号しましょう。各文字はまずポリュビオス square 上の二桁の座標へと変換され、続いて同じ方法で数字に変えた繰り返しキーワードがその下に加算されるため、暗号は数字の並びになります。square を混合し、加算キーワードを設定し、座標加算の内訳をリアルタイムで追いながら、結果をコピー・ダウンロード・共有できます。すべての処理はブラウザ上で実行されます。

キーワード

square 鍵

加算鍵

square 鍵は各文字に座標を与えるポリュビオス square を混合し、加算鍵は同じ square 上で数字に変換されてメッセージの下に加算され、必要に応じて繰り返されます。双方とも同じ square と鍵を使わなければなりません。加算鍵を空欄のままにすると、加算なしの素の座標が表示されます。

平文
暗号の数字

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

ポリュビオス square

1

2

3

4

5

1

A
B
C
D
E

2

F
G
H
I/J
K

3

L
M
N
O
P

4

Q
R
S
T
U

5

V
W
X
Y
Z

ニヒリスト暗号 の使い方

  1. 1

    暗号化か復号と square を選ぶ

    平文をニヒリスト暗号の数字に変えるには暗号化を、数字を元に戻すには復号を選びます。文字には 5×5 square を、数字も運ぶには 6×6 square を選びます。

  2. 2

    二つのキーワードを設定する

    任意で、ポリュビオス square を混合する square キーワードと、メッセージの上に加算される加算キーワードを入力します。双方とも同じ square と鍵を使わなければなりません。加算鍵を空欄のままにすると、素の座標が表示されます。

  3. 3

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

    メッセージを入力すると、入力すると同時に変換されます。手順パネルが、各文字とその座標、その下に加算される循環する鍵の数字、そして得られる暗号の数字を示します。

  4. 4

    square を読む

    ポリュビオス square を開くと、各文字とその行と列の番号、そして強調表示されたキーワードのマスを見ることができます。

  5. 5

    コピー・ダウンロード・共有する

    結果をコピーしたり、テキストファイルとしてダウンロードしたり、入力したテキスト・square・キーワードをそのまま整えてツールを開き直すリンクで共有したりできます。

ニヒリスト暗号を理解する

ニヒリスト暗号とは何ですか?

ニヒリスト暗号は1880年代の手作業暗号で、ツァーリ体制に反対し秘密の通信手段を必要とした革命家たち — ロシアのニヒリスト運動 — にちなんで名付けられました。これは二つの単純な発想を重ね合わせて作られています: すべての文字を二桁の数字に変えるポリュビオス square と、その上に加算される繰り返しの数字鍵です。どちらの発想も単体では新しくありませんが、座標の換字と周期的な加算を組み合わせることで、ニヒリスト暗号はそのいずれの部分よりも目に見えて強くなり、その後に続くロシアとソ連の数字暗号一族すべての祖先となりました。

出力が文字ではなく数字の並びであるため、ニヒリスト暗号はカエサルやヴィジュネルのような古典的な文字暗号とはかなり違って見えます。しかし水面下では密接に関係しています: ポリュビオスの段階はバイフィッドや ADFGX 暗号が用いるのと同じ座標換字であり、鍵加算の段階はヴィジュネルの繰り返し鍵の発想を文字の代わりに算術で行ったものです。これを学ぶことは、暗号学者がよく理解された小さな部品を積み重ねることでより大きな暗号をどう作り上げたかを見るための明快な方法です。

ニヒリスト暗号の仕組み

まずポリュビオス square から始めます: アルファベットを収めた 5×5 の格子で (I と J は一つのマスを共有します)、行と列に 1 から 5 まで番号が振られています。すると各文字は二桁の座標 — その行の桁に続いて列の桁 — を持ちます。メッセージはこれらの座標の数字のリストに変換されます。ここまではちょうどポリュビオス暗号そのものです。

さてキーワードを取り、その各文字を同じ square 上の座標に変えると、短い鍵の数字のリストが得られます。メッセージの数字を一行に書き、その下に鍵の数字を繰り返して書き、鍵が尽きるたびに鍵の先頭へ戻って循環させます。最後に、各メッセージの数字を、その下の鍵の数字とふつうの十進の和として加算します。得られる数字 — ふつうそれぞれ二桁か三桁 — が暗号文で、スペースで区切って書き出されます。復号は単純に、同じ繰り返しの鍵の数字を減算し、復元された座標を square から読み取るだけです。

square と二つのキーワード

ニヒリスト暗号は二つの独立した秘密を使います。一つ目は square そのものです。このツールは、鍵付けされたポリュビオスや Playfair の square がそうであるのとまったく同じように、任意の square キーワードから square を組み立てます: キーワードの重複しない文字が順に、繰り返しなしで最初に書き込まれ、続いて残りのアルファベットが並びます。下のリアルタイムの square はキーワードのマスを強調表示するので、混合の様子を見て取れます。square キーワードを空欄のままにすると、素のアルファベット順の square が使われます。

二つ目の秘密は加算キーワードです。その文字はまさに同じ square 上で参照され、メッセージに加算される鍵の数字になります。二つの鍵は異なる仕事をします — square 鍵は各文字がどの座標を持つかを決め、加算鍵は何が上に加算されるかを決めます — そして送り手と受け手の双方が両方を共有しなければなりません。このツールでは加算鍵を空欄のままにして、何も加算されていない素の座標が現れる様子を見ることができます。これは加算が重ねられる前に、ポリュビオスの段階だけを見るのに役立つ方法です。

5×5 か 6×6 の square を選ぶ

古典的なニヒリスト暗号は25マスの 5×5 square を使います。ラテン文字は26文字あるため、I と J が一つのマスを共有し、復号された J は I として読み戻されます — ポリュビオスの標準的な妥協です。座標は 11 から 55 まで及び、暗号の数字 (座標に鍵を足したもの) は 22 から 110 の間のどこかに落ち着きます。

このツールは36マスの 6×6 square も提供します。これは26文字すべてを別々に収め、加えて 0 から 9 の十個の数字を収めます。これにより暗号は数字を — 日付、地図の参照、金額に便利なように — 綴り出さずに運べますが、その代償としてやや大きな座標 (11 から 66) と暗号の数字 (132 まで) になります。上のトグルで square を選んでください。リアルタイムの参照格子はそれに合わせて番号を振り直し、双方ともどちらの square を使っているかで一致していなければなりません。

ニヒリスト暗号の実例

単語 ATTACK を、square キーワード ZEBRAS と加算キーワード RUSSIAN で取り上げましょう。ZEBRAS を最初に書き込むと、square は最上行が Z E B R A、続いて S C D F G、続いて H I K L M、続いて N O P Q T、続いて U V W X Y となります。そこから座標を読み取ると、ATTACK は 15 45 45 15 22 33 になり、キーワード RUSSIAN は 14 51 21 21 32 15 41 になります。

さて、鍵の数字をメッセージの数字の下に必要に応じて繰り返して書き、加算します: 15+14 = 29、45+51 = 96、45+21 = 66、15+21 = 36、22+32 = 54、33+15 = 48。したがって ATTACK は 29 96 66 36 54 48 へと暗号化されます。復号するには、同じ鍵の数字を減算し — 29−14 = 15、96−51 = 45、というふうに — 15 45 45 15 22 33 を square から ATTACK として読み戻します。どちらのキーワードを変えてもすべての暗号の数字が変わりますが、それでも正しく復号されます。

ニヒリスト暗号のメッセージを復号する

復号は手順を逆にたどります。暗号文をその数字へと分割し、加算キーワードの数字を同じ繰り返しの循環でその下に書き、減算します。各結果は二桁の座標です。それを行の桁と列の桁に分け、square 上でマスを参照して文字を復元します。復号を選び、暗号化に使われたのと同じ square、square キーワード、加算キーワードを入力すれば、このツールがそのすべてを代わりに行います。

ある数字が壊れていたり、間違った鍵や square が使われたりすると、減算が格子の外に落ちることがあります — 例えば行や列の桁が 0 になったり、square より大きくなったりするのです。そうなったとき、ツールは推測する代わりにその位置に「?」を表示します。5×5 square には文字だけが (そして 6×6 square には文字と数字が) 存在するため、元のメッセージにあったスペースや句読点は暗号化の際に取り除かれ、再び現れることはありません。

歴史と安全性

ニヒリスト暗号は1870年代と1880年代にロシアの革命家たちに用いられ、ポリュビオスの座標に鍵を加算するという手法全体にその名を与えました。その本当の歴史的重要性は出発点としてのものです: 暗号学者たちはこれを一歩ずつより強い方式へと改良していき、その中には1950年代にスパイのレイノ・ハイハネンが用いたソ連の VIC 暗号も含まれます。これはポリュビオスと加算の核を保ちつつ、さらなる転置と複雑な鍵スケジュールでそれを包んだものでした。第一次世界大戦の ADFGVX 暗号も同じ座標換字の発想を共有しています。

現代の基準では、基本的なニヒリスト暗号は弱いものです。鍵は短い周期で繰り返されるため、攻撃者がいったん鍵長を推測してしまえば、暗号はヴィジュネル暗号を破るのと同じ種類の解析に屈し、ポリュビオスの換字は撹乱を加えはしますが実質的な強さはほとんど加えません。メッセージをまたいで鍵を使い回すと、さらに弱くなります。今日のその価値は教育的なものです — 座標 square を繰り返し鍵と重ねることが、どのように本格的な暗号へと積み上がっていくかを生き生きと示すものなのです。本当の情報を守るには、必ず AES のような現代的で査読を経たアルゴリズムを使い、ニヒリスト暗号は歴史やパズル、キャプチャー・ザ・フラッグのチャレンジのために取っておきましょう。

よくある質問

ニヒリスト暗号とは何ですか?
ニヒリスト暗号は、ポリュビオス square と繰り返しの数字鍵を組み合わせた19世紀ロシアの手作業暗号です。各文字は square 上の二桁の座標に変えられ、キーワードの座標がその下に、メッセージ全体にわたって循環しながら加算されます。出力は数字の並びです。これを用いたロシアのニヒリスト革命家たちにちなんで名付けられ、後のロシアとソ連の数字暗号の祖先です。
ニヒリスト暗号はどう動きますか?
ポリュビオス square を組み立て、各文字の二桁の座標を読み取り、メッセージを数字に変えます。キーワードを同じ方法で座標に変え、メッセージの数字の下に必要に応じて繰り返して書き、各ペアをふつうの十進の和として加算します。得られる二桁か三桁の数字が暗号文です。復号は同じ繰り返しの鍵の数字を減算し、座標を square から読み戻します。
二つのキーワードは何のためのものですか?
ニヒリスト暗号は二つの独立した秘密を使います。square キーワードはポリュビオス square を混合し、各文字がどの座標を持つかを決めます。加算キーワードは同じ square 上で数字に変えられ、メッセージの上に加算されます。これらは異なる仕事をし、送り手と受け手の双方が両方を共有しなければなりません。このツールでは square キーワードは任意であり、加算キーワードは空欄のままにして素の座標を表示できます。
ニヒリスト暗号の実例を見せてもらえますか?
square キーワード ZEBRAS と加算キーワード RUSSIAN を使うと、ATTACK は square から 15 45 45 15 22 33 として、RUSSIAN は 14 51 21 21 32 15 として読み取られます。鍵をメッセージの下に加算すると 15+14=29、45+51=96、45+21=66、15+21=36、22+32=54、33+15=48 となり、ATTACK は 29 96 66 36 54 48 へと暗号化されます。同じ鍵の数字を減算すると、それはまっすぐ ATTACK へと復号されます。
ニヒリスト暗号はどうやって復号しますか?
暗号文をその数字へと分割し、加算キーワードの座標を同じ繰り返しの循環でその下に書き、減算します。各結果は二桁の座標です。それを行の桁と列の桁に分け、square 上でマスを参照します。このツールでは復号を選び、暗号化に使われたのと同じ square、square キーワード、加算キーワードを入力すると、メッセージを代わりに再構築します。
暗号文はなぜ数字でできているのですか?
ポリュビオスの段階が各文字を二桁の座標で置き換え、続いて鍵加算がその上にもう一つの数字を加えるため、結果は自然と文字ではなく数字になります。5×5 square 上の暗号の数字は 22 から 110 の間なので、二桁か三桁です。各数字は復号の際に個別に読み取って減算できるよう、スペースで区切って書き出されます。
5×5 と 6×6 の square の違いは何ですか?
古典的な 5×5 square は I と J が一つのマスを共有する形で25文字を収めるので、文字しか運べず、復号された J は I として戻ってきます。6×6 square は36マスを持ち、26文字すべてを別々に収め、加えて 0 から 9 の数字を収めるので、数字も符号化できます。6×6 の選択肢はやや大きな座標と暗号の数字を生みます。双方とも同じ square を使わなければなりません。
ニヒリストの square は必ずキーワードを使わなければなりませんか?
いいえ。square は順に書かれた素のアルファベットでもよく、これが最も単純な形です。キーワードを使うと、鍵付けされたポリュビオスや Playfair の square が動くのと同じように square が混合され、座標がより予測しにくくなります: キーワードの重複しない文字が最初に、続いて残りのアルファベットが並びます。このツールは square キーワードを任意とし、空欄のままにすると素のアルファベット順の square が使われます。
スペース、句読点、そして J はどうなりますか?
square に存在する文字だけが符号化されます。スペースと句読点は square にないので、暗号化の際に取り除かれ、復号しても再び現れません。5×5 square では J が I と一つのマスを共有するので、J は I として符号化され、I として復号されます。6×6 square では 0 から 9 の数字が含まれるので、数字は保持されます。
ニヒリスト暗号はほかの暗号とどう関係していますか?
いくつもの暗号の交差点に位置しています。その座標の段階はポリュビオス square で、バイフィッドや ADFGX 暗号でも使われます。その繰り返し鍵の加算はヴィジュネル暗号と同じ発想を、文字の代わりに算術で行ったものです。そしてこれは後のロシアとソ連の数字暗号 — 最も有名なのは VIC 暗号 — の直接の祖先であり、VIC はポリュビオスと加算の核を保ちつつ、その周りにさらなる層を加えたものです。
ニヒリスト暗号はどれほど安全ですか?
現代の基準では安全ではありません。加算鍵は短い周期で繰り返されるため、その周期がいったん見つかると、ヴィジュネル暗号を破るのと同じ技法で暗号を破ることができ、ポリュビオスの換字は撹乱を加えはしますが実質的な保護はほとんど加えません。メッセージをまたいで鍵を使い回すと、さらに弱くなります。これは1880年代には妥当な手作業暗号で、学習には素晴らしいものですが、本当の保護には AES のような現代的なアルゴリズムを使いましょう。
入力したテキストはサーバーに送信されますか?
いいえ。すべての暗号化と復号はブラウザ内だけで実行されるため、入力したテキストがアップロード・記録・保存されることはありません。共有リンクでさえ、テキストと square とキーワードを URL のハッシュ以降の部分に保持しますが、ブラウザはこの部分をサーバーに決して送信しないため、自分でリンクを共有するまでメッセージは非公開のまま保たれます。

関連ツール

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

ポリュビオス暗号

バズリー暗号

シーザー暗号

ヴィジュネル暗号

アトバシュ暗号

レールフェンス暗号