For fun, I'm trying to implement the elliptic curve primitives using a big-number library. I've managed to screw up the operations in a bizarre way. My implementation of addition and scalar multiplication work out for the basic mathematic tests. E.g., repeated addition gives the same result as scalar multiplication; an ECDH operation yields the same shared value.

However, ECDSA doesn't verify and, more simply, using a private key from the NIST test vectors doesn't yield the corresponding public key.

I think having some test vectors with smaller numbers like an 8-bit prime, or a private key of 2 would help narrow down the issue, but all the sources I've used only have test vectors on the standard curves with realistic values.

Does anyone know of any sources with smaller test vectors, or a way to trick openSSL into using a smaller value?