Information - MaksinaND/aes-sha384-stego-241-353 GitHub Wiki

1. Цель проекта

Создание клиент-серверного приложения, позволяющего шифровать сообщения алгоритмом AES, хешировать с помощью SHA-384, встраивать зашифрованные сообщения в изображения (стеганография), а также обеспечивать авторизацию, регистрацию и многопользовательский режим.


2. Функциональные требования

  • ✅ Регистрация и авторизация пользователей
  • ✅ Хеширование сообщений (SHA-384)
  • ✅ Шифрование сообщений (AES)
  • ✅ Встраивание сообщения в изображение (PNG)
  • ✅ Выделение сообщения из изображения
  • ✅ Поддержка нескольких клиентов одновременно
  • ✅ Хранение данных пользователей в базе данных
  • 🔄 Механизм ролей: пользователь / администратор
  • 🔄 Дополнительные функции для администратора:
    • Просмотр логов/активных пользователей
    • Управление учетными записями
  • 🔄 Интерфейс клиента с отображением:
    • Метки / таблицы
    • Статуса операций

3. Нефункциональные требования

  • Сервер и клиент реализованы на C++ с использованием фреймворка Qt 6
  • GUI-интерфейс на основе Qt Widgets / Designer
  • Работа по сетевому протоколу TCP (через QTcpServer и QTcpSocket)
  • Синглтон-паттерн реализован вручную (C++)
  • Поддержка многопоточности на сервере (QThread)
  • Возможность сборки и запуска в Qt Creator
  • Возможность генерации документации через Doxygen
  • Возможность упаковки в Docker-контейнер (через qmake + Dockerfile)
  • Локальное хранение данных — SQLite

4. Ограничения

  • Только изображения в формате PNG
  • Длина сообщения ограничена вместимостью изображения
  • Взаимодействие клиента с сервером только по определённому API

5. Среда выполнения

  • Qt 6.8.2 (или совместимая версия)
  • Компилятор MinGW 64-bit (или MSVC)
  • SQLite (через Qt SQL module)
  • C++17 или выше
  • ОС: Windows / Linux
  • IDE: Qt Creator

Предыдущая страница Следующая страница
Документация Ход работы
⚠️ **GitHub.com Fallback** ⚠️