Назад к обновлениям
UpdatedSep 2, 2026

Python Security Project — Updated!

Python Security Project, реализующий инструмент для шифрования и дешифрования файлов.

Поделиться

🔐 Настольный инструмент криптографического шифрования и дешифрования файлов

Производственная утилита безопасности для настольных систем на Python, предназначенная для защиты локальных файловых ресурсов с помощью аутентифицированного симметричного шифрования. Приложение оснащено адаптивным графическим интерфейсом пользователя (GUI), созданным на Tkinter, независимым криптографическим движком и структурированным диагностическим журналированием.

Криптографическая логика

  • Шифрование: Открытый текст + Секретный ключ ──> Шифротекст
  • Дешифрование: Шифротекст + Тот же секретный ключ ──> Открытый текст

🚀 Ключевые возможности

  • Интерфейс Tkinter: Чистый, адаптивный графический интерфейс пользователя (GUI) с нативными диалогами выбора файлов операционной системы, адаптивным масштабированием сетки, настраиваемыми цветовыми переходами активных состояний и интерактивными оповещениями о статусе.
  • Раздельная архитектура: Полное разделение ответственности между визуальным слоем представления (CryptoAppGUI) и основными алгоритмами внутренней обработки (MyCryptoProcessor).
  • Аутентифицированное шифрование (AES-128): Использует надежную спецификацию Fernet — построенную на AES в режиме CBC с 128-битным ключом — обеспечивая абсолютную конфиденциальность данных и криптографическую целостность.
  • Двухцелевая система журналирования: Заменила нестабильные выводы в терминал на нативную конфигурацию логирования, которая одновременно выводит метрики в реальном времени в консоль и записывает постоянные аудиторские следы в crypto_app.log.
  • Устойчивость к ошибкам выполнения: Реализованы строгие процедуры очистки путей, санитизации строк и детальные области проверки try-except для предотвращения сбоев при обходе путей и корректной обработки отсутствующих файлов.
  • Защитные механизмы UX (ограничение ввода): Реализованы отдельные браузеры каталогов с ограничением ввода. Селектор открытого текста ограничивает просмотр файлами .txt, а селектор шифротекста фильтрует исключительно файлы .encrypted, полностью исключая случайные ошибки выбора.

🛠️ Технический стек

  • Язык: Python 3.x
  • GUI-фреймворк: Tkinter / TTK (нативные компоненты)
  • Криптографический движок: cryptography (спецификация Fernet)
  • Движок логирования: logging (нативный компонент)

📦 Установка и настройка

  1. Клонируйте репозиторий:

    git clone https://gitlab.com/rejithregi-group/SecurityProject.git
    cd SecurityProject
    
  2. Установите зависимости:

    pip install -r requirements.txt
    

🖥️ Использование и рабочий процесс

Запустите окно приложения из вашего терминала:

python FileEncryptionDecryptionTool.py

Типичный рабочий процесс

  1. Сгенерируйте новый ключ: Нажмите синюю кнопку, чтобы сгенерировать защищенный файл .key. Сохраните его безопасно через нативное окно ОС. Предупреждение: Потеря этого ключа означает, что ваши зашифрованные данные не могут быть восстановлены.
  2. Зашифруйте целевой файл: Нажмите «Обзор...» в строке Целевой файл открытого текста (строго фильтруется по .txt), выберите ваш мастер-ключ шифрования и нажмите зеленую кнопку выполнения. Приложение выводит защищенную копию с суффиксом .encrypted.
  3. Расшифруйте целевой файл: Нажмите «Обзор...» в выделенной строке Целевой зашифрованный файл (строго фильтруется по файлам .encrypted), выберите соответствующий ключ проверки и выполните кнопку угольного цвета, чтобы безопасно восстановить ваш открытый текстовый ресурс на диск.

🔒 Операции безопасности и аудит

Эта утилита активно реализует автоматизированную диагностику для поддержания чистоты следов разработчика:

  • Проверка целостности системы: Все файловые операции выполняются внутри безопасных контекстных менеджеров (with open) для обеспечения сброса блоков данных и безопасных циклов очистки памяти.
  • Аудит журналирования: Каждая транзакция сеанса, сопоставление путей ключей и результат операций шифрования явно фиксируются в постоянном файле с именем crypto_app.log.

👨‍💻 Автор

📜 Лицензия

Этот проект лицензирован в соответствии с лицензией MIT.

Категории