1
0
mirror of https://github.com/henrydcase/nobs.git synced 2024-11-25 08:31:21 +00:00
nobs/kem/mkem/README.md

39 lines
1.1 KiB
Markdown
Raw Normal View History

2020-08-25 11:19:07 +01:00
# mKEM for cSIDH/p512
Implementation of multi-KEM for done on top of cSIDH implementation from NOBS [library](github.com/henrydcase/nobs/dh/csidh).
## Implementation choices
TODO:
- choice of H
- message length
- golang
## Running and benchmarking
To run benchmark tests golang 1.10 is required to be installed. Following command can be used to run the benchmark tests
```
go test -v -bench=. -run="notest"
```
Results on SkyLake CPU:
```
> go test -v -bench=. -run="notest" -benchmem
goos: linux
goarch: amd64
pkg: github.com/henrydcase/nobs/kem/mkem
BenchmarkCSIDH_Enc_10keys
BenchmarkCSIDH_Enc_10keys-8 2 761984058 ns/op 6720 B/op 31 allocs/op
BenchmarkCSIDH_mEnc_10keys
BenchmarkCSIDH_mEnc_10keys-8 3 436651776 ns/op 1426 B/op 5 allocs/op
BenchmarkCSIDH_Enc_100keys
BenchmarkCSIDH_Enc_100keys-8 1 7883272803 ns/op 67968 B/op 301 allocs/op
BenchmarkCSIDH_mEnc_100keys
BenchmarkCSIDH_mEnc_100keys-8 1 3832287289 ns/op 7312 B/op 5 allocs/op
PASS
ok github.com/henrydcase/nobs/kem/mkem 20.691s
```