Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: md5 [2]
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (3): « 1 [2] 3 »   

> Описание: хеширование
Леголегс Администратор
Отправлено: 05 Сентября, 2006 - 10:49:53
Post Id



JS-маньяк


Покинул форум
Сообщений всего: 2109
Дата рег-ции: Июль 2004  
Откуда: Липецк

Карма 17




Валерий

SviMik, смотри, он ещё думает Улыбка А ну-ка задавим Валерия энтелектом!
"Хешировать" и "кодировать" это такие же разные понятия как "съесть колбасу" и "спрятать колбасу в холодильник". В первом случае съев ещё одну колбасу можно сказать такая же она на вкус или другой сорт, зато во втором случае колбасу можно достать обратно.
 
 Top
Валерий Администратор
Отправлено: 05 Сентября, 2006 - 16:04:41
Post Id



Админ-3


Покинул форум
Сообщений всего: 2676
Дата рег-ции: Янв. 2005  
Откуда: Беларусь

Карма 16




Леголегс
Вы, давители свободомыслия на форуме!

Наблюдай за сим написанным и тормози в нужном месте.

Что такое кодирование? Это запись чего-то чем-то таким, что непонятно для других.
Простейшее кодирование – замена одних букв (цифр) другими по некоему принципу. Принцип зовется ключом.
Скажем, число 333 можем записать как 999. Ключ – 3, враги ни в жисть не догадаются, что у нас было 333 огрызка яблока…
Если догадаются, тогда мы умножим на три, поделим на четыре, переставим в итоге первое число на последнее.
Это уже – алгоритм кодирования.
Служил в армии, был у меня ЗАС – засекречивающая аппаратура связи. Был специальный блок, в нем планки – ключи. Эти ключи устанавливались по специальной бумажке, которая действовала определенное время. Установил ключи – получил новый алгоритм кодирования (или шифрования)
К чему такое вступление?
А вот к чему.
Пока алгоритм не изменен, А будет записываться как буки, а Б – как глаголь.
Собрав много-много кода, ЭВМ расшифрует любой код. И смена алгоритма, да еще в неизвестное для врага время – самый эффектный выход. Практически не расшифровываемый.
А сейчас смотрим на хеширование у юзера номер 1.
Вот внизу два пароля
47bc e5c7 4f58 9f48 67db d57e 9ca9 f808 ---aaa
08f8 e026 0c64 4185 10ce fb2b 06ee e5cd ---bbb
Полный атас, правда?
Но – смотрим на этот атас и видим, что все знаки - 16-ая система счисления.
0123456789ABCDEF
восемь групп по четыре цифры
если я что-то вспомнил, то 47bc, это 0010 1110 1101 0011
А теперь делаем кое-что еще.
Заходим другим юзером и ставим свой пароль уже знакомый нам ааа
получили
47bc e5c7 4f58 9f48 67db d57e 9ca9 f808
bbb и получили
08f8e0260c64418510cefb2b06eee5cd
И вот это уже говорит о том, что алгоритм всегда один и тот же, действует он только на знаки пароля. Это говорит о том, что есть правило преобразования и это правило постоянное. А если знать правило – разве же нельзя «расхешировать» пароль?

Если алгоритм программы не сильно сложен, то захешировав штук надцать паролей типа 0001, 0010, 0100, 0110, 0111… и глядя на результат, уже увидим нечто. А если алгоритм очень сложен? Ну, тогда можно скормить нашей машине тысяч пару захешированных паролей, написать программу и ждать ответа.
Расхеширует.

Все. Ниспровергайте
 
 Top
ETC Администратор
Отправлено: 05 Сентября, 2006 - 17:30:14
Post Id



Flash-coder


Покинул форум
Сообщений всего: 5275
Дата рег-ции: Дек. 2003  
Откуда: TimeZero

Карма 26




Валерий
Длина хэша фиксирована, а длина входящего параметра — нет. Преобразование может быть только в одну сторону, потому что (точно не знаю), на один хэш может соответствовать несколько исходных строк.
В общем, алгоритм таков, что обратного преобразования нет, смысл его — в уникальности генерируемого значения, но не для восстановления из значения исходные данные (только методом подбора).
 
 Top
SviMik Супермодератор
Отправлено: 06 Сентября, 2006 - 10:06:52
Post Id



Где-то там...


Покинул форум
Сообщений всего: 3538
Дата рег-ции: Окт. 2004  
Откуда: Tallinn, Estonia

Карма 4




