I have a use case where I need to ensure that a file is received from users in a group. Users may be added or removed from this group and encryption is not mandatory, just to ensure that the file came from one of those users
My first thought was to use symmetric encryption, but it would make removing users from the group hard.
Then I though using a private and public key pair for each user, the user encrypts the file with his private key and when I have to use it decrypt it with the public key. If a user needs to be removed I could just revoke his certificate
The problem is that I don't know from which user the file came from, therefore I should try to decrypt it with every key until it successfully decrypts
Is there a simpler way to achieve this?