| CPC H04L 9/14 (2013.01) [H04L 9/065 (2013.01)] | 20 Claims |

|
1. A method comprising:
transmitting, by a relying party computer operated by a relying party to a processing network computer, a request for data associated with a user operating a user device, and a public encryption key associated with the relying party, wherein the processing network computer, generates a second symmetric key, encrypts the second symmetric key with the public encryption key associated with the relying party to form an encrypted second symmetric key, encrypts first encrypted data associated with the user with a second keystream to form first doubly encrypted data, wherein the second keystream is generated using a keystream generation function with the second symmetric key and a second nonce as input, wherein the first encrypted data associated with the user comprises plaintext data associated with the user, and wherein the plaintext data associated with the user is encrypted with a first keystream that is generated using the keystream generation function with a first symmetric key and a first nonce as input, transmits, to the user device, an encrypted first symmetric key, the first nonce, the first doubly encrypted data, and the public encryption key associated with the relying party, and receives, from the user device, an encrypted third symmetric key, a third nonce, and second doubly encrypted data, wherein the second doubly encrypted data was formed by encrypting second encrypted data associated with the user with a third keystream that is generated using the keystream generation function with a third symmetric key and the third nonce as input;
receiving, by the relying party computer from the processing network computer, the encrypted second symmetric key, the encrypted third symmetric key, the second nonce, the third nonce, and the second doubly encrypted data;
decrypting, by the relying party computer, the encrypted second symmetric key and the encrypted third symmetric key to obtain the second symmetric key and the third symmetric key; and
decrypting, by the relying party computer, the second doubly encrypted data using the second symmetric key, the second nonce, the third symmetric key, and the third nonce to obtain the plaintext data associated with the user.
|