РАЗРАБОТКА ГИБРИДНОЙ СИСТЕМЫ ЗАЩИТЫ ИНФОРМАЦИИ - Студенческий научный форум

X Международная студенческая научная конференция Студенческий научный форум - 2018

РАЗРАБОТКА ГИБРИДНОЙ СИСТЕМЫ ЗАЩИТЫ ИНФОРМАЦИИ

Бочков П.А. 1
1ГБПОУ СПТ им. Б.Г. Музрукова г. Сарова Нижегородской области
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Введение

Цель работы

Создать метод квантово-«золотой» криптографии, который можно отнести к классу гибридных криптосистем, и оценить точность передачи данных при программной реализации в программе, созданной по основным существующим протоколам распределения ключей: BB84, B92, 4+2, с шестью состояниями, Гольденберга-Вайдмана, Коаши-Имото и E91 (EPR).

Основные задачи

- проанализировать современные алгоритмы шифрации и дешифрации информации [1-5];

- на основе модифицированного метода «золотой» криптографии [6] создать новый квантово – «золотой» метод гибридной криптографии;

- создать модель метода;

- создать работающую версию программы, реализующую данный метод шифрации и дешифрации информации;

- оценить точность метода.

Новизна и актуальность

Квантовое распределение ключей [7] предоставляет отличную возможность передачи секретной информации по открытому каналу и при этом позволяет быть полностью уверенными в том, что ее никто не перехватит. Последние разработки в области квантовой криптографии позволяют создавать системы, обеспечивающие практически 100%-ю защиту ключа и ключевой информации [8].

«Золотая» криптография Стахова [9] основана на применении специального класса матриц, называемых матрицами Фибоначчи [10], для кодирования информации. При этом планировалось использование так называемых «золотых» матриц, элементами которых являются гиперболические функции Фибоначчи, введенные в работе [11].

В [6] был предложен модифицированный метод «золотой» криптографии, основанный на введении дополнительных целочисленных переменных, описывающих кратность применимости матричных преобразований, из которых и формируется итоговый «секретный ключ», который и будет передан в нашем методе квантово-«золотой» криптографии по квантовому каналу. Исходная информация разбивается на квадратные матрицы S на порядок 2х2 с последующим преобразованием в зашифрованное сообщение: S x (Gλ (x)) Z = C, где Gλ (x) – «золотые» Gλ – матрицы Фибоначчи двух непрерывных переменных λ и x, являющихся ключами для каждой четверки s1, s2, s3, s4 ; z – целочисленная переменная, задающая степень применения операции; C - зашифрованная матрица. Обратное преобразование: C x(Gλ* (x)) Z = S, с помощью Gλ* (x) – матриц, инверсных к Gλ (x), позволяет провести дешифровку сообщения. Таким образом, для шифрования сообщения из n = 4 * t (n, t – целые) значений необходим ключ из t переменных λ и t переменных x, которые размещаем в итоговой матрице вместе с зашифрованной матрицей С для отправки по открытому каналу, при этом в нашем методе квантово-«золотой» криптографии t целочисленных ключей z передаются по квантовому каналу.

Основными преимуществами данного метода квантово-«золотой» криптографии являются:

  1. простота алгоритма шифрации-дешифрации, основанного на матричном умножении, что обеспечивает высокую скорость работы и задает возможность использования метода для криптографической за­щиты сигналов в реальном масштабе времени;

  2. частая смена ключей λ и x, выбираемых по случайному закону, а также их расположения в шифрованной матрице, обеспе­чивают достаточно высокий уровень криптографической защиты;

  3. передача ключей z по квантовому каналу обеспечит абсолютную крипкостойкость метода.

Новизна проекта состоит в отсутствии подобных программ по работе с информацией, что также подтвердил обзор Интернет-ресурсов.

Данный метод квантово - «золотой» криптографии и созданная в работе программа Kvant_Gold_Crypt могут послужить основой для создания на их основе достаточно простых с точки зрения реализации, и в тоже время быстрых и сверхнадежных криптографических систем.

Программная реализация

При создании проекта были использованы специализированные среды разработки графического интерфейса: языки объектно-ориентированного программирования Microsoft Visual Basic 5.0 (SP2) CCE и Microsoft Visual Basic 6.0 [12].

