2017-01-15 4 views
0

私はコンピューターサイエンスのエッセイの実験をしています。トピックは暗号化です。私は、AES CryptとBlowfishを使って暗号化されたファイルのファイルサイズを比較したいと思います。私はBigOを両方とも私のエッセイの要件として計算する必要があります。私はこれを行う方法がわからないので、もし誰かが私を助けることができれば、私はとても感謝しています。BigO表記の計算

このトピックの正当性についての意見もありますが、どのアルゴリズムが最小のファイルサイズを生成し、結果が線形かどうかを調べています。私は、ビジネスがメモリとリソースの使用を減らすことを望むかもしれないなど、いくつかの正当性を持っています。ファイルのサイズが小さいほど転送速度が速く、ダウンロードは高速です。ありがとうございました。

答えて

1

AESおよびBlowfishな​​どの暗号化アルゴリズムは、それ自体で各入力バイトごとに1つの出力バイトを生成するため、AESおよびBlowfishは同じ出力サイズを生成します。

例外:どちらもブロックベースのアルゴリズムであり、暗号化モードによっては、入力サイズをブロックサイズの倍数に埋め込む必要があるため、出力がはるかに大きくなります。 AESの場合、ブロック・サイズは16バイトです.Blowfishの場合、ブロック・サイズは8バイトです。そのため、出力は入力より1ブロック大きいブロックサイズになります。

いくつかの暗号化アルゴリズムをサポートするOnline encrypt toolのようなオンラインツールがあります。注:AESは本質的にRijndael-128です。

意見:このトピックについての正当な理由はなく、よく理解され、文書化されています。しかし、BlowfishはAESほど安全ではないと考えられているので、Blowfishの著者でさえAESを使用したとしても、AESを選択する必要があります。

注:多くのCPUにはAESの最適化手順が記載されているため、一般にAESが最適です。

+0

ありがとう、ありがとうございます。私は暗号文が平文とは大きさが違うことを理解しました。私はそれがちょうど詰め物だったことを理解する。しかし、パッディングが暗号化されたときにファイルにいくらかのサイズが追加されたため、これを調査してパターンがあるかどうかを調べ、平文のファイルサイズと暗号文の共通の比率。また、私は主に2つのアルゴリズムのBigOを計算するのに助けが必要でした。 –

+0

各暗号化のセットアップ時間があり、時間と計算は本質的に線形のO(n)である。パディング(8または16バイト)は、データ長が長くなるにつれて重要ではありません。オールインワンにはここには何も見えません。 – zaph

+0

@TreyAesthetics Zaphは正しいですが、あなたが選んだ話題はあなたに非常に退屈な結果を与えるでしょう。パディングのパターンは16の倍数に丸められ、ほとんどすべての暗号化アルゴリズムはO(n)で動作するため、パターンはありません。 –

関連する問題