Научная статья на тему 'ТЕОРИЯ ПОЛЯ И ЗАЩИТА ЦИФРОВОЙ ИНФОРМАЦИИ'

ТЕОРИЯ ПОЛЯ И ЗАЩИТА ЦИФРОВОЙ ИНФОРМАЦИИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
120
20
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНФОРМАЦИЯ / КОДИРОВАНИЕ / ЗАЩИТА / ОБЩАЯ АЛГЕБРА / ПОЛЕ ГАЛУА / INFORMATION / ENCODING / PROTECTION / GENERAL ALGEBRA / GALOIS FIELD

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Губарева Е.А., Нольде Е.Л., Ершов А.Т., Ефимова М.В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Губарева Е.А., Нольде Е.Л., Ершов А.Т., Ефимова М.В.

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

Field theory and digital information protection

Innovative processes in modern Economics and management are closely linked to the use of digital technologies and involve the availability of funds, not only financial, to protect various data stored and processed in digital format. The article discusses the main aspects of using information theory to preserve the qualitative characteristics of information circulating in a digital system. A brief description of existing approaches to the development of information conversion algorithms is given. The field theory apparatus is the mathematical basis for information transformations, such as cryptographic encryption, noise-tolerant encoding, and compression . The use of Galois fields for implementing persistent cryptographic transformations and constructing optimal error detection and information modification codes is shown.

Текст научной работы на тему «ТЕОРИЯ ПОЛЯ И ЗАЩИТА ЦИФРОВОЙ ИНФОРМАЦИИ»

Теория поля и защита цифровой информации

о сч о сч

сч

о ш m

X

3

<

m о х

X

Губарева Елена Алексеевна

кандидат физико-математических наук, доцент, кафедра математики и информатики, ФГБОУ ВО «Государственный университет управления», gubel@inbox.ru

Нольде Евгений Львович

кандидат физико-математических наук, доцент, кафедра математики и информатики, ФГБОУ ВО «Государственный университет управления», elnolde@yandex.ru

Ершов Анатолий Тихонович

кандидат физико-математических наук, доцент, кафедра математики и информатики, ФГБОУ ВО «Государственный университет управления», ate2505@rambler.ru

Ефимова Марина Владимировна

старший преподаватель, кафедра математики и информатики, ФГБОУ ВО «Государственный университет управления», 6044664@gmail.com

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

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

Публикация была подготовлена по проекту №2 в рамках договора пожертвования от 01 марта 2019 г. №1154.

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

Необходимость шифрования огромных информационных массивов возникает, например, при организации аудио- или видеосвязи. При этом для таких интерактивных систем шифрование должно проходить в реальном времени и незаметно для пользователя.

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

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

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

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

конкретных задач практики. Но так как теория информации имеет абстрактную математическую форму, то она имеет и широкую область применения [1].

Условно, началом научного периода развития теории информации можно считать публикацию в 1949 году двух статей К.Шеннона «Математическая теория связи» и «Теория связи секретных систем», которые были переведены на русский язык в 1963 году [2,3]. Понятиями, на которых строится теория информации, являются: информация, канал связи, шум, кодирование, способы измерения информации и количество информации [1].

В теории информации рассматривают три вида преобразования информации: криптографическое шифрование (без увеличения объема), помехоустойчивое кодирование (увеличение объема) и эффективное кодирование (или сжатие). Все перечисленные виды преобразования сохраняют смысл информации, но меняют форму её представления. Тем не менее, цели этих видов кодирования различны. Целью криптографического преобразования является защита от несанкционированного доступа, аутентификация и защита от преднамеренных изменений. Помехоустойчивое кодирование выполняется для защиты информации от случайных помех при передаче и хранении. Эффективное кодирование производится с целью минимизации объема хранимой информации [1].

Рассмотрим первые два вида преобразований и математические основы их реализации.

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

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

Существуют два типа алгоритмов шифрования: симметричные (с закрытым ключом) и асимметричные (с открытым ключом). В симметричных алгоритмах ключ шифрования совпадает с ключом дешифрирования, а в асимметричных алгоритмах ключи для шифрования и дешифрирования различные.

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

Если ключ является фрагментом случайной двоичной последовательности с равномерным законом распределения, длина ключа равна длине исходного сообщения и ключ используется только один раз, то такой шифр является абсолютно стойким [4]. Устройство, реализующее такую схему, достаточно дорогое. На практике генерируется псевдослучайная последовательность, поэтому стойкость шифра будет зависеть от свойств генератора псевдослучайной последовательности ГПСП [5].

Различают шифры блочные, поточные и комбинированные [6].

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