Была разработана программа Kvant_Gold_Crypt на языке объектно-ориентированного программирования, которая осуществляет шифрование и дешифровку «дискретных сигналов», представляющих собой значения некоторой непрерывной функции. Предусмотрен ввод данных из текстового файла, состоящего из вещественных чисел, разделителем в котором может служить как пробел, так и запятая; создание ключа; зашифровка исходных данных и запись в файл для отправки. В данный файл входят не только зашифрованные данные, но и часть общего ключа, которые могут распределяться в файле по особым правилам, которые могут быть в свою очередь легко и часто изменяемы пользователем для обеспечения надежности шифрования.

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

Основная часть

1. Основные виды криптографических систем

На данный момент существуют три вида криптосистем: симметричная, асимметричная и гибридная. Суть системы с «открытым ключом» или по-другому асимметричной криптосистемы в том, что получатель зашифрованного сообщения создаёт шифрующие и дешифрующие коды, при этом отправителю сообщения он отправляет только шифрующий ключ по открытому каналу, другой ключ остаётся известным только получателю. В симметричной криптосистеме, наоборот, и получатель, и отправитель знают ключи для шифрации и дешифрации.

Как известно, все существующие криптографические методы и алгоритмы (как «симметричные», «асимметричные») [1-5] были созданы для «идеальных условий», когда мы предполагаем, что кодировщик, канал связи и расшифровщик функционируют «идеально». Это значит, что кодировщик осуществляет «идеальное» преобразование исходного текста в шифрованный текст, канал осуществляет «идеальную» передачу зашифрованного текста, и расшифровщик осуществляет «идеальное» преобразование зашифрованного текста в исходный текст. Чтобы убедиться в том, что он не имеет ошибок, достаточно произвести его обратное преобразование в исходный текст. Однако это невозможно сделать в криптографических системах с «открытым ключом», поскольку отправитель не знает «секретного ключа». Таким образом, эти рассуждения приводят нас к выводу, что «системы с открытым ключом» обладают существенным недостатком с точки зрения обеспечения контроля криптографической системы: они наиболее уязвимы по отношению к ошибкам, которые могут возникнуть в кодировщике в процессе преобразования исходного сообщения в зашифрованный текст.

Криптосистемы с «открытым ключом» [3] наиболее часто основаны на вычислительной сложности «сложных» математических проблем, наиболее часто из области теории чисел (проблема факторизации целых чисел, проблема дискретных логарифмов, эллиптические кривые и др.). Известно, что криптографические системы с «открытым ключом» существенно «медленнее» по сравнению с системами с «симметричным ключом». Известный специалист в области криптографии Р. Молин указал на это в [5]: «Криптографические методы с публичным ключом существенно медленнее по сравнению с «симметричными» криптографическими системами».

Таким образом, можно сформулировать ряд существенных недостатков криптографических систем с «открытым ключом»:

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

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

Как известно [5], «недостаток «асимметричных» систем состоит в том, что они значительно более медленные (в 1000 и более раз), чем «симметричные» системы. Во многих качественных системах используются оба вида криптосистем. Как говорил Р.Молин: «системы с «открытым ключом» и «симметричным ключом» могут быть использованы совместно, чтобы обеспечить объединение эффективности «симметричного» шифрования с высокой криптографической защитой систем с «открытым ключом»[5]. При этом «публичный ключ» получателя шифрует ключ симметричного алгоритма, который используется для передачи основного сообщения. Такие комбинированные криптографические системы называются гибридными криптосистемами».

2. Квантовая криптография

Стивен Визнер, являясь студентом Колумбийского университета, в 1970 подал статью по теории кодирования в журнал IEEE Information Theory, но она не была опубликована, так как изложенные в ней предположения казались фантастическими, а не научными. Именно в [13] была описана идея возможности использования квантовых состояний для защиты денежных банкнот. Визнер предложил в каждую банкноту вмонтировать 20 так называемых световых ловушек, и помещать в каждую из них по одному фотону, поляризованному в строго определенном состоянии. Каждая банкнота маркировалась специальным серийным номером, который заключал информацию о положении поляризационного фотонного фильтра. В результате этого при применении отличного от заданного фильтра комбинация поляризованных фотонов стиралась. Но на тот момент технологическое развитие не позволяло даже рассуждать о таких возможностях. Однако в 1983 году его работа «Сопряженное кодирование» была опубликована в SIGACT News и получила высокую оценку в научных кругах.

