Commit 36ac7bc8 authored by Ben Kaduk's avatar Ben Kaduk Committed by Rich Salz
Browse files

GH367 follow-up, for more clarity

parent a9009e51
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -136,7 +136,7 @@ int dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits,
        if (seed_len < (size_t)qsize)
        if (seed_len < (size_t)qsize)
            return 0;
            return 0;
        if (seed_len > (size_t)qsize) {
        if (seed_len > (size_t)qsize) {
            /* Don't overflow seed local variable. */
            /* Only consume as much seed as is expected. */
            seed_len = qsize;
            seed_len = qsize;
        }
        }
        memcpy(seed, seed_in, seed_len);
        memcpy(seed, seed_in, seed_len);
@@ -163,13 +163,13 @@ int dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits,


    for (;;) {
    for (;;) {
        for (;;) {              /* find q */
        for (;;) {              /* find q */
            int seed_is_random = seed_in == NULL;
            int use_random_seed = (seed_in == NULL);


            /* step 1 */
            /* step 1 */
            if (!BN_GENCB_call(cb, 0, m++))
            if (!BN_GENCB_call(cb, 0, m++))
                goto err;
                goto err;


            if (seed_is_random) {
            if (use_random_seed) {
                if (RAND_bytes(seed, qsize) <= 0)
                if (RAND_bytes(seed, qsize) <= 0)
                    goto err;
                    goto err;
            } else {
            } else {
@@ -201,7 +201,7 @@ int dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits,


            /* step 4 */
            /* step 4 */
            r = BN_is_prime_fasttest_ex(q, DSS_prime_checks, ctx,
            r = BN_is_prime_fasttest_ex(q, DSS_prime_checks, ctx,
                                        seed_is_random, cb);
                                        use_random_seed, cb);
            if (r > 0)
            if (r > 0)
                break;
                break;
            if (r != 0)
            if (r != 0)
+1 −1
Original line number Original line Diff line number Diff line
@@ -25,7 +25,7 @@ for use in the DSA and stores the result in B<dsa>.


B<bits> is the length of the prime p to be generated.
B<bits> is the length of the prime p to be generated.
For lengths under 2048 bits, the length of q is 160 bits; for lengths
For lengths under 2048 bits, the length of q is 160 bits; for lengths
at least 2048, it is set to 256 bits.
greater than or equal to 2048 bits, the length of q is set to 256 bits.


If B<seed> is NULL, the primes will be generated at random.
If B<seed> is NULL, the primes will be generated at random.
If B<seed_len> is less than the length of q, an error is returned.
If B<seed_len> is less than the length of q, an error is returned.