马修·弗雷德里克森威斯康星大学麦迪逊分校;本杰明·利夫希茨微软研究院
传统上,机密性和完整性一直是两个令人向往的设计目标,但这两个目标一直无法结合起来。零知识知识证明(ZKPK)提供了一套严格的加密机制来平衡这些担忧。然而,ZKPK的公开使用对于常规开发人员来说,无法集成到他们的代码中,而且,最重要的是,还没有证明可以按照大多数实际应用程序的要求进行扩展。
本文介绍了ZØ(发音为“zee-not”),这是一种编译器,它将用C#编写的应用程序转换为代码,自动生成可伸缩的零知识证明,同时自动将应用程序拆分为分布式多层代码。ZØ建立详细的成本模型,并使用两个现有的具有不同性能特征的零知识back-ends来选择最重要的翻译。我们的案例研究直接受到了现有复杂的广泛部署的商业产品的启发,这些产品需要隐私和完整性。ZØ在六个复杂应用程序中的性能提高了40倍。我们发现,当应用程序扩展到真实环境时,现有的零知识编译器经常会生成无法运行甚至无法运行的代码编译在合理的时间内。在这些情况下,ZØ是我们所知道的能够提供大规模应用程序的唯一解决方案。
USENIX致力于开放访问我们活动上展示的研究。活动开始后,所有人都可以免费获得论文和会议记录。活动结束后发布的任何视频、音频和/或幻灯片也免费向所有人开放。支持USENIX以及我们对开放存取的承诺。
下载音频