Кодер, декодер и способ кодирования и шифрования входных данных

Иллюстрации

Показать все

Изобретение относится к средствам кодирования и шифрования входных данных для формирования соответствующих кодированных и шифрованных данных. Технический результат заключается в расширении арсенала технических средств кодирования данных. Кодируют по меньшей мере первый блок данных из входных данных, в результате чего формируют первый кодированный блок данных. Первый кодированный блок данных затем шифруют с использованием по меньшей мере одного ключа, чтобы получить первый шифрованный и кодированный блок данных, который включают в кодированные и шифрованные данные. При этом также формируют первое начальное значение для использования при шифровании следующего кодированного блока, чтобы получить следующий кодированный и шифрованный блок данных, который включают в кодированные и шифрованные данные. Далее формируют следующее начальное значение для использования при шифровании последующего кодированного блока данных, и так далее последовательно и повторно до тех пор, пока все блоки данных входных данных не будут кодированы и шифрованы в виде кодированных и шифрованных данных. 6 н. и 36 з.п. ф-лы, 5 ил.

Реферат

Область техники

Настоящее изобретение относится к кодерам для кодирования и шифрования входных данных (D1) с целью формирования соответствующих кодированных и шифрованных данных (Е2), а также к соответствующим способам кодирования и шифрования входных данных (D1) с целью формирования соответствующих кодированных и шифрованных данных (Е2). Также настоящее изобретение относится к декодерам для дешифрования и декодирования кодированных и шифрованных данных (Е2) с целью формирования соответствующих декодированных данных (D3), а также к соответствующим способам дешифрования и декодирования кодированных и шифрованных данных (Е2) с целью формирования соответствующих декодированных данных (D3). Также настоящее изобретение относится к компьютерным программным продуктам, включающим машиночитаемый носитель, на котором хранят машиночитаемые инструкции, при этом машиночитаемые инструкции могут быть исполнены на компьютеризованном устройстве, включающем процессорную аппаратуру для исполнения упомянутых выше способов. Настоящее изобретение относится также к кодекам, включающим по меньшей мере один упомянутый кодер и по меньшей мере один упомянутый декодер.

Предпосылки создания изобретения

В общем случае под «шифрованием» понимают процедуру кодирования сообщений или информации таким образом, при котором прочитать эти сообщения или информацию способны только авторизованные стороны. Область знаний, которая занимается шифрованием, называют криптографией. Шифрование информации применялось на всем протяжении человеческой истории, и хорошо известно, что любой алгоритм шифрования имеет собственные уязвимости. Криптоанализ - это раздел криптографии, который применяют для поиска уязвимостей в алгоритмах шифрования.

Алгоритмы шифрования делятся на два класса: симметричные алгоритмы (т.е. алгоритмы с симметричным ключом) и ассиметричные алгоритмы (т.е. алгоритмы с асимметричными ключами). Симметричные и асимметричные алгоритмы отличаются друг от друга в том, каким образом используют и обрабатывают ключ шифрования. В симметричных алгоритмах шифрования для шифрования данных на передающем конце и для дешифрования данных на соответствующем приемном конце используют разделяемый общий ключ. В отличие от симметричных алгоритмов, в асимметричных алгоритмах шифрования используют два различных ключа, один из которых - публичный ключ, применяют для шифрования данных, а второй - приватный ключ, применяют для дешифрования шифрованных данных. Стороны связи разделяют только публичный ключ.

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

Общеизвестно, что операции шифрования данных предъявляют высокие требования к аппаратному обеспечению и требуют большого объема вычислительных ресурсов. Соответственно, в целях экономии вычислительных ресурсов и сокращения времени вычислений, часто применяют гибридные комбинации из ассиметричных и симметричных алгоритмов шифрования. Они позволяют получить достаточно высокую степень защиты, гарантирующую, что никакая третья сторона, обладая современными вычислительными ресурсами, не сможет выполнять несанкционированное дешифрование защищенной информации в реальном времени. Такой подход чаще всего используют в различных протоколах передачи данных, например, в протоколе защищенных сокетов (Secure Sockets Layer (SSL)) / безопасности транспортного уровня (Transport Layer Security, TLS) и протоколе безопасной оболочки (Secure Shell (SSH)), а также в приложениях для подписи и шифрования сообщений электронной почты, таких, например, как приложение Pretty Good Privacy (PGP) [«весьма хорошая конфиденциальность»]

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

