/
CPUProvementTestSample2018.java
39 lines (31 loc) · 1.34 KB
/
CPUProvementTestSample2018.java
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
29
30
31
32
33
34
35
36
37
38
39
package bei7473p5254d69jcuat.tenyu.sample;
import static org.junit.Assert.*;
import java.security.*;
import java.util.*;
import org.junit.*;
import bei7473p5254d69jcuat.tenyu.sample.CPUProvementSample2018.*;
public class CPUProvementTestSample2018 {
@Test
public void test() throws Exception {
KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA");
keyPairGen.initialize(2048);
KeyPair keyPair = keyPairGen.genKeyPair();
PublicKey respondentPub = keyPair.getPublic();
byte[] respondentPubB = respondentPub.getEncoded();
//問題作成 これらの入力から問題関数が作成される
//参照:CPUProvementSample2018の756
//そこでハッシュ値からコードを動的に作成している
//”任意の情報に依存した動的な演算量証明問題”を可能にする
CPUProvementSample2018 problem = new CPUProvementSample2018("aaaa",
2017, 12, 17, 0, 1, respondentPubB);
//回答計算をして結果が返る
ResultSample result = problem.solve();
//引数探索の結果を取得
SolveSample solve = result.getSolve();
System.out.println("output:" + Arrays.toString(solve.getOutput()));
System.out.println("argD:" + solve.getArgD());
System.out.println("argL:" + solve.getArgL());
//検証 問題と結果があれば検証できる
assertEquals(true, problem.verify(solve));
}
}