Валерий
Обьясняю хеширование (и принцип необратимости) на твоих огрызках яблок.
У тебя их 333. Делаем так: складываем все цифры. Итог: 9.
Ты можешь сказать, что имея цифру 9 что огрызков было 333 а не 63 или 36?
(Также и в хэшировании разные пароли могут иметь одинаковые хэши. Это называется коллизиями. Но алгоритм настолько сложный, что этого на практике не встречается. Улыбка )
Для чего это нужно. Форум будет хранить число 9, и админ, ессно, не будет знать скока огрызков ты указал при регистрации. Но когда форум спрашивает, сколько же у тебя огрызков, ты пишешь 333, он складывает и получает тоже 9, из чего следует, что это именно твои огрызки. Улыбка

Или, например, использование для сравнения больших файлов.
(наверняка видел, как иногда на сайте даётся рядом с ссылкой хеш файла. А p2p сети типа ed2k без этого вообще не могли бы существовать)
Для простоты предположим, буква "а" будет иметь код "1", "б" - 2 и т.д.
Ты скачал "Войну и мир", но сомневаешся, не побился ли файл.
Спрашиваешь: сложи коды всех букв, потом раздели на код той буквы, которая чаще всего встречается, прибавь кол-во пробелов, и подели на размер файла, делённого на количество запятых.
В результате получишь совсем коротенькую строчку вместо огромного файла. Проделав тоже самое над своим файлом, при расхождении хотябы в 1 байт ты получишь другое число. Если получится тоже самое - то 99.99% вероятность, что файлы полностью соответствует.
А теперь попробуй по этой строке восстановить книгу, и автор WinRar обанкротится Голливудская улыбка

Открывай прогу Калькулятор (не забудь перейти в расширенный режим). Пиши своё число. Потом кликай на Hex (находится слева) и читай тоже самое в шестнадцатиричном виде. Всё что получилось - строка стало короче. На этом весь смысл и заканчивается. Радость Ну ещё в этом виде компу удобнее цифры крутить. Не пытайся в этом искать что-то особенное Язычок

ЗЫ. Поправьте меня, если написал бред Закатив глазки
 
 Top
Валерий Администратор
Отправлено: 06 Сентября, 2006 - 16:18:49
Post Id



Админ-3


Покинул форум
Сообщений всего: 2676
Дата рег-ции: Янв. 2005  
Откуда: Беларусь

Карма 16




SviMik
Красота!
давай дальше рассуждать

Безусловно, все так.
И понял я в отношении хеширования файла – тут нет вопросов, система придумано достаточно умна – это не файл, а информация о файле. В отношении Войны и мира это наглядно и просто. В отношении куска текста это тоже наглядно и просто.

Но пароль…
Это не кусок текста.
Это три-четыре-пять букв.
Минимум – три.
А представляем мы информацию об этих трех цифрах целым рядом.

Поэтому я и говорю, что в этой явно избыточной информации можно найти и саму цифру.

Игра такая есть в автобусе: один стоит спиной ко всем, кто-то поднялся и сел.
Первый должен узнать, кто поднимался, используя минимум вопросов с «да -1» «нет-0».
По сути, то же хеширование:

Он сидит у окна 0
С ним рядом девушка 1
Он одет в пиджак 1
У него есть галстук 0
В руках у него газета 1

Вот и хеш пассажира 01101
Но пока под этого пассажира подходит несколько человек – это тот самый вариант, когда один и тот же пароль может (теоритически) иметь одинаковый хеш.
Увеличим число вопросов – увеличим наш хеш пассажира – и мы постепенно отсекаем всех остальных, делая хеш одного пассажира уникальный.
В итоге получим что-то типа 011011101
Теперь, допустим, у нас есть хеш 10010001
Смотрим наверх и и на хеш и видим, что:

Пассажир сидит у окна
Рядом с ним парень
Он не в пиджаке
Он в галстуке
У него нет газеты…

Условно порядок вопросов и истинность ответов назовем алгоритмом. И так, если мы знаем алгоритм, хеш пассажира, нам элементарно его вычислить.

Да, нельзя восстановить кусок большого текста и даже предложение типа «загасим Валерия его же способом»
Но мы говорим о трех символах.

Давайте так: кто знает программу, которая бы находила закономерность в ряде чисел?
И еще нужно точно знать коды клавиатуры (вот же были где-то записаны, потерял…)

Только не спрашивайте, чего я заморичился…
 
 Top
Ray Wen Администратор
Отправлено: 06 Сентября, 2006 - 23:12:36
Post Id



Собиратель шишек...


Покинул форум
Сообщений всего: 2602
Дата рег-ции: Янв. 2005  
Откуда: Волгоград

Карма 21




