Что такое pgp ключ максимум 4096 bits. Замечательные шифры от PGP

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

Соответственно многие из нас задаются вопросом, что же нам нужно для того, чтобы защитить себя? Заморозить кредитку? Использовать разные пароли для каждого нового интернет магазина, банковского аккаунта или просто логина?

А что же тогда по поводу зашифровки писем?

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

Но что это такое? Для чего это используется и почему люди вообще это взяли на вооружение? Давайте разберемся.

Что такое PGP?

PGP расшифровывается как “Pretty Good Privacy”. Это тип зашифровки писем, который должен защищать их от прочтения кем-либо, кроме намеренного получателя. PGP используется как для зашифровки, так и для дешифровки писем, а так же как инструмент для подтверждения отправителя и контента как такогого.

Как работает PGP?

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

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

После того, как криптограмма получена, журналист воспользуется своим личным, частным ключом для её расшифровки.

Есть два типа зашифровки: симметричная и асимметричная.

В симметричном шифровании, нет как такого публичного ключа. Есть только один приватный ключ используемый для расшифровки и дешифровки. Многие рассматривают подобный тип шифрования, как вполне рисковый, потому что любой кто расшифрует один ключ может прочитать, что было в зашифрованном сообщении. Это как-будто бы кто-то нашел бы ваш пароль, только ставки гораздо выше и тут гораздо сложнее сменить «пароль».

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

Как получить PGP ключ?

PGP шифрование доступно на разных типах софта. Есть много всего доступного, но один из самых упоминаемых вариантов это GNU Privacy Guard (GPG) , бесплатный криптографический софт, который может управлять ключами и зашифровывать файлы и письма.

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

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

Как мне зашифровать сообщение в PGP?

Чтобы отправить зашифрованное сообщение, вам понадобится скачать софт, который позволит вам отправлять зашифрованные сообщения. CPG это как вариант, но есть ещё один - Enigmail который является аддоном для почтового клиента Thunderbird.

В GPG вы можете создавать зашифрованные письма внутри софта с различными вариантами шифровки. PGP это один пример и активируется он с «security method indicator» в программе.

Почему PGP используется?

Хоть PGP и широко применяется для шифрования писем, рост популярности и разговоры о криптовалюте могли бы объяснить, почему его стоит использовать в необычном формате.

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

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

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

Если вы хотите, чтобы ваши электронные письма не смог перехватить кто-нибудь другой и чтобы они доходили до адресатов в целости и сохранности, тогда письма придется шифровать. Иного надежного варианта обеспечить конфиденциальность электронной переписки, к сожалению, не существует, поскольку всю корреспонденцию без труда можно прочитать с сервера провайдера, да и прикрепленные файлы также не сложно извлечь из писем. Но дело не только в этом — одновременно с проблемой перехвата корреспонденции обострилась и проблема авторизации, ведь отправить документ от чужого имени не так уж сложно. Поэтому наряду с шифрованием данных необходимо подтверждение подлинности документов электронной подписью, посредством которой можно проверить, были ли письма отправлены номинальным отправителем и не претерпели ли они модификации в пути.

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

Помочь может система шифрования с открытым ключом, которая работает не с одним ключом, а c двумя — то, что зашифровано первым ключом (или секретным ключом — private key), может быть расшифровано только при помощи второго ключа (который называют публичным или открытым — public key). Секретный ключ известен только автору писем, а публичный доступен в Сети. Итак, ваши корреспонденты перед отправлением вам писем должны их зашифровать, используя ваш публичный ключ. Вам же для прочтения таких писем потребуется воспользоваться своим секретным ключом. В свою очередь, написав письма различным корреспондентам, вы должны зашифровать их с помощью их открытых ключей, прочитать которые корреспонденты смогут с помощью своих, известных только им, секретных ключей. Получается, что в случае использования системы с открытым ключом можно перехватить лишь публичный ключ, в то время как секретный ключ по Сети не передается и поэтому недоступен. Таким образом, схема с открытым ключом удачно решает проблему безопасной передачи самого ключа.

