Научная статья на тему 'Алгоритмы преобразования «Классических» матриц в 2-х индексные латинские квадраты'

Алгоритмы преобразования «Классических» матриц в 2-х индексные латинские квадраты Текст научной статьи по специальности «Математика»

CC BY
256
31
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЛАТИНСКИЕ КВАДРАТЫ / МАТРИЦЫ / СКРЕМБЛИРОВАНИЕ

Аннотация научной статьи по математике, автор научной работы — Кадиев Пашай Абдулгамидович, Кадиев Исламудин Пашаевич, Зейналов Муртуз Зейналович

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

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

Текст научной работы на тему «Алгоритмы преобразования «Классических» матриц в 2-х индексные латинские квадраты»

УДК 681.21

П.А. Кадиев, И.П. Кадиев, М.З. Зейналов

АЛГОРИТМЫ ПРЕОБРАЗОВАНИЯ «КЛАССИЧЕСКИХ» МАТРИЦ В 2-Х ИНДЕКСНЫЕ ЛАТИНСКИЕ КВАДРАТЫ

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

Ключевые слова: латинские квадраты, матрицы, скремблирование.

Для «классической» матрицы - М характерны постоянство значений первых индексов в строках и вторых индексов в столбцах. В матрицах, известных как «латинские квадраты» - Млк, отсутствуют одинаковые индексы на одноименных позициях во всех строках и столбцах.

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

Так, например, для исходного множества А = ( А1А2А3А4А5) латинский квадрат имеет в качестве строк последовательности - циклические сдвиги элементов и матрица имеет вид:

А1А2А3А4А5 А2А3А4А5А1

Алк = а3а4а5а4а2

А4А5А1А2А3 А5А1А2А3А4

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

Для двумерных массивов характерно двухиндексное обозначение элементов. Они образуют классические матрицы с неизменными первыми индексами в строках и неизменными вторыми индексами в столбцах. Алгоритмы преобразования таких массивов- матриц в латинские квадраты в литературе авторами не обнаружены, их отсутствие подтверждено госрегистрацией программ, составленных для предложенных ниже алгоритмов [1].

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

Один из приводимых алгоритмов был предложен в [2] в качестве алгоритма перестановок для защиты информации от несанкционированного доступа при хранении и передаче.

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

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

«Вычислительный» алгоритм преобразования «классических» матриц в матрицы типа 2-х индексный латинский квадрат:

1. Элементы диагонали «классической» матрицы М с одноименными индексами расположить в первой строке формируемой матрицы Млк в произвольном порядке.

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

3. Для определения значения второго элемента индекса элемента матрицы М, устанавливаемого в столбце матрицы Млк, необходимо прибавить к значению второго индекса формируемой матрицы Млк вышестоящего в столбце элемента этой матрицы число 2. Если значение второго индекса вышестоящего элемента формируемой матрицы Млк имеет значение, совпадающее с размерностью матрицы М, то в качестве второго индекса элемента матрицы М, устанавливаемого на этой позиции, принять число 2. Если при прибавлении ко второму индексу вышестоящего элемента числа 2 образуется число большее размерности матрицы М, то в качестве второго индекса элемента выбирается цифра 1.

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

1. Элементы первой строки «классической» матрицы М располагаются в качестве элементов первого столбца промежуточной матрицы Мпр.

2. Вторую строку матрицы М расположить в качестве второго столбца матрицы Мпр, предварительно сдвинув ее по кольцу на одну позицию влево.

3. Каждую последующую строку матрицы М установить в качестве столбца матрицы Млк, предварительно сдвинув ее на (1- 1) позицию влево, где 1-это номер строки преобразуемой матрицы М.

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

Особенностью полученных 2-х индексных латинских квадратов является сохранение свойств, характерных для них, т,е. отсутствие повторяющихся, как первых, так и вторых индексов в строках и столбцах матрицы, что сохраняется и при любых перестановках местами строк или столбцов.

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

Сравнительный анализ машинных программ реализации приведенных алгоритмов показал, что алгоритм преобразования со сдвигами и перестановками строк и столбцов является предпочтительным при программной реализацией процесса.

-\-

Область практического применения алгоритмов может быть достаточно широкой.

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

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

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

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

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

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

М = 1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

3 4 5 6 7 8 9 1 2

5 6 7 8 9 1 2 3 4

7 8 9 1 2 3 4 5 6

9 1 2 3 4 5 6 7 8

2 3 4 5 6 7 8 9 1

4 5 6 7 8 9 1 2 3

