@atlasauth/pca-fndsa-wasm

中文文档
0.4.3发布于 2026/10/28MITTypeScriptCommonJS零依赖近 30 天下载 4847

FN-DSA(Falcon,FIPS 206)为@atlasauth/pca的签名后端:FN-DSA-512 / FN-DSA-1024 keygen,由被审核的纯Rust fn-dsa 板条箱家族(Thomas Pornin)编译为WebAsembly. 核查是常设仲裁院核查人的公用钥匙

中文使用文档
文档目录9 节
  1. 安装
  2. 经审查的边界( 无手卷加密)
  3. API 密码
  4. 构建测试( T)
  5. 标准状态(诚实)
  6. 何等为证而何为非
  7. 使用时使用@ atlasauth/ pca
  8. 建立来源
  9. 许可证

@atlasauth/pca-fndsa-wasm (英语)

这个 FN-DSA (Falcon, FIPS 206) 签名后端 页:1 @atlasauth/pca量子后套间 登记。 它提供密钥生成、签名和——常设仲裁院核查人实际执行的操作 —— 说 签名验证,用于两个标准化参数集:

变体警卫校验密钥签名密钥签名
fn-dsa-512猫 一897 B类1345 B类666个B级
fn-dsa-1024猫咪,5号1793 B类2369 B号1280 B (韩语)

安装

npm i @atlasauth/pca-fndsa-wasm

这是后端 @atlasauth/pca 用于FN-DSA套房;通常作为附属于 @atlasauth/pca。 。 。 .

节点20分 这个 .wasm 包内的文件船和已安装的文件船 dist/ 目录; 不需要构建步骤或 Rust 工具链来使用它 .

经审查的边界( 无手卷加密)

每一次FN-DSA/猎鹰行动——ntrugen关键一代,猎鹰 sign_dyn 高斯取样器+ FFT 和 NTT 签名验证——通过纯Rust fn-dsa 托马斯的箱子家庭 波宁语Name ("猎鹰"作者),箱子.io 0.4.0,汇编到WebAssembly (crate/) (中文(简体) ). 这是 粗鲁塞克语Name- 被推荐的继任者 pqcrypto-falcon元数据a 箱子连接在一起 fn-dsa-kgen 编号 : fn-dsa-sign 编号 : fn-dsa-vrfy 编号 : fn-dsa-comm。 。 。 . 无 会 议 日 程 和 议 程 梯形数学,FFT/NTT,离散-高斯采样器或密钥/签名编码是 此处被重新执行.

这个箱子只添加了非晶体胶:由SHAKE256种子决定的RNG(由SHAKE256所制造) fn-dsa自己的再出品SHAKE256,因此Keygen/signing可以再出作已知的答案测试)并 固定缓冲器 C-ABI 组装在 crate/src/lib.rs。 。 。 .

fn-dsa 实值 #![no_std], 用途 无分配器 (所有工作状态都在内部的固定大小阵列中) 键/生成器结构——没有 Vec编号 :Box 并且没有外部 超过 rand_core + 键 zeroize,所以它的目标 wasm32-unknown-unknown 纯的玫瑰花,没有 经常预算: 无进口 (模块瞬间带有空导入对象). 与 pqc_kyber, (中文(简体) ), 没有 [patch.crates-io] 需要供应商副本。 这个 #![no_std] cdylib 必须保持 定义 全球 分配器,因为板条箱图显示 alloc 符号(不可脱落/将胶水零化); 已运出的被转移定义为 终止分配 可证明从未援引的 在WebAssembly为两个参数集验证回转绿色.

API 密码

import {
  keygen, sign, verify,            // FN-DSA keygen / sign / verify (per variant)
  sizes,                           // byte lengths for a variant's vk / sk / sig
  SEED_BYTES, MSG_CAP,             // 32; max message length
  type FnDsaVariant,               // 'fn-dsa-512' | 'fn-dsa-1024'
} from '@atlasauth/pca-fndsa-wasm';