В заявке на патент США 2006/0188095 А1 «Комбинированный способ кодирования для одновременного шифрования и кодирования канала, передающее устройство к нему, комбинированный способ декодирования для одновременного декодирования канала и дешифрования, и приемное устройство для него» описан способ комбинированного кодирования, передающее устройство для него, способ комбинированного декодирования и приемное устройство для него. Передающее устройство, при помощи которого выполняют одновременное шифрование и кодирование канала, включает блок комбинированного кодирования для выполнения комбинированного кодирования над исходным кодированным сообщением и для вывода комбинированно кодированного сообщения. Приемное устройство, при помощи которого выполняют одновременное декодирование канала и дешифрование комбинированно кодированного сообщения с добавленным шумом, включает блок комбинированного декодирования для выполнения комбинированного декодирования над комбинированно кодированным сообщением с добавленным шумом из демодулятора и для вывода исходного кодированного сообщения.

В патенте США 8660261 В2 «Система и устройство для интегрированного кодирования/декодирования и шифрования/дешифрования видеоданных и данных изображений» описан энтропийный кодер с функциональностью шифрования, предназначенный для применения в мультимедийном кодеке. В энтропийном кодере реализуют рандомизированную схему кодирования Хаффмана, без хранения множества наборов таблиц Хаффмана в постоянной памяти (read-only memory, ROM). Энтропийный кодер включает память ROM, в которой хранят один набор таблиц кодирования, кодер включает также блок поиска по таблице, который связан с ROM-памятью и который используют для преобразования символов в исходные кодовые слова и наоборот при помощи поиска по таблице, и блок рандомизатора таблицы, которую используют для преобразования исходных кодовых слов, кодированных методом Хаффмана, в кодовые слова рандомизированного кода Хаффмана и наоборот при помощи алгоритма формирования изоморфного кода. Блок рандомизации таблицы обеспечивает преобразование на основе ключевой последовательности скачков, формируемой при помощи генератора псевдослучайных битов с использованием ключа шифрования/дешифрования.

В заявке на патент США 2006/0056625А1 описан способ шифрования данных с использованием последовательности случайных чисел, генерируемой блоком генерирования случайных чисел для генерирования последовательности случайных чисел, уникально определяемой на основании входного параметра, при этом способ включает шаг генерирования входного параметра на основе метаданных шифруемых данных.

В опубликованной статье Samarakoon et al.; "Encrypted video over TETRA" описана система мобильной связи с улучшенной защитой. Система использует сквозное шифрование в дополнение к шифрованию радиосигнала. Система использует вставку кадров для обеспечения сквозного шифрования. Кадры вставляют в передаваемый видеопоток между последовательными видеокадрами во избежание потерь данных. Однако, чтобы позволить выполнить вставку, приложение должно уменьшить скорость данных для поддержания той же самой общей скорости передачи.

Сущность изобретения

Цель настоящее изобретения - предложить кодер для кодирования и шифрования входных данных (D1) с целью формирования соответствующих кодированных и шифрованных данных (Е2).

Также цель настоящего изобретения - предложить усовершенствованный декодер для дешифрования и декодирования кодированных и шифрованных данных (Е2) с целью формирования соответствующих декодированных данных (D3).

