From c24c446ba9bbf0fcc611e36ade7ade0ae2ccf713 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Sat, 2 Sep 2017 12:16:09 +0300 Subject: [PATCH] Key meshing example --- en/meshing.texi | 8 ++++++++ ru/meshing.texi | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/en/meshing.texi b/en/meshing.texi index ff3292b..2521f71 100644 --- a/en/meshing.texi +++ b/en/meshing.texi @@ -10,6 +10,14 @@ developers tell that it is intended to resist side-channel attacks. Implementation is rather simple and uses two crypt/decrypt operations over the key and initialization vector. +@verbatim +# for each KiB of data +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 + It has already showed usefulness: there is @url{https://sweet32.info/, Sweet32} attack on all 64-bit blockciphers, that is not applicable to when key meshing used. diff --git a/ru/meshing.texi b/ru/meshing.texi index 90cce0e..8f9043b 100644 --- a/ru/meshing.texi +++ b/ru/meshing.texi @@ -11,6 +11,14 @@ Реализация проста и заключается в применении пары операций шифрования/дешифрования над ключом и вектором инициализации. +@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-битные блочные шифры, которая при использовании алгоритма запутывания ключа уже не применима. -- 2.44.0