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

Изобретение относится к вычислительной технике, а именно к способу криптографической защиты данных в компьютерных сетях. Технический результат заключается в повышении криптографической стойкости. Технический результат достигается тем, что перед передачей сообщения (при i=0) в передатчике и приемнике проводят инициализацию одинакового значения закрытого ключа. Затем при передаче каждого блока данных синхронно меняют значение закрытого ключа в передатчике и приемнике. Передатчик 1 посылает приемнику 2 блоки данных по открытому каналу 3 связи. Передатчик 1 выполняет шифрование, а приемник 2 выполняет дешифрацию блоков данных. В передатчике 1 сообщение разделяют на отдельные подблоки 10 данных в количестве (N≥2). Согласно изобретению к каждому i-му подблоку 10 данных присоединяют i-й подблок 11 служебной информации, где записан (i+1)-й модификатор ключа 14. Каждый блок шифруют своим закрытым подключом. Подключ для (i+1)-го блока функционально зависит от подключа предыдущего i-го блока 12 и (i+1)-го модификатора ключа, который формируется на выходе генератора случайных чисел 13. 1 з.п. ф-лы, 1 ил.

Реферат

Изобретение относится к вычислительной технике, к способам криптографической защиты данных в компьютерных сетях, использующих протоколы TCP/IP (Internet, Intranet).

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

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

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

Из уровня техники известны способы блочного шифрования данных, например стандарты ГОСТ 28147-89 (Россия), DES (Data Encryption Standard, США) и др.

Алгоритм криптографического преобразования ГОСТ 28147-89 использует блочный шифр с 256-битным ключом и 32 циклами преобразования, оперирующий 64-битными блоками. Для шифрования открытый текст сначала разбивается на две половины (младшие биты - А, старшие биты - В). На i-м цикле используется подключ Ki. Для генерации подключей исходный 256-битный ключ разбивается на восемь 32-битных блоков: K1…K8. Ai и Ki складываются по модулю 232. Результат разбивается на восемь 4-битовых подпоследовательностей (тетрад), каждая из которых поступает на вход своего узла таблицы замен, называемого S-блоком. Таблица задает подстановку, когда одна тетрада заменяется на другую тетраду. Выходы всех восьми S-блоков объединяются в 32-битное слово, затем все слово циклически сдвигается влево (к старшим разрядам) на 11 битов (Стандарт СССР ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования, Москва, ГК СССР по стандартам, 1989 г.).

Недостатком данного алгоритма является то, что в ГОСТ 28147-89 не описан процесс генерации ключей и таблиц замен. Существуют «слабые» ключи и таблицы замен, но в стандарте не описываются критерии выбора и отсева «слабых». Другим недостатком этого алгоритма является использование постоянного 256-битного ключа, из которого формируются подключи. При программной реализации этот способ шифрования не обеспечивает высокую скорость (более 1 Мбит/с) из-за необходимости преобразования форматов данных. Современные процессоры оперируют данными, размер которых кратен 1 байту (8, 16, 32, 64, 128 битов). В указанном способе используется большое число операций подстановки над 4-битовыми блоками данных (до 32 раундов). При выполнении каждого раунда процессор выполняет преобразование форматов данных. Сначала в байте выделяют 4-битовые тетрады (8 битов → 4+4 бита), а затем выполняют подстановку по таблице и обратное преобразование (8×4 бита → 32 бита). Преобразование форматов данных снижает скорость шифрования.

В стандарте США DES шифрование блоков данных выполняют путем формирования ключа, разбиения преобразуемого блока данных на два подблока L и R и поочередного изменения последних путем выполнения операции поразрядного суммирования по модулю два над подблоком L и двоичным вектором, который формируется как выходное значение некоторой функции F от значения подблока R. После этого блоки переставляются местами. Функция F в указанном способе реализуется путем выполнения операций перестановки и подстановки, выполняемых над подблоком R (National Bureau of Standards. Data Encryption Standard. Federal Information Processing Standards Publication 46, January 1977).

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

Известны и другие способы блочного шифрования двоичной информации, которые, например, включают формирование ключа шифрования в виде совокупности подключей, разбиение блока данных на N≥2 подблоков и поочередное преобразование подблоков путем выполнения операции шифрации над подблоком и подключом. Перед выполнением двуместной операции шифрации над i-м подблоком и подключом над подключом выполняют операцию подстановки, зависящую от j-го подблока, где j≠i. В качестве выполняемой над подключом операции подстановки, зависящей от j-го подблока, используют управляющую операцию или операцию подстановки, зависящую от ключа шифрования (патент РФ №2211541, H04L 9/00, 2001).

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

