Горбачева Маргарита Валерьевна | студентка группы БПИ-245 ФКН НИУ ВШЭ
Данный курсовой проект представляет собой модель шифровальной машины «Энигма» — электромеханического устройства, использовавшегося для шифрования и дешифрования секретных сообщений в первой половине XX века.
- Изучение принципов работы шифровальной машины «Энигма».
- Разработка модели, имитирующей работу оригинальной машины.
- Исследование криптографической устойчивости шифра «Энигма».
- Ядро программы backend написано на языке программирования C++.
- frontend реализован на языке программирования Python с использованием фреймворка PyQT
Enigma-Cipher-Machine/
│
├── 📂 backend/ #Ядро программы, написанное на C++
│ ├── .cpp и .hpp файлы
│
├── 📂 frontend/ #Python-интерфейс (PyQt5)
│ ├── main.py
│ └── enigma_core.py #Связь с C++ backend'ом
|
├── 📂 data/ #Текстовые ресурсы backend
│ └── ... .txt файлы
│
├── 📂 Документация/ #Документация (ТЗ, ТП, ПМИ и т.п.)
├── 📂 Энигма_инфо/ #Исторические настройки Энигмы
│
├── 📄 .gitignore
├── 📄 EnigmaApp.bat #cкрипт быстрого запуска
├── 📄 LICENSE
├── Makefile #cборка всего проекта(backend)
├── 📄 README.md
└── requirements.txt #для настройки python
Существует три способа запуска приложения:
-
Чтобы запустить готовое приложение без настройки окужения, необходимо перейти в раздел Releases данного Github-репозитория (https://github.com/Misss-Lacoste/Enigma-Cipher-Machine/releases/tag/v1.0.0) и скачать архив с кодом под соотвктсвующую ОС: Windows или Linux. Необходимо распаковать архив и в открывшейся папке
EnigmaAppоткрыть файлEnigmaApp.exe. -
Есть возможность склонировать данный репозиторий на свой ПК в случае, если установлен Python, Makefile.
2.1.
git clone https://github.com/Misss-Lacoste/Enigma-Cipher-Machine2.2.
cd /d/HSE/Enigma-Cipher-Machine2.3.
pip install -r requirements.txt2.4.
cd backend2.5.
mingw32-make run2.6. Далее в проводнике (в папке проекта) после успешной компиляции backend'а найти файл
EnigmaApp.batи открыть его. -
Можно скомпилировать только backend-часть, не активируя при этом frontend и работать с консольной версией приложения. Для этого аналогично запускаем программу, используя команду
mingw32-make runи наблюдаем интерактивный вывод в терминале.