Сейчас на форуме: Rio (+10 невидимых) |
eXeL@B —› Основной форум —› AES. Имея исходный кусок и криптованный возможно ли восстановить ключ ? |
Посл.ответ | Сообщение |
|
Создано: 23 марта 2006 03:31 · Поправил: ToBad · Личное сообщение · #1 Известно, что алгоритм AES. Имея исходный кусок и криптованный возможно ли восстановить ключ ? Вот пример: Исходный: 0000000000: 4D 5A 50 00 02 00 00 00 │ 04 00 0F 00 FF FF 00 00 MZP ☻ ♦ ☼
Криптованный: 0000000000: 81 ED 23 00 F5 CA 22 F9 │ 4E 37 4B 27 F1 8C 4F 3F Бэ# ї╩"∙N7K'ёМO?
Ключ передающийся в процедуру (в HEX): 33 45 36 32 39 37 30 44 44 35 46 37 42 30 39 46 В этом случае ключ уже есть. Это пример. Прошу не пинать сильно. Понимаю, что найти можно массу книг по криптографии, интересные статьи и описание почти всех алгоритмов с исходниками. Меня интересует перспектива нахождения ключа имея только криптованный EXE и сложность этого. Буквально в двух словах. Может софтинка есть какая для этого ? Вижу явно повторяющиеся куски, тем более это заголовок EXE и складывается впечатление, что всё совсем не сложно, только я не знаю как. |
|
Создано: 23 марта 2006 07:22 · Личное сообщение · #2 ToBadToBad пишет: Известно, что алгоритм AES. Имея исходный кусок и криптованный возможно ли восстановить ключ ? 1) Ключ, точнее ключевое слово, которое ты привел сначала преобразуется в "ключ криптования" и именно он используется в алгоритме. Судя по периодическим частям и высказываниям, что 128 бит сейчас мало - его длина 256 бит. 2) Восстановить "ключ криптования" зная исходный кусок и криптованный можно, но для правильных алгоритмов требует, либо огромных вычислительных мощностей, либо большого времени. AES вроде именно такой, т.ч. займись более продуктивными задачами. |
|
Создано: 23 марта 2006 07:24 · Личное сообщение · #3 ToBad пишет: складывается впечатление, что всё совсем не сложно Мне когда-то тоже так казалось... Пока я сам не попробовал... Прога работала 2 дня без перерыва. Ничего так и не наработала. Хотя малюсенькие файлы раскриптовывала. У меня там была проверка, чтобы первые 4 байта в буфере соответствовали сигнатуре. Так и работало. ----- MicroSoft? Is it some kind of a toilet paper? |
|
Создано: 23 марта 2006 07:34 · Личное сообщение · #4 ToBad Ха-ха-ха!!! Я вначале на этот топик зашел, потом на твой ответ про е-буки. Теперь ты иди смотри на мой ответ. Вообще чушь получилась с ответами и рассуждениями!!! Ржунимагу! ----- MicroSoft? Is it some kind of a toilet paper? |
|
Создано: 23 марта 2006 14:36 · Личное сообщение · #5 tundra37 пишет: Судя по периодическим частям и высказываниям, что 128 бит сейчас мало - его длина 256 бит. Глядя 16 байтные повторения в блоке с нулями мне показалось, что ключ 128 бит. Хотя я могу ошибаться. Как мне кажется каждые 16 байт кодируются независимо друг от друга одним и тем же ключом. Судя по повторениям. Tim пишет: Я вначале на этот топик зашел, потом на твой ответ про е-буки. Да, ты правильно провёл аналогию. Речь идёт о книге. Скажу сразу, что имея одну рабочую версию - отрывается элементарно. Достаточно в нужном месте подкинуть такой ключик как я привёл и не зависимо от введённого кода и конфигурации железа - всё работает. Но вот когда ключика нет... Насчёт сравнения с Раром - не знаю. По крайней мере когда смотришь в запароленный рар таких явных повторяющихся моментов не найдёшь, вот и не возникает желание ломать. А тут очень похоже на элементарное кодирование ксором. Мне кажется, что правильный алгоритм кодирования должен даже на мегабайте пробелов выдавать такой бред, где не увидишь повторяющихся кусков. А тут так явно видно.... Блин. Так хотелось услышать компетентный ответ хотя бы типа: Что бы найти ключ превращающий DB 9F B5 03 97 71 98 DD 31 D6 9C A4 A5 0E 63 D7 в 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 зная что это AES 128, тебе потребуется брутфорсить много лет..... Или что кроме брутфорса вариантов нет.... |
|
Создано: 23 марта 2006 15:19 · Личное сообщение · #6 Ну нарассуждали!... Ключ 128 бит, размер блока 128 бит. Нет там 256. Но и 128 бит перебрать тотальным опробыванием НЕВОЗМОЖНО! Это доказывается. Одна из задач любого криптоалгоритма (и AES в том числе) обеспечить стойкость к атакам на основе открытого текста - т.е. должно быть нереально (в преемлемое время) восстановить ключ по известной паре открытый/шифрованый текст. А повторяющиеся куски там встречаются, потому что применено шифрование в режиме простой замены (без сцепления блоков) и не используется предварительная упаковка. Во многих случаях этот режим использовать не рекомендуется, но при правильном (случайном) выборе ключа длиной 128 бит, это вполне стойко. |
|
Создано: 23 марта 2006 15:34 · Поправил: tundra37 · Личное сообщение · #7 ToBad пишет: Глядя 16 байтные повторения в блоке с нулями мне показалось, что ключ 128 бит. Я осчитался - рано проснулся А тут очень похоже на элементарное кодирование ксором Там и есть ксор, только ключ меняется в зависимости от предыдущих/последующих байт. В данном случае придется прокручивать алгоритм до нулей и вычислить заранее какой будет ключ - невозможно. Точнее - наука не знает быстрого алгоритма Про AES ничего не знаю, это верно для blowfish. Я так думаю, что профессионалы по криптографии сюда редко заглядывают, а без университетского курса математики лучше этим не заниматься - поэтому вряд ли тебе скажут точно про AES. |
|
Создано: 23 марта 2006 17:22 · Поправил: Gelios · Личное сообщение · #8 "Одна из задач любого криптоалгоритма (и AES в том числе) обеспечить стойкость к атакам на основе открытого текста - т.е. должно быть нереально (в преемлемое время) восстановить ключ по известной паре открытый/шифрованый текст." да, но на самом деле можно, вот только таких пар нужно ОЧЕНЬ много. для конкретных алгоритмов можно найти конкретные цифры, но тут такой подход наверно не поможет |
|
Создано: 23 марта 2006 17:37 · Личное сообщение · #9 Вспомнил в чем там соль - в blowfish, думаю в AES тоже самое. Берется ключ и первый блок из файла и долго-долго "мурыжат", дальше используются простецкие преобразования блока и ключа. Именно из-за продолжительности начального этапа брут-форс требует массу времени. Поэтому периодичность в середине не должна радовать - возьми прогу для AES и зашифруй с нулями в первом блоке - там будет очень непериодично сначала. |
|
Создано: 24 марта 2006 00:07 · Личное сообщение · #10 Спасибо за высказывания. Теперь представляю всё более ясно. Действительно, смысла не имеет идти этим путём. По крайней мере трудозатраты на любой метод взлома без ключа, будь то брутфорс или попытка вычислить математически будут превосходить во много раз цену одной лицензии на книгу (а речь идёт именно о криптованных книгах) заимев которую патч делается за пять минут. По этому будем идти лёгким путём. |
|
Создано: 24 марта 2006 23:08 · Личное сообщение · #11 судя по закрытому тексту, юзается rijndael в режиме CBC БЕЗ использования вектора инициализаЦии, 4то, возможно, может помо4ь для атаки на отдельные блоки закрытого сообщения. может эта инфа 4ем-то поможет, если, коне4но, идею уже окон4ательно не забросил... ----- HOW MUCH BLOOD WOULD YOU SHED TO STAY ALIVE |
|
Создано: 25 марта 2006 01:00 · Личное сообщение · #12 ProTeuS пишет: может помо4ь для атаки на отдельные блоки Я так понял всё равно к брутфорсу приходим ? ProTeuS пишет: rijndael в режиме CBC БЕЗ использования вектора инициализаЦии Да, для меня это тёмный лес. Я в криптографии вообще не силён. Наверное придётся идею забросить, да и нет такой прямо острой необходимости, просто стало интересно насколько реально получить ключ. |
|
Создано: 25 марта 2006 01:28 · Личное сообщение · #13 |
|
Создано: 25 марта 2006 06:41 · Личное сообщение · #14 |
|
Создано: 25 марта 2006 08:32 · Поправил: tundra37 · Личное сообщение · #15 ToBad пишет: Я так понял всё равно к брутфорсу приходим ? Т.к. в середке файла есть шансы продолжить расшифровку до конца, то можно быстро восстановить "ключ" и расшифровать файл начиная от нулей. Но тут уж надо к спецам обращаться. Возможно в данном случае алгоритм построения "начального ключа" строит заведомо "слабый ключ", который на нулях прокалывается. Возможно AES вообще не предполагает передачи кучи нулей или ребята ошиблись с его реализацией. Возможно быстрого алгоритма построения "промежуточного ключа" вообще не существует, если алгоритм не симметричный ?! |
eXeL@B —› Основной форум —› AES. Имея исходный кусок и криптованный возможно ли восстановить ключ ? |