Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Перцептивное хеширование - для сравнения схожести данных

Лекция



Привет, Вы узнаете о том , что такое перцептивное хеширование, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое перцептивное хеширование , настоятельно рекомендую прочитать все из категории Криптография и криптоанализ, Стеганография и Стегоанализ.

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

Перцептивные хэши — это другая концепция по сравнению с криптографическими хеш-функциями, такими как MD5 и SHA1. В случае криптографических хешей значения хеш-функции являются случайными. Данные, используемые для генерации хэша, действуют как случайное начальное число, поэтому одни и те же данные генерируют один и тот же результат, но разные данные создают разные результаты. Сравнение двух значений хеш-функции SHA1 на самом деле говорит вам только о двух вещах. Если хеши разные, то и данные разные. И если хеши одинаковые, то и данные, скорее всего, те же. Напротив, перцептивные хеши можно сравнивать, что дает вам ощущение сходства между двумя наборами данных.

Развитие

Работа Марра и Хилдрет 1980 года является плодотворной работой в этой области.

Диссертация Кристофа Заунера, опубликованная в июле 2010 года, представляет собой хорошо написанное введение в эту тему.

В июне 2016 года Азаде Амир Асгари опубликовал работу по надежной подделке хеша изображений. Асгари отмечает, что перцептивная хеш-функция, как и любой другой алгоритм, подвержена ошибкам.

В декабре 2017 года исследователи отметили, что поиск изображений в Google основан на перцептивном хеше.

В исследовании, опубликованном в ноябре 2021 года, следователи сосредоточились на манипулируемом изображении Стейси Абрамс , которое было опубликовано в Интернете до ее поражения на выборах губернатора Джорджии в 2018 году . Они обнаружили, что алгоритм pHash уязвим для злоумышленников.

Характеристики

Исследование, опубликованное в январе 2019 года в Университете Нортумбрии, показало, что в отношении видео его можно использовать для одновременной идентификации аналогичного контента для обнаружения копий видео и обнаружения вредоносных манипуляций для аутентификации видео. Предлагаемая система работает лучше, чем существующие методы хеширования видео, как с точки зрения идентификации, так и с точки зрения аутентификации.

Исследование перцептивного хеширования звука на основе глубокого обучения, опубликованное в мае 2020 года Хьюстонским университетом, показало лучшую производительность, чем традиционные методы снятия отпечатков пальцев, для обнаружения похожего / скопированного звука, подверженного преобразованиям.

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

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

Еще в августе 2021 года Apple Inc сообщила о системе материалов о сексуальном насилии над детьми (CSAM), известной как NeuralHash . В техническом сводном документе, который хорошо объясняет систему с многочисленными диаграммами и примерами фотографий, говорится: «Вместо сканирования изображений [на корпоративных] iCloud [серверах] система выполняет сопоставление на устройстве, используя базу данных известных хэшей изображений CSAM, предоставленную [ Национальный центр по делам пропавших и эксплуатируемых детей ] (NCMEC) и другие организации по обеспечению безопасности детей Apple дополнительно преобразует эту базу данных в нечитаемый набор хешей, который надежно хранится на устройствах пользователей».

В эссе, озаглавленном «Проблема перцептивных хэшей», Оливер Кудерле описывает поразительную коллизию, созданную частью коммерческого программного обеспечения для нейронных сетей типа NeuralHash. Фотопортрет реальной женщины (Adobe Stock) с помощью алгоритма теста сводится к тому же хешу, что и фотография произведения абстрактного искусства (из базы данных «deposit photos»). Оба образца изображений находятся в коммерческих базах данных. Кудерле обеспокоен подобными столкновениями. «Эти дела будут проверяться вручную. То есть, по словам Apple, сотрудник Apple затем будет просматривать ваши (отмеченные) фотографии…

Перцептивные хеши беспорядочны. Когда такие алгоритмы используются для обнаружения преступной деятельности, особенно в масштабах крупных компаний, многие невинные люди потенциально могут столкнуться с серьезными проблемами... Излишне говорить, что меня это очень беспокоит».