Одним из самых популярных криптографических решений для шифрования электронной почты с открытым ключом стала программа PGP (Pretty Good Privacy), ориентированная на массового пользователя и ставшая стандартом шифрования в Сети. Посредством PGP можно легко передавать и принимать любую информацию без опасения, что она станет достоянием третьих лиц. При этом программа шифрует не только текст, но и любые файлы.

Коротко о Pretty Good Privacy

Компоненты PGP

  • PGPdisk — шифрование данных на жестких дисках;
  • PGPkeys — доступ к таблице собственных ключей, а также открытых ключей корреспондентов;
  • PGPmail — шифрование и дешифрование данных;
  • PGPtray — шифрование и дешифрование данных в буфере обмена и управление основными приложениями PGP;
  • PGPAdmin — создание криптографической системы для организации;
  • PGP ICQ — шифрование текста сообщений ICQ;
  • PGP Net — реализация стека протоколов IPSec (Internet Protocol Security) и IKE (Internet Key Exchange).

Выпуски PGP

До выходаы версии 8.0 PGP являлась свободно распространяемым программным обеспечением (последняя бесплатная версия 7.0.3), а теперь программа полностью стала коммерческой и существует в следующих выпусках:

  • PGP Personal 8.0 PGP Freeware — для некоммерческого использования; представляет собой бесплатную PGPmail (шифрование-дешифрование файлов и почты через буфер обмена, цифровая подпись). В бесплатной версии недоступны надстройки (plugins) к почтовым программам;
  • PGP 8.0 Personal Products — для некоммерческого использования; включает в себя компоненты PGPdisk и PGPmail для защиты файлов, дисков и почты;
  • PGP Desktop 8.0 — для коммерческого использования; позволяет интегрировать функции шифрования в основные офисные и почтовые программы;
  • PGP Enterprise 8.0 — для коммерческого использования; более мощное ПО, позволяющее администрировать работу пользователей с ключами и реализовать политику безопасности.

Где и как приобрести PGP

Цены на различные выпуски PGP 8.0 на сайте https://store.pgp.com/ :

  • PGP Enterprise 8.0:
    • PGPM
  • Enterprise 8.0 — 125 долл.;
  • PGP Mobile Enterprise 8.0 — 155 долл.;
  • PGP Desktop 8.0:
  • PGP Desktop 8.0 — 80 долл.;
  • obile Desktop 8.0 — 110 долл.;
  • PGP 8.0 Personal Products:
    • PGP 8.0 Personal — 50 долл.;
    • PGP 8.0 Personal and Mobile — 70 долл.

Особенности работы с программой PGP

Установка

Инсталляция программа PGP 8.0 мало чем отличается от аналогичных процедур по установке любого нового программного обеспечения. Перед установкой лучше закрыть все открытые приложения, а затем запустить файл PGP8.exe.

Как и при установке других приложений, потребуется согласиться со стандартным лицензионным соглашением компании-продавца; ответить на вопрос о существовании старых keyrings — брелоков-ключей (естественно, что если вы раньше не использовали PGP, то никаких старых брелоков у вас нет). После этого нужно выбрать папку для установки и необходимые на вашем компьютере компоненты (рис. 1), при этом отказ от лишних компонентов позволит несколько сэкономить место на жестком диске. Далее нужно будет согласиться с перезагрузкой компьютера, после чего значок-«замочек», соответствующий компоненту PGPtray, появится на панели задач в правом нижнем углу экрана.

Настройка

Чтобы иметь возможность обмениваться секретными сообщениями с корреспондентами, также использующими PGP, необходимо сгенерировать пару ключей — открытый и секретный, которые будут использованы в дальнейшем для создания цифровой подписи. Для этого потребуется выбрать Пуск→Программы→PGP→PGPkeys и щелкнуть на кнопке Generate new keypair (создание новой пары ключей).

