Шифрование текста на основе хаотических отображений и информационных матриц - Шашихин, Владимир Николаевич; Турулин, Александр Владимирович (Вестник ВГУ. Серия: Системный анализ и информационные технологии, 2022)
Актуальность представленной работы обусловлена широким внедрением шифрования данных, включая и текстовые сообщения, в многочисленные сферы как гражданского, так и военного применения. Представлен обзор традиционных методов шифрования текстовой информации и методов, разрабатываемых на основе перспективных направлений (клеточные автоматы, нейронные сети, хаотические отображения). Работа посвящена разработке алгоритма шифрования текста с использованием информационных матриц и систем c детерминированным хаосом. В соответствии с предложенным алгоритмом шифрования исходный текст трансформируется в двумерный массив данных – информационную матрицу. Элементами этой матрицы являются символы текста. Позиция элемента информационной матрицы однозначно связана с позицией символа исходного текста, а значение элемента определяется двоичным кодом символом алфавита открытого текста. Для шифрования информационной матрицы используется трехмерная хаотическая система. Существенная зависимость хаотического отображения от начальных условий и наличие у него свойства транзитивности позволяют обеспечить одновременное перемешивание и рассеивание элементов информационной матрицы. На примере трехмерной хаотической системы Рёсслера исследованы критерии стойкости предложенного алгоритма шифрования к статическому криптоанализу (коэффициенты корреляции между элементами зашифрованной информационной матрицей, энтропия, распределение вероятностей значений элементов) и дифференциальному криптоанализу (процент измененных элементов и среднее изменение интенсивности). Проведенные вычислительные эксперименты показали достаточно хорошие (близкие к теоретически достижимым значениям) критерии стойкости и полное соответствие между дешифрованным текстом и исходным текстом. Вычислительные эксперименты выполнены с использованием разработанных программ на языке Python и Java.