Исследователи продолжают публиковать комплексный анализ под названием «Обучение взлому глубокого перцептивного хеширования: пример использования NeuralHash», в котором они исследуют уязвимость NeuralHash как представителя алгоритмов глубокого перцептивного хеширования к различным атакам. Их результаты показывают, что хеш-коллизии между различными изображениями могут быть достигнуты с помощью небольших изменений, внесенных в изображения. По мнению авторов, эти результаты демонстрируют реальную вероятность подобных атак и позволяют выявить и возможно привлечь к ответственности невиновных пользователей. Они также заявляют, что обнаружения незаконных материалов можно легко избежать и перехитрить систему с помощью простых преобразований изображений, например, предоставляемых бесплатными редакторами изображений. Авторы предполагают, что их результаты применимы и к другим алгоритмам глубокого перцептивного хеширования, ставя под сомнение их общую эффективность и функциональность в таких приложениях, как сканирование на стороне клиента и управление чатом.

перцептивный хэш-алгоритмы описывают класс функций для генерации сравнимых хэшей. Они используют различные свойства изображения для построения индивидуального «отпечатка». В дальнейшем эти «отпечатки» можно сравнивать друг с другом.

Если хэши отличаются, значит, данные разные. Если хэши совпадают, то данные, скорее всего, одинаковые (поскольку существует вероятность коллизий, то одинаковые хэши не гарантируют совпадения данных). Об этом говорит сайт https://intellect.icu . В этой статье речь пойдет о нескольких популярных методах построения перцептивный хешей изображения, а также о простом способе борьбы с коллизиями. Всем кому интересно, прошу под кат.

Обзор

Существует много различных подходов к формированию перцептивный хеша изображения. Всех их объединяет 3 основных этапа:

  • Предварительная обработка. На этой стадии изображение приводится к виду, в котором его легче обрабатывать для построения хеша. Это может быть применение различных фильтров (например, Гаусса), обесцвечивание, уменьшение размеров изображения и т.д.
  • Основные вычисления. Из полученного на 1 стадии изображения строится матрица (или вектор). Матрица (вектор) может представлять из себя матрицу частот (например, после преобразования Фурье), гистограмму яркостей, или еще более упрощенное изображение.
  • Построение хеша. Из матрицы (вектора), полученной на 2 стадии берутся некоторые (возможно все) коэффициенты и преобразуются в хеш. Обычно хеш получается размером от 8 до ~100 байт. Вычисленные значения хешей затем сравниваются с помощью функций, вычисляющих «расстояние» между двумя хешами.

В данной публикации мы не будем касаться реализации приведенных алгоритмов. Она носит обзорный характер и рассказывает о различных подходах к построению хэшей.

Перцептивные хеш-алгоритмы

Рассмотрим различные хеш алгоритмы: Simple Hash , DCT Based Hash ,[11], Radial Variance Based Hash , и Marr- Hildreth Operator Based Hash , .

Simple Hash (a.k.a Average Hash)

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

  • Уменьшить размер. Самый быстрый способ избавиться от высоких частот — уменьшить изображение. Изображение уменьшается до размера в диапазоне 32х32 и 8х8.
  • Убрать цвет. Маленькое изображение переводится в градации серого, таким образом хеш уменьшается втрое.
  • Вычислить среднее значение цвета для всех пикселей.
  • Построить цепочку битов. Для каждого пикселя делается замена цвета на 1 или 0 в зависимости от того, больше он или меньше среднего.
  • Построить хеш. Перевод 1024 битов в одно значение. Порядок не имеет значения, но обычно биты записываются слева направо, сверху вниз.

Полученный хеш устойчив к масштабированию, сжатию или растягиванию изображения, изменению яркости, контраста, манипуляциями с цветами. Но главное достоинство алгоритма – скорость работы. Для сравнения хешей этого типа используется функция нормированного расстояния Хэмминга.

Перцептивное хеширование - для сравнения схожести данных


Исходное изображение

Перцептивное хеширование - для сравнения схожести данных


Полученный «отпечаток»

Discrete Cosine Transform Based Hash (a.k.a. pHash)

