秘密の暗号とコードを発明し解読する方法

ページ名:秘密の暗号とコードを発明し解読する方法

映画に出てくるスパイやトレジャーハンターは暗号を解読するのが超複雑に見えるが、実は自分だけの秘密の暗号やコードを簡単に作ることができる。政府の特別な訓練もスパイ学校も必要ない。必要なのは、ちょっとした創造的思考と、一緒に楽しむ数人の友達だけ。コードや暗号の作り方、そして最も一般的な暗号の読み方について、必要なことをすべてお教えします。読み終えたら、次に友達に会ったときに、あなただけの秘密の言語でコミュニケーションを始めてみましょう。

知っておくべきこと

  • パッと見ただけでは読みにくいように、単語を逆に書き出す。例えば、"How are you? "は "Woh era uoy? "となる。
  • 例えば、片思いの相手が部屋に入ってきたら、友達に "Code pink!"と言うように。
  • メッセージを暗号化するには、書いた文字をアルファベットの次の文字に置き換える。つまり、"Hello "は "Ifmmp "になる。
方法1

簡単な暗号を使う

  1. 単語を逆に書き出す。これは、パッと見ただけではわからないようにする簡単な方法だ。外で会おう」というメッセージを逆に書くと、"Teem em edistuo "となる。
  2. アルファベットを半分に割り、メッセージの各文字をその反対の文字に置き換える。AからMまでのアルファベットを紙に一行で書く。その真下に、NからZまでを同じく一行で書く。メッセージの各文字を、先ほど作ったグリッドの真下または真上の文字に変更する。
    • 例えば、AをNに、BをOに、CをPに、といった具合だ。
    • アルファベットを反映させれば、"Hello "というメッセージは "Uryyb "となる。
  3. に三目並べを描こう。紙の上に三目並べを描き、AからIまでのアルファベットを左から右へ、上から下へ、1マスに1文字ずつ書き出す。この例では
    • 一列目はA、B、C。
    • 列目はD、E、F。
    • 最後の列はG、H、Iで構成されている。
  4. 2つ目の三目並べを作るが、各ボックスに点を描く。もう1つの三目並べグリッドを最初のグリッドの隣に描く。最初の方眼紙と同じように、JからRまでの文字で方眼紙を埋める。次に、次のように、それぞれのスペースに小さな点を描く:
    • 一列目は左から、右下隅(Iの文字)、下側の真ん中(Kの文字)、左下隅(Lの文字)に点を置く。
    • 2列目は左から、右側の真ん中(Mの字)、下側の真ん中(Nの字)、左側の真ん中(Oの字)に点を置く。
    • 3列目は左から、右上角(Pの文字)、上辺の中央(Qの文字)、左上角(Rの文字)に点を置く。
  5. X字型の格子を2つ描き、残りの文字を塗りつぶす。つ目のXには、S、T、U、Vの文字を入れる。2つ目のXには、Xが交差する部分を囲む空いたスペースに点を置き、Xの中心の両側に点があるようにする。
    • 最初の(点線のない)Xの形には、上のスペースにS、左側にT、右側にU、下側にVを書く。
    • 2つ目の(点線の)Xの形には、上部にW、左側にX、右側にY、下部にZを書く。
  6. 文字を囲む格子を利用してピグペン暗号で書く。文字を囲む格子の形(点を含む)は文字そのものの代用として使われる。ピグペン暗号キーは、ピグペンへのメッセージの出入りに使用します。
  7. 日付シフト暗号で使用する特定の年、月、日を選びます。これは個人的に意味のあるものかもしれないし、任意のものかもしれない。日付を切れ目のない数字の羅列として書き出す。これがあなたのナンバー・キーとなり、あなたのメッセージを解読するのに必要なツールとなる。
    • 例えば、ジョージ・ワシントンの誕生日(1732年2月22日)を使ってみましょう。番号キーは2221732となります。
    • もしあなたがすでに誰かと日付シフト暗号を使うことに合意しているなら、お互いに数字キーについて話すためのヒント(「ワシントン」のような)を考えましょう。
  8. メッセージの各文字の下に、日付シフト数字キーの数字を1つずつ書く。メッセージを紙に書き出す。メッセージの下に、メッセージの一文字ごとに数字キーの一桁の数字を書き出します。数字キーの最後の桁に達したら、そのキーを最初から繰り返します。例えば、ジョージ・ワシントンの誕生日(1732年2月22日)を使います:
    • メッセージお腹がすいた
    • 暗号化する:
      I.m.h.u.n.g.r.y
      2.2.2.1.7.3.2.2
      数字キーに従ってアルファベットを前進させる。
    • コード化されたメッセージK.O.J.V.U.J.T.A
  9. ピッグ・ラテン語のような秘密の言語を使って、暗号で話したり書いたりする。子音で始まる単語は、その音を語尾に移動させ、"ay "を付けます。子音の集まりで始まる単語も同じだ。母音で始まる単語は、語尾に "way "または "ay "が付くだけです。
    • 子音の頭文字の例: pig = igpay ; me = emay ; too = ootay ; wet = etway ; hello = ellohay
    • 子音群の頭音の例: glove = oveglay ; shirt = irtshay ; cheers = eerschay
    • 母音の頭文字の例: ate = ateway ; egg = eggay ; until = untilay ; eat = eatay
