Форум: "Начинающим";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];
ВнизШифрование/дешифрование файлов Найти похожие ветки
← →
kash_d (2007-09-15 12:05) [0]Добрый день! проблема у меня такая: есть файл зашифрованый методом XOR известно что файл зашифрован по 4 байта и ключь тоже 4 байта. как мне читать файл кусками по 4 байта + это должно работать быстро? ну и моеж у кого есть соображения как остановить процесс перебора(в смысле проверить что ключь найден и текст расшифрован)
заранее спасибо!
← →
S@shka © (2007-09-15 15:20) [1]А ты что знаешь хотя бы косок исходного текста? Чтобы хоть как то определить правильность ключа.
← →
S@shka © (2007-09-15 15:25) [2]Что касается чтения...
var
Buf : Integer;
F : File of Inteter;
begin
assignfile (F,"cripto.file");
Reset (F);
while not Eof (F) do
begin
read (F,Buf);
...
end;
4 байта - это же Integer; - поэтому можно так
или
Buf : array [1..4] of Char;
F : File of Char; // of Byte
...
Reset (F,4);
..
read (F,Buf[1]);
← →
Anatoly Podgoretsky © (2007-09-15 15:27) [3]
> А ты что знаешь хотя бы косок исходного текста? Чтобы хоть
> как то определить правильность ключа.
4 миллиарда комбинаций и проверка глазами или ИИ
← →
Инс © (2007-09-15 15:42) [4]
> 4 миллиарда комбинаций и проверка глазами или ИИ
Если это просто текст (а тем более состоящий только из английских символов) - то гораздо проще.
← →
S@shka © (2007-09-15 17:48) [5]
> Если это просто текст (а тем более состоящий только из английских
> символов) - то гораздо проще.
гораздо проще но ве равно глазами
← →
Anatoly Podgoretsky © (2007-09-15 17:51) [6]> S@shka (15.09.2007 17:48:05) [5]
Не обязательно, надо писать ИИ.
← →
Инс © (2007-09-15 18:56) [7]
> гораздо проще но ве равно глазами
Если длина ключа известна, то делаем так: смещаем шифртекст на величину размера ключа (или кратную ей) и накладываем xor-ом на несмещенный шифртекст. В результате в полученной последовательности ключа уже не будет, он убьет сам себя в результате xor-а с самим собой. Последовательность будет представлять собой исходное сообщение xor оно же, только смещенное на величину ключа. Каждый байт этой последовательности будет представлять собой "буква xor буква". Это сильно упрощает дело, такая последовательность сильно избыточна. На 1 байт приходится примерно полтора бита полезной информации.
← →
TUser © (2007-09-15 19:59) [8]Читать надо не по 4 байта, а по 512. Так быстрее.
← →
kash_d (2007-09-15 22:06) [9]не с текстом то я примерно представляю что делать! конечно нужно не весь текст брать и делать подобие экспертной системы, ну чтобы определить что это текст а не лабуда(ну типа после точки с большой буквы, слов не бывает очень больших ну и т.д.)
← →
kash_d (2007-09-15 22:07) [10]вся загвоздка в скорости!
← →
Сергей М. © (2007-09-16 11:30) [11]
> вся загвоздка в скорости
Открывай файл как MMF и работай с его содержимым как с обычным массивом, если конечно же размер файла позволит это.
← →
kash_d (2007-09-16 12:47) [12]размер файла 40 кб, можно поподробнее, что значит
> Открывай файл как MMF
??? и может кто чего предложит на асемблере туда вставить?
← →
Сергей М. © (2007-09-16 12:52) [13]
> размер файла 40 кб
Мелочь, одним словом.
> можно поподробнее
Пляши от CreateMappedFile + MapViewOfFile
> может .. на асемблере туда вставить
Это еще зачем ?
И что ты собрался "вставлять" ?)
← →
Anatoly Podgoretsky © (2007-09-16 12:54) [14]> Сергей М. (16.09.2007 12:52:13) [13]
40 кб и MMF :-)
← →
Сергей М. © (2007-09-16 12:56) [15]
> Anatoly Podgoretsky © (16.09.07 12:54) [14]
Да я и не настаиваю на MMF)
← →
kash_d (2007-09-17 09:05) [16]
> > может .. на асемблере туда вставить
>
>
> Это еще зачем ?
> И что ты собрался "вставлять" ?)
ассемблер для скорости! тот же XOR точно можно на ассемблере замутить, это приличный выйгрыш даст!
← →
Сергей М. © (2007-09-17 09:11) [17]
> kash_d (17.09.07 09:05) [16]
>
>
Ну замути)
Кто ж тебе мешает)
← →
Anatoly Podgoretsky © (2007-09-17 09:14) [18]> kash_d (17.09.2007 09:05:16) [16]
Ты уверен?
Насколько хороши твои знания ассемблера, особенно в части оптимизации под процессор.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.048 c