Какие ключи GnuPG используются для проверки подписи?

Предположим, что у меня есть список из трех ключевых пар на моем экране bash, когда я запускаю следующие команды:

gpg2 --list-keys 

а также

 gpg2 --list-secret-keys 

Мой вопрос: когда я запускаю следующую команду для проверки подписанного файла, какая пара ключей используется этим инструментом?

 gpg2 --verify test.sig 

Проверяет ли он все ключи подписи один на один, чтобы найти совпадающий или завершить все ключи?

Подпись OpenPGP включает ссылку на ключ, используемый для подписи. GnuPG будет использовать этот точный ключ для проверки подписи.

Пример для некоторого документа, подписанного моим собственным ключом, проанализированного с использованием gpg --list-packets :

 :compressed packet: algo=1 :onepass_sig packet: keyid 8E78E44DFB1B55E9 version 3, sigclass 0x00, digest 2, pubkey 1, last=1 :literal data packet: mode b (62), created 1453746673, name="", raw data: 4 bytes :signature packet: algo 1, keyid 8E78E44DFB1B55E9 version 4, created 1453746673, md5len 0, sigclass 0x00 digest algo 2, begin of digest fc 6a hashed subpkt 2 len 4 (sig created 2016-01-25) subpkt 16 len 8 (issuer key ID 8E78E44DFB1B55E9) data: [4095 bits] 

8E78E44DFB1B55E9 является 8E78E44DFB1B55E9 подразделением, используемым для подписи ( я включил длинные идентификаторы ключей , если вы задаетесь вопросом о шестнадцатиричных идентификаторах 16 символов).

Для шифрования можно скрыть ключ получателя. В этом случае GnuPG должен попробовать все доступные ключи шифрования для дешифрования сообщения.

Дополнительные ключи могут быть задействованы для проверки подписи, что означает поиск путей доверия в сети доверия: но это еще одна, большая тема.