Skip to content

Post-quantum crypto algorithms - #342

Merged
kruton merged 6 commits into
connectbot:mainfrom
kruton:pq-algos
Oct 15, 2026
Merged

kruton merged 6 commits into
connectbot:mainfrom
kruton:pq-algos

Conversation

@kruton

@kruton kruton commented Oct 15, 2026

Copy link
Copy Markdown
Member

Add multiple post-quantum crypto algorithms:

Key Exchange

Host keys

Comment thread sshlib/src/main/java/org/connectbot/sshlib/crypto/sntrup/Utils.java Fixed
Comment thread sshlib/src/main/java/org/connectbot/sshlib/crypto/sntrup/Utils.java Fixed
Comment thread sshlib/src/main/java/org/connectbot/sshlib/crypto/sntrup/Utils.java Fixed
Extract BC's client-side SNTRUP implementation behind internal adapters
and support both RFC 9941 algorithm names. Track published upstream
sources with Renovate and verify original and extracted SHA-256 hashes
in CI.
Implement RFC 10042 ML-KEM-768/P-256 and ML-KEM-1024/P-384 using the
bundled Kotlin ML-KEM implementation and JCA ECDH. Validate fixed-width
secrets and peer points, and erase ephemeral secret buffers.
Use installed JCA composite services for ssh-mldsa87-p384, with provider-gated defaults and PEM private-key support. Add Kaitai definitions for SSH point and scalar encodings and independently verify both signature components. Document draft encoding inconsistencies.
Implement mlkem768-sha256 and mlkem1024-sha384 with existing JVM and Android providers, keeping both disabled by default. Encode the 32-byte secret as an SSH string, matching the draft exchange-hash definition and CycloneSSH, and document the draft's conflicting mpint wording.

Add independent BC interoperability, authentication and rekey conformance, malformed-ciphertext and cleanup checks.
@kruton
kruton merged commit e51b038 into connectbot:main Oct 15, 2026
12 checks passed
@kruton
kruton deleted the pq-algos branch October 15, 2026 17:02
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.

2 participants