Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
AdvSim.Cryptography — Simple and sane cryptographic wrapper library. | Kitploit
ツール/GitHubGitHub/fuzzysecurity/advsim.cryptography
Encryption/Decryption ToolsCryptographyUtilities & FrameworksAuthentication
GitHubfuzzysecurity/advsim.cryptography

AdvSim.Cryptography

Simple and sane cryptographic wrapper library.

リポジトリを見る
3353年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Release

AdvSim.Cryptography

AdvSim.Cryptography NuGet には、再利用可能で、適切なデフォルト設定が施され、使いやすい暗号化ラッパー関数のセットが含まれています。詳細については、以下の各サブ見出しを参照してください。

  • 対称暗号
    • 鍵材料の生成
    • AES
    • Triple DES
    • RC4
    • RC2
    • マルチバイト XOR
    • XTEA
  • 非対称暗号
    • 楕円曲線ディフィー・ヘルマン (ECDH)
    • RSA
  • Windows ローカル
    • エントロピー生成
    • DPAPI ローカルマシン
    • DPAPI 現在のユーザー
  • その他
    • TOTP

NuGet 互換性

AdvSim.Cryptography NuGet は、幅広い .Net バージョンをサポートしています。一般的に、ライブラリに含まれる関数はターゲットフレームワーク間で良好なカバレッジを備えています。特定のフレームワークに制限されている関数については、その依存関係を強調するバッジが追加されています。

NuGet URL: https://www.nuget.org/packages/AdvSim.Cryptography

鍵材料

暗号化コンストラクタの一部として鍵材料が提供される場合、暗号化および復号化操作のシードとなる擬似ランダムバイト配列を返すために Rfc2898DeriveBytes が使用されます。これらのバイト配列は高品質であり、同じ鍵材料で同じ関数を呼び出すと同じ擬似ランダムシードが得られることも保証されます。

使用方法

対称暗号

AES

Availability

この関数はバイト配列を受け取り、コンストラクタで提供された鍵材料を使用して暗号化または復号化します。完了するとバイト配列を返します。

root@kitploit:~
AES test = new AES("Lovecraft");
Byte[] bEncrypted = test.Encrypt(bTestData);
Byte[] bDecrypted = test.Decrypt(bEncrypted);

Triple DES

Availability

この関数はバイト配列を受け取り、コンストラクタで提供された鍵材料を使用して暗号化または復号化します。完了するとバイト配列を返します。

root@kitploit:~
TripleDES test = new TripleDES("Lovecraft");
Byte[] bEncrypted = test.Encrypt(bTestData);
Byte[] bDecrypted = test.Decrypt(bEncrypted);

RC4

Availability

この関数はバイト配列を受け取り、コンストラクタで提供された鍵材料を使用して暗号化または復号化します。完了するとバイト配列を返します。

root@kitploit:~
RC4 test = new RC4("Lovecraft");
Byte[] bEncrypted = test.Encrypt(bTestData);
Byte[] bDecrypted = test.Decrypt(bEncrypted);

RC2

Availability

この関数はバイト配列を受け取り、コンストラクタで提供された鍵材料を使用して暗号化または復号化します。完了するとバイト配列を返します。

root@kitploit:~
RC2 test = new RC2("Lovecraft");
Byte[] bEncrypted = test.Encrypt(bTestData);
Byte[] bDecrypted = test.Decrypt(bEncrypted);

マルチバイト XOR

Availability

この関数はバイト配列を受け取り、コンストラクタで提供された鍵材料を使用して暗号化または復号化します。完了するとバイト配列を返します。

root@kitploit:~
MultiXOR test = new MultiXOR("Lovecraft");
Byte[] bEncrypted = test.Encrypt(bTestData);
Byte[] bDecrypted = test.Decrypt(bEncrypted);

XTEA

Availability

この関数はバイト配列を受け取り、コンストラクタで提供された鍵材料を使用して暗号化または復号化します。完了するとバイト配列を返します。

root@kitploit:~
XTEA test = new XTEA("Lovecraft");
Byte[] bEncrypted = test.Encrypt(bTestData);
Byte[] bDecrypted = test.Decrypt(bEncrypted);

非対称暗号

楕円曲線ディフィー・ヘルマン (ECDH)

Availability Availability

ここで注意すべき点は、v2.0.0 では ECDH が NuGet で利用可能なすべての .Net バージョンでサポートされていることです。ただし、.Net の設計上の判断にはかなり疑問な点があるため、サポートされているすべてのターゲット間で相互運用性を実現するのは簡単ではありません。

その結果、Framework < .Net 4.7 とそれ以外の間では実装に違いがあります。鍵交換を正常に実行するには、両方のクライアントが同じグループに属している必要があります。たとえば、一方のクライアントを .Net 6 にし、もう一方を .Net 4.5.1 にする必要がある場合は、代わりに RSA を使用してください。

.Net のバージョニングについて詳しくは、次のリソースを参照してください。

  • https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/versions-and-dependencies

使用方法

Framework < .Net 4.7

これらのターゲットは nistP256 のみをサポートしており、ライブラリを次のように使用できます。

