go-sike/README.md

52 lines
1.7 KiB
Markdown

# Supersingular Isogeny Key Encapsulation
Repository keeps simple Go's implementation of
SIKE based on field p503 (Round2).
## Speed
### P503
```
> go test -run=. -bench=. -benchmem
goos: linux
goarch: amd64
pkg: github.com/henrydcase/go-sike-p503/p503
BenchmarkKeygen-4 100 10448291 ns/op 0 B/op 0 allocs/op
BenchmarkEncaps-4 100 17250470 ns/op 1344 B/op 3 allocs/op
BenchmarkDecaps-4 100 18755075 ns/op 1358 B/op 3 allocs/op
PASS
ok github.com/henrydcase/go-sike-p503/p503 12.676s
```
### P434
```
> go test -run=. -bench=. -benchmem
goos: linux
goarch: amd64
pkg: github.com/henrydcase/go-sike-p503/p434
BenchmarkKeygen-4 200 7298860 ns/op 0 B/op 0 allocs/op
BenchmarkEncaps-4 100 12008715 ns/op 1344 B/op 3 allocs/op
BenchmarkDecaps-4 100 12950648 ns/op 1358 B/op 3 allocs/op
PASS
ok github.com/henrydcase/go-sike-p503/p434 9.880s
```
### p434 vs p503
```
benchmark old ns/op new ns/op delta
BenchmarkKeygen-4 10552847 7471517 -29.20%
BenchmarkEncaps-4 17375489 11897130 -31.53%
BenchmarkDecaps-4 18927683 12991795 -31.36%
benchmark old allocs new allocs delta
BenchmarkKeygen-4 0 0 +0.00%
BenchmarkEncaps-4 3 3 +0.00%
BenchmarkDecaps-4 3 3 +0.00%
benchmark old bytes new bytes delta
BenchmarkKeygen-4 0 0 +0.00%
BenchmarkEncaps-4 1344 1344 +0.00%
BenchmarkDecaps-4 1358 1358 +0.00%
```