Open棟梁 wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

Open棟梁で提供される、暗号・復号化 部品。

ポリシー

※ CSP = Crypto Service Provider
※ Cng = Crypto Next Genaration

CNG対応

方針

調査結果

予想外に、CSPもCNGラッパーも確認できる
(CNGはLinux上ではどうなる?→ OpenSSLプロバイダが追加されつつある)。

暗号ハッシュ

https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/GetHash.cs

通常のハッシュを取得

対応プロバイダ(アルゴリズム)

https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/EnumHashAlgorithm.cs

CSP (CryptoServiceProvider?)

CNG (CryptographyNextGeneration?)

Managed

メソッド

ハッシュ取得(バイト)

GetHashBytes?メソッド

ハッシュ取得(文字列)

GetHashString?メソッド

キー付きハッシュ

https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/GetKeyedHash.cs

キーを使用してハッシュを取得

対応プロバイダ(アルゴリズム)

https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/EnumKeyedHashAlgorithm.cs

CSP

Managed

メソッド

ハッシュ取得(バイト)

GetHashBytes?メソッド

ハッシュ取得(文字列)

GetHashString?メソッド

秘密鍵暗号方式

https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/SymmetricCryptography.cs

対称アルゴリズムによる暗号化・復号化

アルゴリズム

https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/EnumSymmetricAlgorithm.cs

対応プロバイダ

CipherMode?, PaddingMode?指定

メソッド

暗号化

復号化

公開鍵暗号方式

https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/ASymmetricCryptography.cs

非対称アルゴリズムによる暗号化・復号化

アルゴリズム

https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/EnumASymmetricAlgorithm.cs

対応プロバイダ

PaddingMode?指定

padding指定可能

メソッド

秘密鍵と公開鍵を取得

暗号化

復号化

ハイブリッド・暗号化(キー交換)

https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/KeyExg/BaseKeyExchange.cs

アルゴリズム

https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/KeyExg/EnumKeyExchange.cs

Rsa

Ecdh

メソッド

暗号化

復号化

署名・検証

https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/DigitalSign.cs

RSA/DSA

クラス

アルゴリズム

https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/EnumDigitalSignAlgorithm.cs

ECDsa

クラス

アルゴリズム

https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/EnumDigitalSignAlgorithm.cs

メソッド

署名

Signメソッド

検証

Verifyメソッド

パスワード関連

乱数生成

対応プロバイダ

RNGCryptoServiceProvider?

メソッド

キー生成

対応プロバイダ

Rfc2898DeriveBytes?を使用したキー生成

メソッド

なし。内部利用のみ。

パスワード・ハッシュ化

https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/Pwd

その他

JWTの生成と検証

部品の検証ツール

暗号化プロバイダ・テスト・ツール

以下のツールで、.NETの各種の暗号化プロバイダをテストできる。

暗号化・復号化ツール

以下のツールで、各種、暗号・復号化 部品を検証できる。

ツール

このツールの使用前に、「ココ」と同じ手順で、証明書をインストールする。

このツールの使用する証明書のパスは、

参考

マイクロソフト系技術情報 Wiki

暗号化アルゴリズム

.NETの署名・暗号化アルゴリズム

.NET 開発基盤部会 Wiki

高度午前 - 技術要素 - セキュリティ - 暗号・認証

SC:対策技術 - 暗号


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