# US 10,484,170 B2 · Custom encryption function for communications between a client device and a server device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,484,170 B2
- Document ID: US10484170B2
- Status: Granted
- Kind: B2
- Application number: 16/181,812
- Filed: 2018-11-06
- Published: 2019-08-15
- Granted: 2019-11-19
- Earliest claimed: 2018-02-14
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Joni Bridget Jezewski
- Web page: https://patentgrep.com/patent/US10484170B2

## CPC

- H04L 9/0819: {Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) (network architectures or network communication protocols for key distribution in a packet data network H04L63/062)}
- G06F 7/582: {Pseudo-random number generators}
- G06F 21/31: User authentication
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- H04L 9/0631: {Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms}
- H04L 9/083: {involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]}
- H04L 9/0833: {involving conference or group key (network architectures or network communication protocols for key management in group communication in a packet data network H04L63/065)}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 9/3013: {involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems}
- H04L 9/302: {involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes}
- H04L 9/3066: {involving algebraic varieties, e.g. elliptic or hyper-elliptic curves}
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/083: {using passwords (cryptographic mechanisms or cryptographic arrangements for entity authentication using a predetermined code H04L9/3226)}
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A device receives credentials of a user of a client device that is accessing an application associated with a server device, and verifies the user based on the credentials of the user. The device retrieves, based on verifying the user, a random function from a random functions data structure associated with the device, and utilizes the random function to select parameters and values for a user function. The device utilizes the user function, the parameters, and the values to generate a custom encryption function, and encrypts the custom encryption function to form an encrypted custom encryption function. The device provides the encrypted custom encryption function to the client device and the server device to permit encrypted communication between the client device and the server device using the custom encryption function.

## Claims

### Claim 1

A device, comprising:
one or more memories; and
one or more processors, communicatively coupled to the one or more memories, configured to:
provide application information to a client device and an encryption platform;
receive, based on providing the application information to the client device, credentials of a user of the client device;
receive, from the encryption platform, an encrypted custom encryption function to permit encrypted communication between the client device and the device using a custom encryption function,
the encrypted custom encryption function being decrypted at the client device to create the custom encryption function,
the custom encryption function being used to create encrypted form data at the client device, and
the custom encryption function being assigned a null value based on the encrypted form data being created;
provide, to the client device, an application form;
receive, based on providing the application form to the client device, the encrypted form data;
decrypt the encrypted custom encryption function to generate the custom encryption function; and
utilize the custom encryption function to decrypt the encrypted form data.

### Claim 2 (depends on 1)

The device of claim 1, where the application information comprises information indicating a location of an application, associated with the application information, at the device.

### Claim 3 (depends on 1)

The device of claim 1, where the one or more processors are further to:
determine, based on the credentials, whether the user is authorized to use an application associated with the application information.

### Claim 4 (depends on 1)

The device of claim 1, where the one or more processors, when receiving the encrypted custom encryption function, are to:
receive the encrypted custom encryption function based on the encryption platform receiving the credentials from the client device.

### Claim 5 (depends on 1)

The device of claim 1, where the application form includes a request for information associated with the user.

### Claim 6 (depends on 1)

The device of claim 1, where the application form is encrypted to create the encrypted form data.

### Claim 7 (depends on 1)

The device of claim 1, where the one or more processors are further to:
utilize form data, created based on decrypting the encrypted form data, to perform a function associated with an application,
the application being associated with the application information.

### Claim 8

A method, comprising:
providing, by a device, application information to a client device and an encryption platform;
receiving, by the device based on providing the application information to the client device, credentials of a user of the client device;
receiving, by the device and from the encryption platform, an encrypted custom encryption function to permit encrypted communication between the client device and the device using a custom encryption function,
the encrypted custom encryption function being decrypted at the client device to create the custom encryption function,
the custom encryption function being used to create encrypted form data at the client device, and
the custom encryption function being assigned a null value based on the encrypted form data being created;
providing, by the device and to the client device, an application form;
receiving, by the device based on providing the application form to the client device, the encrypted form data;
decrypting, by the device, the encrypted custom encryption function to generate the custom encryption function; and
utilizing, by the device, the custom encryption function to decrypt the encrypted form data.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
receiving an encryption key, stored in an external memory, from the encryption platform; and
where decrypting the encrypted custom encryption function comprises:
decrypting the encrypted custom encryption function using the encryption key.

### Claim 10 (depends on 8)

The method of claim 8, where the application form is encrypted, using the custom encryption function, to create the encrypted form data.

### Claim 11 (depends on 8)

The method of claim 8, further comprising:
utilizing form data, created based on decrypting the encrypted form data, to perform a function associated with an application,
the application being associated with the application information.

### Claim 12 (depends on 8)

The method of claim 8, further comprising:
determining, based on the credentials, whether the user is authorized to use an application associated with the application information.

### Claim 13 (depends on 8)

The method of claim 8, where the custom encryption function is based on a random function being utilized to select a parameter and a value.

### Claim 14 (depends on 8)

The method of claim 8, where the custom encryption function is further based on the credentials.

### Claim 15

A non-transitory computer-readable medium storing instructions, the instructions comprising:
one or more instructions that, when executed by one or more processors, further cause the one or more processors to:
provide application information to a client device and an encryption platform;
receive, based on providing the application information to the client device, credentials of a user of the client device;
receive, from the encryption platform, an encrypted custom encryption function to permit encrypted communication with the client device using a custom encryption function,
the encrypted custom encryption function being decrypted at the client device to create the custom encryption function,
the custom encryption function being used to create encrypted form data at the client device, and
the custom encryption function being assigned a null value based on the encrypted form data being created;
provide, to the client device, an application form;
receive, based on providing the application form to the client device, the encrypted form data;
decrypt the encrypted custom encryption function to generate the custom encryption function; and
utilize the custom encryption function to decrypt the encrypted form data.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, where the one or more instructions, that cause the one or more processors to receive the encrypted custom encryption function, cause the one or more processors to:
receive the encrypted custom encryption function based on the encryption platform receiving the credentials from the client device.

### Claim 17 (depends on 15)

The non-transitory computer-readable medium of claim 15, where the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:
utilize form data, created based on decrypting the encrypted form data, to perform a function associated with an application,
the application being associated with the application information.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, where the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:
receive an encryption key from the encryption platform; and
where the one or more instructions, that cause the one or more processors to decrypt the encrypted custom encryption function, cause the one or more processors to:
decrypt the encrypted custom encryption function using the encryption key.

### Claim 19 (depends on 15)

The non-transitory computer-readable medium of claim 15, where the application form is encrypted, using the custom encryption function, to create the encrypted form data.

### Claim 20 (depends on 15)

The non-transitory computer-readable medium of claim 15, where the custom encryption function is based on the credentials and a random function.
