SuperAPI AI 工具集

dotnet-cryptography

安全与审计

查看项目

更新于 10-16 01:12

技能介绍

用途:指导在 .NET 中正确选择与使用密码学算法,覆盖哈希、对称加密、非对称加密、密钥派生与后量子密码学,并标注已弃用算法。

主要能力:哈希使用 SHA-256/384/512,配合 CryptographicOperations.FixedTimeEquals 做常量时间比较,HMAC 用于消息认证;对称加密推荐 AES-GCM(AEAD),Web 场景可用 ASP.NET Core Data Protection;非对称加密中 RSA 用于小载荷加密与签名(建议 4096 位、OAEP 填充),新项目签名优先 ECDSA(如 P-256);密码哈希可用内置 PBKDF2(SHA-256 至少 600,000 次迭代)或 NuGet 的 Argon2id,Web 应用优先 ASP.NET Core Identity 的 PasswordHasher<T>。

后量子部分:.NET 10+ 提供 ML-KEM(密钥封装)、ML-DSA(数字签名)与 SLH-DSA(哈希签名,标记为 Experimental)。使用前需检查 IsSupported;平台要求 Windows 11(2025 年 11 月更新)或 OpenSSL 3.5+。net8.0/net9.0 可先用经典算法并将密码学操作隔离在接口后,便于迁移。

限制:PQC 密钥与签名体积显著更大,跨平台支持依赖操作系统,PKCS#8/X.509 的 PQC 导入导出仍为实验性,CompositeMLDsa 无原生支持。密钥存储、TLS 配置、认证协议与云 KMS 不在本技能范围内。弃用算法包括 MD5、SHA-1、DES、3DES、RC2 与 RSA PKCS#1 v1.5 加密。