Научная статья на тему 'Построение асимметричных криптографических систем на основе числовых линейных блоковых корректирующих кодов'

Построение асимметричных криптографических систем на основе числовых линейных блоковых корректирующих кодов Текст научной статьи по специальности «Математика»

CC BY
143
71
Поделиться
Ключевые слова
КРИПТОГРАФИЧЕСКАЯ СИСТЕМА / КОРРЕКТИРУЮЩИЕ КОДЫ / ЧИСЛОВЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ

Аннотация научной статьи по математике, автор научной работы — Терентьев Андрей Иванович

Рассматриваются методы построения, отличительные свойства и особенности практической реализации ассиметричных криптографических систем на основе числовых линейных блоковых (ЧЛБ) кодов.

Похожие темы научных работ по математике , автор научной работы — Терентьев Андрей Иванович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

CONSTRUCTION AN ASYMMETRIC CRYPTOGRAPHIC SYSTEMS BASED ON NUMERIC LINEAR BLOCK ERROR-CORRECTING CODES

A methods organization an asymmetric cryptographic systems bay means numeric linear block error-correcting codes, combination elements of which are the finite decimals fraction.

Текст научной работы на тему «Построение асимметричных криптографических систем на основе числовых линейных блоковых корректирующих кодов»

2009

НАУЧНЫЙ ВЕСТНИК МГТУ ГА серия Прикладная математика. Информатика

№ 145

УДК 681.3:621.391

ПОСТРОЕНИЕ АСИММЕТРИЧНЫХ КРИПТОГРАФИЧЕСКИХ СИСТЕМ НА ОСНОВЕ ЧИСЛОВЫХ ЛИНЕЙНЫХ БЛОКОВЫХ КОРРЕКТИРУЮЩИХ КОДОВ

А.И. ТЕРЕНТЬЕВ

Статья представлена доктором технических наук, профессором Соломенцевым В.В.

Рассматриваются методы построения, отличительные свойства и особенности практической реализации асси-метричных криптографических систем на основе числовых линейных блоковых (ЧЛБ) кодов.

Ключевые слова: криптографическая система, корректирующие коды, числовые последовательности.

Введение

Поиск новых принципов построения асимметричных криптографических систем является актуальной научной задачей, несмотря на то, что многие гипотетические разработки, в том числе асимметричные криптосистемы, основанные на использовании свойств двоичных корректирующих (контролирующие ошибки) кодов [1, 2, 6, 7, 9], обладают рядом существенных недостатков, сдерживающих их практическую реализацию.

Попытки построения асимметричных криптосистем на основе двоичных (бинарных) и ц-ичных корректирующих кодов были обусловлены широкой известностью и изученностью этих кодов. В настоящее время наиболее известными асимметричными криптосистемами, основанными на использовании свойств корректирующих кодов, являются криптосистемы: Мак-Элиса (на основе двоичных кодов Гоппы), Нидеррайтера (на основе обобщенных кодов Рида-Соломона) и Сидельникова (на основе кодов Рида-Маллера) [1, 2, 6, 7, 9]. В основу этих криптосистем положен, главным образом, принцип нарушения систематичности и структуры кодовых комбинаций, используемых в них двоичных линейных блоковых корректирующих кодов, с целью замаскировать их под линейные коды без определенной структуры.

Отметим, что в случае использования конечных полей накладывается жесткое ограничение на мощность алфавита, что существенно ограничивает информационные возможности корректирующего кода и предопределяет его свойства, в том числе границы для кодового расстояния. Вполне очевидно, что корректирующие коды над бесконечными множествами элементов обладают рядом новых свойств, не присущих двоичным и ц-ичным корректирующим кодам. В частности, к таким кодам относятся числовые линейные блоковые корректирующие коды (ЧЛБ-коды) над кольцом конечных десятичных дробей [8], являющиеся самым сильным обобщением известных корректирующих кодов по основанию системы счисления. Наличие новых свойств у ЧЛБ-кодов обуславливает необходимость изучения возможности их более эффективного (по сравнению с двоичными кодами) использования для построения новых и модификации известных ассиметричных криптографических систем.

