# US 2014/0192983 A1 · Cryptographic sequencing system and method

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

- Number: US 2014/0192983 A1
- Document ID: US20140192983A1
- Status: Published application
- Kind: A1
- Application number: 14/055,969
- Filed: 2013-10-17
- Published: 2014-07-10
- Earliest claimed: 2012-10-17
- Assignees: Elliptic Technologies Inc.
- Applicants: Elliptic Technologies Inc.
- Inventors: Neil HAMILTON; François BOURDON; Michael BORZA
- Web page: https://patentgrep.com/patent/US20140192983A1

## CPC

- G06F 21/755: {with measures against power attack}
- G06F 21/72: in cryptographic circuits
- H04L 9/003: {for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]}
- G06F 2221/2123: Dummy operation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method is disclosed for intermixing a first stream of data and a second stream of data. An associated first secret key is expanded to form a first associated expanded secret key. An associated second secret key is expanded to form a second associated expanded secret key. The first stream of data and the second stream of data are intermixed to form a combined stream of data, which is ciphered. The combined stream of data is de-multiplexed after ciphering thereof and provided at an output port.

## Claims

### Claim 1

A method for leak resistant ciphering comprising:
providing a first stream of data and an associated first secret key;
expanding the associated first secret key to form a first associated expanded secret key;
providing a second stream of data and an associated second secret key;
expanding the associated second secret key to form a second associated expanded secret key;
intermixing the first stream of data and the second stream of data to form a combined stream of data;
ciphering the combined stream of data in accordance with the first and second associated expanded secret keys to form a ciphered combined stream;
de-multiplexing the ciphered combined stream of data to form de-multiplexed streams of data; and
providing the de-multiplexed streams of data at an output port.

### Claim 2 (depends on 1)

The method as defined in claim 1 wherein the combined stream of data comprises a sequence of frames from each of the first stream of data and the second stream of data, the sequence different than a sequence consistently alternating a predetermined number of frames from each stream, said predetermined number being an integer>0.

### Claim 3 (depends on 1)

The method as defined in claim 1 wherein said first stream of data is plain text.

### Claim 4 (depends on 1)

The method as defined in claim 1 wherein said second stream of data is plain text.

### Claim 5 (depends on 1)

The method as defined in claim 1 wherein said first stream of data is ciphered text.

### Claim 6 (depends on 1)

The method as defined in claim 1 wherein said second stream of data is ciphered text.

### Claim 7 (depends on 1)

The method as defined in claim 1 wherein said ciphering is encrypting.

### Claim 8 (depends on 1)

The method as defined in claim 1 wherein said ciphering is decrypting.

### Claim 9 (depends on 1)

A method as defined in claim 1 wherein the combined stream of data is sequenced based upon the first secret key.

### Claim 10 (depends on 1)

A method as defined in claim 1 wherein the combined stream is sequenced based upon the first stream of data.

### Claim 11 (depends on 9)

A method as defined in claim 9 wherein the combined stream of data is sequenced based upon the second secret key.

### Claim 12 (depends on 10)

A method as defined in claim 10 wherein the combined stream is sequenced based upon the second stream of data.

### Claim 13 (depends on 1)

A method as defined in claim 1 wherein the combined stream of data is sequenced based upon user-supplied data.

### Claim 14 (depends on 1)

A method as defined in claim 1 comprising:
providing a third stream of data;
providing a third secret key associated with the third stream of data; and
expanding the third secret key to form an expanded third secret key,
wherein said intermixing further comprises intermixing the first stream, the second stream, and the third stream in the combined stream of data.

### Claim 15 (depends on 1)

A method as defined in claim 1 wherein ciphering of the combined stream of data is performed within a fixed window of time such that Gpre+Gpost is equal to a constant, the fixed window of time filled with ciphering of the combined stream of data and other data.

### Claim 16 (depends on 15)

A method as defined in claim 15 comprising determining Gpre by a scheduling system, Gpre varying between different intermixed streams of data.

### Claim 17 (depends on 1)

A method according to claim 1 wherein intermixing the first stream of data and the second stream of data comprises one of the first stream of data and the second stream of data beginning before the other and ending before the other, the first and second streams of data other than provided at approximately a same time such that they are intermixed asynchronously.

### Claim 18 (depends on 1)