В первом аспекте вариантов осуществления настоящего изобретения предложен кодер для кодирования и шифрования входных данных (D1), включающих множество блоков данных или пакетов данных или потоков данных, при этом кодер (110) включает схему обработки данных для обработки входных данных (D1) для формирования соответствующих кодированных и шифрованных данных (Е2), при этом упомянутая схема обработки данных объединяет процессы кодирования и шифрования для формирования кодированных и шифрованных данных (Е2), причем:

(i) упомянутая схема обработки данных выполнена с возможностью кодирования по меньшей мере первого блока данных или пакета данных или потока данных из упомянутого множества блоков данных или пакетов данных или потоков данных для формирования первого кодированного блока данных или пакета данных или потока данных, и шифрования упомянутого по меньшей мере первого кодированного блока данных или пакета данных или потока данных с использованием по меньшей мере одного ключа, чтобы получить первый кодированный и шифрованный блок данных или пакет данных или поток данных для включения в кодированные и шифрованные данные (Е2);

(ii) упомянутая схема обработки данных выполнена с возможностью формирования первого начального значения для использования при шифровании следующего кодированного блока данных или пакета данных или потока данных, чтобы получить следующий кодированный и шифрованный блок данных или пакет данных или поток данных для включения в кодированные и шифрованные данные (Е2);

(iii) упомянутая схема обработки данных выполнена с возможностью формирования следующего начального значения для использования при шифровании последующего кодированного блока данных или пакета данных или потока данных, и так последовательно и повторно до тех пор, пока упомянутое множество блоков данных или пакетов данных или потоков данных не будет шифровано и кодировано в виде кодированных и шифрованных данных (Е2),

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

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

При этом, опционально, упомянутая схема обработки данных выполнена с возможностью кодирования и шифрования входных данных (D1) с целью формирования соответствующих кодированных и шифрованных данных (Е2), последовательно и повторно, с ветвлением на множество параллельных последовательностей операций по кодированию и шифрованию блоков данных или пакетов данных или потоков данных с использованием соответствующих начальных значений.

Опционально, упомянутую схему обработки данных в кодере реализуют с применением по меньшей мере одного процессора с архитектурой с ограниченным набором команд (Reduced Instruction Set Computing, RISC), который выполнен с возможностью исполнения программных инструкций, в соответствии с последующим более подробным описанием.

Опционально, упомянутая схема обработки данных в кодере выполнена с возможностью кодирования и шифрования входных данных (D1), представленных в по меньшей мере одной из следующих форм: одномерные данные, многомерные данные, текстовые данные, двоичные данные, данные датчиков, аудиоданные, данные изображение, видеоданные, однако без ограничения перечисленным.

Опционально, схему обработки данных в кодере, в процессе ее функционирования, снабжают упомянутым по меньшей мере одним ключом, который используют при формировании кодированных и шифрованных данных (Е2).

Опционально, упомянутая схема обработки данных в кодере выполнена с возможностью многократного использования упомянутого по меньшей мере одного ключа в комбинации с упомянутыми начальными значениями для шифрования кодированных блоков данных или пакетов данных или потоков данных с целью их включения в кодированные и шифрованные данные (Е2). Альтернативно и опционально, упомянутая схема обработки данных в кодере выполнена с возможностью использования упомянутого по меньшей мере одного ключа для шифрования только упомянутого первого кодированного блока данных и/или пакета данных.

Альтернативно и опционально, упомянутая схема обработки данных в кодере выполнена с возможностью применения инициализационного вектора (IV) в комбинации с упомянутым по меньшей мере одним ключом для шифрования упомянутого первого кодированного блока данных или пакета данных или потока данных.

Также, опционально, упомянутая схема обработки данных в кодере выполнена с возможностью включения в кодированные и шифрованные данные (Е2) информации, указывающей по меньшей один алгоритм, использованный для формирования начальных значений с целью их использования при шифровании кодированных блоков данных или пакетов данных или потоков данных.