方法2

独自のコードを作る

  1. 自分のコードを破られにくくするために何ができるか考えてみよう。コードブックは盗まれたり、紛失したり、破壊されたりする可能性がありますし、現代の技術やコンピュータ・プログラムは、強力でよく計画されたコードでさえ、しばしば破ることができます。しかし、コードは長いメッセージを1行に凝縮するために使うことができ、時間の節約になります。コードをより強固で解読しにくいものにするために、使用する記号や単語の複雑さについて考えてみましょう。
  2. どのようなメッセージにコードを使うかを決めましょう。最初からコードの目的を知っていれば、無駄な作業を避けることができます。例えば、時間を節約することが目的であれば、必要なコード・ワードや記号は限られているかもしれません。本当に長くて詳細なメッセージを暗号化するのであれば、辞書のようなコードブックを開発する必要があるかもしれません。
    • 複数の異なるコードをローテーションまたは組み合わせて使用することで、コードをさらに複雑にすることができます。ただ、使用するコードが増えれば増えるほど、復号のためのコードブックも増えることに留意してください。
  3. 一般的な言葉に代わるコード・ワードやフレーズを考えましょう。一般的なフレーズを1つのコードワードに凝縮することから始めよう。例えば、"Reading you loud and clear "は、"Roy "のようなランダムな名前にすることができる。次に、メッセージの主題にとって特に重要な言葉を、独自のコードワードに置き換える。名前、場所、行動などは、コードワードに置き換えるのがベストです。
    • これらのコードワードとその意味を、辞書のようなコードブックに書き留める。
    • メッセージの中の単語ひとつひとつにコードワードを作る必要はありません。言いたいことを部分的にコード化するだけでも効果は同じです。
    • 例えば、次のメッセージは最も重要な単語だけをコードワードに置き換えています。この場合、"タンゴ "は "散歩"、"レストラン "は "美術館"、"ロイ "は "あなたの声をはっきりと読む "という意味です。
      • メッセージ昨日のことだけど。言いたかったのは、ロイ。予定通りレストランまでタンゴで行くよ。オーバー&アウト。
      • 意味は昨日のことだけど。私は言いたかったんだ、君の声をはっきりと読んで。私は予定通り美術館まで歩きます。Over and out.
  4. コードブックをメッセージに適用するコード・ブックにあるコード・ワードを使って、メッセージをエンコードしてみましょう。メッセージの暗号化を簡単にするために1つのコードだけを使ったり、より複雑にするために複数のコードを使ったりします。
  5. メッセージを暗号化する別の方法として、キーワードを使います。メッセージの各文字の下にキーワードを1文字ずつ書きます。メッセージの最後までキーワードを繰り返します。あなたのメッセージの各文字が、キーワー ドの文字から何スペース離れているかを数えます。この数をメモし、メッセージの各文字について繰り返します。エンコードされたメッセージは数字の羅列となり、受信者はキーワードを使って解読する必要があります。
    • 例えば、"SECRET "というキーワードの場合、メッセージの各文字は、アルファベットに沿って、キーワードの対応する文字との間の文字数に変換されます。キーワードの1文字がメッセージの各文字に割り当てられる。
    • あなたのメッセージのすべての文字が対応する文字になるまで、キーワードを繰り返してください。
      • メッセージこんにちは
      • エンコード
        /H/はキー/S/から11文字離れている。
        /e/はキー/E/と同じ(ゼロ)
        /l/はキー/C/から9文字離れている。
        などなど
      • コード化されたメッセージ11; 0 ; 9 ; 6 ; 10
  6. コードブックや鍵を使ってメッセージを解読しよう。コード化されたメッセージを受け取ったら、コードブックやキーを参照して意味を理解しましょう。最初は少し時間がかかるかもしれませんが、コードに慣れるにつれて直感的に理解できるようになります。すぐに、何でもないことのようにコードを読めるようになるでしょう。
方法3