root@kitploit:~
// Initialize both clients
ECDH test1 = new ECDH();
ECDH test2 = new ECDH();

// Exchange public keys
Byte[] bPublic1 = test1.GetPublicKeyArray();
Byte[] bPublic2 = test2.GetPublicKeyArray();

// Derive
test1.DeriveSharedKey(bPublic2);
test2.DeriveSharedKey(bPublic1);

// Encrypt / Decrypt
Byte[] bEncrypted1 = test1.Encrypt(bTestData);
Byte[] bDecrypted2 = test2.Decrypt(bEncrypted1);

.Net 4.7+ || Standard 2.1 || .Net 6

これらのターゲットは、コンストラクタの引数として曲線を受け取ります。

root@kitploit:~
public enum ECCurveType  
{  
    brainpoolP160r1,  
    brainpoolP160t1,  
    brainpoolP192r1,  
    brainpoolP192t1,  
    brainpoolP224r1,  
    brainpoolP224t1,  
    brainpoolP256r1,  
    brainpoolP256t1,  
    brainpoolP320r1,  
    brainpoolP320t1,  
    brainpoolP384r1,  
    brainpoolP384t1,  
    brainpoolP512r1,  
    brainpoolP512t1,  
    nistP256,  
    nistP384,  
    nistP521  
}

使用例を以下に示します。

root@kitploit:~
// Initialize both clients
ECDH test1 = new ECDH(ECDH.ECCurveType.nistP521);
ECDH test2 = new ECDH(ECDH.ECCurveType.nistP521);

// Exchange public keys
Byte[] bPublic1 = test1.GetPublicKeyArray();
Byte[] bPublic2 = test2.GetPublicKeyArray();

// Derive
test1.DeriveSharedKey(bPublic2);
test2.DeriveSharedKey(bPublic1);

// Encrypt / Decrypt
Byte[] bEncrypted1 = test1.Encrypt(bTestData);
Byte[] bDecrypted2 = test2.Decrypt(bEncrypted1);

RSA

Availability

この機能は、ECDH の場合のように共有秘密を導出するために公開鍵を交換する必要がないため、必ず 2 つのクライアントを必要とすることに注意してください。もちろん、上記のように公開鍵をネットワーク経由で別のクライアントに送信すれば、そのクライアントはあなただけが復号化できるデータを暗号化できます。

使用方法

root@kitploit:~
RSA test = new RSA();
Byte[] bPublicKey = test.GetPublicKeyArray();
Byte[] bEncrypted = test.Encrypt(bPublicKey, bTestData);
Byte[] bDecrypted = test.Decrypt(bEncrypted);

Windows ローカル

DPAPI ローカルマシン

Availability

暗号化および復号化されるデータは、マシンにスコープが限定されます。データはホスト外では復号化できません。

root@kitploit:~
// Without entropy
DPAPI test = new DPAPI();
Byte[] bEncrypted = test.EncryptUserDPAPI(bTestData);
Byte[] bDecrypted = test.DecryptUserDPAPI(bEncrypted);

// With entropy
DPAPI test = new DPAPI("Lovecraft");
Byte[] bEncrypted = test.EncryptUserDPAPI(bTestData);
Byte[] bDecrypted = test.DecryptUserDPAPI(bEncrypted);

DPAPI 現在のユーザー

Availability

暗号化および復号化されるデータは、現在のユーザーにスコープが限定されます。データは別のユーザーコンテキストでは復号化できません。

root@kitploit:~
// Without entropy
DPAPI test = new DPAPI();
Byte[] bEncrypted = test.EncryptMachineDPAPI(bTestData);
Byte[] bDecrypted = test.DecryptMachineDPAPI(bEncrypted);

// With entropy
DPAPI test = new DPAPI("Lovecraft");
Byte[] bEncrypted = test.EncryptMachineDPAPI(bTestData);
Byte[] bDecrypted = test.DecryptMachineDPAPI(bEncrypted);

その他

TOTP

Availability

時間ベースのワンタイムパスワード(TOTP)は、操作を実行する際に真正性を検証するための追加チェックとして使用できます。ライブラリによって生成される TOTP は、UtcNow の丸 1 分間有効です。これらの数値シークレットは、対称暗号化アルゴリズム用のローテーションキーを動的にシードするためにも使用できます。クライアントが異なるマシンで同じシードを使用すると、同じ TOTP を受け取ります。

使用方法

root@kitploit:~
// Generate a TOTP using a string seed
TOTP test = new TOTP("Lovecraft");
Console.WriteLine("[+] TOPT Code     : "  + oOTP.Code);
Console.WriteLine("[+] TOPT Last Code: "  + oOTP.LastCode);
Console.WriteLine("[+] TOPT Validity : "  + oOTP.Seconds);

// Validate TOTP based on string seed
Boolean bValid = test.ValidateTOTP("Lovecraft", oTOTP.Code);

// Validate TOTP with forgiveness, this allows the previous TOTP
// to also be counted as valid
Boolean bValid = test.ValidateTOTP("Lovecraft", oTOTP.LastCode, true);
ツールをダウンロード