Дискретное косинусное преобразование (ДКП, DCT) – одно из ортогональных преобразований, тесно связанное с дискретным преобразованием Фурье (ДПФ) и являющееся гомоморфизмом его векторного пространства. ДКП, как и любое Фурье-ориентированное преобразование, выражает функцию или сигнал (последовательность из конечного числа точек данных) в виде суммы синусоид с различными частотами и амплитудами. ДКП использует только косинусные функции, в отличие от ДПФ, использующего и косинусные, и синусные функции. Существует 8 типов ДКП . Самый распространенный – второй тип. Его мы и будем использовать для построения хеш-функции.
Давайте разберемся, что такое второй тип ДКП:

Пусть x[m], где m = 0,…, N — 1 — последовательность сигнала длин N. Определим второй тип ДКП, как

Перцептивное хеширование - для сравнения схожести данных

Это выражение можно переписать как:

Перцептивное хеширование - для сравнения схожести данных

где c[n,m] – элемент матрицы ДКП на пересечении строки с номером n и столбца с номером m.
ДКП матрица определяется как:

Перцептивное хеширование - для сравнения схожести данных

Данная матрица очень удобна, для вычисления ДКП. ДКП может быть вычислена заранее, для любой необходимой длины. Таким образом ДКП может быть представлена в виде:
ДКП=M×I×M'
Где M – ДКП матрица, I – изображение квадратного размера, M’ – обратная матрица.

  • Убрать цвет. Для подавления ненужных высоких частот;
  • Применить медианный фильтр для уменьшения уровня шума. При этом, изображение разбивается на так называемые «окна», затем каждое окно заменяется медианой для соседних окон;
  • Уменьшить изображение до размера 32x32;
  • Применить ДКП к изображению;
  • Построить хеш.

Radial Variance Based Hash

Идея алгоритма Radial Variance Based Hash состоит в построении лучевого вектора дисперсии (ЛВД) на основе преобразования Радона . Затем к ЛВД применяется ДКП и вычисляется хеш. Преобразование Радона — это интегральное преобразование функции многих переменных вдоль прямой. Оно устойчиво к обработке изображений с помощью различных манипуляций (например, сжатия) и геометрических преобразований (например, поворотов). В двумерном случае преобразование Радона для функции f(x,y) выглядит так:

Перцептивное хеширование - для сравнения схожести данных

Преобразование Радона имеет простой геометрический смысл – это интеграл от функции вдоль прямой, перпендикулярной вектору n = (cos a,sin a) и проходящей на расстоянии s (измеренного вдоль вектора n, с соответствующим знаком) от начала координат.

Перцептивное хеширование - для сравнения схожести данных

Чтобы преобразование Радона расширить для дискретных изображений, линейный интеграл по прямой d = x ∙ cos α + y ∙ sin α может быть аппроксимирован путем суммирования значений всех пикселей, лежащих в линии шириной один пиксель:

Перцептивное хеширование - для сравнения схожести данных

Позже было обнаружено, что лучше использовать дисперсию вместо суммы значений пикселей вдоль линии проекции . Дисперсия намного лучше обрабатывает яркостные разрывы вдоль линии проекции. Такие яркостные разрывы появляются из-за краев, которые ортогональны линии проекции.
Теперь определим лучевой вектор дисперсии. Пусть Г(α) – набор пикселей на линии проекции, соответствующей данному углу. Пусть (x′, y′) – координаты центрального пикселя на изображении. x, y принадлежат Г(α) тогда и только тогда, когда

Перцептивное хеширование - для сравнения схожести данных

Теперь определим лучевой вектор дисперсии (radial variance vector):
Пусть I(x,y) обозначает яркость пикселя (x,y), #Г(α) – мощность множества, тогда лучевой вектор дисперсии R[α], где α = 0,1, … ,179 определим как

Перцептивное хеширование - для сравнения схожести данных

