Я на самом деле строю решение для шифрования файлов, которое должно иметь следующие характерные особенности:
СТОРОНА ШИФРОВАНИЯ
- Во-первых, мне нужно Ха sh файл с SHA-256 и сохраните его в отдельном файле sh.
- Затем я должен зашифровать этот файл с помощью закрытого ключа отправителя.
- Симметричный ключ c будет сгенерирован для алгоритма AES.
- Затем я должен зашифровать фактический файл с этим ключом симметрии c.
- Наконец, этот ключ симметрии c будет зашифрован с помощью publi c ключ получателя.
СТОРОНА ОТКЛЮЧЕНИЯ
- Расшифровка файла ha sh с открытым ключом c ключ отправителя.
- Расшифровка зашифрованного ключа асимметрии c с закрытым ключом получателя.
- Расшифровка этого фактического файла с ключом симметрии c.
- Повторное хеширование текущего файла
- Сравните га sh, сгенерированное с ха sh, предоставленным отправителем для проверки e content.
Итак, я завершил все, что мне нужно реализовать. Однако у меня есть несколько запросов, касающихся ключей на самом деле; которые не выяснены после просмотра многих веб-сайтов.
ВОПРОСЫ
- Что на самом деле означает закрытый ключ отправителя? Я знаю, мне придется реализовать это с помощью алгоритма RSA; который работает с парой ключей. Если я (отправитель) зашифрую файл с помощью ключа publi c, сгенерированного в паре ключей, то как будет сгенерирован закрытый ключ для получателя? Это тот же ключ, сгенерированный под парой ключей?
если да, то должны ли мы предоставить этот ключ получателю? если нет, то как данные будут расшифрованы получателем? так как сообщение зашифровано моей собственной сгенерированной парой ключей ...
Как мы можем поделиться соответствующими ключами и хешами с получателем? Поскольку электронные письма и другие платформы публикуются c и не должны использоваться для обмена конфиденциальными данными.
Пожалуйста, простое объяснение будет очень полезным для меня, я запутался с этими вышеупомянутыми терминами.
Заранее спасибо.