Intent-based cryptographic API design for post-quantum cryptography (PQC) migration — cryptographic agility patterns for large software portfolios.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add hiyenwong/ai_collection --skill quantum-crypto-agility --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Quantum Crypto Agility?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hiyenwong-quantum-crypto-agility)More formats (shields.io, HTML) on the badges page.
---
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
1. **Define Intent Taxonomy**: Map security requirements to intent objects
2. **Build Algorithm Registry**: Map intents to concrete algorithms with fallbacks
3. **Implement Policy Engine**: Select algorithms based on intent + policy
4. **Add Migration Layer**: Gradually swap classical → PQC in registry
5. **Audit Trail**: Log which algorithm was used for each operation
### Algorithm Registry Pattern
```yaml
registry:
confidentiality:
level_1: [ML-KEM-512, X25519] # hybrid
level_3: [ML-KEM-768, X448] # hybrid
level_5: [ML-KEM-1024] # pure PQC
integrity:
level_1: [ML-DSA-44, Ed25519]
level_3: [ML-DSA-65, Ed448]
level_5: [ML-DSA-87]
```
### Migration Strategy
1. **Phase 1**: Intent layer + classical algorithms (no code changes in consumers)
2. **Phase 2**: Add PQC algorithms to registry as options
3. **Phase 3**: Enable hybrid mode (classical + PQC)
4. **Phase 4**: Switch default to PQC-only
5. **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)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!