Способ шлифования n-битового блока данных м

Изобретение относится к области электросвязи, а именно к криптографическим устройствам и способам. Технический результат - повышение уровня защищенности информации, шифруемой с его применением. Способ шифрования n-битового блока данных М заключается в формировании секретного ключа путем генерации подключей Q и R и вспомогательных подключей в виде взаимно простых многоразрядных двоичных чисел m1 и m2, формировании вспомогательного n-битового блока данных Т, формировании n-битовой вспомогательной криптограммы См путем выполнения над М операции блочного шифрования Е в зависимости от Q по формуле CM=EQ(M), формировании n-битовой вспомогательной криптограммы CT путем выполнения над Т операции блочного шифрования Е в зависимости от R по формуле CT=ER(T), формировании криптограммы С в виде решения системы двух сравнений C≡CMmodm1 и С≡CTmodm2 с неизвестным С. В частном варианте реализации способа m1 и m2 - простые числа. 1 з.п. ф-лы.

 

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

Известны способы шифрования электронных сообщений, представленных в цифровом виде, а именно, в виде двоичных данных, выполняемые по секретному ключу, например способ, реализованный в виде алгоритма блочного шифрования RC5 [B.Schneier, "Applied Cryptography", Second Eddition, John Wiley & Sons, Inc., New York, 1996, 758 p.; см. C.344-346]. Способ включает в себя формирование секретного ключа в виде совокупности подключей, разбиение n-битового двоичного блока информации на n/2-битовые информационные подблоки А и В и поочередное преобразование этих подблоков. Подблоки преобразуются путем последовательного выполнения над ними линейных и нелинейных операций, в качестве которых используются операции суммирования по модулю 2m, где m=n/2=8, 16, 32, 64, поразрядного суммирования по модулю 2 и циклического сдвига влево, причем число бит, на которое сдвигается преобразуемый подблок, зависит от значения другого подблока. Последнее свойство является характерным для способа RC5 и определяет зависимость операции циклического сдвига на текущем шаге преобразования подблока от исходного значения входного блока данных. Подблок информации, например подблок В, преобразуют путем наложения подблока А на подблок В с помощью операции поразрядного суммирования по модулю 2 В:=В⊕А. После этого над подблоком В выполняют операцию циклического сдвига влево на число бит, равное значению подблока А: В:=В⊕А. Затем над подблоком В и одним из подключей К выполняют операцию суммирования по модулю 2m, где m - длина подблока в битах: В:=(В+К)mod2m. После этого аналогичным образом преобразуется подблок А. В зависимости от размеров ключа выполняется несколько таких итераций преобразования обоих подблоков. Данный способ обеспечивает достаточно высокую скорость шифрования при программной реализации. Недостатком способа шифрования RC5 является невысокая стойкость к дифференциальному и линейному видам криптоанализа [Kaliski B.S., Yin Y.L. On Differential and Linear Cryptanalysis of the RC5 Encryption Algorithm // Advances in Cryptology - CRYPTO 95. Proceedings. Springer-Verlag, 1995. P.171-184].

Известен способ шифрования n-битовых блоков данных [B.Schneier, "Applied Cryptography", Second Eddition, John Wiley & Sons, Inc., New York,1996, 758 p; см. С.193-194] путем генерации секретного ключа К, разбиения сообщения М на n-битовые блоки данных М1, М2, …, Mk, где k - число блоков в сообщении; n≥64 бит, и последующего шифрования блоков данных M1, M2, …, Mk, причем процесс шифрования выполняют следующим путем. Шифруют блок М1 по секретному ключу, получая блок криптограммы С1, затем, начиная со значения i=2 и до значения i=k, суммируют с помощью операции поразрядного суммирования блок криптограммы Ci-1 и блок Mi, полученный в результате суммирования, блок данных шифруют по секретному ключу, получая в результате текущий блок криптограммы Ci. Совокупность блоков криптограммы С1, С2, …, Ck представляет собой криптограмму, содержащую сообщение М в скрытом виде. Извлечение сообщения М из криптограммы практически возможно только с использованием секретного ключа, использованного при шифровании, за счет чего достигается защита информации, содержащейся в сообщении М, при его передаче по открытым каналам связи. Данный способ обеспечивает улучшение статистических свойств криптограммы, однако он имеет недостаток, состоящий в том, что теряется возможность независимого расшифрования отдельных блоков криптограммы.

Близким аналогом к заявляемому способу шифрования n-битового блока двоичных данных М является способ, описанный в патенте №2459275 [Молдовян А.А., Молдовян Н.А. Способ блочного шифрования сообщения М, представленного в двоичном виде. Патент №2459275. Опубл. 20.08.2012].

Наиболее близким по своей технической сущности к заявляемому способу шифрования n-битового блока двоичных данных М является частный вариант реализации способа по патенту №2459275, приведенный в примере 1 описания этого патента. В указанном частном способе шифрование 64-битового блока данных Mi осуществляют, выполняя следующую последовательность действий:

1. Формируют секретный ключ путем генерации подключей K, Q (Q≠К) и R (R≠К; R≠Q), где Q и R - 64-битовые подключи; К - 128-битовый подключ.

2. Формируют вспомогательный 64-битовый блок данных Ti.

3. Шифруют 64-битовый блок данных Mi с помощью процедуры блочного шифрования Е по подключу Q, в результате чего получают блок данных EQ(Mi), который представляет собой вспомогательную криптограмму CM, т.е. на этом шаге осуществляется формирование 64-битовой вспомогательной криптограммы CM=eq (Mi).

4. Шифруют вспомогательный 64-битовый блок данных Ti с помощью процедуры блочного шифрования Е по подключу R, в результате чего получают блок данных ER(Ti), который представляет собой вспомогательную криптограмму CT, т.е. на этом шаге осуществляется формирование 64-битовой вспомогательной криптограммы CT=Er(Ti).

5. Формируют 128-битовый блок данных Bi путем объединения вспомогательных криптограмм CM и CT (т.е. путем объединения преобразованных 64-битовых блоков Mi и Ti) в единый 128-битовый блок данных Bi=CM||CT=EQ(Mi)||ER(Ti).

6. Шифруют 128-битовый блок данных Bi с помощью процедуры блочного шифрования F по подключу К:

Ci=FK(Bi)=FK(EQ(Mi)||ER(Ti)).

Таким образом, способ-прототип включает в себя формирование секретного ключа, включающего подключи Q и R, формирование вспомогательного n-битового блока двоичных данных Т, формирование n-битовой вспомогательной криптограммы CM путем выполнения над М операции блочного шифрования Е в зависимости от Q по формуле CM=EQ(M), формирование n-битовой вспомогательной криптограммы CT путем выполнения над Т операции блочного шифрования Е в зависимости от R по формуле CT=ER(T), формирование криптограммы С в зависимости от секретного ключа и вспомогательных криптограмм CM и CT .

Способ-прототип позволяет реализовать защиту информации с использованием механизма обманных ловушек, который состоит в том, что потенциальному злоумышленнику подставляется часть секретного ключа, включающая подключ R, в качестве ключа расшифрования, а в качестве вспомогательного n-битового блока двоичных данных Т используется n-битовый блок фиктивного сообщения. Блок криптограммы С расшифровывается путем его преобразования по дополнительному ключу, приводящего к получению промежуточной 2n-битовой криптограммы С*, представляющей собой конкатенациию двух n-битовых вспомогательных криптограмм CM и CT: С*=CM||CT. Вспомогательные криптограммы CM и CT составляют правую и левую половины промежуточной 2n-битовой криптограммы С*. По подключу R выполняется расшифрование правой n-битовой вспомогательной криптограммы CT путем выполнения операции блочного преобразования D, обратной к операции блочного шифрования Е, т.е. по формуле Т=DR(CT). Аналогичная процедура расшифрования выполняется с использованием подключа К и левой n-битовой строки CM промежуточной 2n-битовой криптограммы С*=CM||CT. Недостатком способа прототипа является то, что различные части промежуточной 2n-битовой криптограммы С* используются при восстановлении блока данных М и блока фиктивного сообщения Т. Это демаскирует факт наличия в блоке криптограммы С блока данных М, что снижает уровень защищенности информации, шифруемой с использованием способа-прототипа.

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

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

Указанный технический результат достигается тем, что в способе шифрования n-битового блока данных М, заключающемся в формировании секретного ключа путем генерации подключей Q и R, формировании вспомогательного n-битового блока данных Т, формировании n-битовой вспомогательной криптограммы CM путем выполнения над М операции блочного шифрования Е в зависимости от Q по формуле CM=EQ(М), формировании n-битовой вспомогательной криптограммы CT путем выполнения над Т операции блочного шифрования Е в зависимости от R по формуле CT=ER(T), формировании криптограммы С в зависимости от секретного ключа и вспомогательных криптограмм CM и CT, кроме того, при формировании секретного ключа дополнительно генерируют вспомогательные подключи в виде взаимно простых многоразрядных двоичных чисел m1 и m2, а криптограмму С формируют в виде решения системы двух сравнений С≡CM mod m1 и С≡CT mod m2 с неизвестным С.

Новым также является то, что, по крайней мере, одно из многоразрядных двоичных чисел m1 и m2 является простым.

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

Благодаря указанной новой совокупности существенных признаков за счет формирования n-битовых вспомогательных криптограмм CM и CT обеспечивается использование всех битов вспомогательной криптограммы при выполнении процедуры расшифрования как блока данных М, так и вспомогательного n-битового блока данных Т, в качестве которой может быть применен n-битовой блок некоторого фиктивного сообщения. Это обеспечивает эффективную маскировку факта наличия n-битового блока данных М в блоке криптограммы С при ее расшифровании криптограммы С потенциальным нарушителем по подключам Q и m2, поскольку процедура расшифрования выполняется по одной и той же формуле как при расшифровании блока данных М, так и при расшифровании блока фиктивного сообщения Т.

Корректность заявленного способа шифрования n-битового блока двоичных данных М состоит в том, что по криптограмме С может быть восстановлен n-битовый блок двоичных данных М по подключам Q и m1 по формуле M=DQ(C mod m1), где D - операция блочного расшифрования, обратная операции блочного шифрования Е, и вспомогательный n-битовый блок данных Т по подключам R и m2 по формуле Т=DR(Cmodm2).

Действительно, при выполнении процедуры расшифрования по подключам Q и m1 имеем

C mod m 1 = C M D ( C mod m 1 ) Q = D Q ( C M ) = D Q ( E Q ( M ) ) = E Q 1 ( E Q ( M ) ) = M , ,

а при выполнении процедуры расшифрования по подключам R и m2 имеем

C mod m 2 = C T D ( C mod m 2 ) R = D R ( C T ) = D R ( E R ( T ) ) = E R 1 ( E R ( T ) ) = T ,

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

Пример 1. Шифрование 64-битового блока двоичных данных М (n=64). Формируют секретный ключ в виде подключей Q, R, m1 и m2, причем подключ Q формируют в виде 128-битовой строки, представляющей собой конкатенацию двух нечетных 64-разрядных двоичных чисел q1 и q2, т.е. Q=q1||q2, где знак || обозначает операцию конкатенации, подключ R формируют в виде 128-битовой строки, представляющей собой конкатенацию двух нечетных 64-битовых двоичных чисел r1 и r2, т.е. R=r1||r, подключи m1 и m2 формируют в виде двух случайных 65-битовых двоичных чисел, удовлетворяющих условию взаимной простоты, т.е. их наибольший общий делитель равен единице. Затем формируют вспомогательный 64-битовый блок данных Т и 64-битовую вспомогательную криптограмму CM путем выполнения над блоком данных М операции блочного шифрования Е в зависимости от подключа Q=q1||q2 по формуле CM=EQ(M), где операция блочного шифрования описывается следующим алгоритмом:

1. Установить значение счетчика i←0 и переменной CM←М, где знак ← обозначает операцию присваивания.

2. Сформировать 64-битовую строку CM в виде МДЧ, вычисленного по формуле CM←(q1(CM⊕q2)mod264)<29<, где (…)<29< обозначает операцию циклического сдвига битовой строки (...) на 29 бит влево; знак ⊕ обозначает операцию поразрядного суммирования по модулю 2.

3. Преобразовать 64-битовую строку CM по формуле CM←(q2(CM⊕q1)mod264)<17<, где (…)<17< обозначает операцию циклического сдвига битовой строки (…) на 17 бит влево.

4. Прирастить значение счетчика i: i←i+1. Если i<16, то перейти к шагу 2, в противном случае текущее значение CM взять в качестве выходного значения операции блочного шифрования EQ, выполненной над 64-битовым блоком двоичных данных М.

Затем формируют 64-битовую вспомогательную криптограмму CT путем выполнения над вспомогательным 64-битовым блоком двоичных данных Т операции блочного шифрования Е в зависимости от подключа R=r1||r2 no формуле CT=ER(T) в соответствии со следующим алгоритмом:

1. Установить значение счетчика i←0 и переменной CT←Т.

2. Сформировать 64-битовую строку CT в виде МДЧ, вычисленного по формуле CT←(r1(CT⊕r2)mod264)<29<.

3. Преобразовать 64-битовую строку CT по формуле CT←(r2(CT⊕r1)mod264)<17<.

4. Прирастить значение счетчика i: i←i+1. Если i<16, то перейти к шагу 2, в противном случае текущее значение CT взять в качестве выходного значения операции блочного шифрования ER, выполненной над вспомогательным 64-битовым блоком данных Т.

После формирования вспомогательных криптограмм CM и CT, рассматривая их как 64-битовые МДЧ, формируют криптограмму С в виде решения следующей системы из двух линейных сравнений с неизвестным значением С:

{ C C M mod m 1 C C T mod m 2 .

Поскольку m1 и m2 представляют собой 65-битовые взаимно простые числа, то m1>CM; m2>CT и в соответствии с китайской теоремой об остатках указанная система имеет единственное решение С<m1m2. Данное решение берется в качестве криптограммы С и вычисляется по следующей формуле [Молдовян Н.А. Теоретический минимум и алгоритмы цифровой подписи. СПб., БХВ-Петербург, 2010. - 304 с.; см. С.15-16]:

C = ( C M m 2 ( m 2 1 mod m 1 ) + C T m 1 ( m 1 1 mod m 2 ) ) mod m 1 m 2 .

Доказательство корректности данного частного варианта реализации заявленного способа шифрования n-битового блока двоичных данных М доказывается аналогично описанному ранее общему доказательству корректности заявленного способа с учетом того, что для нечетных МДЧ q1, q2, r1, r2 по модулю 2 существуют и легко вычисляются по расширенному алгоритму Евклида соответствующие обратные значения q 1 1 , q 2 1 , r 1 1 , r 2 1 , а операция блочного расшифрования DQ(CM), обратная операции блочного шифрования EQ(M), реализуется следующей процедурой преобразования:

1. Установить значение счетчика i←0 и переменной М←CM.

2. Преобразовать 64-битовую строку М, выполняя последовательно вычисления по формулам М←M>17>, M M q 2 1 mod 2 64 и M←M⊕q1⊕, где (…)>17> обозначает операцию циклического сдвига битовой строки (…) на 17 бит вправо.

3. Преобразовать 64-битовую строку М, выполняя последовательно вычисления по формулам М<-M>29>, M<-Mq\mod 2 и M<-M+***q2, где (...)>29>обозначает операцию циклического сдвига битовой строки (...) на 29 бит вправо.

4. Прирастить значение счетчика i: i←i+1. Если i<16, то перейти к шагу 2, в противном случае текущее значение М взять в качестве выходного значения операции DQ, выполненной над 64-битовой вспомогательной криптограммой CM.

Аналогично записывается процедура для реализации операции блочного расшифрования DR(CT), обратная операции блочного шифрования ER(Т).

Рассмотренная частная реализация заявленного способа может быть применена для совместного шифрования двух сообщений Message и Text, каждое из которых, например, имеет размер 64 кбит. Сообщение Message разбивается на 64-битовые блоки данных M1, M2, …, Mw, где w=1000. Сообщение Text разбивается на 64-битовые блоки данных Т1, Т2, …, Tw. Поочередно для значений i=1, 2, …, 1000 пары блоков данных (Ml, Ti) совместно шифруются в соответствии с описанным примером реализации заявленного способа, в результате чего формируется шифртекст в виде последовательности 128-битовых криптограмм (C1||C2)i, i=1, 2, …, 1000.

Пример 2. Шифрование 128-битового блока двоичных данных М (n=128). Формируют секретный ключ в виде подключей Q, R, m1 и m2, причем подключ Q формируют в виде 256-битовой строки, представляющей собой конкатенацию двух нечетных 128-разрядных двоичных чисел q1 и q2, т.е. Q=q1||q2, где знак || обозначает операцию конкатенации, подключ R формируют в виде 256-битовой строки, представляющей собой конкатенацию двух нечетных 64-битовых двоичных чисел r1 и r2, т.е. R=r1||r, подключи m1 и m2 формируют в виде двух случайных простых 129-битовых двоичных чисел, удовлетворяющих условию m1≠m2 (в силу последнего условия m1 и m2 являются взаимно простыми МДЧ). Затем формируют вспомогательный 128-битовый блок данных Т и 128-битовую вспомогательную криптограмму CM путем выполнения над блоком данных М операции блочного шифрования Е в зависимости от подключа Q=q1||q2 по формуле CM=EQ(M), где операция блочного шифрования описывается следующим алгоритмом:

1. Установить значение счетчика i←0 и переменной CM←М, где знак <- обозначает операцию присваивания.

2. Сформировать 128-битовую строку CM в виде МДЧ, вычисленного по формуле CM←(q1(CM⊕q2)mod2128)<80<, где (…)<80< обозначает операцию циклического сдвига битовой строки (…) на 80 бит влево.

3. Преобразовать 128-битовую строку CM по формуле CM←(q2(CM⊕q1)mod2128)<40<, где (…)<40< обозначает операцию циклического сдвига битовой строки (…) на 40 бит влево.

4. Прирастить значение счетчика i: i←i+1. Если i<20, то перейти к шагу 2, в противном случае текущее значение CM взять в качестве выходного значения операции блочного шифрования EQ, выполненной над 128-битовым блоком двоичных данных М.

Затем формируют 128-битовую вспомогательную криптограмму CT путем выполнения над вспомогательным 128-битовым блоком двоичных данных Т операции блочного шифрования Е в зависимости от подключа R=r1||r2 по формуле CT=ER(T) в соответствии со следующим алгоритмом:

1. Установить значение счетчика i←0 и переменной CT←Т.

2. Сформировать 128-битовую строку CT в виде МДЧ, вычисленного по формуле CT←(r1(CT⊕r2)mod2128)<80<.

3. Преобразовать 128-битовую строку CT по формуле CT←(r2(CT⊕r1)mod2128)<40<.

4. Прирастить значение счетчика i: i←i+1. Если i<20, то перейти к шагу 2, в противном случае текущее значение CT взять в качестве выходного значения операции блочного шифрования ER, выполненной над вспомогательным 128-битовым блоком данных Т.

После формирования вспомогательных криптограмм CM и CT, рассматривая их как 64-битовые МДЧ, формируют криптограмму С в виде решения следующей системы из двух линейных сравнений с неизвестным значением С:

{ C C M mod m 1 C C T mod m 2

Поскольку m1 и m2 (m2≠m1) представляют собой 129-битовые простые числа, то m1>CM, m2>CT и в соответствии с китайской теоремой об остатках указанная система имеет единственное решение С<m1m2. Данное решение берется в качестве криптограммы С и вычисляется по следующей формуле

C = ( C M m 2 ( m 2 1 mod m 1 ) + C T m 1 ( m 1 1 mod m 2 ) ) mod m 1 m 2

Доказательство корректности данного частного варианта реализации заявленного способа шифрования n-битового блока двоичных данных М доказывается аналогично описанному ранее общему доказательству корректности заявленного способа с учетом того, что для нечетных МДЧ q1, q2, r1, r2 по модулю 2 существуют и легко вычисляются по расширенному алгоритму Евклида соответствующие обратные значения q 1 1 , q 2 1 , r 1 1 , r 2 1 , а операция блочного расшифрования dq(cm), обратная операции блочного шифрования EQ(M), реализуется следующей процедурой преобразования:

1. Установить значение счетчика i←0 и переменной М←CM.

2. Преобразовать 128-битовую строку М, выполняя последовательно вычисления по формулам M←M<40< M M q 2 1 mod 2 128 и М←M⊕*q1⊕, где (…)>40> обозначает операцию циклического сдвига битовой строки (…) на 40 бит вправо.

3. Преобразовать 128-битовую строку М, выполняя последовательно вычисления по формулам М←M>80> M M q 1 1 mod 2 128 и M←M⊕q2, где (…)>80> обозначает операцию циклического сдвига битовой строки (…) на 80 бит вправо.

4. Прирастить значение счетчика i: i←i+1. Если i<20, то перейти к шагу 2, в противном случае текущее значение М взять в качестве выходного значения операции DQ, выполненной над 64-битовой вспомогательной криптограммой CM.

Рассмотренная частная реализация заявленного способа может быть применена для совместного шифрования двух сообщений Message и Text, каждое из которых, например, имеет размер 128 кбайт. Сообщение Message разбивается на 128-битовые блоки данных М1, M2, …, Mw, где w=8000. Сообщение Text разбивается на 128-битовые блоки данных Т1, Т2, …, Tw. Поочередно для значений i=1, 2, …, 8000 пары блоков данных (Ml, Tl) совместно шифруются в соответствии с описанным примером реализации заявленного способа, в результате чего формируется шифртекст в виде последовательности 256-битовых криптограмм (C1||C2)l, i=1, 2, …, 8000.

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

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

Приложение 1

Толкование терминов, используемых в описании заявки

1. Двоичный цифровой электромагнитный сигнал - последовательность битов в виде нулей и единиц.

2. Параметры двоичного цифрового электромагнитного сигнала: разрядность и порядок следования единичных и нулевых битов.

3. Разрядность двоичного цифрового электромагнитного сигнала - общее число его единичных и нулевых битов, например, число 10011 является 5-разрядным.

4. Битовая строка (БС) - двоичный цифровой электромагнитный сигнал, представляемый в виде конечной последовательности цифр «0» и «1».

5. Секретный ключ - двоичный цифровой электромагнитный сигнал, используемый для формирования подписи к заданному электронному документу. Секретный ключ представляется, например, в двоичном виде как последовательность цифр «0» и «1».

6. Многоразрядное двоичное число (МДЧ) - двоичный цифровой электромагнитный сигнал, интерпретируемый как двоичное число и представляемый в виде последовательности цифр «0» и «1», т.е. в виде битовой строки.

7. Сравнимыми по модулю некоторого числа m называются числа, разность которых делится на число m без остатка или, что то же самое, числа, при делении которых на число m получаются равные остатки. Сравнимость двух МДЧ а и b по модулю m обозначается как а≡bmodm или а≡b(modm), а также как равенство по модулю, т.е. а=bmodm или а=b(modm).

8. Операция умножения двух МДЧ по модулю m выполняется как обычное алгебраическое умножение МДЧ с последующим взятием остатка от деления полученного результата на модуль m.

9. Операция сложения двух МДЧ по модулю m выполняется как обычное алгебраическое сложение МДЧ с последующим взятием остатка от деления полученного результата на модуль m.

10. Каждому МДЧ а, взаимно простому с модулем m, может быть сопоставлен в соответствие единственный элемент а-1, называемый обратным элементом по отношению к данному элементу, такой, что произведение a-1a (а значит и аа-1) сравнимо с единицей по модулю m. Для вычисления обратных значений а-1 по модулю m используется расширенный алгоритм Евклида, детально описанный в книге [Молдовян Н.А. Молдовян А.А. Введение в криптосистемы с открытым ключом. СПб., БХВ - Петербург, 2005. - 288 с.; см. С.78-79].

11. Операция деления МДЧ а на МДЧ b по модулю m выполняется как операция умножения по модулю m МДЧ а на МДЧ b-1, которое является обратным к МДЧ b по модулю m.

12. Операции сложения и умножения по модулю m являются ассоциативными и коммутативными, а также операция умножения по модулю m по отношению к умножению по модулю m является дистрибутивной.

13. Система из двух линейных уравнений по модулю m с двумя неизвестными имеет единственное решение, если выполняется условие взаимной простоты коэффициентов и модуля m и условие взаимной простоты главного определителя системы и модуля m.

1. Способ шифрования n-битового блока данных М, заключающийся в формировании секретного ключа путем генерации подключей Q и R, формировании вспомогательного n-битового блока данных T, формировании n-битовой вспомогательной криптограммы CM путем выполнения над М операции блочного шифрования Е в зависимости от Q по формуле CM=EQ(М), формировании n-битовой вспомогательной криптограммы CТ путем выполнения над Т операции блочного шифрования Е в зависимости от R по формуле CT=ER(t), формировании криптограммы С в зависимости от секретного ключа и вспомогательных криптограмм CM и CT, отличающийся тем, что при формировании секретного ключа дополнительно генерируют вспомогательные подключи в виде взаимно простых многоразрядных двоичных чисел m1 и m2, а криптограмму С формируют в виде решения системы двух сравнений С≡CMmodm1 и С≡CTmodm2 с неизвестным С.

2. Способ по п.1, отличающийся тем, что, по крайней мере, одно из многоразрядных двоичных чисел m1 и m2 является простым.



 

Похожие патенты:

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

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

Способ шифрования с использованием ключа K шифрования с длиной k ключа по меньшей мере одного сообщения M, содержащего однородно распределенные символы, причем k битов шифруют (830) из сообщений длиной по меньшей мере k битов, в то время как более короткие сообщения удлиняются (840), например, посредством заполнения незначащей информацией или последовательного соединения для получения удлиненного сообщения длиной по меньшей мере k битов перед шифрованием.

Изобретение относится к вычислительной технике и электросвязи, предназначено для решения задач защиты компьютерной информации. Наиболее предпочтительной областью использования изобретения является построение генераторов псевдослучайных чисел (ГПСЧ), а также криптографических примитивов хеширования, блочного и поточного шифрования. Техническим результатом изобретения является повышение криптостойкости и увеличение быстродействия итеративного криптографического преобразования данных. Указанный технический результат при осуществлении изобретения достигается тем, что в итеративном криптографическом преобразовании данных, включающем формирование из секретного ключа с помощью процедуры разворачивания ключа последовательности раундовых ключей K1, K2,…, KR, где R - число раундов преобразования; формирование по входному блоку М блока С в соответствии с выражением С:=М; выполнение R раундов преобразования, при этом преобразование блока данных на i-м раунде записывается в виде С:=Е(С, Ki), где Е() - раундовая функция преобразования, Ki - раундовый ключ, используемый на i-м раунде, полученное значение С:=Е(С, Ki) при i<R поступает на вход следующего раунда, а результат действия последнего раунда С:=Е(С, KR) является результатом преобразования; дополнительно из каждого раундового ключа Ki формируют N раундовых подключей Ki1, Ki2,…, KiN, где N - число траекторий раундовых преобразований в каждом раунде; при выполнении каждого i-го раунда создают N копий Сi1, Ci2,…, СiN входного блока данных С, каждую копию Cij подвергают стохастическому преобразованию Eij, которое записывается в виде Cij:=Eij(Cij, Kij), преобразованные значения Cij поступают на входы комбинационной схемы F, функцией которой является параллельная композиция различных траекторий раундовых преобразований, результат действия комбинационной схемы С:=F(Ci1, Сi2,…, CiN) объявляют результатом раунда. В частном случае стохастическое преобразование Еij включает представление входного блока Cij, промежуточных результатов преобразования и раундового подключа Kij в виде квадратного массива бит размерностью 8×8; сложение по модулю два (XOR) входного блока Cij и раундового подключа Kij, разбиение результата на строки r1, r2,…, r8 и выполнение для каждой строки операции замены с использованием таблицы S размерностью 8×256; разбиение результата на столбцы с1, с2,…, с8 и выполнение для каждого столбца операции замены с использованием таблицы S размерностью 8×256. Благодаря совокупности перечисленных решений увеличивается криптостойкость преобразования за счет выполнения последовательной и параллельной композиции раундовых преобразований и повышается быстродействие за счет появления возможности сокращения числа раундов и выполнения всех раундовых преобразований Cij:=Eij(Cij, Kij) параллельно.

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

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

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

Изобретение относится к электросвязи, а именно к криптографическим устройствам и способами. .

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

Изобретение относится к передаче данных, а именно к формированию ключа шифрования/дешифрования (K) для передачи данных. .

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

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

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

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

Изобретение относится к шифровальным устройствам на основе стандарта шифрования данных, более конкретно к шифрованию данных по стандарту ГОСТ 28147-89 и AES. Техническим результатом предлагаемого изобретения является сокращение объема памяти, необходимой для шифрования данных по стандартам ГОСТ 28147-89 и AES, т.е.

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

Изобретение относится к области электросвязи, а именно к криптографическим способам. .

Изобретение относится к области электросвязи, а именно к области криптографических устройств и способов. .

Изобретение относится к устройствам обработки шифрования. .

Изобретение относится к области криптографической защиты электронных данных, передаваемых по телекоммуникационным сетям и сетям ЭВМ. Технический результат - защита от квантовых атак. Способ шифрования с защитой от квантовых атак на основе циклов функций Вебера использует циклы функций Вебера для эллиптических кривых на число, сравнимое с 1 по модулю 8, а циклы определяются изогениями Элкиса малых степеней. Очередное значение функции Вебера находится как корень целочисленного симметрического полинома. Секретным ключом является список целых чисел (N1, …, Nk), где Ni - число шагов, выполняемых по циклу функций Вебера для изогении Элкиса степени li, открытым ключом является значение функции Вебера последней изогении. При первом вычислении функции Вебера для изогении степени l задается положительное направление на цикле. Для этого выбирается ядро изогении как делитель степени (l-1)/2 l-го полинома деления, определяющий минимальную степень расширения, в котором лежат точки ядра и по трем старшим коэффициентам полинома, задающего ядро, вычисляются коэффициенты изогенного образа эллиптической кривой. Шаги по циклу выполняются в соответствии со знаком числа Ni. 2 з.п. ф-лы, 2 ил.
Наверх