SlideShare a Scribd company logo
Семинар № 3
Блочные шифры
Колыбельников Александр
kisttan@gmail.com
Содержание
• Область применения блочных шифров
• Поля Галуа, операции с полиномами
• Схема Фейстеля
• ГОСТ 28147-89
• AES
• Схемы применения алгоритмов
шифрования
Область применения блочных
шифров
Основные преимущества блочных
шифров
• Эффективная реализация на современных
программно-аппаратных платформах;
• Высокая скорость
шифрования/расшифрования;
• Гарантированная стойкость.
Поля Галуа, операции с
полиномами
Поля Галуа
• Конечное поле или поле Галуа — поле,
состоящее из конечного числа элементов.
• Конечное поле обычно обозначается или
GF(q), где q — число элементов поля.
• Простейшим примером конечного поля
является — кольцо вычетов по модулю
простого числа p.
Поля Галуа
• Построение поля GF(pn
), где p — простое число, n — натуральное число,
начинается с построения его простого подполя GF(p) (которое совпадает со всем
полем при n=1).
• Простое поле GF(p) строится как кольцо вычетов по модулю p, которое в виду
простоты p не имеет делителей нуля и является полем.
• Элементы — числа . Операции проводятся как с обычными целыми числами с
приведением результата по модулю p.
• Поле GF(pn
) при n>1 строится как факторкольцо , где f(x) — неприводимый
многочлен степени n над полем . Таким образом, для построения поля из pn
элементов достаточно отыскать многочлен степени n, неприводимый над полем .
• Элементами поля являются все многочлены степени меньшей n с
коэффициентами из . Арифметические операции (сложение и умножение)
проводятся по модулю многочлена f(x), то есть, результат соответствующей
операции — это остаток от деления на f(x) с приведением коэффициентов по
модулю p
Операции с полиномами
• Многочлен (или полином) от n переменных — есть конечная формальная сумма
вида
• где I = (i1,i2,...,in) есть набор из целых неотрицательных чисел (называется
мультииндекс), cI — число (называемое «коэффициент многочлена»), зависящее
только от мультииндекса I.
Схема Фейстеля
Схема Фейстеля
ГОСТ 28147-89
• Длина ключа – 256 бит;
• Блок шифрования – 64 бит;
• Количество циклов – 32 цикла.
ГОСТ 28147-89
Шифрование ГОСТ 28147-89
Пример S-блока
• 4, 13, 0, 14, 8, 7, 10, 2, 5, 1, 9, 6, 11, 15, 12, 3
AES
• Длина ключа – 128-256 бит;
• Блок шифрования – 128 бит;
• Количество циклов – 10, 12, 14 циклов.
AES
Цикл AES
• SubBytes()
• ShiftRows()
• MixColumns()
• AddRoundKey()
SubBytes
Процедура SubBytes() обрабатывает каждый байт
состояния, независимо производя нелинейную
замену байтов используя таблицу замен(S-box).
Такая операция обеспечивает нелинейность
алгоритма шифрования. Построение S-box
состоит из двух шагов. Во-первых, производится
взятие обратного числа в GF{28
}. Во-вторых, к
каждому байту b из которых состоит S-box
применяется следующая операция:
SubBytes
где , и где bi есть i-ый бит b, а ci —
i-ый бит c = {63} или {01100011}. Таким
образом, обеспечивается защита от атак,
основанных на простых алгебраических
свойствах.
ShiftRows
• ShiftRows работает со строками State. При этой
трансформации строки состояния циклически
сдвигаются на r байт по горизонтали, в зависимости от
номера строки. Для нулевой строки r = 0, для первой
строки r = 1Б и тд.. Таким образом каждая колонка
выходного состояния после применения процедуры
ShiftRows состоит из байтов из каждой колонки
начального состояния. Для алгоритма Rijndael паттерн
смещения строк для 128 и 192-ух битных строк
одинаков. Однако для блока размером 256 бит
отличается от предыдущих тем, что 2, 3, и 4-е строки
смещаются на 1, 3, и 4 байта соответственно.
MixColumns
• В процедуре MixColumns, четыре байта
каждой колонки State смешиваются используя
для этого обратимую линейную
трансформацию. MixColumns обрабатывает
состояния по колонкам, трактуя каждую из них
как полином четвертой степени. Над этими
полиномами производится умножение в GF(28
)
по модулю x4
+ 1 на фиксированный многочлен
c(x) = 3x3
+ x2
+ x + 2. Вместе с ShiftRows ,
MixColumns вносит диффузию в шифр
AddRoundKey
• В процедуре AddRoundKey, RoundKey каждого
раунда объединяется со State. Для каждого
раунда Roundkey получается из CipherKey
используя процедуру KeyExpansion; каждый
RoundKey такого же размера, что и State.
Процедура производит побитовый XOR
каждого байта State с каждым байтом
RoundKey
Схемы использования шифров
Электронная кодовая книга (ECB)
Режим гаммирования
Режим гаммирования с обратной
связью
Режим гаммирования с обратной
связью по выходу

