Sharing data in an organized storage system
A method including determining, by a device, a sharing decryption key based at least in part on an assigned private key associated with the device and a folder access public key associated with a folder; decrypting, by the device, a folder access private key associated with the folder by utilizing the sharing decryption key; and decrypting, by the device, encrypted content associated with the folder by utilizing the folder access private key associated with the folder. Various other aspects are contemplated.
1. A method, comprising:
generating, by a user device that is in communication with a storage server, a sharing decryption key based at least in part on combining an assigned private key associated with the user device and a folder access public key associated with a folder;
receiving, by the user device from the storage server, encrypted content associated with the folder;
decrypting, by the user device, a folder access private key associated with the folder by utilizing the sharing decryption key; and
decrypting, by the user device, the encrypted content associated with the folder by utilizing the folder access private key associated with the folder.
2. The method of claim 1 , wherein decrypting the encrypted content comprises:
decrypting a randomly generated key by utilizing the folder access private key, the randomly generated key being used to encrypt the content; and
decrypting the encrypted content by utilizing the randomly generated key.
3. The method of claim 1 , further comprising:
determining a master key based at least in part on a master string of alphanumeric characters associated with the user device; and
decrypting the assigned private key associated with the user device by utilizing the master key.
4. The method of claim 1 , wherein the sharing decryption key is a symmetric key.
5. The method of claim 1 , further comprising:
receiving, by the user device, encrypted sample data, the sample data being encrypted by utilizing the assigned public key associated with the user device; and
transmitting, by the user device, decrypted sample data, the sample data being decrypted by utilizing an assigned private key associated with the user device.
6. The method of claim 1 , wherein generating the sharing encryption key includes generating the sharing encryption key based at least in part on utilizing a symmetric key cipher.
7. The method of claim 1 , further comprising:
receiving a master string of alphanumeric characters associated with the user device; and
decrypting the assigned private key by utilizing a master key that is determined based at least in part on the master string of alphanumeric characters.
8. A user device in communication with a storage server, the user device comprising:
a memory; and
a processor communicatively coupled to the memory, the memory and the processor being configured to:
generate a sharing decryption key based at least in part on combining an assigned private key associated with the user device and a folder access public key associated with a folder;
receive, from the storage server, encrypted content associated with the folder;
decrypt a folder access private key associated with the folder by utilizing the sharing decryption key; and
decrypt the encrypted content associated with the folder by utilizing the folder access private key associated with the folder.
9. The user device of claim 8 , wherein, to decrypt the encrypted content, the memory and the processor are configured to:
decrypt a randomly generated key by utilizing the folder access private key, the randomly generated key being used to encrypt the content; and
decrypt the encrypted content by utilizing the randomly generated key.
10. The user device of claim 8 , wherein the memory and the processor are configured to:
determine a master key based at least in part on a master string of alphanumeric characters associated with the user device; and
decrypt the assigned private key associated with the user device by utilizing the master key.
11. The user device of claim 8 , wherein the sharing decryption key is a symmetric key.
12. The user device of claim 8 , wherein the memory and the processor are configured to:
receive encrypted sample data, the sample data being encrypted by utilizing the assigned public key associated with the user device; and
transmit decrypted sample data, the sample data being decrypted by utilizing an assigned private key associated with the user device.
13. The user device of claim 8 , wherein, to generate the sharing encryption key, the memory and the processor are configured to generate the sharing encryption key based at least in part on utilizing a symmetric key cipher.
14. The user device of claim 8 , wherein the memory and the processor are configured to:
receive a master string of alphanumeric characters associated with the user device; and
decrypt the assigned private key by utilizing a master key that is determined based at least in part on the master string of alphanumeric characters.
15. A non-transitory computer-readable medium configured to store instructions, which when executed by a processor associated with a user device that is in communication with a storage server, configure the processor to:
generate a sharing decryption key based at least in part on combining an assigned private key associated with the user device and a folder access public key associated with a folder;
receive, from the storage server, encrypted content associated with the folder;
decrypt a folder access private key associated with the folder by utilizing the sharing decryption key; and
decrypt the encrypted content associated with the folder by utilizing the folder access private key associated with the folder.
16. The non-transitory computer-readable medium of claim 15 , wherein the processor is configured to:
decrypt a randomly generated key by utilizing the folder access private key, the randomly generated key being used to encrypt the content; and
decrypt the encrypted content by utilizing the randomly generated key.
17. The non-transitory computer-readable medium of claim 15 , wherein the processor is configured to:
determine a master key based at least in part on a master string of alphanumeric characters associated with the user device; and
decrypt the assigned private key associated with the user device by utilizing the master key.
18. The non-transitory computer-readable medium of claim 15 , wherein the sharing decryption key is a symmetric key.
19. The non-transitory computer-readable medium of claim 15 , wherein the processor is configured to:
receive encrypted sample data, the sample data being encrypted by utilizing the assigned public key associated with the user device; and
transmit decrypted sample data, the sample data being decrypted by utilizing an assigned private key associated with the user device.
20. The non-transitory computer-readable medium of claim 15 , wherein, to generate the sharing encryption key, the processor is configured to generate the sharing encryption key based at least in part on utilizing a symmetric key cipher.