Что определяет хэш-алгоритм clearsign, используемый GnuPG?

при использовании GnuPG для очистки текста подписи в подписанном сообщении присутствует хэш-часть. Возьмем пример:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

abc
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEZZvqE5j3koIxs9Xim0+E4a5Vo2cFAlkRdvQACgkQm0+E4a5V
o2ew2QgAzHuvZ7Hlb6+3qRLjc9Yhdi+6tBmNWXbWpKoAQxpzx6jKQp/FSpQeGWuj
RxcYnqU3pk4ycMLtaCFcfnHEW5N0B95eXGcurgMGz7A6xhy0hy25x8WBdeKVAQ+2
PLA2ytJLUn2L1S3ueqJWcdVUBRaiczOOsYvvO
...
...

-----END PGP SIGNATURE-----

но алгоритм хэширования отличается для разных ключей (или серверов), иногда SHA1, иногда SHA256, SHA512.

что определяет это, ключ или GnuPG клиент? Я не могу найти информацию об этом, когда вы используете gpg создать новые ключи, нет возможности указать алгоритм хэширования.

update: чтобы очистить мой вопрос, я добавил Больше информации ниже.
команда, используемая для создания приведенного выше примера:

gpg --clearsign

(версия gpg-gpg2 в моей системе. )

затем я набрал какой-то случайный текст, и вот результат выше.
Я хочу знать, как генерировать выходные данные с конкретными значениями " Hash:"? скажи, SHA1 ?

15
задан social_loser
11.05.2023 2:14 Количество просмотров материала 3462
Распечатать страницу

3 ответа

алгоритм хеширования выбирается реализацией OpenPGP, в вашем случае GnuPG. Кого выбрали

для шифрования сообщений, кроме того, предпочтения получателя, хранящиеся в открытом ключе продуманный.

0
отвечен Jens Erat 2023-05-12 10:02

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

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

1
отвечен Seth 2023-05-12 12:19

короткий ответ добавить следующую опцию в команду gpg

--s2k-digest-algo SHA256

конечно, SHA256 можно изменить на SHA512 ... смотрите доступный алгоритм в gpg --version

пример:

$ gpg -a --yes --clearsign --s2k-digest-algo SHA256 --output dists/xenial/InRelease --local-user a@b.c --detach-sign dists/xenial/Release

$ grep -i hash dists/xenial/InRelease
Hash: SHA256
0
отвечен osexp2003 2023-05-12 14:36

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх