I did a fair research on Android's built-in ability to handle RSA encryption and decryption and also other libraries through which it could be achieved. Before I draft a proposal (finally!) I want to be sure if I am on the right path.
So, what I have understood and assumed to be done is that, each user will have a public key associated with their Privly account, when they want to send message to someone else, they will use other Privly user's public key to encrypt and finally share it. The intended recipient will use their private key to decrypt the data sent.
So, the task here is to not only facilitate sharing of public keys but save it to the Privly's content/key server for the particular account. Now, the question which arises is that, which device will hold the private key, the server or the particular device. If the private key is stored in, say an Android Device, then when the shared public key is synced to a person’s account and later accessed by another device, say a PC browser’s extension, then the issue is that, how will the browser extension decrypt the content without a private key.
So, the core problem to be solved is to provide some kinda mechanism to share the private key across devices to decrypt content for a particular user logged into his/her Privly account.
If what I described above is the intended problem to be solved, I think I have a draft proposal ready, if that’s not the case, please guide me to the right path.