mirror of
https://github.com/henrydcase/nobs.git
synced 2024-11-25 08:31:21 +00:00
39 lines
1.1 KiB
Markdown
39 lines
1.1 KiB
Markdown
|
# 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
|
||
|
|
||
|
```
|