2012-01-21 15 views
2

私はどこかで暗号化よりも速く復号化を行うことができました。これは正しいです?これはopensslかもしれない純粋なソフトウェアの実装です。AES暗号化と復号化の速度

+0

誰かが私の心をリフレッシュすることができた場合:私はいくつかの対称アルゴリズムが原因で、メモリのいくつかの種類の復号*若干*優れた性能を持っているか、問題を登録しなかったことを聞きました。このため、ストリーム暗号の暗号化の代わりに復号化を使用することができます(例としてJimが参考に提供されています)。私はそれがOpenSSL内のAESと関連しているとは思わない。 [crypto](http://crypto.stackexchange.com)の問題かもしれません。 –

答えて

3

ブロック暗号操作モードは、暗号化/復号化プロセスのパフォーマンスに直接影響する可能性があります。大ざっぱに言えば; AESがデータのブロックを暗号化している間に各ラウンドで実行される操作は、逆方向(復号化)で実行されるため、暗号化/復号化自体のパフォーマンスのばらつきを正当化することはできません。ブロック暗号モードの動作(例えば、CBC)の中には、入力ブロックを暗号化するときにシーケンシャル動作を必要とする一方で、復号においては連続動作を必要としない。 この問題に関するさらなる議論のために、このリンクをチェックしてください: https://security.stackexchange.com/questions/38055/why-does-aes-encryption-take-more-time-than-decryption

4

AESはシンメトリック暗号化であり、暗号化または復号化のどちらの速度でも同じです。実際には一部のストリーミングモードでは、AESは暗号化するデータでxoredされたビットストリームを生成し、受信者は全く同じAESを実行してxorと全く同じビットストリームを生成して解読します。

+0

ghostkadost、これは私の小さなタグに関係なく、完全に有効な答えです。私はあなたにそれを受け入れるようお勧めします... –

+0

CBCのようないくつかのモードで解読するときに使われるAES逆暗号は、私が理解しているように、逆ミックス列のステップはより多くの乗算を使用するため、いくつかのminx列の乗算を暗号化する場合はn * 1です。 –

+0

事前計算テーブルを使用して乗算を行う場合は、それ以上のテーブルルックアップが必要です。 –