В настоящее время практически во всех сферах жизнедеятельности человека получают широкое распространение информационные технологии. Как правило, мультимедиа включает в себя текст, аудио, изображение и видео. Среди этих четырех информационных форматов более привычны для восприятия человека изображение и видео, которое, в частности, можно рассматривать как серию изображений. Поэтому методы, направленные на работу с изображениями, имеют большое значение в области обработки информации.
С развитием квантовых вычислений появилась новая ветвь развития в этой области, а именно квантовая обработка изображений (англ. Quantum Image Processing, QIP), которая привлекает к себе всё больше внимания. Разрабатываемые алгоритмы QIP сочетает в себе квантовые вычисления вместе с цифровой обработкой изображений и оказываются более производительными по сравнению с современными классическими вариантами. Если рассматривать QIP с точки зрения защиты информации, то выделяют три основных направления: водяные знаки, стеганография и шифрование изображений. О последнем направлении как раз пойдёт речь в этой статье.
Квантовые биты
Перед тем как перейти непосредственно к шифрованию стоит упомянуть, с чем мы работаем в квантовых компьютерах. Для кодирования информации вместо обычных бит используются квантовые биты, или кубиты, — наименьшая единица информации в квантовом компьютере, используемая для квантовых вычислений. Как и биты, кубиты могут принимать значения 0 и 1, но отличие заключается в том, что кубит находится в суперпозиции сразу двух этих состояний. После создания кубита с ним можно работать посредством квантовых логических элементов, то есть менять вероятности его состояний, а так же запутывать его с другими кубитами, тем самым создавая корреляцию между их состояниями, что невозможно в классическом случае. Так как после измерения кубит схлопывается в одно из его собственных состояний, то во время операций с ним нельзя узнать его промежуточное состояние. С точки зрения количества информации система из кубитов может вместить себя экспоненциально больше информации. Однако стоит учитывать, что экспоненциальное увеличение пространства состояний системы не обязательно приводит к экспоненциальному росту вычислительной мощности в связи со сложностью кодирования и считывания информации.
Общие принципы квантового шифрования изображений
К шифрованию изображений выделяются такие требования как высокая скорость вычислений (в реальном времени) для таких приложений, как видеоконференцсвязь; высокая точность, например в точной диагностике заболеваний в телемедицине и другие. Стремясь удовлетворить некоторые или большинство из этих требований, технологии квантового шифрования изображений (англ. Quantum Image Encryption, QIE) можно в широком смысле классифицировать как стратегии, основанные на пространственной или частотной области [1]. Обобщенная схема QIE представлена на рисунке 1.
Информация относящаяся к пространственной области квантового изображения описывается расположением пикселей в нем и значениях в этих пикселях, то есть цвете. Следовательно, алгоритмы QIE, нацеленные на работу в пространственной области, в основном сосредоточены на этих двух параметрах. К методам, использующим данный подход, относятся скремблирование (преобразование положений пикселей для нарушения порядка в изображении), замещение (преобразование значений пикселей для изменения статистических свойств зашифрованного изображения), а также их объединение. В качестве примера рассмотрим алгоритм, имеющий меньшую сложность относительно других алгоритмов.
Квантовое шифрование с ключом-изображением
В этом алгоритме ключ-изображение и исходное изображение, которое должно быть зашифровано, представлены моделью NEQR (Novel Enhanced Quantum Representation). NEQR использует две запутанные последовательности квантовых битов для хранения информации о положении и информации о цвете изображения размера
— кодирование цвета в диапазоне ,
— кодирование положения пикселя.
В этих выражениях . Таким образом, квантовое изображение состоящее из пикселей в градациях серого в модели NEQR состоит из кубитов и представляется следующим образом:
Далее будем считать, что геометрические размеры изображения являются степенью двойки для некоторого упрощения формул (в противном случае, в пикселях выходящих за рамки изображения просто передается неиспользуемая информация любого цвета).
Сам алгоритм шифрования состоит из трех шагов и изображен на рисунке 2:
Шаг 1. Генерация ключа-строки.
Используя любой генератор случайной последовательности получаем строку , где .
Шаг 2. Преобразование в ключ-изображение
Говоря простыми словами, строка разбивается на блоков размера каждый, затем эти блоки используются для кодирования цвета в каждой позиции ключа-изображения, имеющего те же размеры, что и оригинальное изображение, что демонстрируется на рисунке 3. Процесс инициализации в меньшей степени относится к самому алгоритму, поэтому его подробное описание через формулы квантовой физики можно прочитать в оригинальной работе [2].
Шаг 3. Операция XOR
На последнем шаге мы применяем операцию к оригинальному изображению и ключу-изображению для получения зашифрованного изображения .
XOR
Квантовая схема для операции на изображениях и, изображенная на рисунке 4, разделена на три блока:
Блок 1 сопоставляет положение пикселей изображений и с помощью вентилей : если совпадают с , то далее пройдёт состояние , так как .
В блоке 2 используется вспомогательный кубит , который изменяется с на , если в предыдущем блоке .
В блоке 3 применяется операция с кубитами, отвечающими за цвет изображений и , в случае, если .
Для дешифрования используется эта же схема, при этом необходимо поменять местами исходное изображение и зашифрованное изображение .
В качестве примера на рисунке 5 показано шифрование изображения , где цвет каждого пикселя принимает значения от 0 до 3.
На рисунке 6 показано изображение до и после применения описанного алгоритма шифрования. Так, зашифрованное изображение представляет собой случайный шум, в котором нельзя определить детали исходного изображения.
В этом алгоритме размер ключа соответствует размеру изображения умноженному на количество кубит для цвета . Пространство ключей размера достаточно велико, чтобы невозможно было за разумное время подобрать ключ шифрования. Об анализе с точки зрения статистики и анализе компьютерной сложности алгоритма можно прочитать в оригинальной статье [2].
Перейдем к обсуждению методов QIE на основе частотной области. В этом случае операции над изображением происходят после перехода в частотную область. Для этого в существующих алгоритмах применяется квантовое преобразования Фурье или квантовое вейвлет-преобразование. Рассмотрим подробнее пример алгоритма шифрования в частотной области.
Квантовое шифрование на основе квантового преобразования Фурье и двухфазного кодирования
В данном алгоритме для представления изображения используется модель FRQI (Flexible Representation of Quantum Images). Аналогично предыдущей модели, изображение состоит из двух частей: одна отвечает за цвет, другая — за положение пикселя:
— кодирование цвета,
— кодирование положения пикселя,
где . — это двумерные базисные квантовые состояния. Строка— вектор фаз, отвечающих за оттенок серого для каждого пикселя. Так, изображение в представлении модели FRQI выглядит следующим образом:
Имеем исходное изображение — , ключи для пространственной области и области квантового преобразования Фурье (англ. Quantum Fourier transform, QFT) — операции поворота фазы, применяющиеся к состояниям
Алгоритм шифрования выглядит следующим образом:
Шаг 1. Кодирование исходного изображения в пространственной области c использованием ключа для получения
Шаг 1.
где
Шаг 2. Квантовое преобразование Фурье
Шаг 2.
Здесь в ортонормированном базисе определяется как линейный оператор действующий следующим образом:
Шаг 3. Кодирование в частотной области c использованием ключа для получения
Шаг 3.
Шаг 4. Применение обратного квантового преобразования Фурье для получения окончательного зашифрованного изображения
Шаг 4.
Поскольку все преобразования, используемые в квантовых вычислениях, являются унитарными преобразованиями, процедура шифрования полностью обратима. Поэтому, для дешифрования необходимо проделать те же шаги в обратном порядке.
На рисунке 7 можем видеть исходное и зашифрованное с помощью описанного алгоритма изображение.
Аналогично алгоритму шифрования с ключом-изображением в описанной криптосистеме пространство ключей такое же большое, как изображение открытого текста. Сами ключи при этом представляют собой две независимые последовательности в пространственной области и частотной области QFT, соответственно.
Хороший алгоритм шифрования изображений должен обладать высокой чувствительностью к ключу. Если злоумышленник использует ключ даже незначительно отличающийся от оригинального ключа, то при дешифровании полученное изображение не будет иметь ничего общего с исходным.
Для анализа чувствительности в статье [3] использовались следующие три пары ключей для дешифрования зашифрованного изображения: (a) правильные ключи пространственной и частотной области (b) правильный ключ частотной области с неправильным ключом пространственной области и (c) правильный ключ пространственной области с неправильным ключом частотной области. Результаты дешифрования показаны на рисунке 8.
Видно, что в случае правильных ключей можно получить точное исходное изображение. С неправильным ключом пространственной области получается сильно зашумленное изображение, в котором еще можно видеть размытый контур исходного изображения. Наконец, используя неверный ключ частотной области расшифрованное изображение представляет собой случайный шум.
Заключение
В статье мы описали два основных на данный момент подхода к квантовому шифрованию изображений, а именно: с использованием преобразований в пространственной и в частотной области. Также чуть более подробно рассмотрели примеры квантовых алгоритмов шифрования, которые применялись к изображениям в оттенках серого. Чтобы работать с цветом, можно добавить ещё несколько кубитов, для кодирования красного, зеленого и синего каналов, при этом алгоритмы практически не изменятся. Так, расширение для метода шифрования цветных изображений с использованием квантового преобразования Фурье описано в работе [4].
На данный момент область QIP, в том числе квантовое шифрование изображений является быстро развивающейся областью, в которой используются возможности квантовой физики для расширения классических методов. Конечно, сейчас большинство исследований основано на моделировании квантовых алгоритмов, и чтобы подтвердить их эффективность, необходимо создание мощных и точных квантовых компьютеров. Так что пока остается лишь ждать развития квантовых технологий. Если вас заинтересовала эта тема, можно попытаться ускорить этот процесс попробовав себя в программировании квантовых алгоритмов с помощью qiskit [5], где присутствует раздел, посвящённый конкретно QIP.
Список используемых материалов
Yan, Fei & Iliyasu, Abdullah & Le, Phuc. (2017). Quantum image processing: A review of advances in its security technologies. International Journal of Quantum Information. 15. 1730001. 10.1142/S0219749917300017. (ResearchGate)
Wang, Jian & Geng, Ya-Cong & Han, Lei & Liu, Ji-Qiang. (2019). Quantum Image Encryption Algorithm Based on Quantum Key Image. International Journal of Theoretical Physics. 58. 10.1007/s10773-018-3932-y. (ResearchGate)
Yang, Yu-Guang & Xia, Juan & Jia, Xin & Zhang, Hua. (2013). Novel image encryption/decryption based on quantum Fourier transform and double phase encoding. Quantum Information Processing. 12. 10.1007/s11128-013-0612-y. (ResearchGate)
Yang, Yu-Guang & Jia, Xin & Sun, Si-Jia & Pan, Qing-Xiang. (2014). Quantum cryptographic algorithm for color images using quantum Fourier transform and double random-phase encoding. Information Sciences. 277. 445-457. 10.1016/j.ins.2014.02.124. (ResearchGate)
https://qiskit.org/textbook/ch-applications/image-processing-frqi-neqr.html#1.-The-FRQI-State
Scratch
Почему нельзя по квантовому каналу передать симметричный ключ, а потом уже шифровать любым нормальным AESом с ключом 256 бит?
plus79501445397
Насколько я понимаю, в статье приводятся алгоритмы прямого шифрования квантового состояния (которое содержится в кубитах, передается по квантовому каналу), а классические алгоритмы (AES и т.п.) оперируют с классической информацией (биты, байты и т.д.). Квантовое состояние до какой-то размерности можно переводить в классическое, шифровать/передавать/расшифровывать классическим образом и обратно переводить в квантовое, но с ростом размерности это будет становиться уже не эффективно (и даже невозможно) и/или с существенными потерями по сравнению с более-менее эффективными методами шифрования квантовой информации напрямую (речь не обязательно про алгоритмы из этой статьи). Все эти рассуждения конечно для случая, когда квантовые компьютеры станут достаточно совершенны.