Может есть два способа шифрования данных одним ключом и дешифрование двумя ключами? - PullRequest
0 голосов
/ 16 сентября 2018

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

1 Ответ

0 голосов
/ 16 сентября 2018

Да, это возможно. Основная идея заключается в том, что вы используете ключ для конкретного документа. Например.

  1. Создайте новую пару ключей, специфичную для файла, который вы шифруете.
  2. Используйте личный ключ документа для его шифрования.
  3. Используйте открытые ключи для каждого пользователя для шифрования открытого ключа документа.
  4. Отправьте все шифрования открытого ключа документа вместе с документом.
  5. Каждый пользователь может использовать свой личный ключ hir для расшифровки ключа документа, который был зашифрован с помощью личного ключа hir, а затем использовать этот ключ для расшифровки документа.

Для более полного / строгого объяснения:

На самом деле шифрование документа не нужно выполнять с использованием шифрования с открытым ключом. Классическая (сильная) симметричная схема шифрования с тем же ключом для шифрования и дешифрования должна работать так же хорошо. (На самом деле лучше, так как шифрование / дешифрование документа будет быстрее.)

Могут быть и другие (хорошие) способы сделать это. Но предложение о шифровании документа несколько раз и отправке всех копий имеет очевидную проблему: вы эффективно отправляете (или храните) N копий документа для N человек.

...