Шифрование одним ключом и дешифрование несколькими ключами - PullRequest
1 голос
/ 06 января 2020

Я ищу механизм шифрования с использованием одного ключа. но для расшифровки требуется несколько ключей 2,3,4 и 5. Обратите внимание, что я хочу, чтобы все (2,3,4 и 5) ключи должны были расшифровываться. Я хочу реализовать это в python. но я не мог найти конкретный материал онлайн. Я нашел ответ шифрование / дешифрование с несколькими ключами , согласно которому я могу использовать GnuPG для этой цели. Я читал GnuPG, но я не смог найти ответ на него. Я нашел Секретный обмен Шамира Я верю, что это может решить мою проблему. Но я не смог найти его реализацию в криптографии или другом популярном пакете python. Я готов реализовать код, который приведен на странице Википедии «Секретного обмена Шамира». но у меня есть одна проблема. Я не уверен, что его реализация безопасна?

1 Ответ

3 голосов
/ 06 января 2020

Обратите внимание, что я хочу, чтобы все (2,3,4 и 5) ключи должны были расшифровываться. обнаружил секретный обмен Шамира Я полагаю, что он может решить мою проблему

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

Если вам нужны все ключи для расшифровки, вы можете упростить код получить ключ шифрования из N случайных ключей (быстрее и проще), используя любую безопасную операцию (XOR, ha sh, дополнение без остатка, ...). Я бы предпочел использовать простой XOR, поскольку это коммутативная операция, быстрая и поддерживаемая из коробки

пример:

  • генерирует N случайных ключей дешифрования
  • XOR all ключи дешифрования для получения ключа шифрования

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...