# US 9,608,805 B2 · Encryption key generation

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

- Number: US 9,608,805 B2
- Document ID: US9608805B2
- Status: Granted
- Kind: B2
- Application number: 14/401,956
- Filed: 2013-05-17
- Published: 2015-05-14
- Granted: 2017-03-28
- Earliest claimed: 2012-05-18
- Assignees: Omlis Limited
- Applicants: Omlis Limited
- Inventors: Markus Milsted
- Web page: https://patentgrep.com/patent/US9608805B2

## CPC

- H04L 9/0816: {Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use}
- G06K 7/1434: {Barcodes with supplemental or add-on codes}
- G06K 19/06112: {the marking being simulated using a light source, e.g. a barcode shown on a display or a laser beam with time-varying intensity profile}
- G06K 19/14: the marking being sensed by radiation
- G06Q 20/3274: {using a pictured code, e.g. barcode or QR-code, being displayed on the M-device}
- G06Q 20/40: Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G09C 5/00: Ciphering apparatus or methods not provided for in the preceding groups, e.g. involving the concealment or deformation of graphic data such as designs, written or printed messages
- H04L 9/0869: {involving random numbers or seeds}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 9/3242: {involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC}
- H04L 2209/56: Financial cryptography, e.g. electronic payment or e-cash
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06K: GRAPHICAL DATA READING (image or video recognition or understanding G06V); PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G09C: CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY

## Abstract

A method of generating an encryption key. The method comprises collecting a plurality of user defined variables defined by input from a user and collecting a plurality of environmental variables associated with varying environmental conditions. The method further comprises defining parameters of a plurality of scrambling functions using the user defined variables and calculating a plurality of scramble values. Each scramble value comprises a combination of environmental variables combined in accordance with one of the plurality of scrambling functions. The method further comprises combining the scramble values to produce a scramble code and generating the encryption key from the scramble code.

## Claims

### Claim 1

A computer-implemented method of generating an encryption key, said method comprising:
A. detecting a plurality of environmental variables associated with varying environmental conditions using at least one of a sensor and an input device;
B. collecting a plurality of further variables;
C. defining parameters of a plurality of scrambling functions using said further variables;
D. calculating a plurality of scramble values, each scramble value comprising a combination of said environmental variables combined in accordance with one of said plurality of scrambling functions;
E. combining said scramble values to produce a scramble code;
F. generating said encryption key from said scramble code; and
G. detecting a plurality of new environmental variables using at least one of said sensor and said input device;
H. calculating a plurality of new scramble values, each new scramble value comprising a combination of said new environmental variables combined in accordance with one of said plurality of scrambling functions;
I. combining said new scramble values to produce a new scramble code, and
J. generating a new encryption key from said new scramble code.

### Claim 2 (depends on 1)

A method according to claim 1, wherein said further variables comprise one of:
values physically input by a user; values generated by a server based on information previously provided by a user; and randomly generated data.

### Claim 3 (depends on 1)

A method according to claim 1, wherein each of said scrambling functions uses an encryption grid such that prior to combination of said environmental variables, at least one of said environmental variables is translated from a first value to a second value using said encryption grid, each of said encryption grids being populated with a series of values defined by one or more of said further variables.

### Claim 4 (depends on 3)

A method according to claim 3, wherein said combination of environmental variables is performed using a mathematical function associated with each of said encryption grids, said mathematical function being selected based on one of said user defined variables.

### Claim 5 (depends on 4)

A method according to claim 4, wherein said mathematical function is based on an encryption function table mapping values to mathematical functions.

### Claim 6 (depends on 1)

A method according to claim 1, wherein said encryption key is generated by selecting characters from a subset of characters of said scramble code, said selection being based on a predetermined selection function.

### Claim 7 (depends on 6)

A method according to claim 6, wherein said predetermined selection function comprises selecting every nth character of said scramble code.

### Claim 8 (depends on 1)

A method according to claim 1, wherein said steps G-J, are performed after a predetermined interval.

### Claim 9 (depends on 8)

A method according to claim 8, wherein step J is performed repeatedly at set intervals.

### Claim 10 (depends on 1)

