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