.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

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

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

ブログ    

推薦する

未来に向けて、自動運転のための初のマルチビュー予測+計画世界モデルが登場

最近、ワールドモデルという概念が大きな盛り上がりを見せており、自動運転の分野もただ黙って見ているわけ...

RPAとAIを組み合わせることで、自動化の新しい世界が開かれます

たとえば、ボットに請求書を分析してもらい、それを社内の適切な連絡先に送信させたいとします。十分簡単そ...

人工知能チュートリアル(I):基礎

今日、コンピュータサイエンスの分野の学生や実務家にとって、人工知能、データサイエンス、機械学習、ディ...

人工知能はどのような革新と影響をもたらすのでしょうか?

現在、我が国の政策の推進と各方面の支援により、人工知能の発展は急速に進んでいます。人々が最も関心を持...

...

...

大きなモデルは本当にすべてを解決できるのでしょうか?知識駆動型自動運転に関する考察

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

...

GIF 圧縮アルゴリズムの発明者が IEEE の最高栄誉賞を受賞

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

人工知能は衛星地図の鮮明度を向上させ、世界の再生可能エネルギープロジェクトや森林被覆率を示す

マイクロソフトの共同創業者ポール・アレン氏が設立したアレンAI研究所は最近、Satlasと呼ばれる新...

...

チャットボット開発の三銃士: LLAMA、LangChain、Python

チャットボットの開発は、複数のテクノロジーとツールを組み合わせて使用​​する必要がある複雑で困難な作...

もう学べないの? MIT CSおよびEEオンラインコースが利用可能になりました

[[320783]]流行病のため、MIT学長は3月初旬に残りの授業をすべてオンラインに移行するという...

工業情報化省がロボット産業の「第14次5カ年計画」を発表:2035年までに指定規模以上の製造業でデジタル化が普及する

12月28日、工業情報化部など各部門は「第14次5カ年計画:インテリジェント製造業発展計画」(以下、...