interfacing between the C++ lib and the card debugger, RIPEMD160 and bignums

[ Follow Ups ] [ BasicCard User Forum ]

Posted by owenl ( on May 29, 2013 at 15:05:50:

Is it possible to use the C++ library to send commands to a simulated card? On the ZCMDCard.exe side of things, I have the virtual COM port set to 202, and I have the ZCPORT environment variable set to "202".

But when I run things on the C++ side, the reader opens OK, and I attach the BCI handle to the reader, but when I call ZCCriWaitCard() it returns the error code ZCCRI_ERROR_NO_CARD. All of this works fine using a real card, but I'd rather do the debugging and testing in a more virtual environment first.

Currently I'm using the Terminal as a test harness, but I'd rather everything on the desktop side of things be as native as I can get it.

Also, is there a RIPEMD160 hash function available in the crypto libs somewhere? It's fine if you don't have one, I've ported the reference one, but if the 7.5rD hardware has a crypto coprocessor, it would probably be best for everyone if you guys were doing it instead of me. It probably would take up less code space on the card if you did it for sure :P

I've got the card outputting a valid bitcoin public key, if you poke a decoded private key from the wallet into the card, but to make a bitcoin address you need to use RIPEMD160 for the final hash.

Also, you wouldn't happen to have a bignum lib as well? Base58 encoding pretty much requires you to use bignums to encode/decode, but it's OK if you don't, I think it's not going to cause a security hole to pass the unencoded value up to the desktop.

Follow Ups:

[ Follow Ups ] [ BasicCard User Forum ]