É possível ter criptografia com várias chaves privadas (PHP)?

Ou: como armazenar dados criptografados para vários usuários?

Eu admito, é uma pergunta boba, uma chave privada é limitada a apenas uma pessoa, como o termo já implica. Mas eu tenho o seguinte cenário:

O usuário Tom insere dados que precisam ser armazenados criptografados em um banco de dados. O usuário decide que deseja disponibilizar essas informações para Jim e Bob. Os usuários John e Jayne não devem ser capazes de descriptografá-lo. Claro que também não para o usuário Tim, que invadiu o servidor e tem acesso aos dados criptografados e aos scripts que fazem a criptografia / descriptografia.

Eu acho que a abordagem de chave pública / chave privada com PHPsopenssl_public_encrypt A função não funcionará aqui, pois dois usuários precisam ter essa chave "privada" para descriptografar os dados.

Eu acho que essa é uma pergunta bastante geral, mas se for importante, deve ser feita em PHP (e MySQL talvez).

questionAnswers(4)

yourAnswerToTheQuestion