Квантовые блуждания на службе шифрования данных для сетей 5G: что Вы об этом знаете?

В современном мире повсеместно активно обсуждается тема сетей пятого поколения (5G). Неотъемлемым элементом сетей 5G является поддержка концепции “Интернета Вещей” (IoT). Суть Интернета Вещей заключается в создании сети взаимосвязанных устройств, способных взаимодействовать друг с другом с критически минимальным участием человека. Все эксперты полагают, что технология 5G обладает огромным потенциалом для реализации разнообразных сценариев IoT, таких как: медицина; умные города; управление сложным транспортным потоком; обеспечение функционирования служб экстренной помощи; автоматизация промышленных процессов и многое другое. Для успешной реализации этих сценариев сети 5G предполагают внедрение новых сетевых архитектур, сервисов, приложений и других механизмов. При этом первостепенное значение уделяется обеспечению безопасности передачи и хранения данных.

Интернет вещей и медицина

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

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

Квантовые блуждания

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

Случайные блуждания

По аналогии с классическими случайными блужданиями существуют квантовые блуждания. Если вы имеете какое-то представление о квантовой механике, то знаете, что здесь не имеет смысла говорить о каких-либо положениях частицы, а можно говорить только о вероятностях оказаться в тех или иных положениях. Мы будем рассматривать блуждание частицы в кольце, состоящем из вершин. Состояние частицы при этом состоит из двух частей: «монетка» (это может быть спин электрона) и «ходок» (отвечает за положение в кольце). При этом шаг заключается в применении операторов «подбрасывания монеты» и сдвига. Сложные формулы из квантовой механики можно посмотреть в спойлере, здесь заметим лишь, что в результате после произвольного числа шагов вычисляются вероятности нахождения в каждом из положений кольца. Эти вероятности и являются интересующим нас результатом квантовых блужданий.

Кольцо квантовых блужданий

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

Одномерное распределение вероятностей

Двумерное распределение вероятностей

S-блок

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

Конструирование S-блока, состоящего из элементов включает следующие шаги:

  1. Выбираем секретный ключ, то есть параметры одномерного квантового блуждания: размер кольца N, количество шагов, начальное состояние «монеты» и параметр оператора «подбрасывания монеты». В результате блуждания получаем вектор вероятностей размера N.
  2. Изменяем размер вектора в соответствии с длиной B S-блока, получаем вектор R.
  3. Упорядочиваем элементы вектора R по возрастанию, получаем вектор S.
  4. В качестве последовательности для S-блока выбираем последовательность индексов элементов вектора R в векторе S.

Пример такого конструирования представлен на схеме:

Конструирование S-блока на основе квантового блуждания

Шифрование видео

Как уже было отмечено выше, шифрование видео трафика является важной задачей в применении к Интернету Вещей в сетях 5G. Рассмотрим алгоритм шифрования видео, состоящего из f кадров размера m n и 3 каналов:

  1. Выбираем секретный ключ, то есть параметры двумерного квантового блуждания: размер кольца N, битовая строка, описывающая шаги блуждания, начальное состояние “монетки” и параметры двух операторов “подбрасывания монетки”. В результате блуждания получаем матрицу вероятностей размера N × N.
  2. Изменяем размер матрицы в соответствии с размером последовательности кадров.
  3. Переводим получившуюся матрицу в матрицу K целых чисел в диапазоне от 0 до 255.
  4. Выполняем побитовую операцию xor (исключающее или) между кадрами и матрицей K.
  5. Конструируем два S-блока размерами и соответственно по алгоритму из предыдущего пункта.
  6. Применяем S-блоки для перестановки битов в каждом кадре и получаем закодированные кадры

Дешифрование видео происходит путем выполнения данных действий в обратном порядке. Схема шифрования и расшифрования представлена на рисунке ниже.

Схема шифрования и расшифрования видео

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

Пример шифрования кадра

Шифрование файлов

В данном разделе рассмотрим алгоритм шифрования файлов для хранения в облачном хранилище сетей 5G. Это могут быть файлы любого типа: изображение, аудио, видео, текст и т.д., так как алгоритм работает с ними как с битовыми наборами. Для шифрования битового набора BF выполняются следующие действия:

  1. Вычисляем матрицу вероятностей P размера N × N (аналогично пункту 1 алгоритма шифрования видео).
  2. Переводим матрицу P в вектор PK размера length(BF) / 8.
  3. Переводим вектор PK в битовый вектор K.
  4. Выполняем операцию побитовое xor (исключающее или) между BF и K.
  5. Конструируем S-блок размером 256 алгоритму из соответствующего пункта
  6. Применяем S-блок к каждому элементу полученной последовательности и получаем закодированный файл.

Расшифрование происходит путем выполнения данных действий в обратном порядке. Схема шифрования и расшифрования представлена ниже.

Cхема шифрования и расшифрования файлов

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

Сценарий использования в сетях 5G

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

Сценарий использования алгоритмов в сетях 5G

В заключение стоит отметить, что несмотря на то, что в оригинальной работе данные алгоритмы предлагаются к использованию в сетях 5G, ничто не запрещает использовать их в любух других сетях и системах. Так что не удивляйтесь, если уже в ближайшем будущем подобные алгоритмы станут частью нашей обыденной жизни.

Автор: alex_sh_sh
Источник: https://habr.com/