豫言 / 安全外壳密码 @ 0.1.0
为安全外壳协议提供密码学原语(由宿主实现)。
包说明.汉语.md
# 安全外壳密码 `求已知主机HMACSHA1` 使用 20 字节盐计算主机名 HMAC-SHA1,仅用于 OpenSSH `known_hosts` 哈希主机名校验;不用于 SSH 会话加密或消息认证。 包身份为 `豫言/安全外壳密码`,版本 `0.1.0`。本包提供 SSH 所需的 SHA-256、X25519、Ed25519 与 AES-256-GCM 密码学原语。实现由宿主提供:Node 宿主用 `node:crypto`(见 `豫言操作系统/宿主/节点/宿主.cjs`);原先依赖 OpenSSL 的包内 C 实现已随编译器改为单一 Wasm 后端而删除。 `原语。豫` 接受和返回原始字节串。X25519 与 Ed25519 私钥参数为 32 字节种子;调用者应从标准库的安全随机接口生成新种子。X25519 共享秘密为 32 字节,并拒绝全零结果。Ed25519 验签对错误签名返回阴,参数长度错误时报错。AES-256-GCM 使用 32 字节密钥、12 字节 IV,返回密文与完整 16 字节标签;解密只有在认证成功后才返回明文。调用者必须保证同一密钥下 IV 不重复。 私钥与共享秘密目前以普通豫言字节串保存。部署服务端前仍需补充受保护的密钥存储及清除策略,并完成协议层互通测试。
包说明.文言.md
# 安全外壳密码 「求已知主机HMACSHA1」以二十字盐算主机名 HMAC-SHA1,惟供 OpenSSH `known_hosts` 隐名核对;不施于 SSH 会话密报或报文验真。 包名「豫言/安全外壳密码」,版「0.1.0」。为安全外壳协议备 SHA-256、X25519、Ed25519 与 AES-256-GCM 密码术。其实由宿主供之:Node 宿主用 `node:crypto`(见 `豫言操作系统/宿主/节点/宿主.cjs`);旧赖 OpenSSL 之包内 C,随编译器改为唯一 Wasm 后端而删。 「原语。豫」皆受还原字节串。X25519、Ed25519 私钥以三十二字节种子为参;新种子当取标准库之安全随机。X25519 共密三十二字节,全零则拒。Ed25519 验伪签返阴,参长不合则报事故。AES-256-GCM 用三十二字节钥、十二字节 IV,密文后缀十六字节签;验成乃还明文。同钥之 IV 绝不可复用。 今私钥及共密寄普通豫言字节串。欲设服务于公网,尚须密钥护藏与清除之法,亦须验协议互通。