есть 128 бит открытого текста и соответствющие 128 бит зашифрованного стандартным DES реально ли найти ключ шифрования
По идее: берем кол-во возможных комбинаций (3.4028236692093846346337460743177e+38), берем супер алгоритм брутфорсящий комбинацию за 1 такт и пенёк с частотой 3ГГц (3000000000 тактов\комбинаций в секунду), считаем: 3.4028236692093846346337460743177e+38/3000000000 = 113427455640312821154458202477.23 сек/60 = 1890457594005213685907636707.9539 мин/60 = 31507626566753561431793945.132565 час/24 = 1312817773614731726324747.7138569 дня/365 = 3596761023602004729656.8430516627 лет
ZEEMAN, а что за des 128 bit ? или это два блока? тогда у bogrus подсчеты неверные, возможных ключей - 18446744073709551616 а если 3des , тогда да ...вселенная меньше живет
Какой бы там DES нибыл, подозреваю у нас обоих подсчеты не очень верные , вот вычитал: http://reng.ru/board/viewtopic.php?t=2106&highlight=des+128 HarmEr Конечно этот вариант куда реальнее ...
bogrus Не совсем понятно к чему эта цитата, на reng.ru было сказано, что известны 2 байта ключа, отсюда и цифры. ZEEMAN Если про ключ не известно ничего, то надо перебирать все 2<sup>56</sup>(примерно 7*10<sup>16</sup>) комбинаций. С помощью дифференциального криптоанализа можно довести до примерно 2<sup>47</sup> комбинаций, но тогда здорово возрастет overhead. Специальные машины справляются с этим перебором за 1-2 дня, если перебирать самому, то уложишься наверное в пару недель.
to Stiver про пару недель - шутка хорошая, хотя сейчас рекорд менее суток на des, но использовались огромные мощности, что касается дифференциального криптоанализа, это на практике не поможет - тк нужно огромное кол-во пар открытый/закрытый текст, кстати в случае в брутфорсами не особо помогает и знание что 1 бит идет на четность, тк брутить приходится все равно 8 байт (64 bit), иначе большие потери времени на откидывание ключей. помогает только в том что скажем при ключе [0303030303030303] коллизия произойдет раньше на ключе [0202020202020202] ...это и радует ....в остальном 64 bit перебирать как не крути ....des реально стойкий против всех вариантов криптоанализа
bogrus Стойкость простого DES - 56 бит (и не придумывай из ниоткуда 42 бита) - 64 бита всего, из них 8 - контроль четности. ZEEMAN Да, специализированная сборка из миллиона ПЛМ, имеющаяся у США, подбирает ключ меньше чем за день. Нечто подобное можно попробовать сделать за счет распределения вычислений (если у тебя есть тысяча знакомых или например botnet), но все равно время получится основательное - я думаю не меньше года - 2^56 все еще очень немаленькая величина.
Можно прикинуть зависимость времени перебора от кол-ва тактов на итерацию и доступного парка машин, для 2^56 при 3ГГц (средневероятное время пусть в два раза меньше) Code (Text): такт | 1 шт | 100 шт | 1000 шт | ================================================ 1 | 278 дней | 2.78 дней | 0.278 дней | ================================================ 100 | 27800 дней | 278 дней | 27.8 дней | ================================================ 1000 | 278000 дней | 2780 дней | 278 дней | ================================================ С DES не сталкивался, сколько там ~ тактов уйдет на комбинацию не знаю, ещё интересно как формируется ключ, если хеши от пароля - попробовать прогнать по словарю, если повезет пол дня и ключ на руках
yureckor Лишнее время пойдет только на формирование хешей по словарю, допустим словарь на 20000 слов и хеш 8 байт, получится 156Кб словарных хешей, располагаешь их в памяти один за другим, потом при брутфорсе вместо обычного инкремента ключа используется увеличение(+8) указателя на хеш, дальше обычная расшифровка блока и сравнение, просто всего 20000 комбинаций прогнать, как наиболее вероятные
я не знаю как устроен DES, но с прогоном начальных хешей понятно, а вот >...обычная расшифровка блока и сравнение... Сравнение с чем? Как определить что мы расшифровали блок? Или в DES crc расшифрованого блока стоит? Но и тогда вариантов все равно много; если знать что расшифровывается текст, то надо проверять расшифрованный блок с верной crc на "текстовость".
yureckor У ZEEMAN "есть 128 бит открытого текста и соответствющие 128 бит зашифрованного", соотв. сверить есть с чем (все-равно при encrypt или decrypt)
MHz Я имел в виду перебор 2<sup>47</sup>, хотя похоже все равно немного погорячился Но ты прав, что касается объемов данных - для частного лица очень дорого выйдет. OLS Можно еще купить время на большой машине, если по шее не дадут когда узнают для чего