Is there any way to encrypt/decrypt data using web3js library(or any other standard tool), so that only user having access to public/private key can store and read data onto ethereum blockchain.
Scenario could be: A user stores sensitive information in encrypted file on IPFS and then using smart contract store encrypted hash of IPFS file onto blockchain, in future when he can access encrypted hash of IPFS file from blockchain using smart contract and view information.
In this scenario user has not remembered(stored) any thing except Ethereum private key.