AI prompts
base on Homomorphic Time-Lock Puzzle Schemes # Homomorphic Time-Lock Puzzle Schemes

This is the repository for the paper
Towards Practical Homomorphic Time-Lock Puzzles: Applicability and Verifiability, *ESORICS 2022* [[Link](https://link.springer.com/chapter/10.1007/978-3-031-17140-6_21)]
by Yi Liu, Qi Wang, Siu-Ming Yiu.
## Introduction
This repository provides implementations for the **additively** homomorphic time-lock puzzle scheme with solution space $\mathbb{Z}_n$ in [[MT19]](https://eprint.iacr.org/2019/635.pdf) and our **multiplicatively** homomorphic time-lock puzzle scheme with solution space $\mathbb{Z}_n^*$.
To avoid the redundant cost of the puzzle-solving process, we provide three *simple* and *fast* protocols for both the additively HTLP scheme with the solution space $\mathbb{Z}_n$ and our multiplicatively HTLP scheme, respectively, to verify the following three properties.
1. **Correctness.** A puzzle solver is able to convince other parties of the *correctness of the solution* that he solves from a puzzle.
2. **Invalidity.** Upon finding that a puzzle is invalid, one can convince other parties of the *invalidity of the puzzle*.
3. **Validity.** A puzzle generator can convince other parties of the *validity of the puzzle* he generated.
## Dependencies
This project has dependencies of [NTL](https://github.com/libntl/ntl) and [OpenSSL](https://www.openssl.org/).
## Build
1. Install [NTL](https://github.com/libntl/ntl).
2. Install libssl-dev
3. Clone the repository:
```
git clone https://github.com/liu-yi/HTLP
```
4. Enter the directory
```
cd HTLP
```
5. Assuming you have globally installed NTL and libssl-dev:
```
make
```
6. You can test the execution by `./TestHTLP`, which is defined in `src/main.cpp`.
", Assign "at most 3 tags" to the expected json: {"id":"8847","tags":[]} "only from the tags list I provide: []" returns me the "expected json"