Exemple #1
0
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);
    }
}
Exemple #2
0
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);
}