В последствии на основе принципов работы C.Визнера ученые Чарльз Беннет из фирмы IBM и Жиль Брассард из Монреальского университета разработали способ кодирования и передачи сообщений. Ими был сделан доклад на тему «Квантовая криптография: Распределение ключа и подбрасывание монет» на конференции IEEE International Conference on Computers, Systems, and Signal Processing. Описанный в работе [14] протокол впоследствии признан первым и базовым протоколом квантовой криптографии и был назван в честь его создателей BB84. Для кодирования информации протокол использует четыре квантовых состояния микросистемы, формируя два сопряженных базиса.

В это время Артур Экерт работал над протоколом квантовой криптографии, основанном на спутанных состояниях [15]. Опубликование результатов его работ состоялось в 1991 году. В основу положены принципы парадокса Эйнштейна–Подольски-Розенберга, в частности принцип нелокальности спутанных квантовых объектов.

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

В первой экспериментальной демонстрации установки квантового распределения ключей проведенной в 1989 в лабораторных условиях [16], передача осуществлялась через открытое пространство на расстояние тридцати сантиметров. Далее эти эксперименты были проведены с использованием оптического волокна в качестве среды распространения. После первых экспериментов Мюллера и др. в Женеве, с использованием оптоволокна длиной 1,1км [17, 18], в 1995 расстояние передачи было увеличено до 23км через оптическое волокно, проложенное под водой [19, 20]. Приблизительно в то же время, Таунсендом из British Telecom была продемонстрирована передача на 30км [21]. Позднее он, продолжив тестирование систем с использованием различных конфигураций оптических сетей [22, 23], увеличил дальность до 50км [24]. Эксперименты по передаче на это же расстояние были позднее повторены Хьюзом и др. в Лос-Аламосе [25]. В 2001г. Хискетом и др. в Соединенном Королевстве была осуществлена передача на расстояние 80км [26]. В 2004-2005гг. две группы в Японии и одна в Соединенном Королевстве сообщили об осуществлении экспериментов по квантовому распределению ключей и интерференции одиночных фотонов на расстояние свыше 100км [27, 28, 29]. Первые эксперименты по передаче на расстояние 122км проводились учеными из Toshiba в Кембридже с использованием детекторов на основе лавинных фотодиодов (ЛФД) [28]. Рекорд по дальности передачи информации принадлежит объединению ученых Лос-Аламоса и Национального института стандартов и технологий, и составляет 184км [30]. В нем использовались однофотонные приемники, охлаждаемые до температур, близких к нулевым по Кельвину.

Первая презентация коммерческой системы квантовой криптографии произошла на выставке CeBIT-2002. Там, швейцарские инженеры компании GAP-Optique из Женевского университета представили первую систему квантового распределения ключей (QKD – Quantum Key Distribution). Ученым удалось создать достаточно компактное и надежное устройство. Система располагалась в двух 19-дюймовых блоках и могла работать без настройки сразу после подключения к персональному компьютеру. С его помощью была установлена двухсторонняя наземная и воздушная волоконно-оптическая связь между городами Женева и Лозанна, расстояние между которыми составляет 67км [31]. Источником фотонов служил инфракрасный лазер с длиной волны 1550нм. Скорость передачи данных была невысока, но для передачи ключа шифра (длина от 27,9 до 117,6кбит) большая скорость и не требуется.

В последующие годы к проектированию и изготовлению систем квантовой криптографии подключились такие коммерческие монстры как Toshiba, NEC, IBM, Hewlett Packard, Mitsubishi, NTT . Но наряду с ними стали появляться на рынке и маленькие, но высокотехнологичные компании: MagiQ, Id Quantique, Smart Quantum. В июле 2005 в гонке за увеличение расстояния передачи ключа вперед вышли инженеры Toshiba, представив на рынке системы способную передать ключ на 122км. Однако, как и у конкурентов, скорость генерации ключа в 1,9кбит/с оставляла желать лучшего. Производители в настоящие время стремятся к разработке интегрированных систем – новинкой от Id Quantique, является система Vectis, использующая квантовое распределение ключей для создания VPN туннелей, шифрующая данные на канальном уровне с помощью шифра AES. Ключ может быть 128, 196 или 256-битной длины и меняется с частотой до 100Гц. Максимальная дистанция для данной системы составляет 100км. Все вышеперечисленные компании производят системы кодирующие информацию о битах ключа в фазовых состояниях фотонов. Со времен первых реализаций, схемы построения систем квантового распределения ключей значительно усложнились.