A method according to claim 1 wherein intermixing comprises intermixing the first stream of data and the second stream of data such that one of the first stream of data and the second stream of data begins before the other and ends after the other, the first and second streams of data other than provided at approximately a same time such that the first and second streams of data are intermixed asynchronously, additional rounds intermixed therein to obfuscate data in relation to which stream it forms part of

### Claim 19 (depends on 1)

A method according to claim 1 wherein ciphering comprises ciphering the combined stream of data with a triple encryption cipher process, the triple encryption cipher process executed on a stream of data as a single succession of rounds such that the first stream of data and the second stream of data when intermixed obfuscate a beginning and an end of some single encryption processes relative to each stream of data, the some single encryption processes each forming part of a triple encryption process.

### Claim 20 (depends on 19)

The method of claim 19 where the cipher is data encryption standard (DES).

### Claim 21 (depends on 19)

The method of claim 19 where the cipher is advanced encryption standard (AES).

### Claim 22 (depends on 19)

The method of claim 19 where the triple encryption process is encrypt-decrypt-encrypt.

### Claim 23 (depends on 19)

The method of claim 19 where the triple encryption process is decrypt-encrypt-decrypt.

### Claim 24 (depends on 19)

The method of claim 19 where the triple encryption process is encrypt-encrypt-encrypt.

### Claim 25 (depends on 19)

The method of claim 19 where the triple encryption process is decrypt-decrypt-decrypt.

### Claim 26 (depends on 1)

A method according to claim 1 wherein the combined stream of data is sequenced randomly.

### Claim 27 (depends on 1)

A method according to claim 1 wherein the combined stream of data is sequenced pseudorandomly.

### Claim 28 (depends on 1)

A method according to claim 1 wherein the combined stream of data is sequenced deterministically.

### Claim 29

A cipher processor comprising:
a first key store for storing of a first secret key therein;
a second key store for storing of a second secret key therein;
a first data store for storing at least a portion of first data for ciphering thereof;
a second data store for storing at least a portion of second other data for ciphering thereof;
a key expansion circuit for expanding the first secret key to form a first expanded secret key and for expanding the second secret key to form a second expanded secret key;
a scheduler for determining an intermixing order relative to the first data and the second other data for forming a stream of data in a known sequence, the known sequence other than consistently alternating N frames from each of the first data and the second other data, N being an integer>0;
an intermixing circuit responsive to the scheduler for intermixing the first data and the second other data;
a cipher circuit for ciphering the intermixed stream of data in accordance with the expanded secret keys; and
a de-multiplexing circuit responsive to the scheduler for de-multiplexing the ciphered stream of data in accordance with the known sequence, each of the de-multiplexed first data and second other data in one of ciphered and plain text form.

### Claim 30 (depends on 29)

A cipher processor as defined in claim 29 wherein the scheduler comprises circuitry for receiving the first secret key and for determining the intermixing order in dependence upon the first secret key.

### Claim 31 (depends on 29)

A cipher processor as defined in claim 29 wherein the scheduler comprises circuitry for receiving one of the first data stream and a portion thereof and for determining the intermixing order in dependence upon the first data stream.

### Claim 32 (depends on 30)

A cipher processor as defined in claim 30 wherein the scheduler comprises circuitry for receiving the second secret key and for determining the intermixing order in dependence upon the second secret key.

### Claim 33 (depends on 31)

A cipher processor as defined in claim 31 wherein the scheduler comprises circuitry for receiving the second data stream or a portion thereof and for determining the intermixing order in dependence upon the second data stream.

### Claim 34 (depends on 29)

A cipher processor as defined in claim 29 wherein the scheduler comprises circuitry for receiving external data and for determining the intermixing order in dependence upon the external data.

### Claim 35 (depends on 29)

A cipher processor as defined in claim 29 wherein the scheduler comprises a first scheduler for determining an order of intermixing and a second scheduler for determining an order of de-multiplexing, the first scheduler and the second scheduler responsive to same input data.

### Claim 36 (depends on 29)

A cipher processor as defined in claim 29 wherein the scheduler comprises a first scheduler for determining an order of intermixing and a second scheduler for determining an order of de-multiplexing, the first scheduler responsive to input data and the second scheduler responsive to output data from the first scheduler.

### Claim 37 (depends on 29)

A cipher processor as defined in claim 29 wherein the known sequence is a predetermined sequence.
