Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Шифрование XOR 
:(
    Опции темы
ShowMessage
Дата 14.9.2006, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 14.9.2006

Репутация: нет
Всего: нет



Здравствуйте!

Немогли бы вы помочь мне с расшифровкой текста который был зашифрован алгаритмом XOR 
вот это оригинал "test123"  а вот что получается после шифрования "07 00 00 00 de cf d9 de 9b 98 99", если кто может то дайте небольшой пример как расшифровать его.

Заранее благодарен. 
PM MAIL   Вверх
skyboy
Дата 14.9.2006, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 4
Всего: 260



ShowMessage, если это и XOR, то замысловатый, потому как 
t -> 07 
e -> 00
s -> 00
t -> 00
Т.е. одна и та же буква "t" после кодирования даёт один и тот же код. 
Что это за задача? Из чего ясно, что это XOR?
PM MAIL   Вверх
Alexeis
Дата 14.9.2006, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



ShowMessage, длинна шифровки должна совподать с длинной исходного текста, а тут выходить 11 против 7, значит не просто XOR.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
dumb
Дата 14.9.2006, 01:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 13
Всего: 158



07 00 00 00 - это длина строчки. s[i] := s[i] xor $AA;
PM MAIL   Вверх
ShowMessage
Дата 14.9.2006, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 14.9.2006

Репутация: нет
Всего: нет



так что никто незнает алгоритма которым можно расшифровать?
PM MAIL   Вверх
Romikgy
Дата 14.9.2006, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



ShowMessage, ты че?
Цитата(dumb @  14.9.2006,  00:24 Найти цитируемый пост)
07 00 00 00 - это длина строчки. s[i] := s[i] xor $AA; 

а это что?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Snowy
Дата 14.9.2006, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



У ксора алгоритм расшифровки тот же, что и шифрования.
PM MAIL   Вверх
s0neg
Дата 14.9.2006, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


under constraction



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.9.2006
Где: Behind You

Репутация: 1
Всего: 1



Вот написал небольшой пример. Писал "на коленке", но по идее должен работать:
Код

function DoCode(Source: string): string;
var
  i: integer;
  s: string;
begin
  s := IntToHex(Length(Source), 2) + ' ';
  s := s + '00 00 00';
  for i := 1 to Length(Source) do
  begin
    Source[i] := Chr(Ord(Source[i]) xor Ord(Code));
    s := s + ' ' + IntToHex(Ord(Source[i]), 2);
  end;
  Result := s;
end;

function DoEnCode(Source: string): string;
var
  i: integer;
  s: string;
begin
  Source := StringReplace(Source, #32, '', [rfReplaceAll]);
  Delete(Source, 1, 8);
  for i := 1 to Length(Source) div 2 do
  begin
    s := s + Char(StrToInt('$' + Copy(Source, 1, 2)));
    s[i] := Chr(Ord(s[i]) xor Ord(Code));
    Delete(Source, 1, 2);
  end;
  Result := s;
end;

PM MAIL   Вверх
Snowy
Дата 14.9.2006, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



smile

Добавлено @ 14:19 
Цитата(ShowMessage @  14.9.2006,  00:27 Найти цитируемый пост)
07 00 00 00 de cf d9 de 9b 98 99
Это не строка, а байты записанные в файл через TWriter.WriteString
Человек просто скопировал их из HexEditor'a

Нужно всего лишь прочитать эту строку TReader'ом и декодить:
Код

  for i := 1 to Length(s) do s[i] := s[i] xor $AA; 

PM MAIL   Вверх
Romikgy
Дата 14.9.2006, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



s0neg, а что будет в 
Цитата(s0neg @  14.9.2006,  13:12 Найти цитируемый пост)
function DoCode(Source: string): string;

если строка будет более 255 символов smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
s0neg
Дата 14.9.2006, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


under constraction



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.9.2006
Где: Behind You

Репутация: 1
Всего: 1



Я просто хотел привести пример ShowMessage`у.  smile Остальное пусть дописывает под свои нужды.  smile 
PM MAIL   Вверх
ShowMessage
Дата 14.9.2006, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 14.9.2006

Репутация: нет
Всего: нет



 s[i] := Chr(Ord(s[i]) xor Ord(Code));

code - это что такое? тоесть как её обозначить?
пишет что незадекларированна
PM MAIL   Вверх
s0neg
Дата 14.9.2006, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


under constraction



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.9.2006
Где: Behind You

Репутация: 1
Всего: 1



Извини забыл добавить...
Код

const
  Code = $AA;


PM MAIL   Вверх
ShowMessage
Дата 15.9.2006, 02:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 14.9.2006

Репутация: нет
Всего: нет



"s0neg" чтото неработает ничего нерасшифровываеет строку мою что давал в примере... smile 
PM MAIL   Вверх
Fedia
Дата 15.9.2006, 04:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 465
Регистрация: 2.8.2006
Где: первым встречаю р ассвет

Репутация: 8
Всего: 13



ShowMessage, 
Код

var
  ArB: array[1..7] of Char;
  i: Integer;
begin
  //de cf d9 de 9b 98 99
  ArB[1]:=Char($de);
  ArB[2]:=Char($cf);
  ArB[3]:=Char($d9);
  ArB[4]:=Char($de);
  ArB[5]:=Char($9b);
  ArB[6]:=Char($98);
  ArB[7]:=Char($99);
  for i:=1 to 7 do
  ArB[i]:=Char(Ord(ArB[i]) xor $AA);
  ShowMessage(string(ArB));
end;
 Не мучайся !


--------------------
Накануне решающей битвы
Я иду, и надеждою зыбкой
Озаряется эта дорога,
Я мечтаю увидеть улыбку
На лице победившего Бога…
PM MAIL ICQ   Вверх
ShowMessage
Дата 15.9.2006, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 14.9.2006

Репутация: нет
Всего: нет



спасибо!!!

а почему он другие строки нехочет расшифровывать например таже самая строка "test123"но толкьо в таком виде "ab ba ac ab ee ed ec"
зависит от ключа? если да то может подскажеш как его определить или ещё как можно наверное сделать?

Это сообщение отредактировал(а) ShowMessage - 15.9.2006, 11:13
PM MAIL   Вверх
Fedia
Дата 15.9.2006, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 465
Регистрация: 2.8.2006
Где: первым встречаю р ассвет

Репутация: 8
Всего: 13



Если точно знаешь хотя бы одну букву, то сначала ищешь ключ, а потом расшифровываешь:
Код

var
  i: Integer;
begin
  for i:=0 to 255 do
  if Char($ab xor i) = 't' then
  ShowMessage(IntToHex(i, 2) + ' - ключ');
end;

//....................
var    
  ArB: array[1..7] of Char;
  i: Integer;
begin
  //ab ba ac ab ee ed ec
  ArB[1]:=Char($ab);
  ArB[2]:=Char($ba);
  ArB[3]:=Char($ac);
  ArB[4]:=Char($ab);
  ArB[5]:=Char($ee);
  ArB[6]:=Char($ed);
  ArB[7]:=Char($ec);
  for i:=1 to 7 do
  ArB[i]:=Char(Ord(ArB[i]) xor $DF);
  ShowMessage(string(ArB));
end;



--------------------
Накануне решающей битвы
Я иду, и надеждою зыбкой
Озаряется эта дорога,
Я мечтаю увидеть улыбку
На лице победившего Бога…
PM MAIL ICQ   Вверх
Alexeis
Дата 15.9.2006, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Код

var
  i: Integer;
begin
  for i:=0 to 255 do
  if Char($ab xor i) = 't' then
  ShowMessage(IntToHex(i, 2) + ' - ключ');


не проще из ArB[1]:=Char($de); сразу без циклов?
Код

ShowMessage(IntToHex(Ord('t') xor $DE, 2));

Fedia, так все красиво получается если ключ короткий однобайтовый
когда ключ длинный его подборка куда более трудное дело.

Это сообщение отредактировал(а) alexeis1 - 15.9.2006, 12:43


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
sergejzr
Дата 15.9.2006, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 1
Всего: 360



А если длина ключа = длина текста, то лучше не зашифруешь вообще smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Fedia
Дата 15.9.2006, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 465
Регистрация: 2.8.2006
Где: первым встречаю р ассвет

Репутация: 8
Всего: 13



Цитата(alexeis1 @  15.9.2006,  12:41 Найти цитируемый пост)
не проще из ArB[1]:=Char($de); сразу без циклов?

Проще конечно и быстрее. Я писал из расчета, что массив может быть заполнен самыми разными способами. Например, из файла или из ресурса.
Цитата(alexeis1 @  15.9.2006,  12:41 Найти цитируемый пост)
Fedia, так все красиво получается если ключ короткий однобайтовый
когда ключ длинный его подборка куда более трудное дело.

Понятное дело. Кстати не в курсе, если ключ сделать изменяющимся в зависимости, например от номера символа, то название алгоритма шифрования все равно будет: "XOR шифрование". Или такое название имеет только шифр со статическим ключом ?


--------------------
Накануне решающей битвы
Я иду, и надеждою зыбкой
Озаряется эта дорога,
Я мечтаю увидеть улыбку
На лице победившего Бога…
PM MAIL ICQ   Вверх
Alexeis
Дата 15.9.2006, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(sergejzr @  15.9.2006,  12:50 Найти цитируемый пост)
А если длина ключа = длина текста, то лучше не зашифруешь вообще

Это только если ключ состоит сплошь из случайных чисел.



--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
sergejzr
Дата 15.9.2006, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 1
Всего: 360



Цитата(alexeis1 @  15.9.2006,  11:46 Найти цитируемый пост)
Это только если ключ состоит сплошь из случайных чисел.

Из чего бы не состоял.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Fedia
Дата 15.9.2006, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 465
Регистрация: 2.8.2006
Где: первым встречаю р ассвет

Репутация: 8
Всего: 13



Цитата(sergejzr @  15.9.2006,  12:50 Найти цитируемый пост)
А если длина ключа = длина текста, то лучше не зашифруешь вообще

Чем этот способ так хорош ?


--------------------
Накануне решающей битвы
Я иду, и надеждою зыбкой
Озаряется эта дорога,
Я мечтаю увидеть улыбку
На лице победившего Бога…
PM MAIL ICQ   Вверх
Alexeis
Дата 15.9.2006, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Нетушки если текст достаточно длинный, а ключ состоит не из случайных чисел, то используя, например хотя бы статистику можно выявить закономерности, а тем более если имеется некоторая информация о содержимом, то такие шифровки ломаются.

Добавлено @ 14:02 
Цитата(Fedia @  15.9.2006,  13:56 Найти цитируемый пост)
Чем этот способ так хорош ? 

Это так называемый абсалютно стойкий ключ, взломать который не возможно даже теоретически


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 15.9.2006, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



XOR элементарно ломается независимо от сложности ключа.
PM MAIL   Вверх
sergejzr
Дата 15.9.2006, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 1
Всего: 360



Цитата(Fedia @  15.9.2006,  11:56 Найти цитируемый пост)
Чем этот способ так хорош ? 

Потому что из текста длиной М во время подбора ключа сгенерируется любой текст длинны М. 

То есть, если я например шифрую слово "тест",
то подбирая различные ключи я получу и "мест", и "коты" и "туша", итд. То есть любое слово из четырёх букв. Какое из них верно? 


Цитата(alexeis1 @  15.9.2006,  11:59 Найти цитируемый пост)
Нетушки если текст достаточно длинный, а ключ состоит не из случайных чисел, то используя, например хотя бы статистику можно выявить закономерности, а тем более если имеется некоторая информация о содержимом, то такие шифровки ломаются. 

Ключ должен быть естественно всегда разный(длина мессаги ведь тоже в большинстве случаев разная). Как он генерируется - не важно.
Потому что см. выше.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Alexeis
Дата 15.9.2006, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(Snowy @  15.9.2006,  14:03 Найти цитируемый пост)
элементарно ломается 

Не может быть!!! Как это? Ведь при операции xor c рэндомизироваными числами мы опять получаем последовательность случайных чисел....


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Fedia
Дата 15.9.2006, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 465
Регистрация: 2.8.2006
Где: первым встречаю р ассвет

Репутация: 8
Всего: 13



Цитата(Snowy @  15.9.2006,  14:03 Найти цитируемый пост)
XOR элементарно ломается независимо от сложности ключа.

А если ключ от символа к символу меняется по достаточно сложному алгоритму ? Мне кажется заколеблешься его ломать. Хотя наверняка есть уже проработанные методики...


--------------------
Накануне решающей битвы
Я иду, и надеждою зыбкой
Озаряется эта дорога,
Я мечтаю увидеть улыбку
На лице победившего Бога…
PM MAIL ICQ   Вверх
sergejzr
Дата 15.9.2006, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 1
Всего: 360



Цитата(Fedia @  15.9.2006,  12:10 Найти цитируемый пост)
А если ключ от символа к символу меняется по достаточно сложному алгоритму ? Мне кажется заколеблешься его ломать. Хотя наверняка есть уже проработанные методики... 

Зависимость ключа от шифруемой информации - вот "ключ к победе" smile Например DES алгоритмы. Это кстати ответ на вопрос: 
Цитата(Fedia @  15.9.2006,  11:26 Найти цитируемый пост)
если ключ сделать изменяющимся в зависимости, например от номера символа, то название алгоритма шифрования все равно будет: "XOR шифрование". Или такое название имеет только шифр со статическим ключом ? 

В ДЕС также используется XOR. Дополнительно, в зависимости от шифруемого блока ключ подменяется.

Так что велосипед изобретать не обязательно, лучше литературу почитать. Умные дяди многое за нас сделали smile)))



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Snowy
Дата 15.9.2006, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Ключ не может быть рэндомным, т.к. для декодирования его нужно повторить.
Информация, которую не может декодировать получатель - это уже не шифрованная, а испорченная.

Что касается ключа, создаваемого по сложному алгоритму - это уже не XOR.
Тут уже сам XOR выступает в качестве вспомогательного действия.
Чистый XOR - с фиксированным ключём. Вычислить такой ключ не представляет никакой проблемы.

Добавлено @ 14:22 
XOR - это вообще не шифрование, а битовая операция smile
Такое "Шифрование" сравнимо с изменением кодировки.
PM MAIL   Вверх
BUGOR
Дата 15.9.2006, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 5
Всего: 16



Snowy, ну я дам тебе данные типа: %:№ЫВМмКМСывсмсмдл4о4;;;а;;;аамВЫПИсСК; поксоренные на фиксированный ключ длинной четыре байта(а даже если и один байт, принципиально ничего не меняет): 45FDE433h... интересно как ты получишь верный расшифрованый текст. Тут много условностей. 


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
sergejzr
Дата 15.9.2006, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 1
Всего: 360



Цитата(Snowy @  15.9.2006,  12:21 Найти цитируемый пост)
Чистый XOR - с фиксированным ключём. Вычислить такой ключ не представляет никакой проблемы. 

Опять же от длины ключа зависит. smile рискну предположить, что для текста длиной М > 100, ключ длиной М/4 Довольно крепкий и создаст множество проблем.

Цитата(Snowy @  15.9.2006,  12:21 Найти цитируемый пост)
Ключ не может быть рэндомным, т.к. для декодирования его нужно повторить.
Информация, которую не может декодировать получатель - это уже не шифрованная, а испорченная.

Раньше таким образом кодировали например переговоры президентов. То есть генерился рэндомный ключ часа на 2 и человек в чемоданчике перевозил его за окиян. при условии, что шпиён ключик не получит, главам государств можно было эти 2 часа спокойно болтать бет опаски, что кто-то может подслушать.



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Snowy
Дата 15.9.2006, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Но речь-то идёт о повторяемости.
Где вы видели одноразовые ключи?
Взлом ключа как раз и основан на анализе повторяемости.
Если мы знаем кодированную фразу - получение ключа очевидно.
Если не знаем, то проводим модификацию исходных данных, смотрим в чём разница.

PM MAIL   Вверх
sergejzr
Дата 15.9.2006, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 1
Всего: 360



Цитата(Snowy @  15.9.2006,  12:35 Найти цитируемый пост)
Где вы видели одноразовые ключи?

Ну везде, где можно (Diffie-Hellmann) например. Где ключи могут генерится для каждого сеанса обмена информацией.

Добавлено @ 14:47 
Цитата(Snowy @  15.9.2006,  12:35 Найти цитируемый пост)
Взлом ключа как раз и основан на анализе повторяемости.

Повторяемости ключа или повтояемости в ключе. Вот в чём вопрос smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Alexeis
Дата 15.9.2006, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(Snowy @  15.9.2006,  14:35 Найти цитируемый пост)
Взлом ключа как раз и основан на анализе повторяемости.

Так и я об этом говорю если ключ имеет длину шифровки и состоит из сплошь случайных чисел, то его невозможно взломать.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ShowMessage
Дата 15.9.2006, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 14.9.2006

Репутация: нет
Всего: нет



Цитата(Fedia @ 15.9.2006,  12:02)
Если точно знаешь хотя бы одну букву, то сначала ищешь ключ, а потом расшифровываешь:
Код

var
  i: Integer;
begin
  for i:=0 to 255 do
  if Char($ab xor i) = 't' then
  ShowMessage(IntToHex(i, 2) + ' - ключ');
end;

//....................
var    
  ArB: array[1..7] of Char;
  i: Integer;
begin
  //ab ba ac ab ee ed ec
  ArB[1]:=Char($ab);
  ArB[2]:=Char($ba);
  ArB[3]:=Char($ac);
  ArB[4]:=Char($ab);
  ArB[5]:=Char($ee);
  ArB[6]:=Char($ed);
  ArB[7]:=Char($ec);
  for i:=1 to 7 do
  ArB[i]:=Char(Ord(ArB[i]) xor $DF);
  ShowMessage(string(ArB));
end;

а если я незнаю никакой буквы то как быть тогда все перебирать чтоли)? если попробывать все перебрать то он может нетак расшифровать или всётаки есть какоенить решение чтоб перебрать все возможные ключи ???
PM MAIL   Вверх
Alexeis
Дата 16.9.2006, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(ShowMessage @  15.9.2006,  23:03 Найти цитируемый пост)
тоб перебрать все возможные ключи ???

А че тут переберать 256 вариантов  всего  smile 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Fedia
Дата 18.9.2006, 04:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 465
Регистрация: 2.8.2006
Где: первым встречаю р ассвет

Репутация: 8
Всего: 13



Цитата(ShowMessage @  15.9.2006,  23:03 Найти цитируемый пост)
а если я незнаю никакой буквы то как быть тогда все перебирать чтоли)?

Тут alexeis1 совершенно прав, с однобайтовым ключом ты получишь только 256 выриантов.
Цитата(ShowMessage @  15.9.2006,  23:03 Найти цитируемый пост)
 если попробывать все перебрать то он может нетак расшифровать

В случае с однобайтовым ключом маловероятно, что при использовании неправильного ключа ты получишь удобочитаемый текст.

Цитата(ShowMessage @  15.9.2006,  23:03 Найти цитируемый пост)
 или всётаки есть какоенить решение чтоб перебрать все возможные ключи ???

Возможные ключи, судя по твоим примерам, лежат в диапазоне от 0 до 255. Производишь декодирование в цикле, с сохранением результатов, просматриваешь результаты, визуально выбирая правильный.
Для сокращения количества результирующих вариантов, используемых при визуальном анализе, можно реализовать перебор вариантов ключа с последующей попыткой найти в декодированном тексте последовательности символов из словаря возможных значений.
Вообще не являюсь сколько-нибудь профессиональным взломщиком, поэтому предложить наиболее оптимальный вариант решения проблемы возможно не смогу.


--------------------
Накануне решающей битвы
Я иду, и надеждою зыбкой
Озаряется эта дорога,
Я мечтаю увидеть улыбку
На лице победившего Бога…
PM MAIL ICQ   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0982 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.