Валерий, md5 уже не один год и небыло еще нобелевских лаурятов которые разгадали бы его... Брось эту затею, уж не для наших мозгов это точно...
 
 Top
SviMik Супермодератор
Отправлено: 07 Сентября, 2006 - 13:31:58
Post Id



Где-то там...


Покинул форум
Сообщений всего: 3538
Дата рег-ции: Окт. 2004  
Откуда: Tallinn, Estonia

Карма 4




Валерий
Представим, нам нужно узнать имя человека, зная только лишь
Валерий пишет:
Пассажир сидит у окна
Рядом с ним парень
Он не в пиджаке
Он в галстуке
У него нет газеты…

Весь смысл в том, что пассажир ЕСТЬ. А представим, пассажира на глазах нет. И что ты будешь делать? Голливудская улыбка
Тоесть: есть пароль, мы его разглядываем и составляем описание.
Представим, у нас список из 30 паролей(пассажиров) и один хэш(описание). Тут всё элементарно. Хешируем каждый пароль и сравниваем с описанием.
Как ты это применишь в реале? Ведь списка-то нет.

Есть такой вариант: метод перебора. Подбираем каждый пароль по очереди. Никто тебе это делать не мешает. И такое практикуется, но с одним НО.
Прикинем из скольких пассажиров тебе придётся выбирать. Прикинем ОЧЕНЬ приблизительно, чтоб иметь представление о количестве.

В алфавите, предположим, 30 букв. Всего их предположим 2 (рус, англ). Каждая бува может быть и большой и маленькой. Итого: 120. Прибавим 10 цифр и 20 спец. символов.
Получилось 150. Значит, для пароля из одного символа, тебе надо проглядеть 150 пассажиров.
Для пароля из 2 символов будет 150*150=22500 пассажиров.
Для пароля из 3 символов будет 150*150*150=3375000 пассажиров.
Для пароля из 4 символов будет 150*150*150*150=506250000 пассажиров.
Для пароля из 5 символов будет 150*150*150*150*150=75937500000 пассажиров.
Если интересно - продолжишь сам.
 
 Top
Валерий Администратор
Отправлено: 07 Сентября, 2006 - 14:51:58
Post Id



Админ-3


Покинул форум
Сообщений всего: 2676
Дата рег-ции: Янв. 2005  
Откуда: Беларусь

Карма 16




Белый флаг
SviMik, где ты таких цифр набрал?

SviMik пишет:
Для пароля из 2 символов будет 150*150

Для нормально компа это же не работа - перебрать всего-то...
Улыбка

Слушайте, придумайте кто-нить название для темы,а?
А то мне в голову ничего не идет...

 
 Top
SviMik Супермодератор
Отправлено: 07 Сентября, 2006 - 15:42:42
Post Id



Где-то там...


Покинул форум
Сообщений всего: 3538
Дата рег-ции: Окт. 2004  
Откуда: Tallinn, Estonia

Карма 4




Валерий пишет:
SviMik, где ты таких цифр набрал?

Я ж всё расписал. (Хотя брал приблизительно наугад, просто чтоб иметь представление. Цель была не сосчитать реальное количество)

Валерий пишет:
Для нормально компа это же не работа - перебрать всего-то...

Все пароли до 3 символов перебирал за 1 секунду Голливудская улыбка
Мой ноут выдал скорость 5284933 паролей в секунду.

Но это в теории. На практике (да, занимался такими вещами. ногами не пинать) неделю пыхтел и ничего не выдал Недовольство, огорчение

4-х символьные пароли - меньше часа
5-ти символьные - сутки
6-ти символьные - десятки суток
... - лучше не начинать Голливудская улыбка

Мы тут с одним маньяком уже спорили по поводу того, насколько это трудно, и что оно труднее чем кажется. Я честно дал хеш своего реального пароля. Через несколько дней он сдался Голливудская улыбка
 
 Top
SviMik Супермодератор
Отправлено: 07 Сентября, 2006 - 15:47:06
Post Id



Где-то там...


Покинул форум
Сообщений всего: 3538
Дата рег-ции: Окт. 2004  
Откуда: Tallinn, Estonia

Карма 4




Валерий пишет:
Для пароля из 2 символов будет 150*150

Для нормально компа это же не работа

А для нормальной ситуации - это не пароль. Если кто-то ставит такой пароль - значит он ему заведомо не нужен :p

Учитесь пароли создавать. Теперь, дети, вы знаете, почему пароли лучше придумывать длинные. Валерий наглядно продемонстрировал, как нельзя выбирать пароль Ха-ха
 
 Top
Страниц (3): « 1 [2] 3 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« ExBB Full Mods »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0529]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33