Конвертировать шифрование большого файла - PullRequest
0 голосов
/ 17 февраля 2019

Мы создаем мобильное приложение, которое требует хранения зашифрованных файлов на устройстве и последующей загрузки его на сервер.Только сервер должен иметь возможность дешифровать его, и если устройство скомпрометировано, файлы не должны быть дешифрованы.

Я изучал использование шифрования с открытым ключом для этой цели, однако я читал в некоторых устанавливает , что использование асимметричных ключей для шифрования больших файлов неэффективно, и шифрование с использованием конвертов является лучшим подходом.Шаги для шифрования / дешифрования конверта:

  1. Клиентское устройство (C) получает открытый ключ сервера (S)
  2. C создает симметричный ключ шифрования данных (DK)
  3. C шифрует файл с использованием DK
  4. C шифрует DK с помощью открытого ключа S
  5. C загружает файл в S как с зашифрованным файлом, так и с зашифрованным DK
  6. S расшифровывает зашифрованный DK с помощьюэто закрытый ключ
  7. S, который расшифровывает файл, используя DK

Мой вопрос: правильны ли вышеуказанные шаги и есть ли библиотеки, которые реализуют этот поток? Шифрование AWS SDK предоставляет эту функцию, однако нам необходимо реализовать ее в мобильном приложении, которое не может подключиться к AWS

и использовать его *

1 Ответ

0 голосов
/ 17 февраля 2019

Являются ли вышеуказанные шаги правильными

Действительно, эти шаги правильны для шифрования с использованием асимметричного шифрования (PKI)

есть библиотеки, которые реализуют этот поток

Вы можете использовать пакет по умолчанию crypto .Пожалуйста, класс Cipher для поддерживаемого набора шифров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...