Что такое блок открытого ключа PGP?
На некоторых сайтах есть блоки открытого ключа PGP (например, http://phrack.org/index.html).
Это не шестнадцатеричный код. он использует гораздо больше букв алфавита. Что это?
Почему эта информация размещена? как я могу использовать это?
3 ответа
Pretty Good Privacy (PGP) - компьютерная программа для шифрования и дешифрования данных, которая обеспечивает криптографическую конфиденциальность и аутентификацию для передачи данных. PGP часто используется для подписи, шифрования и дешифрования текстов, сообщений электронной почты, файлов, каталогов и целых разделов диска для повышения безопасности обмена сообщениями электронной почты.
Криптография - это наука об использовании математики для шифрования и дешифрования данных. Криптография позволяет хранить конфиденциальную информацию или передавать ее по небезопасным сетям (например, через Интернет), чтобы ее не мог прочитать никто, кроме предполагаемого получателя.
В то время как криптография - это наука о защите данных, криптоанализ - это наука об анализе и взломе защищенной связи. Классический криптоанализ включает в себя интересную комбинацию аналитических рассуждений, применения математических инструментов, поиска закономерностей, терпения, решимости и удачи. Криптоаналитики также называют злоумышленниками.
Как работает криптография?
Криптографический алгоритм или шифр - это математическая функция, используемая в процессе шифрования и дешифрования. Криптографический алгоритм работает в сочетании с ключом - словом, числом или фразой - для шифрования открытого текста. Один и тот же открытый текст шифруется на другой зашифрованный текст с разными ключами. Безопасность зашифрованных данных полностью зависит от двух вещей: силы криптографического алгоритма и секретности ключа. Криптографический алгоритм, плюс все возможные ключи и все протоколы, которые заставляют его работать, составляют криптосистему. PGP - это криптосистема.
Криптография с открытым ключом - это асимметричная схема, в которой для шифрования используется пара ключей: открытый ключ, который шифрует данные, и соответствующий закрытый или секретный ключ для расшифровки. Вы публикуете свой открытый ключ в мире, сохраняя свой секретный ключ в секрете. Любой, кто имеет копию вашего открытого ключа, может затем зашифровать информацию, которую может прочитать только вы. Даже люди, которых вы никогда не встречали.
В вычислительном отношении невозможно вывести закрытый ключ из открытого ключа. Любой, кто имеет открытый ключ, может зашифровать информацию, но не может ее расшифровать. Только тот, кто имеет соответствующий закрытый ключ, может расшифровать информацию.
Как работает PGP?
PGP сочетает в себе некоторые из лучших функций как криптографии с обычным ключом, так и с открытым ключом. PGP - это гибридная криптосистема. Когда пользователь шифрует открытый текст с помощью PGP, PGP сначала сжимает открытый текст. Сжатие данных экономит время передачи модема и дисковое пространство и, что более важно, усиливает криптографическую безопасность. Большинство методов криптоанализа используют схемы, найденные в открытом тексте, для взлома шифра. Сжатие уменьшает эти структуры в открытом тексте, тем самым значительно повышая устойчивость к криптоанализу. (Файлы, которые слишком короткие для сжатия или плохо сжимаются, не сжимаются.) Затем PGP создает ключ сеанса, который является одноразовым секретным ключом. Этот ключ представляет собой случайное число, сгенерированное случайными движениями мыши и нажатий клавиш. Этот ключ сеанса работает с очень безопасным и быстрым обычным алгоритмом шифрования для шифрования открытого текста; результат - зашифрованный текст. Как только данные зашифрованы, сеансовый ключ затем шифруется в открытый ключ получателя. Этот зашифрованный сессионный ключ с открытым ключом передается получателю вместе с зашифрованным текстом.
См. http://www.pgpi.org/doc/pgpintro/.
И PGP.
«Блок открытого ключа PGP» имеет сложный формат. Ответ на https://stackoverflow.com/questions/27893569/what-is-a-pgp-secret-key
Чтобы увидеть, что находится внутри «блока открытого ключа PGP», используйте:
gpg --list-packets keyfile | less
Чтобы увидеть это в шестнадцатеричном виде:
gpg --dearmor keyfile > keyfile.bin; hexdump -C keyfile.bin
Это невероятно старая тема, но я хотел добавить к ответу несколько деталей...
Блок открытого ключа pgp — это открытый ключ (в данном случае используемый phrack.org). Вы можете использовать это со своим собственным ЧАСТНЫМ ключом pgp для шифрования сообщения (или чего-либо еще) таким образом, чтобы его мог интерпретировать только владелец ПУБЛИЧНОГО ключа. Многие организации публикуют ПУБЛИЧНЫЙ ключ gpg для облегчения сообщения об ошибках. Например, см. https://services.google.com/corporate/publickey.txt .
Как это использовать? Я буду использовать примеры gpg, поскольку он доступен на большинстве платформ:
Сначала вам понадобится собственный ключ, если у вас его еще нет.
gpg --full-generate-key
Откроется интерактивный диалог, который проведет вас через весь процесс. Примите значения по умолчанию. Вам также нужно будет ввести свое имя (или любое другое имя, которое вы хотите использовать в качестве имени) и адрес электронной почты (на самом деле это должен быть ваш фактический адрес электронной почты). Вам также необходимо указать пароль (помните об этом: если вы его забудете, вы не сможете использовать свой ключ!)
Затем импортируйте ПУБЛИЧНЫЙ ключ. Начните с создания файла phrack.txt и вставьте в него ПУБЛИЧНЫЙ ключ с веб-сайта. затем,
gpg --import phrack.txt
Ключ будет импортирован, и вы также увидите, что он принадлежит пользователю с именем « [email protected] » .
Теперь вы можете зашифровать свой документ. Мы назовем открытый текстовый документ «ваш_документ.txt», а зашифрованный документ — «ваш_документ.gpg»:
gpg --output your_document.gpg --encrypt --recipient staff@phrack.org your_document.txt
Вы отправите зашифрованный документ получателю. Вам также следует отправить либо свой ПУБЛИЧНЫЙ ключ, либо URL-адрес, содержащий ваш открытый ключ, чтобы они могли зашифровать свои ответы вам. Получите свой открытый ключ:
gpg --list-keys #will list all keys, note the fingerprint of your key
gpg --output PUBLIC.gpg --export --armor YOUR_KEY_FINGERPRINT