х = (х0,х1,Х2,...,хп1) , где х можно интерпретировать как вектор, двоичное представление целого числа или как многочлен. Блочный шифр это отображение

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

Поточные шифры применяются для шифрования непрерывных потоков данных. В поточных шифрах операция шифрования соответствует сложению по модулю два двоичных символов сообщения и ключа. Ключом является псевдослучайная последовательность, вырабатываемая ГПСП. В синхронных поточных шифрах ключ формируется независимо от исходной информационной последовательности. Стойкость криптографической системы целиком зависит от статистических свойств генератора псевдослучайной последовательности [5, 6]. Если псевдослучайная последовательность имеет небольшой период повторения, то криптографическая стойкость такого шифра относительно невелика.

Наиболее часто ГПСП поточных шифров строятся на основе класса вычетов многочленов по модулю многочлена Е(х), неприводимого многочлена степени п

над полем ОЕ (2) . Этот класс вычетов образует поле

Галуа ОЕ (2п) с числом элементов 2п [7]. Такой подход позволяет увеличить криптографическую стойкость шифра.

Построение конечных полей продемонстрируем на примере поля ОЕ(23) . Рассмотрим множество всех трех

- битных последовательностей из нулей и единиц (байтов). Эти байты представляют собой двоичную запись чисел от 0 до 7. Если их складывать как векторы, то они образуют

линейное пространство над полем ОЕ(2). Чтобы превратить это пространство в поле, надо определить операцию умножения байтов (векторов).

Поставим в соответствие байту (а2а1 а0)

много-

член а2х + а1х + а0:

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

Два многочлена /(х) и ^(х) равны по модулю многочлена Е(х) (/(х) = g(х)modЕ(х)) , если

X X

о

го А с.

X

го т

о

2 О

м о

разность /(х) — ^(х) делится на Е(х), то есть,

остатки от деления /(х) и ^(х) на Е(х) (вычеты) равны между собой.

о сч о сч

сч

О!

о ш т

X

3

<

т О X X

Байт Многочлен

000 0 х2- + 0 •х + 0 = 0

001 0 х2- + 0 •х +1 = 1

010 0 х2- +1 х ь0 = х

011 0 х2- +1 х 1-1 = х +1

100 х2 + 0 х ь0 = х2

101 х2 + 0 х 1-1 = х2 + 1

110 х2 + 1 х + 0 = х2 + х

111 1 х2 + 1 х + 1 = х2 + х + 1

Определим теперь операцию умножения для вычетов Е (х) (это все многочлены степени меньше степени Е(х)). Произведение вычетов /(х) и ^(х) равно остатку от деления многочлена /(х) • ^(х) на многочлен Е (х).

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

Рассмотрим неприводимый над полем ОЕ(2) многочлен Е (х) = х3 + х +1 (многочлен Е (х) не имеет корней в этом поле). Многочлены не выше второй степени образуют поле ОЕ(23) , изоморфное полю вычетов многочлена Е (х). Теперь можем умножать байты:

