Skip to content

Latest commit

 

History

History
108 lines (66 loc) · 2.5 KB

README.md

File metadata and controls

108 lines (66 loc) · 2.5 KB

Golang implementation of Paillier FHE scheme

This is used by myself to learn, not for production.

Prerequisites

sudo apt install golang-go
pre-commit install

# Install errcheck
#go get -u github.com/kisielk/errcheck # Did not resolve issue
sudo snap install errcheck # Worked.

# Install staticcheck
go install honnef.co/go/tools/cmd/staticcheck@latest

# Install goimports
go install golang.org/x/tools/cmd/goimports@latest

# Install gocyclo
go install github.com/fzipp/gocyclo/cmd/gocyclo@latest

# Install gocritic
go install -v github.com/go-critic/go-critic/cmd/gocritic@latest

# Install documentation viewer.
sudo apt install golang-golang-x-tools

# Colorize test output.
go install -v github.com/kyoh86/richgo
go get github.com/kyoh86/richgo

# Optional (if it says ... gostatic not found etc):
export GOPATH="$HOME/go"
export PATH=$PATH:$GOPATH/bin

Run code

go build -o out && ./out

Run tests

Source

clear && go test ./... -coverprofile=coverage.out

or with colour:

richgo test ./... -coverprofile=coverage.out

View documentation

godoc -http=:6060

Import dependencies

go mod tidy && go run .

Creating pip-package like dependency

Source

Go=Golang resources

handbook

pre-commit

Template repo

pre-commit example

FHE resources

  • Explanations:

Wiki

blog-on-Pailier-cryptosystem

Verification

  • Python:

e-voting

fhe

  • Go:

fhe

fabmorph

paillier