https://github.com/lucasmenendez/gopsi
Simple Private Set Intersection implemented in pure Go.
https://github.com/lucasmenendez/gopsi
bloom-filters golang privacy-enhancing-technologies psi sra
Last synced: 8 months ago
JSON representation
Simple Private Set Intersection implemented in pure Go.
- Host: GitHub
- URL: https://github.com/lucasmenendez/gopsi
- Owner: lucasmenendez
- License: mit
- Created: 2022-05-30T21:09:48.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-08-12T15:09:29.000Z (about 3 years ago)
- Last Synced: 2025-01-11T08:33:58.582Z (9 months ago)
- Topics: bloom-filters, golang, privacy-enhancing-technologies, psi, sra
- Language: Go
- Homepage:
- Size: 54.7 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://godoc.org/github.com/lucasmenendez/gopsi)
[](https://goreportcard.com/report/github.com/lucasmenendez/gopsi)
[](https://github.com/lucasmenendez/gopsi/actions?query=workflow%3Atest)
[](LICENSE)# GoPSI - Private Set Intersection in Golang
Simple Private Set Intersection implemented in pure Go. It uses SRA algorithm [[1]](#references) as encryption scheme and Bloom Filters [[2]](#references) to perform set intersection.
## Examples and Docs
Two full examples are already implemented:
- Simple SRA encryption: [code](examples/sra_example/main.go)
- PSI algorithm example: [docs](examples/psi_example/README.md) [code](examples/psi_example/main.go).Checkout [GoDoc Documentation](https://godoc.org/github.com/lucasmenendez/gopsi)
## References
1. Adi Shamir, Ronald L. Rivest and Leonard M. Adleman, *"Mental Poker"*, April 1979. https://people.csail.mit.edu/rivest/pubs/SRA81.pdf
2. Wikipedia, *"Bloom filter"*, July 2005. https://en.wikipedia.org/wiki/Bloom_filter