All data stored on public blockchains like ethereum is available for public viewing.

All there any libraries, frameworks or solutions, for storing encrypted data inside smart contract data structures.

If the data is encrypted using say shared/AES keys by selective registered users using the dapp, then isnt data privacy ensured, though the physical data might be lying on replicated ethereum full nodes.

Please comment if anyone has information about this topic in general, would like to learn

1 Answer 1


You are right that you can encrypt data off-chain using any encryption scheme. For AES, you'll need a shared key. But if your intent is to store secure message that can be read only by another address holder, you can try ECIES Encryption. It uses the public key of an Ethereum address to encrypt data. The public key can be derived from any previous transaction that address has created. These methods are also exposed by Metamask (docs). Using this method, you can store data on the chain that can only be read by the recipient.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.