Реконструкция криптографических протоколов. Часть 10.
Апр,30
at1:38
отadmin
Если удалось найти хотя бы одну из использованных криптографических функций, обычно не очень сложно найти и все остальные. В этом очень помогает несколько эвристик.
Апр,30
at1:38
отadmin
Если удалось найти хотя бы одну из использованных криптографических функций, обычно не очень сложно найти и все остальные. В этом очень помогает несколько эвристик.
Апр,24
at1:37
отadmin
Когда известно, какие константы присутствуют в том или ином алгоритме, остается найти эти константы в теле исследуемой программы. Поиск можно выполнять вручную или воспользоваться готовым инструментом, таким как СС (Crypto Checker), созданный человеком с псевдонимом Aleph, или KANAL (Krypto ANALyzer), разработанный группой uNPACKiNG gODS.
Апр,21
at1:34
отadmin
В функции трансформации RIPEMD-160 последняя константа вместо 0хСАб2СШ6 имеет значение 0xA953FD4E, что соответствует 23OxSqrt(7).
Функция трансформации MD5 использует 64 константы, вычисляемые как 232xAbs(Sin(/)), где i — номер раунда, от 1 до 64. Sin(jt) вычисляет синус аргумента, заданного в радианах, a Abs(x) возвращает абсолютное значение х (без знака). Так, например, константы для первых четырех раундов равны 0xD76AA478, [...]
Апр,15
at1:33
отadmin
Если не удалось установить, какая библиотека использовалась при компиляции исследуемой программы, или нет возможности получить доступ к этой библиотеке, можно попытаться идентифицировать криптографические функции другим способом — по используемым константам.
Апр,09
at1:31
отadmin
После того как созданы шаблоны для всех функций, можно приступать непосредственно к идентификации. Для этого необходимо попытаться "приложить" шаблон каждой библиотечной функции к началу каждой функции в исследуемой программе. При совпадении всех неизменяемых байт шаблона функция считается опознанной. Однако необходимо учитывать, что несколько библиотечных функций могут иметь одинаковые шаблоны, как и один шаблон может соответствовать [...]
Апр,02
at1:29
отadmin
Если удалось установить, какая криптографическая библиотека была задействована при разработке программы, или если это не удалось, следующим этапом все равно будет идентификация криптографических примитивов.