SuperAPI AI 工具集

zig-crypto

数据与分析

查看项目

更新于 10-15 21:48

技能介绍

用途:该技能面向 Zig 语言中的密码学与安全实现,基于标准库 std.crypto(Zig 0.16.0),用于哈希计算、数据加解密、签名验证、密钥交换、密码存储与安全随机数生成。

主要能力:哈希支持 SHA-2、SHA-3、Blake3、BLAKE2;AEAD 加解密支持 AES-GCM、ChaCha20-Poly1305;数字签名支持 Ed25519、ECDSA;密钥交换支持 X25519 与 ML-KEM 后量子方案;密码哈希支持 Argon2、scrypt、bcrypt、PBKDF2;消息认证码支持 HMAC、SipHash;KDF 支持 HKDF;并提供安全随机数生成。

使用方式:先确认 Zig 版本(zig version),理解密钥、IV、nonce 等基本概念,再按需求选择算法并用 std.crypto.* 模块实现。哈希可一次性或流式调用,如 std.crypto.hash.sha2.Sha256.hash 与 init/update/final;AEAD 使用 encrypt/decrypt 并传入 key、nonce、tag;签名使用 Ed25519.KeyPair.generate 与 sign/verify;密钥交换使用 X25519.KeyPair 与 sharedSecret;密码哈希使用 argon2.strHash/strVerify;KDF 使用 HkdfSha256.derive;随机数使用 std.crypto.random.bytes。

适用场景:需要加密数据、计算哈希、生成并验证签名、安全存储用户密码、派生密钥或生成加密安全随机数时。

限制与注意:AEAD 的 nonce 每次必须唯一,重复会导致加密被破解;std.crypto 不处理密钥存储,密钥需自行安全保管;Md5 与 Sha1 不安全,仅用于遗留兼容;清零敏感数据应使用 secureZero 以防编译器优化;比较密钥或 MAC 应使用 timingSafeEql 防时序攻击。非安全场景随机数应使用 std.Random,HTTP 加密传输应使用 zig-http 技能。该技能不收集、存储或传输用户数据,所有加密操作在本地完成。