# US 2017/0287366 A1 · Systems and methods for downloading code and data into a secure non-volatile memory

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

- Number: US 2017/0287366 A1
- Document ID: US20170287366A1
- Status: Published application
- Kind: A1
- Application number: 15/487,092
- Filed: 2017-04-13
- Published: 2017-10-05
- Earliest claimed: 2008-10-16
- Assignees: Cypress Semiconductor Corporation
- Applicants: Cypress Semiconductor Corporation
- Inventors: Arnaud Boscher; Nicolas Prawitz
- Web page: https://patentgrep.com/patent/US20170287366A1

## CPC

- G09C 1/00: Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system (cryptographic typewriters G09C3/00)
- H04L 9/3247: {involving digital signatures}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- H04L 9/0869: {involving random numbers or seeds}
- G06F 12/1408: {by using cryptography (for digital transmission H04L9/00)}
- H04L 2209/12: Details relating to cryptographic hardware or logic circuitry
- G09C: CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- 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

An example secure embedded device includes a secure non-volatile memory coupled to a processor. The processor provides a scramble or cipher key and uses a scramble algorithm or a cipher algorithm to scramble or cipher information received from an external device into transformed information. The processor writes a least a portion of the transformed information to a plurality of memory locations of the secure non-volatile memory. The plurality of memory locations is based on the scramble or cipher key.

## Claims

### Claim at position 1

1-20. (canceled)

### Claim 21

A secure embedded device, comprising:
a secure non-volatile memory; and
a processor coupled to the secure non-volatile memory, the processor configured to:
use a scramble algorithm or a cipher algorithm to scramble or cipher information received from an external device into transformed information;
provide a scramble or cipher key; and
write at least a portion of the transformed information to a plurality of memory locations of the secure non-volatile memory, wherein the plurality of memory locations is based on the scramble or cipher key.

### Claim 22 (depends on 21)

The secure embedded device of claim 21, further comprising a temporary memory coupled to the processor and the secure non-volatile memory, the temporary memory to store a software program received from the external device and the information received from the external device.

### Claim 23 (depends on 22)

The secure embedded device of claim 22, wherein the processor is configured to execute the software program received from the external device to provide the scramble or cipher key.

### Claim 24 (depends on 22)

The secure embedded device of claim 22, wherein the processor is configured to execute the software program received from the external device to write at least the portion of the transformed information to the plurality of memory locations of the secure non-volatile memory.

### Claim 25 (depends on 24)

The secure embedded device of claim 24, wherein the processor is configured to write a first portion of the transformed information to a first memory location, of the plurality of memory locations, defined by the scramble or cipher key and write a second portion of the transformed information to a second memory location, of the plurality of memory locations, defined by the scramble or cipher key.

### Claim 26 (depends on 21)

The secure embedded device of claim 21 further comprising a number generator configured to generate a random or pseudo-random number, wherein the processor is configured to provide the scramble or cipher key based on the generated random or pseudo-random number.

### Claim 27 (depends on 21)

The secure embedded device of claim 21, wherein the information received form the external device comprises at least one of boot code and authentication information.

### Claim 28

A method of a secure embedded device, comprising:
receiving by the secure embedded device, a software program and information, the information to be stored in a secure non-volatile memory of the secure embedded device; and
using a processor of the secure embedded device, executing the software program and responsive to executing the software program:
initializing a scramble or cipher key associated with the information;
scrambling or ciphering the information to generate transformed information that includes the information; and
writing the transformed information to a plurality of memory locations of the secure non-volatile memory.

### Claim 29 (depends on 28)

The method of claim 28, wherein the initializing of the scramble or cipher key includes generating, by a number generator of the secure embedded device, a random or pseudo-random number, wherein the scramble or cipher key is based on the random or pseudo-random number.

### Claim 30 (depends on 28)

The method of claim 28, wherein the writing of the transformed information comprises writing a first portion of the transformed information to a first memory location of the secure non-volatile memory defined by the scramble or cipher key and writing a second portion of the transformed information to a second memory location of the secure non-volatile memory defined by the scramble or cipher key.

### Claim 31 (depends on 28)

The method of claim 28, comprising prior to the scrambling or ciphering of the information, determining that the information has not been corrupted.

### Claim 32 (depends on 31)

The method of claim 31, wherein determining that the information has not been corrupted comprises authenticating a signature or checksum appended to the information.

### Claim 33 (depends on 28)

The method of claim 28, further comprising using the processor of the secure embedded device, descrambling or deciphering the transformed information, using the scramble or cipher key, to generate the information.

### Claim 34 (depends on 33)

The method of claim 33, wherein the information comprises at least one of boot code and authentication information.

### Claim 35

A system comprising:
a first device configured to provide information and a software program to secure information; and
a secure embedded device comprising a system interface to receive the information and the software program from the first device, the secure embedded device comprising a secure non-volatile memory and a processor, the processor configured to execute the software program to:
provide a scramble or cipher key,
scramble or cipher the information into transformed information, and
write the transformed information to a plurality of memory locations of the secure non-volatile memory, wherein the plurality of memory locations is based on the scramble or cipher key.

### Claim 36 (depends on 35)

The system of claim 35, wherein the processor is configured to write a first portion of the transformed information to a first memory location, of the plurality of memory locations, defined by the scramble or cipher key and write a second portion of the transformed information to a second memory location, of the plurality of memory locations, defined by the scramble or cipher key.

### Claim 37 (depends on 35)

The system of claim 35, wherein the secure embedded device further comprises a number generator configured to generate a random or pseudo-random number, wherein the processor is configured to provide the scramble or cipher key based on the generated random or pseudo-random number.

### Claim 38 (depends on 35)

The system of claim 35, wherein the information received form the first device comprises at least one of boot code and authentication information.

### Claim 39 (depends on 35)

The system of claim 35, wherein the processor is configured to determine that the information has not been corrupted by authenticating a signature or checksum associated with the information

### Claim 40 (depends on 35)

The system of claim 35, wherein the processor is configured to descramble or decipher the transformed information, using the scramble or cipher key, to generate the information.
