Итак, у меня есть Raspberry Pi 2 Model 2 с подключенным к нему внешним HDD. Интересно, какой наиболее эффективный способ шифрования больших файлов (~10 ГБ).
Я использовал 7zip для добавления файлов в защищенный паролем архив без сжатия и для разделения их на более мелкие части:
7z a -p filename -mx0 -v100m -mhe file-to-be-encrypted
Однако обработка файла размером 10 ГБ занимает много времени из-за высокой нагрузки на процессор.
Так, может быть, есть более простой способ шифрования файлов, не требующий такой большой мощности процессора?
решение1
Вы можете использовать openSSL, который безопасен и очень защищен.
Для больших файлов (более 600 МБ) вам придется разбить файл на маленькие с помощью split
команды
split -b 500M -d -a 4 <large_file> large_file.part.
затем используйте openssl smime
для шифрования каждой части
find -maxdepth 1 -type f -name 'large_file.part.*' | sort | xargs -I % openssl smime -encrypt -binary -aes-256-cbc -in % -out %.enc -outform DER PUBLIC_PEM_FILE
Чтобы расшифровать файл, вам придется повторить в обратном порядке
find -maxdepth 1 -type f -name 'large_file.part.*.enc' | sort | xargs -I % openssl smime -decrypt -in % -binary -inform DEM -inkey PRIVATE_PEM_FILE -out %.dec
find -maxdepth 1 -type f -name 'large_file.part.*.dec' | sort | xargs cat > restored_large_file
решение2
ccrypt
довольно приличный способ быстро зашифровать файл (или файлы).
Он есть в репозиториях, поэтому просто установите его с помощью:
sudo apt-get install ccrypt
Он поставляется с удобной вариацией cat
, называемой ccat
. Если вы зашифруете текстовый файл с помощью , ccrypt
вы можете использовать ccat
его для быстрого отображения в терминале.
ccrypt
не только для текстовых файлов. Вы можете использовать его для любых файлов.