T

Text Machine

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

ベーコン暗号

ベーコンの両文字暗号を暗号化・復号し、各文字を五つの 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. 1

    暗号化か復号を選ぶ

    平文をベーコンのまとまりに変えるには暗号化を、五つずつまとまった A/B の記号を文字に戻すには復号を選びます。

  2. 2

    アルファベット方式を選ぶ

    I/J と U/V がコードを共有する古典の24文字アルファベットを選ぶか、すべての文字が固有な区別の26文字アルファベットを選びます。

  3. 3

    記号を選ぶ

    コードをベーコン本来の A と B で見るか、0 と 1 に切り替えてそのまま二進数として見られます。復号はどちらの方式も受け付けます。

  4. 4

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

    メッセージを入力すると、入力すると同時に変換されます。暗号化は文字だけを扱うので、スペースや数字、句読点は飛ばされます。

  5. 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 のような現代的で査読を経たアルゴリズムを使うべきです。ベーコン暗号は、パズルや教育、そして言葉を人目にさらしたまま隠す楽しみのために取っておきましょう。

よくある質問

ベーコン暗号とは何ですか?
ベーコン暗号、すなわちベーコンの暗号は、フランシス・ベーコンが1605年ごろに考案した方法で、各文字を二文字のアルファベット — 伝統的には A と B — から取った五つの記号のまとまりに置き換えます。二文字でできているという意味で両文字暗号と呼ばれます。その特別な点は、二つの記号を普通のテキストの書体の中に隠し、秘密のメッセージが存在することそのものを覆い隠せるところにあります。
ベーコン暗号はどう動きますか?
あらゆる文字に A と B からなる固定の五記号コードが割り当てられます。A は AAAAA、B は AAAAB、C は AAABA、という具合です。暗号化するにはメッセージの各文字をそのコードに置き換え、復号するには記号を五つずつのまとまりに分けて各まとまりを引きます。二記号の五つの位置が三十二通りの組み合わせを生むので、アルファベットのすべての文字に固有のコードがあります。
ベーコン暗号は誰が考案しましたか?
イングランドの哲学者で科学者、政治家でもあったフランシス・ベーコンが作り、1605年ごろの The Advancement of Learning(学問の進歩)で、そして1623年のラテン語版でいっそう詳しくこれを説明しました。ベーコンはこれを両文字暗号と呼び、一つのメッセージを別のメッセージの中に隠せる点を尊びました。彼はこの原理を omnia per omnia、すなわち何によっても何でも、とまとめています。
24文字方式と26文字方式の違いは何ですか?
ベーコン本来の24文字アルファベットでは、I と J が一つのコードを、U と V がもう一つのコードを共有します。その時代にはこれらの組が一つの文字として扱われていたからです。現代の26文字方式はすべての文字に固有のコードを与えます。歴史的な例題や古いパズルには古典方式を、メッセージがすべての文字をそのまま保ったまま暗号化と復号を経るようにするには区別方式を使ってください。
ベーコン暗号はなぜ五文字のまとまりを使うのですか?
それぞれ二文字のうち一つになりうる五つの記号は、三十二通りの異なるパターン — 2 を五回掛けた値 — を生みます。四つの記号では十六通りしかないので、五つは、アルファベット二十六文字すべてを覆うのに十分なパターンを生む最小のまとまりの大きさです。余ったパターンは単に使われず、これが各コードが実のところ五桁の二進数が変装したものである理由でもあります。
ベーコン暗号の実例を見せてもらえますか?
区別の26文字アルファベットを使うと、単語 HELLO は AABBB AABAA ABABB ABABB ABBBA に暗号化されます。文字ごとに五記号のまとまり一つで、H は AABBB、E は AABAA、L は ABABB、O は ABBBA です。同じメッセージを 0 と 1 の記号で書くと 00111 00100 01011 01011 01110 です。復号するには、記号をふたたび五つずつに分け、それぞれをアルファベット表で読みます。
ベーコン暗号はどうやって復号しますか?
記号を集めて五つずつのまとまりに分け、暗号化に使ったのと同じアルファベット方式で各まとまりをふたたびその文字へ訳します。このツールでは復号を選び、方式を選んでから暗号文を貼り付けてください。大文字小文字を問わず A と B を受け付け、0 を A、1 を B として扱い、スペースや改行を無視するので、ほとんどどんな体裁でもコードを貼り付けられます。
両文字暗号とはどういう意味ですか?
両文字とは二文字でできているという意味です。ベーコンがこの言葉を使ったのは、彼の暗号がアルファベット全体を、A と B というたった二つの記号を五つずつ並べて表すからです。これは、すべてを 0 と 1 という二桁で表す二進コードの根底にあるのと同じ発想であり、だからこのツールはまったく同じメッセージを A/B でも 0/1 でも表示できるのです。
ベーコン暗号はステガノグラフィにどう使われますか?
各記号は単に書体その一か書体その二なので、A/B のパターンを、わずかに異なる二つの形 — たとえば普通の書体とイタリック体、あるいは背の高い文字と低い文字 — で書くことで、なんの変哲もない運び手のメッセージの中に隠せます。運び手のテキスト五文字ごとに隠れた一文字が収まります。何気なく読む人にはふつうのメッセージしか見えず、秘密は文字を二つの形に振り分けてはじめて明らかになります。
ベーコン暗号は二進法と同じですか?
本質的には五ビットの二進法です。各コードは五つの位置からなり、位置ごとに二記号のうち一つが入るので、A/B が 0/1 にそのまま対応し、各文字が五桁の二進数に対応します。ベーコンはこれを1605年に考案しましたが、これは電子計算機が二進法を使うより三世紀以上も前であり、だから彼の暗号はしばしば二進符号化の初期の祖先として示されます。このツールでコードを A/B でも 0/1 でも見られます。
ベーコン暗号はどれほど安全ですか?
現代の基準では安全ではありません。あるテキストがベーコン暗号だと見抜いてしまえば、コードは鍵のない固定の換字なので、復号は純粋に機械的な作業です。その強みは決してかき混ぜることではなく、隠蔽 — 記号を普通のテキストの中に変装させ、メッセージが存在することそのものを覆い隠すこと — にありました。本当の保護には AES のような現代的なアルゴリズムを使ってください。ベーコン暗号は、パズルや学習、キャプチャー・ザ・フラッグのチャレンジのために取っておくのが一番です。
ベーコン暗号はスペースや句読点を保ちますか?
いいえ。暗号化は A から Z までの文字だけに対して行われます。スペースや数字、句読点にはそれ自身の五記号コードがないので、飛ばされるからです。つまり復号されたベーコンのメッセージは、元の区切りのないまま文字が続いた姿で戻ってきます。これはツールの限界ではなく、この暗号の正常な特徴です。
入力したテキストはサーバーに送信されますか?
いいえ。すべての暗号化と復号はブラウザ内だけで実行されるため、入力したテキストがアップロード・記録・保存されることはありません。共有リンクでさえ、テキストと設定を URL のハッシュ以降の部分に保持しますが、ブラウザはこの部分をサーバーに送信しないため、自分でリンクを共有するまでメッセージは非公開のまま保たれます。

関連ツール

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

シーザー暗号

ヴィジュネル暗号

アトバシュ暗号

レールフェンス暗号

プレイフェア暗号

アフィン暗号