HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Криптография, расшифровка хешей
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #21  
Старый 20.01.2009, 05:45
Fepsis
Постоянный
Регистрация: 17.09.2008
Сообщений: 562
С нами: 9288386

Репутация: 536


По умолчанию

Интересная тема... Тоже об этом думал.. Но думаю не всё так просто. Допустим такая ситуация:
создаём список паролей:
ф(0)=5
ф(5)=10
ф(10)=0
опаньки, вот и замыкание.. Радостные, что всего за месяц получили чудный список всевозможных (как нам кажется) паролей, идём брутить по этому списку... Брутим по нашему списку (0,5,10).. Результата нет..(((( Хны-Хны.. А всё почему..?!? Потомучто пароль, который мы пытались сбррутить "1", который в свою очередь так же имеет замыкание, только другое:
ф(1)=6
ф(6)=11
ф(11)=1
вполне может быть такое..)))
кстати, дайте пару разных строк, у которых одинаковый мд5 хеш... не сомневаюсь что есть.. любопытно... дайте глянуть..)
 
Ответить с цитированием

  #22  
Старый 20.01.2009, 09:30
preda1or
Участник форума
Регистрация: 27.10.2008
Сообщений: 278
С нами: 9230726

Репутация: 242
По умолчанию

2 Fepsis

http://www.mscs.dal.ca/~selinger/md5collision/

Последний раз редактировалось preda1or; 20.01.2009 в 09:52..
 
Ответить с цитированием

  #23  
Старый 20.01.2009, 09:52
Red_Red1
Участник форума
Регистрация: 12.01.2007
Сообщений: 262
С нами: 10172486

Репутация: 874
По умолчанию

Цитата:
Сообщение от Fepsis  
Интересная тема... Тоже об этом думал.. Но думаю не всё так просто. Допустим такая ситуация:
создаём список паролей:
ф(0)=5
ф(5)=10
ф(10)=0
опаньки, вот и замыкание.. Радостные, что всего за месяц получили чудный список всевозможных (как нам кажется) паролей, идём брутить по этому списку... Брутим по нашему списку (0,5,10).. Результата нет..(((( Хны-Хны.. А всё почему..?!? Потомучто пароль, который мы пытались сбррутить "1", который в свою очередь так же имеет замыкание, только другое:
ф(1)=6
ф(6)=11
ф(11)=1
вполне может быть такое..)))
кстати, дайте пару разных строк, у которых одинаковый мд5 хеш... не сомневаюсь что есть.. любопытно... дайте глянуть..)
Приходило в голову это. Не описал специально что бы не путать.
Я ведь и хотел обсудить идею.
Вопрос КАК выловить что кольцо замкнулось. Ну и как выловить ВСЕ кольца. Если это сделать то мы опять получим всю цепочку-кольцо точнее несколько колец.
Т.е. хотелось бы все это дело испытать на практике. С олдмускул это реально.
 
Ответить с цитированием

  #24  
Старый 20.01.2009, 10:37
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
С нами: 10467746

Репутация: 4738


По умолчанию

Вообщем так...
Про md5 можно пока благополучно забыть, потому как 2^128 или что тоже колличество 16^32 ну это очень много и сгенерить их все, времени при современных технологиях не хватит.
Касательно хэшей mysql(64) - это в полне возможно попробовать реализовать.
Следует напомнить, что высокая скорость перебора хэшей mysql(64) в реализации от xSerg на CUDA получается за счёт использования уязвимости самого алгоритма хэширования mysql(64).
Далее, если брать в качестве входа функции именно предыдущую выходную строку, то область входных значений мы сужаем, потому как вход никак неограничен на самом деле. Если же строку подавать на вход функции в hex-виде, то можно предположить, что область входных значений будет равна области выходных. (на самом деле она будет меньше, потому как пробелы не учитываются на входе, т.е. это байты содержащие код 32 (dec) или 20 (hex)).
Но! это возможно только в случает полного отсутствия коллизий на участке входных значений длинной при кол. 2^64, т.е. соизмеримом с областью значений. Чего скорее всего не будет и мы получим ранее упомянутое замыкание круга и множество как входных, так и выходных значений остануться за пределами этого круга!
Отсюда следует вывод: что при замыкании в дальнейшей генерации цепочки нет смысла и для получения новой цепочки, содерж. другие значения входов и выходов, нам нужно взять другое начальное значение! Как оно должно быть связано с первой цепочкой? Каким образом вероятность возникновения замыкания (коллизии) зависит от шага? Вообщем в любом случае генерация цепочки в случае коллизии (замыкания) должна быть прервана (а это может случиться и раньше чем через 2^64 итераций)

Последний раз редактировалось -=lebed=-; 20.01.2009 в 15:01..
 
Ответить с цитированием

  #25  
Старый 20.01.2009, 10:50
preda1or
Участник форума
Регистрация: 27.10.2008
Сообщений: 278
С нами: 9230726

Репутация: 242
По умолчанию

-=lebed=-
убил мой моск, буду думать, +
 
Ответить с цитированием

  #26  
Старый 23.01.2009, 02:23
Fepsis
Постоянный
Регистрация: 17.09.2008
Сообщений: 562
С нами: 9288386

Репутация: 536


По умолчанию

