これらの暗号化アルゴリズムを比較するための長所と短所を一緒に持っている人はいますか?
9 に答える
AESを使用します。
詳細:
- DESは、70年代からの古い「データ暗号化標準」です。そのキーサイズは適切なセキュリティには短すぎます(56有効ビット数。これは、10年以上前に実証されているように、ブルートフォース攻撃を受ける可能性があります)。また、DESは64ビットブロックを使用するため、同じキーで数ギガバイトのデータを暗号化する場合に問題が発生する可能性があります(現在、ギガバイトはそれほど大きくありません)。
- 3DESは、DESの3つのインスタンスを(個別のキーを使用して)カスケードすることにより、DES実装を再利用するためのトリックです。3DESは、少なくとも「2 112」のセキュリティまで安全であると考えられています(これは非常に多く、「今日のテクノロジーでは壊れない」という領域ではかなり遠いです)。ただし、特にソフトウェアでは低速です(DESは効率的なハードウェア実装用に設計されていますが、ソフトウェアを吸い込みます。3DESは3倍も吸い込みます)。
- Blowfishは、Bruce Schneierによって提案され、一部のソフトウェアに導入されたブロック暗号です。Blowfishは巨大なキーを使用でき、DESや3DESと同様に64ビットであるブロックサイズを除いて、安全であると考えられています。Blowfishは、少なくとも一部のソフトウェアプラットフォームでは、ソフトウェアで効率的です(キーに依存するルックアップテーブルを使用するため、パフォーマンスはプラットフォームがメモリとキャッシュを処理する方法に依存します)。
- AESは、米国の連邦組織の標準的な対称暗号化アルゴリズムとして(そして、他のほとんどすべての人にとっても標準として)DESの後継です。AESは、128、192、または256ビットのキーを受け入れ(128ビットはすでに非常に壊れにくい)、128ビットブロックを使用し(したがって問題はありません)、ソフトウェアとハードウェアの両方で効率的です。これは、数年間に数百人の暗号研究者が参加する公開コンテストを通じて選ばれました。基本的に、それ以上のものはあり得ません。
したがって、疑わしい場合は、AESを使用してください。
ブロック暗号は、「ブロック」(AESを使用した128ビットのデータチャンク)を暗号化するボックスであることに注意してください。128ビットより長くなる可能性のある「メッセージ」を暗号化する場合、メッセージをブロックに分割する必要があります。分割を行う実際の方法は、動作モードまたは「チェーン」と呼ばれます。ナイーブモード(単純分割)はECBと呼ばれ、問題があります。ブロック暗号を適切に使用することは容易ではなく、AESまたは3DESなどから選択するよりも重要です。
AESとBlowfishを除くこれらのスキームはすべて既知の脆弱性があるため、使用しないでください。ただし、BlowfishはTwofish
に置き換えられました。
説明されている暗号化方法は、対称鍵ブロック暗号です。
Data Encryption Standard(DES)はその前身であり、56ビットキーを使用して64ビットブロックのデータを暗号化します。各ブロックは個別に暗号化されますが、これはセキュリティの脆弱性です。
Triple DESは、各ブロックに3つのDES操作(キー0による暗号化、キー1による復号化、およびキー2による暗号化)を適用することにより、DESのキー長を拡張します。これらのキーは関連している可能性があります。
DESおよび3DESは通常、従来の商用製品およびサービスとのインターフェース時に発生します。
AESは、後継であり、最新の標準と見なされています。http://en.wikipedia.org/wiki/Advanced_Encryption_Standard
フグの使用はお勧めできません。
独自の暗号化を実装しようとせず、代わりに保存データにはGPG、転送中のデータにはSSL/TLSなどの高レベルの実装を使用することを強くお勧めします。これは、暗号化の脆弱性に関する優れた冷静なビデオですhttp://rdist.root.org/2009/08/06/google-tech-talk-on-common-crypto-flaws/
AESは対称暗号化アルゴリズムですが、RSAは非対称(または公開鍵)暗号化アルゴリズムです。暗号化と復号化はAESでは単一のキーで実行されますが、RSAでは別々のキー(公開キーと秘密キー)を使用します。128ビットのAESキーの強度は、2600ビットのRSAキーとほぼ同等です。
TripleDESCryptoServiceProviderは安全で優れたメソッドですが、遅すぎます。MSDNを参照したい場合は、TripleDESではなくAESを使用するようにアドバイスされます。以下のリンクを確認してください:http: //msdn.microsoft.com/en-us/library/system.security.cryptography.tripledescryptoserviceprovider.aspx この注意は備考セクションに表示されます。
注 新しい対称暗号化アルゴリズムであるAdvancedEncryptionStandard(AES)が利用可能です。TripleDESCryptoServiceProviderクラスの代わりにAesCryptoServiceProviderクラスを使用することを検討してください。TripleDESCryptoServiceProviderは、レガシーアプリケーションおよびデータとの互換性のためにのみ使用してください。
幸運を
AESは、現在使用されている標準アルゴリズムです(そのため、Advanced Encryption Standardという名前が付けられています)。
残りはそうではありません。
DES AES
Developed 1977 2000
Key Length 56 bits 128, 192, or 256 bits
Cipher Type Symmetric Symmetric
Block Size 64 bits 128 bits
Security inadequate secure
Performance Fast Slow