Is it possible to derive a shared secret between different curves?
An explanation would be nice.How can I decide which curve I should use in my software?
Highest amount of bits has in my case thebrainpoolP320r1
curve, but on this site https://safecurves.cr.yp.to/ the brainpool curves are rated as not safe. The German Federal Office for Information Security recommend amongst others thebrainpoolP320r1
.
These curves can I use with my HSM (hardware security module):
- secp192r1 (aka prime192v1)
- secp256r1 (aka prime256v1)
- brainpoolP192r1
- brainpoolP224r1
- brainpoolP256r1
- brainpoolP320r1
- secp192k1
- secp256k1 (the Bitcoin curve)
Additional Question:
If I want to perform signing and generating a shared secret, should I always use different instances of a curve? Because if not, I would perform different actions one the sone instance. Which is bad?