УДК 004 Звездаков А.В., Лысенко Р.А., Григорьев Е.К.
Звездаков А.В.
студент кафедры вычислительных систем и сетей Санкт-Петербургский государственный университет аэрокосмического приборостроения (г. Санкт-Петербург, Россия)
Лысенко Р.А.
студент кафедры вычислительных систем и сетей Санкт-Петербургский государственный университет аэрокосмического приборостроения (г. Санкт-Петербург, Россия)
Григорьев Е.К.
старший преподаватель кафедры вычислительных систем и сетей Санкт-Петербургский государственный университет аэрокосмического приборостроения (г. Санкт-Петербург, Россия)
РЕАЛИЗАЦИЯ МАТРИЧНОГО АЛГОРИТМА
ОБЕСПЕЧЕНИЯ КОНФИДЕНЦИАЛЬНОСТИ
ВИЗУАЛЬНОЙ ИНФОРМАЦИИ В MATLAB
Аннотация: в настоящей работе приведена реализация алгоритма скремблирования с использованием матриц судоку на языке MATLAB. Показано, что изображение обрабатывается не только на пиксельном, но и на битовом уровне, что обеспечивает более высокий, в сравнении с другими алгоритмами скремблирования, уровень безопасности. Результаты работы ориентированы на последующее использование другими исследователями с целью сравнения обсуждаемого алгоритма с другими при помощи различных метрик.
Ключевые слова: матрицы, обеспечение конфиденциальности, скремблирование, МАТЛАБ.
В настоящее время, с развитием интернета и телекоммуникаций обеспечение конфиденциальности передаваемой информации является актуальной задачей. По данным экспертно-аналитического центра компании InfoWatch за 2022 год зарегистрировано 6856 случаев утечек конфиденциальной информации, что в 3,57 раза больше, чем за 2021 год. В результате этого скомпрометировано 20,12 млрд записей персональных данных и платежной информации, при этом 82,3 % всех скомпрометированных данных относятся именно к персональным. Основным каналом утечек является интернет [1].
Одним из типов данных, подверженных атакам, стали содержащие личные данные пользователей изображения и видео, поскольку визуальная информация, благодаря удобству ее восприятия, часто используется в повседневном сетевом общении пользователей интернета [2]. Это подтверждает анализ активностей пользователей на крупных ресурсах сети Интернет, включая, например, YouTube, RuTube и TikTok [3, 4]. Для обеспечения конфиденциальности передаваемой графической информации может применяться технология цифрового скремблирования изображений [5].
Известно множество алгоритмов скремблирования визуальной информации, к примеру алгоритм с использованием преобразования Арнольда [6], алгоритм кубика Рубика [5], алгоритм P-прайм перестановки [5] и т.д.
На их фоне значимо выделяется алгоритм с использованием матриц судоку [7], поскольку в нем изображение обрабатывается не только на пиксельном, но и на битовом уровне, что обеспечивает более высокий, в сравнении с вышеперечисленными алгоритмами скремблирования, уровень безопасности [5].
Следует отметить, что основополагающая работа [7] была опубликована в 2011 году, однако авторы алгоритма не предоставили научной общественности исходный код предлагаемого алгоритма, и в открытых источниках его найти не
удалось. Таким образом целью настоящей работы является реализация алгоритма скремблирования судоку на языке МЛТЬЛБ, для предоставления научной общественности возможности его последующего тестирования и сравнения с разрабатываемыми алгоритмами.
Укрупненную структурную схему алгоритма можно представить так, как показано на рис.1. Блоки схемы требуют пояснения.
Рис.1. Структурная схема алгоритма.
В ходе разбиения изображения на блоки исходное изображение разбивается на блоки размером 3х3 или пикселей с целью создания решетки аналогичной полю головоломки судоку 9х9 или 3№3К. На втором этапе индексации пиксели изображения индексируются аналогично клеткам судоку, к примеру для решетки 9х9 каждый блок имеет уникальный индекс от 1 до 81. На третьем этапе генерируется правильная решетка судоку 9х9, каждая строка, столбец и блоки 3х3 содержат все числа от 1 до 9. Данная ключевая решетка является базой для последующего скремблирования. На четвертом этапе производится перестановка пикселей исходя из ключевой решетки и дополнительно заменяются значения пикселей в соответствии с ключом.
Программный код на языке MATLAB представлен ниже: clear all close all clc
inputImageFile = 'lena_std.tif', encryptedImageFile = 'lena_scrabled.jpg', decryptedImageFile = 'lena_uncrabled.jpg', image = imread('lena_std.tif'),
% Scramble the image
[scrambledImage, sudokuMatrix] = scrambleImage(image), % imwrite(scrambledImage, encryptedImageFile), imwrite(scrambledImage, 'scrambled.tif'),
% Unscramble the image
unscrambledImage = unscrambleImage(scrambledImage, sudokuMatrix),
% imwrite(unscrambledImage, decryptedImageFile),
imwrite(unscrambledImage, 'decrypted.tif'),
function [scrambled, sudokuMatrix] = scrambleImage(image)
[height, width, channels] = size(image),
scrambled = zeros(height, width, channels, 'uint8'),
sudokuMatrix = generateSudokuMatrix(width, height),
for x = 1 :width
for y = 1:height
newX = sudokuMatrix(x, y, 1),
newY = sudokuMatrix(x, y, 2),
scrambled(newY, newX, :) = image(y, x, :),
end
end
end
function unscrambled = unscrambleImage(image, sudokuMatrix) [height, width, channels] = size(image), unscrambled = zeros(height, width, channels, 'uint8'),
for x = 1 :width
for y = 1:height
newX = sudokuMatrix(x, y, 1),
newY = sudokuMatrix(x, y, 2),
unscrambled(y, x, :) = image(newY, newX, :),
end
end
end
function matrix = generateSudokuMatrix(width, height)
matrix = zeros(width, height, 2),
% Generate positions and shuffle them
positions = reshape(1:(width * height), width, height)',
positions = positions(randperm(numel(positions))),
% Convert positions to (x, y) pairs
for x = 1 :width
for y = 1:height
idx = positions((x - 1) * height + y),
[newY, newX] = ind2sub([height, width], idx),
matrix(x, y, :) = [newX, newY],
end
end
end
Оценку работоспособности предлагаемой реализации предлагается оценить на примере представленном на рис.2 в котором скремблирование было реализовано для широко известного тестового изображения Lena размером 512х512 пикселей в формате .tif. На рис.2а представлено исходное изображение, на рис.2б представлено скремблированное изображение, а на рис.2в представлено дескремблированное изображение.
Результаты, представленные на рис. 2, подтверждают симметричность преобразования. Результат скремблирования (рис. 2б) по виду приближен к белому шуму, что надежно защищает передаваемую визуальную информацию в коммуникационном канале от несанкционированного доступа.
ЗАКЛЮЧЕНИЕ.
Результаты данной работы позволят другим исследователям осуществлять сравнение алгоритма судоку с другими алгоритмами при помощи различных метрик.
Показано, что данный алгоритм позволяет обеспечить необходимый уровень защиты - визуально определить контуры исходного изображения после скремблирования затруднительно.
а)
в)
СПИСОК ЛИТЕРАТУРЫ:
1. Утечки информации ограниченного доступа в мире. URL: https://w.infowatch.ru/analytics/analitika/utechki-informatsii-ogranichennogo-dostupa-v-mire-2022-g;
2. Ziatdinov R. Visual Perception, Quantity of Information Function and the Concept of the Quantity of Information Continuous Splines // Scientific Visualization. 2016. Vol. 8, Iss. 1. PP. 168-178;
3. Градюшко А.А. Платформа TikTok в цифровом пространстве: сравнительный аспект // Труды БГТУ. Сер. 4, Принт- и медиатехнологии. 2021. №1(243). С. 12 -19;
4. Круглова Л.А., Коновальцева А.О. Российские телевизионные каналы на платформе YouTube // Вестник Российского университета дружбы народов. Сер.: Литературоведение. Журналистика. 2020. Т. 25, № 2. С. 351-359;
5. Бахрушина Г.И. Скремблирование цифровых изображений // Ученые заметки ТОГУ. - 2018. - Т. 9, № 1. - С. 636-645;
6. Земцов А.Н. Скремблирование цифровых изображений // Инженерный вестник Дона. - 2020. - № 6(66). - С. 8.
7. Y. Zou, X. Tian, S. Xia, Y. Song. A novel image scrambling algorithm based on Sudoku pule. 2011 4th International Congress on Image and Signal Processing, Shanghai. China, 2011, pp. 737-740, doi: 10.1109/CISP.2011.6100273.
Zvezdakov А. V., Lysenko R^., Grigoriev Е.К.
Zvezdakov А.V.
Saint-Petersburg State University of Aerospace Instrumentation (Saint-Petersburg, Russia)
Lysenko RA.
Saint-Petersburg State University of Aerospace Instrumentation (Saint-Petersburg, Russia)
Grigoriev Е.К.
Saint-Petersburg State University of Aerospace Instrumentation (Saint-Petersburg, Russia)
IMPLEMENTATION OF MATRIX ALGORITHM FOR ENSURING
CONFIDENTIALITY OF VISUAL INFORMATION IN MATLAB
Abstract: paper presents an implementation of the scrambling algorithm using Sudoku matrices in the MATLAB language. It is shown that the image is processed not only at the pixel level, but also at the bit level, which provides a higher level of security compared to other scrambling algorithms. The results of the work are intended for subsequent use by other researchers in order to compare the discussed algorithm with others using various metrics.
Keywords: matrices, confidentiality, scrambling, MATLAB.