4
VIC暗号エンコーダーを書く
VIC暗号はこれまでに考案された最も複雑な鉛筆と紙暗号の一つです。ソビエトのスパイReinoHäyhänen(コード名「VICTOR」)が1950年代に使用した主な原理は、難読化によるセキュリティです。多くの難読化の。 あなたの仕事は、メッセージを受け取り、VIC暗号を使用してエンコードするプログラムまたは関数を作成することです。私はまたしているここVIC暗号デコーダチャレンジを掲載します。次の指示のいずれかが不明な場合は、コメントでそれらについて尋ねることをtoしないでください。指示はこのサイトから適応されます。 VIC暗号のエンコード 準備 5つの入力が必要です。 平文メッセージ あなたの言語で最も一般的な文字を含む短いキーワードまたはフレーズ 引用や歌の行などのキーフレーズ(20文字以上) 日付(または6桁以上の別の数値) パーソナルエージェント番号 実際には、これらの最後の4つは、送信者と受信者のエージェント番号がエンコードで使用されるかどうかを含め、送信者と受信者によって事前に合意される必要があります。 私のメッセージ例は次のとおりです。 We are discovered. Take what you can. Burn everything else. Move to Safehouse Foxtrot 3. 英語でエンコードします(ただし、好みの言語とアルファベットを使用できます)A, E, I, N, O, R, S, T。英語のアルファベットで最も一般的な文字はです。キーワードを使用しますSENATORI。 私のキーフレーズは、リチャード・ファインマンの引用です:「最初の原則は、あなたは自分をだましてはいけないということです—そして、あなたはだますのが最も簡単な人です。」 日付として、2016年7月31日(形式3172016)を使用します。これは、この説明を書いた日です。 私が自分用に選んだ個人番号は9です。 手順の概要 次の手順で使用する中間キーを導出します。 跨ぐチェッカーボードを作成して適用します。 最初の転置テーブルを構築して適用します。 2番目の(中断された)転置テーブルを作成して適用します。 メッセージインジケータグループを挿入して、メッセージを完成させます。 サブメカニズム 問題の本質を説明する前に、2つの事柄を説明します。チェーンの追加と順次化のプロセスです。 ラグ付きフィボナッチジェネレーターとも呼ばれるチェーン加算は、開始桁シーケンスを取得し、最初の2桁を運ぶことなく加算し(それらを一緒に加算しmod 10)、結果を末尾に追加します。例えば: 79081 7 …