@ asentum/ crypto (英语)
后量子密码学原始人为AsentumChain.
这里面是什么
- ML-DSA-65 (锂3) 签名和核查:NIST标准化的量子后签名计划。 环绕
@noble/post-quantum/ml-dsa。 。 。 . - 点数3 财务报告和审定财务报表 SHA-256 (英语) 散开。 BLAKE3是全链宽的舟形散列;SHA-256仅为Ethereum相容表面而保留. 环绕
@noble/hashes。 。 。 . - 地址来源: 20字节地址导出为
BLAKE3(pubkey)[0:20]带有EIP-55风格的混案校验和.
安装
这个软件包是AsentumChain monorepo的一部分,尚未发布到npm. 从回波根:
pnpm install
pnpm --filter @asentum/crypto build
pnpm --filter @asentum/crypto test
使用量
import {
generateKeypair,
sign,
verify,
blake3,
addressFromPublicKey,
} from '@asentum/crypto';
// Generate a keypair and derive an address
const { publicKey, secretKey } = generateKeypair();
const address = addressFromPublicKey(publicKey);
console.log('New account:', address);
// Sign a message
const message = new TextEncoder().encode('hello asentum');
const signature = sign(message, secretKey);
// Verify
const isValid = verify(message, signature, publicKey);
console.log('Signature valid?', isValid);
// Hash some data
const digest = blake3(message);
设计说明
- 所有投入和产出
Uint8ArrayHex/Base58 编码帮助者居住在@asentum/sdk不在这里. verify()从不丢弃无效的输入: 它返回false。这样可以安全地调用未信任的数据而不包入try/catch。 。 。 .- 地址为
0x- 前置的40个特征 混合大小写十六进制字符串。 案例模式将地址字节的校验和用BLAKE3来编码,与EIP-55的机制相匹配,但使用我们的链条散列来代替克卡克256.
见 docs/post-quantum.md 用于在密码选择上充分引用.
状态
0阶段脚手架,尚未设定基准. 执行过程在经过充分审计的上游图书馆周围是薄薄的包装,但我们还没有在实际目标硬件上进行测量. 性能号(keygen / sign / 校验消费者PC vs Pi 4)将在第0阶段的基准任务中着陆.
精确导入路径 @noble/post-quantum/ml-dsa 可能需要根据已安装的版本进行调整: 在您第一次运行时对照实际软件包进行校验 pnpm install。 。 。 .
许可证
阿帕奇许可证2.0. 见根 LICENSE 文档.