I'm using Python to build a system in which users (accounts on a blockchain: defined by a public key and a secret key) need to communicate with each other securely and I think asymmetric encryption is the way to do it.
For example, if User A wants to send a message to User B, they encrypt the message with User B's public key and sends it to them. User B then uses their private key to decrypt the message and can read it.
However, I don't think it's possible (or I don't know how) to do this sort of encryption with the existing keypair I have for each account. Instead, I think what I should do is use a dedicated asymmetric encryption algorithm and generate the keypairs for that using the original keypair's private key as a seed/source (essentially, deterministically deriving a keypair with which I can do asymmetric encryption from the original private key).
Is this possible? Am I overcomplicating it? What libraries or algorithms should I look into (preferably Python-specific)? Thanks, any help is appreciated!