Цитата:
Сообщение от preda1or  
не стоит этого делать
= ~10^31 Гб
На счёт места на диске пришла идея, идея о способе хранения информации о паролях и хешах...
На примере MySQL хеша.. Представьте себе директорию, в которо находится 16 папок с именами 0,1,2,...,e,f. Заходим в любую из этих папок, в ней видим так же 16 папок 0,1,2,...,e,f. И так далее.. Глубина каждой папки - 16 вложений..
Теперь берём произвольную стоку (пароль) и находим его MySQL хеш:
123:773359240eb9a1d9
в папку ...7\7\3\3\5\9\2\4\0\e\b\9\a\1\d\9\
записывается файл НУЛЕВОЙ длины с именем "123"
и так для любого пароля...
Такой способ хранения не очень подойдёт для сервиса по восстановлению пароля из хеша, так как

а пароли эти символы могут содержать, но если наша задача захешировать все числа от 0 до 2^64 или вариант когда выход пускается на вход (итерации) то вполне подойдёт..
берём начальную строку "0000000000000000"
файл "0000000000000000" -> в папку ...5\0\3\1\9\7\3\5\7\8\2\2\b\b\c\1\
"503197357822bbc1" -> ...4\2\f\c\0\a\f\2\0\0\0\0\0\0\0\0\ и т.д.
Мне кажется, написать прогу, которая данную стуктуру реализует, не очень сложная задача... И искать по такой базе очень удобно.. И если добъёмся того, что в каждой папке ...x\x\x\x\x\x\x\x\x\x\x\x\x\x\x\x\ будет лежать нулевой файл с именем "yyyyyyyyyyyyyyyy" то можео считать задачу относительно хеш функции MySQL решённой...
Не ругайтесь, если вышенаписанное бред или баян..
P.S. сейчас запустил на компе скрипт, создающий пустые файлы... Файлов было 100 000, винда показала, что папка с этими файлами весит 0 кб... Хотя я сомневаюсь что всё действительно по нулям.. Просветите меня..
 
Ответить с цитированием

  #27  
Старый 23.01.2009, 02:27
preda1or
Участник форума
Регистрация: 27.10.2008
Сообщений: 278
С нами: 9230726

Репутация: 242
По умолчанию

Цитата:
что папка с этими файлами весит 0 кб
Конечно не по нулям.Таблица разметки диска, интересно, сколько будет весить? Ты сэкономишь меньше процента,если вообще сумеешь.
 
Ответить с цитированием

  #28  
Старый 23.01.2009, 02:36
Fepsis
Постоянный
Регистрация: 17.09.2008
Сообщений: 562
С нами: 9288386

Репутация: 536


По умолчанию

Цитата:
Сообщение от preda1or  
Конечно не по нулям.Таблица разметки диска, интересно, сколько будет весить? Ты сэкономишь меньше процента,если вообще сумеешь.
Эх, ну надо же.. а я думал америку открою..)))
 
Ответить с цитированием

  #29  
Старый 28.06.2009, 02:39
diehard
Постоянный
Регистрация: 30.09.2007
Сообщений: 815
С нами: 9796693

Репутация: 659


По умолчанию

Цитата:
Дело в том что у хеша диапазон входных значений бесконечность, но выходных конечное множество. А что если сами хеши использовать как пароли, на выходе тоже будут хеши. Значит если перебрать все хеши как входные данные, то мы получим ВСЕ хеши на выходе.
По-моему вывод нелогичен. Получим НЕ ВСЕ хеши на выходе, будут повторы из-за коллизий типа:
hash(00000000000001) = 28282828282828
hash(34583475834758) = 28282828282828

Поэтому алгоритм обратится в вечный цикл и вот этого не произойдёт:

"Ф(45)=46 – ненайдено.
Ф(46)=47 – ненайдено.
Ф(47)=48 – ненайдено.
Ф(48)=49 – НАЙДЕНО!!!! "

Так как например "49" отсутствует в выдаче Ф(от конечного множества), зато 2 раза присутствует "48" и 5 раз присутствует "50" например.

Последний раз редактировалось diehard; 28.06.2009 в 03:01..
 
Ответить с цитированием

  #30  
Старый 28.06.2009, 03:38
Cthulchu
Познавший АНТИЧАТ
Регистрация: 22.11.2007
Сообщений: 1,822
С нами: 9720289

Репутация: 1549


По умолчанию

дихард, это кольца. ред о них упоминал и тут и на сходке. давай лучше придумаем как красивее их обойти.
Единственное, что приходит в голову это тривиальный вариант с возможностью оптимизаций:
каждый полученый хеш прежде, чем хешировать снова - надо сопоставить с уже существующей базой нахешированых хешей... Да, это долго.
Что делать, если мы нашли кольцо? Останавливаем хеширование замыкающего кольцо хеша, удаляем его из базы, добавляем к нему единицу и продолжаем по заданому алгоритму.
Да, это будет долго.
ДА нет, это будет очень долго.
Оно того стоит.
Да, мой набросок допускает вероятность вычесления не всех хешей.
Ред, вместо того, что бы делить твою теоритическую базищу на сегменты по 250 миллионов хешей, оставляя лишь первый и последний - можно будет оставлять только кольца. Я, правда, не представляю сколько их там будет.
вот и все.

Последний раз редактировалось Cthulchu; 28.06.2009 в 03:45..
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
СИ. Метод №2. TALIB Skype, IRC, ICQ, Jabber и другие IM 9 28.01.2007 19:52



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.