Наиболее близким к заявленному изобретению является известный из уровня техники способ блочного шифрования дискретной информации, включающий формирование ключа шифрования в виде совокупности подключей, разбиение блока данных на N≥2 подблоков и поочередное преобразование подблоков путем выполнения двуместной операции над подблоком и подключом, отличающийся тем, что перед выполнением двуместной операции над i-м подблоком и подключом над подключом выполняют операцию циклического сдвига, зависящую от j-го подблока, где j≠i (патент РФ №2140711, H04L 9/00, 1998).

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

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

Заявленный технический результат, получаемый при решении поставленной задачи, достигается посредством того, что в заявленном способе блочного шифрования сообщений и передачи шифрованных данных с закрытым ключом, включающем разбиение сообщения в передатчике на совокупность отдельных k-разрядных подблоков данных в количестве (N≥2), проведение инициализации закрытого ключа перед передачей сообщения (при i=0) в передатчике и приемнике одинаковым значением закрытого ключа, формирование из закрытого ключа последовательности подключей, с последующей шифрацией ими в передатчике соответствующих передаваемых блоков данных, поблочную передачу сформированных данных по каналу связи и последующую дешифрацию передаваемых блоков данных в приемнике посредством упомянутых подключей, в том числе различной модификации, согласно заявленному изобретению формируют в передатчике (i)-й передаваемый блок данных из i-го подблока данных и присоединенного к нему (i)- го подблока служебной информации в виде (i+1)-го модификатора закрытого подключа и шифруют его (i)- м соответствующим подключом из совокупности подключей; формируют в передатчике контрольные разряды и присоединяют их к i-му передаваемому блоку данных; после этого (i)-й блок данных с контрольными разрядами передают в приемник и по контрольным разрядам проверяют правильность принятого (i)-го блока данных, после чего принятый (i)-й блок данных дешифруют (i)-м закрытым подключом и разделяют его на i-й подблок данных и (1)- й подблок служебной информации; в приемнике на каждый правильно принятый блок данных формируют квитанцию и передают ее по каналу связи в передатчик, а из (i)- го подключа и (i+1)-го модификатора подключа формируют значение следующего (i+1)-го закрытого подключа, с возможностью дешифрации им очередного (i+1)-го блока данных; после передачи и контроля правильности приема каждого i-го передаваемого блока данных в передатчике и приемнике синхронно устанавливают новое значение закрытого подключа из совокупности подключей закрытого ключа шифрования, после чего в передатчике возобновляют передачу следующего (i+1)-го блока данных с (i+2)-м модификатором закрытого подключа; причем из правильно принятых подблоков данных формируют принятое сообщение.

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

Сущность заявленного изобретения заключается в следующем.

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

1 - симметричный способ шифрования с закрытым ключом,

2 - асимметричный способ шифрования с открытым ключом.

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

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

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

В начале передачи сообщения в передатчике и приемнике выполняют инициализацию закрытого ключа, т.е. вводят начальное значение подключа (при i=0) для шифрации-дешифрации первого блока. Этот подключ одинаковый у приемника и передатчика. Затем сообщение разделяют на отдельные подблоки, после чего каждый подблок шифруют своим уникальным подключом.

Первый подблок данных шифруют введенным закрытым подключом. Затем к каждому (i+1)-му подблоку формируют новый (i+1)-й подключ, который функционально зависит от предыдущего i-го подключа и (i+1)-го модификатора ключа. Модификатор ключа является случайным числом. Модификатор ключа формируется в передатчике, например, с помощью датчика случайных чисел. Функция модификации должна обеспечить взаимно однозначное соответствие (i+1)-го подключа и (i+1)-го модификатора. Например, можно присоединить двоичные разряды модификатора к двоичным разрядам подключа и затем выполнить операцию сдвига на заданное число разрядов.

В передатчике (i+1)-й модификатор ключа присоединяют к i-му подблоку данных. Затем i-й подблок данных и (i+1)-й модификатор шифруют i-м подключом и в зашифрованном виде передают по открытым каналам связи, например по компьютерным сетям.

