2 @section Запутывание ключа (key meshing)
4 Алгоритм запутывания ключа (key meshing) не имеет аналогов в Западных
5 алгоритмах. Его суть: делать смену ключа каждый килобайт зашифрованных
6 данных. Применяется совместно с @ref{ru2814789, ГОСТ 28147-89} и описан в
7 @url{https://tools.ietf.org/html/rfc4357.html, RFC 4357}. По заверению
8 разработчиков из КриптоПро, он служит для усложнения проведения атак по
11 Реализация проста и заключается в применении пары операций
12 шифрования/дешифрования над ключом и вектором инициализации.
15 # для каждого KiB данных
16 def mesh(old_key, old_iv):
17 new_key = ecb_decrypt(old_key, MESH_CONST)
18 new_iv = ecb_encrypt(old_key, old_iv)
19 return new_key, new_iv
22 На практике он себя уже проявил: есть @url{https://sweet32.info/, Sweet32}
23 атака на все 64-битные блочные шифры, которая при использовании алгоритма
24 запутывания ключа уже не применима.