Cryptology ePrint Archive: Report 2021/1382

ZPiE: Zero-knowledge Proofs in Embedded systems

Xavier Salleras and Vanesa Daza

Abstract: Zero-Knowledge Proofs (ZKPs) are cryptographic primitives allowing a party to prove to another party that the former knows some information while keeping it secret. Such a premise can lead to the development of numerous privacy-preserving protocols in different scenarios, like proving knowledge of some credentials to a server without leaking the identity of the user. Even when the applications of ZKPs were endless, they were not exploited in the wild for a couple of decades due to the fact that computing and verifying proofs was too computationally expensive. However, the advent of efficient schemes (in particular, zk-SNARKs) made this primitive to break into the scene in fields like cryptocurrencies, smart-contracts, and more recently, self-sovereign scenarios: private-by-design identity management and authentication. Nevertheless, its adoption in environments like the Internet of Things (IoT) remains unexplored due to the computational limitations of embedded systems. In this paper, we introduce ZPiE, a C library intended to create ZKP applications to be executed in embedded systems. Its main feature is portability: it can be compiled, executed, and used out-of-the-box in a wide variety of devices. Moreover, our proof-of-concept has been proved to work smoothly in different devices with limited resources, which can execute state-of-the-art ZKP authentication protocols.

Category / Keywords: implementation / Zero-Knowledge Proofs; SNARKs; Embedded Systems; Applied Cryptography.

Original Publication (in the same form): Mathematics

Date: received 12 Oct 2021

Contact author: xavier salleras at upf edu, vanesa daza at upf edu

Available format(s): PDF | BibTeX Citation

Version: 20211015:082251 (All versions of this report)

Short URL: ia.cr/2021/1382


[ Cryptology ePrint archive ]