A method of conducting end-to-end secure device-to-device (D2D) communication between a plurality of user devices that includes a sender user device, a recipient user device, and a plurality of relay user devices, comprising the steps of: providing a public key and a private key for each of the user devices, the private key for each user device arranged to decrypt data encrypted by the public key corresponding to that private key; creating, by the sender user device, a digital signature using its private key; double-encrypting, by the sender user device, a data transmission using the public key of the recipient user device and the public key of a first one of the relay user devices, the data transmission including the digital signature; transmitting the data transmission in a chain from the sender user device to the recipient user device through the plurality of relay user devices starting with the first one of the relay user devices, wherein, for each of the relay user devices, the step of transmitting includes: receiving the data transmission; decrypting a first layer of encryption of the data transmission with its private key; encrypting the data transmission with the public key of a subsequent one of the user devices in the chain; and forwarding the data transmission to the subsequent one of the user devices; authenticating, by the recipient user device, the digital signature of the sender user device using the public key of the sender user device; and conducting D2D communications between the sender user device and the recipient user device if the digital signature is authenticated. providing a public key and a private key for each of the user devices, the private key for each user device arranged to decrypt data encrypted by the public key corresponding to that private key; creating, by the sender user device, a digital signature using its private key; double-encrypting, by the sender user device, a data transmission using the public key of the recipient user device and the public key of a first one of the relay user devices, the data transmission including the digital signature; transmitting the data transmission in a chain from the sender user device to the recipient user device through the plurality of relay user devices starting with the first one of the relay user devices, wherein, for each of the relay user devices, the step of transmitting includes: receiving the data transmission; decrypting a first layer of encryption of the data transmission with its private key; encrypting the data transmission with the public key of a subsequent one of the user devices in the chain; and forwarding the data transmission to the subsequent one of the user devices; receiving the data transmission; decrypting a first layer of encryption of the data transmission with its private key; encrypting the data transmission with the public key of a subsequent one of the user devices in the chain; and forwarding the data transmission to the subsequent one of the user devices; authenticating, by the recipient user device, the digital signature of the sender user device using the public key of the sender user device; and conducting D2D communications between the sender user device and the recipient user device if the digital signature is authenticated.