Data encryption system and method
AssigneeNEC Corporation
InventorYukiyasu Tsunoo
Life of this patent
Estimating the term…
Abstract
A data encryption system implemented by running on a cache-equipped computer an encryption program including transformation tables each of which contains a predetermined number of entries. All or necessary ones of the transformation tables are loaded into the cache memory before encryption/decryption process. This causes encryption/decryption time to be made substantially equal independently of the number of operation entries for the transformation table. It is very difficult to extract plain texts used to determine a key differential, resulting in difficulties in cryptanalysis.
Claims36
A data encryption system for performing encryption/decryption of a given plain/cipher text using transformation tables which transforms bit strings of the given plain/cipher text, comprising:
- a memory for storing an encryption program including the transformation tables each of which contains a predetermined number of entries, wherein a targeted transformation table is previously identified from the transformation tables depending on whether the targeted transformation table exhibits a trend of increasing in the number of operation entries as a length or encryption time becomes longer;
- a program controlled processor for executing the encryption program;
- a cache memory placed between the memory and the program-controlled processor;
- and
- an entry loading section for loading at least one part of the targeted transformation table into the cache memory.
A data encryption system for performing encryption/decryption of a given plain/cipher text using transformation tables which transforms bit strings of the given plain/cipher text, comprising:
- a memory for string an encryption program including the transformation tables each of which contains a predetermined number of entries;
- a program-controlled processor for executing the encryption program;
- a cache memory placed between the memory and the program-controlled processor;
- and
- a cache-miss generating section for generating a cache miss so as to make a number of cache misses uniform for any plain/cipher text.
A data encryption system for performing encryption/decryption of a given plain/cipher text using transformation tables which transforms bit strings of the given plain/cipher text, comprising:
- a memory for storing an encryption program including the transformation tables each of which contains a predetermined number of entries, which includes at least one transformation table group containing N transformation tables having same contents, wherein a transformation table is referenced N times for an encryption/decryption process of a single plain/cipher text;
- a program-controlled processor for executing the encryption program;
- and
- a cache memory placed between the memory and the program-controlled processor,
- wherein, each time accessing the transformation table group, a different one of the N transformation tables is referenced within the accessed transformation table group.
A data encryption system for performing encryption/decryption of a given plain/cipher text using transformation tables which transforms bit strings of the given plain/cipher text, comprising:
- a memory for storing an encryption program including the transformation tables each of which contains a predetermined number of entries;
- a program-controlled processor for executing the encryption program;
- a cache memory placed between the memory and the program-controlled processor;
- a waiting time determination section for determining a waiting time;
- and
- a time extension section for extending an encryption/decryption time for the given plain/cipher text by the waiting time.
A data encryption program instructing a cache-equipped computer to perform encryption/decryption of a given plain/cipher text using transformation tables which transforms bit strings of the given plain/cipher text, the program comprising the steps of:
- a) generating the transformation tables each of which contains a predetermined number of entries, wherein a targeted transformation table is previously identified from the transformation tables depending on whether the targeted transformation table exhibits a trend of increasing in the number of operation entries as a length of encryption time becomes longer;
- b) loading at least one part of the targeted transformation table into a cache memory of the computer;
- and
- c) performing data transformation of bit strings of the given plain/cipher text.
A data encryption program instructing a cache-equipped computer to perform encryption/decryption of a given plain/cipher text using transformation tables which transforms bit strings of the given plain/cipher text, the program comprising the steps of:
- a) generating the transformation tables each of which contains a predetermined number of entries;
- b) performing data transformation of bit strings of the given plain/cipher text;
- and
- c) generating a cache miss so as to make a number of cache misses uniform for any plain/cipher text before terminating the encryption/decryption.
A data encryption program instructing a cache-equipped computer to perform encryption/decryption of a given plain/cipher text using transformation tables which transforms bit strings of the given plain/cipher text, the program comprising the steps of:
- generating the transformation tables each of which contains a predetermined number of entries, which includes at least one transformation table group containing N transformation tables having same contents, wherein a transformation table is referenced N times for an encryption/decryption process of a single plain/cipher text;
- and
- performing data transformation of bit strings of the given plain/cipher text by referencing a different one of the N transformation tables each time accessing the transformation table group.
A data encryption program instructing a cache-equipped computer to perform encryption/decryption of a given plain/cipher text using transformation tables which transforms bit strings of the given plain/cipher text, the program comprising the steps of:
- generating the transformation tables each of which contains a predetermined number of entries;
- performing data transformation of bit strings of the given plain/cipher text;
- determining a waiting time;
- and
- extending an encryption/decryption time for the given plain/cipher text by the waiting time.
A data encryption method for performing encryption/decryption of a given plain/cipher text using transformation tables which transforms bit strings of the given plain/cipher text, the method comprising the steps of:
- a) generating the transformation tables each of which contains a predetermined number of entries, wherein a targeted transformation table is previously identified from the transformation tables depending on whether the targeted transformation table exhibits a trend of increasing in the number of operation entries as a length of encryption time becomes longer;
- b) loading at least one part of the targeted transformation table into a cache memory of the computer;
- and
- c) performing data transformation of bit strings of the given plain/cipher text.
A data encryption method for performing encryption/decryption of a given plain/cipher text using transformation tables which transforms bit strings of the given plain/cipher text, the method comprising the steps of:
- a) generating the transformation tables each of which contains a predetermined number of entries;
- b) performing data transformation of bit strings of the given plain/cipher text;
- and
- c) generating a cache miss so as to make a number of cache misses uniform for any plain/cipher text before terminating the encryption/decryption.
A data encryption method for performing encryption/decryption of a given plain/cipher text using transformation tables which transforms bit strings of the given plain/cipher text, the method comprising the steps of:
- generating the transformation tables each of which contains a predetermined number of entries, which includes at least one transformation table group containing N transformation tables having same contents, wherein a transformation table is referenced N times for an encryption/decryption process of a single plain/cipher text;
- and
- performing data transformation of bit strings of the given plain/cipher text by referencing a different one of the N transformation tables each time accessing the transformation table group.
Dependencies are inferred from the claim text.