https://github.com/primefactor-io/paillier
Implementation of the Paillier cryptosystem alongside its homomorphic operations
https://github.com/primefactor-io/paillier
cryptography cryptography-algorithms homomorphic-cryptography-scheme homomorphic-encryption homomorphic-encryption-library paillier paillier-cryptosystem
Last synced: 9 days ago
JSON representation
Implementation of the Paillier cryptosystem alongside its homomorphic operations
- Host: GitHub
- URL: https://github.com/primefactor-io/paillier
- Owner: primefactor-io
- License: apache-2.0
- Created: 2025-05-11T11:22:39.000Z (13 days ago)
- Default Branch: master
- Last Pushed: 2025-05-11T11:22:59.000Z (13 days ago)
- Last Synced: 2025-05-15T08:21:22.158Z (9 days ago)
- Topics: cryptography, cryptography-algorithms, homomorphic-cryptography-scheme, homomorphic-encryption, homomorphic-encryption-library, paillier, paillier-cryptosystem
- Language: Go
- Homepage: https://primefactor.io
- Size: 21.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Paillier
Implementation of the [Paillier Cryptosystem](https://en.wikipedia.org/wiki/Paillier_cryptosystem).
Alongside regular encryption and decryption, the implementation also supports homomorphic operations such as the addition of two underlying plaintexts as well as the multiplication of an underlying plaintext with a second plaintext value.
There are also two proof implementations. One allows for proving knowledge of an Nth Root while the second proof can be used to prove that an encrypted value falls into a certain range (range proof).
## Setup
1. `git clone `
2. `asdf install` (optional)
3. `go test -count 1 -race ./...`## Useful Commands
```sh
go run
go build []go test [][/...] [-v] [-cover] [-race] [-short] [-parallel ]
go test -bench=. [] [-count ] [-benchmem] [-benchtime 2s] [-memprofile ]go test -coverprofile []
go tool cover -html
go tool cover -funcgo fmt []
go mod init []
go mod tidy
```## Useful Resources
- [Go - Learn](https://go.dev/learn)
- [Go - Documentation](https://go.dev/doc)
- [Go - A Tour of Go](https://go.dev/tour)
- [Go - Effective Go](https://go.dev/doc/effective_go)
- [Go - Playground](https://go.dev/play)
- [Go by Example](https://gobyexample.com)
- [100 Go Mistakes and How to Avoid Them](https://100go.co)