Paper 2023/1250
Revealable Functional Commitments: How to Partially Reveal a Secret Function
Abstract
A revealable functional commitment allows a prover to commit to a secret polynomial size function $f$. Later, the prover has the ability to (1) prove that $y = f(x)$ for public $x, y$ and (2) open a small window into $f$'s machinery, via an encoded set of constraints - all without divulging any other information about $f$. In this way, revealable functional commitments allow the operator of a proprietary function to prove desired predicate about the function. For example, a government can commit to a bail decision algorithm, and prove that the same algorithm is being used for all defendants. They can also quell concerns about bias, and increase transparency processes by revealing windows into what their function does - while keeping most of their function secret to prevent exploitation. To build a revealable functional commitment, we introduce a 'proof of reveal', to show that a set of constraints, combined with a set of guarantees about those constraints, is consistent with a committed secret function. We show that combining a algebraic holomorphic proof (AHP), a 'proof of function relation' (PFR), and a proof of reveal yields a secure revealable functional commitment scheme. Additionally, we construct proof of reveals for two popular PFR-equipped AHPs, and obtain two instantiations of revealable functional commitments. Towards that end, we also develop interactive protocols that prove properties of committed polynomials, which may have independent value.
Metadata
- Available format(s)
- Category
- Cryptographic protocols
- Publication info
- Preprint.
- Keywords
- Commitment SchemesZero Knowledge Protocols
- Contact author(s)
- brn @ stanford edu
- History
- 2023-08-21: approved
- 2023-08-18: received
- See all versions
- Short URL
- https://ia.cr/2023/1250
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2023/1250, author = {Bharath Namboothiry}, title = {Revealable Functional Commitments: How to Partially Reveal a Secret Function}, howpublished = {Cryptology {ePrint} Archive, Paper 2023/1250}, year = {2023}, url = {https://eprint.iacr.org/2023/1250} }