Encrypt / Decrypt Messages in the Frontend

I want to encrypt a message with a public key of any principal and decrypt with the currently logged in principal - is that something the frontend sdk and wallet api currently supports?

My usecase is a multisignature wallet, where e.g. ethereum transactions can be signed using threshold ECDSA. The wallet stores the messages, but I want to encrypt (with the signers public key) the original transaction and store it as well so the signers can review the original transaction.

The encryption is necessary so noone can frontrun transactions.