Студопедия

КАТЕГОРИИ:


Архитектура-(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.

Pi+1

EK
EK
Ci
Pi
Pi-1
EK
Ci-1

                           
     
       
 
       
 
 
   
Ci+1

 

 


Дешифрование выполняется в обратном порядке.

Ci+1
Ci-1
Ci

 
 

 


Математически это выглядит так:

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 над ними и получить гамму.

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

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

           
 
 
   
 
   
Ki

 


Рассмотрим устройство генератора гаммы.

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

 

Самосинхронизирующиеся потоковые шифры.

 

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

 

       
   

 


 
 
K

 

       
 
   
Pi

 


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

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

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

 

<== предыдущая лекция | следующая лекция ==>
Неправильно выбранные ключи | Алгоритм шифрования DES
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 575; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.045 сек.