проверка хэш-функций |
Начальные контакты ТОЛЬКО через личку!!
проверка хэш-функций |
willhunting |
21.02.2010 22:26
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 52 Пол: Мужской Репутация: 0 |
Описание алгоритма
Нужно подтвердить гипотезу о том, что хэш-функции при малом измени входящего сообщения сильно меняется. Для это предлагается исследовать множество “точек” и их окрестности. Например, мы берём входящее сообщение с1=00000(это 5-ть бит), ищем все сообщения отличающиеся на один бит(с11=00001, с12=00010,с13=00100,с14=01000,с15=10000). Далее ищем хэш-функцию (h) от с11, с12 и т.д. Вычисляем среднее H(c1)=(R(h(c1),h(c11))+ R(h(c1),h(c12))+ R(h(c1),h(c13))+ R(h(c1),h(c14))+ R(h(c1),h(c15)))/5 десь R(h(c1),h(c11)) - количество битов, в которых отличаются результаты хэш-функции h, вычисленной от исходных сообщений c1 и c11. Берём другое сообщение например 001100(или любое другое) и повторяем пред. шаги . Далее отмечаем “точки” с1, с2… на числовой оси и откладываем среднее значение по оси ординат H(c1),H(c2)… . Получаем кривую. Количество точек должно быть велико. Поступление входящих сообщений рандомно-равномерное. О сортировке: Если ведущие нули в битовой строке исходного сообщения не влияют на значение результата, то можно дополнить все сообщения нулями слева до сообщения максимальной длины из группы рассматриваемых сообщений и упорядочивать исходные сообщения, рассматривая их как целые двоичные числа. Если ведущие нули влияют на значение хэш-функции, т.е. h(10110)<>h(00010110), то логично сообщения упорядочить по длине, а внутри сообщений одной длины упорядочить их как в предыдущем случае. Ещё надо будет нарисовать не двумерный график, а 3-мерную поверхность, где по 3-й оси откладывать размер сообщений Тексты программ для хэш-функций я предоставлю. Реализация -- С++ в объектно-ориентированном стиле. время не горит |
willhunting |
16.04.2010 22:17
Сообщение
#2
|
Пионер Группа: Пользователи Сообщений: 52 Пол: Мужской Репутация: 0 |
сделал сам почти
|
Текстовая версия | 20.09.2024 22:53 |