Вот мы и пришли к тому что ключ расшифровки снова попадает другому человеку.
Как пример для легкого восприятия скину картинку с пеинта
Просто вопрос, зачем тогда нужен закрытый ключ в вашем примере, если допустим подписанные мной документы я высылаю всегда другим людям и они проверяют его открытым ключём
Ты не прав, 2 ядра на 8ггц не будут жрать много.
Rust Visual C++ prerequisites
Rust requires a linker and Windows API libraries but they don't seem to be
available.
These components can be acquired through a Visual Studio installer.
1) Quick install via the Visual Studio Community installer
(free for individuals, academic uses, and open source).
2) Manually install the prerequisites
(for enterprise and advanced users).
3) Don't install the prerequisites
(if you're targeting the GNU ABI).
>This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.
Rustup metadata and toolchains will be installed into the Rustup
home directory, located at:
C:\Users\WDAGUtilityAccount\.rustup
This can be modified with the RUSTUP_HOME environment variable.
The Cargo home directory is located at:
C:\Users\WDAGUtilityAccount\.cargo
This can be modified with the CARGO_HOME environment variable.
The cargo, rustc, rustup and other commands will be added to
Cargo's bin directory, located at:
C:\Users\WDAGUtilityAccount\.cargo\bin
This path will then be added to your PATH environment variable by
modifying the HKEY_CURRENT_USER/Environment/PATH registry key.
You can uninstall at any time with rustup self uninstall and
these changes will be reverted.
Current installation options:
default host triple: x86_64-pc-windows-msvc
default toolchain: stable (default)
profile: default
modify PATH variable: yes
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>
При подписании документа у нас есть такие действующие лица:
1. Отправитель документа, который хочет отправить документ получателю
2. Получатель документа, который хочет получить документ и убедиться, что его никто не изменил во время доставки, и что его отправил действительно отправитель.
3. Удостоверяющий центр, которому доверяют отправитель и получатель.
При подписании документа по сути есть три больших шага:
1. Выпуск приватного и публичного сертификата.
2. Подписание документа.
3. Проверка подлинности документа.
При выпуске сертификатов - удостоверяющий центр передаёт отправителю документа два сертификата: публичный и приватный (либо подписывает те, что ему передал отправитель) Публичный можно передавать кому угодно. Приватный никому передавать нельзя.
В сертификате хранятся разные ключи для использования в разных алгоритмах, метаданные, и сам сертификат подписан центром сертификации.
При подписании документа отправитель берёт такую пару ключей и алгоритм, при которых шифрование происходит с закрытым ключом, а расшифровка - с открытым (RSA)
Отправитель передаёт получателю документ, зашифрованный хэш документа, публичный сертификат, и информацию о том, какой алгоритм использовался.
Получатель затем расшифровывает хэш и проверяет его с вычисленным самостоятельно.
В TLS публичный и приватный ключ используется только для аутентификации и передачи предварительного мастер-ключа. Но только там наоборот - клиент шифрует некоторое случайное число при помощи публичного ключа сервера, а сервер потом расшифровывает его при помощи приватного ключа.
А для получения сессионного ключа используется DH
https://tls.dxdt.ru/tls.html