#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 24/week @ 2024-04-19 25/week @ 2024-04-26 1/week @ 2024-05-03 10/week @ 2024-05-17 529/week @ 2024-05-24 1813/week @ 2024-05-31 1154/week @ 2024-06-07 1062/week @ 2024-06-14 1152/week @ 2024-06-21 1722/week @ 2024-06-28 2133/week @ 2024-07-05 545/week @ 2024-07-12 459/week @ 2024-07-19 888/week @ 2024-07-26 632/week @ 2024-08-02

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