Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вероятность одинакового CRC32

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3

Открыть новую тему     Написать ответ в эту тему

MeGaBrAiN



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Кто-нить может ответить на сей вопрос с точки зрения сего алгоритма?
 
Возможно ли совпадение CRC у 2-х разных фалов одинаковой длинны?

----------
http://www.fight-club.ru

Всего записей: 583 | Зарегистр. 10-04-2002 | Отправлено: 09:53 09-08-2004
UncoNNecteD



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
MeGaBrAiN
Всего 4 миллиарда возможных комбинаций. Конечно есть вероятность, но маленькая.
Хотя есть алгоритмы - как подогнать CRC

----------
-= Я тут чертовски давно =-

Всего записей: 4040 | Зарегистр. 21-03-2002 | Отправлено: 12:09 09-08-2004
dremon



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CRC - слабый алгоритм, не защищенный от совпадений (collision-proof) и не рекомендуемый в криптосистемах.

Всего записей: 961 | Зарегистр. 21-08-2001 | Отправлено: 12:21 09-08-2004
redp

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
UncoNNecteD
у меня где-то валяютца 2 файла, на которых md5 дает одинаковый hash
так что с hashами все не так просто и вероятность вовсе не обратно пропорциональна размеру hashа. а учитывая что crc32 можно и подобрать влет...

----------
помни - ты с потрохами принадлежишь государству

Всего записей: 514 | Зарегистр. 16-06-2003 | Отправлено: 12:22 09-08-2004
dremon



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
redp
Где-то в интернете была назначена награда в 10 тыс. первому человеку или группе, которая взломает md5.
Пока вроде бы не получается.

Всего записей: 961 | Зарегистр. 21-08-2001 | Отправлено: 12:29 09-08-2004
UncoNNecteD



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dremon
Уже есть в инете публичный сервак который ломает md5 за пару суток.
Правда пока только латиницу+цифры.

----------
-= Я тут чертовски давно =-

Всего записей: 4040 | Зарегистр. 21-03-2002 | Отправлено: 12:38 09-08-2004
redp

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dremon
в том то и прикол что специально те файлы не подбирались - коллизия хеша в чистом виде

----------
помни - ты с потрохами принадлежишь государству

Всего записей: 514 | Зарегистр. 16-06-2003 | Отправлено: 12:41 09-08-2004
MeGaBrAiN



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
более конкретно о задаче..
 
в моей подписи сайт который занимается коллекционирование видео-материала (конкретно Mpeg4, DVD). Встал вопрос идентификации видео-файлов.. Сами понимаете, что расчет CRC32 и(или) MD5 для 700М занятие утомительное, а уж про считывание непосредственно с ЦД вообще гимор ( у меня вот 3500 тыщи фильмов и прочитать полностью каждый диск я уже не в состоянии ).. Поэтому я беру из середины файла 50 метров и считаю по ним CRC и хэш.. чтобы потом другие люди могли проделать тоже самое и получить из общей базы идентификацию файла..
 
В связи с этим делом и встал вопрос о вероятности совпадения.. Может есть иные варианты?

----------
http://www.fight-club.ru

Всего записей: 583 | Зарегистр. 10-04-2002 | Отправлено: 14:45 09-08-2004
SashKa



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Не совсем в тему, но...(может не отругают)

Цитата:
 Поэтому я беру из середины файла 50 метров и считаю по ним CRC и хэш.. чтобы потом другие люди могли проделать тоже самое и получить из общей базы идентификацию файла..

По моему не очень хороший способ идентификации. А ну как видеоматериал один и тот же, но сжато разными кодеками и с разным разрешением. Битики то разные будут, а материал один и тот же.

Всего записей: 130 | Зарегистр. 20-04-2004 | Отправлено: 16:30 09-08-2004
MeGaBrAiN



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SashKa
 

Цитата:
По моему не очень хороший способ идентификации. А ну как видеоматериал один и тот же, но сжато разными кодеками и с разным разрешением. Битики то разные будут, а материал один и тот же.

 
все правильно.. номинально каждый из таких видеофайлов относится к одному фильму.. а сами файлы разные.. например версия одного комрада или другого.. разные кодеки, разные параметры видео и тд и тп.. задача узнать не какой ФИЛЬМ, а что за НОСИТЕЛЬ, откуда взят и какое у него качество.. попутно решается проблема дублей и одинаковых фильмов среди коллекционеров

----------
http://www.fight-club.ru

Всего записей: 583 | Зарегистр. 10-04-2002 | Отправлено: 16:57 09-08-2004
UncoNNecteD



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вроде как есть 64-битная версия CRC.
Почеши инет на эту тему.

----------
-= Я тут чертовски давно =-

Всего записей: 4040 | Зарегистр. 21-03-2002 | Отправлено: 18:39 09-08-2004
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ИМХО вопрос поставлен в корне не правильно, если вспомнить о том, для чего применяется обычно CRC, а именно, для проверки (обычно архиваторами) не искаженности файла,
Цитата:
Возможно ли совпадение CRC у 2-х разных фалов одинаковой длинны?
так что ЦРЦ вполне может совпасть и я не вижу причины, почему он не может, а вот хэш это совсем другое дело, вот он по своей сути не должен совпадать, так как принцип формирования хэш (его алгоритм) и само определение хэш-функции исключают эту возможность. При этом 50 метров это ИМХО много.  