Также, опционально, упомянутая схема обработки данных в кодере выполнена с возможностью обеспечения передачи упомянутого по меньшей мере одного ключа для использования при последующем дешифровании и декодировании кодированных и шифрованных данных (Е2), вручную или при помощи шифрованного сообщения электронной почты, или по шифрованному соединению связи. Опционально, упомянутое шифрованное соединение связи реализуют при помощи протокола защищенных сокетов (SSL) / безопасности транспортного уровня (TLS).

Во втором аспекте вариантов осуществления настоящего изобретения предложен способ кодирования и шифрования входных данных (D1), включающих множество блоков данных или пакетов данных или потоков данных, при помощи кодера (110), который включает схему обработки данных для обработки входных данных (D1) для формирования соответствующих кодированных и шифрованных данных (Е2), при этом упомянутая схема обработки данных объединяет процессы кодирования и шифрования для формирования кодированных и шифрованных данных (Е2), и способ включает:

(i) кодирование первого блока данных или пакета данных или потока данных из упомянутого множества блока данных или пакета данных или потока данных для формирования по меньшей мере первого кодированного блока данных или пакета данных или потока данных;

(ii) шифрование упомянутого по меньшей мере первого кодированного блока данных или пакета данных или потока данных с использованием по меньшей мере одного ключа, чтобы получить первый шифрованный и кодированный блок данных или пакет данных или поток данных для включения в кодированные и шифрованные данные (Е2);

(iii) формирование первого начального значения для использования при шифровании следующего кодированного блока данных или пакета данных или потока данных, чтобы получить следующий кодированный и шифрованный блок данных или пакет данных или поток данных для включения в кодированные и шифрованные данные (Е2); и

(iv) формирование следующего начального значения для использования при шифровании последующего кодированного блока данных или пакета данных или потока данных, и так последовательно и повторно до тех пор, пока упомянутое множество блоков данных или пакетов данных или потоков данных не будет шифровано и кодировано в виде кодированных и шифрованных данных (Е2),

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

Опционально способ включает предоставление, в упомянутую схему обработки данных, по меньшей мере одного ключа, который используют при формировании кодированных и шифрованных данных (Е2).

Опционально способ включает многократное использование упомянутой схемой обработки данных упомянутого по меньшей мере одного ключа в комбинации с упомянутыми начальными значениями для шифрования кодированных блоков данных или пакетов данных или потоков данных для их включения в кодированные и шифрованные данные (Е2).

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

Опционально способ включает применение, упомянутой схемой обработки данных, инициализационного вектора (IV) в комбинации с упомянутым по меньшей мере одним ключом при шифровании упомянутого первого кодированного блока данных или пакета данных или потока данных.

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

Опционально способ включает выполнение, упомянутой схемой обработки данных, кодирования и шифрования входных данных (D1) для формирования соответствующих кодированных и шифрованных данных (Е2), последовательно и повторно, с ветвлением на множество параллельных последовательностей операций по кодированию и шифрованию блоков данных или пакетов данных или потоков данных с использованием соответствующих начальных значений.

Опционально способ включает выполнение, упомянутой схемой обработки данных, кодирования и шифрования входных данных (D1), представленных по меньшей мере в одной из следующих форм: одномерные данные, многомерные данные, текстовые данные, двоичные данные, данные датчиков, аудиоданные, данные изображение, видеоданные.

Опционально способ включает выполнение, упомянутой схемой обработки данных, передачи упомянутого по меньшей мере одного ключа из кодера (110) для использования при последующем дешифровании и декодировании кодированных и шифрованных данных (Е2), вручную или при помощи шифрованного сообщения электронной почты, или по шифрованному соединению связи. Также опционально способ включает реализацию упомянутого соединения связи при помощи протокола защищенных сокетов (SSL) / безопасности транспортного уровня (TLS).

Опционально способ включает реализацию упомянутой схемы обработки данных с применением по меньшей мере одного процессора с архитектурой с ограниченным набором команд (RISC), который выполнен с возможностью исполнения программных инструкций.

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