Приемник получает и дешифрует i-й блок, используя i-й подключ. После дешифрации i-й блок разделяют на i-й подблок данных и подблок модификатора ключа для следующего (i+1)-го блока данных. Затем приемник формирует новое значение подключа для (i+1)-го блока данных, используя i-й подключ и модификатор ключа для (i+1)-го блока данных. Таким образом, после передачи и приема очередного блока данных, закрытый ключ синхронно меняется у передатчика и приемника данных.

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

Закрытый ключ формируется из последовательности подключей, которые используются для шифрации отдельных блоков информации. Фактическая длина закрытого ключа будет существенно увеличена. Согласно формуле Шеннона, если размер блока данных не превышает размер ключа, то несанкционированная дешифрация (взлом) блока данных невозможна. Для несанкционированной дешифрации необходимо, чтобы объем зашифрованных данных был существенно больше, чем объем ключа. В предложенном способе закрытый ключ можно сделать достаточно большим, за счет модификатора. Таким образом, заявленный способ блочного шифрования данных с закрытым ключом обеспечивают высокий уровень криптостойкости. При этом заявленный способ можно использовать в компьютерных сетях.

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

Заявленный способ блочного шифрования сообщений и передачи шифрованных данных с закрытым ключом поясняются графическими материалами, где

- на фиг.1. представлена блок-схема реализации заявленного способа.

В соответствии с заявленным изобретением передатчик 1 посылает приемнику 2 зашифрованные блоки данных по открытому каналу 3 связи (фиг.1). Приемник 2 принимает зашифрованные блоки данных и посылает передатчику 1 по открытому каналу 3 связи ответные квитанции на каждый успешно принятый им блок данных. Передатчик 1 и приемник 2 последовательно реализуют сетевые протоколы следующих уровней: 4 прикладного, 5 транспортного, 6 сетевого, 7 канального и 8 физического. Передатчик 1 и приемник 2 выполнены по симметричной схеме. Протокол 4 прикладного уровня передатчика 1 формирует сообщение и заносит его в буфер 9. Это сообщение поступает на 5 транспортный уровень. Протокол 5 транспортного уровня передатчика 1 выполняет шифрование, а протокол 5 транспортного уровня приемника 2 выполняет обратную операцию по дешифрации блоков данных. Протокол 4 прикладного уровня приемника 2 получает от протокола 5 транспортного уровня принятое сообщение, которое записано в буфер 9.

Протокол 5 транспортного уровня передатчика 1 разделяет сообщение на совокупность отдельных k-разрядных подблоков 10 данных. Затем к каждому i-му (i=1, 2, 3…) подблоку 10 данных он присоединяет i-й подблок 11 служебной информации, где записан модификатор закрытого ключа для следующего (i+1)-го блока. Таким образом, i-й блок содержит два подблока: i-й подблок данных и i-й подблок служебной информации.

Закрытый ключ образуется как последовательность закрытых подключей для шифрации и дешифрации блоков данных. Перед передачей сообщения (i=0) проводят инициализацию закрытого ключа. Закрытый ключ формируют в блоке 12 и затем записывают в регистр 14. В качестве регистра 14, например, можно использовать сдвиговый регистр.

Закрытый подключ (i+1)-го блока 14 функционально зависит от закрытого подключа i-го блока 11 и i-го модификатора ключа, который образован последовательностью с выхода датчика 13 случайных чисел. Выход датчика 13 случайных чисел и выход блока 12 формирования закрытого ключа подсоединены к первым и вторым входам регистра 14. Выход регистра 14 через элемент задержки 15 подсоединен к первому входу шифратора 16. Подблок 10 данных и присоединенный к нему подблок 11 служебной информации поступают на второй вход шифратора 16, на выходе которого формируется i-й зашифрованный блок данных. Таким образом, в шифраторе 16 i-й блок шифруют i-м закрытым подключом. Выход шифратора 16 подсоединен к блоку 17 контроля, в котором формируются контрольные разряды для i-го блока. В качестве контрольных разрядов могут быть контрольная сумма блока, контрольный циклический код и др. Контрольные разряды присоединяются к i-му блоку.

Выход блока 17 контроля подсоединен к буферу 18 выходных данных, где записаны зашифрованные блоки данных, в том числе:

- блоки данных 19, которые еще не передавались по каналу связи,

- блоки данных 20, которые передаются по каналу связи,

- блоки данных 21, которые уже переданы и на которые получена квитанция.

Буфер 18 выходных данных подключен к регистру 22, где записан текущий блок для передачи по каналу связи.

