Loading vLEI.wiki
Fetching knowledge base...
Fetching knowledge base...
This comprehensive explanation has been generated from 60 GitHub source documents. All source documents are searchable here.
Last updated: October 7, 2025
This content is meant to be consumed by AI agents via MCP. Click here to get the MCP configuration.
Note: In rare cases it may contain LLM hallucinations.
For authoritative documentation, please consult the official GLEIF vLEI trainings and the ToIP Glossary.
A cryptonym is a cryptographic pseudonymous identifier represented by a string of characters derived from a random or pseudo-random secret seed or salt via a one-way cryptographic function with sufficiently high cryptographic strength (e.g., 128 bits), functioning as a universally unique identifier where only the controller possessing the secret can prove control.
A cryptonym is a fundamental cryptographic primitive in KERI defined as a string of characters derived from a random or pseudo-random secret seed or salt through a one-way cryptographic function. The term combines "cryptographic" with "pseudonymous," reflecting its dual nature as both a cryptographically secure identifier and a privacy-preserving pseudonym.
According to the KERI specification, a cryptonym MUST satisfy two requirements:
This self-describing capability enables cryptonyms to be independently verifiable without external context, as the derivation method can be intrinsically linked to the identifier itself.
Cryptonyms serve as building blocks for autonomic identifiers (AIDs) and enable privacy-preserving identification within the KERI protocol. They provide pseudonymous yet cryptographically verifiable identifiers that can be used in contexts requiring both anonymity and proof of control.
Within KERI's architecture, cryptonyms are classified as a type of primitive—fundamental serializable units that can be composed with other primitives in CESR (Composable Event Streaming Representation). As primitives, cryptonyms represent basic cryptographic building blocks that form the foundation for more complex identifier systems.
Implementations MUST ensure that cryptonyms are derived using cryptographic functions with at least 128 bits of entropy. This provides 2^128 possible values, making brute-force attacks computationally infeasible.
The KERI specification mandates that the derivation function MUST be associated with the cryptonym. Implementations should:
The security of cryptonyms depends entirely on protecting the secret seed or salt:
Cryptonyms must be encoded as CESR primitives, which requires:
For maximum privacy protection:
Implementations should provide mechanisms for controllers to prove control over cryptonyms without revealing secrets:
The cryptographic derivation of a cryptonym follows this general pattern:
The specification mandates a "sufficiently high degree of cryptographic strength," with 128 bits provided as the minimum example threshold. This strength requirement ensures:
The one-way nature of the cryptographic function is essential—it ensures that:
Due to the entropy inherent in the derivation process, cryptonyms function as universally unique identifiers. This uniqueness property stems from:
This enables cryptonyms to be generated in a completely decentralized manner without requiring centralized registration or coordination to ensure uniqueness.
As CESR primitives, cryptonyms are encoded in the Composable Event Streaming Representation format, which provides:
The specification states that the derivation function MAY be encoded as part of the cryptonym itself. This is typically achieved through derivation codes—prepended codes that specify:
This self-describing property enables any party receiving a cryptonym to determine which cryptographic algorithm was used in its derivation, maintaining interoperability within the KERI ecosystem.
Cryptonyms are represented as character strings, making them:
A defining characteristic of cryptonyms is that only the controller who possesses the secret salt or seed from which the cryptonym was derived may prove control over that cryptonym. This creates a direct cryptographic binding between the identifier and its controller, establishing control authority through cryptographic means rather than through external authorities or registries.
This property enables:
The cryptographic pseudonymous nature of cryptonyms provides specific privacy characteristics:
The specification distinguishes between derivation from a "random or pseudo-random secret seed or salt," indicating that cryptonyms may be derived from either:
While both serve as secret inputs to the derivation function, they represent different cryptographic materials that can be used to generate cryptonyms for different purposes.
Cryptonyms form the foundation for self-certifying identifiers (SCIDs) in KERI. While basic SCIDs directly embed or derive from public keys, cryptonyms provide a more general mechanism for creating identifiers from any secret material. The relationship is:
Within the KERI protocol, cryptonyms serve as components of autonomic identifiers (AIDs). The specification defines AIDs as "self-managing cryptonymous identifiers," explicitly incorporating the cryptonym concept into the definition of AIDs. This integration means:
In ACDC (Authentic Chained Data Container) systems, cryptonyms can be used for:
Self-certifying identifiers represent a specialized form of cryptonym where the identifier is derived from a public key rather than an arbitrary secret. The relationship is:
Self-addressing identifiers are content-addressable identifiers derived from the content they identify. While not strictly cryptonyms (as they're derived from content rather than secrets), they share:
Autonomic identifiers are defined as "self-managing cryptonymous identifiers," explicitly building upon the cryptonym concept. AIDs extend cryptonyms by adding:
While not primitives themselves, salts and seeds are the cryptographic materials from which cryptonyms are derived. The relationship is:
The security of a cryptonym depends entirely on the secrecy of the seed or salt from which it was derived. If the secret is compromised:
The specification's requirement for "sufficiently high degree of cryptographic strength" (minimum 128 bits) ensures:
For maximum privacy, cryptonyms should ideally be used in limited contexts:
However, this must be balanced against practical considerations of identifier persistence and relationship continuity.
The one-way derivation function ensures that exposure of the cryptonym does not compromise the secret seed or salt. This separation enables:
Cryptonyms can be organized hierarchically using hierarchical deterministic derivation schemes:
Root Secret → Cryptonym 1
→ Cryptonym 2
→ Cryptonym 3
This enables:
For privacy-preserving applications, cryptonyms can be generated on-demand for specific contexts:
To prove control over a cryptonym, the controller must demonstrate possession of the secret without revealing it. Common approaches include:
Cryptonyms represent a fundamental building block in KERI's architecture, providing cryptographically secure, pseudonymous identifiers that enable privacy-preserving yet verifiable identification. Their properties of universal uniqueness, cryptographic binding to secrets, and one-way derivation make them essential for building self-sovereign identity systems that don't rely on centralized authorities. As CESR primitives, cryptonyms integrate seamlessly into KERI's composable event streaming architecture, enabling efficient encoding and transmission while maintaining their security properties.
Choose cryptographic hash functions that provide:
Common choices include SHA-256, SHA-3, BLAKE2, or BLAKE3.
For applications requiring multiple related cryptonyms: