#jose #zero-knowledge #jwk #elliptic-curve #jpt #jwp

json-proof-token

基于新的JOSE工作组草案规范实现的库:JSON Web Proof (JWP),JSON Proof Token (JPT)和JSON Proof Algorithm (JPA)

25个版本

0.3.5 2024年4月5日
0.3.4 2024年3月19日
0.3.3 2024年2月19日
0.3.2 2024年1月9日
0.1.8 2023年11月30日

182密码学

Download history • Rust 包仓库 24/week @ 2024-04-19 • Rust 包仓库 25/week @ 2024-04-26 • Rust 包仓库 1/week @ 2024-05-03 • Rust 包仓库 10/week @ 2024-05-17 • Rust 包仓库 529/week @ 2024-05-24 • Rust 包仓库 1813/week @ 2024-05-31 • Rust 包仓库 1154/week @ 2024-06-07 • Rust 包仓库 1062/week @ 2024-06-14 • Rust 包仓库 1152/week @ 2024-06-21 • Rust 包仓库 1722/week @ 2024-06-28 • Rust 包仓库 2133/week @ 2024-07-05 • Rust 包仓库 545/week @ 2024-07-12 • Rust 包仓库 459/week @ 2024-07-19 • Rust 包仓库 888/week @ 2024-07-26 • Rust 包仓库 632/week @ 2024-08-02 • Rust 包仓库

2,621每月下载量
用于 11 个crate(4个直接)

Apache-2.0

94KB
2K SLoC

json-proof-token

License

解码器

这里你可以找到一个简单的JSON Proof Tokens解码器。

描述

Rust库实现了新的 JOSE工作组 草案

关于这些规范的工作可以在 这里 找到。

支持功能

JSON Web Keys (JWK)

JWK在 RFC 7517 中定义。

注意:为了表示 BLS 密钥,此实现引用了 draft-ietf-cose-bls-key-representations-05

JWKs目前正在JWPs的生成和验证中使用。

下表显示了目前支持的ktycrv

JWK密钥类型

密钥类型 支持
OKP
EC
RSA
oct

JWK椭圆曲线

标准椭圆曲线列表可以在 这里 找到

曲线名称 支持
P-256
P-384
P-521
secp256k1
Ed25519
Ed448
X25519
X448

此列表是根据当前活动的草案 Barreto-Lynn-Scott Elliptic Curve Key Representations for JOSE and COSE - v05 制成的。

曲线名称 支持
BLS12381G2
BLS12381G1
BLS48581G2
BLS48581G2

JSON Web Proof Algorithms

支持的算法在 JPA 规范中定义。

注意:请记住,这些规范处于早期阶段,并且它们在未来可能会经历重大变化。

一次性使用

算法 支持 备注
SU-ES256 命名为这里

BBS

这些alg值是临时的,等待官方草案的更新,该草案将定义名称以支持BBS+中指定的密码套件。

  • BBS_BLS12381G1_XMD:SHA-256_SSWU_RO_H2G_HM2S_
  • BBS_BLS12381G1_XOF:SHAKE-256_SSWU_RO_H2G_HM2S_
算法 支持 备注
BLS12381-SHA256
BLS12381-SHAKE256
BLS12381-SHA256-PROOF
BLS12381-SHAKE256-PROOF

MAC

这些定义这里

算法 支持 备注
MAC-H256
MAC-H384
MAC-H512
MAC-K25519
MAC-K448
MAC-H256K

JSON Web Proof 序列化

格式 支持
紧凑型
JSON

入门

要求

使用

将此添加到您的Cargo.toml中

[dependencies]
json-proof-token = "0.3.5"

示例

查看示例

测试

待定

依赖关系

~13MB
~207K SLoC