Приложение для шифрование файлов и хранения ключей на сервере.
- Пользователь регистрируется на сервере, где для него создается AES-ключ.
- Также пользователь генерирует и передает свой открытый RSA-ключ.
- Для шифрования/дешифровки файлов клиент делает запрос к серверу, чтобы получить ключ AES.
- Ключ AES шифруется открытым ключом RSA и отправляется клиенту
- Клиент расшифровывает ключ AES закрытым ключом RSA и использует его для шифрования файла
- Также алгоритм использует режим AEAD и аутентифицирует файлы с помощью MAC
- При дешифровке файл проверяется на подлинность
Сначала запускается сервер, потом клиент
Зайдите в папку server
Запуск базы данных:
./run_postgres.sh
Запуск приложения (приложение работает на Flask):
- Создайте виртуальное окружение python и установите зависимости:
pip3 install -r requirements.txt
- Запуск приложения:
python3 app.py
Зайдите в папку client
Установка зависимостей:
npm install
Запуск приложения (приложение работает на electron.js):
npm run start
- При первом входе вам нужно зарегистрироваться по нажатию кнопки "Registrate"
- Если вы хотите зашифровать файл, то выбирете его по кнопке "Encrypt", после чего будет создан зашифрованный файл в той же папке имя_файла.encrypt
- Для расшифровки файла .encrypt, используйте кнопку "Decrypt"

