Я ищу способ шифрования файлов с помощью открытого ключа (асимметричного ключа алгоритма, такого как RSA), часто файлов, размер которых превышает размер ключа.Рекомендуемый способ для файлов, размер которых превышает размер ключа, - это использовать гибридное шифрование, зашифровывая файл случайно сгенерированным ключом AES, а затем зашифровав ключ AES открытым ключом, в результате чего для этого процесса будут созданы два файла.
Я хочу, чтобы этот процесс генерировал только один выходной файл вместо двух, в конечном итоге с помощью одной строки команды для шифрования и дешифрования
Вот пример того, как это можно сделать с несколькими командами и двумя выходными файлами
# Generate a 256 bit (32 byte) random key
openssl rand -base64 32 > KEY_FILE
# Encrypt the key with the public RSA key
openssl rsautl -encrypt -inkey PUBLIC_KEY_FILE.pem -pubin -in KEY_FILE -out ENCRYPTED_KEY_FILE
# Encrypt the actual file with AES-CBC
openssl enc -aes-256-cbc -salt -in FILE -out ENCRYPTED_FILE -pass file:./KEY_FILE
# Decrypt the ENCRYPTED_KEY_FILE
openssl rsautl -decrypt -inkey id_rsa.pem -in ENCRYPTED_KEY_FILE -out KEY_FILE
# Decrypt the actual file with AES-CBC
openssl enc -d -aes-256-cbc -in ENCRYPTED_FILE -out FILE -pass file:./KEY_FILE
Есть идеи, как это можно включить в один файл и, надеюсь, с помощью одной командной строки?