Безопасность компьютерных систем 2019/Задание 4
Содержание
Задание на асимметричную криптографию
Нужно выполнить оба задания по ссылке «Attacks on RSA», каждое стоит по 0.5 баллов, суммарно можно получить 1 балл.
Формат отчета
- Флаг.
- Скрипт для Python или Sage, взламывающий ключ.
- Текстовое описание того, как был взломана криптосистема.
- Описание недостатка, который позволил получить:
- для 1-го задания: зашифрованное сообщение.
- для 2-го задания: доступ к машине с флагом.
- Краткое описание того, как системно устранить недостаток криптосистемы.
Сдача решения
Присылайте решения на почту arthur@khashaev.ru с темой «[crypto@hsecurity] Ф.И.О.».
Срок сдачи
До 22 декабря 23:59:59.
Задание на симметричную криптографию
Легенда
У вас есть дамп домашней папки пользователя hse_crypto_sc, где он хранил зашифрованный пароль своей учётной записи от машины 91.214.71.18 (порт 7777).
- encrypt.py — шифрование данных
- decrypt.py — расшифрование данных
- encrypted_password.txt — файл с зашифрованным паролем
Скачать дамп можно здесь . Команда для подключения выглядит так:
ssh hse_crypto_sc@91.214.71.18 -p7777
Задача
- Понять, как работает эта криптосистема.
- Понять, как будете атаковать: Known-Plaintext, Chosen Plaintext, Ciphertext Only, что-то другое?
- Узнать пароль пользователя без применения бандитского криптоанализа, социальной инженерии и помощи коллег.
Формат решения
Решение должно содержать следующий минимум:
- Программный код на языке Python (последние версии python2 и python3, а также совместимые с ними), взламывающий пароль. Другие языки обсуждаются.
- Текстовое описание того, как был взломан шифр.
- Какой недостаток в этой криптосистеме позволил вам дешифровать шифртекст.
- Флаг, как доказательство получения доступа по ssh.
Если было обнаружено несколько способов взлома (их минимум 3 разной степени элегантности), то подобное описание стоит сделать для каждой атаки.
Куда и как сдавать
Присылайте на почту okuneva-anna@mail.ru с темой [crypto@hsecurity] Фамилия И.О.
. На случай коллизии ФИО, напишите его полностью =)
Оценивание
- Выполнение задания даёт 1 балл. Также возможно начисление дополнительных баллов за альтернативные способы решения.
- Решения, основанные на полном переборе, не принимаются.
- Перебирать ssh-пароль бессмысленно.
Сроки
Задание принимается до 23:59, 22 декабря 2019 года.
Примечание
Вопросы и баги можно писать на почту okuneva-anna@mail.ru , в чат курса в Telegram и в личку @dzenizdasy.
Задание на Padding oracle
Нужно выполнить задание по ссылке https://task-json.sh.je/.
Формат отчета
- Флаг.
- Скрипт для Python (или любого другого языка), который получает флаг (взаимодействуя с сайтом). В нем не должно быть сложных констант --- т.е. не должны быть забиты конкретные пары зашифрованных/расшифрованных блоков, или другой информации, которую вы получили другим скриптом.
- Краткое текстовое описание того, как скрипт работает
Сдача решения
Присылайте решения в телеграм @neexemil (желательно) или на почту neex.emil@gmail.com (время ответа будет дольше). Указывайте ФИО.
Срок сдачи
Срок сдачи задания до 23:59 22 декабря 2019 года.
Оценивание
Задание весит 1 балл.