# Filippo Valsorda

Published articles for Filippo Valsorda.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Production ML-DSA Verification in 350 Lines of Python

DevFeed: [Production ML-DSA Verification in 350 Lines of Python](<https://devfeed.tech/articles/production-ml-dsa-verification-in-350-lines-of-python-20698.md>)

Original publisher: [Read original article](<https://words.filippo.io/mldsa-py/>)

Author: Filippo Valsorda

Published: 2026-07-26T11:45:08Z

Content type: article

Language: en

Sources: [Filippo Valsorda](<https://devfeed.tech/sources/filippo-valsorda.md>)

Topics: [Post-Quantum](<https://devfeed.tech/topics/post-quantum.md>), [Python](<https://devfeed.tech/topics/python.md>), [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [mutation-testing](<https://devfeed.tech/topics/mutation-testing.md>)

Tags: [cryptography](<https://devfeed.tech/tags/cryptography.md>), [mutation-testing](<https://devfeed.tech/tags/mutation-testing.md>), [post-quantum](<https://devfeed.tech/tags/post-quantum.md>), [python](<https://devfeed.tech/tags/python.md>), [testing](<https://devfeed.tech/tags/testing.md>), [verification](<https://devfeed.tech/tags/verification.md>)

### AI overview

The article presents a production pure-Python ML-DSA signature verifier that supports all parameter sets, Python 3.8 and later, and an API modeled after pyca/cryptography. It describes the implementation's performance, portability rationale, and testing with Wycheproof vectors, accumulated vectors, pytest, mutation testing, and branch coverage.

### Source excerpt

I am publishing a production, pure-Python ML-DSA verifier. It's just 350 lines, and pretty readable and robust.

## Opaque, Interoperable Passkey Records (and a Go API)

DevFeed: [Opaque, Interoperable Passkey Records (and a Go API)](<https://devfeed.tech/articles/opaque-interoperable-passkey-records-and-a-go-api-20699.md>)

Original publisher: [Read original article](<https://words.filippo.io/passkey-record/>)

Author: Filippo Valsorda

Published: 2026-07-20T22:33:32Z

Content type: article

Language: en

Sources: [Filippo Valsorda](<https://devfeed.tech/sources/filippo-valsorda.md>)

Topics: [WebAuthn](<https://devfeed.tech/topics/webauthn.md>), [Passkeys](<https://devfeed.tech/topics/passkeys.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Security](<https://devfeed.tech/topics/security.md>), [API](<https://devfeed.tech/topics/api.md>), [passwords](<https://devfeed.tech/topics/passwords.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [go](<https://devfeed.tech/tags/go.md>), [password](<https://devfeed.tech/tags/password.md>), [security](<https://devfeed.tech/tags/security.md>), [web](<https://devfeed.tech/tags/web.md>), [web-developers](<https://devfeed.tech/tags/web-developers.md>)

### AI overview

The article proposes interoperable passkey record encodings for WebAuthn credentials, allowing applications to store records as opaque strings similar to password hashes. It also presents a potential Go API for handling these records.

### Source excerpt

Passkey records are an interoperable format for WebAuthn credentials, similar to password hash strings. I propose a potential crypto/passkey Go API based on them.

## Vulnerability Reports Are Not Special Anymore

DevFeed: [Vulnerability Reports Are Not Special Anymore](<https://devfeed.tech/articles/vulnerability-reports-are-not-special-anymore-20700.md>)

Original publisher: [Read original article](<https://words.filippo.io/vuln-reports/>)

Author: Filippo Valsorda

Published: 2026-06-23T13:00:00Z

Content type: opinion

Language: en

Sources: [Filippo Valsorda](<https://devfeed.tech/sources/filippo-valsorda.md>)

Topics: [vulnerability](<https://devfeed.tech/topics/vulnerability.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Maintainers](<https://devfeed.tech/topics/maintainers.md>), [Security](<https://devfeed.tech/topics/security.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [llm](<https://devfeed.tech/tags/llm.md>), [maintainers](<https://devfeed.tech/tags/maintainers.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [reports](<https://devfeed.tech/tags/reports.md>), [security](<https://devfeed.tech/tags/security.md>), [vulnerability](<https://devfeed.tech/tags/vulnerability.md>)

### AI overview

This commentary argues that vulnerability reports may no longer warrant special treatment because LLMs make security insight widely available. It says the main bottleneck has shifted from discovering potential issues to determining which reports are real, while confidentiality and coordination may be less important than before.

### Source excerpt

We needed the insight and confidentiality to protect our users, but now that anyone can get the same results from LLM?

## Quantum Computers Are Not a Threat to 128-bit Symmetric Keys

DevFeed: [Quantum Computers Are Not a Threat to 128-bit Symmetric Keys](<https://devfeed.tech/articles/quantum-computers-are-not-a-threat-to-128-bit-symmetric-keys-20691.md>)

Original publisher: [Read original article](<https://words.filippo.io/128-bits/>)

Author: Filippo Valsorda

Published: 2026-04-20T15:21:12Z

Content type: article

Language: en

Sources: [Filippo Valsorda](<https://devfeed.tech/sources/filippo-valsorda.md>)

Topics: [Post-Quantum](<https://devfeed.tech/topics/post-quantum.md>), [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Algorithms, Complexity](<https://devfeed.tech/topics/algorithms-complexity.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [algorithms](<https://devfeed.tech/tags/algorithms.md>), [cryptography](<https://devfeed.tech/tags/cryptography.md>), [post-quantum](<https://devfeed.tech/tags/post-quantum.md>), [quantum](<https://devfeed.tech/tags/quantum.md>), [quantum-algorithms](<https://devfeed.tech/tags/quantum-algorithms.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

The article argues that quantum computers do not require larger symmetric key sizes during the post-quantum transition. It explains why Grover's algorithm does not reduce the practical security of AES-128 and SHA-256 enough to justify replacing 128-bit symmetric keys, while asymmetric cryptography remains affected by Shor's algorithm.

### Source excerpt

There is no need to update symmetric key sizes as part of the post-quantum transition, due to the details of how Grover's algorithm scales. Most authorities agree.

## A Cryptography Engineer's Perspective on Quantum Computing Timelines

DevFeed: [A Cryptography Engineer's Perspective on Quantum Computing Timelines](<https://devfeed.tech/articles/a-cryptography-engineer-s-perspective-on-quantum-computing-timelines-20693.md>)

Original publisher: [Read original article](<https://words.filippo.io/crqc-timeline/>)

Author: Filippo Valsorda

Published: 2026-04-06T15:00:00Z

Content type: opinion

Language: en

Sources: [Filippo Valsorda](<https://devfeed.tech/sources/filippo-valsorda.md>)

Topics: [Quantum Computing](<https://devfeed.tech/topics/quantum-computing.md>), [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Post-Quantum](<https://devfeed.tech/topics/post-quantum.md>), [Security, Privacy and Abuse Prevention](<https://devfeed.tech/topics/security-privacy-and-abuse-prevention.md>)

Tags: [attacks](<https://devfeed.tech/tags/attacks.md>), [cryptography](<https://devfeed.tech/tags/cryptography.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [post-quantum](<https://devfeed.tech/tags/post-quantum.md>), [quantum](<https://devfeed.tech/tags/quantum.md>), [quantum-computing](<https://devfeed.tech/tags/quantum-computing.md>), [research](<https://devfeed.tech/tags/research.md>)

### AI overview

A cryptography engineer explains why recent research on quantum algorithms, hardware, qubits, and error correction has changed his assessment of the urgency of migrating to quantum-resistant cryptography. He argues that cryptographically relevant quantum computers may arrive within the next few years and could threaten elliptic-curve cryptography and WebPKI.

### Source excerpt

The risk that cryptographically-relevant quantum computers materialize within the next few years is now high enough to be dispositive, unfortunately.

## Turn Dependabot Off

DevFeed: [Turn Dependabot Off](<https://devfeed.tech/articles/turn-dependabot-off-20694.md>)

Original publisher: [Read original article](<https://words.filippo.io/dependabot/>)

Author: Filippo Valsorda

Published: 2026-02-20T19:48:08Z

Content type: opinion

Language: en

Sources: [Filippo Valsorda](<https://devfeed.tech/sources/filippo-valsorda.md>)

Topics: [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [ci](<https://devfeed.tech/topics/ci.md>)

Tags: [ci](<https://devfeed.tech/tags/ci.md>), [dependabot](<https://devfeed.tech/tags/dependabot.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [go](<https://devfeed.tech/tags/go.md>), [security](<https://devfeed.tech/tags/security.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>), [vulnerability-scanner](<https://devfeed.tech/tags/vulnerability-scanner.md>)

### AI overview

The article argues that Dependabot creates excessive and often irrelevant security-alert noise in the Go ecosystem. It recommends replacing Dependabot with scheduled GitHub Actions that run govulncheck and tests against the latest dependency versions, and using vulnerability scanners that filter by package and vulnerable-symbol reachability.

### Source excerpt

I recommend turning Dependabot off and replacing it with a pair of scheduled GitHub Actions, one running govulncheck, and the other running CI against the latest version of your dependencies.

## Inspecting the Source of Go Modules

DevFeed: [Inspecting the Source of Go Modules](<https://devfeed.tech/articles/inspecting-the-source-of-go-modules-20695.md>)

Original publisher: [Read original article](<https://words.filippo.io/go-source/>)

Author: Filippo Valsorda

Published: 2026-02-12T13:48:03Z

Content type: article

Language: en

Sources: [Filippo Valsorda](<https://devfeed.tech/sources/filippo-valsorda.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [modules](<https://devfeed.tech/topics/modules.md>), [integrity](<https://devfeed.tech/topics/integrity.md>), [Security](<https://devfeed.tech/topics/security.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [cryptographic](<https://devfeed.tech/tags/cryptographic.md>), [github](<https://devfeed.tech/tags/github.md>), [go](<https://devfeed.tech/tags/go.md>), [integrity](<https://devfeed.tech/tags/integrity.md>), [modules](<https://devfeed.tech/tags/modules.md>), [security](<https://devfeed.tech/tags/security.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [transparency-log](<https://devfeed.tech/tags/transparency-log.md>), [verification](<https://devfeed.tech/tags/verification.md>), [verify](<https://devfeed.tech/tags/verify.md>)

### AI overview

The article explains how the Go Checksum Database verifies module source and helps protect against altered tags and targeted versions. It argues that viewing code directly on GitHub can bypass this verification, using a malicious BoltDB module incident as an example, and recommends fetching source with Go tooling for review.

### Source excerpt

Code hosts like GitHub don't necessarily show the correct source of Go modules. pkg.geomys.dev is a new convenient viewer for module source.

## go.sum Is Not a Lockfile

DevFeed: [go.sum Is Not a Lockfile](<https://devfeed.tech/articles/go-sum-is-not-a-lockfile-20696.md>)

Original publisher: [Read original article](<https://words.filippo.io/gosum/>)

Author: Filippo Valsorda

Published: 2026-01-05T20:06:30Z

Content type: article

Language: en

Sources: [Filippo Valsorda](<https://devfeed.tech/sources/filippo-valsorda.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Security](<https://devfeed.tech/topics/security.md>), [supply chain attacks](<https://devfeed.tech/topics/supply-chain-attacks.md>)

Tags: [dependencies](<https://devfeed.tech/tags/dependencies.md>), [go](<https://devfeed.tech/tags/go.md>), [golang](<https://devfeed.tech/tags/golang.md>), [modules](<https://devfeed.tech/tags/modules.md>), [security](<https://devfeed.tech/tags/security.md>), [supply-chain-attacks](<https://devfeed.tech/tags/supply-chain-attacks.md>)

### AI overview

The article explains that Go's go.sum is a local cache of cryptographic hashes for the Go Checksum Database, not a lockfile and not part of version resolution. It contrasts go.sum with go.mod, which lists the precise dependency versions used to build the main module and its tests.

### Source excerpt

In Go, go.mod acts as both manifest and lockfile. There is never a reason to look at go.sum.

## Building a Transparent Keyserver

DevFeed: [Building a Transparent Keyserver](<https://devfeed.tech/articles/building-a-transparent-keyserver-20697.md>)

Original publisher: [Read original article](<https://words.filippo.io/keyserver-tlog/>)

Author: Filippo Valsorda

Published: 2025-12-19T14:03:18Z

Content type: tutorial

Language: en

Sources: [Filippo Valsorda](<https://devfeed.tech/sources/filippo-valsorda.md>)

Topics: [systems](<https://devfeed.tech/topics/systems.md>), [rate-limiting](<https://devfeed.tech/topics/rate-limiting.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Server](<https://devfeed.tech/topics/server.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [building](<https://devfeed.tech/tags/building.md>), [cli](<https://devfeed.tech/tags/cli.md>), [go](<https://devfeed.tech/tags/go.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [rate-limiting](<https://devfeed.tech/tags/rate-limiting.md>), [server](<https://devfeed.tech/tags/server.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [transparency-log](<https://devfeed.tech/tags/transparency-log.md>)

### AI overview

This tutorial builds a centralized keyserver for looking up age public keys. It applies transparency-log technology to help keep the operator accountable and prevent surreptitious injection of malicious keys while protecting user privacy. The implementation uses a Go server, SQLite database, APIs, email authentication, a CAPTCHA, and a Go CLI.

### Source excerpt

We apply a transparency log to a centralized keyserver step-by-step, in less than 500 lines, with privacy protections, anti-poisoning, and witness cosigning.

## The 2025 Go Cryptography State of the Union

DevFeed: [The 2025 Go Cryptography State of the Union](<https://devfeed.tech/articles/the-2025-go-cryptography-state-of-the-union-20692.md>)

Original publisher: [Read original article](<https://words.filippo.io/2025-state/>)

Author: Filippo Valsorda

Published: 2025-11-20T15:42:24Z

Content type: article

Language: en

Sources: [Filippo Valsorda](<https://devfeed.tech/sources/filippo-valsorda.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Security](<https://devfeed.tech/topics/security.md>), [Post-Quantum](<https://devfeed.tech/topics/post-quantum.md>), [TLS (Transport Layer Security)](<https://devfeed.tech/topics/tls.md>), [OpenSSH](<https://devfeed.tech/topics/openssh.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [cryptography](<https://devfeed.tech/tags/cryptography.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [go](<https://devfeed.tech/tags/go.md>), [post-quantum](<https://devfeed.tech/tags/post-quantum.md>), [security](<https://devfeed.tech/tags/security.md>), [ssh](<https://devfeed.tech/tags/ssh.md>), [tls](<https://devfeed.tech/tags/tls.md>)

### AI overview

A transcript of the 2025 Go Cryptography State of the Union, covering developments in Go cryptography over the previous year. It highlights post-quantum key exchanges, FIPS 140 work, and the security track record of Go cryptography packages, including vulnerability trends.

### Source excerpt

I delivered my traditional Go Cryptography State of the Union talk at GopherCon US 2025 in New York. It goes into everything that happened at the intersection of Go and cryptography over the last year.