Достаточно построить вектор по 180 значениям угла, так как преобразование Радона является симметричным. Полученный вектор можно использовать для построения хеша, но в этом алгоритме предлагается еще некоторое улучшение — применить ДКП к полученному вектору. В результате получится вектор, наследующий все важные свойства ДКП. В качестве хеша берутся первые 40 коэффициентов полученного вектора, которые соответствуют низким частотам. Таким образом, размер полученного хеша — 40 байт.

  • Убрать цвет для подавления ненужных высоких частот;
  • Размыть изображение (blurring) с помощью использования Гауссова размытия [10]. Изображение преобразуется с помощью функции Гаусса для подавления некоторых шумов;
  • Применить гамма-коррекцию для устранения блеклости изображения.
  • Построить лучевой вектор дисперсии;
  • Применить ДКП к вектору дисперсии;
  • Построить хеш.

Marr-Hildreth Operator Based Hash

Оператор Марра-Хилдрета позволяет определять края на изображении. Вообще говоря, границу на изображении можно определить как край или контур, отделяющий соседние части изображения, которые имеют сравнительно отличные характеристики в соответствии с некоторыми особенностями. Этими особенностями могут быть цвет или текстура, но чаще всего используется серая градация цвета изображения (яркость). Результатом определения границ является карта границ. Карта границ описывает классификацию границ для каждого пикселя изображения. Если границы определять как резкое изменение яркости, то для их нахождения можно использовать производные или градиент.
Пусть функция обозначает уровень яркости для линии (одномерный массив пикселей). Первый подход определения границ заключается в нахождении локальных экстремумов функции, то есть первых производных. Второй подход (метод Лапласа) заключается в нахождении вторых производных .
Оба подхода могут быть адаптированы для случая двумерных дискретных изображений, но с некоторыми проблемами. Для нахождения производных в дискретном случае требуется аппроксимация. Кроме того, шум на изображении может значительно ухудшить процесс поиска границ. Поэтому перед определением границ к изображению нужно применить какой-либо фильтр, подавляющий шумы. Для построения хеша можно выбрать алгоритм, использующий оператор Лапласа (2 подход) и фильтр Гаусса.
Определим непрерывный Лапласиан (оператор Лапласа):
Пусть определяет яркость на изображении. Тогда непрерывный Лапласиан определим как:

Перцептивное хеширование - для сравнения схожести данных

Обращения в ноль и есть точки, соответствующие границе функции , так как это точки, при которых вторая производная обращается в ноль. Различные фильтры (дискретные операторы Лапласа) могут быть получены из непрерывного Лапласиана. Такой фильтр , может быть применен к дискретному изображению с помощью использования свертки функций. Оператор Лапласа для изображения можно переписать как:

Перцептивное хеширование - для сравнения схожести данных

где * обозначает свертку функций. Чтобы построить карту границ, нужно найти обращения в ноль дискретного оператора .
Теперь рассмотрим оператор Марра-Хилдрета. Он также называется Лапласиан от фильтра Гаусса (LoG) – это особенный тип дискретного оператора Лапласа. LoG конструируется с помощью применения оператора Лапласа к фильтру (функции) Гаусса. Особенность этого оператора в том, что он может выделять границы в определенном масштабе. Переменную масштаба можно варьировать для того, чтобы лучше выявить границы.
Фильтр Гаусса определим как:

Перцептивное хеширование - для сравнения схожести данных

Свертку с операцией Лапласа можно поменять местами, потому что производная и свертка – линейные операторы:

Перцептивное хеширование - для сравнения схожести данных

Это свойство позволяет заранее вычислить оператор , потому что он никак не зависит от изображения ().
(оператор Марра-Хилдрета, Лапласиан от фильтра Гаусса, LoG). LoG hc(x, y) определим как:

Перцептивное хеширование - для сравнения схожести данных

Чтобы использовать LoG в дискретной форме, сделаем дискретизацию данного уравнения, подставив нужную переменную масштаба. По умолчанию ее значение принимается как 1.0. Затем фильтр можно применить к изображению, используя дискретную свертку.
Определим дискретную свертку:
Пусть x,y,z — пиксельная ширина, длина и глубина изображения I.
Результат R свертки изображения I c маской M определим как:

