Лекция 4 Режимы шифрованя.pptx
- Количество слайдов: 36
6. 170101 Безпека інформаційних і комунікаційних систем ЛЕКЦИЯ 7 Ы ЖИМ ИЯ РЕ ВАН ФРО ШИ ПРАКТИЧЕСКАЯ КРИПТОЛОГИЯ
Проблемы при зашифровании данных блоковым шифром Криптоаналитик может незаметно переставить блоки шифротекста местами, меняя смысл переданной информации Одинаковые блоки открытого текста отображаются в одинаковые блоки шифротекста. Возможен частотный анализ
Режим шифрования – метод применения блокового шифра, преобразующий последовательность блоков открытого текста в последовательность блоков шифротекста.
Режимы шифрования чтобы результат шифрования каждого блока был уникальным вне зависимости от шифруемых данных Задачи режима шифрования модификация процесса шифрования чтобы результат шифрования не позволял сделать какиелибо выводы об их структуре
Режимы шифрования B EC CBC Electronic Cipher Block Codebook Chaining (режим электронной сцепления кодовой блоков книги) шифротекста) CTR B OFB F C Cipher Output Feedback (режим обратной связи по шифротексту) выходу) Counter Mode (режим счетчика)
Режимы шифрования Р 1 , Р 2 , …, Рm и С 1, С 2, …, Сm – блоки открытого текста и шифротекста Ek(P) = C, Dk (C) = P – алгоритмы зашифрования и расшифрования (на ключе k) n –размер в битах одного блока
(Electronic Codebook) Режим ECB Электронная кодовая книга Зашифрование: Открытое сообщение > 64 бит P 1 P 2 P 3 E E E С 1 С 3 С 2 … … … Шифротекст Pт E Ст Сi=Ek(Pi), i=1, 2, …, m одинаковы й
Режим ECB (Electronic Codebook) Расшифрование: Шифротекст С 1 С 2 С 3 D D D Р 1 Р 2 Р 3 … … … Открытое сообщение Ст D Рт Рi=Dk(Ci), i=1, 2, …, m одинаковы й
Режим ECB (Electronic Codebook) Почему такое название режима ? Пары «открытый текст/шифротекст» на одном ключе Всего 2 k кодовых книг
Режим ECB (Electronic Codebook) Особенности: Блоки шифруются независимо друг от друга на одном ключе Типичное применение – безопасная передача коротких открытых текстов Если Рі = Pj, то Сi = Cj – проблема длинного текста
Режим ECB (Electronic Codebook) Атака c помощью повторения блоков: Дата 1 2 3 4 5 6 7 8 9 Банк получа- отправи ФИО вкладчика тель -тель 10 11 12 Реквизиты счета 13 14 15 Сумма Фор м сооб ат эле к щ дене ения о тронно го пер г евод е
Режим CBС (Сipher Block Chaining) Режим сцепления блоков по шифротексту Зашифрование: P 1 P 2 P 3 P 4 E E С 1 С 2 С 3 С 4 Вектор инициализации IV С 0=IV; Сi=Ek(Pi+Ci-1), i=1, 2, …, m
Режим CBС (Сipher Block Chaining) Вектор инициализации Расшифрование: С 1 С 2 С 3 С 4 D D IV P 1 P 2 P 3 P 4 С 0=IV; Pi=Dk(Ci )+Ci-1, i=1, 2, …, m
Режим CBС (Сipher Block Chaining) Вектор инициализации IV – вектор, передаваемый по каналу связи и используемый для инициализации алгоритма шифрования • должен быть согласован сторонами заранее; • используется вместо несуществующего C 0; • выбирается для каждого нового переданного текста Новая атака на криптопротокол SSL Ошибка – использование последнего переданного СВС блока в предыдущем соединении как вектор IV для нового соединения сентябрь 2011
Режим CBС (Сipher Block Chaining) Особенности: Противник может добавить свой блок шифротекста в конец При разных IV одинаковые блоки открытого текста переходят в разные блоки шифротекста Область применения – блок-ориентированная передача данных и аутентификация Шифрование не начинается до получения целого блока данных
(Сipher Feedback) Режим CFB r-битовый CFB: IV 64 бита Режим обратной связи по шифротексту Сдвиг r бит 4 Регистр 1 1 r бит 64 бита 2 64 бита Блок открытого текста r бит 3 r бит Содержимое в регистр 1 регистра 1 из 64 ячеек. rшифруют, левых бит результат – регистра 2+ r в регистр 2 бит открытого Содержимое текста = r бит регистра 1 шифротекста Регистр 1 сдвигается дополняется влево на rсправа r битами шифротекста 3 4 5 E Регистр 2 1 Вектор ІV 2 записывают 5 Блок шифро - текста
Режим CFB (Сipher Feedback) r-битовый CFB Уравнение зашифрования: Сi(r) = Pi(r) +Bi(r) Сi(r) – r битовая порция шифротекста на i-ом шаге; Рi(r) – r бит открытого текста на i-ом шаге; Вi(r) – левые r бит результата шифрования на i-ом шаге Расшифрование по той же схеме
Режим CFB (Сipher Feedback) Особенности: Превращает блоковый шифр в потоковый нет необходимости сообщение дополнять новыми битами, чтобы общее число бит делилось на длину блока операции в реальном времени: шифруется любое число символов и передается немедленно (1≤ r ≤ n-1) Входные биты обрабатываются порциями по r бит Область применения – потоко-ориентированная передача данных общего назначения, аутентификация Фактически алгоритм генерирует псевдослучайную последовательность (в русской литературе название режима – гаммирование с обратной связью).
Режим CFB (Сipher Feedback) Особенности: Одинаковые блоки открытого текста переходят в разные блоки шифротекста На одном ключе можно шифровать несколько сообщений, но вектор IV должен быть разным Противник может добавить свои блоки в конец шифротекста
(Output Feedback) Режим ОFB IV 64 бита 1 Режим обратной связи по выходу 1 Регистр 1 64 бита 2 64 бита E 64 бита Регистр 2 Блок открытого текста r бит 3 Блок шифро - текста Вектор ІV записывают в регистр 1 Содержимое из 64 ячеек. регистра 1 rшифруют, левых бит регистра 2+ r результат – бит открытого в регистры 1 текста = r бит и 2 шифротекста 2 3
Режим ОFB (Output Feedback) Особенности: Преимущество по сравнению с СFB: нераспространение ошибок; гамма, накладываемая на открытый текст, зависит только от вектора IV и ключа ее можно генерировать заранее и увеличить производительность шифратора в часы пик Расшифрование аналогично по той же схеме Область применения – потоко-ориентированная передача данных по зашумленному каналу (спутниковая связь)
(Counter Mode) Режим CRT Режим счетчика Зашифрование: 1 значение счетчика 2 значение счетчика E 3 значение счетчика E P 1 P 2 С 1 E P 3 С 2 Сi=Рi+ Е(CTRi ), i=1, 2, …, m С 3
Режим CRT (Counter Mode) Расшифрование: 1 значение счетчика 2 значение счетчика E С 1 E С 2 P 1 3 значение счетчика E С 3 P 2 Pi=Ci+ Е(CTRi ), i=1, 2, …, m P 3
Режим CRT (Counter Mode) Что такое счетчик ? это переменная. Может генерироваться любой функцией с большим периодом размер счетчика = размеру блока перед шифрованием получает случайное значение Особенности режима СRT: размер блока открытого текста = размеру блока шифротекста допускается распараллеливание нет обратной связи простой и безопасный область применения – блоко-ориентированная передача данных при высоких требованиях к скорости передачи эффективная программная и аппаратная реализация
Названия режимов в ГОСТ 28147 -89 ЕСВ СВС СF В ОFВ Режим простой замены Режим сцепления блоков Режим гаммирования с обратной связью Режим обратной связи по выходу
Ошибка в бите данных 0 0 1 … 1 0 … 0 Блок Сj шифротекста 1 2 … i i+1 … n Что в блоках расшифрованного текста ? ECB CBC блок Рj ? ? … ? ? … ? 1 2 … i i+1 … n Ошибка в любом бите ? ? … ? ? … ? 1 2 … i i+1 … n блок Рj+1 е 1 2 … i i+1 … n e – error – ошибка
Ошибка в бите данных 0 0 1 … 1 0 … 0 Блок Сj шифротекста 1 2 … i i+1 … n Что в блоках расшифрованного текста ? CFB блок Рj е 1 2 … i i+1 … n блоки Рj+1, …, Рj+n/r ? ? … ? ? … ? 1 2 … i i+1 … n Попав в регистр сдвига ошибка портит расшифрование, пока не выпадет из регистра В 8 -битовом СFB портятся 9 байт шифра, далее все корректно
Ошибка в бите данных 0 0 1 … 1 0 … 0 Блок Сj шифротекста 1 2 … i i+1 … n Что в блоках расшифрованного текста ? OFB CTR блок Рj е 1 2 … i i+1 … n e – error – ошибка
Сравнение режимов Свойство Скрытие структуры открытого текста Скрытие первого входного блока открытого текста Шифрование на одном ключе разных открытых текстов ECB CBC CFB OFB CTR – + + + + – + + При При разных IV IV IV
Сравнение режимов Свойство Зависимость последнего шифроблока от блоков открытого текста Восстановление после ошибки в шифротексте Восстановление после ошибки в синхронизации ECB CBC CFB OFB CTR – + + – – + + + Не испол. + + – –
Сравнение режимов Свойство ECB Предварительные вычисления перед шифрованием/ расшифрованием – – – + – Параллельная обработка блоков (на нескольких процессорах) CBC CFB + – – + + Зашифр – да, расшифр – нет Зашифр – да, расшифр – нет OFB CTR – +
Сравнение режимов Свойство Манипулирование открытым текстом со стороны противника ECB + CBC CFB OFB Трудно Скорость шифрования равна скорости работы блокового шифра CTR –
От чего зависит последний блок шифротекста в режиме СВС ? • От ключа • От вектора IV • От всех битов открытого текста Без ключа подделать или угадать последний блок сообщения, зашифрованного в режиме СВС, – невозможно!!! Используется для аутентификации сообщений и отправителя – МАС
Режим OFB-DES Используют для генерации ключей. 64 бита на выходе – последовательность псевдослучайных чисел с хорошими статистическими свойствами
Запомнить Поточный режим – блочный алгоритм применяет функцию преобразования до «ксорирования» с блоком открытого текста Блочный режим – преобразования блочным алгоритмом выполняются после «ксорирования» с блоком открытого текста
ЭТО ПРАВДА ВСЕ НЕТРУДНО ?
Лекция 4 Режимы шифрованя.pptx