These messages may be generated and transmitted in accordance with the procedures depicted in the flowcharts of FIGS. 6A (sender-side) and 6B (recipient-side). The exemplary logic may be implemented in hardware, software, or a combination of hardware and software (e.g., being implemented at least partially in hardware). For example, the logic may be embodied as digital logic, which may be implemented at least partially in hardware, embodying instructions for a processor circuit to perform the steps described below. Although FIGS. 6A-6B (and 8A-8B) depict a particular arrangement of logical elements in a particular order, it is understood that the configurations depicted is but one example. In other embodiments, more elements may be provided and/or some elements may be omitted, some elements may be performed in parallel, and/or elements may be performed in a different order. In some embodiments, some of the depicted elements may be performed on different systems.
In the sending-client side image processing logic 600, processing may begin at block 602 where the sending client sets up an E2EE session with a receiving client. The sending client may set up the E2EE session in response to receiving a request to transmit a message from the sending client to the receiving client. Setting up the E2EE session may include, for example, exchanging encryption and decryption keys between the sending client and the recipient client.