I wrote a simple test to generate some keys using Crypto++. The test worked fine for any curve I chose in the Prime field. When I chose curves in the Binary field, that's where things pretty much go wrong. The test consisted of the following:
CryptoPP::OID CURVE_283 = CryptoPP::ASN1::sect283r1();
CryptoPP::ECMQV<CryptoPP::ECP>::Domain mqvA(CURVE_283);
This generates an exception saying basically that it doesn't know OID sect283r1. I presume that is because the Binary field math is unimplemented, as all the Prime field OIDs seem to work. Is this the case? If not, is there something I need to do to use sect283k1 and sect571k1? (I believe both OIDs for k1 and r1 curves are available, but in my case I'm pretty sure I need the Koblitz curves instead of the Random, but both would be even better).
If it is unimplemented, has anyone worked on implementing the Binary field for Crypto++? I see a lot of code for Prime field ECC and little to no code for Binary field ECC out there to use as an example. I started looking at the Crypto++ library because it seemed to be more complete. However, I am not sure it is now.
Thanks for reading and any answers you can provide.