]> Sergey Matveev's repositories - stargrave-blog.git/commit
Почему вы должны использовать KangarooTwelve вместо Keccak (SHA3)?
authorSergey Matveev <stargrave@stargrave.org>
Mon, 12 Jun 2017 20:41:32 +0000 (23:41 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Mon, 12 Jun 2017 20:41:32 +0000 (23:41 +0300)
commitb22bbe75e3c177a16d330c4a1512e3eb292231e2
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent67c3bcb529aab3300e24ca767cca0e2879360087
Почему вы должны использовать KangarooTwelve вместо Keccak (SHA3)?

https://www.cryptologie.net/article/393/kangarootwelve/
Оно конечно под вопросом стоит ли, но KangarooTwelve очень интересен.
Во-первых, он является для SHA3 тем же самым, что и BLAKE2 для BLAKE:
типа тоже самое, но с меньшим количеством раундов и ёмкостей внутреннего
состояния. Типа SHA3 взят с очень большим запасом. Это даёт ощутимо
бОльшую скорость.

Вот только автор говорит что capacity слишком огромный, ведь берётся
квадратный корень от него, чтобы узнать уровень безопасности. Однако он
ничего не говорит про теоретическую атаку на квантовых компьютерах,
когда берётся куб -- а там нужно иметь желательно ощутимый запас. Это
всё конечно теория, но именно тут не на пустом месте такие огромные
размеры состояний хэша. Но да ладно.

Кроме производительности, KangarooTwelve заставляет использовать
customization string (в других алгоритмах оно может называться
personalization string): это мне очень нравится. Если оно не нужно, то
явно об этом сообщи алгоритму, разработчик, а не просто забывай о его
существовании. Кроме того, KangarooTwelve из коробки поддерживает и
использует tree hashing автоматом для сообщений >= 8 KiB. Это мне тоже
очень нравится!