Затем следует щелкнуть на кнопке Expert для изменения параметров ключа Key type (тип ключа) — по умолчанию выбирается ключ Diffie-Hellman/DSS, как самый быстрый и надежный. Однако если среди ваших корреспондентов есть пользователи более ранних версий, нежели PGP 5.0, придется использовать ключ RSA. Здесь же можно определить параметр Key size (длина открытого ключа). По умолчанию при использовании метода Diffie-Hellman/DSS выбирается 2048-разрядный ключ, и при современном развитии компьютерной техники этого более чем достаточно (рис. 2). Затем можно установить Key еxpiration — крайний срок, до которого создаваемые ключи могут быть использованы для кодирования и подписи, хотя предпочтительнее вариант по умолчанию, когда данный срок ничем не ограничен. В этом же окне нужно указать Full name (полное имя) и Email address (адрес электронной почты). Следует отметить, что по умолчанию выбирается оптимальный вариант параметров ключа, поэтому менять параметры нужно лишь в случае необходимости.

Если кнопку Expert не нажимали (а это значит, что Full name и Email address не были введены), то в следующем окне появится соответствующий запрос. Затем нужно будет дважды ввести ключевую фразу в окна Passphrase и Confirmation. Для удобства можно убрать галочку из окна Hide Typing, чтобы вводимая фраза отображалась на экране. Длина ключевой фразы не может быть меньше 8 символов. После генерации ключей появится окно вида (рис. 3).

Далее нужно закрыть окно PGPkeys, хотя это удастся сделать не сразу, так как программа предложит сохранить резервную копию файлов с ключами (pubring.pkr и secring.scr). Сохранять копии лучше на дискете, чтобы проблемы с жестким диском не привели к потере доступа к информации (рис. 4 , ).

Теперь вам следует отправить свой открытый ключ всем потенциальным получателям зашифрованной корреспонденции. Для этого необходимо пометить мышью строку с вашим ключом в окне PGPkeys и перетащить, удерживая левую клавишу мыши, строку с ключом в окно текстового сообщения почтовой программы, а затем разослать это письмо по адресам (рис. 6). Можно поступить и по-другому: выделить свой ключ в окне “PGPkeys”, выбрав из меню команды Keys→Export, сохранить ключ на диске в виде файла с расширением.asc. Полученный файл вы можете затем отправить своим корреспондентам как обычное приложение к письму.

Наконец, на последнем этапе настройки вам будет необходимо включить открытые ключи корреспондентов в свой брелок ключей, для чего потребуется воспользоваться пунктом меню Keys→Import. Однако предварительно файлы с чужими открытыми ключами должны быть каким-то образом получены, например по электронной почте, и сохранены на диске. После добавления ключей корреспондентов все они появятся в списке ключей в окне PGPkeys (рис. 7).

Затем ключи корреспондентов нужно подписать: следует выделить ключ в окне PGPkeys, нажать правую кнопку мыши, выбрать команду Sign, подсветить подписываемый ключ и в следующем окне ввести свою ключевую фразу. После этого рядом с ключом загорится вместо серой зеленая лампочка, свидетельствующая о том, что отныне с этим корреспондентом можно вести переписку (рис. 8).

Кроме того, если открытые ключи всех пользователей вашей компании хранятся на корпоративном сервере, нужно отправить свой ключ на сервер, на котором в этом случае можно найти и открытые ключи потенциальных корреспондентов. Чтобы отправить свой ключ на сервер компании вам достаточно будет щелкнуть на кнопке Send key to server в окне PGPkeys и выбрать адрес сервера. Для получения открытых ключей корреспондентов потребуется в том же окне щелкнуть на кнопке Open key search window и ввести слово для поиска (можно, например, искать адресатов, в имени которых присутствует слово «alex»).

Следует знать, где конкретно на вашем диске хранятся ключи PGP. Чтобы получить ответ на этот вопрос, нужно выбрать в PGPkeys пункт меню Edit→Options и далее закладку Files — в результате вы увидите полный путь к связкам открытых и закрытых ключей, который при необходимости можно изменить.

Запуск программы

