Method, system and medium for analog encryption in a flash memory
First Claim
Patent Images
1. A method performed by a system that comprises hardware elements, the method comprising:
- encrypting input data using a base key and an auxiliary key, wherein decryption of the encrypted input data requires the auxiliary key, and wherein the auxiliary key is only recoverable based on obtaining encrypted input data containing no errors;
modifying programming thresholds and incremental stepped pulse programming (ISPP) size of a Flash memory to increase a number of errors due to retention; and
storing the encrypted input data in the Flash memory;
wherein the encrypting of the input data comprises;
generating cipher data by performing a logical exclusive OR (XOR) operation on a key stream and an input data stream, wherein the key stream is dependent on a first encoding function;
generating intermediate encoded cipher data based on a second encoding function performed on the cipher data; and
generating final encoded cipher data based on the intermediate encoded cipher data and a result of the first encoding function;
wherein the method further comprises generating the key stream by;
performing the first encoding function on the base key to generate a codeword;
using the codeword to generate the auxiliary key and syndrome values;
performing a logical exclusive OR (XOR) operation on the auxiliary key and a cipher key to obtain a combined key; and
using the combined key to generate the key stream.
9 Assignments
0 Petitions
Accused Products
Abstract
A system and method for analog encryption and decryption, in which the encryption and encoding processes are interrelated, such that by failing to decrypt the retrieved data, decryption fails.
236 Citations
6 Claims
-
1. A method performed by a system that comprises hardware elements, the method comprising:
-
encrypting input data using a base key and an auxiliary key, wherein decryption of the encrypted input data requires the auxiliary key, and wherein the auxiliary key is only recoverable based on obtaining encrypted input data containing no errors; modifying programming thresholds and incremental stepped pulse programming (ISPP) size of a Flash memory to increase a number of errors due to retention; and storing the encrypted input data in the Flash memory; wherein the encrypting of the input data comprises; generating cipher data by performing a logical exclusive OR (XOR) operation on a key stream and an input data stream, wherein the key stream is dependent on a first encoding function; generating intermediate encoded cipher data based on a second encoding function performed on the cipher data; and generating final encoded cipher data based on the intermediate encoded cipher data and a result of the first encoding function; wherein the method further comprises generating the key stream by; performing the first encoding function on the base key to generate a codeword; using the codeword to generate the auxiliary key and syndrome values; performing a logical exclusive OR (XOR) operation on the auxiliary key and a cipher key to obtain a combined key; and using the combined key to generate the key stream. - View Dependent Claims (2, 3)
-
-
4. A system, comprising:
-
a syndrome calculation unit arranged to generate an auxiliary key; and a system portion that is arranged to encrypt input data using a base key and the auxiliary key, wherein decryption of the encrypted input data requires the auxiliary key, and wherein the auxiliary key is only recoverable based on obtaining encrypted input data containing no errors; and a programming sequencer unit arranged to modify programming thresholds and incremental stepped pulse programming (ISPP) size of a Flash memory to increase a number of errors due to retention; and
store the encrypted input data in a Flash memory;wherein at least one of the syndrome calculation unit and the programming sequencer unit is a hardware element; a first exclusive OR (XOR) gate that is arranged to generate cipher data by performing a XOR operation on a key stream and an input data stream, wherein the key stream is dependent on a first encoding function; a first encoder that is arranged to generate intermediate encoded cipher data based on a second encoding function performed on the cipher data; a second XOR gate that is arranged to generate final encoded cipher data based on the intermediate encoded cipher data and a result of the first encoding function; a second encoder that is arranged to perform the first encoding function on the base key to generate a codeword;
wherein the syndrome calculation unit is arranged to use the codeword to generate the auxiliary key and syndrome values;
wherein the first XOR gate is arranged to perform a logical exclusive OR (XOR) operation on the auxiliary key and a cipher key to obtain a combined key; andand an encryption module that is arranged to use the combined key to generate the key stream. - View Dependent Claims (5, 6)
-
Specification