本文共 2527 字,大约阅读时间需要 8 分钟。
接,对nizk-test进行操作。
nizk-test.c
内容为:
#pragma oncestruct Input { int a;};struct NIZKInput { int b1; int b2; int b3; int b4;};struct Output { int c1; int c2; int c3;};void outsource(struct Input *input, struct NIZKInput *nizkinput, struct Output *output);#if 17void outsource(struct Input *input, struct NIZKInput *nizkinput, struct Output *output){ output->c1 = input->a + nizkinput->b1; output->c3 = input->a + nizkinput->b3;}#elsevoid outsource(struct Input *input, struct Output *output){ output->c1 = input->a; output->c3 = input->a + 3;}#endif
python ../src/vercomp.py nizk-test.c --arith nizk-test.arith --ignore-overflow False --progress True
生成的nizk-test.arith
内容为:
total 13input 0 # inputinput 1 # one-inputnizkinput 2 # inputnizkinput 3 # input (unused)nizkinput 4 # inputnizkinput 5 # input (unused)const-mul-0 in 1 <1> out 1 <6> # zeroadd in 2 <0 2> out 1 <7> # ArithBusReq.AddReq(DFG.Input,DFG.NIZKInput)const-mul-0 in 1 <1> out 1 <8> # constant 0add in 2 <0 4> out 1 <9> # ArithBusReq.AddReq(DFG.Input,DFG.NIZKInput)mul in 2 <1 7> out 1 <10> # output-castoutput 10 # mul in 2 <1 8> out 1 <11> # output-castoutput 11 # mul in 2 <1 9> out 1 <12> # output-castoutput 12 #
配置相应的input文件nizk-test.in
:
0 51 12 13 24 35 4
pinocchio-v0.5.3.exe --qap --pv --nizk --file circuit/nizk-test.arith --mem 4 --input circuit/nizk-test.in --output circuit/nizk-test.out --keys test-nizk-key --genkeys
对应的输出为:
pinocchio-v0.5.3.exe --qap --pv --nizk --file circuit/nizk-test.arith --mem 4 --input circuit/nizk-test.in --output circuit/nizk-test.out --keys test-nizk-key --dowork
输出内容为:
nizk-test.out
内容为(与nizk-test.in
文件的输入相对应): 10 000000000000000000000000000000000000000000000000000000000000000611 000000000000000000000000000000000000000000000000000000000000000012 0000000000000000000000000000000000000000000000000000000000000008
四、Verify
pinocchio-v0.5.3.exe --qap --pv --nizk --file circuit/nizk-test.arith --mem 4 --input circuit/nizk-test.in --output circuit/nizk-test.out --keys test-nizk-key --verify
对应的输出为Verification passed
通过。
转载地址:http://suqx.baihongyu.com/