Readit News logoReadit News
ekr____ · 2 months ago
The situation is additionally confused by the fact that the version numbers do not give a good clue to how different the protocols were. Specifically:

SSLv2 was the first widely deployed version of SSL, but as this post indicates, had a number of issues.

SSLv3 is a more or less completely new protocol

TLS 1.0 is much like SSLv3 but with some small revisions made during the IETF standardization process.

TLS 1.1 is a really minor revision to TLS 1.0 to address some issues with the way block ciphers were used.

TLS 1.2 is a moderately sized revision to TLS 1.1 to adjust to advances in cryptography, specifically adding support for newer hashes in response to weaknesses in MD5 and SHA-1 and adding support for AEAD cipher suites such as AES-GCM.

TLS 1.3 is mostly a new protocol though it reuses some pieces of TLS 1.2 and before.

Each of these protocols has been designed so that you could automatically negotiate versions, thus allowing for clients and servers to independently upgrade without loss of connectivity.

nextgens · 2 months ago
TLS1.0 introduced modularity via the concept of "extensions". It's everything but a minor evolution of the protocol.

One of the many things it brought is session tickets, enabling server-side session resumption without requiring servers to keep synced-up state. Another is Server Name Indication, enabling servers to use more than one certificate.

ekr____ · 2 months ago
FWIW, these aren't actually in TLS 1.0.

Extensions (including SNI) are in later spec but introduces in RFC 3546 (https://www.rfc-editor.org/rfc/rfc3546). Session tickets are in RFC 4507.

What TLS 1.0 did was to leave the door open for extensions by allowing the ClientHello to be longer than what was specified. See https://www.rfc-editor.org/rfc/rfc2246.html#section-7.4.1.2 (scroll to "Forward Compatibility Note")

cortesoft · 2 months ago
> Each of these protocols has been designed so that you could automatically negotiate versions, thus allowing for clients and servers to independently upgrade without loss of connectivity.

And ensuring decades of various downgrade attacks

mcpherrinm · 2 months ago
The downgrade attacks on TLS are only really present in the case of client behaviour where, on failing to achieve one version, they retry a new connection without it.

This was necessary to bypass various broken server side implementations, and broken middleboxes, but wasn’t necessarily a flaw in TLS itself.

But from the learnings of this issue preventing 1.2 deployment, TLS 1.3 goes out of its way to look very similar on the wire to 1.2

jackgavigan · 2 months ago
It also enabled cipher strength "step up". Back during the '90s and early 2000s (I'm not sure when it stopped, tbh), the US government restricted the export of strong cryptography, with certain exceptions (e.g. for financial services).

If you fell under one of those exceptions, you could get a special certificate for your website (from, e.g. Verisign) that allowed the webserver to "step up" the encryption negotiation with the browser to stronger algorithms and/or key lengths.

da_chicken · 2 months ago
They still should have just called it TLS v4.0 instead of v1.0.

I'm halfway convinced that they have made subsequent versions v1.1, v1.2, and v1.3 in an outrageously stubborn refusal to admit that they were objectively incorrect to reset the version number.

ekr____ · 2 months ago
As I noted below, there was real discussion around the version number for TLS 1.3. I don't recall any such discussion for 1.1 and 1.2.
1over137 · 2 months ago
Well, at least they were not just versioned by year number. ;)
marcosdumay · 2 months ago
It would still be better than changing the name for no reason and resetting the version number.
Timothycquinn · 2 months ago
Considering that Microsoft was a completely different beast in that time, I'm not surprised it does not seem that silly.

M$ (appropriate name for that time) of the day was doing its best to own everything and the did not let up on trying to hold back the open source internet technologies until the early 2010's I believe. Its my opinion that they were successful in killing Java Applets, which were never able to improve past the first versions and JavaScript and CSS in general was held back many years.

I still recall my corporate overloards trying to push me to support IE's latest 'technologies' but I resisted and instead started supporting Mozilla 3.0 as soon as they fixed some core JS bugs for our custom built enterprise JavaScript SPA tools in the early 2000's. It turned out to be a great decision as the fortune 500 company started using Mozilla / Firefox in other internal apps in later years long before it became common place.

int_19h · 2 months ago
I don't think it was Microsoft that killed Java applets. I mean, for one thing, they always worked in IE, which was really the only avenue through which MS could have affected them.

