|
@@ -4,53 +4,4 @@ |
|
|
|
|
|
|
|
|
## Implementation |
|
|
## Implementation |
|
|
|
|
|
|
|
|
This code guarantees correctness of implementation and portability. It is fully compatible with version 3.2 of an algorithm. Implementation currently contains 2 finite fields implementations, namely ``p434`` and ``p503``. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Speed - for reference |
|
|
|
|
|
|
|
|
|
|
|
### 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% |
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
This code guarantees the correctness of implementation and portability. It is fully compatible with NIST PQC Round 2 submission. The implementation contains 2 finite fields implementations, namely ``p434`` and ``p503``. |