GHOSTSHELL
Motion and effects on this site
Download 0.2.0

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.

Fig. 0 The reading list and GHOSTSHELL's papers as a chart, drawn from this page's data: a row per topic, each entry a star at its year. Grey arcs join each topic's entries in date order; accent arcs join each paper to the entries its references cite. A cursor visits them in date order and names each one.The parameter sets GHOSTSHELL uses: ML-KEM-768 works in a module lattice of dimension 768, three polynomials of 256 coefficients modulo 3,329.

01 By the GHOSTSHELL team

Technical papers

White papers and technical notes on GHOSTSHELL's design, by the people who build it.

  1. From classical to quantum-safe: a migration playbook for network teams

    Aaron Stovall (Mythos Systems) · white paper · SSH, Migration, Network operations

    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.

  2. Making post-quantum visible: per-session indicators and warnings

    George Lopez (Individual Contributor) · white paper · SSH, Session indicators, Key exchange

    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.

  3. Harvest now, decrypt later: a post-quantum threat model for network engineers

    George Lopez (Individual Contributor) · white paper · Threat model, SSH, Hybrid key exchange

    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.

  4. Post-quantum by default: hybrid key exchange in GHOSTSHELL's SSH client

    Aaron Stovall (Mythos Systems) · white paper · SSH, Key exchange, ML-KEM, sntrup761

    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.

  5. Sealed twice: GhostVault's hybrid ML-KEM-1024 and ML-DSA-87 design

    Aaron Stovall (Mythos Systems) · white paper · GhostVault, ML-KEM-1024, ML-DSA-87, Argon2id

    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

  1. 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.

  2. 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.

  3. 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.

  4. 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

  1. 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.

  2. 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.

  3. 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.

  4. 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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

  1. 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.

  2. 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

  1. 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.

  2. 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.

  3. 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.

  4. 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.