1
エニグママシンを実装する
Enigmaマシンは、ドイツ人などがメッセージを暗号化するために使用するかなり複雑な暗号マシンです。このマシンを実装するのはあなたの仕事です*。 ステップ1、回転 エニグママシンには、ローター用に3つのスロットがあり、これらの各スロットに5つの使用可能なローターがあります。各ローターには、26の異なる位置(A〜Z)があります。各ローターには、事前定義されたノッチ位置があります。 Rotor Notch ------------ 1 Q 2 E 3 V 4 J 5 Z キーを押すと、次の手順が発生します。 スロット1のローターが回転します スロット1のローターがノッチを通過すると、スロット2のローターが回転します。 スロット2のローターがそのノッチにある場合(ただし、そこに移動しただけではない場合)、ローター2と3の両方が1回転します。 私たちはローター1,3,5を使用していて、彼らは位置にある場合はP,U,H、その後位置の順序は次のとおりです。P,U,H> Q,U,H> R,V,H>S,W,I ステップ2、置換 各ローターは、単純な文字置換を実行します。以下は、A位置にある各ローターのチャートです。 ABCDEFGHIJKLMNOPQRSTUVWXYZ -------------------------- 1 EKMFLGDQVZNTOWYHXUSPAIBRCJ 2 AJDKSIRUXBLHWTMCQGZNPYFVOE 3 BDFHJLCPRTXVZNYEIWGAKMUSQO 4 ESOVPZJAYQUIRHXLNFTGKDCMWB 5 VZBRGITYUPSDNHLXAWMJQOFECK R YRUHQSLDPXNGOKMIEBFZCWVJAT 位置Tのローター1はPAIBRCJEKMFLGDQVZNTOWYHXUS、の代わりに文字Cを使用しIます。 3つのローターが置換を実行した後、リフレクターがヒットします(R上記のリストにあります)。独自の置換を実行し、信号をローターに反映します。次に、ローターは逆の順序で逆置換を実行します。 代わりに、1個の置換ロータの逆置換手段AとE、それは代入しEてA スロットには、すべての位置にあるローター1、2、3が充填されていAます。手紙はローターを通るQ経路Q>X>V>Mをたどります。 Mに反映しO、それはの逆経路をたどるO>Z>S>S。したがって、Aはに置き換えられSます。 入出力 合格しました: 3つのローターのリスト(整数として) 3つの開始ローター位置のリスト(文字として) 暗号化する必要がある文字列。 入力は整形式で、すべての文字はスペースでなく大文字であると想定できます。 …