Используя gpg2 следующим образом: gpg2 -c file.txt шифрует файл только с использованием шифра по умолчанию (CAST5), используя ключ, который я предоставляю только на stdin, и не имеет ничего общего с моими ключами RSA / SHA для моего пользователя [. ..]
Правильный.
Страница man говорит, что использование аргумента --cipher-algo нарушает стандарт OpenPGP; Зачем?
На странице руководства это не сказано, а просто говорит, что «позволяет нарушать стандарт OpenPGP». Причина в том, что ваша версия pgp2
может поддерживать шифры, которые не являются частью стандарта OpenPGP; если вы используете их, вы нарушаете стандарт (а другие могут не иметь возможности расшифровать ваше сообщение). Если вы не используете опцию, pgp2
автоматически будет использовать шифр из стандарта.
У меня такое (возможно, жалкое) чувство, что AES256 - это путь к максимальной безопасности; Есть ли какие-либо существенные различия или вещи, о которых я должен знать, в безопасности между ним и CAST5?
Ну, единственное, что вы можете сказать наверняка о безопасности шифра, это то, есть ли какие-либо известные атаки на него. Против eiter AES-256 или CAT-5 нет (по крайней мере, практических), поэтому оба они считаются безопасными. Все, кроме этого, является спекуляцией.
Зачем подписывать файлы?
Подписание файла доказывает, что он был подписан лицом, у которого есть закрытый ключ, с которым он был подписан. Это дает гарантии того, что данные не были подделаны; это обычно не зависит от шифрования (что гарантирует, что никто без ключа не сможет прочитать сообщение). Таким образом, эти два имеют разные цели (хотя они часто используются вместе).
Например: вы шифруете контракт, чтобы убедиться, что он остается в секрете; Вы подписываете договор, чтобы дать другим подтверждение того, что вы прочитали и одобрили его, и чтобы другие не могли его изменить.