[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6AFZNMVK1HWG2TCVAFQJJES":3,"skill-same:01M6AFZNMVK1HWG2TCVAFQJJES":99},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":58,"commitSha":59,"skillDirectory":60,"forksCount":61,"repositoryHtmlUrl":62,"repositoryHomepageUrl":63,"ownerHtmlUrl":64,"ownerBlogUrl":65,"ownerDescription":66,"updatedAt":67,"install":68,"resources":81},"01M6AFZNMVK1HWG2TCVAFQJJES","performing-post-quantum-cryptography-migration",null,"Assesses organizational readiness for post-quantum cryptography migration per NIST FIPS 203\u002F204\u002F205 standards. Performs cryptographic inventory scanning to identify quantum-vulnerable algorithms (RSA, ECDH, ECDSA), evaluates hybrid TLS configurations with X25519MLKEM768, and validates CRYSTALS-Kyber (ML-KEM) and CRYSTALS-Dilithium (ML-DSA) readiness. Implements crypto-agility assessment using oqs-provider for OpenSSL. Use when planning or executing the transition from classical to post-quantum cryptographic algorithms across enterprise infrastructure.","mukul975\u002FAnthropic-Cybersecurity-Skills","mukul975","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F42860185?v=4","01M6ADEQR8T5M4EEG6C67BQCWF","Mahipal","01M6ADJPMYWG1E5GM1FWBE3128",35990,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fperforming-post-quantum-cryptography-migration\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"performing post quantum cryptography migration","cryptography","ml-kem","hybrid-TLS","FIPS-204","FIPS-203","CRYSTALS-Kyber","PQC","inventory","crypto-agility","ml-dsa","cybersecurity","post-quantum","rsa","tls","openssl","NIST","assessment","infrastructure","pr","2026-11-10 10:12:30",false,"---\nname: performing-post-quantum-cryptography-migration\ndescription: 'Assesses organizational readiness for post-quantum cryptography migration\n  per NIST FIPS 203\u002F204\u002F205 standards. Performs cryptographic inventory scanning to\n  identify quantum-vulnerable algorithms (RSA, ECDH, ECDSA), evaluates hybrid TLS\n  configurations with X25519MLKEM768, and validates CRYSTALS-Kyber (ML-KEM) and CRYSTALS-Dilithium\n  (ML-DSA) readiness. Implements crypto-agility assessment using oqs-provider for\n  OpenSSL. Use when planning or executing the transition from classical to post-quantum\n  cryptographic algorithms across enterprise infrastructure.\n\n  '\ndomain: cybersecurity\nsubdomain: cryptography\ntags:\n- post-quantum\n- PQC\n- CRYSTALS-Kyber\n- ML-KEM\n- ML-DSA\n- FIPS-203\n- FIPS-204\n- hybrid-TLS\n- crypto-agility\nversion: '1.0'\nauthor: mukul975\nlicense: Apache-2.0\nnist_csf:\n- PR.DS-01\n- PR.DS-02\n- PR.DS-10\nmitre_attack:\n- T1600\n- T1573\n- T1553\n- T1040\n---\n\n# Performing Post-Quantum Cryptography Migration\n\n## When to Use\n\n- When assessing organizational readiness for the NIST post-quantum cryptography transition\n- When building a cryptographic inventory to identify quantum-vulnerable algorithms across infrastructure\n- When evaluating hybrid TLS 1.3 configurations using X25519MLKEM768 key exchange\n- When testing CRYSTALS-Kyber (ML-KEM) and CRYSTALS-Dilithium (ML-DSA) algorithm support\n- When implementing crypto-agility to support both classical and post-quantum algorithms\n- When preparing migration roadmaps aligned with NIST IR 8547 deprecation timelines\n- When configuring oqs-provider with OpenSSL 3.x for post-quantum algorithm support\n\n## Prerequisites\n\n- Python 3.8+ with `cryptography`, `requests`, `pyOpenSSL` libraries\n- OpenSSL 3.0+ (3.5+ recommended for native ML-KEM\u002FML-DSA support)\n- oqs-provider for OpenSSL (for hybrid TLS testing with older OpenSSL)\n- Network access to target servers for TLS assessment\n- Administrative access for infrastructure scanning\n- Familiarity with PKI, TLS, and cryptographic protocols\n\n## Core Concepts\n\n### NIST Post-Quantum Cryptography Standards\n\nNIST published three finalized PQC standards on August 13, 2024:\n\n| Standard | Algorithm | Renamed To | Purpose | Based On |\n|----------|-----------|------------|---------|----------|\n| FIPS 203 | CRYSTALS-Kyber | ML-KEM | Key Encapsulation Mechanism | Module lattice |\n| FIPS 204 | CRYSTALS-Dilithium | ML-DSA | Digital Signatures | Module lattice |\n| FIPS 205 | SPHINCS+ | SLH-DSA | Digital Signatures (backup) | Stateless hash |\n\n**ML-KEM (FIPS 203)** -- Primary standard for key exchange and encryption. Replaces\nRSA and ECDH for key establishment. Three security levels: ML-KEM-512, ML-KEM-768,\nML-KEM-1024.\n\n**ML-DSA (FIPS 204)** -- Primary standard for digital signatures. Replaces RSA and\nECDSA for signing. Three security levels: ML-DSA-44, ML-DSA-65, ML-DSA-87.\n\n**SLH-DSA (FIPS 205)** -- Backup signature standard using hash-based approach. Intended\nas fallback if lattice-based ML-DSA is found vulnerable. Larger signatures but\nconservative security assumptions.\n\n### Quantum-Vulnerable Algorithms\n\nThese classical algorithms are vulnerable to quantum attack via Shor's algorithm:\n\n| Algorithm | Usage | Quantum Threat | Migration Priority |\n|-----------|-------|---------------|-------------------|\n| RSA-2048\u002F4096 | Key exchange, signatures, encryption | Shor's algorithm breaks factoring | Critical |\n| ECDH (P-256, P-384) | TLS key exchange | Shor's algorithm breaks ECDLP | Critical |\n| ECDSA | Code signing, TLS certificates | Shor's algorithm breaks ECDLP | Critical |\n| DSA | Legacy signatures | Shor's algorithm breaks DLP | Critical |\n| DH (Diffie-Hellman) | Key exchange | Shor's algorithm breaks DLP | Critical |\n| AES-128 | Symmetric encryption | Grover's halves key strength | Medium (upgrade to AES-256) |\n| SHA-256 | Hashing | Grover's reduces to 128-bit | Low (still adequate) |\n\n### NIST Migration Timeline (IR 8547)\n\n- **2024**: Standards published, migration planning should begin\n- **2030**: Deprecation of quantum-vulnerable algorithms for most federal systems\n- **2035**: Complete removal of quantum-vulnerable algorithms from NIST standards\n- **Now**: \"Harvest now, decrypt later\" attacks make early migration essential for\n  long-lived secrets and data requiring long-term confidentiality\n\n### Hybrid TLS Key Exchange\n\nDuring the transition period, hybrid key exchange combines a classical algorithm with\na post-quantum algorithm. If either algorithm is secure, the connection remains protected.\n\n```\nHybrid Key Exchange: X25519MLKEM768\n  = X25519 (classical ECDH) + ML-KEM-768 (post-quantum)\n\nClient Hello:\n  supported_groups: X25519MLKEM768, X25519, secp256r1\n  key_share: X25519MLKEM768\n\nServer Hello:\n  selected_group: X25519MLKEM768\n  key_share: X25519MLKEM768\n\nShared Secret = KDF(X25519_shared || MLKEM768_shared)\n```\n\n## Instructions\n\n### Phase 1: Cryptographic Inventory Scanning\n\nThe first step in PQC migration is discovering all cryptographic algorithm usage\nacross the enterprise. This includes TLS configurations, certificates, code libraries,\nkey stores, and protocol configurations.\n\n```python\n# Scan TLS endpoints for quantum-vulnerable algorithms\npython scripts\u002Fagent.py --action scan_tls \\\n    --targets targets.txt \\\n    --output tls_inventory.json\n```\n\nThe scanner identifies:\n- TLS protocol versions in use\n- Key exchange algorithms (RSA, ECDH, DH -- all quantum-vulnerable)\n- Certificate signature algorithms (RSA, ECDSA)\n- Cipher suite configurations\n- Certificate key sizes and expiration dates\n\n### Phase 2: Crypto-Agility Assessment\n\nEvaluate the organization's ability to swap cryptographic algorithms without\nmajor infrastructure changes:\n\n```python\n# Assess crypto-agility readiness\npython scripts\u002Fagent.py --action assess_agility \\\n    --scan-results tls_inventory.json \\\n    --output agility_report.json\n```\n\nKey assessment areas:\n1. **Protocol flexibility**: Can TLS configurations be updated without downtime?\n2. **Library versions**: Do deployed crypto libraries support PQC algorithms?\n3. **Certificate infrastructure**: Can CA issue PQC certificates?\n4. **Key management**: Can KMS handle larger PQC key sizes?\n5. **Hardware constraints**: Can HSMs support PQC operations?\n\n### Phase 3: Hybrid TLS Readiness Testing\n\nTest whether infrastructure supports hybrid key exchange with X25519MLKEM768:\n\n```python\n# Test hybrid TLS support on target servers\npython scripts\u002Fagent.py --action test_hybrid_tls \\\n    --target server.example.com:443 \\\n    --output hybrid_tls_report.json\n```\n\n**OpenSSL 3.5+ (native ML-KEM support):**\n```bash\n# Test with native PQC support\nopenssl s_client -connect server.example.com:443 \\\n    -groups X25519MLKEM768\n```\n\n**OpenSSL 3.0-3.4 with oqs-provider:**\n```bash\n# Configure oqs-provider\n# \u002Fetc\u002Fssl\u002Fopenssl-oqs.cnf\n[openssl_init]\nproviders = provider_sect\n\n[provider_sect]\ndefault = default_sect\noqsprovider = oqsprovider_sect\n\n[default_sect]\nactivate = 1\n\n[oqsprovider_sect]\nactivate = 1\nmodule = \u002Fusr\u002Flib\u002Foqs-provider\u002Foqsprovider.so\n\n# Test hybrid TLS\nOPENSSL_CONF=\u002Fetc\u002Fssl\u002Fopenssl-oqs.cnf \\\nopenssl s_client -connect server.example.com:443 \\\n    -groups x25519_mlkem768\n```\n\n**Web Server Configuration for Hybrid TLS:**\n\nApache httpd:\n```apache\nSSLEngine on\nSSLCertificateFile \u002Fetc\u002Fssl\u002Fcerts\u002Fserver.crt\nSSLCertificateKeyFile \u002Fetc\u002Fssl\u002Fprivate\u002Fserver.key\nSSLOpenSSLConfCmd Curves X25519MLKEM768:X25519:prime256v1\nSSLProtocol -all +TLSv1.2 +TLSv1.3\n```\n\nNGINX:\n```nginx\nssl_ecdh_curve X25519MLKEM768:X25519:prime256v1;\nssl_protocols TLSv1.2 TLSv1.3;\nssl_prefer_server_ciphers on;\n```\n\n### Phase 4: ML-KEM Key Encapsulation Validation\n\nValidate that ML-KEM (CRYSTALS-Kyber) key encapsulation works correctly in your\nenvironment:\n\n```python\n# Test ML-KEM key encapsulation at all security levels\npython scripts\u002Fagent.py --action test_mlkem \\\n    --output mlkem_validation.json\n```\n\nML-KEM parameter comparison:\n\n| Parameter | ML-KEM-512 | ML-KEM-768 | ML-KEM-1024 |\n|-----------|-----------|-----------|------------|\n| Security Level | NIST Level 1 | NIST Level 3 | NIST Level 5 |\n| Public Key Size | 800 bytes | 1,184 bytes | 1,568 bytes |\n| Ciphertext Size | 768 bytes | 1,088 bytes | 1,568 bytes |\n| Shared Secret | 32 bytes | 32 bytes | 32 bytes |\n| Comparable To | AES-128 | AES-192 | AES-256 |\n\n### Phase 5: ML-DSA Digital Signature Validation\n\nValidate ML-DSA (CRYSTALS-Dilithium) signature operations:\n\n```python\n# Test ML-DSA digital signatures\npython scripts\u002Fagent.py --action test_mldsa \\\n    --output mldsa_validation.json\n```\n\nML-DSA parameter comparison:\n\n| Parameter | ML-DSA-44 | ML-DSA-65 | ML-DSA-87 |\n|-----------|----------|----------|----------|\n| Security Level | NIST Level 2 | NIST Level 3 | NIST Level 5 |\n| Public Key Size | 1,312 bytes | 1,952 bytes | 2,592 bytes |\n| Signature Size | 2,420 bytes | 3,293 bytes | 4,595 bytes |\n| Secret Key Size | 2,560 bytes | 4,032 bytes | 4,896 bytes |\n\n### Phase 6: Migration Roadmap Generation\n\nGenerate a prioritized migration roadmap based on inventory and assessment results:\n\n```python\n# Generate complete migration roadmap\npython scripts\u002Fagent.py --action roadmap \\\n    --scan-results tls_inventory.json \\\n    --agility-results agility_report.json \\\n    --output migration_roadmap.json\n```\n\nThe roadmap prioritizes systems by:\n1. **Data sensitivity**: Systems handling long-lived secrets migrate first\n2. **Exposure level**: Internet-facing services before internal\n3. **Crypto-agility**: Systems that can easily swap algorithms first\n4. **Compliance requirements**: Federal\u002Fregulated systems per NIST IR 8547 timeline\n5. **Dependency chains**: Libraries and frameworks before applications\n\n## Examples\n\n### Full Assessment Pipeline\n\n```bash\n# Step 1: Scan all TLS endpoints\npython scripts\u002Fagent.py --action scan_tls --targets hosts.txt --output scan.json\n\n# Step 2: Assess crypto-agility\npython scripts\u002Fagent.py --action assess_agility --scan-results scan.json --output agility.json\n\n# Step 3: Test hybrid TLS on critical servers\npython scripts\u002Fagent.py --action test_hybrid_tls --target critical.example.com:443\n\n# Step 4: Validate ML-KEM support\npython scripts\u002Fagent.py --action test_mlkem --output mlkem.json\n\n# Step 5: Validate ML-DSA support\npython scripts\u002Fagent.py --action test_mldsa --output mldsa.json\n\n# Step 6: Generate migration roadmap\npython scripts\u002Fagent.py --action roadmap --scan-results scan.json --agility-results agility.json --output roadmap.json\n```\n\n### Quick Server Assessment\n\n```bash\n# Single server PQC readiness check\npython scripts\u002Fagent.py --action scan_tls --target server.example.com:443\n```\n\n## Validation Checklist\n\n- [ ] Cryptographic inventory covers all TLS endpoints, certificates, and key stores\n- [ ] All quantum-vulnerable algorithms (RSA, ECDH, ECDSA, DH, DSA) are identified\n- [ ] Crypto-agility assessment documents library versions and upgrade paths\n- [ ] Hybrid TLS (X25519MLKEM768) tested on representative server configurations\n- [ ] ML-KEM key encapsulation validated at target security level (768 recommended)\n- [ ] ML-DSA signature verification validated for certificate chain use\n- [ ] SLH-DSA (FIPS 205) evaluated as backup signature algorithm\n- [ ] Migration roadmap prioritizes by data sensitivity and compliance timeline\n- [ ] OpenSSL version and oqs-provider compatibility confirmed\n- [ ] Key size increases accounted for in network and storage capacity planning\n- [ ] HSM\u002FKMS compatibility with PQC algorithms verified\n- [ ] Performance impact of PQC algorithms benchmarked under production load\n- [ ] \"Harvest now, decrypt later\" risk assessed for sensitive data channels\n- [ ] Certificate Authority PQC readiness confirmed for certificate issuance\n\n## References\n\n- NIST PQC Standards: https:\u002F\u002Fcsrc.nist.gov\u002Fprojects\u002Fpost-quantum-cryptography\n- FIPS 203 (ML-KEM): https:\u002F\u002Fcsrc.nist.gov\u002Fpubs\u002Ffips\u002F203\u002Ffinal\n- FIPS 204 (ML-DSA): https:\u002F\u002Fcsrc.nist.gov\u002Fpubs\u002Ffips\u002F204\u002Ffinal\n- FIPS 205 (SLH-DSA): https:\u002F\u002Fcsrc.nist.gov\u002Fpubs\u002Ffips\u002F205\u002Ffinal\n- NIST SP 1800-38 Migration Guide: https:\u002F\u002Fwww.nccoe.nist.gov\u002Fcrypto-agility-considerations-migrating-post-quantum-cryptographic-algorithms\n- NIST IR 8547 Transition Timeline: https:\u002F\u002Fcsrc.nist.gov\u002Fpubs\u002Fir\u002F8547\u002Fipd\n- Open Quantum Safe Project: https:\u002F\u002Fopenquantumsafe.org\u002F\n- oqs-provider for OpenSSL: https:\u002F\u002Fgithub.com\u002Fopen-quantum-safe\u002Foqs-provider\n- OQS TLS Integration: https:\u002F\u002Fopenquantumsafe.org\u002Fapplications\u002Ftls.html\n- CISA PQC Migration Strategy: https:\u002F\u002Fwww.cisa.gov\u002Fsites\u002Fdefault\u002Ffiles\u002F2024-09\u002FStrategy-for-Migrating-to-Automated-PQC-Discovery-and-Inventory-Tools.pdf\n- IETF Hybrid Key Exchange Draft: https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fdraft-ietf-tls-hybrid-design\u002F\n- CycloneDX Crypto BOM: https:\u002F\u002Fcyclonedx.org\u002Fuse-cases\u002Fcryptographic-key\u002F\n","# Performing Post-Quantum Cryptography Migration\n\n## When to Use\n\n- When assessing organizational readiness for the NIST post-quantum cryptography transition\n- When building a cryptographic inventory to identify quantum-vulnerable algorithms across infrastructure\n- When evaluating hybrid TLS 1.3 configurations using X25519MLKEM768 key exchange\n- When testing CRYSTALS-Kyber (ML-KEM) and CRYSTALS-Dilithium (ML-DSA) algorithm support\n- When implementing crypto-agility to support both classical and post-quantum algorithms\n- When preparing migration roadmaps aligned with NIST IR 8547 deprecation timelines\n- When configuring oqs-provider with OpenSSL 3.x for post-quantum algorithm support\n\n## Prerequisites\n\n- Python 3.8+ with `cryptography`, `requests`, `pyOpenSSL` libraries\n- OpenSSL 3.0+ (3.5+ recommended for native ML-KEM\u002FML-DSA support)\n- oqs-provider for OpenSSL (for hybrid TLS testing with older OpenSSL)\n- Network access to target servers for TLS assessment\n- Administrative access for infrastructure scanning\n- Familiarity with PKI, TLS, and cryptographic protocols\n\n## Core Concepts\n\n### NIST Post-Quantum Cryptography Standards\n\nNIST published three finalized PQC standards on August 13, 2024:\n\n| Standard | Algorithm | Renamed To | Purpose | Based On |\n|----------|-----------|------------|---------|----------|\n| FIPS 203 | CRYSTALS-Kyber | ML-KEM | Key Encapsulation Mechanism | Module lattice |\n| FIPS 204 | CRYSTALS-Dilithium | ML-DSA | Digital Signatures | Module lattice |\n| FIPS 205 | SPHINCS+ | SLH-DSA | Digital Signatures (backup) | Stateless hash |\n\n**ML-KEM (FIPS 203)** -- Primary standard for key exchange and encryption. Replaces\nRSA and ECDH for key establishment. Three security levels: ML-KEM-512, ML-KEM-768,\nML-KEM-1024.\n\n**ML-DSA (FIPS 204)** -- Primary standard for digital signatures. Replaces RSA and\nECDSA for signing. Three security levels: ML-DSA-44, ML-DSA-65, ML-DSA-87.\n\n**SLH-DSA (FIPS 205)** -- Backup signature standard using hash-based approach. Intended\nas fallback if lattice-based ML-DSA is found vulnerable. Larger signatures but\nconservative security assumptions.\n\n### Quantum-Vulnerable Algorithms\n\nThese classical algorithms are vulnerable to quantum attack via Shor's algorithm:\n\n| Algorithm | Usage | Quantum Threat | Migration Priority |\n|-----------|-------|---------------|-------------------|\n| RSA-2048\u002F4096 | Key exchange, signatures, encryption | Shor's algorithm breaks factoring | Critical |\n| ECDH (P-256, P-384) | TLS key exchange | Shor's algorithm breaks ECDLP | Critical |\n| ECDSA | Code signing, TLS certificates | Shor's algorithm breaks ECDLP | Critical |\n| DSA | Legacy signatures | Shor's algorithm breaks DLP | Critical |\n| DH (Diffie-Hellman) | Key exchange | Shor's algorithm breaks DLP | Critical |\n| AES-128 | Symmetric encryption | Grover's halves key strength | Medium (upgrade to AES-256) |\n| SHA-256 | Hashing | Grover's reduces to 128-bit | Low (still adequate) |\n\n### NIST Migration Timeline (IR 8547)\n\n- **2024**: Standards published, migration planning should begin\n- **2030**: Deprecation of quantum-vulnerable algorithms for most federal systems\n- **2035**: Complete removal of quantum-vulnerable algorithms from NIST standards\n- **Now**: \"Harvest now, decrypt later\" attacks make early migration essential for\n  long-lived secrets and data requiring long-term confidentiality\n\n### Hybrid TLS Key Exchange\n\nDuring the transition period, hybrid key exchange combines a classical algorithm with\na post-quantum algorithm. If either algorithm is secure, the connection remains protected.\n\n```\nHybrid Key Exchange: X25519MLKEM768\n  = X25519 (classical ECDH) + ML-KEM-768 (post-quantum)\n\nClient Hello:\n  supported_groups: X25519MLKEM768, X25519, secp256r1\n  key_share: X25519MLKEM768\n\nServer Hello:\n  selected_group: X25519MLKEM768\n  key_share: X25519MLKEM768\n\nShared Secret = KDF(X25519_shared || MLKEM768_shared)\n```\n\n## Instructions\n\n### Phase 1: Cryptographic Inventory Scanning\n\nThe first step in PQC migration is discovering all cryptographic algorithm usage\nacross the enterprise. This includes TLS configurations, certificates, code libraries,\nkey stores, and protocol configurations.\n\n```python\n# Scan TLS endpoints for quantum-vulnerable algorithms\npython scripts\u002Fagent.py --action scan_tls \\\n    --targets targets.txt \\\n    --output tls_inventory.json\n```\n\nThe scanner identifies:\n- TLS protocol versions in use\n- Key exchange algorithms (RSA, ECDH, DH -- all quantum-vulnerable)\n- Certificate signature algorithms (RSA, ECDSA)\n- Cipher suite configurations\n- Certificate key sizes and expiration dates\n\n### Phase 2: Crypto-Agility Assessment\n\nEvaluate the organization's ability to swap cryptographic algorithms without\nmajor infrastructure changes:\n\n```python\n# Assess crypto-agility readiness\npython scripts\u002Fagent.py --action assess_agility \\\n    --scan-results tls_inventory.json \\\n    --output agility_report.json\n```\n\nKey assessment areas:\n1. **Protocol flexibility**: Can TLS configurations be updated without downtime?\n2. **Library versions**: Do deployed crypto libraries support PQC algorithms?\n3. **Certificate infrastructure**: Can CA issue PQC certificates?\n4. **Key management**: Can KMS handle larger PQC key sizes?\n5. **Hardware constraints**: Can HSMs support PQC operations?\n\n### Phase 3: Hybrid TLS Readiness Testing\n\nTest whether infrastructure supports hybrid key exchange with X25519MLKEM768:\n\n```python\n# Test hybrid TLS support on target servers\npython scripts\u002Fagent.py --action test_hybrid_tls \\\n    --target server.example.com:443 \\\n    --output hybrid_tls_report.json\n```\n\n**OpenSSL 3.5+ (native ML-KEM support):**\n```bash\n# Test with native PQC support\nopenssl s_client -connect server.example.com:443 \\\n    -groups X25519MLKEM768\n```\n\n**OpenSSL 3.0-3.4 with oqs-provider:**\n```bash\n# Configure oqs-provider\n# \u002Fetc\u002Fssl\u002Fopenssl-oqs.cnf\n[openssl_init]\nproviders = provider_sect\n\n[provider_sect]\ndefault = default_sect\noqsprovider = oqsprovider_sect\n\n[default_sect]\nactivate = 1\n\n[oqsprovider_sect]\nactivate = 1\nmodule = \u002Fusr\u002Flib\u002Foqs-provider\u002Foqsprovider.so\n\n# Test hybrid TLS\nOPENSSL_CONF=\u002Fetc\u002Fssl\u002Fopenssl-oqs.cnf \\\nopenssl s_client -connect server.example.com:443 \\\n    -groups x25519_mlkem768\n```\n\n**Web Server Configuration for Hybrid TLS:**\n\nApache httpd:\n```apache\nSSLEngine on\nSSLCertificateFile \u002Fetc\u002Fssl\u002Fcerts\u002Fserver.crt\nSSLCertificateKeyFile \u002Fetc\u002Fssl\u002Fprivate\u002Fserver.key\nSSLOpenSSLConfCmd Curves X25519MLKEM768:X25519:prime256v1\nSSLProtocol -all +TLSv1.2 +TLSv1.3\n```\n\nNGINX:\n```nginx\nssl_ecdh_curve X25519MLKEM768:X25519:prime256v1;\nssl_protocols TLSv1.2 TLSv1.3;\nssl_prefer_server_ciphers on;\n```\n\n### Phase 4: ML-KEM Key Encapsulation Validation\n\nValidate that ML-KEM (CRYSTALS-Kyber) key encapsulation works correctly in your\nenvironment:\n\n```python\n# Test ML-KEM key encapsulation at all security levels\npython scripts\u002Fagent.py --action test_mlkem \\\n    --output mlkem_validation.json\n```\n\nML-KEM parameter comparison:\n\n| Parameter | ML-KEM-512 | ML-KEM-768 | ML-KEM-1024 |\n|-----------|-----------|-----------|------------|\n| Security Level | NIST Level 1 | NIST Level 3 | NIST Level 5 |\n| Public Key Size | 800 bytes | 1,184 bytes | 1,568 bytes |\n| Ciphertext Size | 768 bytes | 1,088 bytes | 1,568 bytes |\n| Shared Secret | 32 bytes | 32 bytes | 32 bytes |\n| Comparable To | AES-128 | AES-192 | AES-256 |\n\n### Phase 5: ML-DSA Digital Signature Validation\n\nValidate ML-DSA (CRYSTALS-Dilithium) signature operations:\n\n```python\n# Test ML-DSA digital signatures\npython scripts\u002Fagent.py --action test_mldsa \\\n    --output mldsa_validation.json\n```\n\nML-DSA parameter comparison:\n\n| Parameter | ML-DSA-44 | ML-DSA-65 | ML-DSA-87 |\n|-----------|----------|----------|----------|\n| Security Level | NIST Level 2 | NIST Level 3 | NIST Level 5 |\n| Public Key Size | 1,312 bytes | 1,952 bytes | 2,592 bytes |\n| Signature Size | 2,420 bytes | 3,293 bytes | 4,595 bytes |\n| Secret Key Size | 2,560 bytes | 4,032 bytes | 4,896 bytes |\n\n### Phase 6: Migration Roadmap Generation\n\nGenerate a prioritized migration roadmap based on inventory and assessment results:\n\n```python\n# Generate complete migration roadmap\npython scripts\u002Fagent.py --action roadmap \\\n    --scan-results tls_inventory.json \\\n    --agility-results agility_report.json \\\n    --output migration_roadmap.json\n```\n\nThe roadmap prioritizes systems by:\n1. **Data sensitivity**: Systems handling long-lived secrets migrate first\n2. **Exposure level**: Internet-facing services before internal\n3. **Crypto-agility**: Systems that can easily swap algorithms first\n4. **Compliance requirements**: Federal\u002Fregulated systems per NIST IR 8547 timeline\n5. **Dependency chains**: Libraries and frameworks before applications\n\n## Examples\n\n### Full Assessment Pipeline\n\n```bash\n# Step 1: Scan all TLS endpoints\npython scripts\u002Fagent.py --action scan_tls --targets hosts.txt --output scan.json\n\n# Step 2: Assess crypto-agility\npython scripts\u002Fagent.py --action assess_agility --scan-results scan.json --output agility.json\n\n# Step 3: Test hybrid TLS on critical servers\npython scripts\u002Fagent.py --action test_hybrid_tls --target critical.example.com:443\n\n# Step 4: Validate ML-KEM support\npython scripts\u002Fagent.py --action test_mlkem --output mlkem.json\n\n# Step 5: Validate ML-DSA support\npython scripts\u002Fagent.py --action test_mldsa --output mldsa.json\n\n# Step 6: Generate migration roadmap\npython scripts\u002Fagent.py --action roadmap --scan-results scan.json --agility-results agility.json --output roadmap.json\n```\n\n### Quick Server Assessment\n\n```bash\n# Single server PQC readiness check\npython scripts\u002Fagent.py --action scan_tls --target server.example.com:443\n```\n\n## Validation Checklist\n\n- [ ] Cryptographic inventory covers all TLS endpoints, certificates, and key stores\n- [ ] All quantum-vulnerable algorithms (RSA, ECDH, ECDSA, DH, DSA) are identified\n- [ ] Crypto-agility assessment documents library versions and upgrade paths\n- [ ] Hybrid TLS (X25519MLKEM768) tested on representative server configurations\n- [ ] ML-KEM key encapsulation validated at target security level (768 recommended)\n- [ ] ML-DSA signature verification validated for certificate chain use\n- [ ] SLH-DSA (FIPS 205) evaluated as backup signature algorithm\n- [ ] Migration roadmap prioritizes by data sensitivity and compliance timeline\n- [ ] OpenSSL version and oqs-provider compatibility confirmed\n- [ ] Key size increases accounted for in network and storage capacity planning\n- [ ] HSM\u002FKMS compatibility with PQC algorithms verified\n- [ ] Performance impact of PQC algorithms benchmarked under production load\n- [ ] \"Harvest now, decrypt later\" risk assessed for sensitive data channels\n- [ ] Certificate Authority PQC readiness confirmed for certificate issuance\n\n## References\n\n- NIST PQC Standards: https:\u002F\u002Fcsrc.nist.gov\u002Fprojects\u002Fpost-quantum-cryptography\n- FIPS 203 (ML-KEM): https:\u002F\u002Fcsrc.nist.gov\u002Fpubs\u002Ffips\u002F203\u002Ffinal\n- FIPS 204 (ML-DSA): https:\u002F\u002Fcsrc.nist.gov\u002Fpubs\u002Ffips\u002F204\u002Ffinal\n- FIPS 205 (SLH-DSA): https:\u002F\u002Fcsrc.nist.gov\u002Fpubs\u002Ffips\u002F205\u002Ffinal\n- NIST SP 1800-38 Migration Guide: https:\u002F\u002Fwww.nccoe.nist.gov\u002Fcrypto-agility-considerations-migrating-post-quantum-cryptographic-algorithms\n- NIST IR 8547 Transition Timeline: https:\u002F\u002Fcsrc.nist.gov\u002Fpubs\u002Fir\u002F8547\u002Fipd\n- Open Quantum Safe Project: https:\u002F\u002Fopenquantumsafe.org\u002F\n- oqs-provider for OpenSSL: https:\u002F\u002Fgithub.com\u002Fopen-quantum-safe\u002Foqs-provider\n- OQS TLS Integration: https:\u002F\u002Fopenquantumsafe.org\u002Fapplications\u002Ftls.html\n- CISA PQC Migration Strategy: https:\u002F\u002Fwww.cisa.gov\u002Fsites\u002Fdefault\u002Ffiles\u002F2024-09\u002FStrategy-for-Migrating-to-Automated-PQC-Discovery-and-Inventory-Tools.pdf\n- IETF Hybrid Key Exchange Draft: https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fdraft-ietf-tls-hybrid-design\u002F\n- CycloneDX Crypto BOM: https:\u002F\u002Fcyclonedx.org\u002Fuse-cases\u002Fcryptographic-key\u002F\n",{"name":5,"tags":44,"author":9,"domain":30,"license":15,"version":47,"nist_csf":48,"subdomain":20,"description":52,"mitre_attack":53},[31,26,25,45,46,24,23,22,28],"ML-KEM","ML-DSA","1.0",[49,50,51],"PR.DS-01","PR.DS-02","PR.DS-10","Assesses organizational readiness for post-quantum cryptography migration per NIST FIPS 203\u002F204\u002F205 standards. Performs cryptographic inventory scanning to identify quantum-vulnerable algorithms (RSA, ECDH, ECDSA), evaluates hybrid TLS configurations with X25519MLKEM768, and validates CRYSTALS-Kyber (ML-KEM) and CRYSTALS-Dilithium (ML-DSA) readiness. Implements crypto-agility assessment using oqs-provider for OpenSSL. Use when planning or executing the transition from classical to post-quantum cryptographic algorithms across enterprise infrastructure.\n",[54,55,56,57],"T1600","T1573","T1553","T1040","main","54a798831d2266a3ca61ce68a7acb80b81160d57","skills\u002Fperforming-post-quantum-cryptography-migration",4395,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills","https:\u002F\u002Fmahipal.engineer\u002FAnthropic-Cybersecurity-Skills\u002F","https:\u002F\u002Fgithub.com\u002Fmukul975","Mahipal.engineer","🔐 Cybersecurity | 💻 Dev | 📷 Street Photographer\r\n🎓 MSc | 📚 Research & AI Security","2026-08-31 12:32:44",{"source":8,"skillName":5,"commands":69,"prompt":79,"zipAvailable":80},[70,73,76],{"tool":71,"command":72},"npx","npx skills add mukul975\u002FAnthropic-Cybersecurity-Skills --skill performing-post-quantum-cryptography-migration",{"tool":74,"command":75},"bunx","bunx skills add mukul975\u002FAnthropic-Cybersecurity-Skills --skill performing-post-quantum-cryptography-migration",{"tool":77,"command":78},"pnpm","pnpm dlx skills add mukul975\u002FAnthropic-Cybersecurity-Skills --skill performing-post-quantum-cryptography-migration","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fperforming-post-quantum-cryptography-migration\u002FSKILL.md",true,[82,87,93],{"path":83,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":85,"sourceHtmlUrl":86},"LICENSE","许可证",11255,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fperforming-post-quantum-cryptography-migration\u002FLICENSE",{"path":88,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Fapi-reference.md","REFERENCE","参考文档",8824,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fperforming-post-quantum-cryptography-migration\u002Freferences\u002Fapi-reference.md",{"path":94,"resourceType":95,"resourceTypeDesc":96,"sizeBytes":97,"sourceHtmlUrl":98},"scripts\u002Fagent.py","SCRIPT","脚本",56599,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fperforming-post-quantum-cryptography-migration\u002Fscripts\u002Fagent.py",[100,130,154,181,207,234],{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":111,"publishedAt":39},"01M6AGDM3HJXTKXX15ZZ0ZVCJ3","verifying-build-provenance-with-slsa-sigstore","Verifies artifact signatures and SLSA provenance using Sigstore's cosign (verify, verify-attestation, verify-blob-attestation) and slsa-verifier (verify-artifact), enforcing keyless OIDC builder identity and source repo against SLSA Build levels. Use in CI\u002FCD before deploying artifacts, when consuming third-party attestations, establishing a SLSA Build L3 pipeline, or confirming provenance during incident response or admission control.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fverifying-build-provenance-with-slsa-sigstore\u002FSKILL.md",[106],{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[112,113,114,115,116,30,117,118,38,119,120,121,122,123,124,125,126,127,128,129],"sigstore","provenance","slsa","verifying build provenance with slsa sigstore","security","incident response","identity","code","artifacts","ci","supply-chain","pipeline","supply-chain-security","t1195","attestation","code-signing","cosign","keyless",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":137,"publishedAt":39},"01M6AGDGBPWYVZ2F11GFKJ4HZ9","validating-tpm-measured-boot-attestation","Verifies TPM 2.0 measured-boot integrity and remote attestation with tpm2-tools -- reading PCRs (tpm2_pcrread), replaying the boot event log, generating and checking signed quotes (tpm2_quote\u002Ftpm2_checkquote), and sealing secrets to a PCR policy. Use to confirm a system booted trusted firmware\u002Fkernel for Zero Trust device posture, detect boot-chain tampering via PCR drift, or build a golden-value baseline for fleet attestation.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fvalidating-tpm-measured-boot-attestation\u002FSKILL.md",[136],{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},[138,126,139,140,116,141,30,38,142,143,144,145,146,147,148,149,150,151,152,153],"boot","TPM","validating tpm measured boot attestation","policy","verification","ZeRO","firmware","Tools","measured-boot","PCR","integrity","secrets","remote-attestation","tpm2-tools","integrity-verification","trusted-computing",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":164,"publishedAt":39},"01M6AGDCW0Y4FXZ3362GT1941M","validating-backup-integrity-for-recovery","Validates backup integrity through cryptographic hash verification, automated restore testing, corruption detection, and recoverability checks to confirm backups are reliable for disaster recovery and ransomware response. Use before relying on backups for recovery, when building post-backup validation pipelines, auditing backup infrastructure for compliance, or checking immutable\u002Fair-gapped backups for silent corruption or tampering.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fvalidating-backup-integrity-for-recovery\u002FSKILL.md",[160,163],{"categoryNo":161,"categoryName":162,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},[148,165,166,167,168,30,37,169,142,170,171,172,173,174,175,176,177,178,179,180],"backup","recovery","validating backup integrity for recovery","testing","validation","compliance","hash-verification","incident-response","ransomware","cryptocurrency","detection","t1078","t1490","immutable","disaster-recovery","restore-testing",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":188,"publishedAt":39},"01M6AGD9GBG2KZ336AE763J3WH","triaging-windows-with-kape","Runs KAPE (Kroll Artifact Parser and Extractor) to collect targeted forensic artifacts (registry hives, $MFT, event logs, prefetch, browser data) via Targets and parse them with Modules wrapping Eric Zimmerman's EZ Tools (PECmd, MFTECmd, RECmd). Use during early incident containment\u002Ftriage when full disk imaging is impractical but a defensible, parseable Windows artifact set is needed quickly, including at-scale remote collection.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Ftriaging-windows-with-kape\u002FSKILL.md",[187],{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},[189,190,191,30,192,193,194,195,196,197,198,199,200,201,202,203,145,204,205,206],"windows","kape","triaging windows with kape","registry","browser","logs","windows-forensics","dfir","mft","mftecmd","data","prefetch","eric-zimmerman","digital-forensics","SET","collection","pecmd","artifact-collection",{"skillNo":208,"name":209,"nameZh":6,"description":210,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":211,"categories":212,"keywords":214,"publishedAt":39},"01M6AGD5PW5J4EVZM958WD74ZQ","triaging-vulnerabilities-with-ssvc-framework","Triages and prioritizes vulnerabilities with CISA's Stakeholder-Specific Vulnerability Categorization (SSVC) decision tree, weighing exploitation status (via the CISA KEV catalog and FIRST EPSS API), technical impact, automatability, and mission prevalence to output Track\u002FTrack*\u002FAttend\u002FAct decisions. Use when prioritizing vulnerability scan results (OpenVAS, Nessus, Qualys) for remediation planning beyond raw CVSS scores.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Ftriaging-vulnerabilities-with-ssvc-framework\u002FSKILL.md",[213],{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},[215,216,217,30,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233],"vulnerabilities","framework","triaging vulnerabilities with ssvc framework","status","planning","CISA","vulnerability-management","risk-management","nessus","qualys","openvas","cvss","remediation","risk","vulnerability","api","prioritization","ssvc","decision-tree",{"skillNo":235,"name":236,"nameZh":6,"description":237,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":238,"categories":239,"keywords":241,"publishedAt":39},"01M6AGD24TTQQM4CXG69E3B9TJ","triaging-security-incident","Performs initial triage of security incidents using the NIST SP 800-61r3 and SANS PICERL frameworks, classifying incident type, assigning priority by business impact, and routing to the appropriate response team. Use when a SIEM\u002FEDR alert needs human classification, concurrent alerts must be prioritized, or a user report or threat-intel IOC match requires initial incident categorization.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Ftriaging-security-incident\u002FSKILL.md",[240],{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},[116,242,30,243,244,245,246,247,35,248,249,176,250,177,251,252,253,254,255,256],"triaging security incident","siem","file","ioc","soc","NIST-800-61","severity","edr","execution","analysis","classification","severity-classification","incident-triage","SANS-PICERL","SOC-operations"]