Implementation of the Linearly-Homomorphic Time-Lock Puzzle algorithm as described in section 4.1 "Linearly Homomorphic" of the paper Homomorphic Time-Lock Puzzles and Applications by Malavolta et al.
This implementation also features the extension mentioned in section 5.1 "Semi-Compact Scheme for Branching Programs" which allows for larger message spaces.
git clone <url>
asdf install
(optional)go test -count 1 -race ./...
go run <package-path>
go build [<package-path>]
go test [<package-path>][/...] [-v] [-cover] [-race] [-short] [-parallel <number>]
go test -bench=. [<package-path>] [-count <number>] [-benchmem] [-benchtime 2s] [-memprofile <name>]
go test -coverprofile <name> [<package-path>]
go tool cover -html <name>
go tool cover -func <name>
go fmt [<package-path>]
go mod init [<module-path>]
go mod tidy