Симметричная криптография

18
Симметричная криптография

description

Симметричная криптография. Симметричные шифры. Это шифры, в которых для шифрования и дешифрования используется один и тот же ключ. Следовательно, единственный ключ должен храниться в полной тайне. Симметричное шифрование и дешифрование математически представляются следующим образом: - PowerPoint PPT Presentation

Transcript of Симметричная криптография

Page 1: Симметричная криптография

Симметричная криптография

Page 2: Симметричная криптография

Симметричные шифрыЭто шифры, в которых для шифрования и дешифрования

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

полной тайне.Симметричное шифрование и дешифрование

математически представляются следующим образом:

E – функция шифрованияD – функция дешифрованияM – открытый текстC – шифрованный текстk – единственный ключ

Page 3: Симметричная криптография

Симметричные шифрыПринцип работы симметричного шифрования:

Отправитель и получатель должны заранее

договориться

1. о секретном ключе 2. об алгоритме 3. о векторе инициализации 4. о режиме вычислений 5. о заполнении пустых

позиций

Существует 2 типа симметричных алгоритмов:Блочные шифры (за 1 проход алгоритма обрабатывают блок байт размером

64 или 128 бит) Потоковые шифры (за 1 проход алгоритма обрабатывают 1 байт или бит)

Page 4: Симметричная криптография

Алгоритм DESИстория:Этот алгоритм был принят правительством США в 1977г.

для шифрования нестрого секретных данных. Позднее он несколько раз был взломан публично. Но несмотря на это DES всё еще остается распространенным в современных коммерческих приложениях.

Описание:DES – симметричный блочный шифр, преобразующий 64-

битовые блоки данных при помощи 56-битного секретного ключа. Преобразование включает в себя 16 циклов перестановок и подстановок (замены битов данных). Транспозиции (перемещения битов внутри данных) приводит к диффузии данных, т.е. их равномерному распределению.

Ключ выбирается из 2 вариантов.56

Page 5: Симметричная криптография

Алгоритм DESПеред шифрованием текст нужно разбить на 64-битовые

блоки данных. При этом последний блок, скорее всего, будет неполным. Его следует дополнить.

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

Page 6: Симметричная криптография

Операционные режимыБлоковые шифры для обработки последовательностей

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

Стандартные операционные режимы:- ECB – электронная шифровальная книга (DES, 3DES,

RC2, Rijndael)- CBC – сцепление шифрованных блоков (DES, 3DES, RC2,

Rijndael)- CFB – шифрованная обратная связь (DES, 3DES, RC2)- OFB – обратная связь по выходу- CTS – проскальзывание шифрованного текста (был

создан для RC5, но до сих пор не реализован)Все они описаны при помощи перечисления CypherMode в System.Securiry.Cryptography

Page 7: Симметричная криптография

Операционные режимы

Условные обозначения:

Page 8: Симметричная криптография

Режим ECBЭто самый простой операционный режим шифрования, в

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

Плюсы: Блоки не зависят друг от друга => Ошибка в одном блоке не распространяется на остальные Параллельная либо последовательная обработка блоков Большая пропускная способность процессаМинусы: Слабая криптостойкость (при анализе текста на

стандартные фразы и повторы можно угадать пары «открытый блок – закрытый блок», по мере роста этих пар, поиск новых облегчается => поиск самого ключа необязателен)

Page 9: Симметричная криптография

Режим ECB

Page 10: Симметричная криптография

Режим CBCРежим представляет собой более защищенную технологию.Здесь перед началом 16 циклов каждый блок открытого

текста суммируется по XOR с предыдущим зашифрованным блоком. Первый блок суммируется с некоторым случайным 64-битовым вектором инициализации (IV). Причем IV вовсе не должен быть секретным.

Каждый блок открытого текста Mi суммируется с предыдущим блоком шифрованного текста Ci-1, и уже результат суммирования попадает на вход шифрующей функции Ek, на выходе которой образуется блок шифрованного текста Ci.

Page 11: Симметричная криптография
Page 12: Симметричная криптография

Режимы CFB и OFBЭти режимы позволяют оперировать блоками данных,

меньшими стандартного 64-битового блока. Они полезны в качестве потоковых шифров, где алгоритм DES генерирует псевдослучайные биты, которые суммируются по XOR с потоковым открытым текстом.

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

Минус: Ошибка в любом бите данных повредит не только

текущий блок, но и все последующие.НО! Режим CFB обладает свойством самосинхронизации,

т.е. правильность расшифровки восстанавливается уже в следующем блоке.

Page 13: Симметричная криптография

Режим CFBСдвиговый регистр использует подмножество ранее

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

Режим OFBОсновной принцип почти совпадает с CFB. Единственное

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

Page 14: Симметричная криптография
Page 15: Симметричная криптография

Где Ri-1 – подмножество битов из предыдущего прохода до операции XOR

Page 16: Симметричная криптография

Алгоритм «Тройной» DESЭтот алгоритм основывается на обычном DES. Отличается

он лишь тем, что каждый 64-битовый блок шифруется трижды при помощи алгоритм DES с 3 разными ключами.

Каждый блок шифруется 1 ключом.

Результат дешифруется 2 ключом.

Следующий результат шифруется 3 ключом. Плюсы: увеличивается эффективность Минусы: увеличивается ключ и время работы.

Page 17: Симметричная криптография

Алгоритм RijndaelЭтот алгоритм способен использовать ключи размером 128,

192 или 256 бит. Число циклов зависит от ключа и блока данных.

Если размеры ключа и блока =128, используется 9 циклов.Если 128< размер ключа или блока <192, используется 11

циклов.Если ключ или блок данных =256, используется 13 циклов.+ ещё 1 цикл в конце.

Rijndael существенно сложнее DES, т.к. он включает в себя алгебру полиномов с коэффициентами над полями Галуа.

Page 18: Симметричная криптография

Алгоритм RC2Это симметричный блоковый шифр, который был придуман

на замену алгоритму DES. Он использует блоки входных данных размером 64 бита. Длина ключа переменна (от1 до 128 байт), что указывает на стойкость шифра.

Плюсы: Улучшенная производительность Самостоятельная регулировка длины ключа

RC2 был лицензирован для использования в нескольких Internet-приложениях, включая Microsoft Internet Explorer, Outlook Express и Netscape Communicator. Алгоритм выполняет функции аутентификации посредством электронной подписи и конфиденциальности посредством шифрования.