summaryrefslogtreecommitdiffstats
path: root/security/nss/lib/freebl/secmpi.c
blob: 7d6ee4405b11cc230307589859bcfd79028dab19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "blapi.h"

#include "mpi.h"
#include "mpprime.h"

mp_err
mpp_random_secure(mp_int *a)
{
    SECStatus rv;
    rv = RNG_GenerateGlobalRandomBytes((unsigned char *)MP_DIGITS(a), MP_USED(a) * sizeof(mp_digit));
    if (rv != SECSuccess) {
        return MP_UNDEF;
    }
    MP_SIGN(a) = MP_ZPOS;
    return MP_OKAY;
}

mp_err
mpp_pprime_secure(mp_int *a, int nt)
{
    return mpp_pprime_ext_random(a, nt, &mpp_random_secure);
}

mp_err
mpp_make_prime_secure(mp_int *start, mp_size nBits, mp_size strong)
{
    return mpp_make_prime_ext_random(start, nBits, strong, &mpp_random_secure);
}