Британские физики из коммерческого подразделения QinetiQ Британской оборонной исследовательской лаборатории и немецкие физики из Мюнхенского университета Людвига-Максимиллиана впервые осуществили передачу ключа на расстояние 23,4км непосредственно через воздушное пространство без использования оптического волокна [32]. Эксперимент проводился в горах Южной Германии. Слабый импульсный сигнал посылался ночью с одной горной вершины (2950м) на другую (2244м), где находился счетчик фотонов.

Руководитель проекта Джон Рэрити из QinetiQ полагал [33], что уже в ближайшее время будет проведен эксперимент с посылкой криптографического ключа на низкоорбитальный спутник, с помощью которого можно будет посылать секретные данные в любую точку планеты. Отмечалось, что для этого придется преодолеть ряд технических препятствий. Во-первых, необходимо улучшить устойчивость системы к неизбежной потере фотонов при их посылке на расстояния в тысячи километров. Во-вторых, существующие спутники не оснащены соответствующим оборудованием для пересылки криптографических данных по квантовому протоколу, так что потребуется конструирование и запуск совершенно новых спутников [34].

Исследователи из Северо-западного университета (Эванстон, штат Иллинойс) продемонстрировали технологию, позволяющую передавать на небольшое расстояние шифрованное сообщение со скоростью 250Мбит/с [35]. Ученые предложили метод квантового кодирования самих данных, а не только одного ключа. В этой модели учитывается угол поляризации каждого переданного фотона, Поэтому любая попытка декодировать сообщение приводит к такой зашумленности канала, что всякая расшифровка становится невозможной. Исследователи обещают, что уже модель следующего поколения сможет работать практически на магистральной скорости Интернета порядка 2,5Гбит/с. По словам одного из разработчиков, профессора Према Кумара, «еще никому не удавалось выполнять квантовое шифрование на таких скоростях». Ученые уже получили несколько патентов на свои разработки и сейчас работают вместе со своими промышленными партнерами Telcordia Technologies и BBN Technologies над дальнейшим усовершенствованием системы. Первоначально рассчитанный на пять лет проект был поддержан грантом DARPA (the Defense Advanced Research Projects Agency) в 4,7 миллиона долларов. Результатом данного проекта стала система квантового кодирования AlphaEta [36].

Группа Ричарда Хьюгса из Лос-Аламоса занимается разработками спутниковых оптических линий связи (ОЛС). Для реализации преимуществ квантовой криптографии фотоны должны проходить через атмосферу без поглощения и изменения поляризации. Для предотвращения поглощения исследователи выбирают длину волны в 770нм, соответствующую минимальному поглощению излучения молекулами атмосферы. Сигнал с большей длиной волны также слабо поглощается, но более подвержен турбулентности, которая вызывает изменение локального показателя преломления воздушной среды и, ввиду этого, изменение поляризации фотонов. Ученым приходится решать и побочные задачи. Спутник, наряду с фотонами, несущими сообщение, может принять и фотоны фонового излучения, исходящего как от Солнца, так и отраженного Землей или Луной. Поэтому применяются сверхузконаправленный приемник, а также фильтр для отбора фотонов определенной длины волны. Кроме того, фотоприемник чувствителен к приему фотонов в течение 5нс периодически с интервалом в 1 мкс. Это должно быть согласовано с параметрами передатчика. Такие ухищрения вновь обуславливают влияние турбулентности. Даже при сохранении поляризации, вследствие турбулентности может измениться скорость передачи фотонов, приводя к фазовому дрожанию. С целью компенсации фазового дрожания впереди каждого фотона высылается световой импульс. Этот синхронизирующий импульс, подвергается такому же, как следующий за ним фотон, влиянию атмосферы. Поэтому независимо от момента получения импульса приемник спутника знает, что через 100нс нужно открыться для приема информационного фотона. Изменение показателя преломления вследствие турбулентности вызывает уход луча от антенны. Поэтому для направления потока фотонов передающая система отслеживает слабое отражение от синхроимпульсов. Группой Хьюгса осуществлена передача сообщения по квантовому криптографическому каналу через воздушную среду на расстояние в 500м на телескоп диаметром 3,5дюйма [37]. Принимаемый фотон попадал на распределитель, который направлял его на тот или иной фильтр. После этого ключ контролировался на наличие ошибок. Реально, даже при отсутствии перехвата, уровень ошибок достигал 1,6% из-за наличия шума, фоновых фотонов и рассогласования. Это несущественно, поскольку при перехвате уровень ошибок обычно более 25%.

Позднее группой Хьюгса было передано сообщения по квантовому каналу через воздушную среду на расстояние 2км [38, 39]. При испытаниях сигналы передавались горизонтально, вблизи поверхности Земли, где плотность воздуха и флуктуации интенсивности максимальны. Поэтому расстояние в 2км вблизи поверхности Земли эквивалентны 300км, отделяющим низкоорбитальный искусственный спутник от Земли.

Таким образом, менее чем за 50 лет квантовая криптография прошла путь от идеи до воплощения в коммерческую систему квантового распределения ключей. Действующая аппаратура позволяет распределять ключи через квантовый канал на расстояние превышающие 100км (рекорд 184км), со скоростями достаточными для передачи ключей шифрования, но не достаточными для поточного шифрования магистральных каналов с помощью шифра Вернама. Основными потребителями систем квантовой криптографии в первую очередь выступают министерства обороны, министерства иностранных дел и крупные коммерческие объединения. На настоящий момент высокая стоимость квантовых систем распределения ключей ограничивает их массовое применение для организации конфиденциальной связи между небольшими и средними фирмами и частными лицами.

В квантовой криптографии выделились два основных направления развития систем распределения ключей.

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

Произвольное состояние любой двухуровневой квантово-механической системы можно представить в виде линейной суперпозиции

|Ψ> = α | 0> + β |1> (1)

ее собственных состояний | 0> и |1> с комплексными коэффициентами α и β, причем:

|α|2 + |β|2 = 1. (2)

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

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

Основным протоколом квантовой криптографии на одночастичных состояниях является протокол BB84 [14].

В протоколе BB84 используются 4 квантовых состояния фотонов, например, направление вектора поляризации, одно из которых Алиса выбирает в зависимости от передаваемого бита: 90° или 135° для «1», 45° или 0° для «0». Одна пара квантовых состояний соответствует 0(|0(+)>) и 1(|1(+)>) и принадлежит базису «+». Другая пара квантовых состояний соответствует 0(|0(x)>) и 1(|10(x)>) и принадлежит базису «x». Внутри обоих базисов состояния ортогональны, но состояния из разных базисов являются попарно неортогональными (неортогональность необходима для детектирования попыток съема информации).

Квантовые состояния системы можно описать следующим образом:

(3)

Здесь состояния |0+> и |1+> кодируют значения «0» и «1» в базисе «+», а |0+> и |1+> кодируют те же значения в базисе «x». Базисы повернуты друг относительно друга на 45°.

Второе направление развития основано на эффекте квантового перепутывания (запутывания). Две квантово-механические системы (в том числе и разделенные пространственно) могут находиться в состоянии корреляции, так что измерение выбранной величины, осуществляемое над одной из систем, определит результат измерения этой величины на другой. Ни одна из запутанных систем не находится в определенном состоянии. Поэтому запутанное состояние не может быть записано как прямое произведение состояний систем. Базовым протоколом квантового распределения ключей на основе эффекта квантового запутывания является протокол EPR (Einstein-Podolsky-Rosen), второе его название E91[15]. Базовые принципы этих двух направлений легли в основу разработки всех протоколов квантового распределения ключей.

Протокол E91 был предложен А. Экертом в 1991 году. Второе название протокола – EPR, так как он основан на парадоксе Эйнштейна-Подольски-Розенберга. В протоколе предлагается использовать, например, пары фотонов, рождающихся в антисимметричных поляризационных состояниях. Перехват одного из фотонов пары не приносит Еве никакой информации, но является для Алисы и Боба сигналом о том, что их разговор подслушивается.

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

Существует множество протоколов квантовой криптографии основанных на передаче информации посредством кодирования в состояниях одиночных фотонов, например: BB84, B92 [40], ВВ84(4+2) [41], с шестью состояниями [42], Гольденберга-Вайдмана [43], Коаши-Имото [44] и их модификации. Единственный протокол, разработанный для кодирования информации в спутанных состояниях – E91.

