0

私は最近暗号を始めました。私の仕事の 1 つは、カーマ スートラ暗号を作成することでした。キーを生成する時点まで、問題はありません。しかし、カーマ スートラの性質上、キーはプログラムにハード コードされるのではなく、取り込んだプレーン テキストごとに生成されると考えられます。

私が理解しているのは、暗号文の長さは平文の長さと同じでなければならないということです。ただし、問題は、暗号文がプログラムによって生成されている限り、プログラムが閉じられていてもプログラムが解読できるように、キーをどこに配置するかということです。これがアルゴリズムであることを考えると、キーを別のフラット ファイル/データベースに格納することを考えるべきではないと確信しています。

この暗号に関するオンラインの関連情報はあまりありません。私が見たのは、キーセットをランダム化し、指定されたキーセットに基づいて暗号テキストを生成できるものです。復号化するときは、同じ鍵セットも提供する必要があります。これは正しい実装方法ですか?

詳しい方、ご指導よろしくお願いします。

4

1 に答える 1

2

暗号文を解読できるようにしたい場合は、必要なときにいつでもキーを回復できる必要があります。古典的な暗号の場合、これは通常、複数のメッセージに同じ鍵を使用して行われます。例については、Caesar Cypher を参照してください。シーザーは一定のキー、-3/+3 シフトを使用し、アウグストゥスは +1/-1 シフトを使用しました。

固定キーと可変キーのどちらが必要かについては、インストラクターに相談してください。

固定キー バージョンを開発し、その上にさまざまなキー機能を追加する方が簡単です。そうすれば、プログラムの残りの部分を正しく動作させることができます。

また、キーフレーズを使用してアルファベットを混合するための従来の手法を確認することもできます。

于 2012-07-15T16:03:08.223 に答える