Существует четыре варианта запуска PGP на компьютере:

  • через Пуск→Программы→PGP. Таким образом можно получить доступ к основным ресурсам PGP: PGPdisk, PGPkeys, PGPmail и документации;
  • из панели задач, щелкнув левой или правой кнопками на значок замочка в правом нижнем углу рабочего экрана. Этот вариант удобен для шифрования/расшифрования данных в буфере обмена;
  • непосредственно из почтового клиента (например, MS Outlook, MS Outlook Express, Eudora и др.), что и предпочитают большинство пользователей.
  • в проводнике через строку PGP после правого клика на иконке файла или папки, что является самым быстрым вариантом вызова программы.

Как отправить зашифрованное сообщение с подписью

Действовать можно двумя путями: шифровать прямо из окна почтовой программы или через буфер обмена (в случае бесплатной версии 8.0 будет работать только этот вариант).

Рассмотрим вначале второй вариант — он хотя и менее удобен, но зато всегда работает. В этом случае нужно обычным образом напечатать текст письма (рис. 9), потом скопировать его в буфер обмена (например, Ctrl+C) и, активировав окно PGPtray щелчком по его значку-«замочку», выбрать Clipboard→Encrypt&Sign (рис. 10). При этом потребуется указать программе открытый ключ корреспондента для шифрования (рис. 11) и ввести свою ключевую фразу для формирования электронной подписи письма, а затем вставить в письмо на место обычного текста его зашифрованный аналог. В результате вы увидите примерно такой текст, как на рис. 12 . Далее письмо отправляют обычным образом.

Однако, как уже было сказано выше, намного удобнее воспользоваться возможностью кодирования непосредственно из окна почтового клиента, с которым вы работаете, например MS Outlook. В этом случае письмо пишется обычным образом, а затем нужно выбрать команду PGP→Encrypt and Sign now (рис. 13). Теперь введите ключевую фразу — и текст письма зашифруется.

Теоретически можно шифровать сообщения без добавления подписи или только заверять текст письма своей электронной подписью. Последовательность действий в обоих этих случаях полностью совпадает с указанной выше за исключением того, что вместо команды Encrypt and Sign now нужно будет выбирать соответственно Encrypt (при шифровании) или Sign (при добавлении подписи).

Как прочитать полученное зашифрованное сообщение с подписью

Если использовать буфер обмена, то, открыв письмо, следует скопировать в буфер обмена зашифрованный текст письма, активировав окно PGPtray, выбрать Clipboard→ Decrypt&Verify и ввести свою ключевую фразу. После этого в окне программы появится расшифрованный текст как на рис. 14 .

Вариант расшифровки из почтового клиента удобнее и быстрее, поскольку для дешифрования потребуется лишь открыть письмо, выбрать из командного меню команду PGP→Decrypt/Verify и ввести свою ключевую фразу. В результате на экране зашифрованный текст сменится на его расшифрованный аналог (рис. 15).

Если в полученном письме были использованы только шифрование или только добавление подписи (это видно по тексту письма), то для получения исходной копии письма потребуется воспользоваться командами Decrypt или Verify соответственно (или Decrypt&Verify — результат будет тот же).

Рис. 16 рис. 17 строки — это обеспечит автоматическое шифрование и подписывание писем при отправлении, а также их расшифровку при открытии.

Можно еще немного облегчить себе работу, установив кэширование ключевой фразы при расшифровке в течение указанного времени — вкладка General, опция Cache passphrases for. Это будет полезно при чтении огромного количества корреспонденции, так как в течение данного промежутка времени не придется каждый раз при открытии письма вводить ключевую фразу. Однако данный вариант не совсем надежен, поскольку на время кэширования ключевая фраза станет доступной для перехвата.

PGP: Кодирование и шифрование информации с открытым ключом. Левин Максим

Расшифровка.

Расшифровка.

Открываем полученное зашифрованное сообщение и нажимаем на второй справа значок на панели Outlook Express, либо на команду меню PGP decrypt message. Через несколько секунд сообщение будет расшифровано и появится в окошке.

