A non-transitory computer storage medium for storing a plurality of instructions, the plurality of instructions when executed by one or more processors performing a method for secure communication between a first electronic device and a second electronic device, each electronic device including a hardware processor and associated memory, the method comprising:
- creating, by the first electronic device, a first set of encryption keys including a first public encryption key, a first private encryption key and a first digital token;
- creating, by the second electronic device, a second set of encryption keys including a second public encryption key, a second private encryption key and a second digital token;
- receiving, by the second electronic device, an invitation request to establish a secure communication line between the first electronic device and the second electronic device, the invitation request including a challenge question;
- transmitting to a trusted third party, by the first electronic device, an answer to the challenge question;
- transmitting to the trusted third party, by the second electronic device, a response to the challenge question;
- authenticating the second user of the second electronic device based on the response to the challenge question and answer to the challenge question;
- and
- establishing the secure communication line by uniquely associating the first public encryption key and the second public encryption key to the first and second electronic device, respectively.