const { verifyingKey, signingKey } = keygen('fn-dsa-512', seed /* 32 B */);
const sig = sign('fn-dsa-512', signingKey, message, sigSeed /* 32 B */);
const ok  = verify('fn-dsa-512', verifyingKey, message, sig); // -> boolean

瓦斯马是 no_std,运行时无分配器,即时 空导入对象,并且已经 通过线性内存中的固定静态缓冲器驱动(镜像) @atlasauth/pca-mpc-wasm 编号 : @atlasauth/pca-mpc-lwe-ot-wasm) (中文(简体) ). 信件和签名是原始的 FN-DSA 方案 DOMAIN_NONE 财务报告和审定财务报表 HASH_ID_RAW (没有呼叫员预发).

构建测试( T)

pnpm build:wasm   # cargo build --release --target wasm32-unknown-unknown + copy artifact + cargo clean
pnpm build        # tsc
pnpm test         # vitest: round-trips, cross-implementation vectors and negative cases through the wasm binding

FN-DSA计算器的原生回程和篡改测试 crate/src/lib.rs (单位:千美元)cargo test) (中文(简体) ).

标准状态(诚实)

FN -DSA是,我们是 FIPS 206,最终待决:NIST尚未发布最终标准文本. 这个 fn-dsa 箱子跟踪草稿并警告说 密钥编码、 信件预隐藏和域 1.0发布前的分离可能改变,所以这里产生的密钥和签名不是 保证与最终的FN-DSA标准互通. 跟踪标准并重置 fIPS 206着陆时的箱子.

  • 签名/ 键源 为: 最佳常时: FN-DSA(Falcon) 签名是已知的硬项 由于其浮动点离散-高斯取样器, 继续 wasm32 (没有本地的IEEE-754ABI担保) fn-dsa 使用便携式 FP 模拟,使 一次最努力的时间。 这是原始人的侧道边界,不是 破坏它的安全.
  • 核查 ——常设仲裁院核查员唯一使用这一后端的是 公用钥匙操作数字 : 它没有秘密,也没有浮点.

何等为证而何为非

FN-DSA还没有正式的测试矢量. 如2026-10-09日的检查,NIST ACVP-Server 寄存器没有FN-DSA/Falcon/FIPS 206测试文件(它有ML-DSA和SLH-DSA),FIPS 206仍然是一个 因此没有使用FN-DSA官方矢量。 本套装中的任何内容均不声称对 NIST FN-DSA载体.

什么官话 猎鹰回合-3 已知答案文件( Falcon 向 NIST PQC 提交的原始文件) 存档, 512和1024各有100个条目, 由 sha256 键入 test-vectors/falcon-round3/做掩护, 和他们所不能达到的

  • 键:在转码后可用. 猎鹰和FN-DSA的原始草案 编码相同的关键材料 不同的( 组合系数的位序, 以系数形式表示的公钥相对于 NTT) 域名,FN-DSA签名密钥中额外的公钥散列). 每个正式的密钥对都是被转码的,a 签名是通过后端生成的,并且通过转码的原始公钥进行验证,用于 所有200个条目。 未译码的圆-3编码被否决.
  • 签署:不兼容. 回合-3签名 hash 不同输入并使用可变长 集装箱,所以FN -DSA 验证拒绝它们。 检验表明这一点而不是假设.
  • KAT种子的关键生成:未测试.

测试内容包括:

  • 交叉执行,双向. 联合国机构会议以外的会议 同名草稿( C 库) pornin/c-fn-dsa - 单独的代码基础和语言 红色 fn-dsa 装在垃圾桶里的箱子) 装在垃圾桶里的验证 垃圾桶生产的签名被接受 由C执行。 FN-DSA-512和FN-DSA-1024都带有空,短和1000字节的信息. 向量是生成的,不是官方的,在固定中被贴上这样的标签.
  • 负案. 对于每个交叉执行签名,签名的每个单位翻转都是 拒绝, 以及修改后的信件, 不同的校验密钥, 错误的页眉字节, 非零 编码 和错误的校验密钥。 输入大小错误, 错误的字段和预期名称 尺寸.
  • 决取相取. 密钥和签名从种子中复制 bit- for-bit.

