Как работает опция clearsign GnuPG? [закрытый]


Можно подписать файл с помощью PGP, используя опцию clearsign, выполнив следующую команду в CMD

gpg --clearsign filename

Какой алгоритм GnuPG использует для опции clearsign такой, что даже после выполнения подписи выходная подпись находится в читаемом fromat?

Я читал руководство, в котором говорилось, как работает опция clearsign, но я не в состоянии понять ее. он доступен здесь.

Согласно инструкции, броня наносится на подпись, которая делает подпись нечитаемый. Но вопрос был в том, как clearsign сделать подпись читаемой.

Но как можно управлять выводом подписи, состоящей из алгоритма хэширования и функции шифрования, в виде открытого текста?

Используя функцию хэширования и шифрования, как можно гарантировать вывод в диапазон символов ASCII, которые можно прочитать?

1 3

1 ответ:

Подпись всегда двоична, на самом деле. clearsign означает только, что подпись вычисляется не над сжатым сообщением, а над исходным сообщением, если оно имеет текстовый формат. Это означает, что подписанное сообщение все еще читается получателем (после заголовка ----BEGIN PGP SIGNED MESSAGE----), Что означает, что в Почте получатель все еще может прочитать сообщение, не проходя через программу PGP. Получателю по-прежнему нужна такая программа для проверки подписи.

Поскольку сигнатура всегда двоична но иногда нужно отправлять в текстовом формате, это означает, что подпись кодируется как base64, чтобы гарантировать, что она также в текстовом формате. Если вы не делаете clearsign, но sign, то сначала все сообщение сжимается, а затем подписывается, и общее число кодируется base64. Сообщение все равно будет читаемо для всех (после декодирования и декомпрессии base64). Так стандартная кодировка ASCII является броня, которая использовалась для гарантии выхода из набора ASCII. Но это окончательное кодирование только для удобства, лежащее в основе двоичная форма-это фактическая подпись, которая проверяется.