Способ шифрования двоичной информации и устройство для осуществления способа - "албер"
Реферат
Изобретение относится к области криптографических преобразований и может быть использовано в связных, вычислительных и информационных системах для криптографического закрытия двоичной информации. Технический результат - шифрование информации блоками различной длины с использованием ключа такой длины, которая обеспечивает невозможность его опробования за разумное время. Устройство содержит np-разрядный ключевой регистр 1, mp-разрядный информационный регистр 2, первый, второй, третий и четвертый сумматоры 3, 5, 7, 9, блоки 4, 6, 8 p-разрядных преобразований f, q, h. 3 с.п. ф-лы, 1 ил.
Изобретение относится к области криптографических преобразований и может быть использовано в связных, вычислительных и информационных системах для криптографического закрытия двоичной информации.
Техническим результатом изобретения является шифрование информации блоками различной длины с использованием ключа такой длины, которая обеспечивает невозможность его опробования за разумное время. Известен способ шифрования, предназначенный для криптографической защиты информации в вычислительных системах и заключающийся в многократном прибавлении ключа к преобразуемой информации с последующим применением подстановочных и перестановочных преобразований. С использованием этого способа построена система Lucifer фирмы IBM и стандарт шифрования данных национального бюро стандартов США. В известном стандарте шифрования данных к содержимому двух 32-разрядных ячеек 64-разрядного информационного регистра 16 раз прибавляют по модулю 2 содержимое 64-разрядного ключевого регистра с последующим воздействием на 32-разрядную сумму 32-разрядным функциональным преобразованием. Известный стандарт шифрования данных шифрует информацию блоками по 64 бита. При зашифровании блоков меньшей длины длина зашифрованного сообщения (64 бита) больше длины открытого сообщения. Кроме того, в известном стандарте используется слишком маленький ключ, что позволяет вскрыть его простым перебором за разумное время. Технический результат достигается тем, что в способе шифрования двоичной информации, заключающемся в зависящем от 64-разрядного ключа преобразовании двух 32-разрядных ячеек 64-разрядного информационного регистра путем 16-кратного выполнения набора операций, включающего поразрядное сложение по модулю 2 содержимого 32-разрядных ячеек информационного регистра с содержимым 32-разрядных ячеек ключевого регистра и последующее функциональное преобразование полученной 32-разрядной суммы, преобразуют m1 p-разрядных (P2) ячеек mp-разрядного информационного регистра путем n-кратного выполнения следующих операций: к содержимому m-й p-разрядной ячейки информационного регистра (либо к 0, если m=1) прибавляют (например, по модулю 2, либо 2p) содержимое второй p-разрядной ячейки информационного регистра (либо 0, если m= 1,2) к полученной сумме прибавляют (например, по модулю 2, либо 2p) содержимое очередной p-разрядной ячейки ключевого регистра, результат преобразуют блоком p-разрядного функционального преобразования f, к полученному результату прибавляют (например, по модулю 2, либо 2p) содержимое r-й (3rm-1) ячейки информационного регистра (либо 0, если m=1, 2, 3) полученную сумму преобразуют блоком p-разрядного функционального преобразования q, к результату прибавляют (например, по модулю 2, либо 2p) содержимое первой p-разрядной ячейки информационного регистра, вновь полученную сумму преобразуют блоком p-разрядного функционального преобразования h и результат преобразования записывают в m-ю p-разрядную ячейку информационного регистра, содержимое которого предварительно сдвигают на p разрядов в сторону младших разрядов с потерей p младших разрядов. Прибавление нуля к p-разрядному числу не изменяет это число и поэтому равносильно отсутствию операции прибавления. Среди функциональных преобразований f, q, h могут быть тождественные, то есть, не изменяющие преобразуемое p-разрядное число. Использование тождественного функционального преобразования равносильно фактическому отсутствию данного преобразования. На чертеже представлена блок-схема устройства шифрования двоичной информации. Устройство шифрования двоичной информации содержит np-разрядный ключевой регистр 1, mp-разрядный информационный регистр 2, первый p-разрядный сумматор 3, блок 4 p-разрядного функционального преобразования f, второй p-разрядный сумматор 5, блок 6 p-разрядного функционального преобразования q, третий p-разрядный сумматор 7, блок 8 p-разрядного преобразования h, четвертый p-разрядный сумматор 9. Сумматор, в котором задействован только один вход не изменяет информацию, поступающую на этот вход. Это равносильно отсутствию данного сумматора. Поэтому при m=3 фактически отсутствуют третий сумматор 5, при m=2 отсутствуют два сумматора, третий сумматор 5 и первый сумматор 9, а при m=1 отсутствуют целых три сумматора 3, 5, 9. Блоки 4, 6, 8 могут реализовать любые p-разрядные функциональные преобразования f, q, h в том числе, и тождественные, не изменяющие поступающие на их вход p-разрядные числа. Этот случай равносилен отсутствию данного блока функционального преобразования. Поэтому из трех блоков 4, 6 и 8 p-разрядных функциональных преобразований f, q, h фактически может присутствовать лишь два блока и даже один. Содержимое np-разрядного ключевого регистра 1 можно формировать из tp-битного ключа при t<n, например, повторным использованием p-битных частей ключа. Устройство шифрования двоичной информации работает следующим образом. При m=1 p бит исходной информации записывают в p-разрядный информационный регистр 2. Устройство шифрования работает в n циклов, после которых содержимое p-разрядного информационного регистра 2 является результирующей информацией. Все циклы работы устройства шифрования идентичны. В i-й цикл, Iin содержимое i-й p-разрядной ячейки ключевого регистра 1 преобразуют блоками 4 и 6 функциональных преобразований f, q к результату прибавляют содержимое p-разрядного информационного регистра 2, полученную сумму преобразуют блоком 8 функционального преобразования h и результат записывают в p-разрядный информационный регистр 2. Если содержимое p-разрядного информационного регистра 2 в i-й цикл обозначить через a(i), то в i+1 цикл содержимое p-разрядного информационного регистра 2 станет: a(i+1)=h(q(f(y))+a(i)) где + сложение, например, по модулю 2, либо 2p a(i)(-{0,1.2p-1)} iI. При m=2 2p бит исходной информации записывают в 2p-разрядный информационный регистр 2. Устройство шифрования работает n циклов, после которых содержимое 2p-разрядного информационного регистра 2 является результирующей информацией. Все циклы работы устройства шифрования идентичны. В i-й цикл 1in, к содержимому второй p-разрядной ячейки 2p-разрядного информационного регистра 2 прибавляют содержимое i-й p-разрядной ячейки ключевого регистра 1, сумму преобразуют блоками 4 и 6 функциональных преобразований f, g к результату прибавляют содержимое первой p-разрядной ячейки 2p-рязрядного информационного регистра 2, полученную сумму преобразуют блоком 8 функционального преобразования h и результат записывают на место второй p-разрядной ячейки информационного регистра 2, содержимое которого предварительно сдвигают на p двоичных разрядов в сторону младших разрядов (вправо). Если содержимое 2p-разрядного информационного регистра 2 в i цикл обозначить через ((a2(i), a1(i)), то в i+1 цикл содержимое 2p-разрядного информационного регистра 2 станет: a2(i+1)=h(q(f(a2(i)+yi))+a1(i)), a1(i+1)=a2(i), где + сложение например, по модулю 2, либо 2p aj(i)(-{0,1,2p-1)} i, j1 При m=3 3p бит исходной информации записывают в 3p-разрядный информационный регистр 2. Устройство шифрования работает n циклов, после которых содержимое 3p-разрядного информационного регистра 2 является результирующей информацией. Все циклы работы устройства шифрования идентичны. В i-й цикл, 1in к сумме содержимых второй и третьей p-разрядных ячеек 3p-разрядного информационного регистра 2 прибавляют содержимое i-й p-рязрядной ячейки ключевого регистра 1, сумму, преобразуемую блоками 4 и 8 функциональных преобразований f и g к результату прибавляют содержимое первой p-разрядной ячейки информационного регистра 2, полученную сумму преобразуют блоком 8 функционального преобразования h и результат записывают на место третьей p-разрядной ячейки информационного регистра 2, содержимое которого предварительно сдвигают на p разрядов в сторону младших разрядов (вправо). Если содержимое 3p-разрядного информационного регистра 2 в i-й цикл обозначить через (a3(i), a2(i), a1(i) то в i+1 цикл содержимое информационного регистра 2 станет: a3(i+1)=h(q(f(a3(i)+a2(i)+yi))+a1(i)), a2(i+1)=a3(i), a1(i+1)=a2(i), При m4 mp бит исходной информации записывают в информационный регистр 2. Устройство шифрования работает в n циклов, после которых содержимое mp-разрядного информационного регистра 2 является результирующей информацией. Все циклы работы устройства шифрования идентичны. В i-й цикл, 1in, к сумме содержимых второй и m-й p-разрядных ячеек информационного регистра 2 прибавляют содержимое i p-разрядной ячейки ключевого регистра 1, сумму преобразуют блоком 4 функционального преобразования f, к результату прибавляют содержимое 2-й (3rm-1) p-разрядной ячейки информационного регистра 2, полученную сумму преобразуют блоком 6 функционального преобразования g, к результату прибавляют содержимое первой p-разрядной ячейки информационного регистра 2, сумму преобразуют блоком 8 функционального преобразования h и результат записывают на место m-й p-разрядной ячейки информационного регистра 2, содержимое которого предварительно сдвигают на p разрядов в сторону младших разрядов (вправо). В i+1 цикл содержимое mp-разрядного информационного регистра 2 станет: am(i+1)=h(q(f(am(i) + a2(i) + yi + ar(i)) + a1(i)), am-1(i+1)=am(i), a1(i+1)=a2(i), При этом p8 функциональные преобразования f, g, h можно реализовать таблично с использованием памяти объема 2pp-разрядных ячеек для каждого преобразования. При p>8 табличное задание функциональных преобразований f, g, h требует довольно большого, а возможно и непомерного объема памяти. В этом случае p-разрядное функциональное преобразование можно составить из нескольких p'-разрядных преобразований, где p=sp' например, так: f=fQATxQBf", где Tx операция циклического сдвига p-разрядного числа на x=0 разрядов в сторону старших разрядов: QA(a)=a+A, QB(a)=a+B, a=(a1,as) (-{0, 1,2p-1}); p'-разрядное функциональные преобразования. То есть, преобразуемое p-разрядное число разбивают на s' p'-разрядных частей, каждую из которых преобразуют соответствующих p'-разрядным преобразованием к p-разрядному результату преобразований прибавляют (например, по модулю 2p)- p-разрядную константу A, полученную сумму циклически сдвигают на X0 разрядов в сторону старших разрядов, снова прибавляют (например, по модулю 2p p-разрядную константу B, полученную p-разрядную сумму разбивают на s' p'-разрядных частей, каждую из которых преобразуют соответствующим p'-разрядных частей, каждую из которых преобразуют соответствующим p'-разрядным преобразованием Значения s и p' выбираются с учетом доступного объема памяти (sp'2p'бит) для реализации результирующего функционального преобразования f. Если x=0, то операция циклического сдвига фактически отсутствует. Если A=0, либо B=0, то отсутствует операция прибавления соответствующей константы. Функции можно выбрать совпадающими. Выбор тождественных функций равносилен отсутствию этих функций.Формула изобретения
1. Способ шифрования двоичной информации, при котором последовательно 16 раз суммируют по модулю 2 32-разрядные символы 64-разрядного информационного регистра и 32-разрядные символы ключевого регистра и затем функционально преобразуют полученные 32-разрядные суммы, отличающийся тем, что n раз выполняют следующую последовательность операций: к m-му p-разрядному символу mp-разрядного информационного регистра, где m 1, p 2, либо к 0, m 1, прибавляют второй p-разрядный символ mp-разрядного информационного регистра, либо 0, если m 1,2, к полученной сумме прибавляют очередной p-разрядный символ ключевого регистра, результат преобразуют блоком p-разрядного функционального преобразования f, к полученному результату прибавляют 2-й p-разрядный символ mp-разрядного информационного регистра, где 3 r m 1, либо 0, если m 1, 2, 3, полученную сумму преобразуют блоком p-разрядного функционального преобразования q, к результату прибавляют первый p-разрядный символ mp-разрядного информационного регистра, вновь полученную сумму преобразуют блоком p-разрядного функционального преобразования h и результат преобразования записывают на место m-го p-разрядного символа mp-разрядного информационного регистра, предварительно сдвинутого на p-разрядов в сторону младших разрядов с потерей p младших разрядов. 2. Устройство шифрования двоичной информации, содержащее 64-разрядные ключевой и информационные регистры, блок 32-разрядного функционального преобразования f и 32-разрядный сумматор по модулю 2, отличающееся тем, что в нем ключевой регистр выполнен в виде np-разрядного ключевого регистра, информационный регистр выполнен в виде mp-разрядного информационного регистра, где p 2, m 1, блок функционального преобразования f выполнен в виде блока p-разрядного функционального преобразования, при этом в него введены первый, второй, третий и четвертый p-разрядные сумматоры и два блока p-разрядных функциональных преобразований q и h, причем выход np-разрядного ключевого регистра подключен к первому входу второго p-разрядного сумматора, к второму входу которого подключен выход первого p-разрядного сумматора, к первому входу которого при m 2 подключен m-й p-разрядный выход mp-разрядного информационного регистра, к второму входу первого p-разрядного сумматора при m 3, подключен второй p-разрядный выход mp-разрядного информационного регистра, выход второго p-разрядного сумматора подключен к входу блока p-разрядного функционального преобразования f, выход которого подключен к первому входу третьего p-разрядного сумматора, к второму входу которого при m 4 подключен r-й p-разрядный выход mp-разрядного информационного регистра, где 3 r m 1, выход третьего p-разрядного сумматора подключен к входу блока p-разрядного функционального преобразования q, выход которого подключен к первому входу четвертого p-разрядного сумматора, к второму входу которого подключен первый p-разрядный выход mp-разрядного информационного регистра, а к выходу четвертого p-разрядного сумматора подключен вход p-разрядного функционального преобразования h, выход которого подключен к m-му p-разрядному входу mp-разрядного информационного регистра. 3. Устройство шифрования двоичной информации, содержащее в качестве составной части блок p-разрядного функционального преобразования f, отличающееся тем, что при p S p' блок p-разрядного функционального преобразования f состоит из 2 S блоков p-разрядных функциональных преобразований где S, p' 2, 1 i S двух p-разрядных сумматоров, первый из которых прибавляют к поступающему на его вход p-разрядному числу p-разрядную константу A, а второй p-разрядную константу B, и p-разрядного регистра циклического сдвига, причем S p'-разрядных выходов первых S блоков p-разрядных функциональных преобразований где 1 i S подключены к входу первого p-разрядного сумматора, выход которого подключен к p-разрядному входу p-разрядного регистра циклического сдвига, p-разрядный выход которого подключен к входу второго p-разрядного сумматора, p разрядов выхода которого подключены к Sp'-разрядным входам оставшихся S блоков p-разрядных функциональных преобразований где 1 i S.РИСУНКИ
Рисунок 1