Skip to content

test: Add PQC readiness tests for post-quantum key/signature sizes#6971

Open
favsidv wants to merge 2 commits intoXRPLF:developfrom
favsidv:pqc-readiness-tests
Open

test: Add PQC readiness tests for post-quantum key/signature sizes#6971
favsidv wants to merge 2 commits intoXRPLF:developfrom
favsidv:pqc-readiness-tests

Conversation

@favsidv
Copy link
Copy Markdown

@favsidv favsidv commented Apr 18, 2026

Summary

  • Added PQCReadiness_test.cpp: 10 test cases (51 assertions) that document and verify rippled's behavior when confronted with post-quantum key and signature sizes (ML-DSA, Falcon, SLH-DSA);
  • Confirms oversized keys/signatures are rejected cleanly across publicKeyType, PublicKey construction, VL serialization, STTx::checkSign, STValidation, ecdsaCanonicality, consensus proposal storage, and keyTypeFromString;
  • No crashes, no truncation, no undefined behavior ; establishes a baseline for future PQC integration.

Context

XRPL-Standards discussions #79 and #295 outline the path toward post-quantum cryptography in XRPL. AlphaNet has demonstrated Dilithium integration, but the official codebase has no tests documenting PQC readiness boundaries.

These tests use synthetic blobs at PQC-representative sizes (not actual PQC algorithms) to map where rippled currently blocks oversized cryptographic material.

Test plan

  • ./xrpld --unittest=PQCReadiness, 10 cases, 51 tests, 0 failures.”

favsidv added 2 commits April 18, 2026 20:28
… Added a test suite that documents and verifies rippled's behavior when confronted with key and signature sizes typical of post-quantum algorithms (ML-DSA/CRYSTALS-Dilithium, Falcon, SLH-DSA). The 10 test cases confirm that oversized keys and signatures are rejected cleanly across publicKeyType, PublicKey construction, VL serialization, STTx checkSign, STValidation, ecdsaCanonicality, consensus proposal storage, and keyTypeFromString, with no crashes, no truncation, and no undefined behavior.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant