A basic implementation of secure chatting app using VerneMQ & Signal Protocol.

  • A demo secure chat as like the picture using swiftUI.
  • We used verneMQ as a local server to pass the messages.
  • We’ll encrypt the messages before sending and decrypt the messages after receiving using Signal Protocol.


  • The end to end encryption process is done by SignalProtocol-ObjC library.
  • A signal session is created using this library in order to encrypt and decrypt messages.


  • Vernemq is used locally as mqtt message broker which is a high-performance, distributed MQTT message broker.
  • CocoaMQTT library is used to communicate with client to broker and vice versa.
  • Alice is subscribed to a topic and Bob is publish to that topic in order to pass encrypted message as like the picture.


View Github