Universal Wallet uses eth-crypto to encrypt content between two parties, eg Alice and Bob.
Example
// Obtain a previously created accountlet acct =awaitwallet.getAccount()// add Alice and Bob wallets with auto generated mnemonicconstwalletAId=awaitwallet.addWallet()constwalletBId=awaitwallet.addWallet()// create DIDsconstdid=awaitwallet.createEd25519({ walletId: walletAId})constdidBob=awaitwallet.createEd25519({ walletId: walletBId})// create Alice IPLD ManagerconstipfsManager=newIPLDManager(did.did)awaitipfsManager.start()// Authenticate with DIDawaitdid.did.authenticate()awaitdidBob.did.authenticate()// Alice encrypts, and both Alice and Bob can decryptconstenc=awaitipfsManager.encryptObject('Hola Mundo !!!', [didBob.did.id,])// Bob DID decrypts contentconstres=awaitipfsManager.decryptObject(didBob.did,enc.toString(), {})expect(res.cleartext).toEqual('Hola Mundo !!!')