When investigating the design of the FreedomBox app to exchange keys and establish trust between two people I looked at how the Bump App for iPhone and Android solves the issue. From their FAQ:
Q: How does Bump work?
A: There are two parts to Bump: the app running on your device and a smart matching algorithm running on our servers in the cloud. The app on your phone uses the phone’s sensors to literally “feel” the bump, and it sends that info up to the cloud. The matching algorithm listens to the bumps from phones around the world and pairs up phones that felt the same bump. Then we just route information between the two phones in each pair.
So, when you collide two phones with the same app, the data are encrypted and sent to their cloud for matching. No bluetooth, no complicated QRcode. Smart. I don’t think we can we use the same mechanism for FreedomBox, though.