| .. | ||
| docs | ||
| guide | ||
| friend_public_key.asc | ||
| my_public_key.asc | ||
| README.md | ||
| secret_message_friend2me.txt | ||
| secret_message_friend2me.txt.asc | ||
| secret_message_me2friend.txt | ||
| secret_message_me2friend.txt.asc | ||
Лабораторная работа №6
Tip
Cryptography is nightmare magic math that cares what kind of pen you use.
| .docx | .docx | |
|---|---|---|
| report | report | template |
Задание
«Криптография на практике: шифрование файлов и сообщений»
Назначение: получить практический опыт использования симметричного и асимметричного шифрования.
- Симметричное шифрование: установите программу VeraCrypt. Создайте небольшой зашифрованный контейнер (файл), защищенный паролем. Смонтируйте его как виртуальный диск и скопируйте в него несколько файлов.
- Асимметричное шифрование: установите почтовый клиент Thunderbird и дополнение Enigmail или используйте онлайн-генератор PGP. Сгенерируйте свою пару ключей (открытый и закрытый). Экспортируйте свой открытый ключ в файл.
- (Опционально) Обменяйтесь открытыми ключами с одногруппником и отправьте друг другу зашифрованное текстовое сообщение.
Что сдают студенты
Note
Часто при сдаче Работы 6 просят доказать шифруемость контейнера VeraCrypt. Для этого можно, например, открыть файл контейнера через 010 Editor (или аналогичные программы) и показать, что данные в нем хранятся не в открытом виде.
- Скриншот интерфейса VeraCrypt с смонтированным томом.
- Файл с экспортированным открытым PGP-ключом.
- Краткое описание разницы между симметричным и асимметричным шифрованием.
Критерии оценки
- 3 балла: Создание и использование зашифрованного контейнера в VeraCrypt.
- 2 балла: Генерация пары PGP-ключей.
Контрольные вопросы
1. В чем основное различие между симметричным и асимметричным шифрованием?
Основное различие заключается в количестве ключей, используемых для шифрования и дешифрования.
- Симметричное шифрование использует один и тот же ключ (секретный ключ) как для шифрования, так и для расшифровки данных. Это быстро и эффективно для шифрования больших объемов данных. Пример: AES (используется в VeraCrypt), DES, 3DES.
- Асимметричное шифрование использует пару ключей: открытый (public key) и закрытый (private key). Сообщение, зашифрованное открытым ключом, может быть расшифровано только соответствующим закрытым ключом, и наоборот. Это решает проблему безопасной передачи ключа, но работает медленнее. Пример: RSA (используется в PGP/GPG).
Простая аналогия:
- Симметричное шифрование — это как один ключ, который закрывает и открывает сейф. Нужно безопасно передать этот ключ владельцу сейфа.
- Асимметричное шифрование — это как замочная скважина (открытый ключ), в которую любой может опустить письмо, но достать его может только тот, у кого есть уникальный ключ (закрытый ключ).
2. Как решается проблема безопасной передачи ключа в асимметричной криптографии?
В асимметричной криптографии проблема безопасной передачи ключа не возникает для секретного сообщения, и в этом её главное преимущество.
Механизм решения:
- Открытый ключ предназначен для свободного распространения. Его можно публиковать на сайтах, отправлять по почте, размещать на серверах ключей. Он не является секретным.
- Закрытый ключ хранится в тайне. Владелец никому его не передает и защищает паролем.
- Процесс шифрования:
- Если кто-то (например, ваш одногруппник) хочет отправить вам секретное сообщение, он шифрует его с помощью вашего открытого ключа.
- После шифрования расшифровать это сообщение можно только с помощью вашего закрытого ключа. Даже сам отправитель не сможет прочитать зашифрованное сообщение.
- Поскольку закрытый ключ никогда никуда не передавался и находится только у вас, перехват зашифрованного сообщения или открытого ключа не позволит злоумышленнику его прочитать.
Таким образом, необходимость в безопасном канале для передачи ключа исчезает — нужен только канал, гарантирующий аутентичность открытого ключа (что он действительно принадлежит вам, а не злоумышленнику).
3. Для каких реальных задач применяется шифрование (приведите 3 примера)?
- Защита данных при передаче (HTTPS/SSL/TLS). Когда вы заходите на сайт банка, входите в социальную сеть или совершаете покупки онлайн, соединение между вашим браузером и сервером шифруется. Это защищает логины, пароли, номера кредитных карт от перехвата.
- Шифрование дисков и устройств (BitLocker, FileVault, VeraCrypt). Используется для защиты данных на ноутбуке, внешнем жестком диске или USB-флешке в случае их утери или кражи. Даже получив физический доступ к устройству, злоумышленник не сможет прочитать данные без пароля или ключа.
- Защищенная коммуникация (PGP/GPG в email, Signal, WhatsApp). Шифрование используется для защиты конфиденциальности переписки по электронной почте и в мессенджерах. Оно гарантирует, что прочитать сообщение сможет только intended recipient (предназначенный получатель).
Полезные ссылки
| Ссылка | Описание |
|---|---|
| docs/template.docx | Шаблон отчёта для Работы 6 |
| veracrypt.io/en/Beginner's%20Tutorial.html | Официальное руководство для начинающих по VeraCrypt |
| proton.me/blog/what-is-pgp | Простое объяснение PGP |
Лицензия
Проект доступен с открытым исходным кодом на условиях Лицензии MIT.
Авторские права 2025 Max Barsukov
Поставьте звезду ⭐, если вы нашли этот проект полезным.