1 package civitas.crypto.parameters.tests;
2
3 import static org.junit.jupiter.api.Assertions.assertEquals;
4
5 import org.junit.jupiter.api.DisplayName;
6 import org.junit.jupiter.api.Test;
7 import org.mockito.InjectMocks;
8
9 import civitas.common.tests.RandomAwareTestBase;
10 import civitas.crypto.Constants;
11 import civitas.crypto.parameters.GenerateSchnorrPrime;
12 import civitas.crypto.parameters.PrimePair;
13 import civitas.crypto.privatekey.tests.ElGamalPrivateKeyTestData;
14
15 class GenerateSchnorrPrimeTest extends RandomAwareTestBase implements ElGamalPrivateKeyTestData, Constants {
16
17 @InjectMocks
18 GenerateSchnorrPrime generateSchnorrPrime;
19
20 @Test
21 @DisplayName("schnorrPrime returns two primes p,q where p=q*r+1, and "
22 + "length of q is qLength, length of p is pLength ")
23 void schnorrPrimeTest2() {
24 PrimePair sp = generateSchnorrPrime.apply(EL_GAMAL_KEY_LENGTH, EL_GAMAL_GROUP_LENGTH);
25 assertEquals(BIGINT_Q, sp.q);
26 assertEquals(BIGINT_P, sp.p);
27 }
28 }