Неясно, что вы пытаетесь сделать. Зашифруйте большой файл, конечно. Но как? Симметричный с AES или асимметричный с RSA ?
Ваша первая команда openssl genrsa
создает общедоступный RSA/ частная пара ключей длиной 192, что, как отмечает Кен Уайт, является плохой идеей, причем не только степень 2, но и невероятно короткая длина ключа;чтобы оценить, насколько это плохо, 512-битные ключи RSA были сломаны двадцать лет назад . Фактически, мой openssl версии 1.1.1b явно отказывается даже создавать такую пару ключей:
$ openssl genrsa -aes256 -out foo.key 192
Generating RSA private key, 192 bit long modulus (2 primes)
25769803792:error:04081078:rsa routines:rsa_builtin_keygen:key size too small:crypto/rsa/rsa_gen.c:78:
Ваша вторая команда затем делает что-то совершенно другое. Он пытается зашифровать Bigfile.txt с помощью AES256 в режиме CBC, что нормально, но вы не даете команде 256-битный ключ AES. Вместо этого вы указываете ему искать в файле ключей RSA ключевую фразу, что, конечно, не то, что вам нужно. Openssl также не принимает это:
$ openssl enc -aes-256-cbc -in BigFile.txt -out cipher.bin -pass File: pubPrivate.key
Extra arguments given.
enc: Use -help for summary.
Итак, давайте предположим, что вы хотите симметрично зашифровать BigFile.txt с AES256 в режиме CBC, используя ключ, полученный из пароля. Затем вы передадите этот пароль трем получателям. Как быстро это? На моем ноутбуке с 1 ГБ BigFile.txt:
$ time openssl enc -aes-256-cbc -in BigFile.txt -out cipher.bin -pass pass:start123
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.
real 0m3,099s
user 0m1,562s
sys 0m0,968s
Итак, openssl шифрует около 330 МБ / с, и это также говорит нам, что получение ключа небезопасно, и мы должны использовать PBKDF2 вместо. Давайте сделаем это:
$ time openssl enc -aes-256-cbc -in BigFile.txt -out cipher.bin -pbkdf2 -pass pass:start123
real 0m3,202s
user 0m1,656s
sys 0m1,077s