No, Java applets failed because they became the poster child for "Java is slow" take. Even though it wasn't exactly true in general, it was certainly true of applets, what with waiting for them to download and then waiting for the JVM to spin up.

What killed them was 1) HTML/JS itself getting better at dynamic stuff that previously required something like applets, and 2) Flash taking over the remaining niche for which HTML wasn't good enough.

immibis · 2 months ago
Another reason Java applets ultimately failed was the never-ending stream of sandbox escapes, which is inherent to their design of running trusted and untrusted code in the same VM and trying to keep track of which is which. It turns out it's much more straightforward to sandbox the whole VM.

A representative vulnerability is "trusted method chaining". You (the attacker) construct a chain of standard library objects that call each other in unexpected ways. You can make use of the fact that you can subclass a standard library class and implement a standard library interface, in order to implement the interface methods with the base class's implementations, to construct more unusual pathways. Then you get some standard library entry point to call the first method in the chain. Since your code doesn't appear on the call stack at any point (it's just the standard library calling the standard library) whatever is at the bottom of the call stack, at the end of the chain, infers a trusted context and can access files or whatever. Of course, finding a method chain that's possible to construct and does something malicious is non-trivial.

cap11235 · 2 months ago
Even prior to HTML5 stuff, Flash was just a better UX than applets, which always felt like your browser was loading an application, vs being an element in a page.
cubefox · 2 months ago
Java Applets also froze the entire browser when loading. Even more so than the Windows Media / QuickTime / Real Player plug-ins. Only the Flash plug-in didn't noticeably freeze the browser. It was heavily CPU optimized and even used AVX for rendering, as far as I remember.
grandiego · 2 months ago
Applets died because of many reasons, like absurd startup time for the JRE (often just for silly animations), absurd memory requirements (for the time) and associated crashes, weird compatibility issues in the initial releases of the Java platform, a silly security model based on the assumption that only good actors will be able to get a CA certificate in order to do whatever they want in your PC, an immature sandboxing technology in browsers (not only IE), etc.
notpushkin · 2 months ago
> M$ (appropriate name for that time)

It’s even more appropriate nowadays, I’d say.

lukas099 · 2 months ago
M$ used to be an appropriate name for Microsoft. It still is, but it used to be, too.
eptcyka · 2 months ago
Never not been appropriate.
account42 · 2 months ago
Microsoft hasn't really changed that much besides getting a better PR department.
sillystu04 · 2 months ago
They've adopted a different flavour of devilishness. See VSCode versus Visual Studio, or their approach to AI.

Bill Gates would've bought OpenAI. Satya shares their mission of developing AI for the good of humanity. He charitably donated billions of dollars in Azure credits in exchange for nothing besides a voice at the table and a license to help enable other organisations use AI through MS services.

In a way it's a PR difference, but I feel that understates the change.

aaronbaugher · 2 months ago
It also has a lot more competition in the Evil Big Tech Co space than it used to.
jimt1234 · 2 months ago
Then there was Amazon: https://github.com/aws/s2n-tls

I had high hopes for s2n, but looks like it never really caught on outside of AWS.

immibis · 2 months ago
Microsoft is still trying to hold back everything they can - they're just losing.
webprofusion · 2 months ago
People who make a strong distinction between TLS and SSL are indicating that they know the difference and think you should too, but at a practical level it's the difference between .doc and .docx (fundamentally different but interchangeable to the layman). The boots on the ground mostly care about getting https to work and have minimal consideration for it's inner workings.
entuno · 2 months ago
The main issue was explaining to the layman that TLSv1.0 was in fact newer and better than SSLv2 and SSLv3. I remember having quite a few discussions about this with people who assumed that the bigger number must be better..
ozim · 2 months ago
It is like ages since SSL was obsoleted but people still refer to the name meaning encrypted network traffic.

Would be much easier if everyone just talks about TLS to mean modern encrypted network traffic. Mention SSL if you really use it because you have legacy system running.

dylan604 · 2 months ago
People still say Twitter instead of X. Of course people are going to continue using the name used when something was first introduced and engrained into their day to day vs the rebrand. It would be funny if ssl.com just redirects to tls.com and get upset when people still refer to it as ssl. The only successful rebrand attempts have been company names like when Comcast became Xfinity or MCI becoming Worldcom type situations
commandlinefan · 2 months ago
TLS is also awkward to _say_, whereas SSL just sounds right.

Plus the most popular implementation of TLS remains the OpenSSL implementation.

bux93 · 2 months ago
I've taken to saying HTTPS, which is far more widely understood and usually accurate enough.
ahofmann · 2 months ago
Oh wow, I just discovered that my brain unconsciously had a hard time to differentiate between SSL and TLS. And now, after two friggin decades I find out, why!
oc1 · 2 months ago
Same. I feel so dumb now. After 15 years in this industry i finally figured out that ssl and tls are the same.
JdeBP · 2 months ago
Back closer to the time, there were some people around who insisted that SSL specifically meant the old versions and it was all TLS now. I recall a couple of occasions where people were talking about UCSPI-SSL and someone stepped in to explain that We Don't Do SSL Now. As the headlined article says, that contrived distinction seems silly with the hindsight of decades.

The nomenclature was complicated in people's minds by SMTP. Because there was SMTP over a largely transparent encrypted connection, and SMTP where it started unencrypted and negotiated a switch, as well as plain old cleartext. It didn't help that RFC 2487 explained that STARTTLS negotiated "TLS more commonly known as SSL". RFC 8314 explains some of the historical mess that SMTP got into with two types of SMTP (relay and submission) and three types of transport.

And the "S" for "submission" could be confused with the "S"s in both "SSL" and "TLS". It's not just TLAs that are ambiguous, indeed. There was confusion over "SMTPS" and "SSMTP", not helped at all by the people who named programs things like "sSMTP".

I'm still calling it SSL in 2025. (-: And so is Erwin Hoffmann.

* https://www.fehcom.de/ipnet/sslserver.html

* https://manpages.debian.org/unstable/ssmtp/ssmtp.8.en.html

0xbadcafebee · 2 months ago
No no, they're not. They're names of specific protocols with specific capabilities and versions. "SSL 1.0" and "TLS 1.0" are very different. (see https://aws.amazon.com/compare/the-difference-between-ssl-an...)

The important bits:

- "SSL" is a set of protocols so ridiculously old, busted and insecure that nobody should ever use them. It's like talking about Sanskrit; ancient and dead.

- "TLS" is way better than "SSL", but still there are insecure versions. Any version before 1.2 is no longer supported due to security holes.

- Technically an "ssl certificate" is neither "SSL" nor "TLS", it's really an "X.509 Certificate with Extended Key Usage: Server Authentication". But that doesn't roll off the tongue. You could use a cert from 1996 in a modern TLS server; the problem would be its expiration date, and the hash/signature functions used back then are deprecated. (some servers still support insecure methods to support older clients, which is bad)

commandlinefan · 2 months ago
In reality, you may never have actually used SSL, and if you're old enough to have, you haven't used it in decades (I hope).
brabel · 2 months ago
I learned about that around 2010, but before that was also clueless about it. What triggered me was that in Java you still use a SSLSocket to start encrypted connections even when using TLSv1.3 today!
pkulak · 2 months ago
“Transport Layer Security” really is a better name though. I also like to say “TLS”. Two Ses in a row makes you sound like a snake.
o11c · 2 months ago
The problem is that TLS was already in widespread use for "thread local storage".

Transport Layer Security is widely documented as beginning in 1999.

I can find references to "Thread Local Storage" going back to at least 1996. That particular term seems more common in the Microsoft (and maybe IBM, does anyone have an OS/2 programming manual?) world at the time; Pthreads (1995) and Unix in general tended to call it "thread-specific data".

It's possible that the highly influential 2001 Itanium ABI document (which directly led to Drepper's TLS paper) brought the term to (widespread) use in the broader Unix world, though Sun (for both Solaris and Java?) was using the term previously. But it's also possible that I'm just missing the reference material.

kstrauser · 2 months ago
I don’t doubt that, but I never heard Thread Local Storage until much later than that. While it might well’ve been common within its ecosystem, I don’t think it was widely known outside it.
JdeBP · 2 months ago
I might have an OS/2 programming manual. But I don't need it. (-: This was not an OS/2 thing. We had to make map data structures using thread IDs. Or our language runtimes did.

Look to Windows NT rather than to OS/2 for thread-local storage. TlsAlloc() et al. were in the Win32 API right from NT 3.1, I think.

dboreham · 2 months ago
tls meaning thread local storage goes back at least to 1992 when Win32 was released. pthreads and Java are obviously much later.
jeroenhd · 2 months ago
I think SSL is a better fit, actually. In theory TLS could be a transport-layer security mechanism that would let arbitrary protocols run on top of it (like IPSec does), but in practice it's pretty much tied up to TCP sockets. The UDP variant (DTLS, and I suppose QUIC) isn't part of the TLS spec for instance. Of course we have kernel TLS on Linux now, and Windows also has infrastructure like that, but it isn't as easy as setting a flag on a socket to turn TLS on.

Plus, who doesn't like to sound like a snake sometimes? Snakes are badass.

somat · 2 months ago
Speaking of ipsec, ipsec was supposed to be "the" encrypted interchange on the internet, basically used for random secure connections like we use tls today.

I like to imagine an alternate past where ipsec "won" and how that would affect our expectations of secure connections. One thing different is that the security would handled at the os level instead of the application level, on the one hand this is nice all application get a secure connection whether they want one or not, on the other hand the application has no idea it is using a secure transport and has no way of indicating this to the user.

Anyhow the opportunistic connection employment of ipsec never really got implemented and all we use it for anymore is as a dedicated tunnel. one that is fiendishly difficult to employ.

I think the primary problem with ipsec is that it tried to be too flexible. this made setting up a ipsec link a non-trivial exercise in communication, and the process never got streamlined enough to just be invisible and work.

LukeShu · 2 months ago
No? The "transport" layer is layer 4 in the 7-layer OSI model (physical/datalink/network/transport/session/presentation/application) and 5-layer IP model (physical/network/internetwork/transport/application). That is: the "transport" provides reliable continuous data-stream abstraction over the lower-layers' discreet and unreliable packets; e.g. TCP.

And that data-stream the interface that TLS provides; to the higher layers it looks like a transport layer.

Deleted Comment

layer8 · 2 months ago
“SSL” is easier to pronounce, because the tongue barely changes position between the three letters, compared to “TLS”.
nulbyte · 2 months ago
This is objective, but ai find TLS rolls more easily off the tongue.
frollogaston · 2 months ago
The best name is, whatever was first and stuck.
andrewfromx · 2 months ago
picture kaa from the jungle book discussing tcp security and arguing for the s-s-l name. In fact maybe adding a 3rd s.
jedberg · 2 months ago
Curious, when you tell someone they need to access a website securely (or any other case where you might use the term TLS or SSL), do you:

1. Say SSL or TLS?

2. How old are you (or did you start working before 1999?)

I'll reply with my answer too.

marginalia_nu · 2 months ago
1. SSL. For a long time I didn't even know TLS was the "same thing", but even now that I know it is, I still say SSL 9 times out of 10.

2. 38 - Started working in 2011, but my first forays into network programming was in something like 2004-2005.

Looked over onto my other screen and sure enough the function I'd literally minutes before added an if statement to went

        public Builder sslCertNotBefore(Instant sslCertNotBefore) {
            if (sslCertNotBefore.isAfter(MAX_UNIX_TIMESTAMP)) {
                sslCertNotBefore = MAX_UNIX_TIMESTAMP;
            }
            this.sslCertNotBefore = sslCertNotBefore;
            return this;
        }
I think possibly part of the problem is that we as programmers typically don't deal with TLS directly. The code above is part of a system I wrote that extracts detailed certificate information from HTTPS connections, and man was it ever a hassle to wrestle all the information I was interested in out of the java standard library.

Sure on the one hand it's easier to not mess up if it's all automatic and out of sight, but at the same time, it's not exactly beneficial to the spread of deeper awareness of how TLS actually works when it's always such a black box.

israrkhan · 2 months ago
I think most people call it SSL because they use OpenSSL library to deal with secure communication have SSL in their names. Openssl being the most dominant one). Other libraries are BoringSSL, LibreSSL, wolfSSL etc.

