Автор: Пользователь скрыл имя, 21 Декабря 2012 в 21:47, реферат
Псевдослучайные последовательности (ПСП) применяются для шифрования данных и сообщений. На генерации ПСП основано шифрование методом гаммирования. Под гаммированием понимают процесс наложения по оп¬ределенному закону гаммы шифра на открытые данные, он может выполняться как в режиме блочного, так и потоковового шифрования. Он является типичным и наиболее про¬стым примером реализации абсолютно стойкого шифра (при использовании бесконечного ключа п=).
Псевдослучайные последовательности (ПСП) применяются для шифрования данных и сообщений. На генерации ПСП основано шифрование методом гаммирования. Под гаммированием понимают процесс наложения по определенному закону гаммы шифра на открытые данные, он может выполняться как в режиме блочного, так и потоковового шифрования. Он является типичным и наиболее простым примером реализации абсолютно стойкого шифра (при использовании бесконечного ключа п=¥). Генерирование непредсказуемых двоичных последовательностей большой длины является одной из важных проблем классической криптографии.
Метод гаммирования
заключается в генерации гаммы шифра (ПСП). Гамма шифра - это псевдослучайная
последовательность, выработанная по
заданному алгоритму для шифрования открытых
данных и дешифрования зашифрованных
данных. Процесс шифрования заключается
в генерации гаммы шифра и наложении полученной
гаммы на исходный открытый текст обратимым
образом, например с использованием операции
сложения по модулю 2.Процесс расшифрования
сводится к повторной генерации гаммы
шифра и наложению этой гаммы на зашифрованные
данные.
Полученный таким методом шифртекст достаточно
трудно поддается криптоанализу, так как
ключ является переменным. Гамма шифра
должна изменяться случайным образом
для каждого блока шифруемого текста.
Если период гаммы превышает длину всего
шифруемого текста и злоумышленнику неизвестна
никакая часть исходного текста, то такой
шифр можно взломать только прямым перебором
всех вариантов ключа. В этом случае криптостойкость
шифра определяется длиной ключа.
Криптосхема, реализующая алгоритм зашифрования в режиме гаммирования имеет вид, указанный на рисунке 1.
Рис.1 - Криптосхема, реализующая алгоритм зашифрования в режиме гаммирования
Открытые данные, разбитые на 64-разрядные ,,, зашифровываются в режиме гаммирования путём поразрядного суммирования по модулю 2 в сумматоре с гаммой шифра , которая вырабатывается блоками по 64 бита, т.е.
,
где М - определяется объемом шифруемых данных.
- i-й 64-разрядный блок, i=1/M, число двоичных разрядов в блоке может бать менше 64, при этом неиспользованная для зашифрования часть гаммы шифра из блока отбрасывается.
В КЗУ вводятся 256 бит ключа. В накопители , вводится 64-разрядная двоичная последовательность (синхропосылка) , являющаяся исходным заполнением этих накопителей для последующей выработки М блоков гаммы шифра. Синхропосылка вводится в , так, что значение вводится в 1-й разряд , значение вводится во 2-й разряд и т.д., значение вводится в 32-й разряд; знаение вводится в 1-й разряд , значение вводится во 2-й разряд и т.д., значение вводится в 32-й разряд . Происходит исходное заполнение накопителей (синхропосылка S). Результат зашифровывания переписывается в 32-разрядные накопители и , так, что заполнение переписывается в , а заполнение переписывается в . Заполнение накопителя суммируется по модулю в сумматоре с 32-разрядной константой из накопителя , результат записывается в . Заполнение накопителя суммируется по модулю в сумматоре с 32-разрядной константой из накопителя , результат записывается в . Заполнение , переписывается в , а заполнение переписывается в , при этом заполнение , сохраняется. Заполнение и зашифровывается в режиме простой замены. Полученное в результате зашифровывания заполнение образует первый 64-разрядный блок гаммы шифра , который суммируется поразрядно по модулю 2 в сумматоре с первым 64-разрядным блоком открытых данных
.
В результате суммирования получается 64-разрядный блок зашифрованных данных
.
Значение блока является результатом суммирования по модулю 2 в значения из блока со значением 1-го разряда , значение блока является результатом суммирования по модулю 2 в значения из блока со значением 2-го разряда и т.д., значение блока является результатом суммирования по модулю 2 в значения из блока со значением 32-го разряда .
Для получения следуешего 64-разрядного блока гаммы шифра заполнение суммируется по модулю в сумматоре с константой из , заполнение суммируется по модулю в сумматоре с константой из . Новое заполнение переписыватся в , а новое заполнение переписывается в , при этом заполнение и сохраняется.
Заполнение и зашифровывается в режиме простой замены. Полученное в результате зашифровывания заполнение , образует второй 64-разрядный блок гаммы шифра , который суммируется поразрядно по модулю 2 в сумматоре со вторым блоком открытых данных . Аналогично вырабатываются блоки гаммы шифра и зашифровываются блоки открытых данных ,. Если длина последнего М-го блока открытых данных меньше 64 бит, то из последнего М-го блока гаммы шифра для зашифровывания используется только соответствуещее число разрядов гаммы шифра, остальные разряды отбрасываются.
В канал связи или память ЭВМ передаются синхропосылки S и блоки зашифрованных данных ,.
,
i=1…M, где ’ - означает суммирование 32-разрядных заполнений по модулю ;
- поразрядное суммирование по модулю 2 двух заполнений;
- содержимое накопителя после зашифровывания i-го блока открытых данных ;
- содержимое накопителя после зашифрования i-го блока открытых данных ;
.
Расшифровывание зашифрованных данных в режиме гаммирования
При расшифровывании криптосхема имеет тот же вид, что и при зашифровывании. В КЗУ вводятся 256 бит ключа, с помошью которого осуществлялось зашифрование данных ,. Синхропосылка S вводится в накопители и и аналогично алгоритму зашифровывания, осуществляется процесс выработки Ь блоков гаммы шифра . Блоки зашифрованных данных суммируются поразрядно по модулю 2 в сумматоре с блоками гаммы шифра, в результате получаются блоки открытых данных ,, при этом может содержать менше 64 разрядов.
Уравнение расшифровывания имеет вид:
,
i=1/M
Гаммирование с обратной связью
Рис.2. Криптосхема, реализующая алгоритм зашифрования в режиме гаммирования с обратной связью
Оперативный ключ, состоящий из 256 бит, вводится в ключевое запоминающее устройство (КЗУ), долговременный ключ длиной 512 бит, аналогично режиму простой замены и гаммирования, записывается в блок подстановок .
Как и в режиме гаммирования, генерируется синхропосылка, разделяется на начальные левый и правый подблоки и зашифровывается в режиме простой замены, образуя первый блок шифрующей гаммы, который записывается в регистр последовательного сдвига.
Первый 64-разрядный блок открытого сообщения шифруется поразрядным сложением по модулю 2 в сумматоре с первым блоком шифрующей гаммы .
Сформированные таким образом 64 бита составляют первый блок криптограммы , который передается в канал связи и одновременно по цепи обратной связи подается как синхропосылка на вход схемы, где шифруется в режиме простой замены и формирует второй блок шифрующей гаммы .
Аналогично шифруется второй блок открытого сообщения , сформированный блок криптограммы по цепи обратной связи используется для формирования очередного блока шифрующей гаммы и т.д.
Криптосхема алгоритма расшифрования в режиме гаммирования с обратной связью аналогична криптосхеме алгоритма шифрования. Используется идентичное режиму шифрования заполнение КЗУ и блока подстановки. Из полученной синхропосылки , по аналогии с процессом формирования первого блока шифрующей гаммы, формируется первый блок дешифрующей гаммы, который используется для побитного дешифрования первого принятого блока криптограммы. Затем первый блок криптограммы используется для формирования второго блока дешифрующей гаммы, предназначенного для дешифрования второго принятого блока криптограммы и т.д.
Данный алгоритм повышает имитостойкость шифрованной связи. Однако для выполнения современных требований к имитозащищенности ГОСТ предписывает специальный режим имитозащиты данных.
Шифр Вернама (другое
название: англ. One-time pad — схема одноразовых блокнотов) —
в криптографии система симметр
Для произведения шифротекста открытый текст объединяется операцией «исключающее ИЛИ» с ключом (называемым одноразовым блокнотом или шифроблокнотом). При этом ключ должен обладать тремя критически важными свойствами:
Шифр Вернама является частным случаем шифрования гаммированием для двоичного алфавита (при значении модуля m=2).
Конкретная версия этого шифра, предложенная в 1926 году сотрудником фирмы AT&T Вернамом, использует двоичное представление символов исходного текста. Каждая буква исходного текста в алфавите, расширенном некоторыми дополнительными знаками, сначала переводилась с использованием телеграфного кода Бодо в пятибитовый символ. То есть алфавит криптосистемы представляет собой множество Z32 всех пятибитовых последовательностей.
Ключ k=(k0 ,k1 ,...,kк-1), где "ki Î Z32 записывался на бумажной ленте. При шифровании ключ добавлялся к исходному тексту суммированием по модулю 2.
В общем случае система шифрования Вернама осуществляет побитовое сложение п -битового открытого текста и п-битового ключа:
yi = xi + ki, i=1,…,n
Здесь х1 х2 ... xп - открытый текст, k1 k2 ... kп - ключ, y1 y2 ... yп - шифрованный текст.
Расшифрование состоит в сложении по модулю 2 символов у шифртекста с той же последовательностью ключей .
Метод Вернама использует длинную случайную ключевую последовательность и при его реализации возникают проблемы, связанные с необходимостью передачи ключа.
Таким образом можно выделить следующие недостатки применения данного шифра:
При подробном рассмотрении метода гаммирования, стало ясно, что при простом гаммировании, тоесть использовании статичной гаммы, перехват данных не составит труда, если же гамма будет со смещением - это усложнит дешефрацию. Однако если с помошью каких либо перестановок будет произвольно меняться не только смещение, но и начальная гамма для каждого отдельного сообщения, то такой шифр будет не поддающимся нежелательному раскодированию, тоесть перехвату информации.
Данный метод не позволит расшифровать полученные данные без знания кода шифрования (т.е. стартовой гаммы и формулы её смещения).
2
Известно, что при реализации криптографических преобразований, используют различные случайные первичные состояния либо целые последовательности. Отсюда следует, что стойкость криптопреобразования напрямую зависит от алгоритма формирования случайных чисел и последовательностей, точнее от их степени случайности.
Современные компиляторы обладают собственной реализацией генератора псевдослучайных последовательностей, однако с криптографической точки зрения они являются непригодными. Основная сложность генерации последовательности псевдослучайных чисел на компьютере в том, что компьютеры детерминистичны по своей сути. Компьютер может находиться только в конечном количестве состояний (количество состояний огромно, но все-таки конечно). Следовательно любой датчик случайных чисел по определению периодичен. Все периодическое – предсказуемо, т.е. не случайно.
Лучшее, что
может произвести компьютер –
это псевдослучайная
К криптографически стойкому ГПСП предъявляются 3 основных требования:
Информация о работе Шифрование информации методом гаммирования