I want to build a service where people can message each other via their mobile device so that they encrypt all of their information on their device and not on my server. Basically I want to two people to securely message each other and have confidence that my servers nor anyone else can have any knowledge or access to their data without their permissions. I'm especially wary of preventing mitm attacks.
Currently all my messaging runs through my rabbitmq servers in the US, but I want the data messages going through rabbitmq to be encrypted before getting to my mq servers. I understand that this is what SSL basically is, but is it really the best option out there especially if the certificate servers are US based? Is it possible to have dynamically generated client keys only stored on mobile devices that can't be cracked by me? What I'm afraid is for the government asking for my encryption keys to decrypt my clients traffic in case of an impending lawsuit.