.NET が提供する暗号化アルゴリズムの概要

.NET が提供する暗号化アルゴリズムの概要

データは、対称暗号化アルゴリズムまたは非対称暗号化アルゴリズムを使用して暗号化できます。対称暗号化は非対称キーよりもはるかに高速ですが、対称キーでは安全なキー交換の問題を解決する必要があります。 .NET Framework では、System.Security.Cryptography 名前空間のクラスを使用して暗号化を実行できます。いくつかの対称および非対称アルゴリズムを実装します。 .NET 3.4 以降、一部の新しいクラスには、Cryptography Next Generation を意味する Cng というプレフィックスまたはサフィックスが付けられ、Windows NT 6.0 以降のカーネル バージョン (Vista、Win7、Win2008、Win8) を使用するオペレーティング システムで使用されます。この API を使用すると、プロバイダーベースのモデルを使用してアルゴリズムに依存しないプログラムを作成できます。

次のリストには、System.Security.Cryptography 名前空間の暗号化クラスとその機能が含まれています。 Cng、Managed、または CryptoServiceProvider サフィックスのないクラスは、MD5 などの抽象基本クラスです。 Managed サフィックスは、アルゴリズムがマネージ コードで実装され、他のクラスが内部 Windows API 呼び出しをカプセル化する可​​能性があることを示します。 CryptoServiceProvider サフィックスは抽象基本クラスを実装するクラスに使用され、Cng サフィックスは特定のバージョンのオペレーティング システムでのみ使用できる新しい Cryptography CNG API を利用するクラスに使用されます。

カテゴリ親切説明する

散らばる

リスト

MD5、MD5Cng

SHA1、SHA1マネージド、SHA1Cng

SHA256、SHA256Managed、SHA256Cng

SHA3​​84、SHA384Managed、SHA384Cng

SHA512、SHA512Managed、SHA512Cng

ハッシュ アルゴリズムの目的は、任意の長さのバイナリ文字列から固定長のハッシュ値を作成することです。これらのアルゴリズムは、データの整合性を確保するためにデジタル署名と組み合わせて使用​​されます。同じバイナリ文字列を再度ハッシュすると、同じハッシュ結果が返されます。 MD5 (Message Digest Algorithm 5) は RSA Laboratories によって開発され、SHA1 よりも高速です。 SHA1 はブルートフォース攻撃に対して比較的強力です。 SHA アルゴリズムは、米国国家安全保障局 (NSA) によって設計されました。 MD5 は 128 ビットのハッシュ値を使用し、SHA1 は 160 ビットのハッシュ値を使用します。他の SHA アルゴリズムでは、名前にハッシュの長さが含まれます。 SHA512 はハッシュ長が 512 ビットで、これらのアルゴリズムの中で最も強力ですが、最も低速でもあります。

言う

DES、DESCryptoServiceProvider

トリプルDES、トリプルDESCryptoServiceProvider

AES、AESCryptoServiceProvider、AESManaged

RC2、RC2CryptoServiceProvider

Rijandel、Rijandel管理

対称キー アルゴリズムでは、同じキーを使用してデータを暗号化および復号化します。 DES (データ暗号化標準) は、56 ビットのキーのみを使用し、24 時間以内に解読できるため、現在では安全ではないと考えられています。トリプル DES は DES の後継であり、キーの長さは 168 ビットですが、提供される有効なセキュリティは 112 ビットのみです。 AES (Advanced Encryption Standard) は米国政府が採用している暗号化規格で、キーの長さは 128、192、または 256 ビットです。 Rijandel は AES と非常に似ていますが、キーの長さのオプションがより多くあります。

いいえ

言う

DSA、DSACryptoServiceProvider

ECDsa、ECDsaCng

ECDiffieHellman、ECDiffieHellmanCng

RSA、RSACryptoServiceProvider

非対称アルゴリズムでは、暗号化と復号化に異なるキーが使用されます。 RSA (Rivest、Shamir、Adleman) は、署名と暗号化に使用された最初のアルゴリズムでした。このアルゴリズムは、電子商取引プロトコルで広く使用されています。 DSA (デジタル署名アルゴリズム) は、米国連邦政府のデジタル署名標準です。 ECDsa (楕円曲線 DSA) と ECDiffieHellman は、楕円曲線グループに基づくアルゴリズムを使用します。これらのアルゴリズムはより安全で、より短いキー長を使用します。たとえば、キー長が 1024 ビットの DSA は、キー長が 160 ビットの ECDsa と同じくらい安全です。したがって、ECDsa は高速です。 ECDiffieHellman アルゴリズムは、公開チャネルを介して秘密鍵を安全に交換するために使用されます。

パフォーマンスについて少し補足します。同じアルゴリズムに対して、 CryptoServiceProvider、Managed、Cng の 3 つの実装があります。Managed に MD5 が実装されていないハッシュでメソッドをテストし、「Test」文字列のハッシュ値を 100,000 回計算しました。

見えます。 Cngアルゴリズムの速度は最悪で、Cspは中間です。マネージド実装は非常に高速です。また、SHAアルゴリズムのビット数を増やすと、384ビットに達すると違いは明らかではなくなり、Cspアルゴリズムに必要な時間が最も短くなります。これは、オペレーティングシステムAPI呼び出しによって形成される利点だと思います。

オリジナルリンク: http://www.cnblogs.com/lekko/archive/2012/09/11/2680288.html

<<:  アルゴリズム設計者が新たな人気者になる

>>:  アリの採餌とインターネットアルゴリズム

ブログ    
ブログ    
ブログ    

推薦する

...

...

ChatGPT で半日の作業を 20 分に短縮

みなさんこんにちは、私はクン兄さんですここ数ヶ月、私はウェブサイトの開発とAI関連の知識の学習に忙し...

...

5分で様々な人工知能技術を紹介

人工知能は、コンピューターが人間と同様のレベルの知能を発揮できるようにするさまざまな技術を網羅する幅...

WindowsとOfficeは使いやすく、大型モデルのインテリジェントエージェントはコンピュータを操作するのにとてもクールです

AI アシスタントの将来について語るとき、アイアンマン シリーズに登場する魅力的な AI アシスタン...

人工知能教育とは何ですか?将来の教育の顕著な特徴は何でしょうか?

グローバル情報化教育の時代において、教育モデル、教育内容、学習方法は大きな変化を遂げており、人工知能...

人工知能の現状を理解するための12枚の写真

スタンフォード大学の人間中心の AI 研究所 (HAI) は毎年、人工知能の現状をまとめた膨大なデー...

AIがサイバーセキュリティに与える影響

人工知能(AI)は、人間の知能をシミュレート、拡張、拡大するための理論、方法、技術、アプリケーション...

心理意味論の観点から見た顔認識

人々は日常生活の中で、見知らぬ人の顔だけでなく、身近な親戚、友人、同僚、有名人の顔など、さまざまな顔...

...

開始から中止まで: ディープラーニングにおけるモデル蒸留技術

[[321813]]この記事の内容の一部はブログリンク[1]からのものであり、私が読んだいくつかの論...

...

...