cloudflare / circl

CIRCL: Cloudflare Interoperable Reusable Cryptographic Library
http://blog.cloudflare.com/introducing-circl
Other
1.22k stars 136 forks source link

enhancement request: Implement McCallum-Relyea exchange #455

Open udf2457 opened 10 months ago

udf2457 commented 10 months ago

It would be great if you could implement high-level functions to support McCallum-Relyea exchange (as used in Clevis/Tang).

I started trying to mock-up something myself using Go's stdlib, but unfortunately it looks like the go maintainers are deprecating stdlib ability to e.g. perform elliptic curve group addition which is one of the fundamental steps, so there's scope for a third-party lib such as circl to fill the gap.

(Lots of internet descriptions of McCallum-Relyea, here's one of many).

armfazh commented 10 months ago

At first sight, it seems that the protocol can be implemented using CIRCL's group interface, which provides most of the operations needed to work with elliptic curves.