| CPC H04L 9/0825 (2013.01) [H04L 9/0643 (2013.01); H04L 9/0869 (2013.01); H04L 9/3263 (2013.01)] | 17 Claims |

|
1. A process for transmitting a file from a sender device to a receiver device comprising:
generating a random symmetric session key for the sender device;
randomly selecting a private ephemeral key for the sender device, the private ephemeral key associated with a corresponding first public key;
wherein the receiver device comprises a randomly selected public ephemeral key, the public ephemeral key associated with a corresponding first private key;
generating a random value within a range;
calculating an encrypted session key;
encrypting the file using symmetric encryption; and
transmitting from the sender device to the receiver device a group ID, the encrypted session key, the random value, a sender device ID, a receiver device ID, a hashed file ID, a sender key ID, and a receiver key ID, wherein the receiver device includes a record comprising the random value, the sender device ID, the hashed file ID, and the group ID;
wherein the sender device comprises a first public X509 certificate comprising a second public key and a corresponding second private key that is signed by a service provider;
wherein the receiver device comprises a second public X509 certificate comprising a third public key and a corresponding third private key; and
wherein the encrypted session key is calculated as follows:
encrypted session key=(the random symmetric session key+the random value*the first public key*the first private key+the random value*the second public key*the third public key)/(mod(the range)).
|