More Related Content

What's hot

Программирование циклических алгоритмов
Программирование циклических алгоритмовПрограммирование циклических алгоритмов
Программирование циклических алгоритмов
Andrey Dolinin
 
Скрытые закономерности в разработке ПО
Скрытые закономерности в разработке ПОСкрытые закономерности в разработке ПО
Скрытые закономерности в разработке ПОAlex Yakyma
 
Probabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems DesignProbabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems Design
Iosif Itkin
 
[DD] 5. Registers
[DD] 5. Registers[DD] 5. Registers
[DD] 5. Registers
Gabit Altybaev
 
A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...
Iosif Itkin
 
условия, подпрограммы
условия, подпрограммыусловия, подпрограммы
условия, подпрограммы
������ �����
 
метод наименьших квадратов
метод наименьших квадратовметод наименьших квадратов
метод наименьших квадратовЕлена Ключева
 
8 3-5
8 3-58 3-5
8 3-3
8 3-38 3-3
Числа Фибоначчи
Числа ФибоначчиЧисла Фибоначчи
Числа Фибоначчи
DEVTYPE
 
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
Alexey Paznikov
 
презентация лекции №10
презентация лекции №10презентация лекции №10
презентация лекции №10student_kai
 
ПВТ - весна 2015 - Лекция 4. Шаблоны многопоточного программирования
ПВТ - весна 2015 - Лекция 4. Шаблоны многопоточного программированияПВТ - весна 2015 - Лекция 4. Шаблоны многопоточного программирования
ПВТ - весна 2015 - Лекция 4. Шаблоны многопоточного программирования
Alexey Paznikov
 
Семинар 3. Многопоточное программирование на OpenMP (часть 3)
Семинар 3. Многопоточное программирование на OpenMP (часть 3)Семинар 3. Многопоточное программирование на OpenMP (часть 3)
Семинар 3. Многопоточное программирование на OpenMP (часть 3)
Mikhail Kurnosov
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
Mikhail Kurnosov
 
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
Iosif Itkin
 
ПВТ - весна 2015 - Лекция 8. Многопоточное программирование без использования...
ПВТ - весна 2015 - Лекция 8. Многопоточное программирование без использования...ПВТ - весна 2015 - Лекция 8. Многопоточное программирование без использования...
ПВТ - весна 2015 - Лекция 8. Многопоточное программирование без использования...
Alexey Paznikov
 
5.4 Ключевые слова static и inline
5.4 Ключевые слова static и inline5.4 Ключевые слова static и inline
5.4 Ключевые слова static и inline
DEVTYPE
 
Address Sanitizer или как сделать программы на c/с++ надежнее и безопаснее (К...
Address Sanitizer или как сделать программы на c/с++ надежнее и безопаснее (К...Address Sanitizer или как сделать программы на c/с++ надежнее и безопаснее (К...
Address Sanitizer или как сделать программы на c/с++ надежнее и безопаснее (К...Ontico
 

What's hot (20)

Программирование циклических алгоритмов
Программирование циклических алгоритмовПрограммирование циклических алгоритмов
Программирование циклических алгоритмов
 
Скрытые закономерности в разработке ПО
Скрытые закономерности в разработке ПОСкрытые закономерности в разработке ПО
Скрытые закономерности в разработке ПО
 
Probabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems DesignProbabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems Design
 
[DD] 5. Registers
[DD] 5. Registers[DD] 5. Registers
[DD] 5. Registers
 
A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...
 
условия, подпрограммы
условия, подпрограммыусловия, подпрограммы
условия, подпрограммы
 
метод наименьших квадратов
метод наименьших квадратовметод наименьших квадратов
метод наименьших квадратов
 
8 3-5
8 3-58 3-5
8 3-5
 
8 3-3
8 3-38 3-3
8 3-3
 
Числа Фибоначчи
Числа ФибоначчиЧисла Фибоначчи
Числа Фибоначчи
 
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
 
презентация лекции №10
презентация лекции №10презентация лекции №10
презентация лекции №10
 
ПВТ - весна 2015 - Лекция 4. Шаблоны многопоточного программирования
ПВТ - весна 2015 - Лекция 4. Шаблоны многопоточного программированияПВТ - весна 2015 - Лекция 4. Шаблоны многопоточного программирования
ПВТ - весна 2015 - Лекция 4. Шаблоны многопоточного программирования
 
Семинар 3. Многопоточное программирование на OpenMP (часть 3)
Семинар 3. Многопоточное программирование на OpenMP (часть 3)Семинар 3. Многопоточное программирование на OpenMP (часть 3)
Семинар 3. Многопоточное программирование на OpenMP (часть 3)
 
лекция 16
лекция 16лекция 16
лекция 16
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
 
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
 
ПВТ - весна 2015 - Лекция 8. Многопоточное программирование без использования...
ПВТ - весна 2015 - Лекция 8. Многопоточное программирование без использования...ПВТ - весна 2015 - Лекция 8. Многопоточное программирование без использования...
ПВТ - весна 2015 - Лекция 8. Многопоточное программирование без использования...
 
5.4 Ключевые слова static и inline
5.4 Ключевые слова static и inline5.4 Ключевые слова static и inline
5.4 Ключевые слова static и inline
 
Address Sanitizer или как сделать программы на c/с++ надежнее и безопаснее (К...
Address Sanitizer или как сделать программы на c/с++ надежнее и безопаснее (К...Address Sanitizer или как сделать программы на c/с++ надежнее и безопаснее (К...
Address Sanitizer или как сделать программы на c/с++ надежнее и безопаснее (К...
 

Similar to Защита информации семинар №3 МФТИ

23.02.15_Симметричные криптосистемы.pptx
23.02.15_Симметричные  криптосистемы.pptx23.02.15_Симметричные  криптосистемы.pptx
23.02.15_Симметричные криптосистемы.pptx
TamaraRadivilova1
 
Помехоустойчивое кодирование - Циклические коды
Помехоустойчивое кодирование - Циклические кодыПомехоустойчивое кодирование - Циклические коды
Помехоустойчивое кодирование - Циклические коды
nauryzbaevr
 
Step cpp0201
Step cpp0201Step cpp0201
Step cpp0201
Evgenij Laktionov
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
Mikhail Kurnosov
 
1 встреча — Параллельное программирование (А. Свириденков)
1 встреча — Параллельное программирование (А. Свириденков)1 встреча — Параллельное программирование (А. Свириденков)
1 встреча — Параллельное программирование (А. Свириденков)
Smolensk Computer Science Club
 
генераторы псевдослучайных последовательностей и шифрование методом гаммирования
генераторы псевдослучайных последовательностей и шифрование методом гаммированиягенераторы псевдослучайных последовательностей и шифрование методом гаммирования
генераторы псевдослучайных последовательностей и шифрование методом гаммирования
hmyrhik nikita
 
лабораторная работа 4
лабораторная работа 4лабораторная работа 4
лабораторная работа 4Gulnaz Shakirova
 
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)Mikhail Kurnosov
 
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)Mikhail Kurnosov
 
Как приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVMКак приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVM
Tech Talks @NSU
 
Советский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисленияСоветский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисления
Positive Hack Days
 
разработка серверов и серверных приложений лекция №3
разработка серверов и серверных приложений лекция №3разработка серверов и серверных приложений лекция №3
разработка серверов и серверных приложений лекция №3
Eugeniy Tyumentcev
 
разработка серверов и серверных приложений лекция №3
разработка серверов и серверных приложений лекция №3разработка серверов и серверных приложений лекция №3
разработка серверов и серверных приложений лекция №3
etyumentcev
 
EVHEN. Асимметричный SPN-шифр на базе white-box-криптографии и хаотических от...
EVHEN. Асимметричный SPN-шифр на базе white-box-криптографии и хаотических от...EVHEN. Асимметричный SPN-шифр на базе white-box-криптографии и хаотических от...
EVHEN. Асимметричный SPN-шифр на базе white-box-криптографии и хаотических от...
Dmitry Schelkunov
 
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Platonov Sergey
 
Use of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureUse of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signature
Andrei Poliakov
 
лабораторная работа 3
лабораторная работа 3лабораторная работа 3
лабораторная работа 3Gulnaz Shakirova
 
НИТИ криптография лекция 2
НИТИ криптография лекция 2НИТИ криптография лекция 2
НИТИ криптография лекция 2Andrei V, Zhuravlev
 

Similar to Защита информации семинар №3 МФТИ (20)

23.02.15_Симметричные криптосистемы.pptx
23.02.15_Симметричные  криптосистемы.pptx23.02.15_Симметричные  криптосистемы.pptx
23.02.15_Симметричные криптосистемы.pptx
 
Помехоустойчивое кодирование - Циклические коды
Помехоустойчивое кодирование - Циклические кодыПомехоустойчивое кодирование - Циклические коды
Помехоустойчивое кодирование - Циклические коды
 
Step cpp0201
Step cpp0201Step cpp0201
Step cpp0201
 
лекция 14
лекция 14лекция 14
лекция 14
 
лекция 14
лекция 14лекция 14
лекция 14
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
 
1 встреча — Параллельное программирование (А. Свириденков)
1 встреча — Параллельное программирование (А. Свириденков)1 встреча — Параллельное программирование (А. Свириденков)
1 встреча — Параллельное программирование (А. Свириденков)
 
генераторы псевдослучайных последовательностей и шифрование методом гаммирования
генераторы псевдослучайных последовательностей и шифрование методом гаммированиягенераторы псевдослучайных последовательностей и шифрование методом гаммирования
генераторы псевдослучайных последовательностей и шифрование методом гаммирования
 
лабораторная работа 4
лабораторная работа 4лабораторная работа 4
лабораторная работа 4
 
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
 
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
 
Как приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVMКак приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVM
 
Советский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисленияСоветский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисления
 
разработка серверов и серверных приложений лекция №3
разработка серверов и серверных приложений лекция №3разработка серверов и серверных приложений лекция №3
разработка серверов и серверных приложений лекция №3
 
разработка серверов и серверных приложений лекция №3
разработка серверов и серверных приложений лекция №3разработка серверов и серверных приложений лекция №3
разработка серверов и серверных приложений лекция №3
 
EVHEN. Асимметричный SPN-шифр на базе white-box-криптографии и хаотических от...
EVHEN. Асимметричный SPN-шифр на базе white-box-криптографии и хаотических от...EVHEN. Асимметричный SPN-шифр на базе white-box-криптографии и хаотических от...
EVHEN. Асимметричный SPN-шифр на базе white-box-криптографии и хаотических от...
 
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
 
Use of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureUse of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signature
 
лабораторная работа 3
лабораторная работа 3лабораторная работа 3
лабораторная работа 3
 
НИТИ криптография лекция 2
НИТИ криптография лекция 2НИТИ криптография лекция 2
НИТИ криптография лекция 2
 

More from Alexander Kolybelnikov

вебинар 18102016 архитектура подсистемы обеспечения юр. эдо
вебинар 18102016 архитектура подсистемы обеспечения юр. эдовебинар 18102016 архитектура подсистемы обеспечения юр. эдо
вебинар 18102016 архитектура подсистемы обеспечения юр. эдо
Alexander Kolybelnikov
 
Юридическая значимость документооборота
Юридическая значимость документооборотаЮридическая значимость документооборота
Юридическая значимость документооборота
Alexander Kolybelnikov
 
лекция о защите дистанционного банковского обслуживания
лекция о защите дистанционного банковского обслуживаниялекция о защите дистанционного банковского обслуживания
лекция о защите дистанционного банковского обслуживания
Alexander Kolybelnikov
 
Information security Seminar #7
Information security Seminar #7Information security Seminar #7
Information security Seminar #7
Alexander Kolybelnikov
 
безопасность использования электронной подписи
безопасность использования электронной подписибезопасность использования электронной подписи
безопасность использования электронной подписи
Alexander Kolybelnikov
 
Основы протокола IPsec
Основы протокола IPsecОсновы протокола IPsec
Основы протокола IPsec
Alexander Kolybelnikov
 
лекция безопасная разработка приложений
лекция  безопасная разработка приложенийлекция  безопасная разработка приложений
лекция безопасная разработка приложений
Alexander Kolybelnikov
 
Information security Seminar #3
Information security Seminar #3 Information security Seminar #3
Information security Seminar #3
Alexander Kolybelnikov
 
Seminar no.1 Information security for 4th course MIPT
Seminar no.1 Information security for 4th course MIPTSeminar no.1 Information security for 4th course MIPT
Seminar no.1 Information security for 4th course MIPT
Alexander Kolybelnikov
 
Information Security Seminar #2
Information Security Seminar #2Information Security Seminar #2
Information Security Seminar #2
Alexander Kolybelnikov
 
Защита информации семинар №9
Защита информации семинар №9Защита информации семинар №9
Защита информации семинар №9
Alexander Kolybelnikov
 
Защита информации семинар №8
Защита информации семинар №8Защита информации семинар №8
Защита информации семинар №8
Alexander Kolybelnikov
 
Защита информации семинар №7
Защита информации семинар №7Защита информации семинар №7
Защита информации семинар №7
Alexander Kolybelnikov
 
Защита информации семинар №6
Защита информации семинар №6Защита информации семинар №6
Защита информации семинар №6
Alexander Kolybelnikov
 
Защита информации семинар №4 МФТИ
Защита информации семинар №4 МФТИЗащита информации семинар №4 МФТИ
Защита информации семинар №4 МФТИ
Alexander Kolybelnikov
 
Защита информации семинар №2 МФТИ
Защита информации семинар №2 МФТИЗащита информации семинар №2 МФТИ
Защита информации семинар №2 МФТИ
Alexander Kolybelnikov
 
Защита информации семинар №1 МФТИ
Защита информации семинар №1 МФТИЗащита информации семинар №1 МФТИ
Защита информации семинар №1 МФТИ
Alexander Kolybelnikov
 

More from Alexander Kolybelnikov (19)

вебинар 18102016 архитектура подсистемы обеспечения юр. эдо
вебинар 18102016 архитектура подсистемы обеспечения юр. эдовебинар 18102016 архитектура подсистемы обеспечения юр. эдо
вебинар 18102016 архитектура подсистемы обеспечения юр. эдо
 
Юридическая значимость документооборота
Юридическая значимость документооборотаЮридическая значимость документооборота
Юридическая значимость документооборота
 
лекция о защите дистанционного банковского обслуживания
лекция о защите дистанционного банковского обслуживаниялекция о защите дистанционного банковского обслуживания
лекция о защите дистанционного банковского обслуживания
 
Information security Seminar #7
Information security Seminar #7Information security Seminar #7
Information security Seminar #7
 
Information security Seminar #6
Information security Seminar #6 Information security Seminar #6
Information security Seminar #6
 
безопасность использования электронной подписи
безопасность использования электронной подписибезопасность использования электронной подписи
безопасность использования электронной подписи
 
Основы протокола IPsec
Основы протокола IPsecОсновы протокола IPsec
Основы протокола IPsec
 
лекция безопасная разработка приложений
лекция  безопасная разработка приложенийлекция  безопасная разработка приложений
лекция безопасная разработка приложений
 
Information security Seminar #3
Information security Seminar #3 Information security Seminar #3
Information security Seminar #3
 
Seminar no.1 Information security for 4th course MIPT
Seminar no.1 Information security for 4th course MIPTSeminar no.1 Information security for 4th course MIPT
Seminar no.1 Information security for 4th course MIPT
 
Information Security Seminar #2
Information Security Seminar #2Information Security Seminar #2
Information Security Seminar #2
 
Защита информации семинар №9
Защита информации семинар №9Защита информации семинар №9
Защита информации семинар №9
 
Защита информации семинар №8
Защита информации семинар №8Защита информации семинар №8
Защита информации семинар №8
 
Защита информации семинар №7
Защита информации семинар №7Защита информации семинар №7
Защита информации семинар №7
 
Защита информации семинар №6
Защита информации семинар №6Защита информации семинар №6
Защита информации семинар №6
 
Защита информации семинар №4 МФТИ
Защита информации семинар №4 МФТИЗащита информации семинар №4 МФТИ
Защита информации семинар №4 МФТИ
 
Защита информации семинар №2 МФТИ
Защита информации семинар №2 МФТИЗащита информации семинар №2 МФТИ
Защита информации семинар №2 МФТИ
 
Защита информации семинар №1 МФТИ
Защита информации семинар №1 МФТИЗащита информации семинар №1 МФТИ
Защита информации семинар №1 МФТИ
 
лекция №4
лекция №4лекция №4
лекция №4
 

Защита информации семинар №3 МФТИ

  • 1. Семинар № 3 Блочные шифры Колыбельников Александр kisttan@gmail.com
  • 2. Содержание • Область применения блочных шифров • Поля Галуа, операции с полиномами • Схема Фейстеля • ГОСТ 28147-89 • AES • Схемы применения алгоритмов шифрования
  • 4. Основные преимущества блочных шифров • Эффективная реализация на современных программно-аппаратных платформах; • Высокая скорость шифрования/расшифрования; • Гарантированная стойкость.
  • 5. Поля Галуа, операции с полиномами
  • 6. Поля Галуа • Конечное поле или поле Галуа — поле, состоящее из конечного числа элементов. • Конечное поле обычно обозначается или GF(q), где q — число элементов поля. • Простейшим примером конечного поля является — кольцо вычетов по модулю простого числа p.
  • 7. Поля Галуа • Построение поля GF(pn ), где p — простое число, n — натуральное число, начинается с построения его простого подполя GF(p) (которое совпадает со всем полем при n=1). • Простое поле GF(p) строится как кольцо вычетов по модулю p, которое в виду простоты p не имеет делителей нуля и является полем. • Элементы — числа . Операции проводятся как с обычными целыми числами с приведением результата по модулю p. • Поле GF(pn ) при n>1 строится как факторкольцо , где f(x) — неприводимый многочлен степени n над полем . Таким образом, для построения поля из pn элементов достаточно отыскать многочлен степени n, неприводимый над полем . • Элементами поля являются все многочлены степени меньшей n с коэффициентами из . Арифметические операции (сложение и умножение) проводятся по модулю многочлена f(x), то есть, результат соответствующей операции — это остаток от деления на f(x) с приведением коэффициентов по модулю p
  • 8. Операции с полиномами • Многочлен (или полином) от n переменных — есть конечная формальная сумма вида • где I = (i1,i2,...,in) есть набор из целых неотрицательных чисел (называется мультииндекс), cI — число (называемое «коэффициент многочлена»), зависящее только от мультииндекса I.
  • 12. • Длина ключа – 256 бит; • Блок шифрования – 64 бит; • Количество циклов – 32 цикла. ГОСТ 28147-89
  • 14. Пример S-блока • 4, 13, 0, 14, 8, 7, 10, 2, 5, 1, 9, 6, 11, 15, 12, 3
  • 15. AES
  • 16. • Длина ключа – 128-256 бит; • Блок шифрования – 128 бит; • Количество циклов – 10, 12, 14 циклов. AES
  • 17. Цикл AES • SubBytes() • ShiftRows() • MixColumns() • AddRoundKey()
  • 18. SubBytes Процедура SubBytes() обрабатывает каждый байт состояния, независимо производя нелинейную замену байтов используя таблицу замен(S-box). Такая операция обеспечивает нелинейность алгоритма шифрования. Построение S-box состоит из двух шагов. Во-первых, производится взятие обратного числа в GF{28 }. Во-вторых, к каждому байту b из которых состоит S-box применяется следующая операция:
  • 19. SubBytes где , и где bi есть i-ый бит b, а ci — i-ый бит c = {63} или {01100011}. Таким образом, обеспечивается защита от атак, основанных на простых алгебраических свойствах.
  • 20. ShiftRows • ShiftRows работает со строками State. При этой трансформации строки состояния циклически сдвигаются на r байт по горизонтали, в зависимости от номера строки. Для нулевой строки r = 0, для первой строки r = 1Б и тд.. Таким образом каждая колонка выходного состояния после применения процедуры ShiftRows состоит из байтов из каждой колонки начального состояния. Для алгоритма Rijndael паттерн смещения строк для 128 и 192-ух битных строк одинаков. Однако для блока размером 256 бит отличается от предыдущих тем, что 2, 3, и 4-е строки смещаются на 1, 3, и 4 байта соответственно.
  • 21. MixColumns • В процедуре MixColumns, четыре байта каждой колонки State смешиваются используя для этого обратимую линейную трансформацию. MixColumns обрабатывает состояния по колонкам, трактуя каждую из них как полином четвертой степени. Над этими полиномами производится умножение в GF(28 ) по модулю x4 + 1 на фиксированный многочлен c(x) = 3x3 + x2 + x + 2. Вместе с ShiftRows , MixColumns вносит диффузию в шифр
  • 22. AddRoundKey • В процедуре AddRoundKey, RoundKey каждого раунда объединяется со State. Для каждого раунда Roundkey получается из CipherKey используя процедуру KeyExpansion; каждый RoundKey такого же размера, что и State. Процедура производит побитовый XOR каждого байта State с каждым байтом RoundKey
  • 26. Режим гаммирования с обратной связью
  • 27. Режим гаммирования с обратной связью по выходу