jedisct1/wasi-crypto-preview

GitHub: jedisct1/wasi-crypto-preview

WASI Cryptography API 是为 WebAssembly 生态系统定义标准化密码学接口的提案仓库,包含规范文档、接口定义和参考实现。

Stars: 10 | Forks: 1

# WASI Cryptography API 本仓库用于为 [WebAssembly Community Group] 的 [WASI Subgroup] 开发 Cryptography API 提案。 有关这些小组的流程、目标、范围和交付物的更多信息,请参阅其文档。 * [高层目标](docs/HighLevelGoals.md) * [安全设计文档](design/security.md) * [规范](docs/wasi-crypto.md) * 接口定义: * 通用类型和函数 ([witx](witx/proposal_common.witx), [文档](witx/proposal_common.md)) * 对称操作 ([witx](witx/proposal_siymmetric.witx), [文档](witx/proposal_symmetric.md)) * 非对称操作的通用类型和函数 ([witx](witx/proposal_asymmetric_common.witx), [文档](witx/proposal_asymmetric_common.md)) * 签名 ([witx](witx/proposal_signatures.witx), [文档](witx/proposal_signatures.md)) * 密钥交换 ([witx](witx/proposal_kx.witx), [文档](witx/proposal_kx.md)) * 外部密钥 ([witx](witx/proposal_external_secrets.witx), [文档](witx/proposal_external_secrets.md)) * [简要 API 概览](witx/wasi_ephemeral_crypto.txt) * [Wasmtime 实现](implementations/wasmtime) - [集成了 wasi-crypto 的 Wasmtime fork](https://github.com/jedisct1/wasmtime-crypto) * [AssemblyScript 绑定示例](implementations/bindings/assemblyscript) * [Rust 绑定示例](implementations/bindings/rust) ## 测试 API 示例实现导出了: * 一个 Rust 接口 `CryptoCtx`,它是仿照 `witx` 文件建模的,但可以直接使用而无需 WebAssembly 运行时。 * 一个轻量级的 `WasiCryptoCtx` 层,它使用 `wiggle` 将该 API 直接映射到 WASI 调用约定。 `CryptoCtx` 可用于在 Rust 中快速试验该 API。 其他语言可以使用上面的 [`wasmtime` fork](https://github.com/jedisct1/wasmtime-crypto) 作为 WebAssembly 运行时来访问 crypto API。 在该配置中,可以通过导出的 `wasi_ephemeral_crypto` 模块访问该 API。 请参阅 AssemblyScript 和 Rust 绑定作为示例。 目前作为概念验证支持的算法: * `ECDSA_P256_SHA256` * `ECDSA_K256_SHA256` * `Ed25519` * `RSA_PKCS1_2048_SHA256` * `RSA_PKCS1_2048_SHA384` * `RSA_PKCS1_2048_SHA512` * `RSA_PKCS1_3072_SHA384` * `RSA_PKCS1_3072_SHA512` * `RSA_PKCS1_4096_SHA512` * `RSA_PSS_2048_SHA256` * `RSA_PSS_2048_SHA384` * `RSA_PSS_2048_SHA512` * `RSA_PSS_3072_SHA384` * `RSA_PSS_3072_SHA512` * `RSA_PSS_4096_SHA512` * `HKDF-EXTRACT/SHA-256` * `HKDF-EXTRACT/SHA-512` * `HKDF-EXPAND/SHA-256` * `HKDF-EXPAND/SHA-512` * `HMAC/SHA-256` * `HMAC/SHA-512` * `SHA-256` * `SHA-512` * `SHA-512/256` * `AES-128-GCM` * `AES-256-GCM` * `CHACHA20-POLY1305` * `XCHACHA20-POLY1305` * `XOODYAK-128` * `XOODYAK-160` * `X25519` * `KYBER768`
标签:AI工具, API规范, WASI, WebAssembly, 可视化界面, 密码学, 手动系统调用, 系统接口, 通知系统