Хотя можно построить потоковый шифр из хеш-функции. У этой конструкции есть один очень серьезный недостаток.
Самая большая проблема заключается в том, что у вас нет одноразового номера, поэтому, если ваш ключ используется повторно, расшифровка обоих сообщений становится тривиальной, поскольку вы просто используете xor для открытого текста.
То, что вы фактически имеете, это следующее для каждого блока:
Кроме того, вы не получите здесь 2048-битного шифрования. Например, я могу атаковать первые 512 бит зашифрованного текста. Это означает, что мне нужно найти только первый ключ. То же самое для второго ключа и т. Д. Итак, для всего блока вам нужно найти только 4 ключа. Таким образом, вы фактически увеличили длину ключа только на 2 бита. Это связано с тем, что каждый ключ не зависит от другого, поэтому при атаке грубой силы изменение одного не влияет на другие ключи.Так что, если вашей целью было 2048 бит силы ключа, это даже хуже, чем встреча посередине атаки. В основном это настолько сильно, насколько сильна ваша стартовая длина ключей.
Также такой большой ключ бесполезен для симметричных шифров.
Постквантовая безопасность хеш-функций, таких как BLAKE2b, уже достаточно надежна, особенно с 512-битным дайджестом.