<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>по стопам webkill&#039;а &#187; шифрование</title>
	<atom:link href="http://blog.lukmus.ru/tag/%d1%88%d0%b8%d1%84%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lukmus.ru</link>
	<description>это наш химический дом для печальных жителей Земли</description>
	<lastBuildDate>Sat, 21 Oct 2023 19:10:13 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>GnuPG в linux</title>
		<link>http://blog.lukmus.ru/2010/10/29/gnupg-v-linux/</link>
		<comments>http://blog.lukmus.ru/2010/10/29/gnupg-v-linux/#comments</comments>
		<pubDate>Fri, 29 Oct 2010 01:44:07 +0000</pubDate>
		<dc:creator>lukmus</dc:creator>
				<category><![CDATA[настройка и установка]]></category>
		<category><![CDATA[gnupg]]></category>
		<category><![CDATA[gpg]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[pgp]]></category>
		<category><![CDATA[дешифрование]]></category>
		<category><![CDATA[шифрование]]></category>

		<guid isPermaLink="false">http://blog.lukmus.ru/?p=564</guid>
		<description><![CDATA[Входе переписки с некоторыми персоналиями выяснилось, что они до сих пор не умеют пользоватся GPG, а точнее шифровать файлы. Большинство разумного человечества и представителей других рас здесь ничего нового не узнает, те же кто не умеет читать инструкции по эксплуатации, подчерпнут здесь основы работы с GPG в консоли. Прежде всего нужно установить GPG если оно [...]]]></description>
			<content:encoded><![CDATA[<p>Входе переписки с некоторыми персоналиями выяснилось, что они до сих пор не умеют пользоватся GPG, а точнее шифровать файлы.</p>
<p><a href="http://blog.lukmus.ru/wp-content/uploads/2010/10/logo-gnupg-white-bg.png"><img class="alignleft size-full wp-image-565" style="margin: 3px 5px;" title="logo-gnupg-white-bg" src="http://blog.lukmus.ru/wp-content/uploads/2010/10/logo-gnupg-white-bg.png" alt="gnupg" width="180" height="63" /></a>Большинство разумного человечества и представителей других рас здесь ничего нового не узнает, те же кто не умеет читать инструкции по эксплуатации, подчерпнут здесь основы работы с GPG в консоли.<span id="more-564"></span></p>
<p>Прежде всего нужно установить GPG если оно не установлено по умолчанию. Тарболы можно скачать с оффсайта &#8211; <a rel="nofollow" href="http://www.gnupg.org/" target="_blank">gnupg.org</a>. Однако, вместо компиляции исходников, некоторые предпочитают пакетные менеджеры.</p>
<p>Linux&#8217;ы на основе Red Hat:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">yum install</span> pgp</pre></td></tr></table></div>

<p>В Debian&#8217;ах:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get install</span> pgp</pre></td></tr></table></div>

<h2>генерация ключей</h2>
<p>Прежде всего хочется отметить, что GPG имеет возможность делать как ключи для симметричного шифрования, так и для несимметричного. Разница в том, что в первом случае один ключ подходит как для шифрации, так и для дешифрации, а во-втором открытым ключом можно только шифровать, а закрытым можно расшифровать.</p>
<p>Для нас большую ценность представляет несимметричное шифрование т.к. оно круче.</p>
<p>Итак, генерируем ключи. Под root&#8217;ом это делать или нет разницы, ну кроме того что у файлов ключей будут права рутовские или нет.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;">$ gpg <span style="color: #660033;">--gen-key</span>
gpg <span style="color: #7a0874; font-weight: bold;">&#40;</span>GnuPG<span style="color: #7a0874; font-weight: bold;">&#41;</span> 1.4.10; Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>C<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">2008</span> Free Software Foundation, Inc.
This is <span style="color: #c20cb9; font-weight: bold;">free</span> software: you are <span style="color: #c20cb9; font-weight: bold;">free</span> to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Выберите тип ключа:
<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> RSA and RSA <span style="color: #7a0874; font-weight: bold;">&#40;</span>default<span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">2</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> DSA and Elgamal
<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">3</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> DSA <span style="color: #7a0874; font-weight: bold;">&#40;</span>только для подписи<span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">4</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> RSA <span style="color: #7a0874; font-weight: bold;">&#40;</span>только для подписи<span style="color: #7a0874; font-weight: bold;">&#41;</span>
Ваш выбор <span style="color: #7a0874; font-weight: bold;">&#40;</span>?-подробнее<span style="color: #7a0874; font-weight: bold;">&#41;</span>?</pre></td></tr></table></div>

<p>Здесь я обычно либо ввожу 1, либо оставляю по умолчанию.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;">ключи RSA могут иметь длину от <span style="color: #000000;">1024</span> до <span style="color: #000000;">4096</span> бит.
Какой размер ключа Вам необходим? <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">2048</span><span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></td></tr></table></div>

<p>Здесь чем больше тем лучше, но 2048 тоже круто и достаточно.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;">Запрашиваемый размер ключа <span style="color: #000000;">4096</span> бит
Выберите срок действия ключа.
<span style="color: #000000;">0</span> = без ограничения срока действительности
= срок действительности n дней
<span style="color: #c20cb9; font-weight: bold;">w</span> = срок действительности n недель
m = срок действительности n месяцев
y = срок действительности n лет
Ключ действителен до? <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">0</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
Ключ не имеет ограничения срока действительности
Все верно? <span style="color: #7a0874; font-weight: bold;">&#40;</span>y<span style="color: #000000; font-weight: bold;">/</span>N<span style="color: #7a0874; font-weight: bold;">&#41;</span> y</pre></td></tr></table></div>

<p>Вводим срок действия и подтверждаем введенные данные.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;">Для идентификации Вашего ключа необходим User ID
Программа создаст его из Вашего имени, комментария и адреса e-mail в виде:
<span style="color: #ff0000;">&quot;Baba Yaga (pensioner) &quot;</span>
Ваше настоящее имя: antonio
Email-адрес: antonio<span style="color: #000000; font-weight: bold;">@</span>mail.com
Комментарий: fjkgjdg
Вы выбрали следующий User ID:
<span style="color: #ff0000;">&quot;antonio (fjkgjdg) &quot;</span>
Сменить <span style="color: #7a0874; font-weight: bold;">&#40;</span>N<span style="color: #7a0874; font-weight: bold;">&#41;</span>Имя, <span style="color: #7a0874; font-weight: bold;">&#40;</span>C<span style="color: #7a0874; font-weight: bold;">&#41;</span>Комментарий, <span style="color: #7a0874; font-weight: bold;">&#40;</span>E<span style="color: #7a0874; font-weight: bold;">&#41;</span>email-адрес или <span style="color: #7a0874; font-weight: bold;">&#40;</span>O<span style="color: #7a0874; font-weight: bold;">&#41;</span>Принять<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>Q<span style="color: #7a0874; font-weight: bold;">&#41;</span>Выход? O</pre></td></tr></table></div>

<p>Отвечаем на вопросы GPG, честно отвечая на вопросы.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;">Для защиты секретного ключа необходим пароль.
Необходимо сгенерировать много случайных чисел. Желательно, что бы Вы
выполняли некоторые другие действия <span style="color: #7a0874; font-weight: bold;">&#40;</span>печать на клавиатуре, движения мыши,
обращения к дискам<span style="color: #7a0874; font-weight: bold;">&#41;</span> в процессе генерации; это даст генератору
случайных чисел возможность получить лучшую энтропию.
.............................+++++
....+++++
Необходимо сгенерировать много случайных чисел. Желательно, что бы Вы
выполняли некоторые другие действия <span style="color: #7a0874; font-weight: bold;">&#40;</span>печать на клавиатуре, движения мыши,
обращения к дискам<span style="color: #7a0874; font-weight: bold;">&#41;</span> в процессе генерации; это даст генератору
случайных чисел возможность получить лучшую энтропию.
......+++++
....+++++
gpg: ключ 6A189DDA помечен как абсолютно доверяемый.
открытый и закрытый ключи созданы и подписаны.
gpg: проверка таблицы доверий
gpg: <span style="color: #000000;">3</span> ограниченных необходимо, <span style="color: #000000;">1</span> выполненных необходимо, PGP модель доверия
gpg: глубина: <span style="color: #000000;">0</span>  корректных:   <span style="color: #000000;">1</span>  подписанных:   <span style="color: #000000;">0</span>  доверия: <span style="color: #000000;">0</span>-, 0q, 0n, 0m, 0f, 1u
pub   4096R<span style="color: #000000; font-weight: bold;">/</span>6A189DDA <span style="color: #000000;">2010</span>-<span style="color: #000000;">10</span>-<span style="color: #000000;">28</span>
Отпечаток ключа = 404B 5DD8 79F1 7AD9 7FA7  2B7A 2E1C FEB7 6A18 9DDA
uid                  antonio <span style="color: #7a0874; font-weight: bold;">&#40;</span>fjkgjdg<span style="color: #7a0874; font-weight: bold;">&#41;</span>
sub   4096R<span style="color: #000000; font-weight: bold;">/</span>664BC16D <span style="color: #000000;">2010</span>-<span style="color: #000000;">10</span>-<span style="color: #000000;">28</span></pre></td></tr></table></div>

<p>Вводим пароль и запоминаем его. Когда GPG просит сделать какие-нибудь действия берем мышку в руки и внимательно вырисовываем ей амперсант, затем тильду и букву &#8216;Ё&#8217;.</p>
<p>Теперь проверяем, вывод должен быть примерно такой:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;">$ gpg <span style="color: #660033;">--list-keys</span>
<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>your_username<span style="color: #000000; font-weight: bold;">/</span>.gnupg<span style="color: #000000; font-weight: bold;">/</span>pubring.gpg
<span style="color: #660033;">---------------------------</span>
pub   4096R<span style="color: #000000; font-weight: bold;">/</span>6A189DDA <span style="color: #000000;">2010</span>-<span style="color: #000000;">10</span>-<span style="color: #000000;">28</span>
uid                  antonio <span style="color: #7a0874; font-weight: bold;">&#40;</span>fjkgjdg<span style="color: #7a0874; font-weight: bold;">&#41;</span>
sub   4096R<span style="color: #000000; font-weight: bold;">/</span>664BC16D <span style="color: #000000;">2010</span>-<span style="color: #000000;">10</span>-<span style="color: #000000;">28</span></pre></td></tr></table></div>

<h2>экспорт ключей</h2>
<p>После того как ключи сгенерированы, в случае если они вам на долго, то их можно сохранить.</p>
<h3>открытый ключ</h3>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;">gpg <span style="color: #660033;">--export</span> <span style="color: #660033;">-armor</span> <span style="color: #660033;">-o</span> pub.asc</pre></td></tr></table></div>

<p>Если убрать -armor то ключ экспортируется в бинарном виде.</p>
<h3>закрытый ключ</h3>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;">gpg <span style="color: #660033;">--export-secret-key</span> <span style="color: #660033;">-armor</span> <span style="color: #660033;">-o</span> sec.asc</pre></td></tr></table></div>

<p>Теперь у вас в текующей директории должно быть 2 файла: sec.asc и pub.asc.</p>
<h2>шифрование и дешифрование файлов</h2>
<h3>шифрование</h3>
<p>Для примера я зашифрую файл test.rb:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;">$ gpg <span style="color: #660033;">-e</span> test.rb <span style="color: #000000; font-weight: bold;">&amp;</span>gt; test.rb.gpg
Не задан User ID. <span style="color: #7a0874; font-weight: bold;">&#40;</span>можете использовать <span style="color: #ff0000;">&quot;-r&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
Текущие получатели:
Введите User ID.  Пустая строка для завершения: antonio
Текущие получатели:
4096R<span style="color: #000000; font-weight: bold;">/</span>664BC16D <span style="color: #000000;">2010</span>-<span style="color: #000000;">10</span>-<span style="color: #000000;">28</span> <span style="color: #ff0000;">&quot;antonio (fjkgjdg) &quot;</span></pre></td></tr></table></div>

<p>Если не перенаправлять вывод, то содержимое зашифрованного файла выведется на стандартный вывод т.е. экран консоли.</p>
<h3>дешифрование</h3>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;">$ gpg <span style="color: #660033;">-d</span> test.rb.gpg <span style="color: #000000; font-weight: bold;">&amp;</span>gt; test222.rb
Необходим пароль для доступа к секретному ключу пользователя: <span style="color: #ff0000;">&quot;antonio (fjkgjdg) &quot;</span>
<span style="color: #000000;">4096</span>-бит RSA ключ, ID 664BC16D, создан <span style="color: #000000;">2010</span>-<span style="color: #000000;">10</span>-<span style="color: #000000;">28</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>главный ключ ID 6A189DDA<span style="color: #7a0874; font-weight: bold;">&#41;</span>
gpg: зашифровано <span style="color: #000000;">4096</span>-битным ключом RSA, с ID 664BC16D, созданным <span style="color: #000000;">2010</span>-<span style="color: #000000;">10</span>-<span style="color: #000000;">28</span>
<span style="color: #ff0000;">&quot;antonio (fjkgjdg) &quot;</span></pre></td></tr></table></div>

<p>При расшифровке потребуется пароль, ситуация с перенаправлением вывода такая же как и с шифрованием.</p>
<p>Теперь для того чтобы передать сверхважную информацию (а я уверен что у вас только такая инфа и есть) другу через открытый канал, например icq, необходимо вашему дружку скинуть открытый ключ, который мы предусмотрительно экспортировали в файл pub.asc. Друг у себя на компе зашифрует файл и отправит вам, который вы расшифруете закрытым ключом.</p>
<h2>удаление ключей</h2>
<p>После того как вы получили необходимый файл от другана и прочитали его, заметаем следы и удаляем ключи.</p>
<p>Сначала нужно удалить секретный ключ, просто потому что иначе GPG не даст это сделать.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;">$ gpg <span style="color: #660033;">--delete-secret-keys</span> antonio
gpg <span style="color: #7a0874; font-weight: bold;">&#40;</span>GnuPG<span style="color: #7a0874; font-weight: bold;">&#41;</span> 1.4.10; Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>C<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">2008</span> Free Software Foundation, Inc.
This is <span style="color: #c20cb9; font-weight: bold;">free</span> software: you are <span style="color: #c20cb9; font-weight: bold;">free</span> to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
sec  4096R<span style="color: #000000; font-weight: bold;">/</span>6A189DDA <span style="color: #000000;">2010</span>-<span style="color: #000000;">10</span>-<span style="color: #000000;">28</span> antonio <span style="color: #7a0874; font-weight: bold;">&#40;</span>fjkgjdg<span style="color: #7a0874; font-weight: bold;">&#41;</span>
Удалить данный ключ из таблицы ключей? <span style="color: #7a0874; font-weight: bold;">&#40;</span>y<span style="color: #000000; font-weight: bold;">/</span>N<span style="color: #7a0874; font-weight: bold;">&#41;</span>y
Это секретный ключ<span style="color: #000000; font-weight: bold;">!</span> - действительно удалить? <span style="color: #7a0874; font-weight: bold;">&#40;</span>y<span style="color: #000000; font-weight: bold;">/</span>N<span style="color: #7a0874; font-weight: bold;">&#41;</span>y</pre></td></tr></table></div>

<p>Теперь удаляем открытый ключ:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;">$ gpg <span style="color: #660033;">--delete-keys</span> antonio
gpg <span style="color: #7a0874; font-weight: bold;">&#40;</span>GnuPG<span style="color: #7a0874; font-weight: bold;">&#41;</span> 1.4.10; Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>C<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">2008</span> Free Software Foundation, Inc.
This is <span style="color: #c20cb9; font-weight: bold;">free</span> software: you are <span style="color: #c20cb9; font-weight: bold;">free</span> to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
pub  4096R<span style="color: #000000; font-weight: bold;">/</span>6A189DDA <span style="color: #000000;">2010</span>-<span style="color: #000000;">10</span>-<span style="color: #000000;">28</span> antonio <span style="color: #7a0874; font-weight: bold;">&#40;</span>fjkgjdg<span style="color: #7a0874; font-weight: bold;">&#41;</span>
Удалить данный ключ из таблицы ключей? <span style="color: #7a0874; font-weight: bold;">&#40;</span>y<span style="color: #000000; font-weight: bold;">/</span>N<span style="color: #7a0874; font-weight: bold;">&#41;</span>y</pre></td></tr></table></div>

<p>И проверяем, что все удалено:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;">$ gpg <span style="color: #660033;">--list-keys</span>
gpg: проверка таблицы доверий
gpg: не найдено абсолютно доверяемых ключей</pre></td></tr></table></div>

<p>Видите как все просто, и ни в коем случае не надо передавать закрытый ключ!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukmus.ru/2010/10/29/gnupg-v-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
