This short document outlines how to emulate witness encryption using threshold cryptography - and more specifically, threshold identity-based encryption (IBE). The ideas presented here are heavily inspired but the tlock
construction from [GMR23].
Disclaimer: I have not done a thorough review of the existing literature, if you are aware of existing constructions that work in the same way please let me know!
Witness Encryption. The witness encryption paradigm is the following: given an instance of some hard problem, one can encrypt a message using the instance such that it may only be decrypted by someone who knows the problem's solution (the witness).
Threshold IBE. Identity-based encryption (IBE) is a class of cryptographic primitives where public keys are some publicly known string (the identity) and the private key is derived to match that public key. Originally, IBE schemes relied on a trusted third party to derive the private key.
The Boneh-Franklin IBE scheme [BF01] is of particular interest because private keys are computed by the trusted third party as a BLS signature of the identity.
Because the private keys are BLS signatures, the trusted third party can be replaced by a quorum of signers that each hold a secret share of some (unknown) master secret key. To obtain the private key that corresponds to some identity, a user must request partial signatures from a threshold of the quorum signers.
The emulation idea is the following: messages are encrypted with respect to some randomly generated identity; once a user knows a valid witness, they obtain the identity's private key from the quorum of signers (using ZKPs).
In practice, the system will look like this:
[BF01] Boneh, Dan, and Matt Franklin. "Identity-based encryption from the Weil pairing." Advances in Cryptology—CRYPTO 2001: 21st Annual International Cryptology Conference, Santa Barbara, California, USA, August 19–23, 2001 Proceedings. Berlin, Heidelberg: Springer Berlin Heidelberg, 2001.
[GMR23] Gailly, Nicolas, Kelsey Melissaris, and Yolan Romailler. "tlock: practical timelock encryption from threshold BLS." Cryptology ePrint Archive (2023).