Libraries with TLS in their names are less frequently used

GnuTLS, mbedTLS, s2n-tls and RustTLS.

foresterre · 2 months ago
The Rust library is possibly funnily, possibly confusingly called RusTLS (1). It makes pronunciation a tad harder.

(1) https://crates.io/crates/rustls

slt2021 · 2 months ago
SSL is used in websites. TlS is used in other applications, as in mTLS
cesarb · 2 months ago
I usually say SSL, because it has a greater chance of being understood than the more correct TLS (nobody uses SSL 3.0 anymore). It's also in the name of many SSL (I mean, TLS) libraries, like the classic OpenSSL.

But yeah, I learned about SSL back in the crypto wars days of the 1990s, back when you had to pirate the so-called "US only" version of Netscape if you wanted decent SSL encryption, so I might be just using the old term out of habit.

_def · 2 months ago
That's wild, where would you get that "US" netscape version from?
brandonmenc · 2 months ago
I say "https" because sometimes even regular people know what that means.
frollogaston · 2 months ago
And it's a bit more precise to say HTTPS if you're talking about HTTPS.
mindcrime · 2 months ago
These days I tend to say "TLS" more and more, but until just a year or two ago it was almost always "SSL". And "SSL" still slips out occasionally.

I'm 51, started working in IT in the mid 90's.

