frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

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

https://mcpherrin.ca/2026/09/07/rsa.html
94•ahlCVA•1h ago

Comments

ggm•44m ago
The cost per bit is a doubling in time. So factoring a 512 RSA, compared to a 1024 RSA is significantly cheaper. The OP used contemporary hardware to do this. so, we'd have to ask if the orders of magnitude improvement in tech (QC aside) would permit 1024 in tractable time. I tend to no, but I appreciate there are other points of view. And of course, the belief that one day we can apply Shor with success exists. At which point the question is moot. Not that Shor does not itself demand significantly more stable gates, per extra bit of RSA. I always wonder why people don't look at the trend line in stable QuBits and the trendline in cost of RSA. Do the lines intersect?

Remember, Shor is like a coded gate level algorithm expressed as sequences of interconnected stable QuBits. So, if you double the cost for each RSA bit you add, its not "nothing" in terms of how you wire the rig.

(not a cryptographer, or a QC person so I expect to be hit by a very cold but stable quantum clue-by-four shortly. Maybe they have to hit me 1 million times, to confirm I'm hit. Its statistics.)

mcpherrinm•40m ago
It’s not quite a doubling per bit, which is why RSA keys are relatively large compared to similar-strength ECDSA keys, for example.

Steve Weis, who has been doing RSA factoring on some large GPU clusters, estimates factoring 1024-bit RSA would take about 2000 GPU-years, which is well within the range of anyone with a serious budget.

throwawayk7h•31m ago
out of curiosity, how long would 2048-bit RSA take to factor?
mcpherrinm•25m ago
It's hard to extrapolate that far, but maybe hundreds of thousands or millions of years.
mitxela•24m ago
https://en.wikipedia.org/wiki/Key_size#Asymmetric_algorithm_...

says approximately the same as a 112-bit symmetric key, so 1/65536 as fast as however your target platform does at AES128, but probably 2000 times slower again because RSA is a really slow algorithm.

128-bit security is the de-facto minimum standard. Anything less than that is suspect. That's a 3072-bit RSA key. We only ever tolerated shorter keys because RSA is so slow. You should switch to ed25519 if you can.

entrope•17m ago
2048-bit RSA gives something like 28 more bits of security than 1024-bit RSA has, so it would take about 250 million times as long to factor one 2048-bit key.
rcxdude•36m ago
There are techniques to speed up the search for RSA keys quite significantly: they don't scale as with a pure brute force search, nor with a very useful rule of thumb (it's not even the case that doubling the RSA key length doubles its effective security, it's actually a fair bit less than that).
mitxela•31m ago
Doubling per bit is for symmetric encryption, where no attack better than brute force is known. RSA can be attacked using much faster techniques than brute force.
goalieca•39m ago
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.
Neywiny•33m ago
CPU?
pvillano•29m ago
That SSL report with four different automatic 'F's is an amazing punchline
mitxela•28m ago
> 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.

mcpherrinm•11m ago
I agree to some degree, but it's not essential for what I wanted to do (which is find a 512-bit RSA key).

The biggest thing I'm afraid of is that the generated scripts missed some entries, or otherwise mis-classified them, in particular whether it got the trust bits right for each root. I would put the chances of that having some errors relatively high.

But there's too many roots across too many browser installers, so I'm not going to confirm the Netscape UI matches what the extracted data says.

63•27m ago
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.

mcpherrinm•20m ago
(As the author of the post)

I've written and worked a few TLS implementations, so it wasn't terribly interesting to me. And I have to go to work tomorrow and solve real, modern CA problems :)

But in short, I wanted to use Go, and it doesn't support SSLv3, the SSLv2 Client Hello, or the 40-bit export-grade cipher suites which I wanted to support too.

I could have tried to get some old server running instead, but I wanted the deployment on Fly to be something familiar to me, as I'd basically just copied what I had before elsewhere.

jychang•17m ago
Probably because modern libraries dropped support for ancient insecure SSL. Backwards compatibility is really not a valued thing for that area.
CursedSilicon•16m ago
A while back I helped a friend (read: dumped a bunch of compute power into it) brute force the SSL keys for Sega's "Phantasy Star Online" Dreamcast game.

They used a similar kind of custom (and flawed) TLS implementation in their game(s) which allowed signing new certificates after brute forcing.

The benefit to this is that users can now play these games without needing to burn a new CD with either the SSL certs swapped, or the code patched to dummy out the checks. A "retail CD" will simply work with private servers now.

I've also been on the other side of the fence, building a "retro internet" service [1] has meant trying to implement ancient SSL/TLS services for things and people that want to use them on the network.

Getting modern OpenSSL (aka what ships in Debian) to even accept these ciphers, let alone keys that short is an uphill battle. Understandably, they're disabled by default and (in Debian at least) the cipher support isn't even compiled into the binary! This requires building a custom OpenSSL to build Nginx against to serve ancient SSL.

Presumably for the OP this kind of work was either outside of their realm of knowledge, or simply "easier" to outsource to the slop machine. Though I hope the machine they're running their demo TLS implementation on is separated completely from their own network. Rolling your own crypto libraries is always a bad idea [2] and I doubt LLM's have "improved" that