(010>(011) ^ х • (х +1) =

= х2 + х = (х2 + хЕ(х) ^ (110)'

(101)«(011) ^ (х2 +1) • (х +1) = х3 + х2 +

+х +1 = х2шоё Е(х) ^ (100)

(010>(111) ^ х • (х2 + х +1) =

= х3 + х2 + х = (х2 + 1)шоёЕ(х) ^ (101) '

В 2001 году в качестве американского стандарта криптографической защиты AES [8] был выбран шифр Rijndael. Алгоритм Rijndael использует байты, которые

рассматриваются как элементы поля ОЕ(28) . В качестве неприводимого многочлена Е(х), определяющего операцию умножения, был выбран многочлен Е (х) = х8 + х4 + х3 + х +1.

2. Перейдем к рассмотрению второго вида преобразования информации, к помехоустойчивому кодированию.

Получившаяся в результате криптографического шифрования последовательность нулей и единиц передаётся через канал связи. Реальные каналы связи бывают подвержены ошибкам, в результате которых с равной вероятностью происходят замены нуля на единицу и наоборот. Ставится задача обнаружения и исправления этих ошибок, которая может быть решена с помощью помехоустойчивых кодов, то есть кодов, которые могут обнаружить и исправить ошибки, возникшие при передаче и хранении данных [9].

Основная идея помехоустойчивого кодирования состоит в разделении всего множества комбинаций двоичных символов на допустимые кодовые слова и недопустимые. Например, в коде с контролем по четности допустимы слова с четным числом единиц. Если произошла ошибка, то допустимое слово превращается в недопустимое. Наличие недопустимого слова является сигналом обнаружения ошибки [4].

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

к

Q = —100% , процент числа контрольных разрядов к п

в общем числе двоичных разрядов п [9, 10].

Все двоичные последовательности фиксированной длины п образуют блок. Каждая такая последовательность называется двоичным словом. Слова, образующие код, называются кодовыми. Расстоянием по Хем-мингу (далее просто расстояние) между двумя словами называется число разрядов, в которых они различны. Блочные коды характеризуются минимальным кодовым

расстоянием dшín , которое равно минимальному расстоянию между кодовыми словами. Расстояние Хем-минга d(х; у) между словами х и у обладает свойствами обычного расстояния:

d (х; у) = d (у; х);

d (х; у) = 0 о х = у; .

d (х; у) + d (у; г) > d (х; г)

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

Окрестность радиуса Г кодового слова а состоит из всех слов х , для которых выполнено условие

d(а; х) < Г. Если dшin > Г , то окрестность радиуса Г

любого кодового слова не содержит другого кодового слова, поэтому такой код обнаруживает Г ошибок. Чтобы код мог исправить Г ошибок, окрестности радиусов Г кодовых слов не должны пересекаться, то есть

должно выполняться условие dшin > 2г .

Если рассматривать слова длины 5, то при выборе

dшin = 5 существует только два кодовых слова: (00000) и

(11111). Очевидно, что окрестность радиуса 2 первого слова состоит из слов содержащих одну или две единицы, а второго - три или четыре единицы. Эти окрестности не пересекаются, а их объединение содержит все слова. Поэтому слова, в записи которых больше нулей, чем единиц, декодируются в кодовое слово (00000), а остальные в (11111). Этот код исправляет две ошибки. Если в множестве слов длины 5 надо выбрать более двух кодовых слов,

то должно выполняться условие dшin < 3 .

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

7 двоичных цифр, получается 27 = 128 вариантов возможных принимаемых сообщений). Покажем, как применение методов общей алгебры [7] позволяет избежать использования таблиц для корректировки сообщения.

Числа 0 и 1 относительно сложения по модулю 2

(1 + 1=0) и умножения образуют поле ОЕ (2) (поле Га-луа из двух элементов). Двоичные слова являются векторами над этим полем, а двоичные символы - координатами векторов. Если ввести покоординатное сложение векторов, то все слова длины п образуют линейное

пространство размерности п над полем ОЕ(2). Линейным кодом называется код, у которого кодовые слова образуют подпространство.

Рассмотрим линейный код в пространстве размерности пять, для которого dmin = 3 . Каждый линейный код

содержит нулевой вектор (00000). Векторы, находящиеся на расстоянии 3 от нулевого вектора, имеют три единицы, например / =(11100), /2 =(00111). Так как код линейный, то и сумма /1 + /2 =(11011) является кодовым словом. Матрица О , строками которой являются линейно независимые кодовые слова /1 и /2 , называется порождающей. Все кодовые слова получаются умножением строки (а1;а2) на матрицу О , где а1;а2 - двоичные символы.

Для построения проверочной матрицы находятся линейные формы, равные нулю на кодовых словах. Коэффициенты такой линейной формы удовлетворяют системе уравнений с матрицей О . Выбрав первую и третью переменные базисными, найдем нормальную фундаментальную систему решений. Эти решения образуют строки проверочной матрицы Н . В рассматриваемом примере проверочная матрица имеет вид '1 1 0 0 0^

Н =10 1 10

V10101 ,

Все кодовые слова удовлетворяют уравнению НхТ = 0. Если для принятого сообщения у получается, что НуТ ф 0, то произошла ошибка. Если произошла одна ошибка, то у = х + еЧ, где х - кодовое слово, а - вектор, у которого координата с номером Ч равна 1, а остальные равны нулю. Синдромом сообщения у называется вектор $ (у) = НуТ ( $ (у) = S(ei) ). Но синдром $ (е) является столбцом

матрицы Н с номером Ч. Если $ (у) = (1 0 1) не

$ = Н Ч + Н] =

равен ни одному из столбцов матрицы Н , то произошло более одной ошибки. Это говорит о том, что данный код не позволяет найти эти ошибки.

Наиболее известным кодом, исправляющим две ошибки, является двоичный код Хемминга длины

п = 2к — 1. Этот код должен иметь к проверочных

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

Если, например, к = 4, п = 15 , то матрица Н содержит ненулевые столбцы, задающие в двоичной записи все числа от 0 до 15. Это можно записать сокращенно в виде Н =(1,2,...,15). К строке Н добавляется строка с проверочными функциями /(Ч) .

Получается проверочная матрица

Н'= ' (Ч = 1,2,...,15). _ / (') _

Если в сообщении произошли 2 ошибки, то в соответствии с [10] синдром равен

" Ч + ] ~ _ / (Ч) + / (] ) _

Функции / (Ч) надо выбирать так, чтобы декодер по $ мог найти Ч и ] . Для этого надо решить систему

уравнений

| Ч + ] =

