2016-12-21 3 views
1

私はコンピューターサイエンスでエッセイを拡張しています。私は何をすべきかに固執しています。私はAESアルゴリズムまたは暗号化アルゴリズムのトピックに興味があります。しかし、コンピュータサイエンスは科学の対象であるため、私は実験を行う必要があります。しかし、私はそれをどのようにテストするべきかについては不明です。AESアルゴリズムをテストするにはどうすればよいですか?

さまざまな種類のファイルを暗号化することを考えました。ビデオ、写真、ワードファイルなどを分析し、他の暗号化アルゴリズムと比較してデータ転送速度や暗号化速度をテストします。私はあなたの誰かがこれをやる方法を教えたり、別の実験を勧めることができるかどうか疑問に思いました。私はそれが良いグレードに値するものではないこともできないほど簡単ではありません。ありがとう。 P.S.私は17歳(12歳)

+0

これはプログラミングサイトであるため、http://cs.stackexchange.com/でお尋ねください。 – kenorb

+0

有用な回答を受け入れることを検討してください。答えを受け入れることによって、それは正しい答えであることを将来の読者に示すことになります。 答えを受け入れるには最良の答えの横にある中空のチェックマークをクリックすると、評判が上がり、より多くの機能が使用できます。[reputation faq](http://stackoverflow.com/faq#reputation)このページ(http://meta.stackoverflow.com/questions/5234/how-does-accepting-an-answer-work)を参照してください。 また、過去の回答を受け入れることを検討してください。[reputation faq](http://stackoverflow.com/faq#reputation) – zaph

答えて

1

確かにここには研究の機会がたくさんあります。これについて興味があり、それを調べていることが、あなたにとって良いことです。

  • 対称対非対称暗号化(AESすなわち対RSA)
  • 異なる対称アルゴリズム(すなわち、ラインダール(現在のAESアルゴリズム)対:あなたは次の行に沿っていくつかの変数とテストのために制御したい可能性が高いでしょう(CTR vs. CBC vs. GCMなど)
  • 異なるデータサイズ(すなわち、線形に拡大縮小するか、正確には1000倍になりますか? 16000対16_000_000の間で16バイトを暗号化するのに長い?)

これらの実験を同じハードウェアで同じ言語で同じ言語で何度も実行して、まともなデータを取得したいと思うでしょう。特に、現代のCPUがAES-NI命令セットと暗号化データ用のカスタムレジスタを持っていることを考慮して、実験を行うことを忘れないでください。

以前のコーディング経験をお持ちでない場合は、Java、Ruby、およびPythonのすべてが非常に普及している暗号化ライブラリと広範なコミュニティを持っています。あなたがすでに1つ以上の特定の言語に精通しているなら、そのうちの1つを使用することをお勧めします。暗号特有の指示を学ぶのは難しいでしょう。新しい言語を学ぶことは、現時点では追加するのにおそらく不必要な負担です。

これは十分に漠然としているため、あなたの論文の調査と調査を行う必要がありますが、出発点を提示する必要があります。必要に応じて、特定の質問をフォローアップしてください。

+0

ありがとう、アルゴリズムの速度をテストする方法を知っていますか?暗号化に要する時間は他のものと比べてどれくらいですか? –

+0

両方の操作を実行し、時間を比較するテストハーネスを作成する必要があります。それぞれを複数回実行し、mean/median/std devを考慮したいと思うでしょう。ベンチマークを実行するライブラリはさまざまな言語で用意されていますが、基本的な考え方として、現在の時計の時間を記録し、アクションを実行し、時計の時間を再度記録し、引き算することです。 – Andy

関連する問題