I'm developing a client for a two-factor authentication in Qt/C++ under openSUSE 13.2, 64bit. I've got the FIDO U2F Security Key from yubico/fido. I'm using the classes from openssl, in particular ecdsa.h and bn.h.

The registration went smoothly, so I can get the $r$ and $s $from the signature. I can also check whether the point lies on the curve (so I've got the public key, too).

My actual problem is to verify the signature. I have to use the curve P-256 from NIST. I've tried it with ECDSA_verify and ECDSA_do_verify, but I don't know how to set my public key. Also, I think I will not get the private key. So, I think that this methods are not useful for me. Therefore I want to develop own methods to verify my signature. I've studied the ECDSA algorithm, but I don't know where I should begin. I know what to do, but I'm unsure how to implement in my program.

I'd be very glad if anyone has an idea which could help me. Thanks a lot :)


closed as off-topic by e-sushi Jul 5 '17 at 1:31

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Programming questions are off-topic even if you are writing or debugging cryptographic code. Unless your question is specifically about how the cryptographic algorithm or protocol works, you should look into asking on Stack Overflow instead." – e-sushi
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    $\begingroup$ This question (and your followup) might be better suited for Stack Overflow. Crypto.SE is really more for the theoretical side of cryptography (i.e. we'd be happy to explain how ECDSA works, but "how to use OpenSSL" is getting a bit off topic). You may want to see our help center for more information about our scope. $\endgroup$ – Ilmari Karonen Jan 9 '16 at 21:03

Browse other questions tagged or ask your own question.