マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

暗号化アルゴリズムは、一通り揃っている。

Managed、CAPI(CSP)、CNG実装とは?

参考

CAPI (CSP)

CNG

どれを使用すべき?

には、以下のようにある。

最適な実装を選択可能

アルゴリズムの選択

CngKey?

以下の様な違いがあるが、

「RSACngのキーはCngKey?クラスによって管理され、RSACngのコンストラクタに注入できますが、
RSACryptoServiceProvider?は独自のキー操作に結びついています。」

どちらでも良さそう。

性能

.NET Frameworkの暗号化Providerの列挙

乱数生成、キー生成

乱数生成

RNGCryptoServiceProvider? クラス (System.Security.Cryptography)
https://msdn.microsoft.com/ja-jp/library/system.security.cryptography.rngcryptoserviceprovider.aspx

RNGCryptoServiceProvider?を使用して、暗号乱数を生成する。

Membership.GeneratePassword?も下位でRNGCryptoServiceProvider?を使用している。

キー生成

Rfc2898DeriveBytes? クラス (System.Security.Cryptography)
https://msdn.microsoft.com/ja-jp/library/system.security.cryptography.rfc2898derivebytes.aspx

Rfc2898DeriveBytes?を使用して、パスワード ベースのキーを生成する。

主に、

のキーを生成する(パスワードをそのまま使用しない)。

ハッシュ

暗号ハッシュ(HashAlgorithm?

HashAlgorithm? クラス (System.Security.Cryptography)
https://msdn.microsoft.com/ja-jp/library/system.security.cryptography.hashalgorithm.aspx

キー付きハッシュ(KeyedHashAlgorithm?

Managedのsuffixが無いが、MSDNではmscorlib.dllとなっているためManaged実装と思われる。

KeyedHashAlgorithm? クラス (System.Security.Cryptography)
https://msdn.microsoft.com/ja-jp/library/system.security.cryptography.keyedhashalgorithm.aspx

暗号化

秘密鍵暗号方式(SymmetricAlgorithm?

SymmetricAlgorithm? クラス (System.Security.Cryptography)
https://msdn.microsoft.com/ja-jp/library/system.security.cryptography.symmetricalgorithm.aspx

公開鍵暗号方式(AsymmetricAlgorithm?

AsymmetricAlgorithm? クラス (System.Security.Cryptography)
https://msdn.microsoft.com/ja-jp/library/system.security.cryptography.asymmetricalgorithm.aspx

AsymmetricAlgorithm?の内、暗号化・復号化が可能な公開鍵暗号方式は、
RSAとECDiffieHellman?のみ(他のアルゴリズムは、署名のみサポート)。

署名・検証(AsymmetricAlgorithm?

AsymmetricAlgorithm? クラス (System.Security.Cryptography)
https://msdn.microsoft.com/ja-jp/library/system.security.cryptography.asymmetricalgorithm.aspx

※ なお、RSAだけは、署名・検証だけでなく、暗号化・復号化にも利用可能。

追加のプロバイダ

Security.Cryptography

.NET Standardの暗号化Providerの列挙

追加のプロバイダ

NSec.Cryptography

参考

DOBON.NET: VB.NET, C#, 無料ソフトウェア...

http://dobon.net/index.html

暗号ハッシュ

秘密鍵暗号方式

公開鍵暗号方式

署名・検証

乱数生成、キー生成

暗号・復号化 部品 - Open 棟梁 Wiki


Tags: :.NET開発, :セキュリティ, :暗号化, :証明書


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS