sequenceDiagram
Alice-X+Repeater: Add contact
Repeater--X-Alice: repeater's public key, timestamp
Alice-X+Bob: repeater's public key, timestamp
Bob--X-Alice: Bob's public key, timestamp, mac
Alice-X+Repeater: Bob's public key, timestamp, mac
Repeater->>Repeater: shared secret (ECDHE)
Repeater->>Repeater: create sym. key from shared secret
Repeater->>Repeater: derive transport keys
Repeater--X-Alice: repeater's mac, contact id, transport properties
Alice-XBob: repeater's mac, transport properties
activate Bob
Bob->>Bob: shared secret (ECDHE)
Bob->>Bob: create sym. key from shared secret
Bob->>-Bob: derive transport keys
Bob-->Repeater: Secure communication
The asymmetric keys are newly created ephemeral keys.