新闻详情

新闻详情

首页 / 资讯中心 / 详情

hashsigs-ts快速上手教程:3行TypeScript代码跑出第一个WOTS+哈希签名

发布时间:2026/9/1 10:49:11来源:尧图网络
hashsigs-ts快速上手教程:3行TypeScript代码跑出第一个WOTS+哈希签名
hashsigs-ts快速上手教程3行TypeScript代码跑出第一个WOTS哈希签名【免费下载链接】hashsigs-tsHash-based signatures in typescript, WOTS项目地址: https://gitcode.com/gh_mirrors/ha/hashsigs-ts想亲手体验抗量子计算的哈希签名吗本文带你用 hashsigs-ts 这个 TypeScript 哈希签名库3 行代码完成第一个 WOTSWinternitz One-Time Signature Plus签名与验签全程不超过 5 分钟 为什么关注 WOTS 哈希签名抗量子安全WOTS 属于基于哈希的签名Hash-based Signatures安全性只依赖哈希函数的单向性不受量子计算机破解大数分解/离散对数的威胁是后量子密码学的热门方向 一次一签极致简单它属于一次性签名方案签名即消耗一次私钥的使用额度逻辑纯粹、易审计纯 TypeScript 实现hashsigs-ts 核心代码集中在 src/wotsplus.ts运行时仅依赖轻量哈希库noble/hashes浏览器、Node、边缘环境都能跑⚠️ 一次性签名意味着同一个私钥只能签一条消息。要签多条消息需要配合 XMSS 等树结构方案来管理多套一次性密钥。一键安装 hashsigs-tsnpm install hashsigs-ts如果你还想阅读源码或跑测试可以直接克隆仓库git clone https://gitcode.com/gh_mirrors/ha/hashsigs-ts项目入口导出在 src/index.tsWOTSPlus类和HashFunction类型均从此处导出。3行代码生成密钥 → 签名 → 验签下面是完整可运行的最小示例核心逻辑就是 3 行import { WOTSPlus } from hashsigs-ts; import { keccak_256 } from noble/hashes/sha3; const wotsPlus new WOTSPlus(keccak_256); // 准备两个 32 字节种子可理解为私钥种子和公开种子 const privateSeed keccak_256(new TextEncoder().encode(my secret seed)); const publicSeed keccak_256(new TextEncoder().encode(my public seed)); const message keccak_256(new TextEncoder().encode(Hello WOTS!)); // ① 生成密钥对 ② 签名 ③ 验签 const { publicKey, privateKey } wotsPlus.generateKeyPair(privateSeed, publicSeed); const signature wotsPlus.sign(privateKey, publicSeed, message); const isValid wotsPlus.verify(publicKey, message, signature); // ✅ true三个方法各司其职步骤方法作用① 生成密钥generateKeyPair由私钥种子 公开种子推导出 32 字节私钥和 64 字节公钥② 签名sign把消息转成 w 进制索引在哈希链上取对应位置输出 67 段签名③ 验签verify从签名位置继续推链还原公钥分段并比对返回布尔值WOTS 参数速查表new WOTSPlus(hashFn, hashLen?, chainLen?)的默认与约束如下参数推导见 构造函数参数默认值说明hashLen32 字节哈希输出长度Keccak-256 正好 32 字节messageLen32 字节必须传入哈希后的消息不是原文长度chainLenw16哈希链长度只允许 4 或 16XMSS 兼容约束见 validateParameters公钥大小64 字节公开种子 公钥分段哈希签名大小2144 字节67 段 × 32 字节64 个消息分段 3 个校验和分段 一句话记忆w越大签名越小但计算越慢16 是官方测试向量采用的默认值。验证你的实现跑一遍测试向量仓库自带与 Keccak-256 配套的 JSON 测试向量覆盖密钥、公钥分段、消息与完整签名测试向量数据test/test_vectors/wotsplus_keccak256.json测试用例src/wotsplus.test.ts 中逐条调用verify与verifyWithRandomizationElements双通道校验克隆仓库后执行npm install # 安装依赖 npm test # 运行 Vitest 测试 npm run coverage # 查看覆盖率报告阈值 80%配置见 [vitest.config.ts](https://link.gitcode.com/i/4cf4881c609fe91edc076ea78a485a74)常见问题FAQQ为什么 message 必须恰好 32 字节AWOTS 只对定长输入签名messageLen hashLen 32。签名前先对任意长度的原文做一次keccak_256即可这也是示例里先哈希原文的原因。Q私钥长度不对会怎样Asign 会直接抛出private key length must be 32 bytes属于快速失败设计便于排查。Qverify 和 verifyWithRandomizationElements 有什么区别A两者验签逻辑一致后者允许你传入预先计算好的随机化元素r序列省去重复生成开销适合批量验签场景源码见 verifyWithRandomizationElements。Q可以直接签多条消息吗A不能。WOTS 是一次性签名同一私钥复用会导致私钥泄露。多消息场景请搭配 XMSS 类树形方案。项目结构一览hashsigs-ts/ ├── src/ │ ├── index.ts # 包入口导出 WOTSPlus │ ├── wotsplus.ts # WOTS 核心实现密钥/签名/验签 │ └── wotsplus.test.ts # Vitest 测试用例 ├── test/ │ └── test_vectors/ │ └── wotsplus_keccak256.json # Keccak-256 官方风格测试向量 ├── package.json # npm 包 quip.network/hashsigs ├── tsup.config.ts # 构建 CJS ESM 双格式产物 └── vitest.config.ts # 测试与覆盖率配置写在最后hashsigs-ts 用不到 400 行 TypeScript 把后量子密码里著名的 WOTS 算法讲得明明白白生成密钥、签名、验签 三步配合 JSON 测试向量 就能完成从读代码到跑通的完整闭环。现在就去npm install hashsigs-ts打出你的第一个哈希签名吧 ✍️许可说明本项目采用 AGPL-3.0-or-later 开源协议全文见 COPYING商用前请留意其网络副本条款。【免费下载链接】hashsigs-tsHash-based signatures in typescript, WOTS项目地址: https://gitcode.com/gh_mirrors/ha/hashsigs-ts创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

R语言逆概率加权(IPW)后基线表制作:从WeightIt到tableone实战 2026/9/1 18:04:15

R语言逆概率加权(IPW)后基线表制作:从WeightIt到tableone实战

简介:这份压缩包提供了一套基于R语言的逆概率加权(IPTW)基线表绘制源码,面向需要处理观察性研究中选择性偏差的医学统计、流行病学及数据科研人员。资源聚焦倾向评分加权的完整实现,涵盖Robins方法与Heman稳定权重两种…

阅读更多 →
vSphere证书续订实战:VCSA到ESXi的更新与信任重建指南 2026/9/1 18:04:15

vSphere证书续订实战:VCSA到ESXi的更新与信任重建指南

简介:面向VMware管理员与虚拟化运维人员的vSphere证书更新/续订工具与案例资源包。内容围绕vCenter证书管理,汇总了checksys.py、fixsts.sh、lsdoctor与vCertTool四类工具的用途与操作要点,附有证书到期检查、SSO故障修正、健康诊断及证书导入…

阅读更多 →
大数据实验全流程:五大经典算法掌握分布式计算与机器学习 2026/9/1 18:04:15

大数据实验全流程:五大经典算法掌握分布式计算与机器学习

简介:涵盖WordCount、PageRank、Apriori关系挖掘、K-Means聚类与推荐系统五大经典实验的大数据分析实验资源包,适合正在学习MapReduce并行计算、图算法、关联规则、无监督学习及协同过滤的高校学生与自学者参考。资源共56个文件,以Python源码…

阅读更多 →
华为开发岗2026年1月备战实录:机考真题、八股与手撕代码全攻略 2026/9/1 18:04:15

华为开发岗2026年1月备战实录:机考真题、八股与手撕代码全攻略

2026年1月21号,华为开发岗,我按这个时间点把整个流程重新捋了一遍。本来以为年前投递只是试试水,没想到从机考到综面走完,周期比预想中短,题量和难度倒是比预想中更实在。这篇就把这趟华为开发岗(含OD方向&…

阅读更多 →
DeepSeek Harness插件开发实战:从零构建AI工具扩展 2026/9/1 18:04:15

DeepSeek Harness插件开发实战:从零构建AI工具扩展

最近在尝试将 AI 能力深度集成到开发工作流中,发现 DeepSeek Harness 是一个极具潜力的平台。它允许开发者通过插件扩展其核心功能,无论是连接外部工具、处理特定数据格式,还是创建自定义的 AI 智能体(Agent)&#xff…

阅读更多 →
Godot 4 平台跳跃实战:瓦片地图、敌人AI与角色手感 2026/9/1 18:01:15

Godot 4 平台跳跃实战:瓦片地图、敌人AI与角色手感

这次我们直接看一个很实际的选题:用 Godot 4 从零做一个平台跳跃小游戏,并且把瓦片地图、敌人 AI、角色手感这三块一次打通。很多新手学 Godot 时会发现,单看每一个功能的 Demo 都能跑通,但把它们组合到一个项目里就会出现各种问题…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