Go Cryptography State of the Union

words.filippo.io

115 points by ingve 7 hours ago


pregnenolone - 5 hours ago

I agree with the author’s sentiment about FIPS 140. I find NIST to be incredibly slow. I understand there must be some stability, but they are too slow. For example, I think it's horrible that they are still recommending PBKDF2 in 2025.

alphazard - 6 hours ago

I don't know why the standard library crypto packages insist on passing around `[]byte` for things like a seed value, or why we can't just pass in a seed value to a single unambiguous constructor when generating asymmetric keys. Or how the constructor for a key pair could possibly return an error, when the algorithm is supposed to be deterministic.

It all just seems a bit sloppy. Asking for a seed value like `[32]byte` could at least communicate to me that the level of security is at most 256 bits. And removing all dependencies on rand would make it obvious where the entropy must be coming from (the seed parameter). Cloudflare's CIRCL[0] library does a bit better, but shares some of the same problems.

[0] https://github.com/cloudflare/circl

OhMeadhbh - 6 hours ago

I'm more of a C person than a Go person, but I am unbelievably happy that someone in that community is using the word "cryptography" to mean cryptography and not Bitcoin.

edoceo - 6 hours ago

I'm curious about how GC languages handle crypto. Is it a risk that decrypted stuff or keys and things may be left in memory (heap?) before the next GC cycle?

leoqa - 3 hours ago

What’s up with all these bots posting 3-4 sentence summaries in the comment section?

Aman_Kalwar - 5 hours ago

This is a super helpful overview. Love how Go’s crypto ecosystem keeps getting more opinionated and safer.

Shelby-Thomas - 4 hours ago

[flagged]

Shelby-Thomas - 4 hours ago

[flagged]

Steve-Tony - 3 hours ago

[flagged]

Brian-Watkins - 3 hours ago

[flagged]