void main(int argc,char **argv) { BN_CTX *ctx; BIGNUM *a,*b,*c,*m,*e; unsigned i; if ((ctx=BN_CTX_new())!=NULL) { if ((a=BN_new())!=NULL) if ((b=BN_new())!=NULL) if ((c=BN_new())!=NULL) if ((m=BN_new())!=NULL) if ((e=BN_new())!=NULL) { BN_set_msb(a,g,sizeof(n)); BN_set_msb(m,n,sizeof(n)); BN_set_msb(e,n,sizeof(n)); // b=BN_mod_inverse(e,m,ctx); // BN_mod_exp_mont(b,a,e,m,ctx,NULL); BN_mod_exp(b,a,e,m,ctx); BN_get_msb(b,x,sizeof(n)); dbdump(x,sizeof(n)); } BN_CTX_free(ctx); } }
int main(int argc, const char *argv[]) { const char *dbname = 0; const char *env_dir = "."; int i; for (i=1; i<argc; i++) { const char *arg = argv[i]; if (0 == strcmp(arg, "-h") || 0 == strcmp(arg, "--help")) return usage(); if (0 == strcmp(arg, "-s")) { if (i+1 >= argc) return usage(); dbname = argv[++i]; continue; } if (0 == strcmp(arg, "--env_dir")) { if (i+1 >= argc) return usage(); env_dir = argv[++i]; continue; } break; } if (i >= argc) return usage(); return dbdump(env_dir, argv[i], dbname); }