| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| gpg:encryption_files_and_messages [2023/06/01 11:13] – [администрирование_linux] so_v_a | gpg:encryption_files_and_messages [2026/09/01 11:29] (текущий) – so_v_a |
|---|
| # Как пользоваться gpg: шифрование, расшифровка файлов и сообщений, подпись файлов и проверка подписи, управление ключами. Часть 4 | <!DOCTYPE markdown> |
| |
| | # Как пользоваться gpg: шифрование, расшифровка файлов и сообщений, подпись файлов и проверка подписи, управление ключами. |
| |
| ## Шифрование файлов и данных с GPG | ## Часть 4. Шифрование |
| | |
| | |
| | ### Шифрование файлов и данных с GPG |
| |
| 1. Первое что нужно знать про шифрование в gpg, что оно может быть: | 1. Первое что нужно знать про шифрование в gpg, что оно может быть: |
| 3. Третье: зашифровать можно одним или более публичными ключами. | 3. Третье: зашифровать можно одним или более публичными ключами. |
| |
| Для ==_шифрования файла используя симметричный метод с паролем_== используйте опцию **-c** (либо её длинный аналог **--symmetric**): | Для **_шифрования файла используя симметричный метод с паролем_** используйте опцию **-c** (либо её длинный аналог **--symmetric**): |
| |
| Например, команда для шифрования файла test.php паролем в gpg: | Например, команда для шифрования файла test.php паролем в gpg: |
| В результате шифрования будет создан файл с расширением **.gpg** (в данном случае это будет файл test.php.gpg). | В результате шифрования будет создан файл с расширением **.gpg** (в данном случае это будет файл test.php.gpg). |
| |
| Для того, чтобы ==_зашифровать файл симметричным шифрованием с возможностью расшифровки приватным ключом_== (в этом случае его можно будет расшифровать приватным ключом, либо паролем) нужно использовать сразу несколько опций: | Для того, чтобы _зашифровать файл симметричным шифрованием с возможностью расшифровки приватным ключом_ (в этом случае его можно будет расшифровать приватным ключом, либо паролем) нужно использовать сразу несколько опций: |
| |
| - **-e** — означает шифрование данных | - **-e** — означает шифрование данных |
| |
| |
| Для ==шифрования публичным ключом _**(-e)**_, чтобы файл _**(test.php)**_ мог расшифровать только владелец соответствующего парного приватного ключа _**(-r 'Ivan Ivanov')**_==: | Для **шифрования публичным ключом** _(-e)_, **чтобы файл** _(test.php)_ **мог расшифровать только владелец соответствующего парного приватного ключа** _(-r 'Ivan Ivanov')_: |
| ``` | ``` |
| gpg -e -r 'Ivan Ivanov' test.php | gpg -e -r 'Ivan Ivanov' test.php |
| |
| Вместо опции **-r 'Имя Адресата'** можно использовать опцию **-R 'Имя Адресата**' или её длинный аналог **--hidden-recipient 'Имя Адресата'**. Она также шифрует файл для указанного адресата, но имя этого адресата шифруется. | Вместо опции **-r 'Имя Адресата'** можно использовать опцию **-R 'Имя Адресата**' или её длинный аналог **--hidden-recipient 'Имя Адресата'**. Она также шифрует файл для указанного адресата, но имя этого адресата шифруется. |
| | |
| > Cледует упомянуть, что при использовании опции **-r** даже в зашифрованном файле имя адресата может посмотреть кто угодно. | > Cледует упомянуть, что при использовании опции **-r** даже в зашифрованном файле имя адресата может посмотреть кто угодно. |
| |
| Пример ==шифрования файла== test.php публичным ключом пользователя Ivan Ivanov, но ==с зашифрованным именем адресата==: ^14b864 | Пример **шифрования файла** test.php публичным ключом пользователя Ivan Ivanov, но **с зашифрованным именем адресата**: |
| |
| ``` | ``` |
| ``` | ``` |
| |
| > Обратите внимание, что во всех случаях шифрования **оригинальный файл остаётся**!!! Вам самим нужно решать, что с ним делать, например, удалить его. | (**!**)**Note**: Обратите внимание, что во всех случаях шифрования **оригинальный файл остаётся**!!! Вам самим нужно решать, что с ним делать, например, удалить его. |
| |
| ==Чтобы каждый раз не вводить имя получателя, можно установить значение по умолчанию== опцией **--default-recipient**. Также с ней в комплекте идут опции **--default-recipient-self** и **--no-default-recipient**. | **Чтобы каждый раз не вводить имя получателя, можно установить значение по умолчанию** опцией **--default-recipient**. Также с ней в комплекте идут опции **--default-recipient-self** и **--no-default-recipient**. |
| |
| | ### Как в GPG шифровать файлы, чтобы их можно было отправить в виде сообщения |
| ## Как в GPG шифровать файлы, чтобы их можно было отправить в виде сообщения | |
| |
| По умолчанию файлы сохраняются в бинарный формат OpenPGP. (_Кстати, в этом формате файл может занимать значительно меньше места (в разы!) чем исходный файл до шифрования_.) | По умолчанию файлы сохраняются в бинарный формат OpenPGP. (_Кстати, в этом формате файл может занимать значительно меньше места (в разы!) чем исходный файл до шифрования_.) |
| Если вы откроете зашифрованный файл, то убедитесь, что это бинарные данные, которые невозможно передать копированием-вставкой без потери их функциональности. | Если вы откроете зашифрованный файл, то убедитесь, что это бинарные данные, которые невозможно передать копированием-вставкой без потери их функциональности. |
| |
| Но иногда может возникнуть необходимость ==переслать зашифрованный файл или сообщение== по почте или в мессенджере ==в виде обычного текста==. Это возможно с помощью опции **-a**, которая создаёт зашифрованный файл в формате ASCII. | Но иногда может возникнуть необходимость **переслать зашифрованный файл или сообщение** по почте или в мессенджере **в виде обычного текста**. Это возможно с помощью опции **-a**, которая создаёт зашифрованный файл в формате ASCII. |
| ``` | ``` |
| gpg -e -a -r 'Ivan Ivanov' test.php | gpg -e -a -r 'Ivan Ivanov' test.php |
| |
| В результате будет создан файл с расширением **.asc** (в данном случае это файл test.php.asc). | В результате будет создан файл с расширением **.asc** (в данном случае это файл test.php.asc). |
| | ### Как в GPG зашифровать сообщение |
| |
| ## Как в GPG зашифровать сообщение | Для **зашифровки сообщения** используйте следующую конструкцию: |
| | |
| Для ==зашифровки сообщения== используйте следующую конструкцию: | |
| ``` | ``` |
| echo 'ТЕКСТ СООБЩЕНИЯ' | gpg -e -a -r 'ПОЛУЧАТЕЛЬ СООБЩЕНИЯ' | echo 'ТЕКСТ СООБЩЕНИЯ' | gpg -e -a -r 'ПОЛУЧАТЕЛЬ СООБЩЕНИЯ' |
| В результате зашифрованное сообщение будет выведено в стандартный вывод, то есть в терминал. | В результате зашифрованное сообщение будет выведено в стандартный вывод, то есть в терминал. |
| |
| > Обратите внимание: для того, чтобы зашифрованное сообщение можно было скопировать и вставить в мессенджер или в email (или распечатать на принтере), в параметры GPG добавлена опция **-a** — . Без этой опции будут выведены бинарные данные. | > **Обратите внимание**: для того, чтобы зашифрованное сообщение можно было скопировать и вставить в мессенджер или в email (или распечатать на принтере), в параметры GPG добавлена опция **-a** — . Без этой опции будут выведены бинарные данные. |
| |
| Если вы хотите ==сохранить зашифрованное сообщение в файл==, то используйте конструкцию: | Если вы хотите **сохранить зашифрованное сообщение в файл**, то используйте конструкцию: |
| ``` | ``` |
| echo 'ТЕКСТ СООБЩЕНИЯ' | gpg -e -a -r 'ПОЛУЧАТЕЛЬ СООБЩЕНИЯ' > ФАЙЛ_С_ШИФРОМ | echo 'ТЕКСТ СООБЩЕНИЯ' | gpg -e -a -r 'ПОЛУЧАТЕЛЬ СООБЩЕНИЯ' > ФАЙЛ_С_ШИФРОМ |
| ``` | ``` |
| |
| #gpg | [[decoding|Продолжение]] |
| | |
| | [[0_content|Оглавление]] |
| |