В четвертом аспекте вариантов осуществления настоящего изобретения предложен декодер для дешифрования и декодирования кодированных и шифрованных данных (Е2), включающих множество кодированных и шифрованных блоков данных или пакетов данных или потоков данных, при этом декодер включает схему обработки данных для обработки кодированных и шифрованных данных (Е2) для формирования соответствующих декодированных данных (D3), и в декодер, при его функционировании, предоставляют по меньшей мере один ключ, который используют при формировании декодированных данных (D3), при этом упомянутая схема обработки данных объединяет процессы декодирования и дешифрования для формирования декодированных данных (D3), причем:

(i) упомянутая схема обработки данных выполнена с возможностью дешифрования по меньшей мере первого кодированного и шифрованного блока данных или пакета данных или потока данных из упомянутого множества кодированных и шифрованных блоков данных или пакетов данных или потоков данных с использованием упомянутого по меньшей мере одного ключа, чтобы получить по меньшей мере первый кодированный блок данных или пакет данных или поток данных, и декодирования упомянутого по меньшей мере первого кодированного блока данных или пакета данных или потока данных, чтобы получить первый декодированный блок данных или пакет данных или поток данных для включения в декодированные данные (D3);

(ii) упомянутая схема обработки данных выполнена с возможностью формирования первого начального значения для использования при дешифровании по меньшей мере следующего кодированного и шифрованного блока данных или пакета данных или потока данных из упомянутого множества кодированных и шифрованных блоков данных или пакетов данных или потоков данных, чтобы получить по меньшей мере следующий кодированный блок данных или пакет данных или поток данных, и декодирования упомянутого следующего кодированного блока данных или пакета данных или потока данных, чтобы получить следующий декодированный блок данных или пакет данных или поток данных для включения в декодированные данные (D3); и

(iii) упомянутая схема обработки данных выполнена с возможностью формирования следующего начального значения для использования при дешифровании и декодировании последующего кодированного и шифрованного блока данных или пакета данных или потока данных из упомянутого множества кодированных и шифрованных блоков данных или пакетов данных или потоков данных, и так последовательно и повторно до тех пор, пока упомянутое множество кодированных и шифрованных блоков данных или пакетов данных или потоков данных не будет дешифровано и декодировано в декодированные данные (D3),

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

При этом, опционально, упомянутая схема обработки данных выполнена с возможностью дешифрования кодированных и шифрованных данных (Е2) с целью формирования соответствующих декодированных данных (D3), последовательно и повторно, с ветвлением на множество параллельных последовательностей операций по декодированию и дешифрованию шифрованных и кодированных блоков данных или пакетов данных или потоков данных с использованием соответствующих начальных значений.

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

Опционально, упомянутая схема обработки данных в декодере выполнена с возможностью дешифрования и декодирования кодированных и шифрованных данных (Е2), представленных в по меньшей мере одной из следующих форм: кодированные и шифрованные одномерные данные, кодированные и шифрованные многомерные данные, кодированные и шифрованные текстовые данные, кодированные и шифрованные двоичные данные, кодированные и шифрованные данные датчиков, кодированные и шифрованные аудиоданные, кодированные и шифрованные данные изображений, кодированные и шифрованные видеоданные, однако без ограничения перечисленным.

Опционально, в упомянутую схему обработки данных в декодере, в процессе ее функционирования, предоставляют упомянутый по меньшей мере один ключ, который используют при формировании декодированных данных (D3).

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

Кроме того, опционально, упомянутая схема обработки данных выполнена с возможностью применения инициализационного вектора (IV) в комбинации с упомянутым по меньшей мере одним ключом для дешифрования упомянутого первого кодированного и шифрованного блока данных или пакета данных или потока данных.

Опционально, упомянутая схема обработки данных выполнена с возможностью обеспечения приема упомянутого по меньшей мере одного ключа в декодере для использования при последующем дешифровании и декодировании кодированных и шифрованных данных (Е2), вручную или при помощи шифрованного сообщения электронной почты, или по шифрованному соединению связи. Также опционально, упомянутое шифрованное соединение связи реализовано при помощи протокола защищенных сокетов (SSL) / безопасности транспортного уровня (TLS).

