PGP: Кодирование и шифрование информации с открытым ключом - [24]

Шрифт
Интервал

pgp -еа exam.doc marcos

По причинам безопасности, нам иногда может потребоваться удалить оригинал. PGP может делать это автоматически при помощи опции -w:

pgp –eaw exam.doc marcos

Кодирование сообщения для нескольких получателей

Теперь представьте, что наш учитель хочет послать эти задачи своим коллегам по кафедре. Чтобы это сделать, ему необходимо просто набрать вместо одного несколько идентификаторов:

pgp –ea exam.doc marcos juan alicia

Заметьте, что опция -а тоже используется, поэтому выходной файл будет в формате ASCII и его можно будет послать по e-mail.

Как сообщение подписывается.


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

Чтобы подписать документ, необходимо использовать ваш закрытый ключ:

pgp -s файл [-u идентификатор]

Если у нас есть несколько закрытых ключей в нашем secring.pgp, мы можем выбрать один из них при помощи идентификатора.

Когда наш учитель из примера решает подписать экзаменационные задачи, чтобы сообщить, что их послали не студенты-шутники :) он набирает следующее:

pgp –s exam.doc

Эта команда создает файл с именем exam.doc.pgp, который не является ASCII-текстом, потому что PGP пытается сжать файл. Если, с другой стороны, вы хотите подписать файл, оставив текст читабельным и с подписью в конце, то процедура будет выглядеть:

pgp -sta exam.doc

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

Кроме того, можно подписать документ и затем закодировать его при помощи следующей команды:

pgp -es файл идентификатор_получателя [-u мой_идентификатор]

Например:

pgp -es exam.doc marcos –u angel

Здесь файл exam.doc кодируется и подписывается и сохраняется в файле exam.pgp. Для кодирования файла используется открытый ключ, идентифицируемый подстрокой "marcos", поэтому только этим ключом можно декодировать этот файл. Затем я идентифицирую мой закрытый ключ строкой "angel", так как в моем кольце есть несколько ключей.

Даже в этом случае можно создать файл в формате ASCII, используя опцию -a.

Кроме того, нас может заинтересовать возможность создания подписи файла отдельно от данных. Чтобы это сделать, воспользуемся опцией -b:

pgp -sb exam.doc

Эта команда создает новый файл exam.sig, содержащий только подписи.

Декодирование.


Для декодирования файла и/или проверки его подписи используется команда:

pgp входной_файл [-o выходной_файл]

По умолчанию предполагается, что входной файл имеет расширение .pgp.   Выходной файл является необязательным параметром и будет содержать декодированный файл. Если выходной файл не указан, декодированный файл будет сохранен в файле входной_файл без расширения .pgp.

Однако, после декодирования файла нам необходимо указать стандартный выход для декодированного файла. Это достигается использованием опции -m:

pgp -m файл

Существует еще одна возможность — использовать каналы ввода и вывода с опцией -f:

pgp -fs идентификатор < входной_файл > выходной_файл

Еще одним интересным сценарием является декодирование подписанного сообщения, посланного нам кем-нибудь, с сохранением подписи, например для кодирования его еще раз для того, чтобы послать его кому-нибудь еще. Чтобы это сделать, нужно использовать опцию -d:

pgp -d exam

Здесь мы берем файл exam.pgp и декодируем его, но при этом оставляем оригинальную подпись в файле. Теперь можно переходить к кодированию его открытым ключом того человека, который после получения может проверить аутентичность исходного сообщения.

Обработка текстовых файлов.


Часто PGP используется для кодирования электронной почты, которая чаще всего представляет собой текст. Проблема текстовых файлов заключается в том, что на разных машинах текст представляется по-разному; например в MS-DOS все строки заканчиваются символами возврата каретки и перевода строки, в Линуксе только перевод строки, в Macintosh только возврат каретки... и т.д. Чтобы избежать несовместимости платформ, нам необходимо сказать PGP, что мы хотим закодировать текстовый файл, а не бинарный файл, с тем, чтобы после разархивирования его можно было адаптировать к особенностям платформы получателя. Для кодирования текстового файла для e-mail используется опция -t. Например:

pgp -sta текстовый_файл идентификатор

"Отпечатки (fingerprints)".


Отпечаток является последовательностью из 16 бит, которая идентифицирует ключ уникальным образом. Можно проверить, принадлежит ли имеющийся у вас ключ именно тому человеку, сравнив каждый из 16 бит вместо всех 1024 байт, которые составляют ключ.

Для просмотра отпечатка ключа используется команда:

pgp -kvc идентификатор [кольцо]

Использование PGP в командной строке.

PGP имеет опции, которые особенно полезны при использовании PGP в командной строке в автоматизирующих скриптах.

+batchmode

При использовании этой опции PGP не будет спрашивать ничего сверх крайне необходимого. Используйте эту опцию для автоматической проверки подписи. При отсутствии подписи в файле возвращается код ошибки 1; если файл подписан и подпись правильна, то возвращается 0.