КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Режимы шифрования
Способы получения надежных ключей 1. Случайные ключи - наилучший вариант ключей. Обычно в выч. технике мы имеем дело с генераторами псевдослучайных чисел, но существуют и генераторы истинно случайных чисел, например, генераторы использующие различные случайные шумы и нестабильные явления. Один из генераторов случ. чисел измеряет время, нужное для чтения блока диска и использует это время в качестве источника случайных чисел. 2. Ключевые фразы. Вместо слов для генерации ключей используют фразы. Далее используется методика перемалывания ключа, которая преобразует текстовую строку произвольной длины в строку псевдослучайных битов однонаправленной хэш-функцией. 3. Генерация ключий при помощи криптоалгоритмов. Псевдослучайное число несколько раз шифруют, используя в качестве ключей различные величины – системные векторы прерывания, системные счетчики и т.д.
Пересылка ключей. Нужна для симметричных криптосистем. Существуют следующие способы безопасной пересылки ключей: - Обмен ключами методами криптографии с открытым ключом. - Деление ключей на два типа: ключи шифрования ключей и ключи шифрования данных. Ключи шифрования ключей распределяются предварительно вручную для шифрования ключей данных. - Распределение ключей по параллельным каналам. В этом случае ключ разбивается на несколько частей и передается разными каналами. Например, одна часть курьером, вторая по телефону, третья электронной почтой и т.д.
Время жизни ключей. Ни один ключ шифрования нельзя использовать бесконечно. Время его действия должно истекать автоматически. Доводы против длительного использования ключа: - Чем продолжительнее используется ключ, тем выше вероятность его компрометации. Люди теряют ключ, могут его разгласить случайно и т.д. - Чем продолж. исп. ключ, тем больше потери при его взломе. - Чем продолж. исп. ключ, тем больше соблазн для его вскрытия. - Как правило, криптоанализ упрощается, если имеется множество текстов, зашифрованных одним ключом. У различных ключей могут быть разные времена жизни. Например, в открытых сетях (например, в телефонных) есть смысл использовать ключ только в течение телефонного разговора, а закрытые ключи, используемые для генерации цифровых подписей, можно использовать годами.
Криптоалгоритмы могут применяться для разных целей, поэтому существуют различные режимы их использования. Криптографический режим обычно включает в себя: базовый алгоритм, обратную связь и несколько простых операций. Режим электронной кодовой книги (режим простой замены, Electronic Codebook, ECB). Шифротекст разбивается на одинаковые N-битовые блоки: P=(P1, P2, …Pi), которые шифруются независимо друг от друга. Ci=EK(Pi) C=(C1,C2,…Ci) Недостатки: - Проблема последнего блока. Размер шифруемого текста может быть не кратен размеру используемого блока. В этом случае последний блок будет неполным и его необходимо дополнить до размера в N бит, так как криптографическому преобразованию может быть подвергнут только полный блок. Для решения проблемы последнего блока используют дополнение (padding). Чтобы создать полный блок, последний блок дополняют некоторым стандартным шаблоном. Число байтов-заполнителей записывается в последний байт последнего блока. - В режиме ECB одинаковые блоки открытого текста заменяются одинаковыми блоками шифротекста, что облегчает взлом. Pi=Pj à Ci=Cj Вторая проблема решена в следующем режиме.
Режим сцепления блоков шифротекста Сцепление добавляет в блочный шифр механизм обратной связи: результаты шифрования предыдущих блоков влияют на шифрование текущего блока. Т.е. каждый блок шифротекста зависит не только от шифруемого блока открытого текста, но и от всех предыдущих блоков открытого текста. В режиме сцепления блоков шифротекста (Cipher Block Chaining, CBC) перед шифрованием над открытым текстом и предыдущим блоком шифротекста выполняется операция XOR.
Дешифрование выполняется в обратном порядке.
Математически это выглядит так: Ci=EK(Pi Å Ci-1) Pi=Ci-1 Å DK(Ci)
Вектор инициализации При шифровании в режиме CBC одинаковые блоки открытого текста превращаются в различные блоки шифротекста только в том случае, если различались какие-то предшествующие блоки открытого текста. При шифровании двух идентичных сообщений создается один и тот же шифротекст. Т.е. два одинаково начинающихся сообщения будут шифроваться одинаково вплоть до первого различия. Чтобы избежать этого в первом блоке передают произвольные данные. Этот блок случайных данных называется вектором инициализации (ВИ), синхропосылкой или начальным значением сцепления. ВИ не имеет какого-либо смыслового значения используется только для того, чтобы сделать каждое сообщение уникальным.
Распространение ошибки Т.к. в режиме Cipher Block Chaining применяется обратная связь, то ошибка в одном бите блока шифротекста влияет на целый блок открытого текста, после дешифорвания этот блок искажается полностью. Такое свойство превращения малой ошибки шифротекста в крупную ошибку открытого текста называют распространением ошибки. Это – основной недостаток режима CBC. Т.к. ошибка не влияет на последующие блоки режим CBC называют самовосстанавливающимся.
Потоковые шифры Потоковые шифры преобразуют открытый текст в шифротекст побитово. Простейшая реализация потокового шифра:
Генератор гаммы (генератор бегущего ключа) выдает поток битов: k1, k2,…ki, называемый гаммой. Гамма и биты открытого текста p1, p2,…pi подвергаются операции XOR, в результате чего создается поток битов шифротекста. ci=pi Å ki Такой режим шифрования называется гаммированием. При дешифровании над битами шифротекста и той же самой гаммы также выполняется операция XOR: pi=ci Å ki Т.к. pi Å ki Å ki = pi
Надежность данной системы всецело зависит от свойств генератора гаммы. Если он создает бесконечную строчку нулей, то шифротекст будет совпадать с открытым текстом и вся операция бессмысленна. Если генератор гаммы выдает повторяющийся 16-битовый фрагмент, защита будет слабой. Если он создает бесконечный поток случайных битов, то мы имеем систему с одноразовым блокнотом и совершенную защиту. Если генератор гаммы при каждом запуске создает один и тот же битовый поток, то взлом такой криптосистемы тривиален. Например, если злоумышленнику попал шифротекст и соответствующий открытый текст, он может выполнить опирацию XOR над ними и получить гамму. Чтобы избежать этого во всех потоковых шифрах используют ключи, которые определяют выход генератора гаммы. Теперь если злоумышленник получит пару открытый текст/шифротекст, он сможет прочитать только те сообщения, которые зашифрованы тем же ключом.
Рассмотрим устройство генератора гаммы. Генератор гаммы состоит из трех основных частей. Внутреннее состояние описывает текущее состояние генератора гаммы. Два генератора с одинаковым ключом и одинаковым внутренним состоянием, создают одинаковые гаммы. Выходная функция считывает внутреннее состояние и генерирует бит гаммы. Функция переходов считывает текущее внутреннее состояние и генерирует новое внутреннее состояние.
Самосинхронизирующиеся потоковые шифры.
В самосинхронизирующихся потоковых шифрах каждый бит гаммы представляет собой функцию фиксированного числа предыдущих битов шифротекста.
Так как внутреннее состояние зависит от n предыдущих битов шифротекста, дешифрующий генератор гаммы, приняв n битов, автоматически синхронизируется с шифрующим генератором. В практических реализациях этого режима каждое сообщение начинается случайным заголовком длиной n бит. Дешифрование сначала будет некорректным, но после приема n битов оба генератора синхронизируются. Недостаток данного режима – распространение ошибки. Для каждого бита шифротекста, искаженного при передачи, дешифрующий генератор гаммы выдаст n некорректных битов гаммы (пока через n битов опять они не засинхронизируются).
Дата добавления: 2014-01-07; Просмотров: 592; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |