Next: ГОСТ Р 34.11-94, Previous: ГОСТ 28147-89 режимы шифрования, Up: ГОСТ криптография
Алгоритм запутывания ключа (key meshing) не имеет аналогов в Западных алгоритмах. Его суть: делать смену ключа каждый килобайт зашифрованных данных. Применяется совместно с ГОСТ 28147-89 и описан в RFC 4357. По заверению разработчиков из КриптоПро, он служит для усложнения проведения атак по побочным каналам.
Реализация проста и заключается в применении пары операций шифрования/дешифрования над ключом и вектором инициализации.
# для каждого 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
На практике он себя уже проявил: есть Sweet32 атака на все 64-битные блочные шифры, которая при использовании алгоритма запутывания ключа уже не применима.