Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Разное > Исходники и статьи
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.08.2010, 12:06
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию Метод хеширования

В общем, захотел я потренироваться в работе с буферами, логикой, оптимизации, и шифрами. Результат прилагается.

1. Папка Tester:
1.1. Самолично состряпанная за 5 минут программа для тестирования метода
1.2. Сам шифр (мой), + MD5 (для сравнения стойкости и скорости).
2. Папка CharlistGen:
2.1. Программа, которая генерирует список из 256 элементов (по 4 байта), который можно подставить вместо стандартного в исходник, и получить уникальный метод. Уникальность каждого элемента проверяется.

Работу объяснять не буду, ибо и так всё ясно из кода. Для сравнения приведу некоторые цифры:
Код:
Размер файла      Время (MD5)   Время (PhoeniX)
143 416 104 B     ~4207ms       ~3648ms
272 936 960 B     ~9313ms       ~7675ms
Позже выложу ещё несколько тестов.
Вложения
Тип файла: rar PhoeniX Hash.rar (8.9 Кбайт, 25 просмотров)
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj

Последний раз редактировалось PhoeniX, 30.08.2010 в 12:12.
Ответить с цитированием
  #2  
Старый 30.08.2010, 21:34
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Сам алгоритм не смотрел.

Первое что бросается в глаза:

Цитата:
11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
Получаем хеш: D40A6E011A0E9860A817FFE725B6C3B1
Цитата:
11111111111111111211111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
Получаем хеш: D405658F340E9860A817FFE725B6C3B1

Цитата:
11111111111111111111112111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
Получаем хеш: D40A99529623421E0917FFE725B6C3B1

Цитата:
11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111
11111111111111111112111111111111111111111111111111
Получаем хеш: D40A79C8EEA29860A817FFE725B6C3B1

Вывод, алгоритм нуждается в доработке.

А вот и первая коллизия:
Цитата:
яяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя яяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя яяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя яяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя яяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя яяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя яяяяяяяяяяяяяяяяяяяя
Получаем хеш: 00000000000000000000000000000000

Цитата:
.................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .......................................
Получаем хеш: 00000000000000000000000000000000

Последний раз редактировалось Konrad, 30.08.2010 в 21:51.
Ответить с цитированием
  #3  
Старый 31.08.2010, 17:52
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Немного поиграться с алгоритмами...
Попробуем. В следующей версии будет исправлено
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:33.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter