Damus
waxwing profile picture
waxwing
@waxwing
I'm always a bit torn about stuff like this. On the one hand, CRT is cool and it's even cooler that people have made successful attacks on real world systems using these so-called 'twist attacks' (basically the fuck up is to not check is the "point" you're provided, is actually on the curve).

https://github.com/christianlundkvist/blog/blob/master/2020_05_26_secp256k1_twist_attacks/secp256k1_twist_attacks.md

But, on the other hand, calling it a danger when using secp256k1 for encryption seems a bit wrong when the danger is specifically that you *didn't* use secp256k1!

Indeed the substance of this attack is to exploit the fact that if a curve group has small subgroups, you can apply CRT to get info about secret keys. But secp256k1 doesn't have *any* subgroups. So the attack depends on the victim not checking if an externally given public key, is actually on secp256k1. Combining that key in a DH type exchange leads to naughtiness.
93❤️7🤙4❤️3👍1🤔1
niftynei() 🇺🇸💸🧡 · 111w
ooh. can i fact check myself really fast? im working on my very short intro to elliptic curves for base58, and tell people in the video that the h=1 in the secp paper means exactly this: that there are no “subgroups” for the G group (i think i call them cycles). is that a correct explanation?
waxwing · 111w
(continuing on this topic, at possibly absurd length): The most interesting thing about this write up is that it's principally advocating for using curve25519 (see the 3rd recommendation at the end of the post) for ECDH and thus encryption, based on the idea that it's been designed to handle tricky...