HSM Swap

C ethereum wallet


Creating an ethereum wallet in C with crypto standards for preparing code to be embedded into HSM. HSM are the only servers that are safe in the cloud and have been used by bank for years. It need lots of work as ethereum use some non standard crypto function like fix k and v signature for ECDSA, Keccak hash function, close to sha3 standard but not the same...

How it's made

Basic c code and openssl for ECDSA standard. libcurl for rest infura call to connect to the blockchain I implemented keccat in c I implemented the wrappers for openssl low level call for ECDSA I implemented the ethereum RLP serialization for transaction I implemented transaction hadling I used curl library to call rest api from infure

Technologies used