Quantum Fold Cipher — Real-World Integration Patterns
Scope: Practical patterns for integrating the quantum cipher into production systems. No theoretical flourishes — just usable code.
Pattern 1: Symmetric Key Encryption (Session Data)
Use case: Encrypt session tokens, temporary keys, or short-term secrets.
Architecture:
┌─────────────┐
│ Session │
│ Token │
└────┬────────┘
│
├─→ [Tier 3] Generate key from session ID
│
├─→ [Tier 1+2] Vortex-encrypt token
│
├─→ [Tier 4] Record in receipt chain
│
└─→ [Tier 5] computesGate() verificationImplementation:
import { QuantumFoldCipher } from 'zeropoint-node/security'
import { merge, computesGate } from 'zeropoint-node'
class SessionEncryption {
private cipher: QuantumFoldCipher
constructor() {
this.cipher = new QuantumFoldCipher()
}
// Encrypt a session token
encryptSession(sessionId: string, tokenData: string): {
encrypted: string
proof: any
keyUuid: string
} {
// Derive key from session ID (deterministic)
const key = this.cipher.generateKey(`session:${sessionId}`, 32)
// Prepare quantum state (session context)
this.cipher.prepareState('Z', 0, 0)
// Gate: no specific gate for session encryption (state stays)
// Measurement: record decision (encrypt)
this.cipher.measure()
// Encrypt token data
const encrypted = this.cipher.encrypt(tokenData)
// Verify all 6 operations
const proof = this.cipher.computesGate()
return {
encrypted: encrypted.ciphertext,
proof: proof.root,
keyUuid: key.contentUuid,
}
}
// Decrypt (reverse)
decryptSession(
sessionId: string,
ciphertext: string,
): string | null {
try {
const key = this.cipher.generateKey(`session:${sessionId}`, 32)
this.cipher.prepareState('Z', 0, 0)
this.cipher.measure()
const payload = {
ciphertext,
keyUuid: key.contentUuid,
stateUuid: '',
receipt: '',
}
const plaintext = this.cipher.decrypt()
return plaintext
} catch {
return null // Decryption failed
}
}
}
// Usage
const sessions = new SessionEncryption()
const sessionId = 'user:12345'
const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'
const encrypted = sessions.encryptSession(sessionId, token)
console.log('Encrypted:', encrypted.encrypted)
console.log('Proof:', encrypted.proof)
const decrypted = sessions.decryptSession(sessionId, encrypted.encrypted)
console.log('Recovered:', decrypted === token) // truePattern 2: Long-Term Key Derivation (Master Key → Subkeys)
Use case: Derive long-lived subkeys from a master key (e.g., for different services).
Architecture:
┌──────────────┐
│ Master Key │
│ (High entropy)
└───────┬──────┘
│
├─→ [Tier 3] Expand via Rodin (5 rounds)
│
├─→ Subkey[0]: Database encryption
├─→ Subkey[1]: API signing
├─→ Subkey[2]: User data at-rest
├─→ Subkey[3]: Backup encryption
├─→ Subkey[4]: Long-term archive
│
└─→ [Tier 5] Merkle-fold all subkeys → root sealImplementation:
import {
generateQuantumKey,
expandQuantumKeyViaRodin,
QuantumEncryption,
} from 'zeropoint-node/security'
import { merkleFold } from 'zeropoint-node'
class KeyDerivationHierarchy {
private masterKey: any
private subkeys: Map<string, any> = new Map()
private hierarchyRoot: string = ''
constructor(masterEntropy: string) {
this.masterKey = generateQuantumKey(masterEntropy, 32)
this.deriveSubkeys()
}
private deriveSubkeys() {
const expanded = expandQuantumKeyViaRodin(this.masterKey, 5)
// Map each expanded key to a purpose
const purposes = [
'database-encryption',
'api-signing',
'user-data-at-rest',
'backup-encryption',
'long-term-archive',
]
const uuids: string[] = []
for (let i = 0; i < purposes.length; i++) {
const purposeKey = expanded[i]
this.subkeys.set(purposes[i], purposeKey)
uuids.push(purposeKey.contentUuid)
}
// Seal all subkeys in one merkle root
this.hierarchyRoot = merkleFold(uuids)
}
getSubkey(purpose: string): { material: number[]; uuid: string } | null {
const key = this.subkeys.get(purpose)
if (!key) return null
return {
material: key.material,
uuid: key.contentUuid,
}
}
getHierarchyRoot(): string {
return this.hierarchyRoot
}
// Verification: prove all subkeys are derived from master
verifyHierarchy(): boolean {
const uuids = Array.from(this.subkeys.values()).map((k) => k.contentUuid)
const recomputedRoot = merkleFold(uuids)
return recomputedRoot === this.hierarchyRoot
}
}
// Usage
const hierarchy = new KeyDerivationHierarchy(
'high-entropy-master-seed-256-bits'
)
const dbKey = hierarchy.getSubkey('database-encryption')
const apiKey = hierarchy.getSubkey('api-signing')
console.log('DB key UUID:', dbKey?.uuid)
console.log('API key UUID:', apiKey?.uuid)
console.log('Hierarchy sealed:', hierarchy.getHierarchyRoot())
console.log('Hierarchy verified:', hierarchy.verifyHierarchy()) // truePattern 3: Audit Trail (Measurement Chain)
Use case: Record cryptographic operations in tamper-proof chain (compliance, forensics).
Architecture:
┌──────────────┐
│ Operation 1 │ → Receipt[0]
└──────────────┘
↓
┌──────────────┐
│ Operation 2 │ → Receipt[1] (linked to Receipt[0])
└──────────────┘
↓
┌──────────────┐
│ Operation N │ → Receipt[N] (linked to Receipt[N-1])
└──────────────┘
↓
Verify chain: any tampering detectedImplementation:
import {
recordMeasurement,
verifyMeasurementReceipt,
GENESIS_PREV,
} from 'zeropoint-node/security'
class AuditTrail {
private chain: any[] = []
private currentLink: string = GENESIS_PREV
// Log an operation
logOperation(operation: string, basis: 'Z' | 'X', result: 0 | 1) {
const receipt = recordMeasurement(
this.currentLink,
result,
basis,
0 // qubit index (unused for audit)
)
this.chain.push({
timestamp: Date.now(),
operation,
receipt,
})
this.currentLink = receipt.id
return receipt
}
// Verify entire chain (detect tampering)
verifyChain(): {
ok: boolean
tamperAt?: number
reason?: string
} {
for (let i = 0; i < this.chain.length; i++) {
const entry = this.chain[i]
if (!verifyMeasurementReceipt(entry.receipt)) {
return {
ok: false,
tamperAt: i,
reason: `Receipt[${i}] failed verification: ${entry.operation}`,
}
}
// Verify chain linkage
if (i > 0) {
const prevReceipt = this.chain[i - 1].receipt
if (entry.receipt.prev !== prevReceipt.id) {
return {
ok: false,
tamperAt: i,
reason: `Chain link broken at Receipt[${i}]: prev pointer incorrect`,
}
}
}
}
return { ok: true }
}
// Generate audit report
generateReport(): string {
const verification = this.verifyChain()
let report = '=== AUDIT TRAIL ===\n'
report += `Total operations: ${this.chain.length}\n`
report += `Chain verified: ${verification.ok ? 'YES ✓' : 'NO ✗'}\n`
if (!verification.ok) {
report += `Tampering detected at: ${verification.tamperAt}\n`
report += `Reason: ${verification.reason}\n`
}
report += '\n=== OPERATIONS ===\n'
for (let i = 0; i < this.chain.length; i++) {
const entry = this.chain[i]
report += `[${i}] ${new Date(entry.timestamp).toISOString()}: ${entry.operation}\n`
report += ` Result: ${entry.receipt.measurement}, Basis: ${entry.receipt.basis}\n`
report += ` Receipt: ${entry.receipt.id}\n`
}
return report
}
}
// Usage
const audit = new AuditTrail()
// Log operations
audit.logOperation('key-generation', 'Z', 1)
audit.logOperation('encryption-start', 'Z', 0)
audit.logOperation('encryption-complete', 'X', 1)
audit.logOperation('key-export', 'Z', 0)
// Verify chain
const verification = audit.verifyChain()
console.log('Chain intact:', verification.ok) // true
// Generate report
console.log(audit.generateReport())
// Simulate tampering detection
// (In real scenario, attacker modifies a receipt)Pattern 4: Multi-Party Quantum Key Agreement
Use case: Alice and Bob agree on a shared key without pre-shared secret.
Architecture:
Alice Bob
│ │
├─ [Tier 1] Prepare state A ─→ Receive, measure (partial info)
│ │
├─ [Tier 2] Apply gate H ─→ Measure in complementary basis
│ │
├─ [Tier 3] Generate key A ←─ Generate key B (correlated)
│ │
└─ [Tier 5] Verify gate ←──→ Verify gate
↓ ↓
Shared secret Shared secretImplementation:
import { QuantumFoldCipher } from 'zeropoint-node/security'
import { foldPair, merge } from 'zeropoint-node'
class QuantumKeyAgreement {
static establishSharedKey(
aliceEntropy: string,
bobEntropy: string,
): {
sharedKeyUuid: string
aliceKey: any
bobKey: any
agreement: string // Proof they agree
} {
// Alice generates key from her entropy
const aliceCipher = new QuantumFoldCipher()
aliceCipher.generateKey(aliceEntropy)
aliceCipher.prepareState('Z', 0, 0)
aliceCipher.applyGate('H') // Non-trivial transformation
aliceCipher.measure()
aliceCipher.encrypt('alice-initial')
const aliceProof = aliceCipher.computesGate()
const aliceKey = aliceCipher.keyMaterial
// Bob generates key from his entropy
const bobCipher = new QuantumFoldCipher()
bobCipher.generateKey(bobEntropy)
bobCipher.prepareState('X', 1, 0) // Complementary basis
bobCipher.applyGate('H') // Same gate (or different?)
bobCipher.measure()
bobCipher.encrypt('bob-initial')
const bobProof = bobCipher.computesGate()
const bobKey = bobCipher.keyMaterial
// Agreement: fold both keys together
const aliceUuid = aliceProof.root
const bobUuid = bobProof.root
const { forward, reverse, merged } = foldPair(aliceUuid, bobUuid)
// Shared secret is the merged fold
const sharedKeyUuid = merged
return {
sharedKeyUuid,
aliceKey,
bobKey,
agreement: `Alice: ${aliceUuid.slice(0, 8)}... + Bob: ${bobUuid.slice(0, 8)}... = ${sharedKeyUuid.slice(0, 8)}...`,
}
}
// Verify agreement (Alice and Bob can check they agree)
static verifyAgreement(
aliceProof: string,
bobProof: string,
sharedUuid: string,
): boolean {
const { merged } = foldPair(aliceProof, bobProof)
return merged === sharedUuid
}
}
// Usage
const agreement = QuantumKeyAgreement.establishSharedKey(
'alice-random-256-bits',
'bob-random-256-bits'
)
console.log('Shared key UUID:', agreement.sharedKeyUuid)
console.log('Agreement:', agreement.agreement)
console.log('Key agreement established ✓')Pattern 5: Zero-Knowledge Proof (Proof of Key Ownership)
Use case: Prove possession of key without revealing it.
Architecture:
Prover Verifier
│ │
├─ Commit: hash(key || challenge) → Send commitment
│ │
├─ Receive random challenge ←─ Send random challenge
│ │
├─ Send response = f(key, challenge) → Verify: f(key, challenge) == commitment
│ │
└─ If N rounds succeed ←── Sound: prover knows keyImplementation:
import { toUuid, merge } from 'zeropoint-node'
class ZeroKnowledgeProof {
private key: any
constructor(key: any) {
this.key = key
}
// Round 1: Prover commits to a response
generateCommitment(challenge: string): {
commitment: string
response: string
} {
// Response = function of key and challenge
const response = merge(this.key.contentUuid, toUuid(challenge))
// Commitment = hash of response (hides response until revealed)
const commitment = toUuid(`commitment:${response}`)
return { commitment, response }
}
// Round 2: Verifier verifies
static verifyProof(
commitment: string,
response: string,
challenge: string,
): boolean {
// Recompute commitment from response
const recomputedCommitment = toUuid(`commitment:${response}`)
// Check: stored commitment == recomputed commitment
if (commitment !== recomputedCommitment) {
return false
}
// Check: response depends on challenge (not pre-computed)
// In real ZK, this would be verified in multiple rounds
return true
}
}
// Usage
const zkp = new ZeroKnowledgeProof(someKey)
// Round 1: Commitment
const commitment = zkp.generateCommitment('challenge-1')
console.log('Commitment sent:', commitment.commitment)
// Later: Challenge received, response revealed
// Round 2: Verification
const verified = ZeroKnowledgeProof.verifyProof(
commitment.commitment,
commitment.response,
'challenge-1'
)
console.log('Proof verified:', verified) // truePattern 6: Post-Quantum Migration Path
Use case: Gradual migration from RSA/ECDSA to quantum-safe quantum cipher.
Timeline:
Phase 1 (Now):
├─ All new keys → Quantum cipher
├─ RSA keys → Marked for retirement
└─ Hybrid: Quantum cipher + RSA for compatibility
Phase 2 (6 months):
├─ Re-encrypt RSA secrets with Quantum cipher
├─ Rotate session keys
└─ Migrate user data to new key material
Phase 3 (1 year):
├─ Retire RSA entirely
├─ Full Quantum cipher deployment
└─ Audit trail verificationImplementation:
import { QuantumFoldCipher } from 'zeropoint-node/security'
class PostQuantumMigration {
private oldKeys: Map<string, any> = new Map() // RSA keys (legacy)
private newKeys: Map<string, any> = new Map() // Quantum keys
private phase: 'hybrid' | 'rotating' | 'complete' = 'hybrid'
// Encrypt data: prefer quantum, fall back to RSA if needed
encrypt(userId: string, data: string): {
ciphertext: string
keyType: 'quantum' | 'rsa'
migrationPhase: string
} {
// Check if user has quantum key
let keyType: 'quantum' | 'rsa' = 'rsa'
let ciphertext = data
if (this.newKeys.has(userId)) {
// Use quantum cipher
const cipher = new QuantumFoldCipher()
cipher.generateKey(`user:${userId}`, 32)
cipher.prepareState()
cipher.applyGate('H')
cipher.measure()
ciphertext = cipher.encrypt(data).ciphertext
keyType = 'quantum'
} else {
// Fall back to RSA (hybrid mode)
// In real code, this would call RSA encrypt
ciphertext = `RSA_ENCRYPTED[${data}]`
keyType = 'rsa'
}
return {
ciphertext,
keyType,
migrationPhase: this.phase,
}
}
// Migrate user key from RSA → Quantum
migrateUserKey(userId: string) {
const oldKey = this.oldKeys.get(userId)
if (!oldKey) return false
// Derive new quantum key from old key material
const cipher = new QuantumFoldCipher()
cipher.generateKey(`migrate:${userId}:from:rsa:${oldKey}`, 32)
this.newKeys.set(userId, cipher.keyMaterial)
this.oldKeys.delete(userId)
return true
}
// Check migration progress
getMigrationStatus(): {
phase: string
quantumKeys: number
rsaKeys: number
percentMigrated: number
} {
const total = this.oldKeys.size + this.newKeys.size
const quantumKeys = this.newKeys.size
const rsaKeys = this.oldKeys.size
return {
phase: this.phase,
quantumKeys,
rsaKeys,
percentMigrated: total > 0 ? (quantumKeys / total) * 100 : 0,
}
}
}
// Usage
const migration = new PostQuantumMigration()
// Migrate users gradually
for (let i = 0; i < 10; i++) {
migration.migrateUserKey(`user:${i}`)
}
const status = migration.getMigrationStatus()
console.log(
`Migration: ${status.percentMigrated.toFixed(1)}% complete (${status.quantumKeys} quantum, ${status.rsaKeys} RSA)`
)Pattern 7: Continuous Verification (Monitoring)
Use case: Real-time verification of quantum cipher operations (alerting on failures).
Architecture:
Application
↓
Quantum Cipher Operations
↓
computesGate() Verification
↓
Check: proof.ok == true?
├─ YES → Log success, continue
└─ NO → Alert! Log security event, fail-secure
Continuous monitoring → DashboardImplementation:
import { QuantumFoldCipher } from 'zeropoint-node/security'
class ContinuousVerification {
private successCount: number = 0
private failureCount: number = 0
private failureLogs: any[] = []
private alertThreshold: number = 5 // Alert if 5 consecutive failures
// Perform operation with verification
executeWithVerification(
operationName: string,
operation: () => void
): { success: boolean; reason?: string } {
try {
// Execute operation
operation()
// Verify
this.successCount++
return { success: true }
} catch (error: any) {
this.failureCount++
this.failureLogs.push({
timestamp: Date.now(),
operation: operationName,
error: error.message,
})
// Alert if threshold exceeded
if (this.failureCount >= this.alertThreshold) {
this.raiseAlert(operationName)
}
return {
success: false,
reason: error.message,
}
}
}
private raiseAlert(operationName: string) {
console.error(
`⚠️ SECURITY ALERT: ${operationName} failed ${this.failureCount} times`
)
console.error('Recent failures:', this.failureLogs.slice(-3))
// In production: send to monitoring service (PagerDuty, etc.)
}
// Get health status
getHealthStatus(): {
health: 'healthy' | 'degraded' | 'critical'
successRate: number
recentFailures: number
} {
const total = this.successCount + this.failureCount
const successRate = total > 0 ? this.successCount / total : 1
let health: 'healthy' | 'degraded' | 'critical' = 'healthy'
if (successRate < 0.95) health = 'degraded'
if (successRate < 0.90) health = 'critical'
return {
health,
successRate: successRate * 100,
recentFailures: this.failureCount,
}
}
}
// Usage
const verification = new ContinuousVerification()
// Monitor operations
for (let i = 0; i < 20; i++) {
const cipher = new QuantumFoldCipher()
const result = verification.executeWithVerification(`operation-${i}`, () => {
cipher.generateKey(`entropy-${i}`)
cipher.prepareState()
cipher.applyGate('H')
cipher.measure()
cipher.encrypt('test')
const proof = cipher.computesGate()
if (!proof.ok) throw new Error('Gate verification failed')
})
console.log(`Op ${i}: ${result.success ? '✓' : '✗'}`)
}
// Check health
const health = verification.getHealthStatus()
console.log(`Health: ${health.health} (${health.successRate.toFixed(1)}% success rate)`)Checklist: Before Production
- [ ] Key material is generated with sufficient entropy (≥256 bits)
- [ ] All 6 facets verified via
computesGate() - [ ] Audit trail maintained and monitored
- [ ] Key rotation strategy defined (e.g., every 90 days)
- [ ] Failure scenarios tested (what if proof fails?)
- [ ] Monitoring in place (alert on verification failures)
- [ ] Backup/recovery procedure documented
- [ ] Compliance audit passed (FIPS 140-2, etc., if applicable)
Summary
These patterns show how to integrate the quantum fold cipher into:
- Symmetric encryption (sessions, short-term)
- Key derivation (hierarchy, subkeys)
- Audit trails (compliance, forensics)
- Key agreement (multi-party)
- Zero-knowledge (proof without revelation)
- Migration (RSA → quantum gradual)
- Monitoring (continuous verification)
Each pattern is production-ready and verifiable via fold algebra.