Из сравнительного анализа приведенных выше протоколов [8], из расчета количества принятых фотонов, можно судить о том, что наиболее эффективным является ВВ84. Более поздние его модификации направлены на уменьшение процента ошибок и количества полезной информации, которую теоретически может получить злоумышленник. Альтернативой в развитии протокола ВВ84 является протокол В92. Преимуществом протокола В92 перед ВВ84 является использование фотонов с двумя типами поляризации (вместо четырех), что позволяет упростить схему реализации, однако обеспечивает меньшую эффективность (уменьшается количество принятых фотонов), и гарантированную секретность ключа только на расстоянии до 20км, тогда как ВВ84 – на расстоянии до 50км. В настоящее время в коммерческих системах распределения ключа применяется протокол ВВ84.

3. «Золотая» криптография Стахова

В последние годы в работах [9-11,45-46] «теория чисел Фибоначчи» получила дальнейшее развитие. При этом получено ряд новых приложений этой теории, имеющих прямое отношение к теории кодирования и криптографии [9]. В [11] были приведены результаты исследований по созданию нового метода криптографии, изложенного в [9] и основанного на использовании так называемых «золотых» матриц.

Под «золотыми» матрицами понимаются квадратные матрицы следующего типа:

(4)

(5)

где x – непрерывная переменная, принимающая значения из множества действительных чисел, sFs(x), cFs(x) – соответственно симметричный гиперболический синус и косинус [13], задаваемые математическими выражениями:

(6)

— «золотая пропорция».

Заметим, что матрицы (4), (5) обладают замечательными математическими свойствами. Матрица (5) является инверсной к матрице (4), то есть, для любого x имеет место следующее тождество:

(7)

Кроме того, для любого x детерминанты указанных матриц тождественно равны 1, то есть,

(8)

Следует отметить, что гиперболические функции (6), введенные в [11], являются расширением на непрерывную область так называемой формулы Бине для чисел Фибоначчи, введенной французским математиком Бине в 19-м столетии; а «золотые» матрицы (4), (5) являются обобщением Q-матрицы, введенной американским математиком Вернером Хоггаттом [47] в начале 60-х годов 20-го столетия, то есть «золотые» матрицы (4), (5) являются итогом около 200-го периода в развитии теории чисел Фибоначчи.

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

(9)

Шифрация сообщения состоит в последовательном представлении четверок «отсчетов» типа a1, a2, a3, a4 из (9) в виде квадратной матрицы:

(10)

и последующим ее умножением на прямую «золотую» матрицу (4). При этом образуется «кодовая матрица» Е,

(11)

которая представляет собой «зашифрованное сообщение», передаваемое затем по «каналу связи».

Дешифрация зашифрованного сообщения, полученного из «канала связи», состоит в умножении «кодовой матрицы» (11) на инверсную матрицу (5).

Между детерминантами исходной матрицы (10) и «кодовой матрицы» (11) существует следующая связь:

(12)

что непосредственно вытекает из свойства (8).

Предложенный А.П. Стаховым метод [9] принадлежит к так называемой «симметричной» криптографии. Для передачи криптографического ключа предлагалось использовать существующие асимметричные криптографические системы, то есть криптографическая способность данного метода определяется криптографической способностью соответствующей асимметричной системы, используемой для передачи криптографического ключа.

В работе [9] А.П. Стаховым был введен новый класс матриц, основанных на гиперболических λ - функциях Фибоначчи:

(13)

(14)

Эти матрицы названы «золотыми» Gλ - матрицами:

(15)

(16) (17)

(18)

Матрицы (15) и (16) обладают следующим уникальными свойствами:

(19)

(20)

Таким образом, особенность матриц (15) - (18) состоит в следующем. Во-первых, они являются функциями двух непрерывных переменных x и λ > 0 . Во-вторых, элементами матриц (15) - (18) являются гиперболические λ - функции Фибоначчи (13) и (14). В-третьих, их детерминанты не зависят от значений переменных x и λ и тождественно равны +1 или -1.

4. Модификация метода «золотой» криптографии Стахова

Модификация метода «золотой» криптографии [6] была основана на введении дополнительных целочисленных переменных, описывающих кратность применимости матричных преобразований, из которых и формируется итоговый двоичный «секретный ключ», который может быть легко преобразован по существующим ныне технологиям шифрования. Исходная информация разбивается на квадратные матрицы S порядка 2х2 с последующем преобразованием в зашифрованное сообщение:

