A digital signature is a mathematical scheme using asymmetric cryptography that provides cryptographic proof of messageauthenticity (origin verification) and integrity (tamper detection), enabling non-repudiable attribution of digital messages to their signers through public key verification of private key-generated signatures.
Related Concepts
No related concepts available
Comprehensive Explanation
digital-signature
Technical Definition
A digital signature is a cryptographic primitive that applies asymmetric key cryptography to create verifiable, non-repudiable commitments to digital data. In the KERI/ACDC ecosystem, digital signatures serve as the foundational security mechanism enabling:
Authenticity: Cryptographic proof that a message originated from the holder of a specific private key
Integrity: Mathematical assurance that signed data has not been altered since signing
Non-repudiation: The signer cannot credibly deny having created the signature
Formal Definition
A digital signature scheme consists of three algorithms:
Key Generation: Produces an asymmetric key pair (sk, pk) where sk is the private signing key and pk is the public verification key
Signing: Takes a message m and private key sk to produce signature σ = Sign(sk, m)
Verification: Takes message m, signature σ, and public key pk to output Verify(pk, m, σ) → {valid, invalid}
Purpose in KERI/ACDC
Digital signatures are the for establishing control authority in KERI. Every key event in a Key Event Log (KEL) must be digitally signed by the current authoritative key set. ACDCs (Authentic Chained Data Containers) leverage digital signatures through anchoring mechanisms where signatures on KEL events cryptographically commit to ACDC digests, creating verifiable credential chains.
Existential Unforgeability under Chosen Message Attack (EUF-CMA):
All supported signature schemes provide EUF-CMA security, meaning an adversary cannot forge a valid signature on any message, even after observing signatures on chosen messages.
Collision Resistance:
Signature schemes rely on collision-resistant hash functions (SHA-256, SHA-512, SHAKE256) to digest messages before signing, preventing collision-based forgery attacks.
Non-Malleability:
Ed25519 and Ed448 provide strong non-malleability guarantees. ECDSA requires careful implementation (RFC 6979 deterministic signatures) to prevent malleability attacks.
Key Compromise Impact:
KERI's pre-rotation mechanism limits the impact of signing key compromise. Even if current signing keys are compromised, the attacker cannot forge rotation events because the next rotation keys are cryptographically hidden through digest commitments.
The signature attachment begins with -AAB (count code indicating one indexed signature follows), then the indexed signature.
Rotation Event Signature:
Rotation events must be signed by keys from the current authoritative set (not the next pre-rotated keys). This ensures that rotation authority is proven through possession of currently active keys.
Interaction Event Signature:
Interaction events (non-establishment events) are signed by current keys to anchor external data to the KEL without changing key state.
In ACDC Credentials
ACDCs use an indirect signature mechanism:
ACDC SAID Generation: The ACDC's Self-Addressing Identifier is computed from its content
KEL Event Anchoring: The ACDC SAID is included in a KEL event's seal section
KEL Event Signing: The KEL event (containing the ACDC SAID) is digitally signed
Transitive Verification: Verifying the KEL event signature cryptographically commits to the ACDC
This design enables:
Key rotation resilience: ACDCs remain verifiable after issuer key rotation
Compact credentials: ACDCs don't carry direct signatures, reducing size
Unified verification: ACDC verification reduces to KEL verification
For multi-sig: Count valid signatures and verify threshold met
For weighted multi-sig: Sum weights of valid signatures and verify threshold met
Step 4: Verify Event Integrity:
Verify event digest matches the d field (SAID)
Verify prior event digest matches the p field (hash chaining)
Verify sequence number increments correctly
Step 5: Verify Key State Consistency:
Verify signing keys match current authoritative keys from prior establishment event
For rotation events, verify next key digest from prior event matches revealed keys
Verify witness threshold and witness set consistency
Related Primitives
Public Keys
Digital signatures are inseparable from public key cryptography. The public key serves as the verification key for signatures created with the corresponding private key. In KERI, public keys are encoded as CESR primitives with derivation codes indicating the key type:
D: Ed25519 public verification key
1AAB: ECDSA secp256k1 public verification key
1AAD: Ed448 public verification key
The relationship is complementary: private keys sign, public keys verify.
Digests (Hashes)
Digital signature schemes typically sign a digest (cryptographic hash) of the message rather than the message itself. This provides:
Fixed-size input: Regardless of message length, digest is fixed size
Efficiency: Signing a 32-byte digest is faster than signing megabytes of data
Event digests: The d field in every event is a SAID (self-addressing identifier)
Prior event digests: The p field creates hash chaining
Next key digests: The n field commits to pre-rotated keys
The relationship is compositional: signatures are applied to digests, not raw data.
Indexed Signatures (Sigers)
In multi-signature scenarios, indexed signatures extend basic signatures with position information:
Index field: Indicates which key from the authoritative set produced the signature
Threshold verification: Enables verification that M-of-N signatures are present
Efficient verification: Verifier knows which public key to use without trial-and-error
The relationship is specialization: indexed signatures are digital signatures with additional metadata.
Seals
Seals are cryptographic commitments that anchor external data to KEL events:
Event seals: Commit to other events (delegation, interaction)
Digest seals: Commit to arbitrary data via digest
ACDC seals: Commit to credential SAIDs
Seals are signed as part of the KEL event containing them, creating transitive signature coverage. The relationship is hierarchical: signatures cover seals, seals cover external data.
Receipts
Witness receipts are signatures from designated witnesses confirming observation of key events:
Receipt structure: References the event being receipted (via SAID)
Witness signature: Proves the witness observed and validated the event