3

私はC#でソフトウェアを開発しており、これまでは.NETに含まれている暗号化ライブラリ(特にAesCryptoServiceProvider)を使用していましたが、今は特別なニーズがあり、BouncyCastleAPIに移行する必要があります。いくつかのテストを行ったところ、これらのAPIは、.NETFrameworkに含まれているものと比較して遅いことがわかりました。彼らのパフォーマンスを改善する方法について何かアイデアはありますか?これは私が使用している暗号です: IBufferedCipher cipher = new CtsBlockCipher(new CbcBlockCipher(new AesFastEngine()));

RijndaelManaged具体的には、同じ長さの入力ファイルと出力ファイルの両方が必要であり、.NET (この種の動作を保証できる唯一のクラス)は。よりもはるかに遅いため、BouncyCastleAPIに移行する必要がありますAesCryptoServiceProvider

1.7MBのファイルを暗号化するにAesCryptoServiceProviderは、私のマシンでは約40ミリ秒、BouncyCastleでは約170ミリ秒かかります。それほど多くはないように見えますが、1分あたり数百のリクエストがあるサーバーでこのソフトウェアを使用する必要があります...

どうもありがとうございます!!

4

1 に答える 1

0

ストリーム暗号が必要なようですので、Salsa20を調べてみてください。一般的には速いはずです。そして、弾力がある城には実装があります(Salsa20Engine)。

于 2012-11-06T15:29:49.117 に答える