よく使われるコードを学ぶ

  1. スコットランド女王メアリーが使っていた暗号を使ってみよう。政治的混乱期にメッセージを送ろうとしていたスコットランドの女王メアリーは、英字や一般的な単語の代わりに記号を暗号として使った。英国の国立公文書館に行けば、その暗号を見ることができる。メアリーの暗号の特徴として、あなた自身が暗号作成に挑戦する際に役立つと思われるものをいくつか挙げてみよう:
    • メアリーが/A/の文字に円を使っているように、頻度の高い文字には単純な形を使う。これにより、エンコードにかかる時間を短縮できる。
    • メアリーが "Y "のコードとして "8 "を使ったように、新しいコード言語の一部として使われる一般的な記号。これらはコードブレーカーを混乱させ、コードシンボルではなく数字として解釈される可能性があります。
    • 一般的な言葉に対する独自の記号。マリアの時代には、"pray "と "bearer "にはユニークな記号が使われていたが、当時は現在よりも一般的だった。それでも、頻繁に使われる単語や語句に記号を使うことは、時間の節約になり、複雑さを増す。
  2. 緊急警報のような色分けをする。コード・フレーズは、一つのフレーズに多くの意味を詰め込むことができる。DEFCONシステム、セキュリティアラート、医療アラートなど、多くの組織が特定の緊急事態やその他の状況を示すために特定の色を使用しています。 このシステムを模倣するために、日常生活に当てはまるコードワードとして使用する色をいくつか考えてみましょう。また、緊急事態に関連したものである必要はない。
    • 例えば、友達の間で「ロッカーに逃げなきゃ」と言う代わりに、"Code green "という合言葉を使う。
    • デートしたい人が部屋に入ってきたことを友達に知らせるには、"Code pink!"という合言葉を言うかもしれない。
  3. 本の鍵コードを使ってメッセージを暗号化する。ありがたいことに、本は簡単に手に入る。この方法を使うには、まず暗号の鍵にする本を決める。メッセージをエンコードするときは、本の中から送りたい単語を探し出し、ページ番号、その単語がある行番号、左から始まる行の中での単語の位置の3つの数字を受信者に送る。
    • 本の版によってページ番号が異なる場合があります。正しい本をキーとして使用するために、本のキーには版や出版年などの出版情報を含めてください。
    • たとえば、フランク・ハーバートの『デューン』を使うことに決めたとします:
      • エンコードされたメッセージ:224.10.1 ; 187.15.1 ; 163.1.7 ; 309.4.4
      • 解読されたメッセージ私は言葉を隠している。
方法4

自分の暗号を開発する

  1. どのようにして暗号を強化できるか、アイデアを出してください。暗号はアルゴリズムを使いますが、これはメッセージに一貫して適用されるプロセスや変換のようなものです。つまり、暗号を知っている人なら誰でもそれを翻訳することができるということです。一方、暗号は単純な暗号語よりもはるかに複雑な場合があるため、あなたのメッセージは普通の人々からより安全に保たれる可能性があります。
    • 多くの暗号技術者は、暗号を強化するために日付のようなキーを追加する。このキーは、出力値をその月の対応する日の数字で調整する(1日には、すべての出力値が1ずつ変更される)。
  2. メッセージに適用するアルゴリズムを発明する。全く新しいアルゴリズムを発明することもできるし、(シーザー暗号とも呼ばれる)ような既存のものを使うこともできる。この方法は、メッセージの各文字を単純に一文字ずつ回転させるだけである。
    • ROT1 メッセージこんにちは
    • ROT1 暗号化: i ; f ; m ; m ; p
    • シーザー暗号は、異なる文字数だけ前方に回転するように変更することができる。つまり、1文字だけでなく3文字前方に回転させることもできる。この場合、"Hello" は k ; h ; o ; o ; r となる。
  3. アルゴリズムを適用してメッセージの暗号化を開始する。より複雑にするためにアルゴリズムに追加する。例えば、曜日のような回転条件を暗号に加える。曜日ごとに1から7までの値を割り当てる。その曜日にメッセージを暗号化するときは、この値で暗号を調整する。月曜日は1文字前倒し、火曜日は2文字前倒しといった具合だ。
  4. それを暗号に従って開始する。暗号を何度も何度も読み返すことで、経験を積むにつれて解読が楽になる。暗号の素晴らしいところは、そのアルゴリズムが一貫しており、たいてい何らかのパターンに従っていることだ。暗号を読む習慣をつけることで、その傾向に気づき、より早く解読できるようになります。
方法5

一般的な暗号を学ぶ

  1. .モールス信号はその名前に反して、実際には暗号であってコードではない。ドットとダッシュは長短の電気信号を表し、それがアルファベットを表している。モールス信号の一般的な文字は、長い信号( _ )と短い信号(.)で表され、以下のようなものがある:
    • r ; s ; t ; l = ._. ; _.. ; _ ; ._.
    • a ; e ; o : ._ ; .
  2. 転置暗号を利用する。天才レオナルド・ダ・ヴィンチのように、歴史上の多くの偉人は、鏡に映るようにメッセージを書き出している。メッセージを書くときは、左から右ではなく右から左に書き、それぞれの文字を逆に書きます。
    • 転置暗号は一般的に、メッセージや文字の形成を視覚的に扱う。メッセージのイメージは、その意味を隠すために物理的に別のものに変換される。
  3. バイナリで書くことによってメッセージを隠す。バイナリはコンピュータが使用する1と0の言語である。メッセージの暗号化と解読には、バイナリ・アルファベット表を使います。メッセージを暗号化するときは、2進数の各行の間隔をはっきりと空けて、1つの文字がどこで終わり、次の文字がどこで始まるかを相手に知らせましょう。
    • Matt "という名前はバイナリ暗号化すると次のようになる:01001101 ; 01000001 ; 01010100 ; 01010100.
この記事はCC BY-NC-SAの下で公開された " How to Invent and Decode Secret Ciphers and Codes " を改変して作成した。特に断りのない限り、CC BY-NC-SAの下で利用可能です。

シェアボタン: このページをSNSに投稿するのに便利です。

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する

NG表示方式

NGID一覧