my $b = 256; # Whatever your bit length is my($p,$q); do { $q = random_nbit_prime($b-1); $p = 2*$q+1; } while ( ($q % 3) != 2 || ($q % 5) == 2 || ($p % 3) != 2 || !is_prime($p) ); return $p;