So in the code it does this: if (!EC_KEY_generate_key(pkey)) throw key_error("CKey::MakeNewKey
So one then goes to EC_KEY. You can do either here: #include <string.h> #include "ec_lcl.h" #include <openssl/err.h> #include <string.h> EC_KEY *EC_KEY_new(void) { EC_KEY *ret; ret=(EC_KEY *)OPENSSL_malloc(sizeof(EC_KEY)); if (ret == NULL) { ECerr(EC_F_EC_KEY_NEW, ERR_R_MALLOC_FAILURE); return(NULL); } ret->version = 1; ret->group = NULL; ret->pub_key = NULL; ret->priv_key= NULL; ret->enc_flag= 0; ret->conv_form = POINT_CONVERSION_UNCOMPRESSED; ret->references= 1; ret->method_data = NULL; return(ret); } It goes on down the way a bit. It loads the LCL H file and that pulls in BN. In BN it has a 64 bit number size for 32 bit systems. Right there one get's lost. >From there how does one trace this out into something like a logic diagram? Can one load this into a program that shows the commands and then shows the diagram for it with word sizes? -- Dave Paxton dpax...@me.com 208 570 9755 skype: dpaxton ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org