Шифрование с использованием множества пар ключей
Есть n пользователей, у каждого есть пара ключей открытый/закрытый. Необходимо зашировать сообщение так, чтобы каждый из n пользователей его мог разшифровать. При этом доступны открытые ключи всех пользователей и закрытый кулюч одного из пользователей. Есть ли какие-нибудь алгоритмы позволяющие это сделать?
Ссылки
[link1] http://qaru.site/questions/67964/encryption-with-multiple-different-keys
Зашифровываете сообщение симметричным ключом; этот ключ индивидуально шифруете каждым открытым ключом пользователей; каждому пользователю передаёте пакет, состоящий из зашифрованного сообщения и зашифрованного симметричного ключа.
Если вам нужна схема шифрования, при которой размер зашифрованных данных не растёт с увеличением числа получателей (т.е. на вход функции шифрования подаются все открытые ключи), смотрите в сторону протоколов широковещательного шифрования (broadcast encryption).
GnuPG умеет это, поиск в гугле выдал вот что:
https://www.gnupg.org/gph/en/manual.html#AEN111
gpg --encrypt --recipient alice@example.com --recipient bob@example.com doc.txt