1
$\begingroup$

Per What is the difference between regular and "twisted" ECC curves? I guess the brainpool twisted curves and the brainpool regular curves use the same point addition and point doubling algorithms.

Domain-parameters.pdf#page=15 mentions the parameters for the 160-bit regular curve and the 160-bit twisted curve. For the regular curve it has a $p$ parameter and for the twisted curve it has a $Z$ parameter. I assume the $Z$ parameter is the prime number you need to do the modulo of after every operation.

What about the order $q$? Is the order the same for both curves?

If the curves are the same thing then couldn't one just treat them as aliases of one another? Like when you're randomly selecting $k$, between [$1, n-1$] and then multiplying the base point by that then you'd get the same answer no matter which curve you used?

$\endgroup$
0
$\begingroup$

What about the order $q$? Is the order the same for both curves?

Yes. This can be verified with the following commands:

openssl ecparam -name brainpoolP192t1 -genkey -text -noout -param_enc explicit

openssl ecparam -name brainpoolP192r1 -genkey -text -noout -param_enc explicit

This can be additionally verified by opening up RFC5639, which lists $q$ for both the twisted and non-twisted curves and shows them to be the same.

If the curves are the same thing then couldn't one just treat them as aliases of one another? Like when you're randomly selecting $k$, between [$1, n-1$] and then multiplying the base point by that then you'd get the same answer no matter which curve you used?

No. As demonstrated thusly:

# generate private keys
openssl ecparam -name brainpoolP192t1 -genkey -noout -out brainpoolP192t1.pem
openssl ecparam -name brainpoolP192r1 -genkey -noout -out brainpoolP192r1.pem

# generate public keys
openssl ec -in brainpoolP192t1.pem -pubout -out brainpoolP192t1.pub
openssl ec -in brainpoolP192r1.pem -pubout -out brainpoolP192r1.pub

# sign using brainpoolP192r1 
openssl dgst -sha1 -sign brainpoolP192r1.pem file.txt > signature.bin

# verify using brainpoolP192t1
openssl dgst -sha1 -verify brainpoolP192t1.pub -signature signature.bin file.txt

$p$ is the same as is $q$ but $a$ and $b$ are different.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.