На каждый успешно переданный блок передатчик 1 получают от приемника 2 квитанцию 23, в которой содержится номер блока. В соответствии с номером блока из квитанции передатчик 1 сдвигает указатель 24 успешно переданных блоков в буфере 18 выходных данных.

В приемнике 2 полученные по каналу связи зашифрованные блоки заносят в буфер 25, выход которого подсоединен к блоку 26 контроля. В блоке 26 контроля формируются контрольные разряды и сравниваются с соответствующими контрольными разрядами в составе i-го блока. Если разряды совпали, то блок принят правильно. В этом случае приемник 2 увеличивает на единицу номер правильно принятого блока, затем включает номер блока в квитанцию 28, после чего приемник 2 отправляет квитанцию 28 передатчику 1 по каналу 3 связи.

Выход блока 26 контроля подключен к первому входу дешифратора 27, причем для дешифрации i-го блока используют i-й подключ 14, который функционально зависит от ключа 12 и модификатора 11, полученного в составе предыдущего (i-1)-го блока.

В дешифраторе 27 блоки данных дешифрируют и выделяют в составе каждого блока подблок 10 данных и подблок 11 служебной информации. Из подблока служебной информации 11 выделяют модификатор ключа для следующего (i+1)-го блока данных.

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

Для большей наглядности сущность заявленного изобретения можно представить в форме следующего алгоритма.

1. В начале, перед передачей сообщения (при i=0) проводят инициализацию секретных закрытых ключей в передатчике 1 и приемнике 2. При инициализации вводят закрытый ключ 12. Этот ключ одинаковый у передатчика 1 и приемника 2. В передатчике сообщение разбивают на совокупность отдельных k-разрядных подблоков 10 данных в количестве N≥2. Размер подблока 10 данных должен быть меньше, чем длина закрытого подключа, который используют для его шифрации.

2. В передатчике 1 для каждого блока данных с помощью генератора случайных чисел 13 формируют модификатор закрытого ключа. (I+1)-й модификатор закрытого ключа заносят в i-й подблок служебной информации 11. I-й подблок 10 данных присоединяют к i-му подблоку 11 служебной информации. В результате получают i-й блок данных, состоящий из двух подблоков - i-го подблока 10 данных и (i+1)-го подблока 11 служебной информации.

3. I-й блок данных шифруют с использованием i-го закрытого подключа.

4. Над i-м закрытым подключом и i-м модификатором закрытого ключа выполняют функциональное преобразование и получают новое значение (i+1)-го закрытого подключа. Например, i-й модификатор закрытого ключа можно присоединить к i-му закрытому подключу, а потом результат сдвинуть на заданное число разрядов.

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

6. Зашифрованный i-й блок данных передают по открытому каналу связи. Повторяют шаги 2-5 для шифрации всех подблоков данных в составе сообщения. Зашифрованные данные передают по открытому каналу связи или по компьютерной сети, с использованием протокола транспортного уровня, например TCP/IP, см. фиг.1.

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

8. На каждый правильно принятый блок приемник 2 формирует и передает квитанцию 28. Квитанция содержит номер корректно принятого блока. Квитанция поступает в передатчик 1.

9. Затем приемник 2 выполняют дешифрацию i-го блока данных с использованием i-го подключа. В результате получают расшифрованный i-й блок данных. Этот блок данных разделяют на два подблока - i-й подблок 10 данных и i-й подблок 11 служебной информации. Подблок 10 данных заносят в буфер 9 для последующей сборки сообщения.

10. В i-том подблоке служебной информации выделяют модификатор закрытого ключа 11 для следующего (i+1)-го блока.

11. Формируют новый закрытый (i+1)-ый подключ в приемнике. Новый закрытый подключ для (i-1)-го блока функционально зависит от i-го закрытого подключа и модификатора закрытого ключа для (i+1)-го блока (который был получен на шаге 10).

12. Повторяют шаги 7-11 для всех блоков данных.

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

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

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

- потеряны или повреждены;

- задержаны;

- удвоены (утроены);

- доставлены не в том порядке, как были отправлены.

Надежная доставка гарантирует, что сообщение (как последовательность блоков) будет доставлено приемнику в том же виде, в каком оно было отправлено передатчиком.

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

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

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

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

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

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

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

3. при разрыве соединения обеспечивается восстановление эквивалентности закрытых ключей в передатчике и приемнике.

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

