web-dev-qa-db-ja.com

データのDES、Triple DES、AES、フグ暗号化の比較

誰かがこれらの暗号化アルゴリズムを比較するために一緒に賛否両論がありますか?

137
yogsma

AESを使用してください。

詳しくは:

  • DESは70年代からの古い「データ暗号化規格」です。その鍵サイズは適切なセキュリティには短すぎる(56有効ビット;これは実証済みのようにブルートフォースになる可能性がある 10年以上前 )。また、DESは64ビットブロックを使用するため、同じキーを使用して数ギガバイトのデータを暗号化するときに問題が生じる可能性があります(ギガバイトはそれほど大きくはありません)。
  • 3DESは、DESの3つのインスタンスを(個別のキーで)カスケードすることによって、DES実装を再利用するためのトリックです。 3DESは少なくとも "まで安全であると考えられています2112「セキュリティ(これはかなりの数であり、「今日のテクノロジでは壊れない」という分野ではかなり遠いです。)しかし、特にソフトウェアでは遅い(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の間で選択することよりも重要である。

242
Thomas Pornin

AESとBlowfishを除くこれらのスキームはすべて既知の脆弱性があるため、使用しないでください。
しかし、Blowfishは Twofish に置き換えられました。

24
SLaks

説明されている暗号化方式は、対称鍵ブロック暗号です。

データ暗号化規格(DES)は、56ビットキーを使用して64ビットブロックのデータを暗号化する前身です。各ブロックは個別に暗号化されているため、セキュリティ上の脆弱性があります。

Triple DESは、各ブロックに3つのDES操作を適用することによって、DESのキー長を拡張します。キー0による暗号化、キー1による復号化、およびキーによる暗号化これらのキーは関連している可能性があります。

DESおよび3DESは通常、従来の商用製品およびサービスとやり取りするときに発生します。

AESは、後継の近代的な標準と見なされています。 http://en.wikipedia.org/wiki/Advanced_Encryption_Standard

Blowfishの使用はお勧めできません。

独自の暗号化を実装せずに、保存データ用のGPGや送信データ用のSSL/TLSなどの高レベルの実装を使用することを強くお勧めします。これが暗号化の脆弱性に関する優秀で落ち着かないビデオです http://rdist.root.org/2009/08/06/google-tech-talk-on-common-crypto-flaws/

11
rohannes

AESは対称暗号化アルゴリズムで、RSAは非対称(または公開鍵)暗号化アルゴリズムです。 RSAでは別々の鍵(公開鍵と秘密鍵)を使用しますが、AESでは暗号化と復号化は単一の鍵で行われます。 128ビットのAESキーの強度は、2600ビットのRSAキーとほぼ同じです。

8
BHEEMA RAM

TripleDESCryptoServiceProviderは安全で優れた方法ですが、遅すぎます。 MSDNを参照したい場合は、TripleDESではなくAESを使用することをお勧めします。以下のリンクを確認してください。 http://msdn.Microsoft.com/ja-jp/library/system.security.cryptography.tripledescryptoserviceprovider.aspx あなたは備考欄にこの注意が表示されます。

新しい対称暗号化アルゴリズムであるAdvanced Encryption Standard(AES)が使用可能です。 TripleDESCryptoServiceProviderクラスの代わりにAesCryptoServiceProviderクラスを使用することを検討してください。 TripleDESCryptoServiceProviderは、従来のアプリケーションとデータとの互換性のためにのみ使用してください。

がんばろう

4
QMaster

enter image description here

DESは70年代からの古い「データ暗号化規格」です。

1
Keshav Gera
                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
0
ikarayel

AESは現在受け入れられている標準アルゴリズムです(したがって、Advanced Encryption Standardという名前になります)。

残りはそうではありません。

0
Ian Boyd