2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Минимальная вероятность коллизии для очень похожих фото
Сообщение29.03.2018, 22:40 
Стоит задача организовать хранение 50 ТБ фото и видео материалов с гарантией того, что ни один бит хранимых данных не исказится (а если исказится, то необходимо, чтобы мы знали об этом).
Для контроля неискаженности данных при записи в хранилище для каждого фото и видео будет подсчитана хэш-сумма. Хэш-сумма каждого фото и видео нужна в целях гарантии неискаженности данных. Тут возникает вопрос. Какой хэш-алгоритм (или контрольная сумма) имеют наименьшую вероятность коллизии при малом изменении изображения и видео? Ситуация, когда два изначально разных фото имеют одинаковую хэш-сумму, не страшна. Страшна ситуация, когда у фото "слетели" пара пикселей, а мы об этом никогда не узнаем, так как искаженное фото "попало" в коллизию со начальной его версией. Какой алгоритм наиболее надежен с этой точки зрения? Может есть алгоритмы специально разработанные для этих целей для фото и/или видео?

 
 
 
 Re: Минимальная вероятность коллизии для очень похожих фото
Сообщение29.03.2018, 22:57 
Вы имеете в виду лавинный эффект? Насколько я знаю, все хэш-функции обладают таким свойством.

 
 
 
 Re: Минимальная вероятность коллизии для очень похожих фото
Сообщение29.03.2018, 23:03 
А чем не устраивают стандартные MD5, SHA-2, ГОСТ Р 34.11-2012? Вероятность обнаружения коллизии для любого из них исчезающе мала, применением двух разных алгоритмов она сводится и вовсе к абстрактному числу, стойкость их (обнаружение) к одиночным ошибкам и пакетам ошибок доказана. Да собственно можно любую криптографическую хэш-функцию брать, для данной задачи они все неплохи - и все не дают 100% гарантии неизменности исходных данных.
В чём здесь может быть специфика фотоизображений непонятно, ведь достаточно контролировать целостность контейнера (т.е. просто файла). Или Вам хочется обеспечить сохранность цветов пикселей с разрешением модификации прочих данных в файле? Тогда уточните задачу, возможно придётся контролировать криптографической функцией уже распакованные пиксели.

 
 
 
 Re: Минимальная вероятность коллизии для очень похожих фото
Сообщение31.03.2018, 21:50 
Спасибо за ответы. Я так и думал. Задал вопрос на всякий случай.

 
 
 
 Re: Минимальная вероятность коллизии для очень похожих фото
Сообщение02.07.2018, 00:43 
Аватара пользователя
Современные форматы сжатия уже обладают неплохим косвенным лавинным эффектом. Построенный поверх хеш MD5, например, должен вас успокоить для характерных объемов данных и характерных размеров картинок.

 
 
 
 Re: Минимальная вероятность коллизии для очень похожих фото
Сообщение03.08.2018, 06:03 
Аватара пользователя
ТС в вашей задаче нужно скорее думать о резервировании и коррекции данных. Тут одними хешами не обойдёшься - нужен raid-массив. При этом не стоит забывать что хранение на одном физическом сервере небезопасно (пожар и до свидания инфа, даже в raid_е).
Соответственно ваши фото надо залить в приличный облачный сервис (а может и не один). А для обеспечения приватности ещё и зашифровать фотографии (а уже с шифрованных снять хеши). md5 и sha1 своё уже отжили не рекомендованы, т.к. есть алгоритмы создания изображений с коллизиями, для них. Вот пример для sha-1 https://shattered.io/
С md-5 всё ещё хуже.
Также не забывайте что можно комбинировать хеширование, снимая хеш с хеша, что усилит лавинный эффект, который вам так нравится :)

 
 
 
 Re: Минимальная вероятность коллизии для очень похожих фото
Сообщение03.08.2018, 11:33 
Tantal в сообщении #1330316 писал(а):
md5 и sha1 своё уже отжили не рекомендованы, т.к. есть алгоритмы создания изображений с коллизиями, для них.
Тут надо добавлять что хотя и не рекомендованы, но до сих пор нет алгоритма построения коллизии для известного хэша (т.е. для произвольного файла), только алгоритм создания пары файлов с одинаковым (и заранее не известным!) хэшем, чего в реальных приложениях никогда не встречается. Поэтому пользоваться ими вполне можно, т.к. пока нет алгоритма искажения файла без искажения его хэша, что собственно и требуется.
Кроме того, выше я уже предложил использовать два разных хэша (а не хэш от хэша, что бессмыслица). Коллизию одновременно к обоим не построить.

 
 
 [ Сообщений: 7 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group