Существует еще один способ использования PGP, который чуть-чуть сложнее, чем шифрование через Outlook Express. Этот способ можно применять в том случае, если не удается установить PGP вместе с программой Outlook Express.

Создаем сообщение в Outlook Express, затем выделяем его через команды edit - select all и копируем в буфер Windows через команду copy.

После этого ставим мышку на значок PGP в панели задач, нажимаем на мышку и исполняем команду encrypt clipboard.

Появляется окно диалога с PGP под названием key selection dialog.

Необходимо выделить адрес (открытый ключ) корреспондента (ключ получателя сообщения) в этом окне и щелкнуть по нему мышкой два раза, чтобы он появился внизу, потом нажимаем на OK и программа зашифрует все содержимое clipboard.

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

В результате зашифрованное содержимое clipboard заменяет предыдущее сообщение и на этом процесс шифровки закончился. Теперь можно отправлять сообщение обычным образом.

Расшифровывать полученные сообщения можно таким же образом: т.е. выделяем полученный зашифрованный текст, копируем его в буфер Windows clipboard, заходим мышкой в меню PGP через панель задач Windows и выбираем команду decrypt and verify clipboard.

Появляется окно программы PGP, в которое необходимо ввести пароль, вводим пароль в это окно, нажимаем на OK и перед нами предстает расшифрованное сообщение.

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

Также кроме этого способа можно применить еще один способ шифрования (третий способ).

Можно создать текст в каком-либо редакторе, например блокноте, и сохранить его в виде файла. После этого в проводнике выделяем файл, нажимаем на правую кнопку мышки и видим, что в нижней части команды опций появилась еще одна команда под названием PGP, после чего, поставив мышку на PGP, мы увидим раскрывающееся меню, состоящее из 4 команд:

Encrypt and sing

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

После этой операции у файла остается то же самое имя, но меняется тип расширения на <*.pgp>

Теперь этот файл можно прикрепить к сообщению и отправить вместе с ним.

В результате мы узнали, что существует три основных способа шифрования информации:

Первый - самый удобный, напрямую в почтовой программе;

Второй - через копирование текста в буфер обмена Windows;

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

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

В настройках PGP есть опция, позволяющая зашифровывать свои исходящие сообщения таким образом, чтобы их можно было потом прочитать (взять из архива и прочитать).

Для этого надо щелкнуть мышкой по символу PGP на панели задач, исполнить команду PGP preferences, зайти в General и поставить галочку напротив команды Always encrypt to default key.

Кроме этого нужно зайти в PGP keys, выбрать мышкой свой ключ, зайти в меню keys и исполнить команду set as default key.

Здесь же можно изменить свою парольную фразу: выделить мышкой свой ключ, нажать на правую кнопку мышки, исполнить команду key properties , change passphrase и поменять свою парольную фразу.

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

Кроме того, там же (в key properties) можно увидеть fingerprint или своеобразные "отпечатки пальцев", состоящие из комбинации цифр и букв.

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

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

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

Pretty Good Privacy
Тип программное обеспечение неприкосновенности частной жизни [d] и шифрующее программное обеспечение
Автор Филипп Циммерманн
Разработчик Филипп Циммерманн
Написана на Multi-language
Операционная система Linux , macOS , Windows
Первый выпуск 1991
Лицензия коммерческое программное обеспечение и проприетарное программное обеспечение
Сайт openpgp.org

Общие сведения

PGP имеет множество реализаций, совместимых между собой и рядом других программ (GnuPG , FileCrypt и др.) благодаря стандарту OpenPGP (RFC 4880), но имеющих разный набор функциональных возможностей. Существуют реализации PGP для всех наиболее распространённых операционных систем . Кроме свободно распространяемых реализаций, есть ещё и коммерческие.

Совместимость

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

Защищённость

Криптографическая стойкость PGP основана на предположении, что используемые алгоритмы устойчивы к криптоанализу на современном оборудовании. Например, в PGP первых версий для шифрования ключей сессии использовался алгоритм RSA , основанный на односторонней функции (факторизация). В PGP версии 2 дополнительно можно использовать алгоритм IDEA . В последующем были добавлены дополнительные алгоритмы шифрования. Ни у одного используемого алгоритма нет известных уязвимостей.

