Описание GNU Privacy Guard
. | 1. Быстрый старт | След.

# Подписи и их проверка

Цифровая подпись удостоверяет создателя и дату создания документа. Если документ будет каким-либо образом изменен, то проверка цифровой подписи выдаст ошибку. Цифровая подпись может использоваться в тех же целях, что и обычная подпись. Исходные тексты GnuPG, например, подписаны, и Вы можете убедиться, что они дошли до Вас неизмененными.

Создание и проверка подписей отличается от зашифрования/расшифрования. При подписи документа используется закрытый ключ подписывающего, а проверяется подпись с использованием его открытого ключа. Например, Alice использует свой секретный ключ, чтобы подписать свою новую статью в журнал. Редактор, получив письмо, использует открытый ключ Alice, чтобы проверить, что письмо действительно от Alice и не было изменено за время пересылки.

Для подписи документов используется команда `--sign`. Документ для подписи на входе и подписанный на выходе.

    alice% gpg --output doc.sig --sign doc

    You need a passphrase to unlock the private key for
    user: "Alice (Judge) <alice@cyb.org>"
    1024-bit DSA key, ID BB7576AC, created 1999-06-04

    Enter passphrase:

Документ сжимается перед подписью и выводится в двоичном формате.

Имея подписанный документ, Вы можете либо проверить подпись, либо проверить подпись и восстановить исходный документ. Для проверки подписи используется команда `--verify`. Для проверки подписи и извлечения документа используется команда `--decrypt`. Подписанный документ на входе и проверенный и восстановленный на выходе.

    blake% gpg --output doc --decrypt doc.sig
    gpg: Signature made Fri Jun  4 12:02:38 1999 CDT using DSA key ID BB7576AC
    gpg: Good signature from "Alice (Judge) <alice@cyb.org>"

## Прозрачно подписанные(Clearsigned) документы

Обычно цифровые подписи применяются при подписи сообщений usenet и e-mail. При этом нежелательно сжимать подписываемые документы. Команда `--clearsign` добавляет к документу цифровую подпись в формате ASCII, но не изменяет сам документ.

    alice% gpg --clearsign doc

    You need a passphrase to unlock the secret key for
    user: "Alice (Judge) <alice@cyb.org>"
    1024-bit DSA key, ID BB7576AC, created 1999-06-04

    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1

    [...]
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v0.9.7 (GNU/Linux)
    Comment: For info see http://www.gnupg.org

    iEYEARECAAYFAjdYCQoACgkQJ9S6ULt1dqz6IwCfQ7wP6i/i8HhbcOSKF4ELyQB1
    oCoAoOuqpRqEzr4kOkQqHRLE/b8/Rw2k
    =y6kj
    -----END PGP SIGNATURE-----

## Отделенная подпись

Применение подписанных документов ограниченно. Получатель должен восстанавливать документ из подписанной версии, и даже в случае прозрачной подписи, подписанный документ должен быть отредактирован для получения оригинала. Поэтому имеется третий метод подписи документов, который создает отделенную подпись (detached signature). Отделенная подпись создается при использовании команды `--detach-sig`.

    alice% gpg --output doc.sig --detach-sig doc

    You need a passphrase to unlock the secret key for
    user: "Alice (Judge) <alice@cyb.org>"
    1024-bit DSA key, ID BB7576AC, created 1999-06-04

    Enter passphrase:

Для проверки подписи необходимы и отделенная подпись, и документ. Для проверки используется команда `--verify`.

    blake% gpg --verify doc.sig doc
    gpg: Signature made Fri Jun  4 12:38:46 1999 CDT using DSA key ID BB7576AC
    gpg: Good signature from "Alice (Judge) <alice@cyb.org>"

. |  | След.
Зашифрование и расшифрование документов |  | Concepts