0

There are password managers that encrypt passwords and data on the client side before storing it on the server.

I understand the Symmetric and Asymmetric Encryptions on a basic level. With Asymmetric Encryption, it requires the Public key of the other user to encrypt it so only him/her can decrypt it with the Private key. I don't understand how that would happen for a group or even a single user where both the encryptor and decrypter need the data/password.

Thanks for the help.

LiavReuven
  • 109
  • 3
Deep Vora
  • 318
  • 3
  • 13

1 Answers1

1

Typically you encrypt the data itself (the password) with a random symmetric key. You then encrypt that key with each public key you want to provide access. Since passwords are small, in principle you could just encrypt the key directly with the public key, but it's pretty common practice to do the two-step process. Asymmetric encryption is very slow, and not convenient for use on large pieces of data. And if you have a large number of public keys, it's much better to just have a small piece of data (a symmetric key) encrypted multiple times rather than the whole data set.

If it's just a single user, there's no reason for asymmetric encryption. You'd just use symmetric encryption with a single key.

Rob Napier
  • 286,113
  • 34
  • 456
  • 610
  • Someting like PGP? so same data would be encrypted with each public key in the group and stored – Deep Vora Aug 13 '18 at 15:36
  • 1
    Exactly. Though typically the encrypted data is just a symmetric key, and then you use that key to decrypt the real data. – Rob Napier Aug 13 '18 at 15:59