I / (Ч) + / (]) = ¿2

относительно Ч и ] при известных и 2г , где все

элементы Ч, /(Ч), /(]) и 2г являются 4-битными векторами. Для решения уравнений необходимо уметь выполнять все четыре арифметических действия с этими векторами. Следовательно, векторы должны образовывать поле.

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

На простых примерах преобразования информации показано использование теории конечных полей, а точнее полей Галуа, для:

- реализации стойких криптографических преобразований на основе выполнения двух положений: равновероятности преобразованных сообщений и сопоставимости длин сообщения и конфиденциальных параметров;

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

Литература

1. Пирс Дж. Символы, сигналы, шумы. Закономерности и процессы передачи информации. М.: Мир, 1967, с. 334.

X X

о

го А с.

X

го т

о

2 О

м о

2. Шеннон К. Работы по теории информации и кибернетике. М.: Изд-во иностр. лит., 1963. Математическая теория связи. С. 243-332.

3. Шеннон К. Работы по теории информации и кибернетике. М.: Изд-во иностр. лит., 1963. Теория связи в секретных системах. С. 333-402.

4. Ветров Ю.В., Макаров С.Б. Криптографические методы защиты информации в телекоммуникационных системах. СПб: СПб Издательство политехнического университета, 2011, с. 174.

5. Иванов М. А., И. В. Чугунков. Теория, применение и оценка качества генераторов псевдослучайных последовательностей. М.: КУДИЦ-ОБРАЗ, 2003.

6. Шнайер Б. Прикладная криптография. М.: Триумф, 2002.

7. Ван Б. Л. дер Варден. Алгебра. М: Наука, 1976.

8. Зензин О.С., Иванов М.А. Стандарт криптографической защиты - AES. Конечные поля / Под ред. М.А. Иванова. М.: КУДИЦ-ОБРАЗ, 2002.

9. Мартынова И. А., Машин И. Г., Фомченко В. Н. Теория поля и защита информации. Монография. Саров: ФГУП «РФЯЦ-ВНИИЭФ», 2017.

10. Мак-Вильямс Ф. Дж., Слоэн Н. Дж.А. Теория кодов, исправляющих ошибки: Пер. с англ. М.: Связь, 1979.

Field theory and digital information protection Gubareva E.A., Nolde E.L., Ershov A.T., Efimova M.V.

State University of management

Innovative processes in modern Economics and management are closely linked to the use of digital technologies and involve the availability of funds, not only financial, to protect various data stored and processed in digital format. The article discusses the main aspects of using information theory to preserve the qualitative characteristics of information circulating in a digital system. A brief description of existing approaches to the development of information conversion algorithms is given. The field theory apparatus is the mathematical basis for information transformations, such as cryptographic encryption, noise-tolerant encoding, and compression . The use of Galois fields for implementing persistent cryptographic transformations and constructing optimal error detection and information modification codes is shown. Key words: information, encoding, protection, general algebra,

Galois field. References

1. Pierce J. Symbols, signals, noise. Patterns and processes of

information transfer. M .: Mir, 1967, p. 334.

2. Shannon K. Works on information theory and cybernetics. M .:

Publishing house of foreign countries. lit., 1963. Mathematical theory of communication. S. 243-332.

3. Shannon K. Works on information theory and cybernetics. M .:

Publishing house of foreign countries. lit., 1963. Communication theory in secret systems. S. 333-402.

4. Vetrov Yu.V., Makarov S.B. Cryptographic methods of information security in telecommunication systems. St. Petersburg: St. Petersburg Publishing House of the Polytechnic University, 2011, p. 174.

5. Ivanov M. A., I. V. Chugunkov. Theory, application and quality

assessment of pseudo-random sequence generators. M .: KUDITS-IMAGE, 2003.

6. Schneier B. Applied cryptography. M .: Triumph, 2002.

7. Van B. L. der Warden. Algebra. M: Science, 1976.

8. Zenzin O.S., Ivanov M.A. The cryptographic security standard is

AES. Finite Fields / Ed. M.A. Ivanova. M .: KUDITS-IMAGE, 2002.

9. Martynova I. A., Mashin I. G., Fomchenko V. N. Field theory and

information security. Monograph. Sarov: FSUE RFNC-VNIIEF, 2017.

10. Mc-Williams F.J., Sloan N.J.A. Theory of error correction codes: Per. from English M .: Communication, 1979.

о es о es

es

о ш m

X

3

<

m О X X

i Надоели баннеры? Вы всегда можете отключить рекламу.