[1] https://www.youtube.com/watch?v=cSJsGNIDjtc

[2] https://soatok.blog/2025/01/31/hell-is-overconfident-develop...

excalibur•20m ago
> Assuming you’re somehow running Netscape 4.51 with a clock set before E-Certify roots expired on 2003-10-16, you can use these private keys to issue certificates. This describes zero people on the planet… except for this VM I set up.

The planet has a lot of people.

Retr0id•16m ago
I went down the same line of thought in the past! But I guess I was less thorough with my search, I never found any certs that small.

Jellyfin 12.0

https://jellyfin.org/posts/jellyfin-release-12.0/
71•0xC0ncord•40m ago•23 comments

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

https://mcpherrin.ca/2026/09/07/rsa.html
97•ahlCVA•1h ago•20 comments

TALA Is Open-Source

https://d2lang.com/blog/tala-is-open-source/
92•alixanderwang•2h ago•8 comments

Watch Los Angeles get built, one building at a time (1880–2026)

https://lax-skyline.parcelscope.net/
226•rustywasm•7h ago•113 comments

Show HN: Stuxnet – A reconstructed source code of the infamous cyber-weapon

https://github.com/Sadpainy/Stuxnet
107•CMDDestory•4h ago•34 comments

Disconnect your LG television from the internet, now

https://appleinsider.com/articles/26/09/07/disconnect-your-lg-television-from-the-internet-now
84•harambae•1h ago•48 comments

Leaving VMware just got harder after Broadcom pulled VDDK downloads

https://www.virtualizationhowto.com/2026/09/leaving-vmware-just-got-harder-after-broadcom-pulled-...
101•josephcsible•6h ago•49 comments

Trusting-Trust Attack against an Entire Linux Distribution

https://arxiv.org/abs/2607.24888
161•signa11•2d ago•35 comments

WeatherNext 3

https://deepmind.google/science/weathernext/
237•matthieu_bl•4d ago•61 comments

Scientists observe Einstein's gravity in the quantum world

https://www.ox.ac.uk/news/2026-08-28-scientists-observe-einsteins-gravity-in-the-quantum-world
153•mudil•3d ago•39 comments

John Margolies' Photographs of Roadside America

https://publicdomainreview.org/collection/john-margolies-photographs-of-roadside-america/
20•duck•3d ago•6 comments

216M Spy TVs – The LG Smart TV Problem [video]

https://www.youtube.com/watch?v=6IFVTcM28KA
552•treve•1d ago•746 comments

Show HN: I built an aesthetically pleasing puzzle

https://jigsawhaiku.com/
61•windowshopping•3d ago•21 comments

Colorlight 5A-75B: A dive into a popular low-cost ECP5 (FPGA) development board

https://blog.yosyshq.com/p/colorlight-part-1/
9•gregsadetsky•3d ago•2 comments

Finding a bug in Dummit and Foote's Abstract Algebra

https://kallus.org/blog/dummit_and_foote.html
68•evakhoury•3d ago•32 comments

Show HN: Interactive Tree of Life

https://ptree.org/
62•Lucent•4d ago•19 comments

This Month in Ladybird – August 2026

https://ladybird.org/newsletter/2026-08-31/
174•exploraz•3d ago•47 comments

Catching Crumbs from the Table (2000)

https://www.nature.com/articles/35014679
12•stefanpie•1d ago•5 comments

Caltech Mathathon – first hackathon ever devoted to research level mathematics

https://mathathonchallenge.com/index.html
232•astroanax•17h ago•82 comments

Icy Moons Are Ocean Worlds

https://mceglowski.substack.com/p/icy-moons-are-ocean-worlds
137•worldvoyageur•1d ago•13 comments

Decoding the NEC V20 Microcode

https://martypc.blogspot.com/2026/09/decoding-nec-v20-microcode.html
125•mariuz•3d ago•8 comments

Simple Is Not Small

https://jyn.dev/simple-is-not-the-same-as-small/
214•zdw•4d ago•65 comments

Keep Our Servers Running

https://blog.archive.org/2026/09/01/keep-our-servers-running-your-recurring-donation-goes-3x-this...
959•sonicrocketman•23h ago•247 comments

Methods for Random Gradients (2024)

https://justinjay.wang/methods-for-random-gradients/
47•nickswalker•4d ago•5 comments

Macbeth and His Problems

https://porticoquarterly.com/essay/macbeth-and-his-problems/
40•apophatic•6h ago•17 comments

bzip3

https://github.com/iczelia/bzip3
387•tosh•13h ago•110 comments

The Dataflow Model Revisited

https://www.vldb.org/pvldb/volumes/19/paper/The%20Dataflow%20Model%20Revisited
87•scott_s•1d ago•14 comments

Live map of public transport in Belgium

https://openbaarvervoerbelgie.be/
187•coinfused•17h ago•77 comments

She Also Found It at the Movies

https://hedgehogreview.com/web-features/thr/posts/she-also-found-it-at-the-movies
25•prismatic•3d ago•6 comments

Whistle Synth Mac App

https://www.jefftk.com/p/whistle-synth-mac-app
68•luu•3d ago•15 comments