invaliduser · 2 months ago
1. I say both somewhat 50/50. I say SSL instinctively, and TLS when I think about it and remember we don't say SSL anymore. It's been like that for around 10 years now, before that I'd only say SSL.

2. I started programming professionally in 1998 and I'm in my early 50s.

amiga386 · 2 months ago
I say HTTPS certificate.

If I need to specifically say SSL or TLS, it's SSL (as in OpenSSL, LibreSSL, BoringSSL, SSL certificates, Qualys SSL Labs, SSL Server Test). TLS is a made up name for SSL.

I do say e.g. "TLSv1.2" if I need to name the specific protocol, that's about it.

I was working before 1999.

anal_reactor · 2 months ago
I always say HTTPS because in the context of my area of speciality, the details of how HTTPS works don't matter and neither do secure communication protocols besides HTTPS.
gryfft · 2 months ago
Reflex is to say SSL but usually correct myself to TLS. Started in IT in 2006 (was a nerd a few years before that though)
romanhn · 2 months ago
Exactly this for me as well. Started a few years earlier.
jozvolskyef · 2 months ago
I second this, started around the same time.
mbreese · 2 months ago
1) SSL, even though I know the difference. More accurately, I know there is a difference, but SSL gets the point across.

2) before 1999. IIRC, the first SSL certificate I was involved with getting required the use of a fax machine.

