本文へスキップ

ボーフォート暗号 エンコーダー・デコーダー

メッセージとキーワードを入力して、ボーフォート暗号で暗号化または復号します。変種は、ヴィジュネル暗号を逆向きに使ったものです。このツールは、ボーフォート方陣と、各文字の背後にある和を表示するので、手作業で結果を確かめられます。無料で、登録は不要です。テキストはブラウザの外に出ません。

モード

文字だけを使います。キーワードはメッセージに沿って繰り返され、本文の1文字ごとにキーの文字を1つ使います。

方式

古典的ボーフォートは相反的です。同じ手順で暗号化も復号もできます。変種は、ヴィジュネル暗号を逆向きに実行したものなので、復号ではキーを足し戻します。

結果に残すもの

計算過程

  • 文字は A = 0、B = 1 … Z = 25 と番号を振り、すべての和は26で折り返します。
  • 暗号化:暗号文字 = キーの文字 − 平文の文字。

ボーフォート方陣

ABCDEFGHIJKLMNOPQRSTUVWXYZ
AAZYXWVUTSRQPONMLKJIHGFEDCB
BBAZYXWVUTSRQPONMLKJIHGFEDC
CCBAZYXWVUTSRQPONMLKJIHGFED
DDCBAZYXWVUTSRQPONMLKJIHGFE
EEDCBAZYXWVUTSRQPONMLKJIHGF
FFEDCBAZYXWVUTSRQPONMLKJIHG
GGFEDCBAZYXWVUTSRQPONMLKJIH
HHGFEDCBAZYXWVUTSRQPONMLKJI
IIHGFEDCBAZYXWVUTSRQPONMLKJ
JJIHGFEDCBAZYXWVUTSRQPONMLK
KKJIHGFEDCBAZYXWVUTSRQPONML
LLKJIHGFEDCBAZYXWVUTSRQPONM
MMLKJIHGFEDCBAZYXWVUTSRQPON
NNMLKJIHGFEDCBAZYXWVUTSRQPO
OONMLKJIHGFEDCBAZYXWVUTSRQP
PPONMLKJIHGFEDCBAZYXWVUTSRQ
QQPONMLKJIHGFEDCBAZYXWVUTSR
RRQPONMLKJIHGFEDCBAZYXWVUTS
SSRQPONMLKJIHGFEDCBAZYXWVUT
TTSRQPONMLKJIHGFEDCBAZYXWVU
UUTSRQPONMLKJIHGFEDCBAZYXWV
VVUTSRQPONMLKJIHGFEDCBAZYXW
WWVUTSRQPONMLKJIHGFEDCBAZYX
XXWVUTSRQPONMLKJIHGFEDCBAZY
YYXWVUTSRQPONMLKJIHGFEDCBAZ
ZZYXWVUTSRQPONMLKJIHGFEDCBA

行 = キーの文字、列 = 平文の文字、マス = 暗号文字。下の文字を選ぶと、その行と列が青くなり、交差するマスが琥珀色になります。

平文の文字キーの文字計算暗号文字
F5 − 3 = 2C
O14 − 4 = 10K
R17 − 5 = 12M
T19 − 4 = 15P
F5 − 13 = −8 ≡ 18S
O14 − 3 = 11L
R17 − 19 = −2 ≡ 24Y
T19 − 7 = 12M
F5 − 4 = 1B
O14 − 4 = 10K
R17 − 0 = 17R
T19 − 18 = 1B
F5 − 19 = −14 ≡ 12M
O14 − 22 = −8 ≡ 18S
R17 − 0 = 17R
T19 − 11 = 8I
F5 − 11 = −6 ≡ 20U
O14 − 14 = 0A
R17 − 5 = 12M
T19 − 19 = 0A

最初の20文字を表示しています。

ボーフォート暗号ツールの使い方

  1. 1. 方式を選びます。 古典的ボーフォートは、キーの文字から平文の文字を引きます。変種は、平文の文字からキーの文字を引きます。送信側と受信側は同じ方式を使う必要があります。
  2. 2. キーワードを入力します。 数えられるのは文字だけです。キーワードはメッセージに沿って繰り返され、本文の1文字ごとにキーの文字を1つ進めます。
  3. 3. メッセージを入力または貼り付けます。 平文を暗号化するなら暗号化、暗号文を元に戻すなら復号を選びます。空白、数字、句読点はそのまま通過し、キーの文字を消費しません。
  4. 4. 計算過程を読みます。 計算表の任意の文字を選ぶと、その行、列、結果が方陣の中で強調表示されます。

ボーフォート暗号のしくみ

ボーフォート暗号は、ヴィジュネル暗号と同じ26 × 26の表に基づく多表式の換字式暗号です。A = 0からZ = 25まで文字に番号を振ります。メッセージの各文字について、繰り返されるキーワードの次の文字Kと、メッセージの文字Pを取り、C = K − P(mod 26)を計算します。ヴィジュネル暗号ではキーの文字を平文の文字に足しますが、ここでは平文の文字をキーの文字から引いています。

この1か所の変更によって、暗号は相反的になります。P = K − C も同じ引き算だからです。そのため、ボーフォートの暗号文は、同じキーワードでもう一度暗号化するだけで復号できます。別の復号ルーチンは必要ありません。このため、手書きの暗号や、設定が1つだけの機械に向いていました。手作業では、方陣の上の行で平文の文字を探し、キーの文字の行まで下がって、その交点の文字を読みます。

