Ответы:
Нет, это точка асимметричных ключей (открытых и закрытых), так как вы можете легко закодировать сообщение с открытым ключом (для этого оно предназначено), у вас есть дешифрованное и зашифрованное сообщение. Но расшифровка зашифрованного сообщения возможна только с помощью закрытого ключа. Закрытый ключ не может быть восстановлен.
Так как это не было упомянуто: это известно как атака с открытым текстом и будет очень плохой уязвимостью для шифра. Фактически, в криптографии с открытым ключом эта атака эквивалентна атаке с использованием открытого текста , поскольку любой может зашифровать любое сообщение!
Там есть на самом деле были некоторые известны / выбраны-открытым текстом атаки на RSA (открытого ключа шифра наиболее часто используемые PGP для шифрования с симметричным ключом) , но они обычно включают атаки побочного канала против плохих реализаций , или требуется безумное количество шифротекстов , или работают только против определенных, редких ключей .
Тем не менее, в целом, ответ на ваш вопрос «нет» - это то, что делает шифр безопасным.
Нет, это было бы очень плохо. В шифровании PGP используется последовательная комбинация хеширования, сжатия данных, криптографии с симметричным ключом и, наконец, криптографии с открытым ключом. Хеширование использует односторонние функции . Односторонняя функция - это функция, которую легко вычислить, но трудно перевернуть. Криптография с открытым ключом использует асимметричные алгоритмы.
Алгоритмы, используемые для криптографии с открытым ключом, основаны на математических отношениях (наиболее заметными из которых являются задачи целочисленной факторизации и дискретного логарифма), которые предположительно не имеют эффективного решения. Хотя предполагаемому получателю в вычислительном отношении легко сгенерировать открытый и закрытый ключи, расшифровать сообщение с помощью закрытого ключа и легко отправителю зашифровать сообщение с помощью открытого ключа, это чрезвычайно трудно (или фактически невозможно) для Кто угодно может получить личный ключ, основываясь только на его знании открытого ключа.
Просто иметь оригинальное сообщение недостаточно, чтобы вывести закрытый ключ.
На это есть два ответа.
Это теоретически возможно? Да. Вы можете сгенерировать поддельный ключ, попробовать шифрование, посмотреть, соответствует ли он. Если нет, попробуйте другой поддельный ключ, зашифруйте, посмотрите, совпадает ли вывод. Это обычно называют атакой грубой силы
На практике это не может быть сделано. Это требует ненулевого количества времени и вычислительной мощности. Для шифрования PGP обычно используется ключ приличного размера, может быть 512, 1024, 2048 или даже больше битов. Пространство клавиш (количество клавиш, которое вы можете иметь) настолько велико, что вам понадобится целая вечность, чтобы найти эту комбинацию.
Полагаю, вы спрашивали, можете ли вы сделать это на самом деле, а не теорию. И поэтому ответ - нет. Миру не хватает вычислительной мощности для этого. Если вы спросите на security.stackexchange.com, кто-то, кто лучше знаком с алгоритмами и математикой, скажет, сколько времени это займет (возможно, пока солнце не метастазирует и не закипит нашу планету). Мой короткий ответ "не в вашей жизни"
Маловероятно, что это может помочь, но это не должно завести вас слишком далеко. Форма безопасности, вероятно, является лучшим местом для этого, но:
У вас должно быть несколько шагов к шифрованию, как минимум, даже приличный должен иметь начальное число, хеш и соль.
Например, у вас может быть желание сделать все пароли длиной 64 бита, а затем запустить их через хеш. Если бы это был только хеш, то было бы очень легко взломать.
Это очень простая версия ... но это не так просто.