В заявленном способе блочного шифрования сообщений и передачи шифрованных данных с закрытым ключом может использоваться любой известный метод шифрации и дешифрации, например гаммирование и др. (Иванов М.А. Криптографические методы защиты информации в компьютерных системах и сетях. - М.: КУДИЦ-ОБРАЗ, 2001, с.34).

Протоколы компьютерных сетей прикладного, транспортного, сетевого, канального и физического уровней описаны в специальной литературе (Джеймс Ф. Куроуз, Кит В. Росс. Компьютерные сети. 2-е изд. СПб.: Питер, 2004, 765 с.).

Датчик случайных чисел может быть реализован как аппаратное устройство или программно (Ермаков В.Ф., Гудзовская В.А. Датчик случайных чисел с равномерным распределением повышенной точности. Патент РФ №2103726, G06F 7/58).

Для контроля правильности зашифрованных блоков передатчик формирует и присоединяет к каждому блоку контрольные разряды, например контрольную сумму, CRC (control redundancy code) - циклический избыточный код и др. (см. Генри С.Уоррен, мл. Алгоритмические трюки для программистов. - М.: Вильямс, 2007. - 288 с.). Контроль правильности приема зашифрованных блоков данных может выполняться в приемнике с помощью аппаратного устройства или с помощью программы, например с использованием алгоритма вычисления контрольной суммы, CRC и др. Приемник вычисляет контрольные разряды для принятых блоков и сравнивает их с контрольными разрядами, присоединенными к этому блоку. При совпадении этих контрольных разрядов приемник формирует и передает квитанцию. При несовпадении этих контрольных разрядов приемник не формирует и не передает квитанцию. Передатчик не получает квитанцию и повторяет передачу. Отличие заявленного способа от стандартного протокола TCP/IP состоит в том, как передатчик реагирует на отсутствие квитанции. В стандартном протоколе TCP/IP передатчик повторяет передачу, начиная с того блока, который не был подтвержден квитанцией, а также всех последующих блоков. В заявленном способе передатчик повторяет передачу, начиная с последнего блока, который был подтвержден квитанцией (и, следовательно, содержал правильно переданный модификатор закрытого ключа). В этом состоит новизна заявленного способа.

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

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

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

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

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

- для заявленного способа в том виде, как он охарактеризован в независимом пункте формулы изобретения, подтверждена возможность его осуществления с помощью указанных в заявке или известных из уровня техники на дату приоритета средств и методов;

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

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

1. Способ блочного шифрования сообщений и передачи шифрованных данных с закрытым ключом, включающий разбиение сообщения в передатчике на совокупность отдельных k-разрядных подблоков данных в количестве (N≥2), проведение инициализации закрытого ключа перед передачей сообщения (при i=0) в передатчике и приемнике одинаковым значением закрытого ключа, формирование из закрытого ключа последовательности подключей, с последующей шифрацией ими в передатчике соответствующих передаваемых блоков данных, поблочную передачу сформированных данных по каналу связи и последующую дешифрацию передаваемых блоков данных в приемнике посредством упомянутых подключей, в том числе различной модификации, отличающийся тем, что: формируют в передатчике (i)-й передаваемый блок данных из i-го подблока данных и присоединенного к нему (i)-го подблока служебной информации в виде (i+1)-го модификатора закрытого подключа, и шифруют его (i)-ым соответствующим подключом из совокупности подключей; формируют в передатчике контрольные разряды и присоединяют их к i-му передаваемому блоку данных; после этого (i)-й блок данных с контрольными разрядами передают в приемник и по контрольным разрядам проверяют правильность принятого (i)-го блока данных, после чего принятый (i)-й блок данных дешифруют (i)-м закрытым подключом и разделяют его на i-й подблок данных и (i)-й подблок служебной информации; в приемнике на каждый правильно принятый блок данных формируют квитанцию и передают ее по каналу связи в передатчик, а из (i)-го подключа и (i+1)-го модификатора подключа формируют значение следующего (i+1)-го закрытого подключа, с возможностью дешифрации им очередного (i+1)-го блока данных; после передачи и контроля правильности приема каждого i-го передаваемого блока данных в передатчике и приемнике синхронно устанавливают новое значение закрытого подключа из совокупности подключей закрытого ключа шифрования, после чего в передатчике возобновляют передачу следующего (i+1)-го блока данных с (i+2)-м модификатором закрытого подключа; причем из правильно принятых подблоков данных формируют принятое сообщение.

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