Перцептивное хеширование - для сравнения схожести данных

  • Убрать цвет для подавления ненужных высоких частот;
  • Перевести изображение в размер 128x128;
  • Размыть изображение(blurring). Изображение преобразуется с помощью функции Гаусса для подавления некоторых шумов [10];
  • Построить оператор Марра-Хилдрета;
  • Применить дискретную свертку к LoG и изображению. Получится
    изображение, на котором четко видны скачки яркости;
  • Преобразовать изображение в гистограмму. Изображение разбивается на маленькие блоки(5x5), в которых суммируются значения яркостей.
  • Построить хеш из гистограммы. Гистограмма разбивается на блоки 3x3. Для этих блоков считается среднее значение яркости и используется метод построения цепочки битов. Получается бинарный хеш размером 64 байта.

Функции сравнения перцептивных хеш-значений

Расстояние Хэмминга

Расстояние Хэмминга определяет количество различных позиций между двумя бинарными последовательностями.
Определение:
Пусть А – алфавит конечной длины. Перцептивное хеширование - для сравнения схожести данных – бинарные последовательности (векторы). Расстояние Хэмминга Δ между x и y определим как:

Перцептивное хеширование - для сравнения схожести данных

Этот способ сравнения хеш-значений используется в методе DCT Based Hash. Хеш занимает размер 8 байт, поэтому расстояние Хэмминга лежит в отрезке [0, 64]. Чем меньше значение Δ, тем более похожи изображения.
Для облегчения сравнения расстояние Хэмминга можно нормировать с помощью длины векторов:

Перцептивное хеширование - для сравнения схожести данных

Нормированное расстояние Хэмминга используется в алгоритмах Simple Hash и Marr-Hildreth Operator Based Hash. Расстояние Хэмминга лежит в промежутке [0,1] и чем ближе Δ к 0, тем более похожи изображения.

Пик взаимнокорреляционной функции

Корреляцию между двумя сигналами определим как:

Перцептивное хеширование - для сравнения схожести данных

где x(t) и y(t) — две непрерывные функции вещественных чисел. Функция rxy(t) описывает смещение этих двух сигналов относительно времени T. Переменная T определяет насколько сигнал смещен слева. Если сигналы x(t) и y(t) различны, функция rxy T называется взаимнокорреляционной.
Определим Нормированную взаимнокорреляционную функцию:
Пусть xi и yi, где i = 0, … N − 1 – две последовательности вещественных чисел, а N – длина обеих последовательностей.

НВФ с задержкой d определим как:

Перцептивное хеширование - для сравнения схожести данных

где mx и my обозначают среднее значение для соответствующей последовательности.
Пик взаимнокорреляционной функции (PCC) – максимальное значение функции rd, которое может быть достигнуто на промежутке d = 0, N.
PCC используется для сравнения хеш-значений в алгоритме Radial Variance Based Hash. PCC ∈ [0,1], чем больше его значение, тем более похожи изображения.

Виды редакционных расстояний

Есть несколько основных редакционных расстояний. Основное отличие между ними — набор операций, который разрешено использовать.

В таблице ниже перечислены наиболее используемые редакционные расстояния и операции, разрешенные для каждого из них.

Перцептивное хеширование - для сравнения схожести данных

Расстояние Хэмминга разрешает только замены, так что с помощью него можно сравнивать только строки одинаковой длины: мы не можем удлинить строку с помощью вставки или укоротить ее с помощью удаления.

Расстояние Дамерау—Левенштейна разрешает все четыре операции: замену, вставку, удаление и перестановку соседних символов. Федерик Демерау показал, что эти четыре операции покрывают порядка 80% ошибок при письме.

Области применения перцептивных хешей:

  • Поиск похожих изображений.
  • Выявление дубликатов (например, в базах данных или социальных сетях).
  • Борьба с репостами и спамом на картинках
  • поиск похожих цифровых отпечатков , например, браузеров или других устройств

Вау!! 😲 Ты еще не читал? Это зря!

Исследование, описанное в статье про перцептивное хеширование, подчеркивает ее значимость в современном мире. Надеюсь, что теперь ты понял что такое перцептивное хеширование и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Криптография и криптоанализ, Стеганография и Стегоанализ

создано: 2024-04-22
обновлено: 2024-04-22
132265



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Криптография и криптоанализ, Стеганография и Стегоанализ

Термины: Криптография и криптоанализ, Стеганография и Стегоанализ