What problem does it solve? .NET exposes correct cryptographic primitives that are easy to assemble incorrectly - wrong padding, reused nonces, fast hashes for passwords, and timing-leaking comparisons are common production bugs. This Skill encodes the single correct usage pattern for each primitive in System.Security.Cryptography so encryption, hashing, signing, and key derivation are done right the first time. ## Core Features & Use Cases - Primitive selection and correct usage: Covers SHA-256+ hashing, HMAC, PBKDF2 password hashing (600k+ iterations), AES-GCM authenticated encryption, RSA-OAEP, ECDsa/PSS signatures, and ECDH key agreement, each with its exact contract. - Dead-algorithm blocklist: Flags MD5, SHA-1, DES/3DES/RC4, AES-ECB, RSA PKCS#1 v1.5, and BinaryFormatter for replacement on sight. - Post-quantum opt-in: Documents the .NET 10 ML-KEM / ML-DSA primitives with IsSupported gating and hybrid classical+PQC migration strategy. - Use Case: When adding at-rest encryption to an ASP.NET service, use this Skill to implement AES-GCM with a fresh 12-byte nonce per message, a pinned 16-byte tag, and associated data binding - then prove it with a tamper test that must throw. ## Quick Start Use the dotnet-cryptography skill to add AES-GCM encryption with proper nonce and tag handling to my .NET 8 service.