We present ZK-SecreC, a domain-specific language for zero-knowledge proofs. We present the rationale for its design, its syntax and semantics, and demonstrate its usefulness on the basis of a number of non-trivial examples. The design features a type system, where each piece of data is assigned both a confidentiality and an integrity type, which are not orthogonal to each other. We perform an empiric evaluation of the statements produced by its compiler in terms of their size. We also show the integration of the compiler with the implementation of a zero-knowledge proof technique, and evaluate the running time of both Prover and Verifier.
翻译:我们提出ZK-SecreC,这是零知识证明的一种特定域名语言,我们提出其设计、其语法和语义学的理由,并根据一些非三元例子表明其有用性。设计包括一种类型系统,其中每件数据既具有保密性,又具有完整性,彼此之间不是正统的。我们对其汇编者所制作的语句的大小进行经验评价。我们还显示将编纂者与零知识验证技术的采用结合起来,并评价Prover和验证者的运行时间。