]> Sergey Matveev's repositories - stargrave-blog.git/commitdiff
Добавил Classic McEliece KEM
authorSergey Matveev <stargrave@stargrave.org>
Tue, 11 Feb 2025 18:53:46 +0000 (21:53 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Tue, 11 Feb 2025 19:04:14 +0000 (22:04 +0300)
https://classic.mceliece.org/
К уже существующему черновому (4eed9f47294d277e84f8ba1451b1b4ced04a09de)
формату зашифрованных данных, где реализован SNTRUP4591761+Curve25519 в
качестве KEM (не считая шифрования по парольной фразе), добавил KEM с
Classic McEliece. Больного много про него в рассылках упоминают,
постоянно добавляя про консервативность алгоритма.

Почитал про него побольше и тоже он очень понравился. Алгоритм
существует типа более 40 лет уже, и никаких атак серьёзных. Он прошёл и
в финал NIST PQC конкурса и одобрен для применения как альтернатива
Kyber/ML-KEM. То есть, даже де-юре, в отличии от SNTRUP, годен к
использованию. Описание алгоритма не то чтобы мне сильно понятно, но
выглядит убедительно квантовоустойчиво и просто. Увидел, что и сам DJB
не раз презентовал этот алгоритм и рассказывал про него -- одобряет.

Его приватный ключ: ~14KiB. Публичный: 1MiB. Зато шифротекст менее 200
байт. Из-за такого публичного ключа его проблематично использовать как
аналог DH, но зато отлично пригодно для CMS/PGP-like задач где есть
долгоживущий публичный ключ. Как и для формата зашифрованных данных на
основе KEKS! Где-то видел, что Classic McEliece используют для
долговременных ключей, а параллельно SNTRUP для эфемерных, ради PFS.

Понравилось, что внутри себя он использует SHAKE256 хэш. Поэтому и HKDF
для него тоже на его основе, не BLAKE2b.


No differences found