Выводы
1. Разработан метод компактного представления двоичных массивов на основе выделения двумерных структур. В этом случае сжатие данных достигается путем устранения двумерной структурной избыточности, обусловленной ограниченным числом допустимых позиций единиц (допустимых рабочих зон).
2. Разработано обобщенное двумерное структурное кодирование, позволяющее сформировать один код для нескольких столбцов двоичного массива. При этом сочетание обобщенного кодирования с простым двумерным структурным кодированием обеспечивает равномерную организацию кодовых комбинаций.
3. Разработанный метод сжимает двоичные данные без дополнительного знания априорной информации, а следовательно, может использоваться для
кодирования сообщений широкого класса источников информации.
Литература: 1. Галлагер Р.Г. Адаптивный код Хаффмена // ТИИЭР. 1978. №6. С. 668-674. 2. Зив Дж. Арифметический код // ТИИЭР. 1994. №11. С. 102-104. 3. Bell T. C. Text compression. Englewood Clifs, N. J.: Prentice - Hall, 1990. 4. Королев AB., Баранник B.B. Оценка количества информации изображения по числу серий одинаковых элементов // Системи обробки інформації. Харків: НАНУ, ПАНМ, ХВУ. 2002. Вип. 2(18).С. 43-46. 5. Александров B.B, Горский КД. Представление и обработка изображений. Рекурсивный подход. Л.: Наука, 1985. 192 с.
Поступила в редколлегию 01.09.2002
Рецензент: д-р техн. наук Фоменко О.Н.
Баранник Владимир Викторович, канд. техн. наук, старший научный сотрудник информационно-вычислительного центра ХВУ. Научные интересы: обработка и передача информации. Адрес: Украина, 61023, Харьков, ул. Сумская, 77/79, тел. 40—28—47.
УДК 204.056.55
СВОЙСТВА р-ЧИСЕЛ И Qp -МАТРИЦ СТАХОВА В КОЛЬЦЕ ЦЕЛЫХ ЧИСЕЛ Z/(q)
САМОЙЛЕНКО Н.И, УФИМЦЕВА B. Б.
Рассматриваются числа и матрицы Стахова в кольце целых чисел по модулю q . Приводятся доказательства выполнения основных свойств QP -матриц в кольце целых чисел по модулю q, что Позволяет избежать большой избыточности при использовании их в криптографических методах шифрования информации.
Проблема информационной безопасности особенно обострилась в современном мире—мире компьютеров, сетей и информационных технологий. Наиболее эффективным методом обеспечения конфиденциальности и целостности информации является ее криптографическое преобразование. Таким является метод на основе матриц Стахова [ 1]. Он заключается в умножении исходного текста, представленного в виде квадратной матрицы м размером (р + 1 х (р + 1, на п -ю степень матрицы Стахова р -го порядка Qp при шифровании и криптоматрицы C на обратную матрицу Стахова Qpn при дешифрации:
C
м X Qp
. и M =
C х Q
- п Р
При этом особые свойства матриц Стахова сводят процесс умножения произвольной матрицы на матрицу Стахова и возведения в степень Qp -матрицы к простым операциям сложения (или вычитания при п < 0).
Детерминант матрицы Qp равен (- l)pn, поэтому детерминант матрицы исходных данных может отличаться от детерминанта матрицы криптограммы лишь знаком:
112
DetC = (-1)pn х DetM,
что позволяет не только обнаружить ошибки в полученных данных (без предварительного расшифровывания), но и во многих случаях исправить их.
Однако операции умножения матриц и присоединение к сообщению значения детерминанта приводят к значительной избыточности информации. Для устранения этого недостатка можно производить криптографические преобразования информации в кольце целых чисел по модулю q (при программной реализации q = 16, 32 или 64).
Рассмотрим числа и матрицы Стахова и их основные свойства в кольце целых чисел Z /(q).
1. Числа и матрицы Стахова
Числа Стахова [1], называемые p -числами, являются обобщением чисел Фибоначчи и вычисляются по рекуррентной формуле:
Fp(k) = Fp(k -1) + Fp(k -p - 1), (1)
где p є Z n p > 0, при следующих начальных условиях:
Fp (1) = Fp(2) = ... = Fp(p +1) = 1. (2)
Рекуррентная формула (1) при начальных условиях (2) генерирует бесконечное число последовательностей, так как каждому p соответствует своя последовательность (в частности, при p = 1 генерируется классическая последовательность чисел Фибоначчи, а при p = 0 — двоичная последовательность: 1, 2, 4, 6, -).
Обобщенная Q -матрица Фибоначчи для чисел Стахова, называемая Qp -матрицей Стахова, представляет собой квадратную (p +1 х (p +1) -матрицу, содержащую в себе p х p -единичную матрицу и ограниченную слева столбцом, состоящим из нулей, кроме первого и последнего элементов,
РИ, 2003, № 1
равных единице, и снизу нулевой строкой с единицей в первом столбце:
Qp =
Г1 1 0 - 0"
0 0 1 ... 0
0 0 0 ... 1
v1 0 0 - °,
в степени n(n є Z]
(3)
Fp(n +1) Fp(n) • • Fp(n - p + 2) Fp(n - p +1) N
Fp(n - p +1) Fp(n -p) • 04 + Gh 04 .. 1 Fp(n - 2p+1)
Fp(n -1) Fp(n - 2) • • Fp(n - p) Fp(n - p-1)
Fp(n) Fp(n-1) • • Fp(n-p+1) Fp(n -p) ^
где Fp(i) — числа Стахова.
Основным свойством матриц Стахова [1] является то, что процесс возведения Q p -матрицы в степень и умножения произвольной матрицы на матрицу Стахова сводится к операциям сложения столбцов и сдвига. Детерминант этого произведения всегда по модулю равен детерминанту произвольной матрицы, а знак зависит от четности или нечетности произведения порядка матрицы Стахова на ее степень.
2. Свойства Qp -матриц Стахова в кольце целых чисел Z/(q)
Кольцом R называется множество с двумя определенными на нем операциями [2], называемыми сложением и умножением, при следующих условиях:
1) относительно сложения R является абелевой группой;
2) замкнутость: произведение a • b принадлежит R для любых а и b из R ;
3) закон ассоциативности: а • (b • с) = (а •b) • с;
4) закон дистрибутивности:
а • (b + с) = а • b + а • с, (b + с)а = ba + са.
Кольцом целых чисел по модулю q (где q — положительное целое число), обозначаемым через
Z/(q) , называется множество {0,1,..., q - і} с операциями сложения и умножения, определяемыми равенствами:
а + b = Rq[а + b] и а • b = Rq[q• b].
Когда q равняется простому числу, кольцо целых чисел Z/(q) является полем и обозначается GF(q). Кольцо Z/(q) и, соответственно, поле GF(q) являются коммутативными, т.е. для всех элементов а и b выполняется следующее: а • b = b • а .
Операция приведения по модулю является гомоморфным отображением из кольца целых чисел в кольцо по модулю, следовательно:
(а + b)mod q = [q(mod q)+b(mod q)]mod q ,
(а - b) mod q = ^(mod q) - b(mod q)] mod q, (4)
(а • b)mod q = ^(mod q)• b(mod q)]mod q ,
[а • (b + с)] mod q = [(а • b(mod q))+(а • ^mod q))] mod q.
Рекуррентная формула для вычисления чисел Стахова, соответствующая выражениям (1) и (2), в кольце целых чисел Z /(q) (так как при q = 1 множество Z /(q) = {0}, то рассматриваем q > 1) принимает вид:
Fp(k)=[Fp(k-1) +Fp(k-p-1))modi, (5)
где p є Z n p > 0, при следующих начальных условиях:
Fp(1) = Fp(2) = ... = F p(p +1) = 1. (6)
Из формул (5) и (6) следует:
F'p(0) = Fp (- 1 = ... = Fp (- p + 1 = 0, (7)
из (6) и (7):
F ' p (- p) = 1, (8)
а из (5) и (7):
F p (- p -1 = Fp (- p - 2 = ••• = Fp (- 2p +1 = 0 .(9)
Из формул (4) следует взаимосвязь чисел Стахова в кольце по модулю q и в кольце целых чисел:
F’ p (k) = (Fp (k)) mod q .
Q1 p -матрица Стахова в кольце по модулю q имеет вид:
Q p
Fp(2) Fp(1) • •• Fp(3-p) Fp(2 - p) N
Fp(2 - p) Fp(1-p) • •• Fp(3- 2p) Fp(2 - 2p)
Fp(0) Fp(-1) • •• Fp(1- p) Fp(^)
Fp(1) Fp(0) • •• Fp(2 - p) Fp(1-p) J
(10)
где F p (і)
числа Стахова в кольце по модулю q .
Так как матрица состоит из чисел Стахова порядка k = {2, ... ,-2p + 2}, которые равняются, исходя из выражений (6)-(9), единице или нулю, то Q1 p -матрица совпадает с Qp .матрицей (3) и равняется:
r 1 1 0 • • 0^
0 0 1 • • 0
Q p = Qp= 0 0 0 • • 1 . (11)
v1 0 0 • • 07
Утверждение 1. Для любого n є Z матрица Q1 p в степени n в кольце по модулю q имеет вид:
РИ, 2003, № 1
113
' І^п+1 Fp(n) • 1^+1)'
Fp(n -p+1) І^п-p) • ••Fp(n-2p+2) Fp(n-2p+1)
Fp(n-1) Fp(n-2) • •• Fp(n-p) Fp(n-p-l)
¥п Fp(n-1) • •• Fp^ -p+1) Fp(n-p) y
принцип получения из Q'p -матрицы Стахова матрицы Q'n (при п є N ) путем повторения правила (12) для Q'p -матрицы (п -1) раз.
Для получения нулевой или отрицательной степени (п є Z п п < 0) из Q'p -матрицы необходимо повторение (jn| +1 раз преобразования матрицы Qp+1 = {qij} в матрицу степени n , обратного
Доказательство. Используем метод математи- правилу (І2), с учетом выполнения правил (4): ческой индукции:
где F'pW — числа Стахова в кольце по
модулю q.
Q'n = Q'p_1 -Q'p =
Ір(п -1) • •• Ір(п - p + 1) Ір(п -p)
р(п-p-1) • •• Ір(п - 2p+1) Ір(п - 2p)
Ір(п - 3) • •• Ір(п-p-1) Ір(п - p - 2)
Ір(п - 2) • •• Ір(п - p) Ір(п - p-1)
^ qp=
q12 q13 " ql(p +1)
q22 q23 - q2(p +1)
qp2 qp3 - qp(p +1)
Rqlq11_q12J
RJq21_q22l
q(p+1)2 q(p +1)3
rRq[qp1 -qp2
q(p +1)(p +1) Rqiq(p +1)1 _q(p +1)2j,
(13)
(110 0 0 1
000 1 0 0
0 ^ 0
1
0
Умножение произвольной матрицы M размером (p +1 x (p +1 на матрицу Стахова п -степени в кольце целых чисел по модулю q происходит аналогично возведению в степень по правилу (12) при п > 0:
M X Q'p =
RppM +Fp(n-pl 1(р fM
R1[Fp(n-p +1р(п-2^| і(п-p
1?^п-р+1' Fpfc-2p+1
Rkfr-2 +1^-2 FpM і'^п-3 - Fpfc-p-! vRFpM +І?Pn-p-^ і(пі(п-2 •••
Из рекуррентной формулы (10) генерации чисел Стахова в кольце целых чисел по модулю q следует:
Rq[m11 + m1(p +1)] m11 m1(p -1) m1p
Rq[m21 + m2(p +1)] m21 m2(p -1) m2p
Rq[mp1 + mp(p +1)] mp1 mp(p -1) mpp
ч Rq[m(p +1)1 + m(p + 1)(p +1)] m(p+1)1 m(p + 1)(p -1) m(p + 1)p
по правилу (13) при п < 0 :
MxQp1 =
Q11 = vp
( Fpfr+1) Fp(i)
Fp(n-p+1) Fp(n-p)
Fp(n-1) Fp(n - 2)
V ^
Ір,(п-1)
Fp(n-p+2) Fpfr -p +1) ^ Ір,(п-2p +2) Fp(n-2p+1)
Fp(i-p) Fp(n-p-1)
Fp(n - p+1) Fp (п - p)
m12 ml(p +1)
m22 m2(p+1)
mp2 “p(p+1)
m(p +1)2 “(p+1)(p +1)
Rq[m11_ “12]
L
Rq[mp1 - “2.
только действия производятся с элементами m ij
матрицы M и количество итераций равно степени матрицы Стахова |п|.
Утверждение 2. Свойство мультипликативности:
Q'p xQ'm = Q'm xQ'p = Q"'
Из доказательства утверждения 1 вытекает подтверждение свойств возведения в степень и умножения на произвольную матрицу для магрицы Доказательство вытекает из правил возведения в Стахова в кольце целых чисел по модулю q . степень матрицы Стахова (12) и (13).
Правило преобразования матрицы Q'p_1 = {qij} в Утверждение 3. Свойство аддитивности:
Q'p = Q'p_1 +Q'p "p_1.
Доказательство. Используя правило сложения матриц в кольце целых чисел по модулю q и рекуррентную формулу генерирования чисел Стахова в кольце целых чисел по модулю q, получаем:
Q'p_1 +Qp "p_1 =
матрицу степени п в кольце целых чисел по модулю q:
а11 =
Qp
(
Rq[q11 + q1(p + 1)] qn - q1(p -1) q1p
Rq[q21 + q2(p + 1)] q21 ■ q2(p -1) q2p
Rq[qp1 + qp(p +1)] qp1 - qp(p-1) qpp
Rq[q(p +1)1 + q(p + 1)(p +1)] q(p +1)1 ^ q(p + 1)(p -1) q(p + 1)p
(12)
p
p
p
m
114
РИ, 2003, № 1
' F'p(n) Fp(n-1) ••• Fp(n-p +1) Fp(n-p) л
Fp(n-p) Fp(n-p-1) ••• Fp(n-2p +1) F p(n-2p)
: : : : : +
F p(n - 2) Fp(n-3) - F p(n - p -1) Fp(n - p - 2)
Fp(n-1) F p(n-2) — F p(n - p) F p(n - p-1)^
' Fp(n-p) Fp(n-p-1) ••• Fp(n-2p+1) Fp(n-2p) л
Fp(n-2p) Fp(n-2p-1) ••• Fp(n-3p+1) Fp(n-3p)
Fp(n-p-2) Fp(n-p-3) ••• Fp(n-2p-1) Fp(n-2p-2) Fp(n - p-1) Fp(n - p-2) ••• Fp(n - 2p) Fp(n-2p
' RqlFpW +Fp(n - p)J ■" RjFp(n - p) +Fp(n - 2p)| n
RqtFp^ - p +Fp(n - 2p)] ■" FqF p (n - 2p) +Fp(n-3p!
Rq[Fp(n-2 +Fp(n-p-2)1 Rq[Fp(n-p-2 +Fp(n-2p-2ЇІ
4R^iFp(n-1) +Fp(n-p-1)] ■" RJFp(n-p-1) +Fp(n-2p-1)],
F p(n +1) F p(n)
F p(n - p +1) F p(n - p)
F p(n-1) F p(n - 2)
. Fp(n) F p(n -1)
F p(n - p + 2) F p(n - 2p + 2)
F p(n - p)
F p(n - p +1)
F p(n - p +1)л Fp(n - 2p+1)
Fp(n - p-1)
F p(n - p) ,
=Q p
Утверждение 4. Детерминант матрицы Стахова Q' p в кольце целых чисел по модулю q равен:
DetQ' n = (-1)pn . (14)
Доказательство. Матрица Стахова 1-й степени в кольце целых чисел по модулю q имеет вид (11):
Q'
p
1 1 0 • • 0N
0 0 1 • • 0
0 0 0 • • 1
1 0 0 • • 0
Детерминант матрицы в кольце целых чисел по модулю q вычисляется по следующей формуле
p+1 . k
Лапласа: DetQ 'p = Rq X (-1)1+k qik • А1к Lk=1
минор элемента qij.
, где A.j -
Рассмотрим разложение определителя по 1-й строке матрицы.
Ац = 0, так как первая строка и последний столбец p х p -матрицы, оставшейся после удаления 1-го столбца и 1-й строки, состоят из нулей. Элементы матрицы Стахова 1-й строки с 3-го по (р+1)-столбец равны нулю и, следовательно, также не влияют на значение детерминанта.
Таким образом, получаем: DetQ'p = Rq [-1-А12],
А12 -
' 0 1 0 0 • • 0N
0 0 1 0 • • 0
0 0 0 1 • • 0
0 0 0 0 • • 1
V 1 0 0 0 • • 0
(15)
Из вида матрицы А12 следует разложение детерминанта по формуле (14) и (p -1) х (p - 1) -матрица А '12 имеет вид (15). Выполнив эти действия (p -1)
f 0 1
раз, получим 2 х 2 -матрицу вида А12 = . о ,
V1 0/
детерминант которой равен DetAl2 = -1. Таким образом, выполнив p раз умножение (-1), получим детерминант матрицы Стахова, т.е.
DetQ 'р =(- 1)p . (16)
В соответствии с теорией матриц в кольце целых чисел по модулю q :
Det^ х Б] = Rq[DetA х DetB]. (17)
Из формул (16) и (17) следует:
DetQ'p = (DetQ' p)n = (-1)pn .
Из выражений (14) и (17) детерминант матрицы в кольце целых чисел по модулю q, равной произ-
ведению матрицы Стахова на произвольную матрицу M, равен:
DetE = R
DetM х DetQp І = (-1)pn • Rq [DetM].
Вывод. Подтверждены все основные положения теории чисел и матриц Стахова в кольце целых чисел по модулю q, что позволяет избежать неинформационной избыточности в криптографических методах с использованием Qp -матриц.
Литература: 1. StakhovA. P, Massingue V., Sluchenkova A. Introduction into Fibonacci coding and cryptography. Kharkiv: Osnova, 1999. 236 p. 2. Биркгоф Г., Барти T. Современная прикладная алгебра: Пер. с англ. М.: Мир, 1976. 400 с.
Поступила в редколлегию 07.10.2002
Рецензент: д-р техн. наук, проф. Евдокимов А.Г.
Самойленко Николай Иванович, д-р техн. наук, профессор, зав. кафедрой САПР Харьковской государственной академии городского хозяйства. Адрес: Украина, 61002, Харьков, ул. Революции, 12, тел. 45-90-45.
Уфимцева Виктория Борисовна, аспирант кафедры САПР Харьковской государственной академии городского хозяйства. Адрес: Украина, 61002, Харьков, ул. Революции, 12, тел. 45-90-45.
РИ, 2003, № 1
115