@darius XMPP has a pretty decent end to end 2 entity chat system.

XMPP has a pretty rich system for creating gateways and there's some thoughts about trying to build an ActiivityPub / XMPP gateway. nlnet.nl/project/Libervia/

Though beats me how all the keys would get moved around the different protocols.