From 64b4872b459a1defd7c46b85642b2361581ddde1 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Wed, 29 Jul 2020 20:49:01 +0300 Subject: [PATCH] =?utf8?q?=D0=A2=D0=9A26=20=D1=80=D0=B5=D0=BA=D0=BE=D0=BC?= =?utf8?q?=D0=B5=D0=BD=D0=B4=D0=B0=D1=86=D0=B8=D0=B8=20=D0=B2=D1=8B=D0=B7?= =?utf8?q?=D1=8B=D0=B2=D0=B0=D1=8E=D1=82=20=D1=8D=D0=BC=D0=BE=D1=86=D0=B8?= =?utf8?q?=D0=B8=20=D0=BF=D0=BE=D1=85=D0=BB=D0=B5=D1=89=D0=B5=20=D1=84?= =?utf8?q?=D0=B8=D0=BB=D1=8C=D0=BC=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Сегодня делал тестовые вектора для современных рекомендаций для CMS. Это нечто! HMAC, KDF, KDF-TREE, KEG... чтобы получить ключи. А для дешифрования нужно взять UKM, поделить на части, одна будет IV-ом для одной функи, другая для другой. Шифруется содержимое плюс MAC от него. Зашифрованный MAC при это хранится вообще в отдельном поле ASN.1 структуры. То есть что-то, что само по себе даже обрабатывается вместе -- делится на части и раскладывается по структурам, а что-то наоборот просто конкатенируется. Если нужны самые непонятные объяснения по самым простым вещам: аналогично пальма первенства у них. Раньше я поражался объяснению в целый абзац про little-endian представление целого числа. Много минут мне потребовалось чтобы с бумажкой понять что же они имеют в виду, не веря что это просто LE. Но сегодня это было переплюнуто пояснением про одно число, которое оказалось просто публичным ключом от приватного. Как выработать ключи для CMS целей? Где-то KDF надо использовать из одного стандарта, а где-то KEG функции из... ГОСТ TLS 1.2 стандарта. Плюс ещё добавить что их PDF-ки сделаны как-будто их распечатали, потом отсканировали, потом распознали и получайте хаотично разбитый по кускам текст при выделении/экспорте, да ещё в котором "1" может быть заменён на "l", "0" может на "O", латинские "ABCE" на кириллические аналоги. А теперь это всё ещё и в Base64 применить, причём в котором некоторые буквы "слиты" и преобразованы в один символ, поди догадайся какой. С этого можно забыть про IF-игры! Это для детей. Теперь моим challenge-ем будут попытки реализовать ГОСТовые рекомендации :-) Но среди них есть и такие, где мне просто тупо не хватает знаний математики даже для того чтобы интерпретировать/прочитать (не осознать, а просто прочитать) что там написано. Тут самое место будет слову ультра-насилие! -- 2.48.1