@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. https://nlnet.nl/project/Libervia/
Though beats me how all the keys would get moved around the different protocols.