Разработка программного модуля защиты информации методом стеганографии
Автор: Косюк Александр Васильевич
Рубрика: 4. Информатика
Опубликовано в
LXXXIV международная научная конференция «Исследования молодых ученых» (Казань, июнь 2024)
Дата публикации: 06.06.2024
Статья просмотрена: 21 раз
Библиографическое описание:
Косюк, А. В. Разработка программного модуля защиты информации методом стеганографии / А. В. Косюк. — Текст : непосредственный // Исследования молодых ученых : материалы LXXXIV Междунар. науч. конф. (г. Казань, июнь 2024 г.). — Казань : Молодой ученый, 2024. — С. 4-9. — URL: https://moluch.ru/conf/stud/archive/518/18576/ (дата обращения: 15.11.2024).
В данной статье рассматривается процесс разработки программного модуля для шифрования текстовой информации в реальном изображении, с помощью языка программирования Rust, описываются основные аспекты стеганографии, в частности метод LSB.
Ключевые слова : стеганография, LSB, программный модуль, язык программирования, Rust.
В условиях стремительного развития информационных технологий и повсеместного распространения цифровых данных вопрос обеспечения их безопасности приобретает все большую актуальность. С каждым годом объемы передаваемой и хранимой информации увеличиваются, что ставит новые задачи перед специалистами по защите данных. Одним из ключевых направлений в этой области является разработка эффективных методов сокрытия информации, или стеганографии, которые позволяют передавать конфиденциальные данные незаметно для посторонних.
Метод замены наименее значимого бита (Least Significant Bit, LSB) является одним из наиболее популярных и широко применяемых стеганографических методов [1]. Он отличается простотой реализации и высокой скоростью выполнения, что делает его привлекательным для использования в разнообразных приложениях. Принцип работы метода LSB заключается в замене наименее значимых битов пикселей изображения или других цифровых данных на биты секретного сообщения. Таким образом, модифицированное изображение визуально практически не отличается от оригинального, что затрудняет обнаружение факта скрытой передачи информации.
Несмотря на очевидные преимущества, метод LSB имеет и свои ограничения. Одним из основных недостатков является его уязвимость к различным видам атак, включая статистический анализ и метод дифференциального анализа. Это обусловлено тем, что внесение изменений в наименее значимые биты может оставить определенные следы, которые могут быть обнаружены при внимательном анализе. В связи с этим актуальной задачей является разработка усовершенствованных методов на основе LSB, которые бы повышали уровень безопасности скрытой передачи данных и снижали вероятность их обнаружения.
Цель данной работы заключается в исследовании современных подходов к использованию метода LSB для защиты информации, а также в разработке программного модуля для шифрования информации внутри изображения.
Описание алгоритма LSB
Метод LSB основывается на замене наименее значимых битов (обычно последних битов) пикселей изображения на биты секретного сообщения [2]. Для цветного изображения в формате RGB можно изменить один бит в каждом цветовом компоненте (красный, зеленый, синий), что позволяет скрыть больше информации. Формально, для пикселя со значением цвета и бита сообщения , операция замены выражается как:
,
где — новый цвет пикселя, — операция побитового «И», инверсия числа, — операция побитового «ИЛИ».
Для повышения безопасности метода LSB предложено несколько модификаций:
- Псевдослучайное распределение битов
Одним из методов повышения стойкости к атакам является использование псевдослучайного распределения битов сообщения по изображению. Для этого применяются генераторы псевдослучайных чисел (ГПСЧ), что затрудняет восстановление скрытой информации без знания начального состояния ГПСЧ.
- Динамическое количество заменяемых битов
Еще одной модификацией является изменение количества заменяемых битов в зависимости от яркости пикселя. Например, можно заменять больше битов в темных областях изображения, где изменения менее заметны визуально.
- Комбинированные методы
Некоторые исследователи предлагают комбинировать метод LSB с другими стеганографическими методами, такими как DCT (дискретное косинусное преобразование) или вейвлет-преобразование, чтобы скрывать данные в различных частотных областях изображения.
Разработка программного модуля
Программный модуль для шифрования информации реализован с помощью строго-типизированного языка программирования Rust, который обеспечивает высокую безопасность и производительность. Благодаря встроенной системе проверки типов и механизмам управления памятью, Rust помогает избежать многих распространённых ошибок, таких как утечки памяти и некорректное обращение к указателям. Это делает его идеальным выбором для разработки критически важных компонентов, где надежность и защита данных имеют первостепенное значение [3].
Разработанное решение позволяет загрузить изображение и получить из него либо зашифрованную информацию, либо зашифровать необходимые данные в него.
Рассмотрим пошагово работу программного модуля. Загружаем в качестве входных данных любое изображение. Выбранное изображение представлено на рис. 1.
Рис. 1. Входное изображение
В данном изображении на текущем этапе нет никакой информации. Затем выбираем текст, который хотим зашифровать, например, см. рис. 2.
Рис. 2. Текст, который будет зашифрован в картинку
Результатом выполнения программы является новое изображение, которое приведено на рис. 3.
Рис. 3. Выходное изображение
Замечаем, что данные изображения идентичны для человеческого глаза, что делает данный программный модуль отличным решением для защиты информации.
При декодировании выходного изображения получаем исходный текст. Результат работы программного модуля продемонстрирован на рис. 4.
Рис. 4. Декодированная информация
Очевидно, что закодированная и декодированная информация полностью совпадает, значит программный модуль работает корректно.
Заключение
В результате работы был рассмотрен метод стеганографии LSB, который был применен при разработки программного модуля для защиты информации путем шифрования в реальное изображение. Этот модуль может использоваться в различных приложениях, требующих защиты данных, таких как сетевые протоколы, системы хранения данных, а также в любых системах, где необходимо гарантировать конфиденциальность и целостность информации.
Литература:
- Habr [Электронный ресурс] — Стеганография — URL: https://habr.com/ru/articles/114597/ (Дата обращения 02.06.2024)
- Habr [Электронный ресурс] — LSB стеганография– URL: https://habr.com/ru/articles/112976/ (Дата обращения 03.06.2024)
- Документация по языку программирования Rust [Электронный ресурс] URL: https://prev.rust-lang.org/ru-RU/documentation.html (Дата обращения 04.06.2024)
Похожие статьи
PlantUML: создание диаграмм с использованием текстового синтаксиса
В статье автор рассматривает PlantUML как эффективный инструмент для создания диаграмм в разработке программного обеспечения, преимущества использования текстового синтаксиса, разнообразие поддерживаемых диаграмм.
Разработка алгоритма валидации форм на клиентской стороне для передачи данных
В данной статье рассмотрены методы и алгоритмы функционирования систем клиент-серверной архитектуры для передачи данных с помощью технологий программных инструментов: HTML, CSS, Javascript.
Анализ данных на Python
В статье автор подробно исследует аналитические возможности Python, уделяя внимание ключевым библиотекам и методам, которые делают этот язык таким мощным инструментом для работы с данными.
Анализ средств для реализации нейронных сетей на языке программирования Java
В данной статье рассматриваются основные требования к реализации нейронных сетей, описываются возможности языка Java по созданию компонентов нейронных сетей. Так же приводится анализ и сравнение уже существующих решений для данного языка и производит...
Проектирование информационной системы при помощи UML-диаграмм на примере информационной системы ресторана
В данной статье рассматривается проектирование информационной системы при помощи UML-диаграмм. Для построения диаграмм используется case-средство Visual Paradigm.
Разработка систем рекомендаций на основе Big Data
В данной статье рассмотрены основные подходы к разработке систем рекомендаций на основе Big Data, включая коллаборативную фильтрацию, контентную фильтрацию и гибридные методы, а также представлены примеры реализации алгоритмов на языке программирован...
Многопоточность в языке Swift
В статье рассмотрим основной способ выполнять код асинхронно, который используется в iOS приложениях. Подробно разобран основной функционал Grand Central Dispatch (GCD) и сценарии, в которых можно реализовать многопоточность с его помощью.
Рассмотрение декларативного подхода к разработке интерфейсов мобильных приложений для Android
В данной статье рассматриваются императивный и декларативный подходы к разработке интерфейсов, анализируются преимущества и недостатки библиотеки Jetpack Compose.
Алгоритм проектирование электроосвещения с помощью программного продукта DIALux
В статье рассматривается краткая характеристика программного пакета DIALux и представлен алгоритм проектирования электроосвещения в ней.
Особенности изучения линейного алгоритма на flowcode
В статье рассматривается линейный алгоритм на микроконтроллере с помощью Flowcode.
Похожие статьи
PlantUML: создание диаграмм с использованием текстового синтаксиса
В статье автор рассматривает PlantUML как эффективный инструмент для создания диаграмм в разработке программного обеспечения, преимущества использования текстового синтаксиса, разнообразие поддерживаемых диаграмм.
Разработка алгоритма валидации форм на клиентской стороне для передачи данных
В данной статье рассмотрены методы и алгоритмы функционирования систем клиент-серверной архитектуры для передачи данных с помощью технологий программных инструментов: HTML, CSS, Javascript.
Анализ данных на Python
В статье автор подробно исследует аналитические возможности Python, уделяя внимание ключевым библиотекам и методам, которые делают этот язык таким мощным инструментом для работы с данными.
Анализ средств для реализации нейронных сетей на языке программирования Java
В данной статье рассматриваются основные требования к реализации нейронных сетей, описываются возможности языка Java по созданию компонентов нейронных сетей. Так же приводится анализ и сравнение уже существующих решений для данного языка и производит...
Проектирование информационной системы при помощи UML-диаграмм на примере информационной системы ресторана
В данной статье рассматривается проектирование информационной системы при помощи UML-диаграмм. Для построения диаграмм используется case-средство Visual Paradigm.
Разработка систем рекомендаций на основе Big Data
В данной статье рассмотрены основные подходы к разработке систем рекомендаций на основе Big Data, включая коллаборативную фильтрацию, контентную фильтрацию и гибридные методы, а также представлены примеры реализации алгоритмов на языке программирован...
Многопоточность в языке Swift
В статье рассмотрим основной способ выполнять код асинхронно, который используется в iOS приложениях. Подробно разобран основной функционал Grand Central Dispatch (GCD) и сценарии, в которых можно реализовать многопоточность с его помощью.
Рассмотрение декларативного подхода к разработке интерфейсов мобильных приложений для Android
В данной статье рассматриваются императивный и декларативный подходы к разработке интерфейсов, анализируются преимущества и недостатки библиотеки Jetpack Compose.
Алгоритм проектирование электроосвещения с помощью программного продукта DIALux
В статье рассматривается краткая характеристика программного пакета DIALux и представлен алгоритм проектирования электроосвещения в ней.
Особенности изучения линейного алгоритма на flowcode
В статье рассматривается линейный алгоритм на микроконтроллере с помощью Flowcode.