Научная статья на тему 'О СКРЫТОМ КОМПАКТНОМ СПОСОБЕ ХРАНЕНИЯ ДАННЫХ'

О СКРЫТОМ КОМПАКТНОМ СПОСОБЕ ХРАНЕНИЯ ДАННЫХ Текст научной статьи по специальности «Математика»

CC BY
49
8
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДАННЫЕ / ХРАНЕНИЕ / СКРЫТОСТЬ / КОМПАКТНОСТЬ / ДОСТУП / DATA / STORAGE / HIDDEN / COMPACTNESS / ACCESS

Аннотация научной статьи по математике, автор научной работы — Романьков Виталий Анатольевич

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

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

Похожие темы научных работ по математике , автор научной работы — Романьков Виталий Анатольевич

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

ABOUT THE HIDDEN COMPACT WAY TO STORE DATA

A fundamentally new method for compact data storage in a hidden form in a "magic" square using discrete sequence integrals is proposed. Each of the data can be extracted in a uniform way. A comparison is made with other possible methods of such storage.

Текст научной работы на тему «О СКРЫТОМ КОМПАКТНОМ СПОСОБЕ ХРАНЕНИЯ ДАННЫХ»

Алгоритм 2. Атака-различитель

1: Функция РАСПОЗНАТьШиФРТЕКСТ(ж, Cipher, r)

// x — запрошенная в шифровальном устройстве выборка (генерируется в режиме CTR в сценарии chosen-plaintext attack); // Cipher —итеративный блочный шифр; // r — число раундов шифра. 2: Выбрать размер обучающей выборки M.

3: НейроннаяСетьг(image): = ОБУЧИTьНЕЙPOHHУЮСЕTь(Cipher, r, M). 4: Представить выборку x в виде изображения image. 5: Result := НейроннаяСетьг(image). 6: Если Result = 0, то

вернуть «Выборка случайная», 7: иначе

8: вернуть «Выборка сгенерирована r-раундовым шифром».

Алгоритм 3. Схема проведения экспериментов

1: Функция ВычислитьОшиБKу(Cipher, r) 2: Выбрать размер обучающей выборки M.

3: НейроннаяСетьг(image) := Обучи^НеЙРОННУЮСеть^рЛ^г, r, M). 4: Выбрать количество контрольных выборок N.

5: Сгенерировать N контрольных выборок с помощью шифра AES256 и получить

Xrand _ (xrand xrand)

6: Сгенерировать N контрольных выборок с помощью шифра Cipher и получить

хr _ (x1,..., xN).

7: Преобразовать множества Xfrand и Xr в изображения Xrand _ (x1and,... , x™nd) и

хr _ (xrl,...,xN).

8: Экспериментально определить ошибки первого и второго рода:

E0 _ #{xrand : НейроннаяСетьг(xrand) _ 1}, Er _ #{xr : НейроннаяСетьг(xr) _ 0}. 9: Вернуть Eo, Er.

ЛИТЕРАТУРА

1. Пестунов А. И., Перов А. А. Программная библиотека для статистического анализа итеративных блочных шифров // Информационное противодействие угрозам терроризма. 2015. №24. С. 197-202.

УДК 003.26 Б01 10.17223/2226308X713/17

О СКРЫТОМ КОМПАКТНОМ СПОСОБЕ ХРАНЕНИЯ ДАННЫХ1

В. А. Романьков

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

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

Исследование поддержано Программой фундаментальных научных исследований СО РАН I. 1.1.4, проект №0314-2019-0004.

Допустим, имеются данные ai, i = 1,... , n, каждое из которых представляет собой бинарную строку длины m, то есть ai Е {0,1}m. Предположим, что эти данные необходимо хранить в компактном скрытом виде X, имея простой единообразный способ извлечения из X любого из них. Такая проблема может возникнуть при хранении в облаке, а также в других случаях защищённого хранения. Например, её решение может иметь значение для поисковых систем. Может также возникнуть потребность хранить данные, разбитые на подмножества по типу данных или их принадлежности.

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