Цитата:
у меня где-то валяютца 2 файла, на которых md5 дает одинаковый hash

не мог бы ты дать эти файлы и чем ты находил этот ХЭШ (или ЦРЦ) ты точно не ошибся насчет термина ведь это разные вещи по сути.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:00 10-08-2004
vndovr

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt

Цитата:
 
Что такое хэш-функция (hash, hash-function)?
 
Это преобразование, получающее из данных произвольной длины некое значение (свертку) фиксированной длины. Простейшими примерами являются контрольные суммы (например, crc32).  
 

Хэш функция обладает помимо прочих следующими свойствами:

Цитата:
 
...
аргумент может быть строкой бит произвольной длины;  
значение должно быть строкой бит фиксированной длины;  
...
 

Поскольку из свойств следует, что множество определения хэш-функции значительно шире множества значений, то одинаковые значения функции для различных данных существуют.
 

Всего записей: 359 | Зарегистр. 05-02-2004 | Отправлено: 02:24 10-08-2004 | Исправлено: vndovr, 02:30 10-08-2004
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Поскольку из свойств следует, что множество определения хэш-функции значительно шире множества значений, то одинаковые значения функции для различных данных существуют.


Цитата:
 
A hash function is a function that converts an input from a (typically) large domain into an output in a (typically) smaller range (the hash value, often a subset of the integers). Hash functions vary in the domain of their inputs and the range of their outputs and in how patterns and similarities of input data affect output data. Hash functions are used in hash tables, cryptography and data processing. A good hash function is one that experiences few hash collisions in the expected domain of strings it will have to deal with; i.e. it would be possible to uniquely identify most of these strings using this hash.
 

в кратце написано то, что хорошая хэ-функция позволяет единтсвенным образом определить строку по ее хэшу. То есть (а именно об этом спрашивал автор тоника) опр. длине участка битов соответсвует единсвенно хэш-значени. А вот насчет ЦРЦ это не верно, так как я еще раз говорю, что ЦРЦ предназначен для проверки целостности данных, а хэш для подлинности. Ведь я думаю никто из вас не скажет, что при проверке пароля сверяется его ЦРЦ код
 
Добавлено
Хотя, щас прочитал еще в одном месте, да в самом деле если множество значений функции гораздо меньше множества определения, то есть возможность совпадения результатов, но
 
Цитата:
Поэтому я беру из середины файла 50 метров и считаю по ним CRC и хэш.. чтобы потом другие люди могли проделать тоже самое и получить из общей базы идентификацию файла..
тое сть согласовать длину участка файла и длину хэша, то можно добиться уникальных значений. То есть сделать длину хэша побольше


----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 06:12 10-08-2004
MeGaBrAiN



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
собстна я еще и MD5 использую.. если предположить что вероятность совпадения MD5 один на миллион, то уже можно использовать этот алгоритм для идентификации.. я прав?

----------
http://www.fight-club.ru

Всего записей: 583 | Зарегистр. 10-04-2002 | Отправлено: 09:41 10-08-2004
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
обстна я еще и MD5 использую.. если предположить что вероятность совпадения MD5 один на миллион, то уже можно использовать этот алгоритм для идентификации.. я прав?

Да.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 09:49 10-08-2004
UncoNNecteD



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ShIvADeSt
На самом деле все просто, если длина данных 64 бита, а хэша 32, то значений данных в 2^32 больше. Соотвественно на каждое значение хэша приходится 2^32 значений исходных данных. И ничего с этим не поделаешь
 
Добавлено
Кстати 50Мб действительно дохрена... таким образом вероятность одинакового CRC только возрастает.

----------
-= Я тут чертовски давно =-

Всего записей: 4040 | Зарегистр. 21-03-2002 | Отправлено: 12:34 10-08-2004
MeGaBrAiN



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
UncoNNecteD
 

Цитата:
Кстати 50Мб действительно дохрена... таким образом вероятность одинакового CRC только возрастает.

 
ну а сколько тогда?


----------
http://www.fight-club.ru

Всего записей: 583 | Зарегистр. 10-04-2002 | Отправлено: 13:28 10-08-2004
Shy

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MeGaBrAiN

Цитата:
Кстати 50Мб действительно дохрена... таким образом вероятность одинакового CRC только возрастает.

В такой логике при уменьшении размера этого куска вероятность бы падала и становилась бы минимальной для одного байта. Да нет, конечно, не изменяется вероятность. Она зависит только от числа дисков и от числа уникальных значений. Поэтому crc32 плюс md5 лучше чем просто crc32. Хочешь подстраховаться -- считай еще какую-нибудь хэш-функцию. Или бери два куска и считай для каждого из них crc32 и md5. Вот только 50Мб это действительно перебор, imho хватит и килобайта. Ведь данные на диске -- это результат работы кодека, поэтому они и так уже хорошо перемешаны и практически случайны (если, конечно, они взяты с середины диска). В принципе, можно было бы вообще взять четыре байта по фиксированному смещению и назвать их хэшем.
 

Всего записей: 271 | Зарегистр. 01-03-2002 | Отправлено: 14:46 10-08-2004
MeGaBrAiN



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Shy
 
4 байта мало... можно на индекс авишника попасть.. я решил для постраховки 512 КБ брать из центра

----------
http://www.fight-club.ru

Всего записей: 583 | Зарегистр. 10-04-2002 | Отправлено: 15:27 10-08-2004
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вероятность одинакового CRC32


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru