14.09.2020 14:20

Реализация обобщения алгоритма шифрования Ко-Ли. Часть 2

Реализация обобщения алгоритма шифрования Ко-Ли. Часть 2

Второй класс Communicator служит для реализации сетевого обмена данными и использует протокол UDP и библиотеку Windows Sockets [3]. Методы данного класса позволяют инициализировать необходимые системные структуры данных, задать сетевые адреса отправителя и получателя и выполнить передачу датаграмм между ними. Класс может осуществлять обмен данными любого типа, поскольку методы, отправляющие и принимающие датаграммы, являются шаблонами.

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

Для того, чтобы обеспечить большую независимость от базисной группы, в коде шаблона класса Algorithm и шаблонов методов класса Communicator применялись неопределенные выражения, синтаксически эквивалентными вызову функций с определенными именами. Для использования упомянутых шаблонов классов и методов совместно с конкретным типом данных, задающим элемент группы, программист должен реализовать для этого типа необходимые операции. Это можно сделать путем определения функций, шаблонов функций или классов с функциональным оператором, имеющих требуемые идентификаторы. Кроме того, программисту необходимо создать соответствующую данному типу специализацию шаблона класса Buffer Size, определенного в одном заголовочном файле с классом Communicator. Она необходима для задания количества байт, достаточного для хранения одного экземпляра указанного типа.

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

Список использованной литературы
1. Лебедева Д. С. Реализация обобщенного алгоритма Ко-Ли с использованием нильпотентных групп матриц. ВКР бакалавра. Иваново: Иван. гос. ун-т, 2016.
2. Ko K. H., Lee S. J., Cheon J. H., Han J. W., Kang J., Park C. New public-key cryptosystem using braid groups. Advances in Cryptology - CRYPTO 2000. Lecture Notes in Computer Science 1880. Berlin: Springer, 2000. P. 166-183.
3. MSDN Library URL: http://msdn.microsoft.com. (дата обращения: 1.06.2016).
4. Myasnikov A., Shpilrain V., Ushakov A. Group-based cryptography. Basel: BirkhauserVerlag, 2008.

Д. С. Лебедева

Реализация обобщения алгоритма шифрования Ко-Ли. Часть 2

Опубликовано 14.09.2020 14:20 | Просмотров: 495 | Блог » RSS