Рассмотрим примеры построения асимметричных криптографических систем на основе корректирующего ЧЛБ (п, &)-кода с закрытой порождающей матрицей, а также криптосистемы Мак-Элиса, модифицированной на случай использования для ее построения ЧЛБ (п, &)-кода. Известно, что задача определения позиций искаженных чисел в принятой комбинации иА согласно принципу максимального правдоподобия имеет единственное решение только при кратности ошибок V < [(ё - 1)/2], где с1 - минимальное кодовое расстояние, [ ] - знак целой части числа. В противном случае определить позиции искаженных чисел теоретически невозможно, поскольку один и тот же числовой синдром sч может соответствовать нескольким различным комбинациям ошибок кратности V.

1. Постановка и формализация задачи

Рассмотрим метод построения асимметричной криптосистемы на основе ЧЛБ (п, к)-кода с порождающей матрицей О, которая держится в секрете от всех пользователей и наблюдателей, кроме самого инициатора обмена зашифрованными сообщениями, осуществляющего их расшифровывание. Обобщенная схема такой криптосистемы приведена на рис. 1.

Передача некоторого секретного сообщения т е М (М - пространство открытых текстов), представленного в виде конечной десятичной дроби, от пользователя В пользователю А осуществляется следующим образом.

Пользователь А, используя известную только ему порождающую матрицу О некоторого равномерного разделимого систематического корректирующего ЧЛБ (п, к)-кода, вычисляет набор из I кодовых комбинаций

и = а О, (1)

где а - /-я (/ = 1, {) - последовательность информационных чисел, полученная случайным

образом и представленная как матрица-строка [ а1, .., ак];

О - порождающая матрица ЧЛБ (п, к)-кода, которую записывают в виде строк матрицы Пк размерности ^хп.

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

ир = П Р (2)

размерности tхn, строки которой уже не являются кодовыми комбинациями используемого ЧЛБ (п, к)-кода и представляют собой для постороннего наблюдателя некоторые псевдослучайные числовые последовательности. Учитывая назначение этих числовых последовательностей, назовем их «комбинациями-ингредиентами» (от латинского ingredientis - входящий, составляющий часть какого-либо сложного соединения или смеси).

В заключение пользователь А выбирает в пределах корректирующей способности ЧЛБ (п, к)-кода значение наибольшей кратности «несущей» комбинации ошибок

Vmax < [(ё-1)/2]. (3)

Матрица «комбинаций-ингредиентов» Пр и значение наибольшей кратности «несущей» комбинации ошибок vmax являются открытыми параметрами криптосистемы, известными обоим пользователям.

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

х = ( х1, ... , хt ), (4)

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

их = X ир , (5)

где Пр - матрица «комбинаций- ингредиентов».

Пользователь А Пользователь В

Секретные параметры, известные только пользователю А

Порождающая матрица ЧЛБ-кода ОкХп (в т.ч. п, к и ё)

Матрица кодовых комбинаций ЧЛБ-кода ик, в которой /-я строка и, = а, G

Матрица Р — перестановки столбцов в матрице ик (правило получения матрицы ир)

Открытые параметры, известные обоим пользователям

Матрица "комбинаций-ингредиентов" ир = ик Р -Ч Открытый канал связи г Матрица "комбинаций-ингредиентов" ир = ик Р

Наибольшая кратность "несущей" комбинации ошибок vmax < [(ё-1)/2] ) ► < ► < ч Наибольшая кратность "несущей" комбинации ошибок Vmax < [(ё-1)/2]

Передача секретного сообщения т є М

Прием "несущей" числовой комбинации и/ = и^ + е

Преобразование комбинации и£л к виду кодовой комбинации ЧЛБ-кода: иА = и/- Р1

Декодирование комбинации и- — вычисление вектора ошибок еА, имеющего структуру еА = еВ Р-

Вычисление вектора ошибок ев = Єа Р = (...,0, ті ,...,0,..., ту,0,... ), содержащего сообщение т = (ті, ..., ту)

Секретные параметры, известные только пользователю В

Числовой вектор х, определяющий "комбинации-ингредиенты", составляющие "несущую" числовую комбинацию их = х Пр

"Несущая" комбинация ошибок кратности V < vmax (позиции искажаемых чисел в "несущей" числовой комбинации их = х П„ )

