Research
The papers behind GHOSTSHELL's cryptography.
GHOSTSHELL's post-quantum protection rests on ML-KEM (FIPS 203) and ML-DSA (FIPS 204), and on Streamlined NTRU Prime (RFC 9941) for SSH servers without ML-KEM; it offers each first as a hybrid with a classical algorithm. This page lists the technical papers written about GHOSTSHELL and the landmark research they build on.
01 By the GHOSTSHELL team
Technical papers
White papers and technical notes on GHOSTSHELL's design, by the people who build it.
From classical to quantum-safe: a migration playbook for network teams
A staged plan for moving SSH management traffic to post-quantum key exchange with GHOSTSHELL 0.2.0: what servers offer today, how to take an inventory, when a profile can refuse classical exchanges, and what stays classical, with measurements on 127.0.0.1.
Making post-quantum visible: per-session indicators and warnings
How GHOSTSHELL 0.2.0 reads the negotiated algorithms from its SSH library after every key exchange and rekey, and shows them in the terminal, on the tab, in a per-hop dialog and in Settings, with its measured accuracy and what is not shown yet.
Harvest now, decrypt later: a post-quantum threat model for network engineers
Encrypted traffic recorded today can be stored until a quantum computer able to break today's public-key cryptography exists, and decrypted then. For a network engineer that traffic is the management plane: SSH sessions to routers, switches and servers, the passwords and configurations they carry, and the bastion hosts in between. This paper sets out which parts of that traffic a recording exposes, why the key exchange is the part that matters, what a hybrid of classical and post-quantum key exchange defends and what it does not, and how GHOSTSHELL 0.2.0 maps its protections onto the model, including where they stop: RDP, VNC, Telnet, serial lines, proxy-command hops and servers with no post-quantum method.
Post-quantum by default: hybrid key exchange in GHOSTSHELL's SSH client
GHOSTSHELL 0.2.0 offers every post-quantum SSH key exchange published as an RFC ahead of every classical method, by default and on every hop: mlkem768x25519-sha256, mlkem1024nistp384-sha384, mlkem768nistp256-sha256 and sntrup761x25519-sha512 under both of its names. This paper explains the order and the four policies, why a classical fallback remains, how the exchange hash and strict key exchange resist downgrades, how each tab reports the exchange that actually ran, and which bypasses were closed, and it reports the evaluation against OpenSSH 10.5 and OpenSSL 3.5 together with what remains untested or unbuilt.
Sealed twice: GhostVault's hybrid ML-KEM-1024 and ML-DSA-87 design
GhostVault keeps SSH passwords, key passphrases and, optionally, GHOSTSHELL's whole configuration on a symmetric path, Argon2id, HKDF-SHA-512 and AES-256-GCM, against which a quantum computer gains at most a square-root speed-up. Where a vault must open without its passphrase or for someone else, in recovery kits, escrow slots and shared bundles, every operation is sealed twice: ML-KEM-1024 with ECDH P-384 to encrypt, and ML-DSA-87 with ECDSA P-384 to sign shared bundles. This paper describes the construction as the code implements it, GHOSTSHELL's own key combiner included, reports measured sizes and timings, and sets out the recorded limits, among them what a passphrase change does not rotate and what stays in memory after the vault locks.
02 Reading list
Landmark research
The standards and papers GHOSTSHELL's cryptography rests on, cited as published, each with a link to the source.
The quantum threat
- 1997
Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer
Peter W. Shor. SIAM Journal on Computing 26(5):1484–1509 (journal version of the FOCS 1994 paper). doi:10.1137/S0097539795293172
Gave quantum algorithms that factor integers and solve discrete logarithms in polynomial time, so a large quantum computer would break RSA, Diffie–Hellman and elliptic-curve cryptography. Each GHOSTSHELL hybrid pairs X25519, P-256, P-384 or Ed25519 with ML-KEM, sntrup761 or ML-DSA, so breaking the classical half alone is not enough.
- 1996
A fast quantum mechanical algorithm for database search
Lov K. Grover. Proceedings of the 28th Annual ACM Symposium on Theory of Computing (STOC '96), pp. 212–219. doi:10.1145/237814.237866
Showed that a quantum computer can search N possibilities in about the square root of N steps, which halves the effective length of a symmetric key without breaking it. GhostVault, history and logs therefore use 256-bit AES keys, which keep about 128-bit strength against such a search.
- 2021
How to factor 2048 bit RSA integers in 8 hours using 20 million noisy qubits
Craig Gidney and Martin Ekerå. Quantum, vol. 5, article 433. doi:10.22331/q-2021-04-15-433
Estimated that about 20 million noisy qubits could factor a 2048-bit RSA number in about eight hours, with a hundredth of the spacetime volume earlier estimates needed. A concrete hardware estimate like this is a reason to ship post-quantum key exchange and signatures before such a machine exists.
- 2025
How to factor 2048 bit RSA integers with less than a million noisy qubits
Craig Gidney. arXiv preprint 2505.15917 [quant-ph]
Cut the estimate for factoring RSA-2048 to under a million noisy qubits and under a week, on the same hardware assumptions as the Gidney–Ekerå estimate. A drop of more than twentyfold in qubits, at the cost of a longer run, strengthens the case for protecting traffic recorded today. It is still a preprint.
Lattice foundations
- 1998
NTRU: A ring-based public key cryptosystem
Jeffrey Hoffstein, Jill Pipher and Joseph H. Silverman. Algorithmic Number Theory (ANTS-III), Lecture Notes in Computer Science vol. 1423, pp. 267–288. doi:10.1007/BFb0054868
Introduced NTRU, public-key encryption built from products of small polynomials in a ring, whose security rests on the difficulty of finding short vectors in a lattice; it is widely regarded as the first practical lattice cryptosystem. Its descendant, Streamlined NTRU Prime, is the post-quantum half of GHOSTSHELL's sntrup761x25519 key exchange.
- 2009
On lattices, learning with errors, random linear codes, and cryptography
Oded Regev. Journal of the ACM 56(6), 2009 (journal version of the STOC 2005 paper). doi:10.1145/1568318.1568324
Defined learning with errors (LWE), showed that solving it efficiently would solve hard worst-case lattice problems on a quantum computer, and built public-key encryption on it. ML-KEM and ML-DSA, which carry most of GHOSTSHELL's post-quantum protection, build on its module form.
- 2010
On Ideal Lattices and Learning with Errors over Rings
Vadim Lyubashevsky, Chris Peikert and Oded Regev. EUROCRYPT 2010, Lecture Notes in Computer Science vol. 6110, pp. 1–23 (full version in Journal of the ACM 60(6), 2013). doi:10.1007/978-3-642-13190-5_1
Defined ring-LWE and proved it as hard as worst-case problems on ideal lattices for quantum computers, making lattice cryptography compact and fast with a security proof. ML-KEM's module lattices are built on this ring structure, which keeps an ML-KEM-768 public key at 1,184 bytes and its ciphertext at 1,088, small enough for SSH and TLS handshakes.
- 2015
Worst-case to average-case reductions for module lattices
Adeline Langlois and Damien Stehlé. Designs, Codes and Cryptography 75(3):565–599 (June 2015 issue; online February 2014). doi:10.1007/s10623-014-9938-4
Defined Module-LWE and Module-SIS, between the plain and the ring problems, and proved them as hard on average as worst-case module-lattice problems. ML-KEM's strength is set by its module rank: rank 3 (ML-KEM-768) in GHOSTSHELL's first SSH and HTTPS choices, rank 4 (ML-KEM-1024) in mlkem1024nistp384, the MLKEM1024 TLS group and GhostVault.
Schemes and standards
- 2017
NTRU Prime: Reducing Attack Surface at Low Cost
Daniel J. Bernstein, Chitchanok Chuengsatiansup, Tanja Lange and Christine van Vredendaal. Selected Areas in Cryptography – SAC 2017, Lecture Notes in Computer Science vol. 10719, pp. 235–260 (online December 2017; print volume 2018). doi:10.1007/978-3-319-72565-9_12
Argued that the extra algebraic structure in the rings of NTRU and ring-LWE is needless attack surface, and proposed NTRU Prime without it, including the chosen-ciphertext-secure Streamlined variant. Streamlined NTRU Prime, revised during NIST's process as sntrup761, is the post-quantum half of sntrup761x25519 (RFC 9941), OpenSSH's default from 9.0 until 10.0, which GHOSTSHELL offers after its ML-KEM hybrids as a second lattice design.
- 2018
CRYSTALS – Kyber: A CCA-Secure Module-Lattice-Based KEM
Joppe Bos, Léo Ducas, Eike Kiltz, Tancrède Lepoint, et al. 2018 IEEE European Symposium on Security and Privacy (EuroS&P), pp. 353–367. doi:10.1109/EuroSP.2018.00032
Designed Kyber, a Module-LWE key encapsulation made chosen-ciphertext secure by a variant of the Fujisaki–Okamoto transform; NIST standardized it as ML-KEM. It is the post-quantum half of three GHOSTSHELL SSH key exchanges (RFC 10042) and of X25519MLKEM768 for HTTPS, and with P-384 it seals GhostVault's recovery and escrow slots and its shared bundles.
- 2018
CRYSTALS-Dilithium: A Lattice-Based Digital Signature Scheme
Léo Ducas, Eike Kiltz, Tancrède Lepoint, Vadim Lyubashevsky, et al. IACR Transactions on Cryptographic Hardware and Embedded Systems (TCHES) 2018(1):238–268. doi:10.46586/tches.v2018.i1.238-268
Designed Dilithium, a module-lattice signature built on Fiat–Shamir with aborts that needs no Gaussian sampling, which makes constant-time implementation straightforward; NIST standardized it as ML-DSA. As ML-DSA paired with Ed25519, it signs GHOSTSHELL's releases and is the post-quantum half of the hybrid SSH host and user keys GHOSTSHELL supports; paired with P-384, it signs GhostVault's shared bundles.
- 2024
Module-Lattice-Based Key-Encapsulation Mechanism Standard
National Institute of Standards and Technology. Federal Information Processing Standards Publication 203 (FIPS 203). doi:10.6028/NIST.FIPS.203
Made ML-KEM, derived from CRYSTALS-Kyber, a U.S. federal standard at three strengths: ML-KEM-512, -768 and -1024. GHOSTSHELL uses two: ML-KEM-768, NIST's recommended default, in mlkem768x25519, mlkem768nistp256 and X25519MLKEM768, and ML-KEM-1024 in mlkem1024nistp384, the MLKEM1024 TLS group and GhostVault.
- 2024
Module-Lattice-Based Digital Signature Standard
National Institute of Standards and Technology. Federal Information Processing Standards Publication 204 (FIPS 204). doi:10.6028/NIST.FIPS.204
Made ML-DSA, derived from CRYSTALS-Dilithium, a U.S. federal standard at three strengths: ML-DSA-44, -65 and -87. GHOSTSHELL uses ML-DSA-44 in its release key and its hybrid SSH host and user keys, all three alone as SSH key types, and ML-DSA-87 for GhostVault's bundle signatures.
- 2026
Transition to Post-Quantum Cryptography Standards
Dustin Moody, Ray Perlner, Andrew Regenscheid, Angela Robinson and David Cooper. NIST Internal Report 8547, final (initial public draft November 2024). doi:10.6028/NIST.IR.8547
Sets NIST's timetable for retiring quantum-vulnerable public-key cryptography (RSA, ECDSA, EdDSA, finite-field and elliptic-curve Diffie–Hellman): deprecated after 2030, disallowed after 2035. It accepts hybrid key establishment when one component is NIST-approved and names ML-KEM-768 the default, the pattern of GHOSTSHELL's first SSH and HTTPS choices.
Hybrid key exchange
- 2019
Hybrid Key Encapsulation Mechanisms and Authenticated Key Exchange
Nina Bindel, Jacqueline Brendel, Marc Fischlin, Brian Goncalves and Douglas Stebila. Post-Quantum Cryptography – PQCrypto 2019, Lecture Notes in Computer Science vol. 11505, pp. 206–226. doi:10.1007/978-3-030-25510-7_12
Gave hybrid key exchange a formal footing, modeling attackers whose quantum power may come later and proving which combinations of a classical and a post-quantum KEM stay secure while either holds. RFC 9954 ties the TLS construction behind X25519MLKEM768, the first group GHOSTSHELL offers for HTTPS, to this paper's dual-PRF combiner.
- 2026
Hybrid Key Exchange in TLS 1.3
Douglas Stebila, Scott Fluhrer and Shay Gueron. IETF RFC 9954 (Informational). doi:10.17487/RFC9954
Specifies how TLS 1.3 runs two or more key exchanges at once and feeds their concatenated secrets into the usual key schedule, so a connection stays private unless every component is broken. RFC 10024 defines X25519MLKEM768, the first group GHOSTSHELL offers for HTTPS, on this framework.
Attacks and implementation lessons
- 2022
Breaking Rainbow Takes a Weekend on a Laptop
Ward Beullens. Advances in Cryptology – CRYPTO 2022, Lecture Notes in Computer Science vol. 13508, pp. 464–479. doi:10.1007/978-3-031-15979-4_16
Recovered a key for Rainbow's lowest security level, then one of NIST's three finalist signature schemes, in about 53 hours on a laptop. Such a late break is what a classical half insures against: GHOSTSHELL's release and vault signatures pair ML-DSA with Ed25519 or P-384, and it prefers hybrid SSH host keys to ML-DSA alone.
- 2023
An Efficient Key Recovery Attack on SIDH
Wouter Castryck and Thomas Decru. Advances in Cryptology – EUROCRYPT 2023, Lecture Notes in Computer Science vol. 14008, pp. 423–447. doi:10.1007/978-3-031-30589-4_15
Broke the isogeny-based SIDH key exchange with a classical attack in heuristic polynomial time, recovering a SIKEp434 key in about ten minutes on one core while SIKE was in NIST's fourth round. Hence the hybrids: every post-quantum SSH key exchange GHOSTSHELL offers keeps X25519, P-256 or P-384, and for HTTPS X25519MLKEM768 comes before ML-KEM-1024 alone.
- 2024
Terrapin Attack: Breaking SSH Channel Integrity By Sequence Number Manipulation
Fabian Bäumer, Marcus Brinkmann and Jörg Schwenk. 33rd USENIX Security Symposium (USENIX Security 2024), pp. 7463–7480
Showed that a network attacker can silently drop an SSH connection's first encrypted packets under ChaCha20-Poly1305 or CBC with encrypt-then-MAC, and so downgrade its extensions, because part of the handshake is unauthenticated and sequence numbers are not reset when keys change. GHOSTSHELL always offers strict key exchange, the countermeasure, which takes effect when the server supports it too.
- 2025
KyberSlash: Exploiting secret-dependent division timings in Kyber implementations
Daniel J. Bernstein, Karthikeyan Bhargavan, Shivam Bhasin, Anupam Chattopadhyay, et al. IACR Transactions on Cryptographic Hardware and Embedded Systems (TCHES) 2025(2):209–234. doi:10.46586/tches.v2025.i2.209-234
Found that secret-dependent divisions in several Kyber implementations, the reference code among them, leak timing that gave up keys in minutes to hours on a Raspberry Pi 2 and an Arm Cortex-M4. ML-KEM is only as safe as its code: the ML-KEM libraries behind GHOSTSHELL's SSH and GhostVault, RustCrypto's ml-kem and @noble/post-quantum, have had no independent audit, and @noble makes no constant-time claim.