Patent EA-003874-B1 (EA)
Title: Method for making data processing resistant to extraction of data by analysis of unintended side-channel signals
Inventor: VON VILLICH MANFRED
IPC: G06F21/55
Filed: 2000-10-19
Abstract: 1. A method of processing data to reduce the risk of unauthorized access to the data, characterized by the following steps of: (a) inputting a first secret data set into a processor, including possible subsequent repetition of this step; (b) providing the processor with a source of unpredictable data; (c) providing the processor with a method for selecting mappings of initial data to mapped data by using unpredictable data (b), wherein mapped data allows or realize a calculation of initial data with knowledge of mapping selection, but doesn't allow any part of initial data without knowledge of mapping selection; (d) providing the processor with at least one algorithm for mapping the first secret data set to a mapped form; (e) initial mapping the first secret data set (a), for storage in a mapped form using mappings selected in step (c); (f) changing the data mapping applied to any data from a prior data mapping by use of a secondary mapping utilizing unpredictable information (b); (g) mapping incoming data for input to the modified algorithm implementation, using a mapping selected in (c); and (h) modifying an algorithm implementation to operate on mapped and other data selected from mapped data of steps (e), (f)m (g), or mapped output data of modified algorithm on step (h), so that output data is mapped data, from which it is possible to receive output data of initial algorithm, working on the data of initial input with knowledge of used selection of mapping, wherein modified original algorithm operating data is substituted, which includes mappings and/or searching tables, which are derivatives of selected mappings and any initial searching tables; (i) ) changing the data mapping applied to any data from a prior data mapping by use of a secondary mapping utilising unpredictable information. 2. A method data processing as claimed in claim 1, wherein the secret data set of step (a) is a cryptographic key. 3. A method data processing as claimed in claim 1, characterized in that a data mapping and/or a secondary data mapping are in the form of an algorithm with mapping selection data or parameters. 4. A method data processing as claimed in any one of the preceding claims, wherein the mapped data and/or the mappings are transmitted to a remote location. 5. A method data processing as claimed in any one of the preceding claims, wherein the mappings are performed by way of a set of mappings selected such that when the input operands are substituted by using such mappings, the original output may be recovered from the resulting output by using a mapping derived from the input mappings. 6. A method data processing as claimed in claim 5 wherein for any operand, the set of all input mappings may be determined from the output mapping. 7. A method data processing as claimed in any one of the preceding claims wherein an operation of the original algorithm is modulo-m addition described by x +y-+z (mod m) and the corresponding operation used in the modified algorithm is to remain the same the permitted mappings being described by xi [triple bond] aix+bi (mod m), yi [triple bond] aiy+ci (mod m), and zi-=aiz +bi + ci (mod m), in which mappings ai is any number that is mutually prime with m with proviso that ai is not 1. 8. A method of data processing as claimed in any one of claims 1 to 12, wherein an operation of the original algorithm corresponds to modulo-m multiplication described by xy [triple bond] z (mod m) and the corresponding operation used in the modified cipher is that code to remain the same and wherein permitted mappings are described by xi [triple bond] bix<AI> (mod m), yi [triple bond] ciy<AI> (mod m), and zi [triple bond] bicjz<AI> (mod m) in which mappings ai is any number mutually prime with0 (m) which is Euler's Totient function of m, and bi and ci are any numbers mutually prime with m. 9. A method of data processing as claimed in any one of the preceding claims 1-6 wherein algorithm operation corresponds to addition of two vectors of n components over the field Z2. 10. A method of data processing as claimed in any one of the preceding claims, wherein the algorithm includes the use of unary operators. 11. A method of data processing as claimed in any one of the preceding claims including data hiding through varying of mapping of some or all data being processed onto a mapped form for computation and/or storage. 12. A computer system for processing data to reduce the risk or ease of unauthorized access to the data, characterized in that: (a) a processor is provided by means for (i) use of modified algorithm to input data, using mapped cryptographic key, in order to generate output data, where the modified algorithm of calculating of first data is changed by mapped data, and which includes mappings and/or of a lookup-tables, which are derivatives of selected mappings and any initial lookup mappings, and; (ii) modifying of data mapping of mapped cryptographic key from preceding data mapping by using the secondary mapping. (b) storing of information to save a cryptographic key in mapped form.