This document serves as an informative registry for all known Linked Data Key descriptions and their associated specifications.
Comments regarding this document are welcome. Please file issues directly on GitHub, or send them to public-credentials@w3.org (subscribe, archives).
Portions of the work on this specification have been funded by the United States Department of Homeland Security's Science and Technology Directorate under contracts HSHQDC-16-R00012-H-SB2016-1-002 and HSHQDC-17-C-00019. The content of this specification does not necessarily reflect the position or the policy of the U.S. Government and no official endorsement should be inferred.
Work on this specification has also been supported by the Rebooting the Web of Trust community facilitated by Christopher Allen, Shannon Appelcline, Kiara Robles, Brian Weller, Betty Dhamers, Kaliya Young, Manu Sporny, Drummond Reed, and Joe Andrieu.
This document contains a list of all known Linked Data Cryptographic Suites and their associated specifications.
Software implementers may find that the existing cryptographic suites listed in this repository are not suitable for their use case and may need to add a new cryptographic suite to this registry. Adding a Linked Data Cryptographic Suite to this list is designed to be a lightweight, community-driven process. In order to add a new suite to this registry, an implementer MUST:
Specifications that do not meet these criteria will not be accepted. Old listings which fall out of conformance may be removed.
Implementers that would like help or guidance during this process are urged to join the W3C Credentials Community Group and request assistance via the mailing list.
This section summarizes the cryptographic signature suites and their
corresponding verification methods currently known to the community.
By convention there is a 1-1 mapping between signature suite (proof.type
) and verification method (publicKey.type
).
Suites that support multiple verification methods MUST state so explicitly, and MUST register all verification method types in the suite specification.
Summary | |
---|---|
Identifiers | Ed25519Signature2018 |
Status | PROVISIONAL |
Authors | Markus Sabadello |
Specification | Ed25519 Signature Suite 2018 |
Summary | |
---|---|
Identifiers | Ed25519VerificationKey2018 |
Status | PROVISIONAL |
Authors | Markus Sabadello |
Specification | Ed25519 Signature 2018: key format |
{ "@context": ["https://w3id.org/security/v1"], "id": "did:example:123456789abcdefghi#keys-1", "type": "Ed25519VerificationKey2018", "controller": "did:example:123456789abcdefghi", "expires": "2017-02-08T16:02:20Z", "publicKeyBase58" : "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV" }
Summary | |
---|---|
Identifiers | RsaSignature2018 |
Status | PROVISIONAL |
Authors | Dave Longley, Manu Sporny |
Specification | RSA Signature Suite 2018 |
Summary | |
---|---|
Identifiers | RsaVerificationKey2018 |
Status | PROVISIONAL |
Authors | Dave Longley, Manu Sporny |
Specification | RSA Signature Suite 2018 |
{ "id": "did:example:123456789abcdefghi#keys-1", "type": "RsaVerificationKey2018", "controller": "did:example:123456789abcdefghi", "expires": "2017-02-08T16:02:20Z", "publicKeyPem": "-----BEGIN PUBLIC KEY...END PUBLIC KEY-----\r\n" }
Summary | |
---|---|
Identifiers | EcdsaSecp256k1Signature2019 |
Status | PROVISIONAL |
Authors | Orie Steele |
Specification | ECDSA Secp256k1 Signature Suite 2019 |
Summary | |
---|---|
Identifiers | EcdsaSecp256k1VerificationKey2019 |
Status | PROVISIONAL |
Authors | Orie Steele |
Specification | ECDSA Secp256k1 Signature Suite 2019 |
{ "id": "did:example:123#WqzaOweASs78whhl_YvCEvj1nd89IycryVlmZMefcjU", "type": "EcdsaSecp256k1VerificationKey2019", "controller": "did:example:123", "publicKeyJwk": { "crv": "secp256k1", "x": "4xAbUxbGGFPv4qpHlPFAUJdzteUGR1lRK-CELCufU9w", "y": "EYcgCTsff1qtZjI9_ckZTXDSKAIuM0BknrKgo0BZ_Is", "kty": "EC", "kid": "WqzaOweASs78whhl_YvCEvj1nd89IycryVlmZMefcjU" } }
{ "id": "did:example:123#zQ3shnxmSoA9BJ2Djspq8RZkh9MNcUSYvFmP8Fp46aQqhpio4", "type": "EcdsaSecp256k1VerificationKey2019", "controller": "did:example:123", "expires": "2017-02-08T16:02:20Z", "publicKeyBase58": '231cRx1fhyNzrdj9i3UseKm1ApgMwyDLbKtJJH5AacEwL' }
publicKeyHex
remains unsupported in did-core.
{ "id": "did:example:123#keys-1", "type": "EcdsaSecp256k1VerificationKey2019", "controller": "did:example:123", "expires": "2017-02-08T16:02:20Z", "publicKeyHex": "02b97c30de767f084...263d29f1450936b71" }
Summary | |
---|---|
Identifiers | EcdsaSecp256k1RecoverySignature2020 |
Status | PROVISIONAL |
Authors | Orie Steele |
Specification | ECDSA Secp256k1 Recovery Signature Suite 2019 |
Summary | |
---|---|
Identifiers | EcdsaSecp256k1RecoveryMethod2020 |
Status | PROVISIONAL |
Authors | Orie Steele |
Specification | ECDSA Secp256k1 Recovery Signature Suite 2019 |
{ "id": "did:example:123#WqzaOweASs78whhl_YvCEvj1nd89IycryVlmZMefcjU", "type": "EcdsaSecp256k1RecoveryMethod2020", "controller": "did:example:123", "publicKeyJwk": { "crv": "secp256k1", "x": "4xAbUxbGGFPv4qpHlPFAUJdzteUGR1lRK-CELCufU9w", "y": "EYcgCTsff1qtZjI9_ckZTXDSKAIuM0BknrKgo0BZ_Is", "kty": "EC", "kid": "WqzaOweASs78whhl_YvCEvj1nd89IycryVlmZMefcjU" } }
publicKeyHex
remains unsupported in did-core.
{ "id": "did:example:123#keys-1", "type": "EcdsaSecp256k1RecoveryMethod2020", "controller": "did:example:123", "expires": "2017-02-08T16:02:20Z", "publicKeyHex": "02b97c30de767f084...263d29f1450936b71" }
{ "id": "did:example:123#keys-1", "type": "EcdsaSecp256k1RecoveryMethod2020", "controller": "did:example:123", "ethereumAddress": "0x89a932207c485f85226d86f7cd486a89a24fcc12" }
Summary | |
---|---|
Identifiers | JsonWebSignature2020 |
Status | PROVISIONAL |
Authors | Orie Steele |
Specification | Json Web Signature 2020 |
Summary | |
---|---|
Identifiers | JwsVerificationKey2020 |
Status | PROVISIONAL |
Authors | Orie Steele |
Specification | Json Web Signature 2020 |
{ "id": "did:example:123#_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A", "type": "JwsVerificationKey2020", "controller": "did:example:123", "publicKeyJwk": { "crv": "Ed25519", "x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ", "kty": "OKP", "kid": "_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A" } }
Summary | |
---|---|
Identifiers | GpgSignature2020 |
Status | PROVISIONAL |
Authors | Orie Steele |
Specification | GPG Signature 2020 |
Summary | |
---|---|
Identifiers | GpgVerificationKey2020 |
Status | PROVISIONAL |
Authors | Orie Steele |
Specification | GPG Signature 2020 |
{ "id": "did:example:123#989ed1057a294c8a3665add842e784c4d08de1e2", "type": "GpgVerificationKey2020", "controller": "did:example:123", "publicKeyGpg": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\nVersion: OpenPGP.js v4.9.0\r\nComment: https://openpgpjs.org\r\n\r\nxjMEXkm5LRYJKwYBBAHaRw8BAQdASmfrjYr7vrjwHNiBsdcImK397Vc3t4BL\r\nE8rnN......v6\r\nDw==\r\n=wSoi\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n" }
Summary | |
---|---|
Identifiers | JcsEd25519Signature2020 |
Status | PROVISIONAL |
Authors | Gabe Cohen, Orie Steele |
Specification | JCS Ed25519 Signature 2020 |
Summary | |
---|---|
Identifiers | JcsEd25519Key2020 |
Status | PROVISIONAL |
Authors | Gabe Cohen, Orie Steele |
Specification | JCS Ed25519 Signature 2020 |
{ "created": "2020-02-21T22:37:48Z", "creator": "did:work:6sYe1y3zXhmyrBkgHgAgaq#key-1", "nonce": "524a497a-871c-4b89-a325-205f78fc5fcd", "signatureValue": "2NuYkfkFy8o4R8iRCaLzTYc1Uss8s22rvC7jiY4BA49sFmWbwbEkQ6BHQPULEp7mPfQQvJdKSjKRLJF8sp62GKvo", "type": "JcsEd25519Signature2020" }
Summary | |
---|---|
Identifiers | BbsBlsSignature2020 |
Status | PROVISIONAL |
Authors | Tobias Looker, Orie Steele |
Specification | BBS+ Signatures 2020 |
Summary | |
---|---|
Identifiers | BbsBlsSignatureProof2020 |
Status | PROVISIONAL |
Authors | Tobias Looker, Orie Steele |
Specification | BBS+ Signatures 2020 |
Summary | |
---|---|
Identifiers | Bls12381G1Key2020 |
Status | PROVISIONAL |
Authors | Tobias Looker, Orie Steele |
Specification | BBS+ Signatures 2020 |
{ "id": "did:example:489398593#test", "type": "Bls12381G1Key2020", "controller": "did:example:489398593", "publicKeyBase58": "4N9Kg9BxmDXtf2QgRH2j1UfFAcQAmgu9Xpwe2fLbSNQHPQHBK5dHrQfFvexvux" }
Summary | |
---|---|
Identifiers | Bls12381G2Key2020 |
Status | PROVISIONAL |
Authors | Tobias Looker, Orie Steele |
Specification | BBS+ Signatures 2020 |
{ "id": "did:example:489398593#test", "type": "Bls12381G2Key2020", "controller": "did:example:489398593", "publicKeyBase58": "oqpWYKaZD9M1Kbe94BVXpr8WTdFBNZyKv48cziTiQUeuhm7sBhCABMyYG4kcMrseC68YTFFgyhiNeBKjzdKk9MiRWuLv5H4FFujQsQK2KTAtzU8qTBiZqBHMmnLF4PL7Ytu" }