限制 :

  • C执行部分与Rust板条箱分享其作者(和对草案的解读),因此同意 显示两个代码基础正确执行同一个草稿,而不是显示草稿是NIST将公布的.
  • 原始- Falcon 库( 例如 liboqs 0.1.6. 0) 使用不同的密钥编码和信件 他们拒绝FN-DSA的秘密密钥, 他们不能 用于交叉核对签名.
  • 种子密钥生成没有被草案指定; C 和 Rust 执行会获得不同的密钥 从同一个种子,所以按键通过互操作性来比较,而不是平等.
  • 签名的常年行为和在相机上的密钥生成没有被测量.

使用时使用@ atlasauth/ pca

@atlasauth/pca 登记册 fn-dsa-512 财务报告和审定财务报表 fn-dsa-1024 作为签名套件,并加载此软件包作为其验证和签名后端。 如果后端无法加载, FN-DSA 验证失败被关闭 .

建立来源

运出 wasm/pca_fndsa_wasm.wasm 由 Rust 源创建于 crate/ 联合国 Cargo.lock),且为位元可再生产.

文物wasm/pca_fndsa_wasm.wasm
萨瓦25695c1cd16fb135c4a524a5ff19548d5d1a5ce43fc1f00e19f4465b5111d8903ad
目标wasm32-unknown-unknown, (中文(简体) ), --release --locked 通过 crate/build-wasm.sh (路径调整;选择级别) s, LTO, , (英语), panic = "abort",剥去)
工具链b940084d7 2026-09-28),货物 1.99.0
锁定的箱子fn-dsa 0.4.0(及其被锁入的中转箱)

校验 : bash crate/build-wasm.sh && shasum -a 256 wasm/pca_fndsa_wasm.wasm (需求数) rustup target add wasm32-unknown-unknown) (中文(简体) ). 脚本通过 --remap-path-prefix 货物登记簿和生锈烟囱,以及 -Cdebuginfo=0,因此构建是路径独立的:没有宿主路径被嵌入,同样的sha256来自任意的取出位置.

许可证

麻省理工 - 见LICENSE.

版本与发布记录

@atlasauth/pca-fndsa-wasm 共发布 7 个版本,首次发布于 2026/10/09;过去 12 个月发布了 7 个版本。

版本发布日期距今
0.4.3latest2026/10/2811 天前
0.4.22026/10/2612 天前
0.4.12026/10/1226 天前
0.4.02026/10/1127 天前
0.3.02026/10/0929 天前
0.2.02026/10/0929 天前

关于 @atlasauth/pca-fndsa-wasm 的常见问题

@atlasauth/pca-fndsa-wasm 是什么?

FN-DSA(Falcon,FIPS 206)为@atlasauth/pca的签名后端:FN-DSA-512 / FN-DSA-1024 keygen,由被审核的纯Rust fn-dsa 板条箱家族(Thomas Pornin)编译为WebAsembly. 核查是常设仲裁院核查人的公用钥匙

如何安装 @atlasauth/pca-fndsa-wasm?

在项目目录运行 npm install @atlasauth/pca-fndsa-wasm,或使用 pnpm add / yarn add / bun add。

@atlasauth/pca-fndsa-wasm 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@atlasauth/pca-fndsa-wasm 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@atlasauth/pca-fndsa-wasm 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@atlasauth/pca-fndsa-wasm 可以商用吗?

@atlasauth/pca-fndsa-wasm 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@atlasauth/pca-fndsa-wasm 的下载量有多少?

根据 npm 官方下载统计,@atlasauth/pca-fndsa-wasm 在 2026/10/07 – 2026/11/05 这 30 天内被下载 4,847 次,日均约 162 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@atlasauth/pca-fndsa-wasm 还在维护吗?

最新版本 0.4.3 发布于 2026/10/28(11 天前);至今共发布 7 个版本,其中过去 12 个月发布了 7 个;首次发布于 2026/10/09。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。