Задний план
CAST-5 - это более старый алгоритм шифрования, используемый GnuPG, потому что AES еще не существовал в то время, когда GnuPG был изначально создан как исходный . Он не используется широко (кроме GnuPG по причинам совместимости).
Это WARNING: message was not integrity protected
потому, что эта функция не включена по умолчанию во время шифрования. Если это было включено, GnuPG мог бы сказать, был ли файл изменен при передаче.
Обновление: в современных версиях GnuPG, поставляемых с Ubuntu / Debian, теперь MDC включен по умолчанию, и вы больше никогда не увидите это сообщение для всего, что подписано этими новыми версиями.
Решения
Чтобы использовать более сильный AES-256, вы должны указать его либо в командной строке, либо в файле конфигурации.
Командная строка: добавьте --cipher-algo AES256
параметр, чтобы полная строка для шифрования стала
gpg -o myfile.gpg --cipher-algo AES256 --symmetric myfile
Файл конфигурации (рекомендуется): добавьте следующую строку в ~/.gnupg/gpg.conf
файл конфигурации.
cipher-algo AES256
Я рекомендую этот подход, потому что он будет использоваться для всех будущих операций GPG с этой учетной записью пользователя.
Пользователь ничего не сможет изменить для расшифровки файла - GnuPG обнаружит это автоматически.
Обратите внимание, что при использовании шифра AES-256 сообщение автоматически защищается для обеспечения целостности. Чтобы вручную включить защиту целостности на других шифрах, для которых она не включена (например, CAST-5), добавьте --force-mdc
параметр при шифровании.
Еще лучше: подписывайтесь!
Еще лучшим подходом было бы подписать ваши файлы с помощью пары ключей (если она у вас есть). Просто добавьте --sign
опцию к команде шифрования, например так:
gpg -o myfile.gpg --cipher-algo AES256 --sign --symmetric myfile
Это не только подтвердит целостность файла, но и позволит получателю файла проверить источник. Любые изменения в файле могут привести к сбою проверки подписи.
gpg -c myfile
зашифровать иgpg myfile.gpg
расшифровать, вывод будет расшифрованmyfile
по умолчанию.