I factored the RSA keys of a 1990s Certificate Authority

I've factored the RSA keys of a Certificate Authority from the 90s

I factored the RSA keys of a 1990s Certificate Authority

The author extracts 512-bit RSA root certificates from archived Netscape and Internet Explorer installers, finds two from the defunct Canadian CA E-Certify, and factors them with CADO-NFS on a desktop in about 30 hours each. They reconstruct the private keys, set up a VM running Netscape 4.51, and build a custom TLS server in Go to issue and verify certificates, hosting a live demo at e-certify.fly.dev. The post includes keys, tools, and a bonus factored VeriSign test CA.

This describes zero people on the planet… except for this VM I set up.
  1. 63

    A bit unfortunate that so many of the interesting bits were left to ai. I would've enjoyed some commentary on why the custom TLS implementation was necessary. Oh well.

    Update: found this explanation in a comment at the top of the (surprisingly short) Go file in the linked repo:

    The target client is Netscape Communicator 4.51 (both the 40-bit export build and the 128-bit US build) with its clock set to the year 2000.

    Go's crypto/tls cannot help: it dropped SSLv3 in Go 1.14, never accepted the SSLv2-compatible ClientHello that Netscape 4 sends, and never had RC4-MD5 or the 40-bit export suites. So this file carries its own tiny SSLv3 server-side implementation on top of stdlib primitives (RSA PKCS#1 v1.5, RC4, DES, 3DES, MD5, SHA-1). The server key is 512-bit RSA so that export clients can encrypt the premaster secret to it directly, without a ServerKeyExchange.

  2. goalieca

    Basically 2 days on a consumer GPU to crack a 512 bit cert. The thing is much of the traffic back then did not use ephemeral keys. Most of it wasn't even encrypted at all! But about a decade later, it became normal to encrypt everything. I do wonder which governments around the world are just waiting to crack anonymous political speech by recording and saving for later when decryption can happen.

  3. pvillano

    That SSL report with four different automatic 'F's is an amazing punchline

  4. mitxela

    > While I haven’t verified this LLM output is entirely trustworthy, it looks pretty plausible.

    It's essential that you do, because generating pretty plausible outputs is an LLM's bread and butter. Otherwise, only the one that you actually tested should be expected to be correct.

  5. jrmg

    In the 90s, how long did people expect it would be until consumer computer hardware would be able to do this so quickly?

More from this day

2026-09-08