Хранение в зашифрованном виде. Можно использовать какую-нибудь систему шифрования и хранить данные в виде Ek(ai), i = 1,... ,m, где Ek — функция зашифрования с ключом k. Такой способ, конечно, обеспечивает свойство «скрытости», но непонятно, как обеспечить компактность. Нужно хранить ключи, зашифрованные данные могут быть существенно большего объёма и т. п. Эффективность такого способа хранения зависит от свойств выбранной системы шифрования. Если использовать один ключ для всех данных, то ключ расшифрования не может быть делегирован пользователю, которому необходимо извлечь только какие-то данные, к которым ему может быть предоставлен доступ. Возможно, что указанные недостатки могут быть устранены, но для этого требуется отдельное исследование.

Использование Китайской теоремы об остатках. Напомним эту известную теорему (см., например, [1]). Предположим, что целые числа mi,... , mn ^ 2 попарно взаимно просты. Тогда система сравнений x = b (mod mi), i = 1,... , n, всегда имеет решение X, которое находится следующим образом. Полагаем Mi = M/mi, где M =

n

= П mi. В силу попарной взаимной простоты модулей mi существуют числа Li, для

i= 1

n

которых LiMi = 1 (mod mi). Тогда число X = biLiMi является решением системы.

i= 1

Более того, решением является любое целое число Y, такое, что Y = X (mod M), и других решений нет.

Покажем, как можно организовать скрытое компактное хранение данных, используя эту теорему. Сопоставим каждой последовательности ai Е {0,1}m натуральное число bi, получающееся, если считать запись ai выражением числового значения в двоичной системе. Выберем попарно взаимно простые модули mi > bi, i = 1,..., n. Храним данные bi в виде решения X рассмотренной выше системы. Для извлечения bi вычисляем X по модулю mi. Скрытость и возможность единообразного извлечения данных обеспечены, чего нельзя сказать в общем случае о компактности этого способа хранения данных. Действительно, если числа bi достаточно большие, то и модули mi большие. Если данных достаточно много, то число M (а также числа Mi) становится нереально большим. Это не только замедлит вычисления, но может сделать само хранение практически нереализуемым.

Хранение в «магическом» квадрате. Пусть d = d1, ..., di,... —последовательность целых чисел. Дискретная производная dd этой последовательности определяется формулой

d = — di, d3 — d2,..., di+i — di,...

Очевидно, что производная аддитивна. Для любой последовательности определяется дискретный интеграл f = f 1, f2,... , fi,..., f' = d. Интеграл определяется с точностью

до произвольной константы о формулой

г-1

Л = 0 + Е &3.

3=1

При выборе /1 = о все остальные компоненты интеграла / определяются однозначно. Обозначим / = Iо).

Пусть дана постоянная последовательность о(0) = о,... , о,... Обозначим о(1) = = I(о(0),о), о(2) = I(о(1),о), ... Тогда значение к-й производной от о(к) равно о(0). Записываем это в виде [о(к),г; к] = о. При г < к имеем [о(г),х; к] = 0. Мы несколько упростили запись, поставив в правую часть значение постоянной последовательности, а не саму эту последовательность. Символ г введён для различия в дальнейшем переменных интегрирования.

Пусть имеется п ненулевых целых чисел о1,... ,оп. Для каждого г вычислим интеграл о(п г). Построим квадратную таблицу со стороной п +1. Запишем в нижней строке первые п +1 элементов интеграла о*"" г). Получим набор (одд,... , огд,га+1).

Затем для каждого элемента нижней строки ог,1,3 определим постоянную последовательность о^- и вычислим для неё интеграл о(г) 3-. Тогда [о(г) 3-, у; г] = огд,3-. Поставим в соответствующий столбец таблицы первые п +1 элементов этого интеграла.