Рис 1. Схема асимметричной криптосистемы с закрытой порождающей

матрицей

После этого пользователь В случайным образом выбирает «несущую» комбинацию ошибок (позиции искажаемых чисел в «несущей» числовой комбинации и/)

ег ••• em, (6)

где г, ..., m е {1, п}, г Ф ... Ф m, кратности V = \{г, m}|, удовлетворяющей условию

V < Vmax. (7)

Числовой вектор х и «несущая» комбинация ошибок ег ... вщ кратности V являются секретными параметрами криптосистемы, известными только пользователю В. Для передачи сообщения п пользователь В представляет его как последовательность из V чисел:

п = (п], ..., пД (8)

где V - кратность "несущей" комбинации ошибок, П], ., е Б.

Зная «несущую» комбинацию ошибок ег... ет, пользователь В формирует соответствующий ей вектор ошибок

вВ = (... , 0, е„ ... ,0, ... , ет 0, ...), (9)

содержащий после замены ег = п]; ... ; em = пЛ! числовое сообщение (8):

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

еВ = (. , 0, п] , ... ,0, ... , , 0, ...). (10)

Вектор ошибок (10) складывается (смешивается) с «несущей» числовой комбинацией (5),

образуя несекретную (открытую) числовую комбинацию-криптограмму

и/ = и%+ еВ, (11)

содержащую (скрывающую в себе) сообщение (8).

Числовая комбинация и/ передается по открытому каналу связи. Получив ее, пользователь А, применяя известный только ему способ обратной перестановки Р ]:

р ] р = Р р ] = Е, (12)

где Р — матрица перестановки столбцов в матрице ик (2), Е — единичная матрица, приводит ее

структуру в соответствие со структурой кодовой комбинации используемого ЧЛБ (п, к)-кода и

получает комбинацию

ил = и/ Р 1 = (и/ + еВ) Р 1 = и/Р 1 + еВ Р1, (13)

где и/ — числовая комбинация (11), представленная как матрица-строка;

Р1 — матрица перестановки, обратная для матрицы Р.

Из (13) видно, что комбинация иА искажена вектором ошибок

еА = еВ Р], (14)

содержащим числа сообщения п, но в последовательности - определенной перестановкой Р].

Поскольку «несущая» комбинация ошибок выбиралась в пределах корректирующей способности ЧЛБ (п, к)-кода, то правильное декодирование комбинации иА (вычисление вектора ошибок еА) трудностей не представляет. Последующее получение вектора ошибок

еВ = еА Р, (15)

содержащего числа п], ...,в естественной (установленной пользователем В) последователь-

ности, и составление из них сообщения п является тривиальной задачей.

2. Сравнительные оценки

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

передаваемого числового сообщения п определяется не количеством к информационных элементов ЧЛБ (п, к)-кода, а кратностью V «несущей» комбинации ошибок.

Криптостойкость изложенного метода основывается на том, что криптоаналитик не знает необходимую для правильного декодирования порождающую матрицу ОкХп используемого корректирующего ЧЛБ (п, к)-кода. Конечно, ее нахождение возможно по набору кодовых комбинаций ик. Однако считается, что эта задача имеет экспоненциальную трудоемкость. При этом криптоаналитику матрица ик неизвестна, а ее получение из матрицы ир без знания матрицы перестановки столбцов Р является еще более трудоемкой задачей (естественно, при достаточной размерности указанных матриц). Кроме этого, криптоаналитику неизвестна комбинация ошибок кратности V, которую использует пользователь В в качестве «несущей» (числа в кодовой комбинации и/, искажаемые им при внедрении сообщения ш), а также значения п, к и ё, которые могли бы несколько облегчить поиск правильного решения.

Наиболее уязвимым элементом в рассмотренной криптосистеме является «несущая» числовая комбинация и/ Ее качество (криптостойкость) в основном определяется количеством строк

I в матрице ир, а также весом и случайностью числового вектора х. Действительно, если криптоаналитику будут известны "комбинации-ингредиенты" из матрицы ир, составляющие «несущую» числовую комбинацию и/ то посредством простого вычитания их из числовой комбинации и/ (11) можно найти вектор ошибок еВ (10), содержащий сообщение ш. Поэтому значение I должно быть достаточным для обеспечения заданной надежности криптосистемы. Например, если вектор х двоичный, то при I = 10 возможно 252 различных сочетания из I по tl2 «комбинаций-ингредиентов», используемых для формирования «несущей» комбинации и/ При t = 20 количество таких сочетаний уже будет равно 184 756.