В пятом аспекте вариантов осуществления настоящего изобретения предложен способ дешифрования и декодирования кодированных и шифрованных данных (Е2), включающих множество кодированных и шифрованных блоков данных или пакетов данных или потоков данных, при помощи декодера, при этом декодер включает схему обработки данных для обработки кодированных и шифрованных данных (Е2) с целью формирования соответствующих декодированных данных (D3), и в декодер, при его функционировании, предоставляют по меньшей мере один ключ, который используют при формировании декодированных данных (D3), при этом упомянутая схема обработки данных объединяет процессы декодирования и дешифрования для формирования декодированных данных (D3), и способ включает:

(i) дешифрование по меньшей мере первого кодированного и шифрованного блока данных или пакета данных или потока данных из упомянутого множества кодированных и шифрованных блоков данных или пакетов данных или потоков данных с использованием упомянутого по меньшей мере одного ключа, чтобы сформировать по меньшей мере первый кодированный блок данных или пакет данных или поток данных;

(ii) декодирование упомянутого по меньшей мере первого блока данных или пакета данных или потока данных, чтобы получить первый декодированный блок данных или пакет данных или поток данных для включения в декодированные данные (D3);

(iii) формирование первого начального значения для использования при дешифровании и декодировании следующего кодированного и шифрованного блока данных или пакета данных или потока данных из упомянутого множества кодированных и шифрованных блоков данных или пакетов данных или потоков данных, чтобы получить по меньшей мере следующий декодированный блок данных или пакет данных или поток данных для включения в декодированные данные (D3); и

(iv) формирование следующего начального значения для использования при дешифровании и декодировании последующего кодированного и шифрованного блока данных или пакета данных или потока данных из упомянутого множества кодированных и шифрованных блоков данных или пакетов данных или потоков данных, и так последовательно и повторно до тех пор, пока упомянутое множество кодированных и шифрованных блоков данных или пакетов данных или потоков данных не будет дешифровано и декодировано в декодированные данные (D3),

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

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

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

Опционально способ включает выполнение упомянутой схемы обработки данных с возможностью применения инициализационного вектора (IV) в комбинации с упомянутым по меньшей мере одним ключом при дешифровании упомянутого по меньшей мере первого кодированного и шифрованного блока данных или пакета данных или потока данных.

Опционально способ включает выполнение, упомянутой схемой обработки данных, дешифрования кодированных и шифрованных данных (Е2) для формирования соответствующих декодированных данных (D3), последовательно и повторно, с ветвлением на множество параллельных последовательностей операций по декодированию и дешифрованию шифрованных и кодированных блоков данных или пакетов данных или потоков данных с использованием соответствующих начальных значений.

Опционально способ включает выполнение, упомянутой схемой обработки данных, дешифрования и декодирования кодированных и шифрованных данных (Е2), представленных по меньшей мере в одной из следующих форм: кодированные и шифрованные одномерные данные, кодированные и шифрованные многомерные данные, кодированные и шифрованные текстовые данные, кодированные и шифрованные двоичные данные, кодированные и шифрованные данные датчиков, кодированные и шифрованные аудиоданные, кодированные и шифрованные данные изображений, кодированные и шифрованные видеоданные.

Опционально способ включает выполнение, упомянутой схемой обработки данных, приема упомянутого по меньшей мере одного ключа в декодере для использования при последующем дешифровании и декодировании кодированных и шифрованных данных (Е2), вручную или при помощи шифрованного сообщения электронной почты, или по шифрованному соединению связи. Также опционально, упомянутое шифрованное соединение связи реализуют при помощи протокола защищенных сокетов (SSL) / безопасности транспортного уровня (TLS).