Пусть X означает сумму всех таких таблиц.

Теорема 1. Справедлива формула

[X, у; г, г; п - г]м = о*.

Формула означает, что г-кратное дифференцирование столбцов с последующим (п — г)-кратным дифференцированием нижней строки даёт в левом нижнем углу значение ог.

Замечание 1.

— Если записывать все последовательности, а не только их начальные отрезки, то в результате проведённых операций получится бесконечная вправо и вверх таблица, в которой во всех клетках будет стоять соответствующая константа.

— Так как натуральное отображение вида Z ^ Zr является гомоморфизмом, то можно выбрать г > тах (Ьг : г = 1,...,п) и вести все построения над элементами кольца Zr.

Мы не приводим доказательство теоремы; дадим только небольшой иллюстрирующий пример.

Пример 1. Пусть Ь1 = 12, Ь2 = 7, Ь3 = 3. Вычисления ведём в кольце Z13. Запишем в общем виде начальные интервалы длины 4 от константы а:

а^ = (а, 2а, 3а, 4а), а^2 = (а, 2а, 4а, 7а), а^3 = (а, 2а, 4а, 8а).

Запишем квадраты для Ь1 = 12, Ь2 = 7, Ь3 = 3:

9 5 10

10 7 1

11 9 5

12 11 9

7 2 10

5

10 7 1 5

2 4 8 1

12 4 7

7 1 2 10

11 9 7 5

12 11 10 9

6 12 5 11

3 6 9 12

Тогда

X

4 8 5 4 11 9 6 12

5 10 1 2 9 5 7 1

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

[X, y; 1]

6 12 12 5 6 12 5 10 9 5 7 1

[X, y; 2]

0078 10 7 11 9

[X, y; 3]

3 6 9 12

[X, y; 1, z; 3]i,i = 12, [X,y;2,z;2]i,i = 7, [X, y; 3, z; 1]M = 3.

ЛИТЕРАТУРА 1. Романьков В. А. Введение в криптографию. М.: Форум, 2012.

УДК 519.17 DOI 10.17223/2226308X/13/18

ЭКСПЕРИМЕНТАЛЬНАЯ ОЦЕНКА ПРОИЗВОДИТЕЛЬНОСТИ ОДНОГО КЛАССА КРИПТОАЛГОРИТМОВ НА ОСНОВЕ ОБОБЩЕНИЯ СЕТЕЙ ФЕЙСТЕЛЯ

В. М. Фомичёв, Д. А. Бобровский, А. М. Коренева

Представлены результаты экспериментальных исследований производительности алгоритма 256-3 (с блоком 256 бит и тремя функциями обратной связи), предложенного российскими исследователями в 2018 г. Производительность 256-3 оценивается величиной 24,57 циклов на байт. Проведено сравнение с известными блочными шифрами, получены оценки для программных реализаций алгоритмов на языке программирования C++ с использованием библиотеки Crypto++. Установлено, что производительность 256-3 от 1,2 до 2,6 раз превышает производительность алгоритмов «Магма» (ГОСТ 28147-89), «Кузнечик» (ГОСТ 34.122018), SEED, HIGHT, Camellia-256, Kalyna-256/256, MARS-256, CAST-256, что указывает на положительные (с позиции синтеза) эксплуатационные качества алгоритма 256-3.

Ключевые слова: блочные шифры, производительность шифрования, 256-3, ГОСТ 28147-89, ГОСТ 34.12-2018, «Магма», «Кузнечик», AES, Rijndael, SEED, SM4, HIGHT, Camellia, Kalyna, MARS, CAST, RC6, Crypto++.

Введение

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

С целью увеличения производительности блочного шифрования в [1, 2] исследован класс регистровых преобразований R(n,r,m), реализуемых автономными регистрами сдвига длины n над множеством V = {0,1}r c m обратными связями, n > m ^ 1. Идея

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