ベーコン暗号
ベーコンの両文字暗号を暗号化・復号し、各文字を五つの A と B の記号からなるまとまりに変えてみましょう。24文字と26文字のアルファベットを切り替え、A/B または 0/1 の記号を選び、リアルタイムのコード表を追いながら、結果をコピー・ダウンロード・リンク共有できます。すべての処理はブラウザ上で実行されます。
アルファベット
記号
古典的なベーコン暗号は24個のコードを使います。ベーコンが1605年に書いたとおり、I と J が一つのコードを共有し、U と V が一つのコードを共有します。復号された J は I として、復号された V は U として戻ってきます。
上にテキストを入力すると、結果がここに表示されます。
ベーコン アルファベット
A
AAAAA
B
AAAAB
C
AAABA
D
AAABB
E
AABAA
F
AABAB
G
AABBA
H
AABBB
IJ
ABAAA
K
ABAAB
L
ABABA
M
ABABB
N
ABBAA
O
ABBAB
P
ABBBA
Q
ABBBB
R
BAAAA
S
BAAAB
T
BAABA
UV
BAABB
W
BABAA
X
BABAB
Y
BABBA
Z
BABBB
ベーコン暗号 の使い方
- 1
暗号化か復号を選ぶ
平文をベーコンのまとまりに変えるには暗号化を、五つずつまとまった A/B の記号を文字に戻すには復号を選びます。
- 2
アルファベット方式を選ぶ
I/J と U/V がコードを共有する古典の24文字アルファベットを選ぶか、すべての文字が固有な区別の26文字アルファベットを選びます。
- 3
記号を選ぶ
コードをベーコン本来の A と B で見るか、0 と 1 に切り替えてそのまま二進数として見られます。復号はどちらの方式も受け付けます。
- 4
テキストを入力または貼り付ける
メッセージを入力すると、入力すると同時に変換されます。暗号化は文字だけを扱うので、スペースや数字、句読点は飛ばされます。
- 5
コピー・ダウンロード・共有する
結果をコピーしたり、テキストファイルとしてダウンロードしたり、入力したテキスト・方式・記号をそのまま整えてツールを開き直すリンクで共有したりできます。
ベーコン暗号を理解する
ベーコン暗号とは何ですか?
ベーコン暗号は、ベーコンの暗号または両文字暗号とも呼ばれ、イングランドの哲学者で政治家でもあったフランシス・ベーコンが1605年ごろに考案したメッセージの隠し方です。各文字を別の一文字に置き換えるのではなく、たった二つの文字 — 伝統的には A と B — から取った五つの記号のまとまりに置き換えます。たとえば単語 CAB は、C に一つ、A に一つ、B に一つ、という三つの五記号のまとまりになります。
ベーコンの発想がひときわ見事だったのは、コードそのものではなく、それをいかに隠せるかという点にありました。あらゆる文字がたった二種類の記号だけで綴られるため、その二つの記号を、ありふれて見える文章の中でわずかに異なる二つの書体に変装させられるのです。読み手はなんの変哲もないメッセージを見るだけで、文字を二つの書体に振り分けることを知る者だけが五記号のまとまりを取り戻し、秘密を読み解けます。だからベーコンの暗号は、メッセージの存在そのものを隠すステガノグラフィの最も初期の体系の一つであると同時に、一つの暗号でもあるのです。
ベーコンの両文字コードの仕組み
暗号化するには、アルファベットの各文字に五つの記号からなる固定のパターンを与えますが、各記号は A か B のいずれかです。五つの位置にそれぞれ二文字のうち一つが入ると、三十二通りの可能なパターンが生まれ、これはアルファベット二十六文字を収めるのに十分すぎるほどです。A は AAAAA、B は AAAAB、C は AAABA と書かれ、そうして二記号の一定のリズムで Z まで順に数え上げていきます。スペースや句読点にはそれ自身のパターンがないので、暗号化は文字だけに対して行われます。
二つの記号はそれ自体では何の意味も持ちません。大切なのは五つからなるパターンです。この方式が、二文字でできているという意味で両文字と呼ばれるのはこのためで、アルファベット全体が A と B だけで表されます。上のツールはアルファベット表に対応の全体を示し、各コードは実のところ五桁の二進数が変装したものなので、仕組みは何ひとつ変えずに、表示を A と B か 0 と 1 のあいだで切り替えられます。
24文字方式と26文字方式
ベーコンはもともとアルファベットを二十六ではなく二十四個のコードで書きました。十七世紀初めには I と J が一つの文字として、また U と V も一つの文字として扱われていたからです。この古典的な方式では I と J がコード ABAAA を共有し、U と V がコード BAABB を共有するため、復号されたメッセージでは、あなたが書いた J の位置に I が、V の位置に U が現れることがあります。
現代の区別方式は二十六文字すべてにそれぞれ固有のコードを与え、その曖昧さを取り除いて暗号化と復号を完全に元へ戻せるようにします。ツールは両方に対応しています。歴史的な例題や古いパズルに合わせるなら古典の24文字アルファベットを、すべての文字が往復を経ても変わらず残ってほしいなら区別の26文字アルファベットを選んでください。アルファベット表は、選んだ方式が正確にどのコードを使うかを示すように更新されます。
メッセージを人目にさらしたまま隠す
ベーコン暗号の本当の巧みさはステガノグラフィにあります。もっと長く、なんの変哲もなく見える運び手のメッセージの中に秘密を忍ばせられるのです。隠された一文字ごとに五つの記号が要り、各記号は二つの書体のどちらかで書いたどの文字でも表せるので、隠したメッセージ一文字につき運び手のテキストが五文字必要です。その五文字を、たとえば普通の書体とイタリック体を選んで混ぜて書けば、五記号のまとまりが一つ綴られます。
ベーコンはこの原理を omnia per omnia — 何によっても何でも — と呼びました。運び手のテキストは好きなことを語りながら、その下にまったく別のメッセージをひそかに運べるからです。二つの書体は書体である必要すらありません。背の高い文字と低い文字、あるいは二種類のインクのように、二つに分かれるどんな区別でも通用します。このツールはコードを書体の中に隠すのではなく開いて見せますが、学習やパズル、キャプチャー・ザ・フラッグのチャレンジにはまさにそれが望ましいのです。ただ、その根底にある A/B のまとまりこそ、ステガノグラフィ方式なら覆い隠すまさにそのものです。
ベーコン暗号の実例
単語 HELLO を区別の26文字アルファベットで暗号化してみましょう。H は八番目の文字なので AABBB になり、E は AABAA に、L は ABABB に、二つ目の L もまた ABABB に、O は ABBBA になります。つなげると、HELLO は AABBB AABAA ABABB ABABB ABBBA になります。五記号のまとまりが五つ、文字ごとに一まとまりずつです。
読み戻すのも同じくらい直接的です。記号を五つずつに分け、各まとまりをアルファベット表で引くだけです。同じ文字はつねに同じまとまりを生むので、HELLO の二つの L は同じコードを二度生み出します。これは、どんな単純換字とも同じく、ベーコンのテキストが繰り返される文字のパターンを漏らすという、ちょっとした気づきでもあります。記号方式を 0 と 1 に切り替えると、まったく同じメッセージが 00111 00100 01011 01011 01110 として現れます。
ベーコン暗号を復号する
復号するには、手順を逆にたどります。記号を集めて五つずつに分け、各まとまりをふたたびその文字へ訳します。上で復号を選び、暗号化に使ったアルファベット方式を選んでから暗号文を貼り付けてください。ツールは形式に寛容です。大文字小文字を問わず A や B を読み、0 を A、1 を B として扱うので二進方式のコードも通用し、スペースやスラッシュ、改行を無視するので、見つけたままの体裁でコードを貼り付けられます。
完成した五記号のまとまりだけが訳され、末尾に残った一つだけの記号は無視され、どの文字にも対応しないまとまりは疑問符として表示されるので、書き写しの間違いを見つけられます。古典の24文字アルファベットで復号するなら、その時代にそれらの文字がコードを共有していたために、元の J が I として、元の V が U として戻ってくることを覚えておいてください。
ベーコン暗号の歴史と安全性
フランシス・ベーコンは1605年の著書 The Advancement of Learning(学問の進歩)で自身の両文字暗号を発表し、1623年のラテン語版でいっそう詳しく説明しました。この暗号はのちに暗号学をはるかに超えて有名になりました。ベーコンがシェイクスピアの戯曲をひそかに書いたという説を支持する人々は、First Folio(ファースト・フォリオ)の活字の中に隠れたベーコン暗号を — 説得力なく — 何十年も探し回りました。この暗号の本当の遺産は概念的なもので、コンピューターが二進法で同じことをやってのける三世紀も前に、アルファベット全体を二記号のコードへと縮めた点にあります。
現代の基準で見れば、ベーコン暗号は暗号としての安全性をまったく備えていません。あるテキストがベーコン暗号だと見抜いてしまえば、五記号のまとまりは鍵のない固定の換字なので、復号は純粋に機械的な作業です。その守りはつねに中身をかき混ぜることではなく、隠蔽 — メッセージが存在することそのものを覆い隠すこと — にありました。今日、情報を本当に守るには、AES のような現代的で査読を経たアルゴリズムを使うべきです。ベーコン暗号は、パズルや教育、そして言葉を人目にさらしたまま隠す楽しみのために取っておきましょう。
よくある質問
ベーコン暗号とは何ですか?
ベーコン暗号はどう動きますか?
ベーコン暗号は誰が考案しましたか?
24文字方式と26文字方式の違いは何ですか?
ベーコン暗号はなぜ五文字のまとまりを使うのですか?
ベーコン暗号の実例を見せてもらえますか?
ベーコン暗号はどうやって復号しますか?
両文字暗号とはどういう意味ですか?
ベーコン暗号はステガノグラフィにどう使われますか?
ベーコン暗号は二進法と同じですか?
ベーコン暗号はどれほど安全ですか?
ベーコン暗号はスペースや句読点を保ちますか?
入力したテキストはサーバーに送信されますか?
関連ツール
こちらの便利なツールもどうぞ