# @dashlane/pqc-kem-kyber512-browser 中文文档

规范地址：https://npmcn.com/package/%40dashlane/pqc-kem-kyber512-browser/

版本：1\.0\.0
npm 元数据更新时间：2026-07-24T07:47:38.677Z
中文译文更新时间：2026-11-11T12:47:45.206Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40dashlane/pqc-kem-kyber512-browser
原文对照：https://npmcn.com/package/%40dashlane/pqc-kem-kyber512-browser/?lang=original
项目主页：https://github.com/Dashlane/pqc.js#readme
源码仓库：https://github.com/Dashlane/pqc.js

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：93.5 kB，7 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=16\.0\.0
- 运行依赖：0 个
- 首次发布：2022-07-19T09:05:01.932Z
- 最新版本发布：2022-07-19T09:05:02.522Z
- 近 30 天下载量：2821（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：1（近 12 个月 0 个）

## 中文简介

WebAssembly的 JavaScript 包装器生成器

## 安装

```sh
npm install @dashlane/pqc-kem-kyber512-browser
```

也可以使用：`pnpm add @dashlane/pqc-kem-kyber512-browser`、`yarn add @dashlane/pqc-kem-kyber512-browser`、`bun add @dashlane/pqc-kem-kyber512-browser`

## README

# 页:1

## 概览

该项目为WebAssembly编译的量子后非对称密码提供了JS装订和游乐场 [标记](https://emscripten.org/) 和JS的倒计时.

现有方法是: [NIST 量子后密码学竞赛](https://csrc.nist.gov/Projects/post-quantum-cryptography)数字 :

-   **密钥封装方法( KEM):** [瑙鲁](https://ntru.org/), (中文(简体) ), [凯伯](https://pq-crystals.org/kyber/), (中文(简体) ), [萨尔瓦多](https://www.esat.kuleuven.be/cosic/pqcrypto/saber/), (中文(简体) ), [麦克埃利斯-克兰西克](https://classic.mceliece.org/), (中文(简体) )[NTRU 质点](https://ntruprime.cr.yp.to/), (中文(简体) ), [弗罗多肯](https://frodokem.org/), (中文(简体) ), [HQC - 管理系统](https://pqc-hqc.org/)) (中文(简体) ).
-   **签字方法:** [帝力](https://pq-crystals.org/dilithium/), (中文(简体) ), [法尔康](https://falcon-sign.info/), (中文(简体) ), [兰博](https://www.pqcrainbow.org/), (中文(简体) )[南太平洋+](https://sphincs.org/)) (中文(简体) ).

用于创建约束的 C 执行是 `clean` 提供的案文 [PQClean 分类](https://github.com/PQClean/PQClean)。 。 。 .

这个项目的灵感来自 [国家](https://github.com/cyph/ntru.js) 曾经提供 NTRU JS 约束.

## 游戏场

有可能在现实世界条件下对约束进行测试和比较 [这个游乐场](https://dashlane.github.io/pqc.js/)。 。 。 .

## 如何下载预建的装订和国家预防机制包

预建装订在 [游乐场](https://dashlane.github.io/pqc.js/)。 。 。 .

## 如何建设

-   `sudo apt install emscripten`
-   `npm ci`
-   `make clean`
-   `make kem-<the KEM algorithm you want to build>` 或者说 `make sign-<the signature algorithm you want to build>`
-   所有绑定可以使用 `make all`

输出目录为 `docs/bin/` 每个输出装订都用联署材料模块及其相关的WebAssembly文件制作, 浏览器软件包和节点软件包.

## 如何使用

### 密钥封装

```typescript
import kemBuilder from 'pqc-kem-<algoName>.js'

async function run() {
    const kem = await kemBuilder();
    
    const { publicKey, privateKey } = await kem.keypair();
    const { ciphertext, sharedSecret: sharedSecretA } = await kem.encapsulate(publicKey);
    const { sharedSecret: sharedSecretB } = await kem.decapsulate(ciphertext, privateKey);
    // sharedSecretA === sharedSecretB
}

run();
```

### 签署

```typescript
import signBuilder from 'pqc-sign-<algoName>.js'

async function run() {
    const sign = await signBuilder();
    
    const message = new Uint8Array([0x44, 0x61, 0x73, 0x68, 0x6c, 0x61, 0x6e, 0x65]);
    
    const { publicKey, privateKey } = await sign.keypair();
    const { signature } = await sign.sign(message, privateKey);
    const validSignature = await sign.verify(signature, message, publicKey);
    // validSignature === true
}

run();
```

### 禁用 Web Assembly 执行

构建者的第一个可选参数设置为 `true` 您想要禁用 Web Assembly 执行 .

如果设定为虚假, 如果 Web Assembly 失败, 仍然可能使用倒置 JavaScript .

### 更改 Web Assembly 的路径

构建者的第二个可选参数是WebAssembly文件的路径.

## 执行说明

-   随机生成由 [lib](https://github.com/jedisct1/libsodium) 这是在使用 `crypto.randomBytes`。 。 。 .
-   `SHA-2` 财务报告和审定财务报表 `AES` 由执行Web Crypto API的SubtleCrypto提供执行。 这可能 由于同步调用SubtleCrypto,当AES-ECB是时会更慢地执行捆绑 使用,因为在此情况下,每个区块需要AES-CTR.
-   `SHA-2` PQClean 执行仍然被使用 `sphincs-sha256-*` 绑定,因为它们使用增量版本 联 合 国 `sha256` 在Web Crypto API中不存在.
-   `SHA-3` NTRU、Kyber、SABER、FrodoKEM和McEliece-Classic仍然使用PQClean执行,因为没有 在Web Crypto API中实现.

## 常见问题

### @dashlane/pqc-kem-kyber512-browser 是什么？

WebAssembly的 JavaScript 包装器生成器

### 如何安装 @dashlane/pqc-kem-kyber512-browser？

在项目目录运行 npm install @dashlane/pqc-kem-kyber512-browser，或使用 pnpm add / yarn add / bun add。

### @dashlane/pqc-kem-kyber512-browser 支持 TypeScript 吗？

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

### @dashlane/pqc-kem-kyber512-browser 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @dashlane/pqc-kem-kyber512-browser 需要什么版本的 Node\.js？

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

### @dashlane/pqc-kem-kyber512-browser 可以商用吗？

@dashlane/pqc-kem-kyber512-browser 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @dashlane/pqc-kem-kyber512-browser 的下载量有多少？

根据 npm 官方下载统计，@dashlane/pqc-kem-kyber512-browser 在 2026/10/12 – 2026/11/10 这 30 天内被下载 2,821 次，日均约 94 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @dashlane/pqc-kem-kyber512-browser 还在维护吗？

最新版本 1\.0\.0 发布于 2022/07/19（4 年前）；至今共发布 1 个版本，其中过去 12 个月发布了 0 个；首次发布于 2022/07/19。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

