wasmCloud/nkeys
GitHub: wasmCloud/nkeys
wasmCloud/nkeys 是基于 Rust 的 NATS nkeys 库,用于管理 Ed25519 密钥。
Stars: 44 | Forks: 24
[](https://github.com/wasmCloud/nkeys/actions/workflows/build.yaml)
# NKeys -> NKeys
[NATS nkeys](https://github.com/nats-io/nkeys) Go 库的 Rust 实现。
截至 v2.x+ 版本,NATS 生态系统已转向使用 Ed25519 密钥来处理账户、用户、服务器和集群等实体的身份验证和授权。
Ed25519 密钥速度快,且对旁路攻击具有抵抗力。生成种子密钥后,只需存储并保持安全即可,因为种子可以生成公钥和私钥。
NATS 系统将利用 Ed25519 密钥,这意味着 NATS 系统永远不会存储或访问任何私钥。认证将利用随机挑战响应机制。
处理 32 字节和 64 字节的原始密钥可能具有挑战性。NKEYS 设计成以更友好的方式生成密钥,并参考了加密货币中的工作,特别是 Stellar。比特币和其他加密货币使用 Base58(或 Base58Check)形式对原始密钥进行编码。Stellar 使用了更传统的 Base32,并带有 CRC16 和版本或前缀字节。NKEYS 使用类似的格式,其中前缀将占用 1 个字节用于公钥和私钥,对于种子将占用 2 个字节。这些前缀的 base32 编码将产生友好的人类可读前缀。
以下是可用的前缀及其密钥对类型列表:
* **N** - 服务器
* **C** - 集群
* **O** - 运营商
* **A** - 账户
* **U** - 用户
* **M** - 模块
* **V** - 服务/服务提供商
* **P** - 私钥
* **X** - 曲线密钥 (X25519)
对于种子,第一个编码的前缀是 **S**,第二个字符将是公钥的类型,例如 `SU` 是用户密钥对的种子,`SA` 是账户密钥对的种子。
标签:Base32编码, Ed25519, NATS, nkeys, Rust, Stellar, X25519, 加密算法, 区块链技术, 可视化界面, 安全机制, 授权, 日志审计, 服务, 服务器, 服务提供商, 模块, 比特币, 用户, 私钥保护, 种子密钥, 系统架构, 网络流量审计, 账户, 运营商, 通知系统, 集群