Is it just me or does test_mont ever complete? I mean bits assignment doesn't make any sense to me: BN_rand(&a,100,0,0); /**/ BN_rand(&b,100,0,0); /**/ for (i=0; i<num2; i++) { int bits = (100%BN_BITS2+1)*BN_BITS2*i*BN_BITS2; if (bits == 0) continue; BN_rand(&n,bits,0,1); Look! It's 100-bit number times 100-bit number modulus 5120*i-bits (or even 147456*i-bits on 64-bit CPUs) number. Sounds more like test for multiplication, huh? Wouldn't bits = (200/num2+1)*(i+1); or something similar make more sense? Andy. ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]