There is NO WAY to know if the key exchange in the "end to end" encryption app is only sending public keys to the other side via the server when you don't control all of the infrastructure.
All they need to do is send both public and private keys to the server, save the private key on the server and forward the public. Then they can decode everything.
If you're trusting a third party for your encryption your messages aren't encrypted anyway.
You gets it.
Yhen again, writing your own encryption algo, math proofing it and getting others to use it as well.... Dat's hard work.
There is NO WAY to know if the key exchange in the "end to end" encryption app is only sending public keys to the other side via the server when you don't control all of the infrastructure.
All they need to do is send both public and private keys to the server, save the private key on the server and forward the public. Then they can decode everything.