A proof of concept for an almost witness encryption scheme
This library implements a protocol that allows encrypting messages that can only be decrypted by someone who has commited to a witness satisfying a CNF-SAT formula. Unlike true witness encryption, this implementation works only for pre-committed data (the receiver must commit to their data first)
The basic_usage.rs
example demonstrates:
- Creating a polynomial commitment to a number (41) encoded as bits
- Creating a condition (number < 50) as a CNF formula
- Encrypting a message using this condition
- Decrypting with the original polynomial
For more details, check out the blog post: SAT-based Witness Encryption