Макаренко М.П.

Донецкий национальный технический университет, Украина

Алгоритм конфиденциальной связи в телефонной сети общего пользования (ТфОП)

 

В настоящее время проблема конфиденциальности телефонных переговоров приобретает особое значение в связи с необходимостью защиты бизнес-интересов и личной свободы граждан. Современные методы обеспечения конфиденциальности связи для телефонных сетей общего пользования реализуется на основе различных криптографических алгоритмов. Наиболее криптостойкими алгоритмами являются DES, IDEA, ГОСТ 28147-89 и ряд других, которых не так уж и много. Некоторые из этих алгоритмов как, например, ГОСТ 28147-89 и DES закреплены стандартами своих стран – Россией и США соответственно.

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

Современные криптостойкие алгоритмы строятся на основе так называемой сети Файстеля. Именно по этому принципу и был построен алгоритм криптографического шифрования, с учётом экономии реализации программно-аппаратного продукта. Общая схема разработанного алгоритма приведена на рисунке 1, где

k1, k2,…,k16 – подключи, вырабатываемые на каждом этапе шифрования из ключа;

S-блоки – функциональные преобразования бит (будут рассмотрены ниже).

Чем больше этапов шифрования алгоритма, основанного на сетях Файстеля, тем лучше для его криптостойкости. В разработанном алгоритме было выбрано 16 этапов шифрования – по аналогии с алгоритмом DES, который обеспечивает очень хорошую криптостойкость.

Из рисунка 1 видно, что входной блок (64 бит) при поступлении в функцию шифрования разбивается на две равные половины H1 и L1. Эта процедура необходима для обратимости сети Файстеля, то есть для шифрования и дешифрования потребуется один и тот же алгоритм. Функция шифрования, которую здесь представляют S-блоки, не обязательно должна быть обратимой. Об обратимости автоматически «позаботится» сеть Файстеля.

 

рисунок 1 – общая схема алгоритма криптографического шифрования

 

Единственное отличие процедуры шифрования и дешифрования заключается в том, что при шифровании подключи должны следовать в порядке k1, k2,…,k16 , а при дешифровании – k16, k15,…,k2, k1. Только в этом и состоит отличие этих двух процедур.

Немаловажную роль в процедурах шифрования и дешифрования играет функция шифрования, которая здесь представлена S-блоками. В таких алгоритмах как DES, ГОСТ 28147-89, IDEA и других, эта функция представлена множеством преобразований: перестановкой с расширением, перестановкой со сжатием, процедурой перестановки, процедурой замены и.т.д. Единственной процедурой, которая в наибольшей степени влияет на криптостойкость алгоритма, является подстановка в S-блоке. Она обладает очень важным криптографическим свойством – лавинным эффектом. Его суть основывается на том, чтобы как можно большее количество выходных данных зависели от входных данных, что влияет на криптостойкость алгоритма. Процедура построения S-блоков требует проявления лавинного эффекта в таком виде, чтобы при изменении одного из битов входных данных, изменялась ровно половина всех бит на выходе.

S-блоки можно было представить одной таблицей 216*216 (при условии, что на вход S-блока поступает 32 бита), но такая программно-аппаратная реализация невыгодна, хотя криптостойкость была бы очень хорошая.

В данном алгоритме, входящие 32 бита разбиваются на 8 блоков по 4 бита в каждом. И благодаря этому получается 8 S-блоков размерностью 4*4.

 

рисунок 2 – принцип работы S-блоков в алгоритме

 

S-блок представляет из себя таблицу. Её структура приведена на рисунке 3. Для примера был взят первый S-блок. Все остальные семь S-блоков обладают точно таким же свойством криптостойкости как лавинный эффект.

 

10

15

5

0

12

3

6

9

0

5

9

12

3

6

10

15

 

Рисунок 3 – структура S-блока

 

Номера строк – это биты 0 и 3, а номера столбцов – биты 1 и 2 четырёхбитного блока.

Следует обратить внимание на процедуру генерирования и обмена между абонентами ключей шифрования.

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

 

Литература:

1.                           Прикладная криптография. Протоколы, алгоритмы и исходные тексты на языке С/ Брюс Шнайер, - Триумф, 2002. – 432 с.

2.                           www.enlight.ru/crypto