notpushkin · 2 months ago
SSL, 27. I would call it `tls` in code, though (and maybe “SSL/TLS” in docs, for clarity).
tesseract · 2 months ago
(1) SSL

(2) 37. I've been an Internet user since ~1995 and been working in tech since 2004.

unethical_ban · 2 months ago
Nice try, targeted advertiser!

Mid 30s, SSL.

I work in cybersecurity and all the tools in the firewall/cert world still say "SSL decryption" and "SSL certificate". TLS is just a "major version" of SSL in my mind.

mogwire · 2 months ago
SSL - In my 40s, over 20 plus years.

When do I say TLS, when that one annoying guy joins the call that always corrects you. Everyone hates him, and he doesn’t care.

Bluecobra · 2 months ago
1. SSL

2. I’m old enough to remember 56-bit SSL encryption in browsers

baobun · 2 months ago
TLS: Rolls off the tounge easier. Feels nicer in mouth. Easier to slur smoothly. Flows better on keyboard.

It's the ergonomic choice (;

baobun · 2 months ago
Aside: I think this shared preference for efficiency/comfort/laziness is big part of why master -> main spread quickly while JavaScript -> ECMAScript never had a chance.

I guess it follows that Twitter/X might never be able to pull off a rebrand again.

cobbaut · 2 months ago
1. SSL

2. I'm 56 and was active in computer clubs in the late 80s, no network, no hard drive, thousands of floppy's.

curmudgeon22 · 2 months ago
SSL, started computer science in 2010
jedberg · 2 months ago
I was going to reply to you and tell you that you're too young to be a curmudgeon, but then I realized, no, I'm just old!
justusthane · 2 months ago
SSL. Working as a sysadmin since 2010. It just feels more right to me, and honestly, it hasn’t been until recently that I’ve noticed more of a concerted effort to rebrand it to TLS — not sure if that’s just my perception or not.
colmmacc · 2 months ago
Nobody ever says "TLS Certificate". It's only an "SSL Certificate". On that alone, it's just easier to stick to "SSL" for consistency and everyone knows what you mean.
mr_mitm · 2 months ago
They should be saying X.509 certificate though. I think I say "server certificate" most of the time.
sanswork · 2 months ago
SSL 42-started studying security in mid 90s as a teen started working 2000
theK · 2 months ago
Ah yes, it was a grand time, freeform studying IT security as a teen in the 90s!
itake · 2 months ago
TLS. 1989.