6 7 8 9 1 2 3 4 5

8 9 1 2 3 4 5 6 7

Матрица после перестановок Ребус «Судоку»

строк

9 1 2 3 4 5 6 7 8 х 1 2 3 х 5 6 7 х

3 4 5 6 7 8 9 1 2 х 4 х 6 х 8 х 1 2

6 7 8 9 1 2 3 4 5 6 х 8 х 1 2 х 4 х

4 5 6 7 8 9 1 2 3 4 х 6 7 х 9 х 2 х

7 8 9 1 2 3 4 5 6 7 х 9 1 х 3 х х 6

1 2 3 4 5 6 7 8 9 х х 3 х 5 х 7 8 х

8 9 1 2 3 4 5 6 7 8 9 х х 3 4 5 х 7

2 3 4 5 6 7 8 9 1 2 х 4 5 х 7 8 х 1

5 6 7 8 9 1 2 3 4 х 6 х х 9 1 х 3 х

Высше, в качестве примера, приведены преобразования цифровой квадратной матрицы 9Х9, элементами стр ок которой являются цифры от 1 д о 9, в матрицу Млк. Из матрицы Млк, перестановкой строк и (или) столбцов , может быть получено множество «макетов» циф рового ребуса, в котором в каждой стр оке, столбце и квадрате сторонами 3Х3, имеется полный набор цифр от 1 до 9 и нет повторов.

-\-

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

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

Исходный поток данных:

A11A12A13A14A15 A21A22A23A24A25 A31A32A33A34A35 A41A42A43A44A45 A51A52A53A54A55 Текст после скремблирования элементов по схеме латинских квадратов и вывода данных по строкам:

A11A22A33A44A55 A23A34A45A51A12 A35A41A52A13A24 A42A53 A14A25A31 A54 A15A21A32A43

При чтении по столбцам скремблированный массив будет иметь вид: A11A23A35A42A54 A22A34A41A53A21 A33A45A52A14A32 A44A51 A13A25A32 A55 A12A24A31A43

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

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

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

Выводы по исследованию скремблированных по схеме ЛК потоков: Первые символы потоков разнесены при скремблировании на значительное расстояние: расстояние между первым и вторым символом (в блоке квадратной матрице 9х9 максимальное расстояние равно 66 символам.)

Дальше всех разнесены символы с равными индексами, где индекс I = j ( для квадратной матрицы 9х9 оно равно 66 символов) 3. Минимальное расстояние зависит от размерности массива данных Расстояние между символами в первом блоке из 9 символов, после скремблирование в рассмотренном примере имели следующие значения:

А11 —66 СИМВОЛОВ — А12 — 6 СИМВОЛОВ — А13 — 6 СИМВОЛОВ — А14 — 6 СИМВОЛОВ — А15 — 15 СИМВОЛОВ — А16 — 6 СИМВОЛОВ —А17 ---- 6 СИМВОЛОВ — А17 — 6 СИМВОЛОВ — А18 — 6 СИМВОЛОВ — А19

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

66—6---6 —6 ---15 —6 — 6 —6 —6 символов

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

Изменить расстояние между символами при скремблировании предложенным методом можно, выполнив эквивалентное преобразование полученного латинского

-\-

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

При последовательной передаче столбцов будет иметь место другое разнесение символов.

При передачи содержимого латинского квадрата по строчкам расположение элементов блока строк 1, 2 и 3 имеют вид:

А11А19А18А17А16А15А14А13А12 - сдвиг на 1 символ Порядок следования символов в блоке 1: 1- 9 -8 -7- 6 - 5 - 4 - 3 - 2 А22А21А29А28А27А26А25А24А23 - сдвиг на 2 символа Порядок следования символов в блоке 2: 2 - 1 - 9 - 8 - 7 - 6 - 5 - 4 - 3 А33А32А31А39А38А37А36А35А34 - сдвиг на 3 символа Порядок следования символов в блоке 3: 3 - 2 - 1 - 9 - 8 - 7 - 6 - 5 - 4 Как видно из приведенного примера порядок перестановок во всех 3-х строках не совпадают, что обеспечивает, в отличии от ранее рассмотренных методов перестановок, дополнительную защиту от несанкционированного доступа к буквенно-цифровым данным.

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

При передаче по столбцам порядок следования элементов блоков 1, 2 и 3 имеет

вид:

Блок 1: А11А16А12А17А13А18А14А19А15

Порядок следования символов в блоке 1: 1 - 6 - 2 - 7 - 3 - 8 - 4 - 9 -5