A method of transmitting encrypted data comprising,
at a first device, generating an encryption key according to said method of claim 1 and transmitting said encryption key to an encryption key server;
generating encrypted data at said first device by encrypting data in accordance with said encryption key;
communicating said encrypted data from said first device to a second device;
transmitting a copy of said encryption key from said encryption key server to said second device, and
decrypting said encrypted data at said second device in accordance with the copy of said encryption key and repeating said steps for said new encryption key generated in said method of claim 1.

### Claim 11

An encryption key generating device comprising;
environmental variable detection means comprising at least one of a sensor and an input device configured to detect environmental variables associated with varying environmental conditions to which said environmental variable detection means are exposed thereby providing environmental variables, wherein
said device further comprises a processor configured to define parameters of a plurality of scrambling functions using further variables and to calculate a plurality of scramble values, each scramble value comprising a combination of environmental variables combined in accordance with one of said plurality of scrambling functions, wherein said processor is further configured to combine said scramble values to produce a scramble code, and generate an encryption key from said scramble code; wherein
said environmental detection means is configured to detect a plurality of new environmental variables, and said processor is configured to calculate a plurality of new scramble values, each new scramble value comprising a combination of said new environmental variables combined in accordance with one of said plurality of scrambling functions and to combine said new scramble values to produce a new scramble code, and to generate a new encryption key from said new scramble code.

### Claim 12 (depends on 11)

An encryption key generating device according to claim 11, wherein said further variables comprise one of: values physically input by a user; values generated by a server based on information previously provided by a user; and randomly generated data.

### Claim 13 (depends on 12)

An encryption key generating device according to claim 12, said device further comprising a user input detection means arranged to collect input from a user.

### Claim 14 (depends on 13)

An encryption key generating device according to claim 13, wherein each scrambling function uses an encryption grid such that prior to combination of said environmental variables, at least one of said environmental variables is translated from a first value to a second value using said encryption grid, each of said encryption grids being populated with a series of values defined by one or more of said further variables.

### Claim 15 (depends on 11)

An encryption key generating device according to claim 11, wherein said encryption key is generated by selecting characters from a subset of characters of said scramble code, said selection being based on a predetermined selection function.

### Claim 16 (depends on 15)

An encryption key generating device according to claim 15, wherein said predetermined selection function comprises selecting every nth character of the scramble code.

### Claim 17 (depends on 11)

An encryption key generating device according to claim 11, wherein said encryption key generating device is configured to perform said steps of generating said new encryption key after a determined interval.

### Claim 18 (depends on 11)

An encryption key generating device according to claim 11, further comprising transmitting means, said processor being configured to transmit said new encryption key to an encryption key server.

### Claim 19 (depends on 11)

A system for transmitting encrypted data, said system comprising;
a first device comprising an encryption key generating device according to claim 11,
an encryption key server, said first device arranged to generate encryption keys and transmit said encryption keys to said encryption key server, and
a second device, said encryption key server arranged to transmit said encryption keys to said second device, wherein said first device is arranged to encrypt data using one of said encryption keys thereby generating encrypted data, and to transmit said encrypted data to said second device, and said second device is arranged to decrypt said data using said corresponding one of said encryption keys transmitted from said encryption key server.

### Claim 20

A non-transitory computer readable medium comprising computer readable instructions which when executed on a computer perform a method comprising the steps of:
A. detecting a plurality of environmental variables associated with varying environmental conditions using at least one of a sensor and an input device;
B. collecting a plurality of further variables;
C. defining parameters of a plurality of scrambling functions using said further variables;
D. calculating a plurality of scramble values, each scramble value comprising a combination of said environmental variables combined in accordance with one of said plurality of scrambling functions;
E. combining said scramble values to produce a scramble code;
F. generating said encryption key from said scramble code; and
G. detecting a plurality of new environmental variables using at least one of said sensor and said input device;
H. calculating a plurality of new scramble values, each new scramble value comprising a combination of said new environmental variables combined in accordance with one of said plurality of scrambling functions;
I. combining said new scramble values to produce a new scramble code, and
J. generating a new encryption key from said new scramble code.
