1 package civitas.crypto.keypairshare;
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.RandomAwareTestBase;
10 import civitas.crypto.parameters.ElGamalParametersTestData;
11
12 class GenerateKeyPairShareTest extends RandomAwareTestBase implements ElGamalParametersTestData {
13
14 @InjectMocks
15 GenerateKeyPairShare generateKeyPairShare;
16
17 @Test
18 @DisplayName("generateKeyPairShare works as expected"
19 + "x := random, h:=g^x (mod p). x is the private, h is the public key")
20 void generateKeyPairShareTest() {
21
22 ElGamalKeyPairShare keyPair = generateKeyPairShare.apply(EL_GAMAL_PARAMETERS);
23
24 assertEquals(RANDOMS_0, keyPair.privKey().x());
25 assertEquals(RANDOMS_0_PUBLISHED, keyPair.pubKey().y);
26 }
27 }