私はC#と暗号化に比較的慣れていないので、ご容赦ください。私は、かなりの量のデータを格納するビジネス アプリケーション (C#、.NET 4.0、VS 2010) に取り組んでおり、大量のデータを読み取り、それを表示するためにフィルター処理する必要があります (ほとんどの場合、 datagridview、時にはいくつかの計算...)。いずれにせよ、データは暗号化する必要があり、データ ファイルの一部のみを暗号化および復号化できる必要があります (ランダムな位置から書き込みおよび読み取りを行うため)。速度は不可欠です (ユーザーはデータの読み込みと表示を待つべきではありません)。セキュリティは二の次です。これが実行されるコンピューターは、少なくとも 2GB RAM を搭載した、少なくともデュアル コア 2.0+ Ghz です。
実行時に計算される比較的大きな (約 1MB) xor パッドを使用することを考えました。xor と組み合わせたバイナリのカスタム ファイル設計は、比較的優れたセキュリティと速度を提供するはずだと思います。しかし今、私はより強力なものを使用することを考え始めました。それでも十分に高速であれば、AES (おそらく .NET 実装: Rijindael または Serpent または Twofish) を使用することを考え始めました。では、何がベストだと思いますか?そのような場合、他の企業/開発者は通常何を使用しますか? AES の速度はどのくらいですか? I/O 操作はすでに非常に遅く、AES が事態をさらに悪化させるのか、それとも気づかないのかさえわかりません。
または、データを十分に高速に暗号化する方法について、他に何かアイデアはありますか?
ps 誰かがコードを正常に (!) デバッグまたは逆アセンブルした場合、データを復号化できることを知っています。
編集:私は顧客向けのカスタムアプリケーションを開発しているだけなので、より良いハードウェアを強制することはできません。より良いハードウェアをお勧めできます. 私のソフトウェアは、主に 3 つの部分、POS、サーバー、およびある種のマネージャーで構成されます。私の最初のアイデア (ある種の xor) が役に立たず、より良い暗号化を使用する必要があると思われる場合は、少なくとも、どのような種類のハードウェア (最小) が望ましい結果を提供するかを見積もってみてください (「十分に高速」 = 復号化はすべきではありません)。データ表示への影響。たとえば、データをロードして datagridview に表示するのに 1 秒かかる場合、復号化で同じことを行うのに 1.2 ~ 1.3 秒以上かかることはありません)。