Even today, people and marketing pages promote "SSL" term. Unless you specifically google, "What is the deference between SSL and TLS?" most people would have no idea what TLS is.

firesteelrain · 2 months ago
I tell my developers to be compliant that they need to use TLS/SSL
ThunderSizzle · 2 months ago
1. SSL (probably https in that specific scenario)

2. Graduated and started in 2015.

garbagepatch · 2 months ago
To users: https

To devs: SSL

Did not start working before 1999. Started using Linux in 2003.

Octoth0rpe · 2 months ago
1. SSL 2. Started working in 2000, right on the boundary
zamadatix · 2 months ago
1. Cloudflare could probably use my choice of the day as another source for their randomness.

2. Started my first IT job on a computer networking team in 2012.

tptacek · 2 months ago
I say TLS, and started working in the field in 1994.
-t0mm · 2 months ago
1. TLS 2. 22. Started in 2024, but the SSL terminology is still widely used in the systems that I currently work with :p
bravesoul2 · 2 months ago
TLS probably. 2004

I think the TLS v1.2 pushed me that way

Rendello · 2 months ago
SSL, started programming in maybe 2012. Possibly because of HTTPS or similarity with SSH.
kasey_junk · 2 months ago
Almost always ssl. Started professionally in 1999. But! mTLS is always mTLS
jedberg · 2 months ago
1. SSL

2. Started working before 1999

aniviacat · 2 months ago
1. TLS

2. Started working after 1999

icedchai · 2 months ago
SSL. Started working in the mid 90's.
__s · 2 months ago
TLS (outside dealing with PG options named like sslmode)

No

frollogaston · 2 months ago
SSL, born 1997
christophilus · 2 months ago
SSL. Started working around 2000.
epc · 2 months ago
1. SSL 2. 57
MBCook · 2 months ago
SSL, 40s

Deleted Comment

disruptiveink · 2 months ago
Wait, but didn't TLS 1.0 have significant improvements over SSL 3.0? The article makes it seems that just a couple of things were tweaked just to make it different for the sake of being different.
mcpherrinm · 2 months ago
The main difference is in the padding. When the POODLE attack was pre-announced as only affecting SSL3 and not TLS1.0, that was enough to predict it was going to be a padding oracle.

I think it’s fair to say they’re very similar, with a few “bug fixes”. It’s been a while since I’ve thought about either though, and might be forgetting a few things. I’ve only ever implemented SSL3 and TLS1.0 together, so there may be some details I’m forgetting.

nextgens · 2 months ago
TLS1.0 introduced modularity via the concept of "extensions". It's everything but a minor evolution of the protocol.
timdierks · 2 months ago
The tweaks were minor (smaller than for any other version revision), and mostly just the IETF marking its territory and doing something other than blessing the SSL 3.0 protocol as-is.
layer8 · 2 months ago
Indeed there are significant changes and improvements, though it’s not a complete redesign like SSL 3.0 was.
albert_e · 2 months ago
Related

Randomness and the Netscape Browser January 1996 Dr. Dobb's Journal

https://people.eecs.berkeley.edu/~daw/papers/ddj-netscape.ht...

This was written in 1996. The language used feels already much different from today's publications. God I feel old.

quietbritishjim · 2 months ago
> This was written in 1996. The language used feels already much different from today's publications. God I feel old.

That depends on which publications you're looking at, just as it did in 1996. An article from LWN [1] today, for example, reads in a fairly similar style. Maybe slightly less stuffy, because it's targeted at a slightly more general audience.

[1] https://lwn.net/

cubes · 2 months ago
The authors of that article got pictured on the cover of the New York Times for finding that security issue: https://www.nytimes.com/2012/02/15/technology/researchers-fi...
albert_e · 2 months ago
Interesting link - thanks.

Was it the same issue though --

the Netscape SSL issue is from year 1996.

The linked NYT article is about vulnerability with public key encryption dated 2012 by different authors.