Encryption and decryption approach that prevents exposing clear-text in memory
AssigneeThe MathWorks, Inc.
InventorsWilliam M. McKeeman, Steve Johnson
Life of this patent
Estimating the term…
Abstract
The present invention provides an encryption/decryption approach to protect valuable information from being represented in a clear-text form when an application processes the valuable information. The present invention processes a structured input file to create internal data structures and generates an encrypted output file from the extracted internal data structures. The encrypted file of internal data structures can be decrypted to enable further processing of the valuable information without representing the valuable information as clear-text in memory. Further, the decrypted internal data structures are stored at different locations in memory.
Claims17
A computer-implemented method:
- processing a structured input file of clear-text using an input function,
- the structured input file of clear-text being an unencrypted machine-readable file, and
- the processing performed using a computing device;
- creating internal data structures of the structured input file clear-text based on the processing,
- the internal data structures to allow an application to interact with the structured input file of clear-text,
- encrypting the internal data structures without encrypting the structured input file of clear-text;
- generating an encrypted file of internal data structures, the generating based on the encrypting;
- decrypting the encrypted file of internal data structures to provide decrypted internal data structures;
- storing a first decrypted internal data structure from the decrypted file of internal data structures in a first location;
- and
- storing a second decrypted internal data structure from the decrypted file of internal data structures in a second location, the second location being discontiguous with respect to the first location.
A non-transitory computer-readable medium storing computer-executable instructions that when executed cause a computing device to:
- process a structured input file of clear-text using an input function, the structured input file of clear-text being an unencrypted machine-readable file, and
- create internal data structures of the structured input file of clear-text based on the processing,
- the internal data structures to allow an application to interact with the structured input file of clear-text, and
- encrypt the internal data structures without encrypting the structured input file of clear-text;
- generate an encrypted file of internal data structures, the generating based on the encrypting;
- decrypt the encrypted file of internal data structures to provide decrypted internal data structures;
- store a first decrypted internal data structure from the decrypted internal data structures in a first location;
- and
- store a second decrypted internal data structure from the decrypted internal data structures in a second location, the second location being discontiguous with respect to the first location.
A computer-implemented method comprising:
- receiving a structured input file of clear-text using an input function,
- the structured input file of clear-text being an unencrypted machine-readable file, and
- the receiving performed using a computing device;
- processing, using the input function, the structured input file of clear-text;
- identifying identifiers in the structured input file, the identifying based on the processing;
- creating internal data structures of the structured input file of clear-text based on the identifying, the internal data structures:
- allowing an application to interact with the structured input file of clear-text, where:
- the application includes a decryption process, and
- representing information derived from the structured input file;
- encrypting the internal data structures without encrypting the structured input file;
- generating an encrypted output file based on the encrypting;
- and
- transmitting the encrypted output file to the decryption process of the application for decryption.
A computer-implemented method comprising:
- providing a structured input file to an input function,
- the structured input file being an unencrypted machine-readable file, and
- the providing performed using a corn device;
- processing, using the input function, the structured input file;
- identifying identifiers in the structured input file, the identifying based on the processing;
- creating internal data structures of the structured input file based on the identifying, the internal data structures:
- allowing an application to interact with the structured input file, and
- representing information derived from the structured input file;
- encrypting the internal data structures without encrypting the structured input file;
- and
- generating an encrypted output file using an output function executing on the computing device, the generating based on the encrypting.
A non-transitory computer-readable medium storing computer-executable instructions that when executed cause a computing device to:
- process a structured input file of clear-text using an input function, the structured input file of clear-text being an unencrypted machine-readable file;
- identify identifiers in the structured input file of clear-text, the identifying based on the processing;
- create internal data structures of the structured input file of clear-text based on the identifying, the internal data structures:
- allowing an application to interact with the structured input file of clear-text, and
- representing information derived from the structured input file of clear-text;
- encrypt the internal data structures without encrypting the structured input file of clear-text,
- generate an encrypted output file, the generating based on the encrypting;
- and
- transmit the encrypted output file to a decryption process of the application for decryption.
A computer-implemented method comprising:
- processing a structured input file of clear-text on a first computing device,
- the structured input file of clear-text being an unencrypted machine-readable file, and
- the processing performed using a computing device;
- identifying identifiers in the structured input file of clear-text, the identifying based on the processing;
- creating internal data structures of the structured input file of clear-text based on the identifying, the internal data structures:
- allowing an application to interact with the structured input file of clear-text, and
- representing information derived from the structured input file of clear-text;
- generating a serialized and encrypted output file with the first computing device from the internal data structures without encrypting the structured input file of clear-text;
- and
- transmitting the serialized and encrypted output file to a second computing device.
A non-transitory computer-readable medium storing computer-executable instructions that when executed cause one or more computing device to:
- process a structured input file of clear-text on a first computing device,
- the structured input file of clear-text being an unencrypted machine-readable file;
- identify identifiers in the structured input file of clear-text, the identifying on the processing,
- create internal data structures of the structured input file of clear-text based on the identifying, the internal data structures:
- allowing an application to interact with the structured input file of clear-text, and
- representing information derived from the structured input file of clear-text;
- generate a serialized and encrypted output file on the first computing device from the internal data structures without encrypting the structured input file of clear-text;
- and
- transmit the serialized and encrypted output file to at least a second computing device, the second computer being operable to decrypt the output file.
Dependencies are inferred from the claim text.