![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| ShowMessage |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
Здравствуйте!
Немогли бы вы помочь мне с расшифровкой текста который был зашифрован алгаритмом XOR вот это оригинал "test123" а вот что получается после шифрования "07 00 00 00 de cf d9 de 9b 98 99", если кто может то дайте небольшой пример как расшифровать его. Заранее благодарен. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 4 Всего: 260 |
ShowMessage, если это и XOR, то замысловатый, потому как
t -> 07 e -> 00 s -> 00 t -> 00 Т.е. одна и та же буква "t" после кодирования даёт один и тот же код. Что это за задача? Из чего ясно, что это XOR? |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
ShowMessage, длинна шифровки должна совподать с длинной исходного текста, а тут выходить 11 против 7, значит не просто XOR.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 13 Всего: 158 |
07 00 00 00 - это длина строчки. s[i] := s[i] xor $AA;
|
|||
|
||||
| ShowMessage |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
так что никто незнает алгоритма которым можно расшифровать?
|
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
ShowMessage, ты че?
а это что? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
У ксора алгоритм расшифровки тот же, что и шифрования.
|
|||
|
||||
| s0neg |
|
|||
![]() under constraction Профиль Группа: Участник Сообщений: 17 Регистрация: 10.9.2006 Где: Behind You Репутация: 1 Всего: 1 |
Вот написал небольшой пример. Писал "на коленке", но по идее должен работать:
|
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Добавлено @ 14:19 Это не строка, а байты записанные в файл через TWriter.WriteString Человек просто скопировал их из HexEditor'a Нужно всего лишь прочитать эту строку TReader'ом и декодить:
|
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
s0neg, а что будет в
если строка будет более 255 символов -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| s0neg |
|
|||
![]() under constraction Профиль Группа: Участник Сообщений: 17 Регистрация: 10.9.2006 Где: Behind You Репутация: 1 Всего: 1 |
Я просто хотел привести пример ShowMessage`у.
|
|||
|
||||
| ShowMessage |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
s[i] := Chr(Ord(s[i]) xor Ord(Code));
code - это что такое? тоесть как её обозначить? пишет что незадекларированна |
|||
|
||||
| s0neg |
|
|||
![]() under constraction Профиль Группа: Участник Сообщений: 17 Регистрация: 10.9.2006 Где: Behind You Репутация: 1 Всего: 1 |
Извини забыл добавить...
|
|||
|
||||
| ShowMessage |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
"s0neg" чтото неработает ничего нерасшифровываеет строку мою что давал в примере...
|
|||
|
||||
| Fedia |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 465 Регистрация: 2.8.2006 Где: первым встречаю р ассвет Репутация: 8 Всего: 13 |
ShowMessage,
-------------------- Накануне решающей битвы Я иду, и надеждою зыбкой Озаряется эта дорога, Я мечтаю увидеть улыбку На лице победившего Бога… |
|||
|
||||
| ShowMessage |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
спасибо!!!
а почему он другие строки нехочет расшифровывать например таже самая строка "test123"но толкьо в таком виде "ab ba ac ab ee ed ec" зависит от ключа? если да то может подскажеш как его определить или ещё как можно наверное сделать? Это сообщение отредактировал(а) ShowMessage - 15.9.2006, 11:13 |
|||
|
||||
| Fedia |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 465 Регистрация: 2.8.2006 Где: первым встречаю р ассвет Репутация: 8 Всего: 13 |
Если точно знаешь хотя бы одну букву, то сначала ищешь ключ, а потом расшифровываешь:
-------------------- Накануне решающей битвы Я иду, и надеждою зыбкой Озаряется эта дорога, Я мечтаю увидеть улыбку На лице победившего Бога… |
|||
|
||||
| Alexeis |
|
||||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
не проще из ArB[1]:=Char($de); сразу без циклов?
Fedia, так все красиво получается если ключ короткий однобайтовый когда ключ длинный его подборка куда более трудное дело. Это сообщение отредактировал(а) alexeis1 - 15.9.2006, 12:43 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||
|
|||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 1 Всего: 360 |
А если длина ключа = длина текста, то лучше не зашифруешь вообще
|
|||
|
||||
| Fedia |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 465 Регистрация: 2.8.2006 Где: первым встречаю р ассвет Репутация: 8 Всего: 13 |
Проще конечно и быстрее. Я писал из расчета, что массив может быть заполнен самыми разными способами. Например, из файла или из ресурса.
Понятное дело. Кстати не в курсе, если ключ сделать изменяющимся в зависимости, например от номера символа, то название алгоритма шифрования все равно будет: "XOR шифрование". Или такое название имеет только шифр со статическим ключом ? -------------------- Накануне решающей битвы Я иду, и надеждою зыбкой Озаряется эта дорога, Я мечтаю увидеть улыбку На лице победившего Бога… |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Это только если ключ состоит сплошь из случайных чисел. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 1 Всего: 360 |
Из чего бы не состоял. |
|||
|
||||
| Fedia |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 465 Регистрация: 2.8.2006 Где: первым встречаю р ассвет Репутация: 8 Всего: 13 |
Чем этот способ так хорош ? -------------------- Накануне решающей битвы Я иду, и надеждою зыбкой Озаряется эта дорога, Я мечтаю увидеть улыбку На лице победившего Бога… |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Нетушки если текст достаточно длинный, а ключ состоит не из случайных чисел, то используя, например хотя бы статистику можно выявить закономерности, а тем более если имеется некоторая информация о содержимом, то такие шифровки ломаются.
Добавлено @ 14:02 Это так называемый абсалютно стойкий ключ, взломать который не возможно даже теоретически -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
XOR элементарно ломается независимо от сложности ключа.
|
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 1 Всего: 360 |
Потому что из текста длиной М во время подбора ключа сгенерируется любой текст длинны М. То есть, если я например шифрую слово "тест", то подбирая различные ключи я получу и "мест", и "коты" и "туша", итд. То есть любое слово из четырёх букв. Какое из них верно? Ключ должен быть естественно всегда разный(длина мессаги ведь тоже в большинстве случаев разная). Как он генерируется - не важно. Потому что см. выше. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Не может быть!!! Как это? Ведь при операции xor c рэндомизироваными числами мы опять получаем последовательность случайных чисел.... -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Fedia |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 465 Регистрация: 2.8.2006 Где: первым встречаю р ассвет Репутация: 8 Всего: 13 |
А если ключ от символа к символу меняется по достаточно сложному алгоритму ? Мне кажется заколеблешься его ломать. Хотя наверняка есть уже проработанные методики... -------------------- Накануне решающей битвы Я иду, и надеждою зыбкой Озаряется эта дорога, Я мечтаю увидеть улыбку На лице победившего Бога… |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 1 Всего: 360 |
Зависимость ключа от шифруемой информации - вот "ключ к победе" В ДЕС также используется XOR. Дополнительно, в зависимости от шифруемого блока ключ подменяется. Так что велосипед изобретать не обязательно, лучше литературу почитать. Умные дяди многое за нас сделали |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Ключ не может быть рэндомным, т.к. для декодирования его нужно повторить.
Информация, которую не может декодировать получатель - это уже не шифрованная, а испорченная. Что касается ключа, создаваемого по сложному алгоритму - это уже не XOR. Тут уже сам XOR выступает в качестве вспомогательного действия. Чистый XOR - с фиксированным ключём. Вычислить такой ключ не представляет никакой проблемы. Добавлено @ 14:22 XOR - это вообще не шифрование, а битовая операция Такое "Шифрование" сравнимо с изменением кодировки. |
|||
|
||||
| BUGOR |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 5 Всего: 16 |
Snowy, ну я дам тебе данные типа: %:№ЫВМмКМСывсмсмдл4о4;;;а;;;аамВЫПИсСК; поксоренные на фиксированный ключ длинной четыре байта(а даже если и один байт, принципиально ничего не меняет): 45FDE433h... интересно как ты получишь верный расшифрованый текст. Тут много условностей.
|
|||
|
||||
| sergejzr |
|
||||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 1 Всего: 360 |
Опять же от длины ключа зависит.
Раньше таким образом кодировали например переговоры президентов. То есть генерился рэндомный ключ часа на 2 и человек в чемоданчике перевозил его за окиян. при условии, что шпиён ключик не получит, главам государств можно было эти 2 часа спокойно болтать бет опаски, что кто-то может подслушать. |
||||
|
|||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Но речь-то идёт о повторяемости.
Где вы видели одноразовые ключи? Взлом ключа как раз и основан на анализе повторяемости. Если мы знаем кодированную фразу - получение ключа очевидно. Если не знаем, то проводим модификацию исходных данных, смотрим в чём разница. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 1 Всего: 360 |
Ну везде, где можно (Diffie-Hellmann) например. Где ключи могут генерится для каждого сеанса обмена информацией. Добавлено @ 14:47 Повторяемости ключа или повтояемости в ключе. Вот в чём вопрос |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Так и я об этом говорю если ключ имеет длину шифровки и состоит из сплошь случайных чисел, то его невозможно взломать. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| ShowMessage |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
а если я незнаю никакой буквы то как быть тогда все перебирать чтоли)? если попробывать все перебрать то он может нетак расшифровать или всётаки есть какоенить решение чтоб перебрать все возможные ключи ??? |
||||
|
|||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
А че тут переберать 256 вариантов всего -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Fedia |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 465 Регистрация: 2.8.2006 Где: первым встречаю р ассвет Репутация: 8 Всего: 13 |
Тут alexeis1 совершенно прав, с однобайтовым ключом ты получишь только 256 выриантов.
В случае с однобайтовым ключом маловероятно, что при использовании неправильного ключа ты получишь удобочитаемый текст.
Возможные ключи, судя по твоим примерам, лежат в диапазоне от 0 до 255. Производишь декодирование в цикле, с сохранением результатов, просматриваешь результаты, визуально выбирая правильный. Для сокращения количества результирующих вариантов, используемых при визуальном анализе, можно реализовать перебор вариантов ключа с последующей попыткой найти в декодированном тексте последовательности символов из словаря возможных значений. Вообще не являюсь сколько-нибудь профессиональным взломщиком, поэтому предложить наиболее оптимальный вариант решения проблемы возможно не смогу. -------------------- Накануне решающей битвы Я иду, и надеждою зыбкой Озаряется эта дорога, Я мечтаю увидеть улыбку На лице победившего Бога… |
||||||
|
|||||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |