您当前的位置: 首页 >  ar

mutourend

暂无认证

  • 1浏览

    0关注

    661博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Pinocchio——将.arith文件转换为qap及做相应的prove/verify操作

mutourend 发布时间:2019-06-06 14:48:51 ,浏览量:1

在前一篇博文Pinocchio: Nearly Practica Verifable Computationh之circuit compiler的基础上,对所生成的.arith文件进行相应的qap转换及prove/verify操作。 Pinocchio源码中的msbignum.h等内容暂未开源,目前无法直接编译通过,直接使用其中的pinocchio-v0.5.3.exe可执行文件进行相应操作。

一、pinocchio相关参数说明

pinocchio中使用Boost program_options库来进行参数解析。所有参数可pinocchio-v0.5.3.exe -h来查看。 在这里插入图片描述

二、qap转换

在前一篇博文Pinocchio: Nearly Practica Verifable Computationh之circuit compiler中,outsource的是判断output->x = (input->a) == (input->b);,需要创建相应的eqtest-p0-b32.in输入文件,该文件格式为wireID wireValue以16进制形式展现所有input信息。如wireID 0->变量a, wireID 1->变量b, 若变量a的值取10(对应16进制为a),变量b的值取11(对应16进制为b),最后一行以const-1 input wire(即eqtest-p0-b32.arith中的one-input)结束,对应的eqtest-p0-b32.in内容为:

0 a
1 b
2 1

eqtest-p0-b32.arith内容为:

total 11
input 0                                  # input
input 1                                  # input
input 2                                  # one-input
const-mul-0 in 1  out 1            # zero
const-mul-neg-1 in 1  out 1        # zerop subtract negative
add in 2  out 1                  # zerop diff
zerop in 1  out 2                # zerop 
const-mul-neg-1 in 1  out 1        # zerop inverse
add in 2  out 1                  # zerop result
mul in 2  out 1                 # output-cast
output 10                                # 

执行qap转换:

pinocchio-v0.5.3.exe --qap --dv --file circuit/eqtest-p0-b32.arith --input circuit/eqtest-p0-b32.in --mem 4

对应的输出为: 在这里插入图片描述

三、qap结果输出
pinocchio-v0.5.3.exe --qap --dv --file circuit/eqtest-p0-b32.arith --input circuit/eqtest-p0-b32.in --mem 4 --output circuit/eqtest-p0-b32.out

在这里插入图片描述对应的eqtest-p0-b32.out内容(格式为wireID wireValue,其中的10即为output对应的wireID)为:[a!=b时,output为0]

10 0000000000000000000000000000000000000000000000000000000000000000

修改eqtest-p0-b32.in中的值,将其中的wireID 0和1的值设置为相同。再次运行上述命令,对应的eqtest-p0-b32.out内容为:[a==b时,output为1]

10 0000000000000000000000000000000000000000000000000000000000000001

符合预期!

关注
打赏
1664532908
查看更多评论
立即登录/注册

微信扫码登录

0.0399s