|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Anatoly Mashanov 2:5070/282 02 Dec 2004 17:56:46 To : Spartak Radchenko Subject : FAQ -------------------------------------------------------------------------------- 01 Dec 04 14:35, you wrote to me: AM>> Обломись. Для 64 битного ключа тебе придется сделать 2**64 AM>> попыток. Для двух ключей по 32 - 2^32 * 2^32. SR> А что, 2^64 чем-то отличается от 2^32*2^32? Hичем. Проблема в дальнейшем. Для того, чтобы тупым перебором вскрыть ключ в 64 разряда, нужно проверить 2^64 ключа. Для этого нужно 2^64 вычисления. Для того, чтобы проверить 2^32 * 2^32 ключа, достаточно 2^64 вычисления, но существуют способы, позволяющие сократить количество вычислений. Hе нужно каждый раз вычислять левое 2^32, его достаточно вычислить один раз на все правые вычисления, и тогда получится, что нужно провести всего лишь 2^32 левых вычислений и 2^64 правых, но правые вычисления имеют длину вдвое меньше бит, поэтому объем вычислений очевидным образом падает вдвое. Более того. Если у тебя имеется память в 2^32 кодовых блока с ассоциативным доступом, что составляет всего лишь 4 гигаблока, то ты можешь вычислить все левые части и все правые части по отдельности и затем просто найти по таблице все ключи, чтобы левое вычисление давало результат, равный аргументу правого, дающего заданный выход. Для этого достаточно 2^33 вычислений. Если проц дает 1000 MIPS и нужно 1000 команд на ключ, ключ будет сломан за 8000 секунд. Anatoly --- Табуретка платино-иридиевая, инв. номер 1.1.4.7 GoldED+/BSD * Origin: Imago (Irkutsk) (2:5070/282) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/229841aedb6b.html, оценка из 5, голосов 10
|