{"id":24639,"library":"spsdk-pqc","title":"SPSDK PQC - Post-Quantum Crypto support for SPSDK","description":"A plugin for NXP's SPSDK that provides post-quantum cryptography support, including key generation, signing, and verification using algorithms like Dilithium, Falcon, and SPHINCS+. Current version 0.6.8, requires Python >=3.9. Released as part of SPSDK Plugins, with new versions approximately every 2-3 months.","status":"active","version":"0.6.8","language":"python","source_language":"en","source_url":"https://github.com/nxp-mcuxpresso/spsdk_plugins/tree/master/pqc","tags":["pqc","post-quantum","cryptography","nxp","spsdk","plugin"],"install":[{"cmd":"pip install spsdk-pqc","lang":"bash","label":"Standard install"}],"dependencies":[{"reason":"Core SPSDK framework required for all operations","package":"spsdk","optional":false},{"reason":"C library for post-quantum algorithms, wrapped by spsdk-pqc","package":"liboqs","optional":true}],"imports":[{"wrong":"from spsdk_pqc import PQCProvider","symbol":"PQCAlgorithm","correct":"from spsdk_pqc import PQCAlgorithm"},{"symbol":"DilithiumPrivateKey","correct":"from spsdk_pqc import DilithiumPrivateKey"},{"symbol":"MLDSAPrivateKey","correct":"from spsdk_pqc import MLDSAPrivateKey"}],"quickstart":{"code":"from spsdk_pqc import PQCProvider\nfrom spsdk import SpsdkError\n\nprovider = PQCProvider()\n# Generate a Dilithium2 key pair\nprivate_key, public_key = provider.generate_keypair('Dilithium2')\nprint('Public key:', public_key.hex())\n# Sign a message\nmessage = b'Test message'\nsignature = provider.sign(private_key, message)\nprint('Signature:', signature.hex())\n# Verify\nis_valid = provider.verify(public_key, message, signature)\nprint('Verification:', is_valid)","lang":"python","description":"Initialize PQCProvider, generate a Dilithium2 key pair, sign a message, and verify the signature."},"warnings":[{"fix":"Install liboqs system-wide (e.g., apt install liboqs-dev) or use a precompiled wheel that bundles it.","message":"The library wraps liboqs, which must be installed separately or the Python package may fail at runtime with 'OQS library not found'.","severity":"gotcha","affected_versions":">=0.3.0"},{"fix":"Change 'from spsdk.pqc import ...' to 'from spsdk_pqc import ...'","message":"In SPSDK Plugins 3.0.0, the import path changed from spsdk.pqc to spsdk_pqc. Old imports will break.","severity":"breaking","affected_versions":"<=0.5.3 -> >=0.6.0"}],"env_vars":null,"search_vec":"'-3':54 '0.6.8':38 '2':53 '3.9':41 'algorithm':30 'approxim':51 'crypto':6 'cryptographi':21,60 'current':36 'dilithium':32 'everi':52 'falcon':33 'generat':25 'includ':23 'key':24 'like':31 'month':55 'new':49 'nxp':13,61 'part':44 'plugin':11,47,63 'post':4,19,58 'post-quantum':3,18,57 'pqc':2,56 'provid':17 'python':40 'quantum':5,20,59 'releas':42 'requir':39 'sign':26 'sphinc':35 'spsdk':1,9,15,46,62 'support':7,22 'use':29 'verif':28 'version':37,50","created_at":"2026-05-01T08:14:09.208464+00:00","updated_at":"2026-05-01T08:14:09.208464+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"0.7.1","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/nxp-mcuxpresso/spsdk_plugins","docs":null,"changelog":null,"pypi":"https://pypi.org/project/spsdk-pqc/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["auth-security","serialization"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}