Обобщенная схема модифицированной асимметричной криптосистемы Мак-Элиса на основе корректирующего ЧЛБ-кода представлена на рис. 2.

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

Пусть О порождающая матрица ЧЛБ-кода размерности к Х п (т.е. О к Х п). Для формирования открытого и закрытого ключей криптосистемы необходимо выполнить следующую последовательность действий:

1. Случайно выбрать числовую невырожденную матрицу £ размерности к Х к (т.е. £ кХк).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

2. Случайно выбрать матрицу перестановок Р размерности п Х п (Р п Х п ).

3. Вычислить произведение матриц

ОЕ к Х п = £ к Х к О к Х п Р п Х п. (16)

Открытым ключом, по которому выполняется шифрование, является пара (ОЕ, V).

Закрытым (секретным) ключом, по которому будет выполняться расшифровывание, является тройка (£, О, Р).

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

Криптограмма вычисляется как числовой вектор

и = ш Ое + е. (17)

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

1. Вычислить вектор

и] = и Р] . (18)

2. Используя алгоритм декодирования для выбранного ЧЛБ (п, к)-кода с порождающей

матрицей О, получить вектор ш] длины к.

Пользователь А Пользователь В

Секретные параметры, известные только пользователю В

Выбранный случайным образом вектор ошибок е длины п, содержащий не более V ненулевых элементов (чисел)

Секретные параметры, известные только пользователю А

Порождающая матрица ЧЛБ-кода ОкХп (в т. ч. п, к)

Случайно выбранная числовая невырожденная матрица

£ к Х к

Матрица перестановки

Р п Хп

Рис. 2. Обобщенная схема модифицированной асимметричной криптосистемы Мак-Элиса

3. Вычислить исходное сообщение

~1 (19)

т = т1 Л ,

где Л-1 - матрица, обратная к матрице Л.

Таким образом, получен открытый текст М, представленный в виде числового вектора т длины к.

Заключение

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

ЛИТЕРАТУРА

1. Алферов А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии: Учеб. пособие. - М.: Гелиос АРВ, 2001.

2. Б. Шнайер. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. - М.: Издательство ТРИУМФ, 2002.

3. Иванов М.А. Криптографические методы защиты информации в компьютерных системах и сетях. - М.: КУДИЦ-ОБРАЗ, 2001.

4. Молдовян А.А., Молдовян Н.А., Советов Б.Я. Криптография. - СПб.: Издательство "Лань", 2001.

5. Петров А. А. Компьютерная безопасность. Криптографические методы защиты. - М.: ДМК, 2000.

6. Сидельников В.М. Открытое шифрование на основе двоичных кодов Рида-Маллера // Дискретная математика. - 1994. - Т. 6. - № 2. С. 3-20.

7. Сидельников В.М., Шестаков С.О. О системе шифрования, построенной на основе обобщенных кодов Рида-Соломона // Дискретная математика. - 1992. - Т. 4. - № 3. С. 57-63.

8. Терентьев А.И. Элементы теории и практики числовых линейных блоковых корректирующих кодов. - М.: Альтекс, 2000.

9. Чмора А.Л. Современная прикладная криптография. - М.: Гелиос АРВ, 2001.

CONSTRUCTION AN ASYMMETRIC CRYPTOGRAPHIC SYSTEMS BASED ON NUMERIC LINEAR BLOCK ERROR-CORRECTING CODES

Terentiev A.I.

A methods organization an asymmetric cryptographic systems bay means numeric linear block error-correcting codes, combination elements of which are the finite decimals fraction.

Сведения об авторе

Терентьев Андрей Иванович, 1965 г.р., окончил МИРЭА (1993), кандидат технических наук, доцент кафедры вычислительных машин, комплексов, систем и сетей МГТУ ГА, автор более 30 научных работ, область научных интересов - теория преобразования и передачи информации, помехоустойчивое кодирование, криптография, информационная безопасность.