Способ шифрования информации

Иллюстрации

Показать все

Изобретение относится к области телекоммуникаций и предназначено для защиты передаваемой секретной информации. Технический результат - высокий уровень защищенности зашифрованной информации. Способ шифрования информации, включающий построение таблицы соответствий символов и их эквивалентов в пространстве (00; FF) в шестеричной системе исчисления, генерирование новой таблицы соответствий путем изменения оригинальной таблицы, осуществляя сдвиг таблицы оригинала, т.е. на указанное число символов сдвигается строка соответствий, кодирование исходной информации и сжатие ее до желаемого объема с использованием соответствующей таблицы кодировки Unicode. 2 табл.

Реферат

Изобретение относится к области телекоммуникаций и предназначено для защиты передаваемой секретной информации.

Известны способы шифрования информации, но они в основном решают только одну из задач - либо кодируют, либо сжимают объем данных. Зачастую шифрование информации ведет к увеличению объема либо изменению типа данных по сравнению с оригиналом, как в случае с использованием способа, построенном на операции типа XOR (побитовое исключение) /http://kriptografea.narod.ru/XOR.html/. Вместо строки мы получаем набор строк или число, или же строку, что неудобно для пользователя, особенно при работе с базами данных, где требуется заранее известный тип данных для столбца. Со сжатием данных тоже существует ряд особенностей, т.к. чаще всего при использовании какого-либо алгоритма, мы получаем зашифрованный файл, а не, допустим, текстовую информацию, использованную для сжатия. Защищенность обеспечивается постоянно перераспределяемым 8-битным ключом, который всегда хранится на локальном компьютере и не передается за его пределы. На этой стадии зашифрованная информация, даже учитывая динамичность ключа, имеет низкий уровень защиты.

Задача изобретения состоит в разработке способа шифрования данных, который обеспечит высокий уровень защищенности зашифрованной информации, а также не приведет к увеличению объема зашифрованных данных.

Сущность изобретения заключается в том, что способ шифрования включает построение таблицы соответствий символов и их эквивалентов в пространстве (00; FF) в шестеричной системе исчисления, кодировании исходной информации и сжатии ее до желаемого объема, используя соответствующую таблицу кодировки Unicode.

Способ осуществляется следующим образом. Изначально генерируется вектор символов и их эквивалентов. Для шифрования был выбран промежуток от 00 до FF в шестеричной системе исчисления. Т.е. символ «А» заменяется на 0D и т.д. и изначально эта строка формируется случайным образом. Таким образом, мы получим строку в два раза длиннее оригинала. Затем используем таблицу кодировки Unicode для выбора степени сжатия: x2, x3 или x4. Если выбираем Unicode 16LE или Unicode 16ВЕ (занимает пространство от 0000 до FFFF), то мы получаем сжатие ->x2, если Unicode 8 (занимает пространство от 000000 до FFFFFF), то ->x3 и, наконец, если Unicode 7 (занимает пространство от 00000000 до FFFFFFFF), то сжатие будет ->x4). Все эти стандарты поддерживаются любыми базами данных и любыми операционными системами, т.к. они являются ISO стандартами.

Чтобы сделать кодирование более защищенным, осуществляем сдвиг таблицы оригинала. Т.е. на указанное число символов сдвигается строка соответствий. Для избегания попадания в зашифрованную строку символов типа окончания строки, потока и т.п. было использовано пространство символов от 11 до D6, т.о. получилось зашифровать 157 символов кириллического и латинского алфавита, а также специальных символов. После ряда тестов, ошибок в работе способа выявлено не было.

Пример использования

Зашифруем, например, слово «Привет». Для этого создадим таблицу соответствия входящих в слово букв и соответствующих им символов (см. табл. 1).

Генерируем новую таблицу соответствий путем изменения оригинальной Табл. 1, в результате получаем Табл. 2. Число для изменения генерируется случайным образом перед кодированием и хранится вместе с зашифрованной строкой, для примера было использовано число 2, т.е. строка эквивалентов сдвинулась на две позиции. Таким образом, закодированное слово «Привет» выглядит так: D5CB1A2C437D.

После этого сожмем полученную строку при помощи таблицы Unicode 16LE (http://unicode-table.com/ru/), получим

Для дешифрования данных метод применяется в обратном порядке.

Представленный способ позволяет получить после шифрования и сжатия оригинальный тип данных. Т.е. при шифровании строки получается строка, при шифровании текста получается текст. При использовании способа возможно достижение 4-кратного сжатия информации и высокий уровень ее защищенности. Максимальная защита достигается за счет вариативности таблицы Unicode.

Для использования данного вида шифрации подойдет любая операционная система, и особых требований к физической комплектации рабочей станции также не имеется, хотя стоит отметить, что при использовании программного обеспечения, построенного на данном методе, физическая составляющая рабочей станции будет прямо пропорционально влиять на скорость выполнения операций. Т.о. при использовании рабочей станции на базе микропроцессора архитектуры AMD Х2 с тактовой частотой 2,2 ГГц, на шифровку 1 мб потребовалось 0,261 с. В данном опыте была реализована многопоточность с делением всего объема текста на 120 частей, и кодировка производилась соответственно в 120 потоков.

Техническим результатом использования изобретения является:

1. Уменьшение объема зашифрованных данных.

2. Получение тождественности типов оригинальных и зашифрованных данных (текст - текст, строка - строка)

3. Надежная зашита зашифрованных данных.

4. Минимальное процессорное время, требующееся для шифрования.

Способ шифрования информации, включающий построение таблицы соответствий символов и их эквивалентов в пространстве (00; FF) в шестеричной системе исчисления, генерирование новой таблицы соответствий путем изменения оригинальной таблицы, осуществляя сдвиг таблицы оригинала, т.е. на указанное число символов сдвигается строка соответствий, кодирование исходной информации и сжатие ее до желаемого объема с использованием соответствующей таблицы кодировки Unicode.