| name | quantum-crypto-agility |
| description | Intent-based cryptographic API design for post-quantum cryptography (PQC) migration — cryptographic agility patterns for large software portfolios. |
| trigger_words | ["cryptographic agility","post-quantum cryptography migration","intent-based crypto API","PQC API design","crypto migration"] |
Intent-Based Cryptographic API Design for PQC Migration
Methodology from arXiv:2606.13445 for designing cryptographic APIs that support cryptographic agility during post-quantum cryptography (PQC) migration.
Problem
Most cryptographic APIs are designed around specific algorithms (RSA, ECC, AES). Migrating to PQC (ML-KEM, ML-DSA, SLH-DSA) requires:
- Rewiring explicit algorithm references across large codebases
- Testing each integration point
- Managing hybrid (classical + PQC) transition periods
Intent-Based API Pattern
Core Design Principle
Instead of: crypto.encrypt("RSA-OAEP", plaintext, key)
Use: crypto.encrypt({intent: "confidentiality", security_level: 5}, plaintext)
API Structure
CryptoService
├── encrypt(intent: CryptoIntent, data: bytes) → bytes
├── decrypt(intent: CryptoIntent, ciphertext: bytes) → bytes
├── sign(intent: CryptoIntent, data: bytes) → bytes
├── verify(intent: CryptoIntent, data: bytes, signature: bytes) → bool
└── derive(intent: CryptoIntent, input: bytes) → bytes
CryptoIntent {
purpose: "confidentiality" | "integrity" | "authentication" | "non-repudiation"
security_level: 1 | 2 | 3 | 4 | 5 // NIST PQC levels
performance_tier: "low_latency" | "balanced" | "high_throughput"
compliance: ["fips140-3", "pqc-ready"]
}
Implementation Steps
- Define Intent Taxonomy: Map security requirements to intent objects
- Build Algorithm Registry: Map intents to concrete algorithms with fallbacks
- Implement Policy Engine: Select algorithms based on intent + policy
- Add Migration Layer: Gradually swap classical → PQC in registry
- Audit Trail: Log which algorithm was used for each operation
Algorithm Registry Pattern
registry:
confidentiality:
level_1: [ML-KEM-512, X25519]
level_3: [ML-KEM-768, X448]
level_5: [ML-KEM-1024]
integrity:
level_1: [ML-DSA-44, Ed25519]
level_3: [ML-DSA-65, Ed448]
level_5: [ML-DSA-87]
Migration Strategy
- Phase 1: Intent layer + classical algorithms (no code changes in consumers)
- Phase 2: Add PQC algorithms to registry as options
- Phase 3: Enable hybrid mode (classical + PQC)
- Phase 4: Switch default to PQC-only
- Phase 5: Remove classical algorithms from registry
Pitfalls
- Intent ambiguity: Vague intents lead to wrong algorithm selection
- Performance regression: PQC can be slower; need performance_tier
- Key size growth: PQC keys are larger; consider storage/network limits
- Compliance gaps: Not all PQC algorithms are FIPS-approved yet
- Side channels: PQC implementations may have different side-channel profiles
References
- arXiv:2606.13445 - "Intent-Based Cryptographic API Design for Cryptographic Agility"
- NIST PQC Standardization: ML-KEM (FIPS 203), ML-DSA (FIPS 204), SLH-DSA (FIPS 205)