Filippo Valsorda :go: on Nostr: It turns out that, uh, the keys used in crypto/rsa benchmarks had E = 3 (instead of ...
It turns out that, uh, the keys used in crypto/rsa benchmarks had E = 3 (instead of the common and default 65537), so I've been underestimating the verification slowdown for all of Go 1.20 and Go 1.21. Shit. Sorry.
https://go.dev/cl/552895I noticed this only because I got a production profile for an application that does a lot of RSA verifications, saw ExpShort show up, made ExpShort faster, and the crypto/rsa profiles didn't move. 🤔
(The current ExpShort algorithm is O(n) in the size of E.)
Published at
2023-12-27 10:18:07Event JSON
{
"id": "3a26c61ec01dae242619590dbda505ff35054e07e1d267775c158b52b9bbdf51",
"pubkey": "75c4441558d260c0ca589ce8fa89fd5052eccf0b09fca823796810a986ad1c8e",
"created_at": 1703672287,
"kind": 1,
"tags": [
[
"proxy",
"https://abyssdomain.expert/users/filippo/statuses/111651867024095543",
"activitypub"
]
],
"content": "It turns out that, uh, the keys used in crypto/rsa benchmarks had E = 3 (instead of the common and default 65537), so I've been underestimating the verification slowdown for all of Go 1.20 and Go 1.21. Shit. Sorry.\n\nhttps://go.dev/cl/552895\n\nI noticed this only because I got a production profile for an application that does a lot of RSA verifications, saw ExpShort show up, made ExpShort faster, and the crypto/rsa profiles didn't move. 🤔\n\n(The current ExpShort algorithm is O(n) in the size of E.)",
"sig": "4f25f65466c2741e7d7030de356fc6983f55adaa499102711540624d7d59e5ff4a6896575f0374fa23a3053618041847acbdda2573267b33e89c79f5394ecb32"
}