Skip to content

ware255/ML-KEM

Repository files navigation

ML-KEM

格子暗号に興味を持って実装をしてみた。RSA暗号と違って理解するのにとても時間がかかる。

理解するのが難しいので参考のところに貼ってあるやつを見ながら実装。高速化はそこまでしてない。

パラメータについて

params.hppの中身の設定はこれをもとに設定している。

n k q n1 n2 NIST Security level
ML-KEM-512 256 2 3329 3 2 1
ML-KEM-768 256 3 3329 2 2 3
ML-KEM-1024 256 4 3329 2 2 5

ベンチマーク

CPUはIntel(R) Core(TM) i5-3230Mを使用

1000 回ループ ML-KEM-512 ML-KEM-768 ML-KEM-1024
k_pke_keygen() 1.394s 2.786s 4.730s
k_pke_encrypt() 1.758s 3.117s 5.017s
k_pke_decrypt() 0.448s 0.614s 0.821s

参考

About

ML-KEMのC/C++コード

Resources

Stars

Watchers

Forks