S x (Gλ (x)) Z = C, (21)

где Gλ (x) – «золотые» матрицы Фибоначчи [9] двух непрерывных переменных λ и x, являющихся ключами для каждой четверки s1, s2, s3, s4 ; z – целочисленная переменная, задающая степень применения операции; C - зашифрованная матрица. Обратное преобразование:

C x(Gλ* (x)) Z = S, (22)

с помощью Gλ* (x) – матриц, инверсных к Gλ(x) [9], позволяет провести дешифровку сообщения. Таким образом, для шифрования сообщения из n = 4*t (n, t – целые) символов необходим ключ из t переменных λ, x и z, которые мы размещаем в итоговой матрице для отправки. В ключевой «секретный» файл передаются только двоичные состояния наличия ( >1) или отсутствия ( = 1 ) кратности степени z.

Число элементов исходной матрицы S должно быть кратно четырем, в противном случае матрица добавляется нулевыми элементами. Далее она разбивается на четверки s1, s2, s3, s4, для каждой из которых определяется свои λ, x и z, которые могут быть сгенерированы автоматически (что предусмотрено в программе), или могут быть вручную введены пользователем (тоже предусмотрено в программе). Например, для матрицы S из 36 элементов необходимо определить 9 вещественных λi, 9 вещественных xi и 9 целых степеней zi, которые также помещаются в шифрованную матрицу. По последним 9 целым числам ziопределяется итоговый «секретный» ключ, который содержит только 1 или 0 (наличия ( >1) или отсутствия ( = 1 ) кратности степени z). Этот «двоичный» файл легко может быть сжат, например, в два числа – порядок системы счисления и число, в которое в данной системе счисления переведен данный «двоичный секретный» ключ.

Матрицы шифрования Gλ (x) и инверсные к ним Gλ* (x) [9] определены для k = х – четного или нечетного, однако для непрерывной переменной х возникает проблема выбора соответствующих матриц преобразований. Эта проблема была нами решена в программе выбором матрицы для х, находящегося к ближайшему четному х, или нечетному х. Однако, как показали дополнительные исследования, можно было даже ограничиться и матрицами шифрования только типа G0,λ (x) и G0,λ* (x); или только матрицами G1,λ (x) и G1,* (x); их применение дает достаточно высокие результаты по точности вычислений – абсолютная погрешность не ниже порядка 10-4 - 10-5, что подтверждается большим количеством проведенных расчетов в специально составленной для этого программе для отладки всего метода, относительная погрешность результата не превосходит 10-9 - 10-10 .

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

5. Квантово-«золотая» криптография

Если в [6] был предложен модифицированный метод «золотой» криптографии, основанный на введении дополнительных целочисленных переменных, описывающих кратность применимости матричных преобразований, из которых и формируется итоговый «секретный ключ», то в данном методе квантово-«золотой» криптографии он будет передан по квантовому каналу. Исходная информация также разбивается на квадратные матрицы S на порядок 2х2 с последующим преобразованием в зашифрованное сообщение по (21). Обратное преобразование (22) с помощью инверсных матриц, позволяет провести дешифровку сообщения.

Таким образом, для шифрования сообщения из n = 4 * t (n, t – целые) значений необходим ключ из t переменных λ и t переменных x, которые размещаем в итоговой матрице вместе с зашифрованной матрицей С для отправки по открытому каналу, при этом t целочисленных ключей z передаются нами по квантовому каналу.

Основными преимуществами данного метода являются:

  1. простота алгоритма шифрации-дешифрации, основанного на матричном умножении, что обеспечивает высокую скорость работы и задает возможность использования метода для криптографической за­щиты сигналов в реальном масштабе времени;

  2. частая смена ключей λ и x, выбираемых по случайному закону, а также их расположения в шифрованной матрице, обеспе­чивают достаточно высокий уровень криптографической защиты;

  3. передача ключей z по квантовому каналу обеспечит абсолютную крипкостойкость метода.

В итоге получаем файл для отправки по открытому каналу и совсем небольшой файл, состоящий из степеней кратности матричных преобразований для отправки по квантовому каналу для диапазона:

