A local computing device for trusted messaging, the local computing device comprising: a local trusted message module, established in a trusted execution environment, to (i) perform attestation of a remote computing device based on communication with a corresponding remote trusted message module established in a trusted execution environment of the remote computing device (ii) exchange, with the remote trusted message module, cryptographic keys in response to successful attestation of the remote computing device, (iii) select a contact from a contacts database of the local computing device, (iv) construct a message to the selected contact to request enablement of a trusted message module on a computing device associated with the selected contact to virally distribute the message, and (v) transmit the message to a corresponding message address associated with the selected contact; and a message client to (i) forward outgoing messages to the local trusted message module and (ii) receive incoming messages from the local trusted message module, wherein, to securely transmit an outgoing message to the remote computing device, the local trusted message module is to (i) receive the outgoing message from the message client, (ii) encrypt the outgoing message, and (iii) cryptographically sign the outgoing message, prior to transmittal to the remote trusted message module of the remote computing device; and wherein, to securely receive an incoming message from the remote computing device, the local trusted message module is to (i) receive the incoming message from the remote trusted message module of the remote computing device, (ii) decrypt the incoming message, and (iii) verify a cryptographic signature of the incoming message, based on the exchanged cryptographic keys and prior to transmittal of the incoming message to the message client. a local trusted message module, established in a trusted execution environment, to (i) perform attestation of a remote computing device based on communication with a corresponding remote trusted message module established in a trusted execution environment of the remote computing device (ii) exchange, with the remote trusted message module, cryptographic keys in response to successful attestation of the remote computing device, (iii) select a contact from a contacts database of the local computing device, (iv) construct a message to the selected contact to request enablement of a trusted message module on a computing device associated with the selected contact to virally distribute the message, and (v) transmit the message to a corresponding message address associated with the selected contact; and a message client to (i) forward outgoing messages to the local trusted message module and (ii) receive incoming messages from the local trusted message module, wherein, to securely transmit an outgoing message to the remote computing device, the local trusted message module is to (i) receive the outgoing message from the message client, (ii) encrypt the outgoing message, and (iii) cryptographically sign the outgoing message, prior to transmittal to the remote trusted message module of the remote computing device; and wherein, to securely receive an incoming message from the remote computing device, the local trusted message module is to (i) receive the incoming message from the remote trusted message module of the remote computing device, (ii) decrypt the incoming message, and (iii) verify a cryptographic signature of the incoming message, based on the exchanged cryptographic keys and prior to transmittal of the incoming message to the message client.