]> Cypherpunks.ru repositories - gost-www.git/blobdiff - ru/meshing.texi
Key meshing example
[gost-www.git] / ru / meshing.texi
index 51053ed1fdaf8b68320a5270ae99f84b2e69e483..8f9043bdcee542aed71cc10da9051c5172af55d1 100644 (file)
@@ -3,7 +3,7 @@
 
 Алгоритм запутывания ключа (key meshing) не имеет аналогов в Западных
 алгоритмах. Его суть: делать смену ключа каждый килобайт зашифрованных
-даннÑ\8bÑ\85. Ð\9fÑ\80именÑ\8fеÑ\82Ñ\81Ñ\8f Ñ\81овмеÑ\81Ñ\82но Ñ\81 @ref{ru2814789, Ð\9cагмой} и описан в
+даннÑ\8bÑ\85. Ð\9fÑ\80именÑ\8fеÑ\82Ñ\81Ñ\8f Ñ\81овмеÑ\81Ñ\82но Ñ\81 @ref{ru2814789, Ð\93Ð\9eСТ 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-битные блочные шифры, которая при использовании алгоритма
-запутывания ключа уже неприменима к Магме.
+запутывания ключа уже не применима.