Задний план
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по умолчанию.