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