Обратите внимание, что я хочу, чтобы все (2,3,4 и 5) ключи должны были расшифровываться. обнаружил секретный обмен Шамира Я полагаю, что он может решить мою проблему
Секретный обмен Шамира может также решить вашу проблему, но он может сделать больше (восстановить ключ дешифрования, имея только подмножество ключей). Это делается за счет сложности и производительности. Если вы рассмотрите возможность использования общих ресурсов (подмножеств) в будущем, то, возможно, ссылка Kelalaka - это лучшее, что вы можете получить для своего случая.
Если вам нужны все ключи для расшифровки, вы можете упростить код получить ключ шифрования из N случайных ключей (быстрее и проще), используя любую безопасную операцию (XOR, ha sh, дополнение без остатка, ...). Я бы предпочел использовать простой XOR, поскольку это коммутативная операция, быстрая и поддерживаемая из коробки
пример:
- генерирует N случайных ключей дешифрования
- XOR all ключи дешифрования для получения ключа шифрования
Примечание. Ваша первая ссылка (шифрование / дешифрование с несколькими ключами) использует GPG для шифрования одного ключа шифрования для нескольких получателей (publi c ключи) отдельно, поэтому любой из получателей сможет восстановить ключ шифрования