Skip to content

std.crypto

tier: alloc · since: std-0.5 stability: experimental

密码学原语(纯 Ctron;§12 纯 Ctron 驱动的规范级前置) 口径:SHA-256 首件(FIPS 180-4);验收锚 = RFC 6234/FIPS 标准向量 实现:位函数走 bit.* 内建命名空间(§4.5,T01;自举发射臂原生 C 位运算,解释臂文本域组合); 全部 32 位词以 I64 承载并经 z64 宽域播种(自举值标签随值走,I32 标签跨界 2^31 假阳;U32 字面量标签同病,见登记分歧);消息调度用 16 滑窗具名局部, 不经 List(发射面对 List 元素读无数值转换,登记缺口) 预算:全向量内联测试需 CTRON_MAX_STEPS=0(D2 旋钮,四向量约 200 万步); 自举解释口径无快速宽整型,整向量不可实用(登记),以函数级锚验证

pub fn

Signature Returns Description
sha256_hex(msg: Str) Str SHA-256 摘要,小写 64 位十六进制串;消息按字节级
sha1_hex(msg: Str) Str SHA-1 摘要,小写 40 位十六进制串(160 位);消息按字节级。
80 轮扩展:w_i = rotl1(w_{i-3} ^ w_{i-8} ^ w_{i-14} ^ w_{i-16}),16 滑窗位
v13/v8/v2/v0(shar256 的 v14/v9/v1/v0 错位一名,几何同)。
sha256_bytes(msg: List[I32]) List[I32] SHA-256 摘要字节(32B;RFC 6234 向量锚在 tests/crypto_vec)
hmac_sha256(key: List[I32], msg: List[I32]) List[I32] HMAC-SHA256(RFC 2104;key > 64B 先散;RFC 4231 向量锚在 tests/crypto_vec)
pbkdf2_sha256(pass: List[I32], salt: List[I32], iters: I32, dklen: I32) List[I32] PBKDF2-HMAC-SHA256(RFC 8018 §5.2;中间态外提:每迭代 2 压;
迭代计数 (i) 族纪律:纯计数无乘,界内累加)
bytes_to_hex(b: List[I32]) Str 字节 → 小写十六进制(测试/协议边助手;hexch 复用)
hex_valid(s: Str) Bool 十六进制合法性(偶长 + 全法数位;与 bytes_from_hex 配对的守卫)
bytes_from_hex(s: Str) List[I32] 十六进制 → 字节(值形;仅对 hex_valid 为真的输入有意义,非法位按 0 计——
两段式免 out 参,规避「fn 内未用结果绑定」解释器毒化面(P5-B 登记):
调用方守卫形 = assert hex_valid 后 bytes_from_hex)