Legal claims defining the scope of protection, as filed with the USPTO.
1. A system for generating a symmetric key to be used to encrypt data to be shared by a first client and a second client, the system comprising: a first client device with a memory, a processor and an associated local storage; a second client device with a memory, a processor and an associated storage; a symmetric key generating algorithm and a symmetric key encryption algorithm, each located on the first client device memory and the second client device memory;, wherein the system executes the following steps; 1. entering a first client private key and a second client public key into the symmetric key generating algorithm on each of the first client device memory and second client device memory to independently generate the same symmetric key on each device, wherein the symmetric key is derived from a point on the elliptic curve produced by multiplying the first client private key by the second client public key wherein the symmetric key is derived from a point on the elliptic curve produced by multiplying the first client private key by the second client public key; 2. securely storing the second client public key on the remote repository; 3. using the symmetric key encryption algorithm on the first client device to encrypt data; 4. sending the encrypted data from the first client device to the second client device; 5. retrieving the second client private key and the first client public key from the second client storage with the second client device; and 6. decrypting the encrypted data using the symmetric key encryption algorithm on the second client device.
2. The system of claim 1, wherein the symmetric key is derived from a point on the elliptic curve produced by multiplying the first client private key by the second client public key.
3. The system of claim 2, wherein the symmetric key is a 32-byte hash of concatenated x and y coordinates of the point.
4. The system of claim 1, wherein step 4 is accomplished using an Internet, an intranet, wired or wireless transfer or a similar known means of electronic data transport.
5. The system of claim 1, wherein the second client device is a server.
6. A method of using the system of claim 1, wherein the system executes the following steps: 1. Retrieving a first client private key and a second client public key from a first client local storage with a first client device; 2; 3. Using the symmetric key in a symmetric encryption algorithm stored on the first client device memory to encrypt data; 4. Sending the encrypted data from the first client device to the second client device via an Internet, an intranet, wired or wireless transfer or a similar known means of electronic data transport; 5; 6. Generating the symmetric key with the second client device as in step 2, wherein the derivation methodology matches the methodology of the first client; and 7. Using the symmetric key on the second client device to decrypt the incoming message from the first client and thus access the encrypted data.
7. The method of claim 6, wherein the symmetric key is a 32-byte hash of concatenated x and y coordinates of the point.
8. The method of claim 6, wherein step 3 is embodied as using the symmetric key to initialize an instance of an AES algorithm and thereby encrypting data.
9. A method of using the system of claim 1, also comprising a mobile application stored in the memory of the first client device, wherein the system executes the following steps: 1. Embedding a second client public key into the application on the first client device; 2. Computing a random first client private key and an associated elliptic curve second public key with the application on the first client device; 3. Computing a symmetric key from the embedded second client public key and the computed random first client private key with the application on the first client device; 4. Encrypting data with the application using the symmetric key; 5. Sending the computed public key and the encrypted data to the second client device associated with the second client public key; 6. Computing a symmetric key from the second client private key and the incoming first client public key with a copy of the application located on the server; and 7. Decrypting the encrypted data using the computed symmetric key on the second client device.
10. The method of claim 9, wherein the mobile application contains the embedded second client public key at the time it is downloaded to the memory of the first client device.
11. The method of claim 9, wherein step 5 is accomplished using an Internet, an intranet, wired or wireless transfer or a similar known means of electronic data transport.
Unknown
March 25, 2025
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.