本文整理汇总了C++中bigint::probab_prime方法的典型用法代码示例。如果您正苦于以下问题:C++ bigint::probab_prime方法的具体用法?C++ bigint::probab_prime怎么用?C++ bigint::probab_prime使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类bigint
的用法示例。
在下文中一共展示了bigint::probab_prime方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
ptr<rsa_priv>
rsa_priv::make (const bigint &n1, const bigint &n2)
{
if (n1 == n2 || n1 <= 1 || n2 <= 1
|| !n1.probab_prime (5) || !n2.probab_prime (5))
return NULL;
return n1 < n2 ? New refcounted<rsa_priv> (n1, n2)
: New refcounted<rsa_priv> (n2, n1);
}
示例2:
ptr<paillier_priv>
paillier_priv::make (const bigint &p,
const bigint &q)
{
if (p == q || p <= 1 || q <= 1
|| !p.probab_prime (5) || !q.probab_prime (5))
return NULL;
return p < q
? New refcounted<paillier_priv> (p, q)
: New refcounted<paillier_priv> (q, p);
}
示例3: fatal
static void
paillier_gen (const bigint &p, const bigint &q, const bigint &n,
const bigint &a, bigint &g, bigint &k)
{
bigint p1 = p - 1;
bigint q1 = q - 1;
bigint kgcd;
mpz_gcd (&kgcd, &p1, &q1);
k = p1 * q1;
k /= kgcd;
if (!p.probab_prime (5) || !q.probab_prime (5) || !a.probab_prime (5))
fatal ("paillier_keygen: failed primality test\n");
if ((k % a) != 0)
fatal << "paillier_keygen: failed div test: " << (k % a) << "\n";
g = powm (2, (k/a), n);
}