HN user

FiloSottile

10,854 karma

https://filippo.io

[ my public key: https://keybase.io/filippo; my proof: https://keybase.io/filippo/sigs/c51KtcfccPH0D3jG9PtQBZZh6AqhvB5MHIz2YmkupAc ]

Posts186
Comments630
View on HN
www.whitehouse.gov 1mo ago

Securing the Nation Against Advanced Cryptographic Attacks

FiloSottile
17pts5
github.com 9mo ago

Show HN: Run a GitHub Actions step in a gVisor sandbox

FiloSottile
85pts3
words.filippo.io 9mo ago

Root causes of 2024/2025 open source supply chain compromises

FiloSottile
4pts0
go.dev 1y ago

The FIPS 140-3 Go Cryptographic Module

FiloSottile
196pts71
github.com 1y ago

t-a-i: Converts Unix Milliseconds to and from International Atomic Time (TAI)

FiloSottile
3pts0
www.imperialviolet.org 1y ago

A Tour of WebAuthn by Adam Langley

FiloSottile
1pts0
words.filippo.io 1y ago

Show HN: An Immutable Alpine Linux NAS with No Rootfs

FiloSottile
16pts0
words.filippo.io 2y ago

age Plugins

FiloSottile
2pts0
words.filippo.io 2y ago

The XAES-256-GCM extended-nonce AEAD

FiloSottile
192pts56
www.latacora.com 2y ago

Real World Crypto 2024

FiloSottile
1pts0
matduggan.com 2y ago

Why can't my mom email me?

FiloSottile
279pts295
words.filippo.io 2y ago

How to encrypt with low entropy secrets

FiloSottile
4pts3
words.filippo.io 2y ago

PINs for Cryptography with Hardware Secure Elements

FiloSottile
2pts0
words.filippo.io 2y ago

PINs for Cryptography with hardware secure elements

FiloSottile
1pts0
words.filippo.io 2y ago

Show HN: filippo.io/mlkem768 – Post-Quantum Cryptography for the Go Ecosystem

FiloSottile
315pts97
groups.google.com 2y ago

Christopher J Peikert, Re: Kyber security level?

FiloSottile
13pts2
github.com 2y ago

How to Open a Safe

FiloSottile
4pts0
linderud.dev 2y ago

Store SSH keys inside the TPM: ssh-tpm-agent

FiloSottile
3pts0
exceptionfactory.com 2y ago

Jagged for Age Encryption in Java

FiloSottile
1pts0
www.gandi.net 3y ago

Gandi prices list starting July 13th 2023 [pdf]

FiloSottile
4pts1
www.openssl.org 3y ago

OpenSSL Security Advisory [7th February 2023]

FiloSottile
134pts47
words.filippo.io 3y ago

Bringing Authentication to age

FiloSottile
2pts0
blog.yossarian.net 3y ago

age encryption in Python with pyrage

FiloSottile
2pts1
github.com 4y ago

age v1.1.0-rc.1: plugin and YubiKeys support

FiloSottile
113pts33
words.filippo.io 4y ago

How to Pay Professional Maintainers

FiloSottile
128pts71
words.filippo.io 4y ago

How to pay professional maintainers

FiloSottile
8pts1
words.filippo.io 4y ago

How to Pay Professional Maintainers

FiloSottile
28pts3
blog.benjojo.co.uk 4y ago

Going multipath without Multipath TCP

FiloSottile
114pts14
blog.filippo.io 4y ago

Professional maintainers: a wake-up call

FiloSottile
547pts447
www.humblebundle.com 4y ago

Humble Book Bundle: Hacking by No Starch Press

FiloSottile
6pts0

Oooof, thank you for catching this. This is what I get for writing spec and API before the implementation (which, to be fair, is usually the right order not to lose sight of the broader picture).

Sorry for the confusion, it's indeed the §6.1 binary format. I corrected the spec and post not to claim it's CBOR.

I understand people are getting slammed and it sucks, but the main result of rejecting them is going to be an increase in full disclosure.

Right, what I'm saying is that letting those bugs go to full disclosure (aka being filed as public issues, like every other bug) would have been a significant damage to user safety a year ago, and it's not anymore.

Thanks for the comment, I was actually hoping to get your take on this! I linked to it from the article.

Still on Hacker News, Juho Forsén, one of the most prolific reporters of Go security issues, wrote a long interesting comment that makes the argument that instead we should lean harder into trust relationships with individual researchers. It'd certainly be worth it with Juho, in retrospect, but it's unclear if it would pay off often enough, in the same way that training new contributors who might leave the project in a month or two is not always worth it.

I just use the VS Code git integration with the jj colocated git repo. HEAD is @- and the changes in @ are considered working copy changes. It works for all I was using the VS Code integration for.

This will probably not help enough for asymmetric keys, and is unnecessary for symmetric keys. https://arxiv.org/abs/2603.28846 claims an attack runtime of a few minutes.

There are enough order-of-magnitude breakthroughs between today and scalable quantum error correction, that it makes no sense to try to to guess exactly the order of magnitude of the attacks that will be feasible.

Either you believe they won't happen, in which case you can keep using long-term ECDSA keys, or you believe they will happen, in which case they are likely to overshoot your rotation period.

The calculated DW cost of the quantum attack is 2^104 (with conservative/optimistic assumptions and ignoring the physical cost of a single logical gate), which is "much more realistic than a brute force attack" in the same sense that a 128-bit brute force attack is much more realistic than a 256-bit brute force attack.

None of those are remotely practical, even imagining quantum computers that become as fast (and small! and long-term coherent!) as classical computers.

Thus succeeding at making the telecommunications vendors used for Top Secret US national security data less secure, the obvious goal of the US National Security Agency, and the only reason they wouldn't use the better cryptography designed by Dr. Bernstein. /s

Truly, truly can't understand why anyone finds this line of reasoning plausible. (Before anyone yells Dual_EC_DRBG, that was a NOBUS backdoor, which is an argument against the NSA promoting mathematically broken cryptography, if anything.)

Timing side channels don't matter to ephemeral ML-KEM key exchanges, by the way. It's really hard to implement ML-KEM wrong. It's way easier to implement ECDH wrong, and remember that in this hypothetical you need to compare to P-256, not X25519, because US regulation compliance is the premise.

(I also think these days P-256 is fine, but that is a different argument.)

If you are doing authentication with those hardware keys, you will probably be fine, if we do our job fast enough. Apple's Secure Enclave already supports some PQ signatures (although annoyingly not ML-DSA-44 apparently?) and I trust Yubico is working on it.

If you are doing encryption, then you do have reason to worry, and there aren't great options right now. For example if you are using age you should switch to hybrid software ML-KEM-768 + hardware P-256 keys as soon as they are available (https://github.com/str4d/age-plugin-yubikey/pull/215). This might be a scenario in which hybrids provide some protection, so that an attacker will need to compromise both your OS and have a CRQC. In the meantime, depending on your threat model and the longevity of your secrets (and how easily they can rotated in 1-2 years), it might make sense to switch to software PQ keys.

The industry standard and general recommendation for quantum resistant symmetric encryption is using 256 bit keys

It simply is not. NIST and BSI specifically recommend all of AES-128, AES-196, and AES-256 in their post-quantum guidance. All of my industry peers I have discussed this with agree that AES-128 is fine for post-quantum security. It's a LinkedIn meme at best, and a harmful one at that.

My opinion changed on the timeline of CRQC. There is no timeline in which CRQC are theorized to become a threat to symmetric encryption.

DES is the algorithms that was secretly modified by the NSA to protect it against differential cryptanalysis. Capping a key size is hardly a "backdoor."

Also, that was the time of export ciphers and Suite A vs Suite B, which were very explicit about there being different algorithms for US NatSec vs. everything else. This time there's only CNSA 2.0, which is pure ML-KEM and ML-DSA.

So no, there is no history of the NSA pushing non-NOBUS backdoors into NatSec algorithms.

We are stretching the metaphor thin, but surely the progress towards an atomic bomb was not measured only in uranium production, in the same way that the progress towards a QC is not measured only in construction time of the machine.

At the theory level, there were only theories, then a few breakthroughs, then some linear production time, then a big boom.

Something doesn't add up here.

Please consider it might be your (and my) lack of expertise in the specific sub-field. (I do realize I am saying this on Hacker News.)

See https://bas.westerbaan.name/notes/2026/04/02/factoring.html and https://scottaaronson.blog/?p=9665#comment-2029013 which are linked to in the first section of the article.

Sure, papers about an abacus and a dog are funny and can make you look smart and contrarian on forums. But that’s not the job, and those arguments betray a lack of expertise. As Scott Aaronson said:

Once you understand quantum fault-tolerance, asking “so when are you going to factor 35 with Shor’s algorithm?” becomes sort of like asking the Manhattan Project physicists in 1943, “so when are you going to produce at least a small nuclear explosion?”

To summarize, the hard part of scalable quantum computation is error correction. Without it, you can't factorize essentially anything. Once you get any practical error correction, the distance between 32-bit RSA and 2048-bit RSA is small. Similarly to how the hard part is to cause a self-sustaining fissile chain reaction, and once you do making the bomb bigger is not the hard part.

This is what the experts know, and why they tell us of the timelines they do. We'd do better not to dismiss them by being smug about our layperson's understanding of their progress curve.

Remember that the entities most likely to heed those governments recommendations are those providing services to said government and its military.

I feel like the NSA pushing a (definitely misguided and obviously later exploited by adversaries) NOBUS backdoor has poorly percolated into the collective consciousness, missing the NOBUS part entirely.

See https://keymaterial.net/2025/11/27/ml-kem-mythbusting/ for whether the current standards can hide NOBUS backdoors. It talks about ML-KEM, but all recent standards I read look like this.

Indeed, in an open system like the WebPKI it's fine in theory to only make the central authority PQ, but then you have the ecosystem adoption issue. In a closed system, you don't have the adoption issue, but the benefit to making only the central authority PQ is likely to be a lot smaller, because it might actually be the only authority. In both cases, you need to start moving now and gain little from trying to time the switchover.

This article is more aimed at those specifying and implementing WebAuthN and SSH, than at those using them.

They/we need to migrate those protocols to PQ now, so that you all can start migrating to PQ keys in time, including the long tail of users that will not rotate their keys and hardware the moment the new algorithms are supported.

For example, it might be too late to get anything into Debian for it to be in oldstable when the CRQCs come!