変種ボーフォート

変種ボーフォートは C = P − K を使います。これは、ヴィジュネル暗号の復号と全く同じ計算です。そのため、変種ボーフォートのメッセージは、復号を選んだヴィジュネル暗号ツールで読めます。変種は相反的ではありません。復号するには、キーを足し戻す必要があります。P = C + K。パズル本や American Cryptogram Association は、この2つを別の暗号の種類として扱っており、このツールで両方を選べるのはそのためです。

具体例

キーワード FORT で DEFEND THE EAST WALL を暗号化します。キーの文字は、F = 5、O = 14、R = 17、T = 19で、繰り返されます。ツールの出力は、ciphersonline.com で公開されている例と一致しており、計算表で各手順を確認できます。

平文キー計算暗号文
D (3)F (5)5 − 3 = 2C
E (4)O (14)14 − 4 = 10K
F (5)R (17)17 − 5 = 12M
E (4)T (19)19 − 4 = 15P
N (13)F (5)5 − 13 = −8 ≡ 18S

全文は CKMPSL YMB KRBM SRIU になります。同じキーでもう一度入力すると、ボーフォートは DEFEND THE EAST WALL を返します。最初のEと2番目のEは、KとPに暗号化されることに注目してください。1つの平文の文字が複数の暗号文字になるため、単純な文字の数え上げでは暗号が破れません。

誰がボーフォート暗号を考案したのか?

この暗号は、アイルランド生まれの英国海軍士官で水路測量官のフランシス・ボーフォート卿(1774年〜1857年)にちなんで名付けられました。ボーフォートは、同じ名前の風力階級でもよく知られています。起源はさらに古く、繰り返すキーによって文字ごとに異なる換字表を選ぶという考えは、1553年にジョヴァンニ・バッティスタ・ベッラーソが示し、1586年にブレーズ・ド・ヴィジュネルが広めました。ボーフォート暗号は、その方式の減算を逆にしたものです。この方式は、ボーフォートが亡くなった1857年に発表されました。後の代表的な使用例は機械の中にあり、米陸軍が第二次世界大戦で使った野外暗号機 Hagelin M-209 は、単純に繰り返さないキーで、ボーフォート型の換字を行いました。

ボーフォート暗号の解読

ヴィジュネル暗号と同様に、ボーフォートは短い繰り返しキーを1文字ずつ適用するので、同じ攻撃が通用します。フリードリヒ・カジスキの1863年の方法は、暗号文中の繰り返される断片を探します。その間隔はキーの長さの倍数になります。ウィリアム・フリードマンの一致指数は、1920年ごろに開発されたもので、キーの長さを統計的に推定します。キーの長さが分かれば、n番目ごとの文字は1つのキー文字で暗号化されているので、各列は反転したアルファベットを使う単純な換字になり、頻度分析で解けます。近道もあります。暗号文とキーの両方のアルファベットを反転させる(A↔Z、B↔Y。アトバッシュ写像)と、ボーフォートのメッセージは通常のヴィジュネルのメッセージになります。

秘密のためには使わないでください

ボーフォート暗号は、教室やパズルで使う暗号です。コンピュータは、数百文字の暗号文から解読できます。重要なものを守るために使わないでください。

よくある質問

ボーフォート暗号とは何ですか?
ボーフォート暗号は、繰り返すキーワードを使い、各文字を「キーの文字から平文の文字を引いた値(mod 26)」で暗号化する多表式の換字式暗号です。ヴィジュネル暗号と同じ表を使いますが、読み方が違います。名前は、王立海軍の水路測量官フランシス・ボーフォート卿にちなみます。
ボーフォート暗号は、ヴィジュネル暗号とどう違いますか?
ヴィジュネルはキーの文字を平文の文字に足します(C = P + K)。一方、ボーフォートはキーの文字から平文の文字を引きます(C = K − P)。そのため、ボーフォートは相反的です。同じ演算で暗号化も復号もできますが、ヴィジュネルでは復号のための別の手順が必要です。
ボーフォート暗号は、どのように復号しますか?
同じキーワードを入力し、暗号文に同じ演算を適用します。平文の文字 = キーの文字 − 暗号文字。このツールでは「復号」を選ぶか、単にもう一度暗号化しても、古典的ボーフォートでは同じ答えになります。
変種ボーフォート暗号とは何ですか?
変種ボーフォートは C = P − K を計算します。これはヴィジュネル暗号の復号式と同じです。復号するにはキーを足し戻すので、古典的ボーフォートと違って相反的ではありません。パズルや教科書で指定された方式を選んでください。
ボーフォート暗号は安全ですか?
いいえ。繰り返すキーのため、ヴィジュネル暗号と同じパターンが残ります。カシスキー法と一致指数でキーの長さが分かり、頻度分析で各キー文字が復元されます。アルファベットをアトバッシュで反転させると、ヴィジュネル暗号にさえなります。学習のための歴史的な暗号として扱ってください。
空白や句読点はどうなりますか?
暗号化されるのはA〜Zの文字だけです。各文字は大文字・小文字を保持し、アクセント付きのラテン文字は基本の文字として扱われ、それ以外の文字は、キーの文字を消費せずにそのまま通過します。伝統的な暗号文のブロックが必要なら、5文字ごとのグループ化をオンにしてください。

関連ツール

暗号・符号のその他のツール