Блок 2: А26А22А27А23А28А24А29А25А21

Порядок следования символов в блоке 2 : 6 - 2 - 7 - 3 - 8 - 4 - 9 - 5 -1 Блок 3: А32А37А33А38А34А39А35А31А36 Порядок следования символов в блоке 3: 2 - 7 - 3 - 8 - 4 - 9 - 5 -1 - 6 Особенность передачи по столбцам состоит в том, что элементы блоков одновременно оказываются как сдвинутыми, так перемеженными между собой местами. Это с точки зрения обеспечения защиты является дополнительным элементом защиты. Следовательно, считывание по столбцам, с точки зрения достижения цели скремблирования - защиты от несанкционированного доступа, является более предпочтительным.

Разнесение символов при последовательной передаче столбцов латинского квадрата дает следующую картину по числу символов между элементами исходных данных:

От А11 -- 25 символов до -- А12 -- 16 символов -- А13 -- 16символов --А14 -- 16 символов -- А15 -- ... 16 символов -- А18 -- 16 символов -- А19, та же картина имеет место для второго исходного блока:

А21 -- 16 символов-- А22 -- 25 символов-- А23 -- 16 символов-- . -- 16 символов --А28 -- 16 символов -- А29

Минимальное расстояние между соседними символами в блоках оказываются равными 16 символам. Расстояние от символа с одинаковыми индексами до следующего символа во всех блоках оказалось равным 25 символам

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

-\-

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

Выводы:

Каждый символ исходного блока, соответствующий символу буквенно-цифровой информации, входит только в один из скремблированных блоков.

Местоположение символов (позиции внутри блока после скремблирования) исходных блоков в скремблированных блоках различно.

Расстояния, на которые разнесены соседние символы исходного блока, различны. Минимальное расстояние зависит от размерности матрицы и порядка чтения элементов матрицы после скремблирования: при чтении массива латинского квадрата по столбцам расстояние между соседними символами больше, чем при чтении по строкам

Порядок следования элементов исходного блока зависит от порядка чтения элементов матрицы

Порядок следования элементов первого исходного блока в скремблированном массиве:

при чтении по строкам

А11А19А18А17А16А15А14А13А12 - имеет место обратный порядок следования символов исходного блока

при чтении по столбцам:

А11А16А12А17А13А18А14А19А15 - имеет место чередующиеся перестановки Для второго исходного блока порядок следования отличен от порядка следования символов первого блока, так при чтении по строкам массива имеет место следующий порядок следования:

А22А21А29А28А27А26А25А24А23

при чтении по столбцам порядок следования следующий: А26А22А27А23А28А24А29А25А21

Библиографический список:

1. Кадиев П.А. Зейналов М. Программа для преобразования матриц методом латинских квадратов. Свидетельство о государственной регистрации программы для ЭВМ 2009616143 Рос.Федерация, № 2009613756; заявл.13.07.09; опубл.9.11.09

2. Кадиев П.А., Губа А.В. Использование криптографического шифрования для защиты информации в коммерческих и финансовых средах. Вестник ДГТУ: Технические науки.- 1998.- Вып. № 2.- С.39 - 42.

P.A. Kadiev, I.P. Kadiev, M.Z. Zejnalov

Algorithms of transformation of "classical" matrixes in two-index Latin squares

In article algorithms of shift of places of elements of square matrixes with classical indexation, in matrixes - two-index Latin squares in which indexation excludes repetition of values of indexes on the positions with the same name in lines and columns are offered. Possible scopes of offered algorithms are specified: scrambling, statistical, cryptographic coding. The example of use of the offered algorithms for drawing up of digital rebuses is resulted. Keywords: Latin squares, matrixes, scrambling.

Кадиев Пашай Абдулгамидович (р. 1941) Профессор кафедры Управления и информатики в технических системах Дагестанского государственного технического университета, кандидат технических наук. Окончил Ленинградский кораблестроительный институт (1966).

Область научных интересов: теория информации.

Кадиев Исламудин Пашаевич (р. 1978) Ведущий специалист в области защиты информации информационно-аналитического отдела управления инспектирования коммерческих организаций ЦБ РФ при Национальном банке республики Дагестан. Окончил Дагестанский государственный технический университет (2000). Область научных интересов: защита информации.

Зейналов Муртуз Зейналович (р. 1984) Аспирант по специальности Элементы и устройства вычислительной техники и систем управления Дагестанского государственного технического университета. Окончил Дагестанский государственный технический университет (2005).

Область научных интересов: вычислительная техника, математическое моделирование.

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