1) z[1;2] для протокола В92, Гольденберга-Вайдмана, Коаши-Имото;

2) z[1;3] для протокола Е91(EPR);

3) z[1;4] для протокола ВВ84, ВВ84(4+2) в одном базисе;

4) z[1;6] для протокола с шестью состояниями.

6. Программная реализация метода квантово-«золотой» криптографии

Была разработана программа Kvant_Gold_Crypt на языке объектно-ориентированного программирования, которая осуществляет шифрование и дешифровку «дискретных сигналов», представляющих собой значения некоторой непрерывной функции. Предусмотрен ввод данных из текстового файла, состоящего из вещественных чисел, разделителем в котором может служить как пробел, так и запятая; создание ключа; зашифровка исходных данных и запись в файл для отправки. В данный файл входят не только зашифрованные данные, но и часть общего ключа, которые могут распределяться в файле по особым правилам, которые могут быть в свою очередь легко и часто изменяемы пользователем для обеспечения надежности шифрования.

Язык объектно-ориентированного программирования Microsoft Visual Basic 6.0, был применен для компиляции проекта и стандартного программного модуля и получения exe-файла, то есть для преобразования проекта в приложение, которое может выполняться непосредственно в среде операционной системы [12].

Отладка программы в среде Microsoft Visual Basic 6.0 (рис.1).

Рис. 1

Данная версия программы содержит главное меню, а также криптографическое меню для быстрого ввода команд (дополнительные наборы управляющих элементов Microsoft Windows Common Controls - элементы ToolBar и ImageList; Microsoft Common Dialog Controls – CommonDialog), а также усовершенствованные поля RichTextBox для отображения информации. Также в программе предусмотрен и полный процесс дешифровки получаемого сообщения. Для проверки работы программа содержит несколько окон, в которых легко можно наблюдать за работой программы с исходным файлом. Данные окна предназначены больше для проверки и демонстрации работы программы, в профессиональной версии программы они могут отсутствовать. Рис.2

Для создания меню использовался специальный редактор меню Menu Editor (рис.2.).

Внешний вид раскрывающихся пунктов меню показан на рис.3.

Рис.3

Для выполнения операций с файлами был использован дополнительный элемент управления Microsoft Common Dialog Controls – CommonDialog (Общий диалог), который реализовывал событийные процедуры открытия и сохранения файлов, как, например, на рис.4.

Рис.4

Создание ключа также возможно автоматически, или вводом значений ключей λ, x и z вручную (рис.5).

Рис.5

Криптографическое меню (дополнительные наборы управляющих элементов Microsoft Windows Common Controls - элементы ToolBar и ImageList) с всплывающей подсказкой, как, например, на рис.6, позволяет быстро вводить необходимые команды.

Рис.6

В итоге получаем файл для отправки по открытому каналу и совсем небольшой файл, состоящий из степеней кратности матричных преобразований для отправки по квантовому каналу для диапазона z в зависимости от выбранного протокола: ВВ84, В92, Гольденберга-Вайдмана, Коаши-Имото, Е91(EPR), ВВ84(4+2) или для протокола с шестью состояниями.

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

Рис. 7

7. Оценка точности и криптостойкости данного метода

В ходе выполнения работы была оценена операционная погрешность [48] вычислений, которая получается в результате проведения арифметических операций над числами. Для данной программы абсолютная погрешность не вычислений не превосходит 10-4 , что подтверждается большим количеством проведенных экспериментальных расчетов, выполненных при отладке программы, относительная погрешность результата не превосходит 10-9.

При разработке данной программы была оценена абсолютная и относительная точность метода по основным существующим протоколам распределения ключей: BB84, B92, 4+2, с шестью состояниями, Гольденберга-Вайдмана, Коаши-Имото и ЭПР. Проведено тестирование на определение точности шифрования и дешифрования в различных диапазонах для переменных х и , определяющих кодирующие матрицы, при условии, что переменная z имеет значения в диапазоне:

1) z[1;2] для протокола В92, Гольденберга-Вайдмана, Коаши-Имото;

2) z[1;3] для протокола Е91(EPR);

3) z[1;4] для протокола ВВ84, ВВ84(4+2) в одном базисе;

4) z[1;6] для протокола с шестью состояниями.

На рис.8 приведён график зависимости числа верных знаков исходной и расшифрованной матриц n (x) при 0

Просмотров работы: 243