WRITTEN IN PLAIN AMERICAN ENGLISH.
About
CLAY TRIBUNE.
ShopCartAccount
Advertisement

Programmer Breaks 512-Bit RSA Keys Of E-Certify, A Certificate Authority From The 90s

A curious solver factored 512-bit RSA keys once trusted by Netscape 4.51, an old certificate authority named E-Certify.

By mitch·4 min read
An old browser window beside a modern computer, numbers streaming between them like a thread joining old and new.

An old certificate authority has had its RSA keys broken by an outside programmer, decades after they were first put to use. The project is titled “I’ve factored the RSA keys of a Certificate Authority from the 90s.”

The Search For A Weak Certificate

The person behind the project had been thinking about how RSA holds up over time. RSA depends on the difficulty of breaking a large number into its two prime parts, and small numbers are far less difficult to break than large ones. The Web PKI stopped trusting 1024-bit RSA more than ten years ago, and a 512-bit number, RSA-155, was broken back in 1999. Just recently, someone also broke RSA-260, an 862-bit number, which the author says is the largest broken number they are aware of.

That got the author wondering whether an old certificate small enough to break on a modest desktop computer existed somewhere in browser history. In the 1990s there were no fixed rules on certificate size, and cryptography itself was still limited by government rules on its use. Netscape shipped SSL support in 1994, and Internet Explorer followed soon after.

Advertisement

Finding E-Certify

To find a candidate, the author gathered old copies of the Netscape and Internet Explorer setup files and used Claude Code, an AI coding application, to draw out every certificate authority certificate stored inside them. The results were turned into a Claude-generated page listing all the old CAs found. Going through that list for small keys turned up a match: Netscape 4.51, from March 1999, shipped a 512-bit RSA certificate authority certificate trusted for SSL, along with a second one trusted for use with secure electronic mail. Both belonged to E-Certify, a Canadian certificate authority that no longer runs.

Netscape stopped trusting the E-Certify certificates in 2002. Internet Explorer, unlike Netscape, never trusted any 512-bit certificate authority certificates for SSL, so this exercise applies to Netscape alone.

Breaking The Numbers

To break the keys, the author used a piece of software made for splitting large numbers into their prime parts, known as CADO-NFS, running it on a Ryzen 9 5950X desktop computer. CADO-NFS is built for exactly this task: taking a large number and recovering the two prime numbers that make it up. Breaking the E-Certify RSA 512 Gold Server certificate, used for SSL, took 32 hours. Breaking the matching E-Certify RSA 512 Gold Client certificate, used for secure mail, took another 29 hours.

With the two prime numbers recovered, the author rebuilt the private keys tied to each certificate.

What The Keys Can Do

In principle, anyone who holds those private keys could pose as E-Certify and issue new certificates that old copies of Netscape would trust, or read traffic protected using them by placing themselves between a user and the server they meant to reach. There is a catch, though: the E-Certify certificates stopped being valid on October 16, 2003. Using them would require a copy of Netscape 4.51 running with its clock set back before that date. By the author’s own account, this describes no one alive today, apart from a virtual machine built to test the idea.

Getting a modern computer to talk to Netscape 4.51 at all took extra work, since there is no common ground between the browser’s version of secure connections and any current one. The author again used Claude Code to build a custom piece of software in Go capable of speaking the old browser’s version of that method. That server now runs publicly online, though it can only be seen using a real copy of Netscape.

A Timeline Of E-Certify’s Certificates

Date Event
October 16, 1998 E-Certify RSA 512 Gold Server and Gold Client certificates issued
March 1999 Netscape 4.51 comes out, trusting both E-Certify certificates
Later 1999 RSA-155, also 512 bits, is broken
2002 Netscape stops trusting the E-Certify certificates
October 16, 2003 E-Certify certificates stop being valid
Recently Both 512-bit keys broken using CADO-NFS, in 32 hours for the Server key and 29 hours for the Client key

The keys, certificates and supporting tools have been placed in a public repository so others can host their own pages using the old E-Certify keys, or, in the author’s words, do worse. No modern system trusts these certificates any longer, and no real users are running a browser from that period with its clock turned back. What the project shows instead is how quickly certificate sizes once thought usual turned into numbers a home computer can break in under two days.

Source: mcpherrin.ca

The Notebook

Get the Notebook.

The day's best stories and every fresh verdict, in plain English, in your inbox by seven. One email a day, no more.

We send one note to confirm. Every issue has a one-click way out.

Advertisement

Leave a Reply

Your email address will not be published. Required fields are marked *

As an Amazon Associate, Clay Tribune earns from qualifying purchases.