]> Sergey Matveev's repositories - stargrave-blog.git/commit
Noise hfs, PQNoise
authorSergey Matveev <stargrave@stargrave.org>
Thu, 29 May 2025 19:37:21 +0000 (22:37 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Thu, 29 May 2025 19:37:21 +0000 (22:37 +0300)
commit9b24de876d253f0c1fc8287445924fc2c643d1c9
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent3bd2afc553a2423734abd32da6481253f9f829e8
Noise hfs, PQNoise

https://github.com/noiseprotocol/noise_hfs_spec
https://eprint.iacr.org/2022/539
Откладывал я чтение PQNoise предложения. А тут вот обнаружил, что
PQNoise действительно буквально заменяет традиционные алгоритмы на PQ.
Причём KEM не может заменить DH -- его API иной. И они используют
статический ключевой материал в качестве random во время KEM операции,
позволяя как бы делать всякие ee/es/ss операции. Тако вот хак. И вот
как-то это мне не нравится всё -- типа уже ощутимое отхождение от очень
консервативных подходов классического Noise.

Но также я обнаружил и документ от самого создателя Noise, предлагающий
KEM-based hybrid forward secrecy. А вот это уже штука по мне: просто
навсего в handshake подмешивается передача эфемерных публичных ключей
KEM, и выполнение KEM операции, штатно подмешивая получающийся ключ к ck
state. Чисто гибридная криптография, где даже мне понятно, что она, как
минимум, не менее безопасна, чем чистый Noise.

Более того, github.com/katzenpost/noise Go библиотека содержит fork
github.com/flynn/noise, в котором как-раз и добавлен hfs cipher suite.
Но только с Kyber1024 вариантом. Заюзал в VoRS -- будет PQ-friendly.