В 2010 году группе учёных из Швейцарии, Японии, Франции, Нидерландов, Германии и США удалось декодировать данные, зашифрованные по алгоритму RSA при помощи ключа длиной 768 бит. Нахождение простых сомножителей осуществлялось общим методом решета числового поля . На первый шаг (выбор пары полиномов степени 6 и 1) было потрачено около полугода вычислений на 80 процессорах, что составило около 3 % времени, потраченного на главный этап алгоритма (просеивание), который выполнялся на сотнях компьютеров в течение почти двух лет. Если интерполировать это время на работу одного процессора AMD Opteron 2,2 ГГц с 2 ГБ оперативной памяти, то получилось бы порядка 1500 лет. Обработка данных после просеивания для следующего ресурсоёмкого шага (линейной алгебры) потребовала несколько недель на малом количестве процессоров. Заключительный шаг после нахождения нетривиальных решений ОСЛУ занял не более 12 часов.

Решение ОСЛУ проводилось с помощью метода Видемана на нескольких раздельных кластерах и длилось чуть менее 4 месяцев. При этом размер разрежённой матрицы составил 192 796 550×192 795 550 при наличии 27 795 115 920 ненулевых элементов. Для хранения матрицы на жёстком диске понадобилось около 105 гигабайт. В то же время понадобилось около 5 терабайт сжатых данных для построения данной матрицы.

В итоге группе удалось вычислить 232-битный цифровой ключ, открывающий доступ к зашифрованным данным.

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

По словам исследователей, после их работы в качестве надёжной системы шифрования можно рассматривать только RSA-ключи длиной 1024 бита и более. Причём от шифрования ключом длиной в 1024 бит стоит отказаться в ближайшие три-четыре года. .

Зная разложение модуля на произведение двух простых чисел, противник может легко найти секретную экспоненту и тем самым взломать RSA. Однако на сегодняшний день самый быстрый алгоритм факторизации - решето обобщённого числового поля (General Number Field Sieve), скорость которого для k-битного целого числа составляет exp ⁡ ((c + o (1)) k 1 3 log 2 3 ⁡ k) {\displaystyle \exp((c+o(1))k^{\frac {1}{3}}\log ^{\frac {2}{3}}k)} для некоторого c < 2 {\displaystyle c<2} , не позволяет разложить большое целое за приемлемое время.

Механизм работы PGP

Для ключей RSA legacy длина ключа может составлять от 1024 до 2048 бит, а для Diffie-Hellman/DSS и RSA - от 1024 до 4096. Ключи RSA legacy содержат одну ключевую пару, а ключи Diffie-Hellman/DSS и RSA могут содержать один главный ключ и дополнительные ключи для шифрования. При этом ключ электронной подписи в ключах Diffie-Hellman/DSS всегда имеет размер 1024. Срок действия для каждого из типов ключей может быть определён как неограниченный или до конкретной даты. Для защиты ключевого контейнера используется секретная фраза.

Цифровая подпись

Уголовное расследование

Вскоре после выпуска PGP стала использоваться за пределами США, и в 1993 году правительство США начало расследование против Циммермана по подозрению в нарушении экспортного законодательства, которое регулирует распространение криптографических систем с длиной ключа более 40 бит. В PGP использовались ключи длиной 128 бит и более.IETF IPsec VPN . После легализации экспорта криптографического ПО в 2000 году NAI прекратила публикацию исходных текстов, несмотря на возражения команды PGP.

В 2001 году Циммерман покинул NAI, NAI объявила о продаже PGP и остановке разработки PGP. В 2002 году NAI прекратила поддержку всех продуктов PGP PGP E-Business Server (исходной консольной версии PGP).

Современное состояние

В 2002 году несколько бывших разработчиков PGP основали PGP Corporation и выкупили PGP (кроме консольной версии). В 2003 году PGP Corporation разработала новый серверный продукт, PGP Universal.

