The Master Seed
Relevant source files
The following files were used as context for generating this wiki page:- README.md
- index.html
index.html (HTML)- The document structure and UI elements.index.html (CSS)- The styling rules for the user interface.index.html (JavaScript)- The core application logic, including system generation, encoding, and decoding.
The Master Seed is the foundational component of the qib13 system. It is a user-provided string of any length that serves as the root of trust and the primary source of entropy. Its core purpose is to enable the deterministic and reproducible generation of all encoding and deviation systems used to transform a 13-character generator code into a 55-character seed. The security of the entire qib13 system is contingent upon the secrecy of the Master Seed.
Sources: README.md:10-13, README.md:31-34
Role and Architecture
The Master Seed is the input for a cryptographically secure deterministic random number generator (RNG). This RNG, seeded by the Master Seed, is then used to create the Original System and all subsequent Deviation Systems. This ensures that for a given Master Seed, the exact same set of encoding systems will be generated every time, which is critical for reproducibility and seed recovery.
Sources: README.md:10-13, index.html:439-445, index.html:101-102
System Generation Flow
The following diagram illustrates how the Master Seed is used to generate the various encoding systems.
This flow shows the Master Seed initializing the CryptoSeededRandom class, which in turn deterministically generates the components for each encoding system.
Sources: index.html:439-445, index.html:452-461, README.md:16-22
Master Seed Configuration
The user can either provide a custom Master Seed or use a hardcoded default value. The application recommends using a custom seed for security.
Sources: README.md:33-34, index.html:99-100
UI Elements
The user interacts with the Master Seed via a specific input field in the "Generate Reproducible Systems" section of the UI.
| Element ID | Description | Source File |
|---|---|---|
masterSeed | An <input type="text"> field where the user enters their custom Master Seed. | index.html (HTML): index.html:99 |
generateSystems() | A JavaScript function triggered by a button click to start the system generation process using the value from the masterSeed input. | index.html (HTML): index.html:102 |
useDefaultSystems() | A function that loads the hardcoded default Master Seed and generates the default systems. | index.html (HTML): index.html:103 |
Default Master Seed
If the user does not provide a Master Seed, a default value is used.
- Default Value:
xtphkxlzrkleosumdxykzmmhzdtaqdsfbzimlwglctrcezpffqtbfhbiakksgwauprtbhfflulpnrbhghbvpnwqhyozkjgsavudi
This value is defined in the global scope of the application's JavaScript.
// index.html:178-180
let allSystems = [];
let currentNumSystems = 10;
let currentMasterSeed = "xtphkxlzrkleosumdxykzmmhzdtaqdsfbzimlwglctrcezpffqtbfhbiakksgwauprtbhfflulpnrbhghbvpnwqhyozkjgsavudi";
The generateSystems function explicitly checks if the input is empty and falls back to this default if necessary.
Sources: index.html:180, index.html:410-414
Usage in System Generation
The Master Seed string is the key input for creating unique seeds for each encoding system. This is achieved by appending a specific suffix to the Master Seed before it is passed to the CryptoSeededRandom constructor.
- Original System: The Master Seed is concatenated with
"-original-1". - Deviation Systems: The Master Seed is concatenated with
"-deviation-N", whereNis the system number (e.g., 2, 3, ...).
// index.html:439-445
function createOriginalSystem(id, seed) {
const rng = new CryptoSeededRandom(seed + "-original-" + id);
// ...
}
// index.html:452-461
function createDeviationSystem(id, seed) {
const rng = new CryptoSeededRandom(seed); // Note: The suffix is appended before calling
// ...
}
// index.html:425-426
const originalSystem = createOriginalSystem(1, masterSeed);
// index.html:432-435
const deviationSystem = createDeviationSystem(
systemsGenerated + 1,
masterSeed + "-deviation-" + (systemsGenerated + 1)
);
Sources: index.html:425-426, index.html:432-435, index.html:440, index.html:453
System Generation Sequence
The following diagram shows the sequence of events when a user generates systems with a custom Master Seed.
This sequence demonstrates the flow from user action to the creation of deterministic RNG instances for each system, all rooted in the initial Master Seed.
Sources: index.html:98-105, index.html:407-438
Security Implications
The security of the qib13 system is entirely dependent on the secrecy of the Master Seed. It is the primary factor contributing to the system's overall entropy.
Entropy Contribution
The entropy from the Master Seed is calculated as L × log₂(26) bits, where L is the length of the Master Seed. For an 80-character seed, this contributes approximately 376 bits of entropy, making brute-force attacks computationally infeasible as long as the seed remains secret.
Sources: README.md:61-62, README.md:66-68
Security Model
The system's security posture changes drastically depending on whether the Master Seed is compromised.
| Scenario | Security Level | Vulnerability |
|---|---|---|
| Master Seed is Secret | High | Computationally infeasible to brute-force the generator code. Total entropy is the sum of Master Seed, generator code, and deviation index entropy. |
| Master Seed is Compromised | Low | Security reduces to the generator code entropy (~61.1 bits) plus the deviation index entropy. This is vulnerable to brute-force attacks. |
Sources: README.md:73-80
Conclusion
The Master Seed is the cornerstone of the qib13 architecture. It provides a flexible and powerful mechanism for creating reproducible, cryptographically-derived encoding systems. By separating the high-entropy, secret component (the Master Seed) from the low-entropy, memorable component (the generator code), qib13 offers a practical balance between security and usability. The integrity and confidentiality of the Master Seed are paramount to the overall security of any data encoded using this system.
Sources: README.md:133-139