Опционально, упомянутую схему обработки данных реализуют с применением по меньшей мере одного процессора с архитектурой с ограниченным набором команд (RISC), который выполнен с возможностью исполнения программных инструкций.

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

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

Описанные выше способы обеспечивают значительное усиление защиты по сравнению с защитой, обеспечиваемой при помощи способов, известных на существующем уровне техники, в которых применяют соответствующие алгоритмы шифрования. Способы, предложенные в вариантах осуществления настоящего изобретения, могут быть реализованы с использованием любых подходящих методов кодирования, независимо от применяемого алгоритма шифрования. Благодаря этому, предложенные способы не меняют поведения применяемых алгоритмов шифрования, и это означает, что эффективность защиты, обеспечиваемой встроенными алгоритмами шифрования, не будет снижена. Следовательно, способы, предложенные в вариантах осуществления настоящего изобретения, позволяют еще более повысить эффективность существующих алгоритмов сжатия данных и шифрования.

При этом предложенные способы могут быть реализованы в комбинации с распространенными общеизвестными программными приложениями для сжатия данных, как с открытым кодом, так и проприетарными, например, 7-Zip, Win-Zip и др. (наименования "7-Zip" и "Win-Zip" являются зарегистрированными товарными знаками).

При этом, также, интеграция процедур шифрования и кодирования является эффективной моделью для многопроцессорной обработки данных или для параллельного выполнения нескольких процедур. Интеграция процедур друг с другом позволяет реализовать оптимальную структуру обработки данных для каждого заданного центрального процессорного блока (Central Processing Unit, CPU) и заданного графического процессора, в соответствии с доступной вычислительной мощностью. То есть, описанные выше способы позволяют реализовать эффективное разделение на потоки для процедуры шифрования, встроенной в процедуру кодирования, при этом блоки данных и/или пакеты данных из входных данных (D1) могут быть представлены в оптимизированном формате, оптимальном для CPU и GPU системы и/или платформы, на которой выполняют процедуру кодирования.

Описанные выше способы позволяют применять очень быстрые, но вместе с тем в высокой степени эффективные алгоритмы шифрования. В этом отношении предложенные способы обеспечивают эффективное применение алгоритмов шифрования, без вмешательства в их внутреннее функционирование. Примеры алгоритмов шифрования, которые подходят для реализации в сочетании с упомянутыми выше способами включают, без ограничения перечисленным, AES, Twofish, Blowfish, стандарт шифрования данных (Data Encryption Standard, DES), Triple DES (3-DES), международный алгоритм шифрования данных (International Data Encryption Algorithm, IDEA), MARS, Rivest Cipher 6 (RC6), Camellia, CAST-128, Skipjack, расширенный миниатюрный алгоритм шифрования данных (extended Tiny Encryption Algorithm, XTEA) (перечисленные в качестве примеров наименования могут включать зарегистрированные товарные знаки).

При этом дополнительное преимущество от встраивания процедуры шифрования в процедуру кодирования заключается в том, что полученные таким образом кодированные и шифрованные данные (Е2) не обязательно нужно передавать в другие сети с использованием защищенного, безопасного сетевого соединения, например, с применением тоннеля виртуальной частной сети (Virtual Private Network, VPN), протоколов безопасной оболочки или протоколов SSL7TLS. Следовательно, рассмотренные выше способы являются более выгодной моделью передачи текстовых, двоичных, аудиоданных, данных изображений, видеоданных и данных других типов, например, по публичным сетям Интернет или в веб-сервисах и облачных сервисах.

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

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

Описание чертежей

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

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

фиг. 1 представляет собой эскизную иллюстрацию кодера для кодирования и шифрования входных данных (D1) с целью формирования соответствующих кодированных и шифрованных данных (Е2) и декодера для дешифрования и декодирования кодированных и шифрованных данных (Е2) с целью формирования соответствующих декодированных данных (D3), при этом упомянутые кодер и декодер вместе образуют кодек, в соответствии с одним и