Фон
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
Это не только подтвердит целостность файла, но и позволит получателю файла проверить источник. Любые изменения в файле могут привести к сбою проверки подписи.