В 2010 году Symantec Corp. выкупил PGP за 300 млн долларов.

Криптографические приложения PGP Corporation

PGP изначально разрабатывалась для шифрования электронной почты на стороне клиента, но с 2002 года включает также шифрование жёстких дисков переносных компьютеров, файлов и каталогов, сессий программ мгновенного обмена сообщениям, пакетной передачи файлов, защиту файлов и каталогов в сетевых хранилищах, а в современных версиях - ещё и шифрование HTTP-запросов и ответов на стороне сервера (mod openpgp) и клиента (Enigform).

Клиентские программы объединены в семейство PGP Desktop (включает в себя PGP Desktop EMail, PGP Whole Disk Encryption и PGP NetShare).

PGP Universal Server позволяет из командной строки централизованно администрировать клиенты на основе PGP Desktop.

В 2010 году права на приложение были приобретены компанией Symantec за 300 млн долларов.

Правовые аспекты использования в России

На сегодняшний день прямых законодательных запретов на использование PGP в России нет. Законодательно ограничивается использование криптографии только в государственных и муниципальных учреждениях. ФСБ предписывает всем государственным структурам использовать только сертифицированные средства криптографии. Физические лица и компании сами устанавливают, какая информация является для них коммерческой тайной, методы хранения и передачи такой информации Информационный ресурс Helpdesk24 в статье «Правомерность использования криптографических средств защиты информации» приводит выдержки из федеральных законов, поясняющие данный вопрос. Также авторы проекта «openPGP в России» утверждают, что не существует законов, запрещающих использование PGP Ссылки

Шифрование данных - непременный хакерский ритуал, в котором каждый применяет свой набор утилит. Если для десктопных ОС выбор предлагается большой, то в мобильных операционках пока доступны единичные приложения. Мы обратили внимание на новое творение разработчика SJ Software - PGPTools. Первая версия этой программы вышла в апреле. За полгода список поддерживаемых платформ существенно расширился. Теперь он включает Windows 10, Windows Phone, iOS (8.0 и выше), OS X (начиная с 10.9) и Android (4.0 и новее). Для тестирования была выбрана последняя версия PGPTools v.1.10 под ОС Android. Скачать программу можно зарегистрировашись на форуме 4Pda.ru в этой теме .

Еще до установки программы становит ся очевидно, что ее авторы придерживаются минималистических взглядов. В инсталляционном пакете PGPTools занимает полтора мегабайта, а после установки - всего пять с половиной. Радует и то, что список запрашиваемых разрешений состоит ровно из одного пункта - записи на карту памяти. Никакой отправки СМС, доступа в интернет и к личным сведениям ей не требуется.

Интерфейс утилиты тоже крайне прост и легок в освоении. С одной стороны, это позволяет быстро в ней разобраться, а с другой - вызывает легкую тоску по привычным менюшкам с длинными списками настроек. В текущей версии PGPTools можно только задать пароль и выбрать длину ключа. Зато программа позволяет создать несколько пар ключей и управлять ими из отдельной вкладки. Здесь можно выбрать текущий ключ и желаемые действия с ним. Поддерживается экспорт (через буфер обмена или функцию «передать»), а также возможен импорт ранее созданных PGP-ключей.

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

ИСПОЛЬЗОВАНИЕ PGPTOOLS

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

В схеме PGP все ключи генерируются парами, поскольку их математически связывает общая парольная фраза. Ее стоит сделать длинной и сложной, но без фанатизма - забытый пароль не восстановят. Ключи в парах генерируются разные по своей структуре - асимметричные. Публичный ключ назван так потому, что его можно свободно передавать кому угодно. Он служит
для проверки подписи его владельца и обеспечивает возможность отправить ему зашифрованное сообщение. Расшифровать такое послание можно только парным ему секретным ключом. На то он и секретный, чтобы знал его лишь создатель этой пары ключей.

