Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Data Integrity bbs-2023 Cryptosuite #550

Merged
merged 34 commits into from
Jul 10, 2024
Merged

Data Integrity bbs-2023 Cryptosuite #550

merged 34 commits into from
Jul 10, 2024

Conversation

timothee-haudebourg
Copy link
Contributor

@timothee-haudebourg timothee-haudebourg commented Jun 13, 2024

This PR implements the bbs-2023 cryptosuite defined by Data Integrity BBS Cryptosuites v1.0. It is implemented through the Bbs2023 type in ssi-data-integrity-suites library. The bbs feature must be enabled.

This is based on the zkryptium library providing a Rust implementation of the BBS Signature Scheme. Only the baseline feature option is supported for now. Other options seem not stabilized yet and use features outside of the BBS Signature Scheme not provided by zkryptium. Other implementations such as Digital Bazaar's only provide the baseline option as well.

I have not added Bbs2023 to the AnySuite enum, as there is no generic interface for Data-Integrity selective disclosure suites yet.

@timothee-haudebourg timothee-haudebourg changed the base branch from treeldr to wall-184-osl-a-ssi-implement-vcdm-v2 June 13, 2024 14:55
@timothee-haudebourg timothee-haudebourg force-pushed the wall-184-osl-a-ssi-implement-vcdm-v2 branch from 3de118d to 86ba42b Compare June 24, 2024 09:20
@timothee-haudebourg timothee-haudebourg force-pushed the wall-184-osl-a-ssi-implement-vcdm-v2 branch 2 times, most recently from c33c39f to ddcf958 Compare June 25, 2024 21:50
Base automatically changed from wall-184-osl-a-ssi-implement-vcdm-v2 to main June 27, 2024 09:09
@timothee-haudebourg timothee-haudebourg self-assigned this Jul 3, 2024
Copy link
Member

@sbihel sbihel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have not added Bbs2023 to the AnySuite enum, as there is no generic interface for Data-Integrity selective disclosure suites yet.

Do you plan to do it in this PR?


Otherwise, something funky happened with Github automatic replacement of the base branch. You might need to re-open the PR because the branch itself looks good, and this is too messy to be reviewed

crates/bbs/Cargo.toml Show resolved Hide resolved
ssi_multicodec::ED25519_PUB,
&params.public_key.0,
)
.into_bytes(),
),
"Bls12381G2" => multibase::encode(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In hindsight, Bls12381G2 should be of key type EC because it uses x,y,d coordinates. Maybe this is relevant:

Unification of the signature options and verification options interface.
…o SD suites.

Add `DataIntegrity::select` method.
@timothee-haudebourg
Copy link
Contributor Author

I've added a DataIntegrity::select method you can use to create a derived document from a base document signed with a SD suite.

let derived_vc = vc.select(params, options).await?;

@timothee-haudebourg timothee-haudebourg merged commit 0e87bfe into main Jul 10, 2024
4 checks passed
@timothee-haudebourg timothee-haudebourg deleted the bbs-2023 branch July 10, 2024 09:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants