Crypto в CTF

Содержание

Слайд 2

ТИПЫ ЗАДАНИЙ

Расшифровать текст
Заставить сервер выплюнуть флаг (или как-то по другому извлечь информацию

ТИПЫ ЗАДАНИЙ Расшифровать текст Заставить сервер выплюнуть флаг (или как-то по другому
о флаге с сервера)
Подобрать пароль
...

Слайд 3

С ЧЕГО НАЧАТЬ?

Анализ того, что дано
Описание таска и его основное содержание
Разобрать какие

С ЧЕГО НАЧАТЬ? Анализ того, что дано Описание таска и его основное
криптопримитивы используются и зачем
Попытаться понять, в чем состоит твоя задача
Если криптопримитив реализован, то сравнить реализацию со стандартом (в интернетах)

Слайд 4

Что такое криптография?

Что такое криптография?

Слайд 5

Свойства информации, обеспечиваемые криптографией

Конфиденциальность
Целостность
Аутентичность

Свойства информации, обеспечиваемые криптографией Конфиденциальность Целостность Аутентичность

Слайд 6

Конфиденциальность

Конфиденциальность - секретность информации. Обеспечивается с помощью шифров.
Шифр - пятерка (X, Y,

Конфиденциальность Конфиденциальность - секретность информации. Обеспечивается с помощью шифров. Шифр - пятерка
K, E, D), где
X - множество открытых текстов,
Y - множество закрытых текстов,
K - множество ключей,
E: X x K -> Y,
D: Y x K -> X,
D(E(x)) = x.
Примеры: Одноалфавитная замена, Шифр Виженера, RC4, AES, RSA, ...

Слайд 7

Целостность

Целостность информации - свойство информации, позволяющее проверять, находится ли информация в изначальном

Целостность Целостность информации - свойство информации, позволяющее проверять, находится ли информация в
виде или нет. Обеспечивается с помощью хэш-функций, кодов аутентификации сообщений(MAC), цифровых подписей.

Слайд 8

Аутентичность

Аутентичность информации - подлинность информации. Обеспечивается с помощью кодов аутентификации сообщений(MAC), цифровых

Аутентичность Аутентичность информации - подлинность информации. Обеспечивается с помощью кодов аутентификации сообщений(MAC),
подписей. Эти криптопримитивы обеспечивают некое доказательство принадлежности данных человеку или группе людей.

Слайд 9

Хэш-функции

Хэш-функция - тройка (X, Y, H)
X - множество сообщений, имеют произвольную длину
Y

Хэш-функции Хэш-функция - тройка (X, Y, H) X - множество сообщений, имеют
- множество хэшей. Все хэши имеют фиксированную длину
H: X -> Y - функция
Для криптографии используются хэш-функции, обладающие свойствами:
Необратимость
Стойкость к коллизиям
Примеры: md5(уже нет), sha1, sha256, sha512

Слайд 10

Одноалфавитная замена


X - множество текстов букв из алфавита А
Y - множество текстов

Одноалфавитная замена X - множество текстов букв из алфавита А Y -
букв из алфавита B
K - множество подстановок из A в B
E(x) = k(x), k принадлежит K
D(x) = k*(x), k* принадлежит K*, множеству подстановок из B в A

Слайд 11

Одноалфавитная замена

Одноалфавитная замена

Слайд 12

Аффинный шифр

Аффинный шифр

Слайд 13

Шифр Виженера

Шифр Виженера

Слайд 14

Другие шифры классической криптографии

Решетка Кардано, омофоническая замена, сцитала, столбцовая перестановка, ....
Подробнее -

Другие шифры классической криптографии Решетка Кардано, омофоническая замена, сцитала, столбцовая перестановка, ....
Сингх “Книга шифров”

Слайд 15

Блочные шифры

Блочные шифры - вид шифров, обрабатывающий за одну итерацию блок из

Блочные шифры Блочные шифры - вид шифров, обрабатывающий за одну итерацию блок
нескольких байт.
Текст должен быть разделен на блоки одинаковой длины. Соответственно, длина текста должна быть кратна длине блоков. Для того, чтобы этому соответствовать используется padding.
Примеры шифров: AES, DES

Слайд 17

Поточные шифры

Поточные шифры - вид шифров, обрабатывающий за одну итерацию один байт(бит)

Поточные шифры Поточные шифры - вид шифров, обрабатывающий за одну итерацию один
путем сложения по модулю 2 с байтом(битом) гаммы.
Гамма как правило есть псевдослучайная последовательность байт, вырабатываемая генератором ключевого потока.
Текст может быть произвольной длины.
Примеры шифров: RC4, Salsa20

Слайд 19

Блочные шифры. Режимы шифрования

ECB

Блочные шифры. Режимы шифрования ECB

Слайд 20

Блочные шифры. Режимы шифрования

CBC

Блочные шифры. Режимы шифрования CBC

Слайд 21

Блочные шифры. Режимы шифрования

CTR

Блочные шифры. Режимы шифрования CTR

Слайд 22

Атаки на блочные шифры

Часто встречаются в CTF:
Атаки на шифрование и расшифрование по

Атаки на блочные шифры Часто встречаются в CTF: Атаки на шифрование и
сторонним каналам ( padding oracle attack, compression attack, ....)
Использование шифра не по назначению (например, использование шифра для обеспечения целостности зашифрованного сообщения)
....

Слайд 23

Атаки на поточные шифры

Часто встречаются в CTF:
Атаки с известным открытым текстом
Использование шифра

Атаки на поточные шифры Часто встречаются в CTF: Атаки с известным открытым
не по назначению (например, использование шифра для обеспечения целостности зашифрованного сообщения)
Использование слабых генераторов ключевого потока
....

Слайд 24

Немного о хэш-функциях

Немного о хэш-функциях

Слайд 25

Атаки на хэш-функции

атаки по словарю
length-extension attack
поиск элемента из прообраза(для хэша U такого

Атаки на хэш-функции атаки по словарю length-extension attack поиск элемента из прообраза(для
V, что H(U) = V), поиск коллизий - годится только для криптографически нестойких функций
...

Слайд 26

Немного о криптографии с открытым ключом

Немного о криптографии с открытым ключом

Слайд 28

РАБОЧАЯ СРЕДА

Python (или любой другой скриптовый язык)
Sage, libnum, pycrypto, …
Онлайн-сервисы (в интернетах,

РАБОЧАЯ СРЕДА Python (или любой другой скриптовый язык) Sage, libnum, pycrypto, …
например http://www.cryptoclub.org/)
ручка с тетрадкой :)

Слайд 29

С ЧЕГО НАЧАТЬ?

Анализ того, что дано
Описание таска и его основное содержание
Разобрать какие

С ЧЕГО НАЧАТЬ? Анализ того, что дано Описание таска и его основное
криптопримитивы используются и зачем
Попытаться понять, в чем состоит твоя задача
Если криптопримитив реализован, то сравнить реализацию со стандартом (в интернетах)