Упрощенно говоря, публичным ключом письмо шифруют перед отправкой, а секретным дешифруют после получения. Это как бы цифровая реализация замка с защелкой: захлопнуть дверь с ним может любой, а вот открыть - только владелец ключа. Мы сделали на пробу две пары ключей: минимально (1024 бита) и максимально (4096 бит) возможной длины.

Основная панель в PGPTools носит такое же название. Она переключается между двумя режимами: шифрованием и дешифрованием. Ее вид зависит от того, какой ключ был ранее выбран на панели key list - публичный или секретный. Зашифровать любой текст с помощью PGPTools можно в пару кликов. Для этого достаточно вставить его в поле с подсказкой Enter source из любого источника и нажать кнопку Encrypt. Шифрование будет выполнено с использованием выбранного ранее публичного ключа.

Расшифровать его чуть сложнее. Нужно выбрать секретный ключ (парный использованному для шифрования публичному) и ввести пароль, заданный при их совместной генерации. Блок зашифрованного текста также вставляется в поле источника, а результат дешифровки отображается ниже после нажатия кнопки Decrypt. Основное назначение PGPTools как программы с асимметричной схемой шифрования состоит в защите переписки (в частности, почты) с возможностью передать ключ собеседнику по ненадежному каналу. Если бы один
и тот же ключ использовался для шифрования/дешифрования сообщений, то его перехват скомпрометировал бы всю переписку. Перехват открытых ключей практически бесполезен. Обменявшись ими, можно сразу начать обмен зашифрованными сообщениями. После создания их не открыть даже отправителю. Это может сделать только получатель - своим секретным ключом и после ввода парольной фразы.

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

ПАРА (ТЫСЯЧ) СЛОВ ОБ АЛГОРИТМЕ

В классической реализации Циммермана схема PGP использует одну хеш-функцию и два криптографических алгоритма: один с симметричным и один с асимметричным ключом. Также в ней применяется сеансовый ключ, создаваемый при помощи генератора псевдослучайных чисел. Такой сложный процесс обеспечивает более надежную защиту данных, то есть математическую сложность восстановления секретного ключа из парного ему публичного.

Выбор алгоритмов сейчас доступен очень широкий. Именно он в большой степени влияет на качество конкретной реализации PGP. Обычно используют AES и RSA, а из хеш-функций выбирают ту, что, по современным представлениям, наименее подвержена коллизиям (RIPEMD-160, SHA-256). В PGPTools для шифрования данных используется алгоритм IDEA, для управления ключами и цифровой подписи - RSA. Хеширование происходит с помощью функции MD5.

Сам многостадийный процесс (де)шифрования данных у любой программы реализован в одном
из наборов общедоступных криптографических библиотек. Все создаваемые PGPTools ключи содержат в названии версии BCPG, что косвенно указывает на использование Bouncy Castle OpenPGP API. При проверке этого предположения в файле com.safetyjabber.pgptools.apk было обнаружено прямое указание на библиотеки Bouncy Castle.

Они реализуют схему OpenPGP согласно RFC 4880, но имеют свои особенности. Одна из них состоит в том, что (в зависимости от выбранной версии) в них может не применяться подключ шифрования. Также в этих библиотеках замечены ограничения эффективной длины ключа. Это означает, что выше некоего предела (обычно 1024 бита) попытка создать ключ большей длины не будет иметь практического смысла. Алгоритм не сможет обеспечить высокое качество ключей, поскольку в парах появится слишком много совпадающих блоков.

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

Повторяющиеся блоки в ключах

С четырехкилобитными ключами ситуация выглядит иначе. Отличающихся фрагментов в паре слишком мало (они выделены красным), а совпадающих -чересчур много.

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

УТЕШИТЕЛЬНЫЙ ВЫВОД

Выявленные в ходе тестирования недостатки носят общий характер. Они типичны для многих программ, поскольку касаются кода не самого приложения, а используемых в нем популярных библиотек. Криптографическое сообщество рекомендует разработчикам избегать Bouncy Castle OpenPGP. Мы надеемся, что в следующих версиях авторы PGPTools возьмут за основу более продвинутые реализации.

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

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

Last updated by at Ноябрь 18, 2016 .