EA003874B1 - Method for making data processing resistant to extraction of data by analysis of unintended side-channel signals - Google Patents

Method for making data processing resistant to extraction of data by analysis of unintended side-channel signals Download PDF

Info

Publication number
EA003874B1
EA003874B1 EA200200468A EA200200468A EA003874B1 EA 003874 B1 EA003874 B1 EA 003874B1 EA 200200468 A EA200200468 A EA 200200468A EA 200200468 A EA200200468 A EA 200200468A EA 003874 B1 EA003874 B1 EA 003874B1
Authority
EA
Eurasian Patent Office
Prior art keywords
data
mappings
mapping
algorithm
mapped
Prior art date
Application number
EA200200468A
Other languages
Russian (ru)
Other versions
EA200200468A1 (en
Inventor
Манфред Вон Виллих
Original Assignee
Киферманкс Консультантс Лимитид
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Киферманкс Консультантс Лимитид filed Critical Киферманкс Консультантс Лимитид
Publication of EA200200468A1 publication Critical patent/EA200200468A1/en
Publication of EA003874B1 publication Critical patent/EA003874B1/en

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0833Card having specific functional components
    • G07F7/084Additional components relating to data transfer and storing, e.g. error detection, self-diagnosis
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1025Identification of user by a PIN code
    • G07F7/1083Counting of PIN attempts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Storage Device Security (AREA)

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.

Description

Это изобретение относится к защите данных, в частности это изобретение касается уменьшения риска несанкционированного доступа к данным.This invention relates to data protection, in particular this invention relates to reducing the risk of unauthorized access to data.

Предшествующий уровень техники Атаки на секретные данные через побочные каналы ввода-выводаBACKGROUND Attacks on Secret Data Through Side I / O Channels

Криптографические системы традиционно изображаются с шифром (кодирования или декодирования) в виде метафорического черного ящика, в котором входные данные (открытый текст или зашифрованный текст) внутренне обрабатываются при использовании секретного кода, и единственной информацией, покидающей черный ящик, являются заранее намеченные выходные данные.Cryptographic systems are traditionally depicted with a cipher (encoding or decoding) in the form of a metaphorical black box in which the input data (plaintext or encrypted text) is internally processed using a secret code, and the only information leaving the black box is the predefined output data.

Недавно было показано (например, в работах П. Кочер, Дж. Джаффе и Б. Джуна, Дифференциальный анализ степени. Абуапсек ίη Сгур1о1оду - Ртосеебшдк о£ Стур1о '99, БесШге ΝοΚδ ίη Сотри1ет 8с1епсе, Уо1. 1666, 8ртшдегУег1ад. 1999), что информация побочного канала ввода-вывода типа непреднамеренно вызванного электромагнитного излучения или колебаний мощности, исходящих от устройства, может легко и эффективно использоваться в атаке, целью которой является наблюдение за обрабатываемой информацией. Это приводит к тому, что добыть секретный код становится намного проще, чем позволяет предположить традиционная модель криптоанализа, так как прямое наблюдение внутренней обработки, хотя и с помехами, становится доступным для нападающего.Recently it was shown (for example, in the works of P. Kocher, J. Jaffe and B. June, Differential analysis of the degree. Abuapsek Сη Sgur1o1odu - Rtoseyeshdk o £ Stur1o '99, Beszgge ΝοΚδ ίη Sotrietet 8s1epse, Uo1. 1666, 8gaddy. that side I / O channel information such as unintentionally caused electromagnetic radiation or power fluctuations emanating from a device can be easily and efficiently used in an attack whose purpose is to monitor the information being processed. This leads to the fact that obtaining a secret code becomes much easier than the traditional cryptanalysis model suggests, since direct observation of internal processing, albeit with interference, becomes available to the attacker.

Там, где операция шифрования использует ключ неоднократно, нападавший может вообще получать его, контролируя и анализируя побочную информацию в течение нескольких операций, без обращения к традиционным методам криптоанализа. Минимальное число повторенных действий, которые должны наблюдаться для того, чтобы выяснить значение кода (или любых повторно использованных внутренних данных), обычно изменяется в обратном соотношении к отношению мощности сигнала (который атакующий пытается наблюдать), к мощности шума (отношение сигнал-помеха). Например, там, где модификация аппаратного обеспечения уменьшает это отношение 100кратно (то есть на 20 бВ), для того, чтобы извлечь ключ, нападающему, скорее всего, придется наблюдать много действий, примерно в 100 раз больше.Where the encryption operation uses the key repeatedly, the attacker can generally receive it by monitoring and analyzing collateral information for several operations, without resorting to traditional cryptanalysis methods. The minimum number of repeated actions that must be observed in order to find out the meaning of the code (or any reused internal data) usually changes in inverse relation to the ratio of signal power (which the attacker is trying to observe) to noise power (signal-to-noise ratio). For example, where a hardware modification reduces this ratio by a factor of 100 (i.e., by 20 bV), in order to extract the key, the attacker will most likely have to observe a lot of actions, about 100 times more.

Имеются практические и экономические пределы в уменьшении отношения сигналпомеха побочного канала ввода-вывода, что производится с помощью, например, экранирования и добавления шума. Там, где надежный процессор (типа кристаллической микросхемы) остается в руках потенциального нападающего, он может легко стимулировать процессор повторно, вводя входные данные при вниматель ном наблюдении за побочным каналом вводавывода. К картам с микросхемой относятся, например, платы специального платного кабельного канала и банковские карты. Потратив совсем немного времени и денег, нападающий может оказаться способным извлечь информацию, в которой он заинтересован, используя статистические методы, здесь названные ЭРА (Дифференциальный анализ степени). Это обозначение появилось благодаря наиболее популярным каналам ввода-вывода для контроля карт с микросхемой, являясь наблюдением колебаний мощности, выдаваемых устройством. Методика ЭРА может поочередно применяться к замаскированному приему и к анализу радиочастотных сигналов, излучаемых компьютером, который выполняет манипулирование данными.There are practical and economic limits to reducing the signal-to-noise ratio of the side I / O channel, which is done using, for example, shielding and adding noise. Where a reliable processor (such as a crystal microchip) remains in the hands of a potential attacker, it can easily stimulate the processor to re-enter input data by carefully observing the side channel of the input / output. Cards with a microcircuit include, for example, boards of a special paid cable channel and bank cards. Having spent quite a bit of time and money, an attacker may be able to extract the information he is interested in using the statistical methods here called ERA (Differential Degree Analysis). This designation appeared due to the most popular I / O channels for monitoring cards with a microcircuit, being an observation of the power fluctuations issued by the device. The ERA technique can be applied alternately to masked reception and to the analysis of radio frequency signals emitted by a computer that performs data manipulation.

С использованием простых разработок карт с микросхемой анализ различий средних в группах нескольких сходных форм волны может привести к извлечению секретных данных. Это является примером атаки ЭРА первого уровня. Было показано, что в настоящее время имеющиеся коммерческие карты с микросхемой, почти все без исключения, являются уязвимыми к такой атаке, обладая ресурсами, доступными для наиболее решительных личностей. С использованием соответствующего алгоритмического проекта и добавлением случайности возможно сохранить данные в секрете при атаке первого уровня или даже при ЭРА-атаке более высокого порядка.Using simple development of cards with a microchip, analysis of differences in the average of groups of several similar waveforms can lead to the extraction of secret data. This is an example of a first level ERA attack. It has been shown that currently available commercial cards with a microchip, almost without exception, are vulnerable to such an attack, having the resources available to the most determined individuals. Using the appropriate algorithmic design and adding randomness, it is possible to keep data secret during a first-level attack or even with a higher order ERA attack.

Порядок ЭРА-атаки может быть определен как минимальное число промежуточных переменных, из которых могут быть получены любые из данных, подвергнутых атаке, при этом каждая из этих промежуточных переменных получена из наблюдений, с помощью усредняющего процесса в большом числе наблюдений. Более интуитивное (но менее точное) определение может быть таким, что это число внутренних цифровых состояний, из которых должны быть сделаны прямые (если с помехами) наблюдения побочного канала ввода-вывода для того, чтобы получить любую информацию, желательную для нападавшего.The order of an ERA attack can be defined as the minimum number of intermediate variables from which any of the data subjected to attack can be obtained, with each of these intermediate variables obtained from observations using an averaging process in a large number of observations. A more intuitive (but less accurate) definition may be such that it is the number of internal digital states from which direct (if interfered) observations of the side I / O channel must be made in order to obtain any information desired by the attacker.

С более усложненной обработкой данных (так называемой ЭРА-атакой более высокого порядка) и большим числом наблюдений, в принципе, останется возможным определить с некоторой степенью достоверности любые секретные обрабатываемые данные, хотя необходимое число наблюдений может быть непомерно большим.With more complicated data processing (the so-called higher order ERA attack) and a large number of observations, in principle, it will remain possible to determine with some degree of certainty any secret data being processed, although the required number of observations can be prohibitive.

Цель методов изобретения, представленного здесь, состоит в том, чтобы уменьшить количество полезной информации, которую нападающий может получать от побочного сигнала ввода-вывода, и увеличить минимальную усложненность и трудность успешной атаки. Методы включают в себя защиту против атак первого и более высокого порядка.The purpose of the methods of the invention presented here is to reduce the amount of useful information that an attacker can receive from an I / O side signal and to increase the minimum complexity and difficulty of a successful attack. Methods include defense against attacks of the first and higher order.

Целью разработок в устройствах безопасности, касающихся секретных данных в целом, должно быть поддерживание ниже допустимых пределов количества утекающей информации о секретных данных в течение срока службы секрета. Это может быть достигнуто через криптографические механизмы создания процесса объединения малых количеств утекающей информации в используемое целое количество, трудно обрабатываемое в вычислительном отношении. Это может также быть достигнуто через ограничение скорости утечки информации таким образом, чтобы совокупная утечка секрета в течение срока службы секретной информации (определенной в информационно-теоретическом смысле) была допустимо низкой, что и является целью этого изобретения.The purpose of developments in security devices regarding secret data in general should be to keep the amount of leaky information about secret data below the acceptable limits during the life of the secret. This can be achieved through cryptographic mechanisms for creating the process of combining small amounts of leaky information into an integer used that is difficult to process computationally. This can also be achieved by limiting the speed of information leakage so that the cumulative leakage of secret during the life of the secret information (defined in the information-theoretical sense) was acceptably low, which is the purpose of this invention.

Математические основыMath basics

Набор данных (например, биты), который назван здесь первоначальным набором данных, может быть отображен на другой набор данных таким образом, что первоначальный набор данных остается полностью неизвестным наблюдателю, несмотря на то, что отображенный набор данных известен наблюдателю. Первоначальные данные могут быть восстановлены из отображенных данных, когда отбор отображения известен. Чтобы сохранить тайну данных, отбор отображения должен быть неизвестен наблюдателю и отображение должно быть выбрано случайным образом для каждого нового набора данных таким образом, чтобы каждый возможный первоначальный набор данных отображался для каждого возможного отображенного представления с равной вероятностью. Этот принцип используется настоящим изобретением.A dataset (e.g., bits), which is here called the original dataset, can be mapped onto another dataset so that the original dataset remains completely unknown to the observer, although the displayed dataset is known to the observer. The original data can be restored from the displayed data when the selection of the display is known. In order to keep data secret, the selection of the display should not be known to the observer and the display should be randomly selected for each new data set so that each possible initial data set is displayed for each possible displayed representation with equal probability. This principle is used by the present invention.

Операторы (для объединения одного или большего количества операндов в результат) используются как стандартные блоки в разработке шифра. Примеры таких операторов включают поисковую таблицу - унарный оператор модульное сложение или вычитание, бит для бита исключающее ИЛИ шириной в машинное слово, и р-модульное умножение (свыше набора значений от 1 до р-1, где р - первое число). Последние все являются двоичными операторами. Широко известен шифр ШЕА (разработанный Хуэйджиа Лэй и Джеймсом Мессеем), который использует три таких бинарных оператора, а широко известный ΌΕ8 шифр (Стандарта шифрования данных) использует поисковые таблицы, бит для бита исключающее ИЛИ оператор и перестановки разряда.Operators (to combine one or more operands into a result) are used as building blocks in cipher design. Examples of such operators include a lookup table — a unary operator modular addition or subtraction, a bit for a bit exclusive OR machine-machine-wide, and p-modular multiplication (over a set of values from 1 to p-1, where p is the first number). The latter are all binary operators. The NEA cipher (developed by Huijia Lay and James Messei) is widely known, which uses three such binary operators, and the widely known ΌΕ8 cipher (Data Encryption Standard) uses lookup tables, a bit for the bit that excludes the OR operator and permutation of the digit.

В общем, отдельно и произвольно выбранное взаимно-однозначное отображение может применяться к каждому из входов и к выходу любого оператора. Тогда может быть определен эквивалентный оператор, который генерирует правильные отображенные значения выходных данных из отображенных значений входных данных для каждого выбранного отображения. Для любого заданного оператора может сущест вовать набор таких отображений, так что этот эквивалентный оператор будет являться идентичным первоначальному оператору и будет удовлетворять необходимым условиям для сохранения в тайне информации, касающейся первоначальных данных. Принцип, включая ограничение на идентичный оператор, часто называют селективно блокирующим (слепым), хотя степень диапазона отображений, возможных для типичных операторов, редко реализуется.In general, a separately and arbitrarily selected one-to-one mapping can be applied to each of the inputs and to the output of any operator. Then, an equivalent operator can be determined that generates the correct displayed output data values from the displayed input data values for each selected display. For any given operator, there may exist a set of such mappings, so that this equivalent operator will be identical to the original operator and will satisfy the necessary conditions for keeping information regarding the original data secret. The principle, including the restriction on the identical operator, is often called selectively blocking (blind), although the degree of the range of mappings possible for typical operators is rarely implemented.

Например, отображение операции добавления модуля х+у =ζ (тоб т) при ограниченинии, что оператор остается неизменяемым, позволяют существовать семейству отображений от (х, у, ζ) до (х;, у;, ζ1), где х11х+Ь1 (тоб т), у,^а,у+с, (тоб т) и ζ,Ξα,ζ+Ε+ο, (тоб т), где а! является любым числом, которое взаимно простое с т, а Ь и с1 являются любыми числами. Если т является степенью 2 (то есть вида т=2п), то существуют т/2 возможные значения для а1 и т возможные значения для каждого из Ь и с1. Множество разрядных операций (типа сложения, умножения и возведения в степень) будут проявлять подобные свойства.For example, the mapping operation adding unit x + y = ζ (t tob) at ogranicheninii that the operator remains unchanged, allows family exist mappings from (x, y, ζ) to (x ;, y;, ζ 1), where x 1 ^ a 1 x + b 1 (tobt), y, ^ a, y + c, (tobt) and ζ, Ξα, ζ + Ε + ο, (tobt), where a! is any number that is coprime with m, and b and c 1 are any numbers. If m is a power of 2 (that is, of the form m = 2 n ), then there are m / 2 possible values for a 1 and m possible values for each of b and c 1 . Many bit operations (such as addition, multiplication, and exponentiation) will exhibit similar properties.

Операция бит к биту исключающее ИЛИ шириной в слово (которую мы рассматриваем здесь как сложение двух векторов п компонентов по полю Ζ2, сложение и умножение эквивалентны к бинарным операциям исключающее ИЛИ и И соответственно, и мы используем нижний регистр, чтобы указать вектор, и верхний регистр, чтобы указать матрицу) х+у=ζ имеет больший выбор отображений данных, чем имеет сложение по модулю 2п, при ограничении, что оператор должен остаться неизменяемым. Они имеют формы х1=А1х+Ь1,у1=А1у+с1 и ζι=Α;ζ+1>ί+θί. А, может быть любым из 0<2 21 матриц - с инверсией - и Ь1 и с1 могут каждый иметь любое из 2 значений, давая “ явные отображения для каждого значения (если не обращать внимания на ограничения, подразумеваемые совместной матрицей А1). Если п=8 бит, то имеется приблизительно 270,2 таких отображений.The bit-by-bit operation is an exclusive OR word wide (which we consider here as the addition of two vectors and components over a field Ζ 2 , addition and multiplication are equivalent to binary operations exclusive of OR and AND, respectively, and we use lower case to indicate the vector and the upper register to specify the matrix) x + y = ζ has a larger selection of data mappings than a modulo 2 n, under the constraint that the operator should remain unchanged. They have the forms x1 = A1x + b1, y1 = A1y + c1 and ζι = Α; ζ + 1> ί + θί. And, it can be any of 0 <2 21 matrices - with inversion - and b1 and c 1 can each have any of 2 values, giving “explicit mappings for each value (if you do not pay attention to the restrictions implied by the joint matrix A 1 ). If n = 8 bits, then there are approximately 2 70.2 such mappings.

Размер ряда отображений, доступных для операции исключающее ИЛИ, может значительно понизить применимость побочного сигнала ввода-вывода и таким образом может привести к компрометации некоторых из требований для секретной информации. Такая компрометация (например, повторное использование отбора отображений) может быть полезна в уменьшении сложности конечной разработки алгоритма, при этом сохраняя количество информации, утекающей к нападающему на допустимо низком уровне.The size of the series of mappings available for the exclusive OR operation can significantly reduce the applicability of the I / O side signal and thus may compromise some of the requirements for classified information. Such a compromise (for example, reusing the selection of mappings) can be useful in reducing the complexity of the final development of the algorithm, while maintaining the amount of information flowing to the attacker at an acceptably low level.

Множественные отображения могут последовательно применяться к тем же самым данным для того, чтобы создать отображение составного объекта - например, х=Л(х), х1_1=У,(х1). Хотя это и эквивалентно одиночному отображению хк=/к(х), где /к=ф°У1, но если размещено верно, то нападающий должен получить информацию о множественных независимых наборах данных (три в примере - хк, /1 и перед получением любой информации об первоначальных данных. Это увеличивает порядок атаки ΌΡΆ (обычно равный числу независимых наборов данных) и число требуемых наблюдений (обычно как степень числа независимых наборов данных), необходимых перед тем, как извлечь полезную информацию из наблюдений.Multiple mappings can be applied sequentially to the same data in order to create a composite object mapping - for example, x = A (x), x 1 _1 = Y, (x 1 ). Although this is equivalent to a single mapping x k = / k (x), where k = φ ° Y1, but if placed correctly, the attacker should receive information about multiple independent data sets (the three in the example are x k , / 1 and before obtaining any information about the initial data, which increases the attack order ΌΡΆ (usually equal to the number of independent data sets) and the number of observations required (usually as the degree of the number of independent data sets) needed before extracting useful information from the observations.

Унарные операторы (типа поисковой таблицы или бит-перестановки) также находят применения в шифрах. Отображения, которые позволяют оператору оставаться неизменным, ограничены только тогда, когда происходит потеря данных в операции (т.е. как многие к одному), но может стать более чувствительной для изменения оператора в этих случаях, например, при помощи зависимой от отображения поисковой таблицы.Unary operators (such as lookup tables or bit permutations) also find applications in ciphers. Mappings that allow the operator to remain unchanged are limited only when data loss occurs in the operation (i.e., as many as one), but may become more sensitive for changing the operator in these cases, for example, using a display-dependent lookup table .

Международная публикация XVО 99/67919 Кочера, Джаффе и Джуна предлагает способы и устройства для улучшенного ΌΕ8 криптографического протокола против внешних атак наблюдения с помощью уменьшения количества (и отношения сигнал-помеха) полезной информации, утекающей в течение обработки. Улучшенное ΌΕδ-кодирование в изобретении вместо этого использует два 56-разрядных кода (К1 и К2) и два 64-разрядных сообщения открытого текста (М1 и М2), причем каждый из них связан с перестановкой (то есть Κ1Ρ, Κ2Ρ и М1Р, М2Р) такой, что Κ1Ρ {Κ1} ХОК К2Р {К2} равен стандартному ΌΕ8 коду К и М1Р {М1} ХОК М2Р {М2} равен стандартному сообщению. Во время работы устройства предпочтительно, чтобы таблицы периодически обновлялись посредством введения свежей энтропии в таблицы быстрее, чем информация просачивается, так, чтобы нападающие не были способны получить содержимое таблицы с помощью анализа измерений. Методику можно реализовать в криптографических картах с микросхемой (смарткартах), фальсифицируя чипы защиты и делая безопасными системы обработки всех видов. Если используется селективная блокировка, то зависимость между числом наблюдений, необходимых, чтобы извлечь полезную информацию через побочные каналы ввода-вывода, и степень 8ΝΚ этого канала отличаются от наблюдений обратно пропорционально, но при этом нет признаков понимания этого принципа в данной заявке. В случае селективной блокировки, как в этом предложении (с или без перестановки), должно ожидаться, что число требуемых наблюдений будет изменяться обратно пропорционально квадрату степени 8ΝΚ (то есть четвертой степени величины 8ΝΚ).The international publication XVO 99/67919 of Kocher, Jaffe and Juna offers methods and devices for an improved ΌΕ8 cryptographic protocol against external surveillance attacks by reducing the amount (and signal-to-noise ratio) of useful information that leaks during processing. The improved ΌΕδ coding in the invention instead uses two 56-bit codes (K1 and K2) and two 64-bit plaintext messages (M1 and M2), each of which is associated with a permutation (i.e., Κ1Ρ, Κ2Ρ and M1P, M2P ) such that Κ1Ρ {Κ1} KHOK K2P {K2} is equal to the standard K8 code K and M1P {M1} KHOK M2P {M2} is equal to the standard message. When the device is in operation, it is preferable that the tables are periodically updated by introducing fresh entropy into the tables faster than information leaks out, so that attackers are not able to obtain the contents of the table using measurement analysis. The technique can be implemented in cryptographic cards with a microcircuit (smart cards), faking security chips and making processing systems of all kinds safe. If selective blocking is used, the relationship between the number of observations necessary to extract useful information through the side I / O channels and the degree of 8ΝΚ of this channel is inversely proportional to the observations, but there is no evidence of understanding of this principle in this application. In the case of selective blocking, as in this sentence (with or without permutation), it should be expected that the number of required observations will vary inversely with the square of degree 8ΝΚ (i.e., the fourth degree of magnitude 8ΝΚ).

Сущность изобретенияSUMMARY OF THE INVENTION

Методика изобретения обеспечивает практическую и эффективную модификацию криптографических и других процессов, при этом такая модификация основана на секретности данных через изменяющееся отображение всех секретных и промежуточных данных для вычисления и хранения. Примерами таких данных являются криптографические коды, сохраненные и сообщенные данные.The methodology of the invention provides a practical and effective modification of cryptographic and other processes, while such a modification is based on data privacy through a variable display of all secret and intermediate data for calculation and storage. Examples of such data are cryptographic codes, stored and reported data.

Там, где отображенные данные или выбранное отображение (или все отображения составного объекта, где это используется) неизвестны, не может быть определена никакая информация относительно секретных данных. Эта методика обладает возможностями значительно уменьшить утечку количества доступной информации, касающейся первоначальных данных, через побочный канал ввода-вывода, при условии, что наблюдаемая утечка побочного канала ввода-вывода достаточна низкая.Where the displayed data or the selected display (or all displays of the composite object where it is used) is unknown, no information regarding the secret data can be determined. This technique has the potential to significantly reduce the leakage of the amount of available information regarding the initial data through the side I / O channel, provided that the observed leakage of the side I / O channel is sufficiently low.

Секретные данные, чаще всего, криптографические коды, никогда не нужны в первоначальном виде (без прикладного отображения), за исключением их использования в начальном отображении, и случайным образом заново отображены на просматривающемся базисе, чтобы избежать повторения данных, которое облегчило бы ΌΡΆ-атаку.Secret data, most often cryptographic codes, is never needed in its original form (without application display), except for its use in the initial display, and is randomly re-displayed on a viewing basis to avoid data repetition, which would facilitate an ΌΡΆ-attack.

Примером того, когда эта методика будет иметь большое значение, являются карты с микросхемами, где ΌΡΆ может в некоторых случаях давать возможность неуполномоченной стороне использовать данные в течение нескольких минут, исключительно через анализ пропущенных сигналов побочного ввода-вывода. Другое потенциальное использование заключается в вычислении и хранении данных в вычислительных устройствах, где электромагнитное излучение может ставить под угрозу тайну данных.An example of when this technique will be of great importance are cards with microcircuits, where ΌΡΆ in some cases it can enable an unauthorized party to use the data for several minutes, exclusively through the analysis of missing signals of side I / O. Another potential use is to compute and store data in computing devices where electromagnetic radiation can compromise data privacy.

Таким образом, чтобы получить преимущества от изобретения, здесь предлагается метод обработки данных для того, чтобы уменьшить риск неуполномоченного доступа к данным, например, через ΌΡΆ, этот метод включает в себя следующие шаги:Thus, in order to benefit from the invention, a data processing method is proposed here in order to reduce the risk of unauthorized access to data, for example, through ΌΡΆ, this method includes the following steps:

разработку алгоритмов, в частности, но не исключительно, шифров, для получения максимальной выгоды от этой методики;the development of algorithms, in particular, but not exclusively, ciphers, to maximize the benefits of this technique;

расширение общеизвестной методики селективно блокирующихся данных до большего набора отображений;expanding the well-known method of selectively blocking data to a larger set of mappings;

видоизменение выполнения алгоритма, чтобы работать по отображенным данным;modifying the execution of the algorithm to work on the displayed data;

первоначальное отображение данных, особенно криптографических кодов, для хранения;initial display of data, especially cryptographic codes, for storage;

изменение получения отображения от каждого прежнего отображения при помощи вторичного отображения;changing the display from each previous display using the secondary display;

отображение входящих данных для ввода к видоизменяемому решению алгоритма; и отображение выходных данных от видоизмененного алгоритма для дальнейшего использования.display of input data for input to a mutable solution of the algorithm; and displaying the output from the modified algorithm for future use.

Метод может включать в себя как хранение секретных данных, так и отбор отображения на секрете данных.The method may include both the storage of secret data and the selection of displaying data on a secret.

Отображение данных и вторичное отображение данных могут находиться в форме поисковой таблицы, алгоритма с данными отображения - отбора или тому подобного.The data mapping and the secondary data mapping may be in the form of a lookup table, an algorithm with display data - selection, or the like.

Методы могут включать в себя составные (каскадные), но по отдельности прикладные отображения для того, чтобы уменьшить количество информации, которая может быть получена от данного числа наблюдений нападающим, и увеличить самый низкий порядок успешной атаки ΌΡΆ.Methods may include composite (cascading), but separately applied mappings in order to reduce the amount of information that can be obtained from a given number of observations by an attacker and increase the lowest order of a successful attack ΌΡΆ.

Отображенные данные и отбор отображения могут быть переданы на отдаленное место.The displayed data and display selection can be transmitted to a remote location.

Описание рисунковDescription of drawings

Изобретение может быть лучше понято при использовании следующих объяснений, неограниченных примеров и сопроводительных рисунков.The invention can be better understood by using the following explanations, unlimited examples and accompanying drawings.

Фиг. 1 схематически изображает прототип криптографической операции;FIG. 1 schematically depicts a prototype cryptographic operation;

фиг. 2 - побочную утечку информации по каналам ввода-вывода в операции на фиг. 1;FIG. 2 - side leakage of information on input-output channels in the operation of FIG. one;

фиг. 3 - замену двух-вводной операции на эквивалент с отображенным данными;FIG. 3 - replacement of a two-input operation with an equivalent with the displayed data;

фиг. 4 - объединение последовательных отображений;FIG. 4 - combining sequential mappings;

фиг. 5 - замену шифра на его видоизмененный эквивалент;FIG. 5 - replacement of the cipher with its modified equivalent;

фиг. 6 - начальное отображение кода для хранения;FIG. 6 - initial display of the code for storage;

фиг. 7 - итерационное отображение кода;FIG. 7 - iterative mapping of the code;

фиг. 8 - упрощенный шифр, иллюстрирующий процесс отображения; и фиг. 9 показывает некоторые особенности примера 3: создание ΌΕδ-шифра, стойкого к атакам ΌΡΆ как 1-ого, так и 2-го порядков.FIG. 8 is a simplified cipher illustrating the display process; and FIG. 9 shows some features of Example 3: creating a ΌΕδ-cipher resistant to attacks ΌΡΆ of both the 1st and 2nd orders.

На фиг. 1 цифра ссылки 10 в целом обозначает традиционный черный ящик криптографической операции. В операции 10 входные данные 12 преобразованы при использовании кода 14 до выходных данных 16.In FIG. The 1 digit of reference 10 as a whole denotes a traditional black box of cryptographic operation. In operation 10, input 12 is converted using code 14 to output 16.

На фиг. 2 цифра ссылки 20 в целом обозначает традиционную криптографическую операцию, такую, как показано на фиг. 1, далее указывая утечку через побочный канал вводавывода. Операция 20 включает в себя ввод данных 22, преобразование кодом 24 к выходным данным 26 и утечке сигнала 28.In FIG. 2, the reference numeral 20 generally indicates a traditional cryptographic operation, such as that shown in FIG. 1, further indicating a leak through the side channel of the input / output. Operation 20 includes data input 22, code conversion 24 to output 26, and signal leak 28.

На фиг. 3 цифра ссылки 30 в целом обозначает процесс замены операции с двумя входами на эквивалент с селективно-блокированными данными. В операции 30 стандартная операция с двумя входами представлена с вводами 32 и 34, которые работают через оператор 31, чтобы произвести выходные данные 36. Операция селективной блокировки данных сно ва использует вводы 32 и 34, которые далее отображены отображениями 35 и 37 перед действием с помощью оператора 33. Объединенный вывод тогда отображен выводом, отображающим 39, чтобы обеспечить отображенные выходные данные 36.In FIG. The 3 digit of reference 30 as a whole indicates the process of replacing an operation with two inputs with an equivalent with selectively blocked data. In operation 30, the standard two-input operation is presented with inputs 32 and 34, which operate through operator 31 to produce output 36. The selective data blocking operation again uses inputs 32 and 34, which are then displayed by displays 35 and 37 before using operator 33. The combined output is then displayed with an output displaying 39 to provide the displayed output 36.

На фиг. 4 цифра ссылки 40 в целом обозначает процесс сочетания последовательных отображений фиг. 3 из каскадных действий. Операторы 41 и 47 соответствуют двум отдельным случаям операции 33 фиг. 3. Отображение 43 соответствует выводу, отображающему 39 относительно оператора 41, и отображение 45 соответствует отображению ввода (типа 35 или 37) относительно оператора 47. Отображение 49 (Ус,а) - единственный составной объект отображения, полученный из 43 и 45, который не генерирует никакие данные, коррелированные к первоначальным данным даже в виде промежуточных значений.In FIG. 4, the reference numeral 40 generally indicates the process of combining successive mappings of FIG. 3 of cascading actions. Operators 41 and 47 correspond to two separate cases of operation 33 of FIG. 3. The mapping 43 corresponds to the output mapping 39 with respect to the operator 41, and the mapping 45 corresponds to the input mapping (of type 35 or 37) with respect to the operator 47. The mapping 49 (C, a) is the only composite display object obtained from 43 and 45, which is not generates no data correlated to the original data even as intermediate values.

На фиг. 5 цифра ссылки 50 в целом обозначает замену шифра на его видоизмененный эквивалент (как промежуточный шаг получения конечного осуществления изобретения). Можно видеть, что в немодифицированной криптографической операции входные данные 52 действуют через операцию шифрования 53 при использовании кода 51, передавая выходные данные 54. В видоизмененном эквиваленте входные данные 52 преобразованы с помощью трансформации 56 в отображенную форму до того, как воздействовать через видоизмененный шифр 57 при использовании кода в отображенной форме, передавая отображенные выходные данные, из которых могут быть получены первоначальные выходные данные 54 при использовании преобразования 58.In FIG. 5, the reference numeral 50 generally means replacing the cipher with its modified equivalent (as an intermediate step in obtaining the final embodiment of the invention). It can be seen that in the unmodified cryptographic operation, the input data 52 acts through the encryption operation 53 when using the code 51, transmitting the output data 54. In the modified equivalent, the input data 52 is converted by transforming 56 into a mapped form before acting through a modified cipher 57 when using code in the displayed form, transmitting the displayed output from which the original output 54 can be obtained using conversion 58.

На фиг. 6 цифра ссылки 60 в целом обозначает процесс создания непредсказуемого отбора отображения. Первоначальный код 62 отображен 63 согласно отбору, проведенному 60 и сохраненному 64. Отбор отображения сохранен 68 для использования с отображенным кодом.In FIG. 6, the reference numeral 60 generally indicates the process of creating unpredictable display selection. The initial code 62 is displayed 63 according to the selection carried out 60 and stored 64. The selection of the display is saved 68 for use with the displayed code.

На фиг. 7 цифра ссылки 70 указывает процесс создания непредсказуемого отбора вторичного отображения. Предварительно отображенный код 72 далее отображен 73 при помощи выбранного отображения вторичного отображения и сохраненной 74, обычно заменяя 72. Предварительно сохраненный отбор отображения 76 обработан со знанием отбора вторичного отображения, чтобы выдать отбор отображения, применимый к 74, и это сохранено 78, обычно замещая 76.In FIG. 7, the reference numeral 70 indicates a process for creating an unpredictable secondary display selection. The pre-mapped code 72 is then mapped 73 using the selected secondary display display and stored 74, usually replacing 72. The pre-stored display selection 76 has been processed with knowledge of the secondary display selection to produce a display selection applicable to 74, and this is saved 78, usually replacing 76 .

На фиг. 8 цифра ссылки 80 в целом указывает процесс замены алгоритма на алгоритм, который работает по отображенным данным.In FIG. The 8 digit of reference 80 as a whole indicates the process of replacing the algorithm with an algorithm that works on the displayed data.

Шифр 83 работает по вводимому тексту 81 и шифру 82, чтобы выдать блок выводимого текста 84. При замене вводимый текст 81 отображен как 85 при использовании одного или более соответствующих отображений. Произвольно первоначальный код 82 сходным образом отображен как 86 для того, чтобы выдать отображенный код 89. Альтернативно 89 может быть получен из отображенных выходных данных операции расшифровки. 86 далее относится к повторяющемуся изменению отображения применительно к коду. Модифицированный шифр 87 работает по отображенным данным, и его отображенные выходные данные произвольно работают на 88 через операцию отображения для того, чтобы выдать те же самые выходные данные 84, какие были бы выданы немодифицированным шифром 83. Попеременно вывод 87 может использоваться прямо с данными отбора отображения в аналогично модифицированных алгоритмах в эквивалентах 85 и 86 для того, чтобы избежать появления первоначальной формы данных.The cipher 83 operates on the input text 81 and the cipher 82 to produce a block of the output text 84. When replacing, the input text 81 is displayed as 85 when using one or more corresponding mappings. At random, the original code 82 is likewise displayed as 86 in order to give the displayed code 89. Alternatively, 89 can be obtained from the displayed output of the decryption operation. 86 further relates to a repeated display change with reference to code. The modified cipher 87 operates on the displayed data, and its displayed output randomly works on 88 through the display operation in order to produce the same output 84 as the unmodified cipher 83 would. Alternately, output 87 can be used directly with the display selection data in similarly modified algorithms in the equivalents of 85 and 86 in order to avoid the appearance of the original data form.

На фиг. 9 цифра ссылки 90 в целом указывает процесс замены разрядных перестановок на манипуляцию отображенных данных и данные отбора отображения для независимо применяемых отображений для каждого отображенного информационного разряда. Цифра ссылки 91 аналогично указывает замену дублирования информационного разряда без введения дифференцирования между отображениями, но с предупреждением о том, что надо проявлять осторожность в отношении рекомбинации таких данных, вводящих нежелательную отмену непредсказуемости. Цифра ссылки 92 представляет ту же самую операцию замены, за исключением того, что непредсказуемая информация 95 вводится для того, чтобы избежать предупреждения, упомянутого для 91. Цифра ссылки 93 аналогично указывает замену операции исключающее ИЛИ. Цифра ссылки 94 обозначает замену поисковой таблицы ΌΕ8-8 функции (имеющий шесть входных битов и четыре бита вывода) на предварительно рассчитанную поисковую таблицу, используя отображенные значения. При предварительном вычислении непредсказуемые данные 96 и все возможные входные величины 97 объединены с оригинальной таблицей для того, чтобы генерировать все отображенные комбинации вводов-выводов 98 для записи в отображенную поисковую таблицу 99. Это предварительное вычисление может быть выполнено для каждого использования или для комплексных применений таблицы согласно выбору дизайна. Эта поисковая таблица 99 тогда используется в связи с адекватно выделенными действиями повторного отображения (исключающее ИЛИ), чтобы функционировать по отображенным данным. Никакие два вектора битов в диаграмме не могут быть использованы для того, чтобы реконструировать первоначальные данные. Для того чтобы получать достаточную изоляцию, может оказаться необходимым введение задержек в сигнальные пути (как с помощью синхронных защелок между действиями исключающее ИЛИ).In FIG. 9, the reference numeral 90 generally indicates the process of replacing bit permutations with the manipulation of displayed data and display selection data for independently applicable mappings for each displayed information bit. Reference numeral 91 likewise indicates the replacement of duplication of the information category without introducing differentiation between the mappings, but with a warning that caution should be exercised with respect to the recombination of such data introducing an undesirable abolition of unpredictability. The reference numeral 92 represents the same replacement operation, except that unpredictable information 95 is introduced in order to avoid the warning mentioned for 91. The reference numeral 93 likewise indicates the replacement of an exclusive OR operation. Reference number 94 indicates the replacement of the lookup table ΌΕ8-8 of the function (having six input bits and four output bits) by a previously calculated lookup table using the displayed values. In the preliminary calculation, unpredictable data 96 and all possible input values 97 are combined with the original table in order to generate all the displayed I / O combinations 98 for writing to the displayed search table 99. This preliminary calculation can be performed for each use or for complex applications of the table according to design choice. This lookup table 99 is then used in connection with the adequately highlighted re-mapping actions (exclusive OR) to operate on the displayed data. No two bit vectors in the diagram can be used to reconstruct the original data. In order to obtain sufficient isolation, it may be necessary to introduce delays in the signal paths (as with the help of synchronous latches between actions exclusive OR).

Раскрытие сущности изобретенияDisclosure of the invention

Проект шифраCipher design

Следует проявлять особое внимание при выборе алгоритма шифра. Соответствующая разработка шифра может привести к следующему шагу (модификации шифра), добавив совсем немного обработки к шифру. Выбирая набор операций, которые используются в шифре, важно свести к минимуму сложность и привести к максимуму секретность данных перед возможной атакой с помощью побочного канала вводавывода. Для разработки существенно понимание следующих аспектов проекта.Special care should be taken when choosing a cipher algorithm. Appropriate cipher development can lead to the next step (cipher modifications), adding very little processing to the cipher. When choosing a set of operations that are used in a cipher, it is important to minimize complexity and minimize data confidentiality before a possible attack using the I / O side channel. An understanding of the following aspects of the project is essential for development.

Многократное использование отображения с различными наборами данных в пределах алгоритма еще более потенциально ослабит атаку, но там, где такое ослабление не слишком велико (если требуется сопротивление только к ΌΡΑатаке первого уровня), это может приводить к значительно меньшей работе в дополнительном вычислении. Это следует иметь в виду при разработке алгоритма.Repeated use of the mapping with different data sets within the algorithm will even more potentially weaken the attack, but where such attenuation is not too large (if resistance is required only to the first-level attack), this can lead to much less work in additional calculation. This should be borne in mind when developing the algorithm.

Видоизменение шифраCipher Modification

Свежий отбор отображения может использоваться для каждого значения данных (включая выводные данные каждой операции) на всем шифре, иначе отображение может остаться неизменным между двумя операциями. Последнее обычно невозможно, когда эти две операции не связаны между собой, но когда это возможно, то полезно держать сложность на низком уровне. Следует проявлять внимание к тому, чтобы отображение, связанное со всеми промежуточными вычислительными значениями, твердо придерживалось необходимых условий сокрытия тайны (например, если два значения, которые имеют одно и то же самое примененное отображение, объединены через исключающий ИЛИ оператор, то первоначальный вывод нуля будет всегда отображен значением нуля).Fresh mapping selection can be used for each data value (including the output of each operation) on the entire cipher, otherwise the mapping may remain unchanged between the two operations. The latter is usually not possible when the two operations are not interconnected, but when possible, it is useful to keep complexity low. Care should be taken to ensure that the mapping associated with all intermediate computational values adheres to the necessary conditions for concealment of secrecy (for example, if two values that have the same applied mapping are combined through an exclusive OR operator, then the initial zero output will be always displayed with a value of zero).

Каждая операция заменена операцией, которая выполняет эквивалентную операцию со всеми отображаемыми значениями, как показано на фиг. 3. Вывод, отображающий 39 (/с), определен вводными отображениями 35, 37 (/а и /Ь) и любыми изменениями до основной операции ядра. Например, если вводные отображения составлены из отдельных, случайным образом выбранных значений для каждого из вводов операции добавления, то отображение вывода будет составлено из вычитания суммы случайных значений из вывода, если предполагать, что операции основного добавления остаются идентичными.Each operation is replaced by an operation that performs an equivalent operation with all displayed values, as shown in FIG. 3. The output representing 39 (/ s ) is determined by the introductory mappings 35, 37 (/ a and / b ) and any changes before the main kernel operation. For example, if the input mappings are composed of separate, randomly selected values for each of the inputs of the add operation, then the display of the output will be composed of subtracting the sum of the random values from the output, assuming that the operations of the main addition remain identical.

Оригинальные значения 32, 34 и 36 (а, Ь и с) все еще имеют место на фиг. 4, но отсутствуют после того, как будет применен следующий шаг. Операция, выполненная на отображенных значениях, обычно будет выбираться как опера11 ция, примененная прежде, если непрактичным будет поиск соответствующей альтернативы (например, для сложения), но может отличаться, если замена является разумной (например, для произвольной поисковой таблицы).The original values 32, 34 and 36 (a, b and c) still exist in FIG. 4, but not after the next step is applied. The operation performed on the displayed values will usually be selected as the operation applied earlier if it is impractical to search for an appropriate alternative (for example, for addition), but may differ if the replacement is reasonable (for example, for an arbitrary search table).

Следующий шаг должен сочетать в себе последовательные отображения 43 и 45 (/с и /а) из каскадных действий 41 и 47 в единственное отображение 49 (ДД, как показано на фиг. 4. Это отображение не должно, даже в виде промежуточного значения вычисления, выводить первоначальные данные или любые данные, связанные с первоначальными данными. Этого в общем можно достичь, когда отображение 49 построено только из информации, которая не может использоваться для выведения информации о первоначальных данных из отображенного значения. Существование коррелированных данных стало бы первоочередной целью для атаки ΌΡΆ. Например, если эти два отображения 43 и 45 являются добавлением модуля отдельных случайных значений, то отображение 49 будет добавлением суммы этих значений, из которых не может быть выведена никакая информация, касающаяся отдельных отборов отображения. Если соседние действия связаны, то это отображение может быть упрощено. Там, где отборы последовательных отображений 43 и 45 скоррелированы (то есть отбор одного влияет на отбор другого), составное отображение может быть несколько проще или даже может стать идентичной операцией (и, следовательно, быть опущенной).The next step is to combine successive mappings 43 and 45 (/ s and / a ) from cascading actions 41 and 47 into a single mapping 49 (DD, as shown in Fig. 4. This mapping should not, even as an intermediate calculation value, display the original data or any data related to the original data. This can generally be achieved when display 49 is constructed only from information that cannot be used to derive information about the original data from the displayed value. Existence is correlated For example, if these two mappings 43 and 45 are the addition of a module of individual random values, then mapping 49 will be the addition of the sum of these values from which no information can be deduced regarding the individual display selections. neighboring actions are connected, then this mapping can be simplified. Where the selections of successive mappings 43 and 45 are correlated (that is, the selection of one affects the selection of the other), the composite mapping may be somewhat simpler or It may even be identical to the operation (and therefore be omitted).

Там, где каскадные операторы 41 и 47 не связаны между собой, может оказаться необходимой сложная (комплексная) операция как выполнение отображения 49 (/сд). В случае необходимости это может быть реализовано при помощи поисковой таблицы или другой операции. Если одно из соседних действий - поисковая таблица, то получающиеся в результате каскадные поисковые таблицы могут быть объединены в одну поисковую таблицу. После этого шага, кроме входных данных, кодовых данных и выходных данных, данные на всех вычислениях сохраняют секрет с помощью отображений. Эти внешние отображения обработаны отдельно в следующих шагах.Where the cascade operators 41 and 47 are not interconnected, it may be necessary to perform a complex (complex) operation like performing a mapping 49 (/ s d). If necessary, this can be implemented using a lookup table or other operation. If one of the neighboring actions is a lookup table, then the resulting cascading lookup tables can be combined into one lookup table. After this step, in addition to the input data, code data and output data, the data on all calculations preserve the secret with the help of mappings. These external mappings are processed separately in the following steps.

С осторожным выбором проекта шифра и ограничений по отбору отображений сложность изменяемого шифра не должна быть намного большей, чем сложность первоначального шифра, независимо от отбора отображения, манипуляции и отображения, внешнего к изменяемому шифру 57. Вычисление, касающееся отображения, использованного в каждой операции, может быть сведено к минимуму. Получившийся в результате математически эквивалентный шифр показан на фиг. 5.With careful selection of the design of the cipher and restrictions on the selection of mappings, the complexity of the variable cipher should not be much greater than the complexity of the original cipher, regardless of the selection of the display, manipulation and display external to the variable cipher 57. The calculation regarding the mapping used in each operation be minimized. The resulting mathematically equivalent cipher is shown in FIG. 5.

Первоначальное хранение кодовInitial storage of codes

На фиг. 5 первоначальный код 51, входные данные 52 и выходные данные 54 все еще показаны как существующие без прикладного отображения и все еще могут быть целью атаки ΌΡΆ, когда к ним имеется доступ через операцию, в особенности для процесса отображения. Криптографический код должен быть сохранен только в отображенной форме, где отбор отображения обладает заданной случайностью. Кроме этого, должна быть сохранена информация, кодирующая отбор отображения. Это начальное хранение необходимо только тогда, когда начальный или основной коды загружены (обычно в защищенном окружении), и никогда для кодов, загруженных в зашифрованных сообщениях (см. данные отображения ввода шифра). Это может быть выражено как первоначально сохранение кода к с прикладным отображением к0=/0(к), так же как информация, идентифицирующая отбор отображения, /0. Семейство отображений обычно выбирается относительно операторов, использованных в шифре, в котором применяется код, чтобы избежать ненужных повторных отображений.In FIG. 5, the original code 51, input 52, and output 54 are still shown as existing without application mapping and can still be the target of an attack ΌΡΆ when they are accessed through an operation, especially for the mapping process. The cryptographic code should be stored only in the displayed form, where the selection of the display has a given randomness. In addition, information encoding display selection must be stored. This initial storage is necessary only when the initial or main codes are loaded (usually in a secure environment), and never for codes downloaded in encrypted messages (see cipher input mapping data). This can be expressed as initially storing the code k with the applied mapping k 0 = / 0 (k), as well as information identifying the selection of the mapping, / 0 . The mapping family is usually selected relative to the operators used in the cipher in which the code is applied to avoid unnecessary repeated mappings.

Предварительно использованное кодовое отображениеPre-used code mapping

Даже сохраненные примененным (прикладным) отображением как в “Первоначальное хранение кодов”, повторенные доступы позволили бы восстановить как секретные данные, так и информации отображения через методы ΌΡΆ первого уровня (например, через проанализированные средние группы упражнений наблюдаемых следов). Поэтому перед каждым использованием криптографического кода прежнее отображение должно быть заменено на новое, случайным образом выбранное отображение, подвергающееся ограничениям, наложенным проектом. Первоначальное значение кода не должно быть вычислено в этом процессе даже в виде временной переменной. Это приводит к получению значений в форме к111-1]) и/1=ё1°/1-1. По отношению к последнему это означает выведение /1 такого, что /ι(η)=§ι(/ι-1(η)) для любого с.|. Значения отображенных данных к1 и отбора отображения /1 заменят соответствующие сохраненные значения к1-1 и /1-1. Эти значения останутся связанными тождеством к1=/1(к).Even saved by the applied (applied) mapping both in the “Initial storage of codes”, repeated accesses would allow to recover both secret data and display information through methods of the first level (for example, through the analyzed average exercise groups of the observed tracks). Therefore, before each use of cryptographic code, the old display should be replaced with a new, randomly selected display, subject to the restrictions imposed by the project. The original code value should not be calculated in this process even as a temporary variable. This leads to obtaining values in the form k 1 = q 1 (k 1-1 ]) and / 1 = e1 ° / 1 -1 . In relation to the latter, this means the derivation of / 1 such that / ι (η) = §ι (/ ι -1 (η)) for any c. |. The values of the displayed data to 1 and display selection / 1 will replace the corresponding stored values to 1-1 and / 1-1 . These values will remain connected by the identity k1 = / 1 (k).

Отображение входных данных шифраDisplay cipher input

Входные данные 52 (х на фиг. 5) первоначально отображены при использовании отображения, выбранного для этих вводов. Это аналогично начальному отображению кода (согласно “Первоначальному хранению кодов”), но может происходить со всеми обрабатываемыми данными, типа полученного зашифрованного текста, который необходимо расшифровать, или открытого текста, который будет зашифрован для передачи. Если чувствительные данные (на пример, коды) должны быть зашифрованы, то они уже должны быть сохранены в отображенной форме и обладать выполненной подстановкой отображения там, где это является соответствующим (как в “Предварительно использованном кодовом отображении”).Input data 52 (x in FIG. 5) is initially displayed using the display selected for these inputs. This is similar to the initial display of the code (according to the “Initial storage of codes”), but it can occur with all processed data, such as the received encrypted text that needs to be decrypted, or plain text that will be encrypted for transmission. If sensitive data (for example, codes) must be encrypted, then they should already be stored in the displayed form and have the performed display substitution where it is appropriate (as in the “Pre-used code display”).

Отображение выходных данных шифраCipher Output Display

Выходные данные могут быть отображены до их первоначального значения там, где тайна не является решающим фактором (например, если зашифрованный текст был создан для передачи). Если эти данные должны остаться секретными (например, переданные криптографические коды), то они и информация отбора отображения должны быть сохранены без того, чтобы быть отображенными обратно к первоначальной форме. Поэтому первоначальное отображение кода, упомянутого выше, не происходит с полученными и расшифрованными кодами. Это делает процесс загрузки кодов резистентным к ΌΡΆ.The output can be displayed to its original value where secrecy is not a decisive factor (for example, if encrypted text was created for transmission). If this data should remain secret (for example, transmitted cryptographic codes), then it and display selection information should be stored without being displayed back to its original form. Therefore, the initial display of the code mentioned above does not occur with the received and decrypted codes. This makes the code loading process resistant to ΌΡΆ.

Пример 1. Создание исключающий ИЛИ на основе резистентного к ΌΡΆ шифра.Example 1. Creating an exclusive OR based on a ΌΡΆ-resistant cipher.

В этом примере упрощенный шифр создан полностью из сложения по модулю 2 исключающее ИЛИ из октетов (векторы из восьми битов каждый) и единственной поисковой таблицы, которая производит 8-разрядное выходное значение для каждой 8-разрядной входной величины. Благодаря упрощенной природе шифра только единственный набор данных может быть надежно зашифрован для использования кода (как в шифре Уегпаш или одноразовом заполнении), но повторное шифрование тех же самых данных обеспечивает ΌΡΆ-резистентность первого уровня. Предварительно использованное отображение кода не показано и является необходимым для ΌΡΆ-резистентности. Однако этот пример предназначен для того, чтобы прояснить проект шифра для использования в пределах строго ограниченной вычислительной среды, такой как карта с микросхемой. Он использует единственную подстановку поисковой таблицы.In this example, a simplified cipher is created entirely from modulo 2 addition that excludes OR from octets (vectors of eight bits each) and a single lookup table that produces an 8-bit output value for each 8-bit input value. Due to the simplified nature of the cipher, only a single data set can be reliably encrypted to use the code (as in the Vegpash cipher or one-time filling), but re-encryption of the same data provides first-level ΌΡΆ-resistance. The pre-used code mapping is not shown and is necessary for ΌΡΆ-resistance. However, this example is intended to clarify the design of the cipher for use within a strictly limited computing environment, such as a card with a chip. It uses a single lookup lookup.

Связанные между собой отображения применяются к каждому октету данных в этом примере, формы кп,11кп1, хп,11хп1 и уп,1=А;уп1. Нижние индексы п и ί относятся соответственно к отбору октета в пределах каждого набора данных и подсчета использования шифра. А1 является случайным образом выбранной несингулярной 8-на-8 матрицей битов и каждый Ь, с1 и й, является случайным образом выбранным октетом.Associated mappings are applied to each octet of data in this example, the form k n , 1 = A 1 k n + b 1 , x n , 1 = A 1 x n + s 1 and y n , 1 = A; y n + th 1 . The subscripts n and ί refer respectively to the selection of an octet within each data set and counting the use of the cipher. And 1 is a randomly selected non-singular 8-by-8 bit matrix and each b, with 1 and th, is a randomly selected octet.

На фиг. 8 эти действия были объединены для того, чтобы пояснять пример. Типичный криптографический шифр (шифрование или расшифровка) использовал бы намного больше действия, и размеры данных к, х и у были бы обычно равны, по крайней мере, 64 битам. Каждая стрелка представляет поток одного октета. Диаграмма показывает эквивалентные операции с отображением данных. И начальное, и инкрементное отображения кода (описанные в “Предварительно использованном кодовом отображении”) показаны при кодовом отображении.In FIG. 8 these actions were combined in order to clarify an example. A typical cryptographic cipher (encryption or decryption) would use much more action, and the data sizes k, x and y would usually be at least 64 bits. Each arrow represents a stream of one octet. The chart shows equivalent data display operations. Both the initial and incremental code mappings (described in the “Pre-Used Code Mapping”) are shown in the code mapping.

Первоначально отображенный код кп,о=Аокп+Ьо и отображение /о=(Ао, Ьо) сохранены.The initially mapped code kn, o = A o k n + b0 and the mapping f o = (A o , b o ) are preserved.

Предпочтительно, чтобы до любого использования кода выполнялось новое отображение с помощью выбора новых О1 и й1. Мы заменяем кп>1-1 на км_||км,|-||, А1-1 на А11А1-1 и Ь1-1 на Ь11Ь1-11.Preferably, before any use of the code, a new mapping is performed by selecting the new O 1 and th 1 . We replace k n> 1-1 by k m _ | = C | to m , | - | + H | , A 1-1 on A 1 = O 1 A 1-1 and b 1-1 on b 1 = O 1 b 1-1 + th 1 .

Каждая поисковая таблица заменена ее эквивалентом 51 для операции на отображенных значениях, определена с помощью 51(/)=А1к(А1-1 (х+Ь11))+й1. Отобразите октеты входных данных хп при использовании связанного с ними отображения, хп,11хп1. Зашифруйте отображенный ввод, используя первоначальный шифр, за исключением замененной поисковой таблицы. Кроме отображения предварительного шифра замененной поисковой таблицы, начального отображения и конечного отображения, здесь нет вычислений, включенных в шифр.Each lookup table is replaced by its equivalent of 5 1 for the operation on the displayed values, determined using 5 1 (/) = A 1 k (A 1-1 (x + b 1 + s 1 )) + th 1 . Map the input octets x p using the associated mapping, x p , 1 = A 1 x p + s 1 . Encrypt the displayed input using the original cipher, with the exception of the replaced lookup table. In addition to displaying the preliminary cipher of the replaced search table, the initial mapping and the final mapping, there are no calculations included in the cipher.

В конечном итоге, если выходные данные у должны остаться секретными, как, например, с кодом, используйте у1, А1 и й1 вместо у. Если он должен быть отображен в его первоначальном состоянии, то это может быть выражено как уп=А1-1уп>11.Ultimately, if the output of y should remain secret, as, for example, with the code, use y 1 , A 1 and th 1 instead of y. If it should be displayed in its original state, then this can be expressed as yn = A 1 -1y n> 1 + th 1 .

Важное наблюдение, которое необходимо сделать, это то, что из-за большого количества (22) возможных отображений одно и то же отображение может использоваться для эффективной секретности больше чем одного октета данных. Это позволяет видоизмененному шифру остаться простым. Более простое отображение не сможет адекватно сохранять против ΌΡΛ множественные байты. Упрощение на основе повторного использования одного и того же отображения должно быть сведено к минимуму и там, где это выполнимо, отображения, выбранные для отдельных наборов данных, должны быть выбраны независимо.An important observation that needs to be made is that, due to the large number (2 ? O ' 2 ) of possible mappings, the same mapping can be used for effective secrecy of more than one octet of data. This allows the modified cipher to remain simple. A simpler mapping cannot adequately store multiple bytes against ΌΡΛ. Simplification based on the reuse of the same display should be minimized and, where feasible, the mappings selected for the individual data sets should be independently selected.

Так как отображение (А1, Ь1) и отображенные данные й1 изменены при каждом использовании, то обработанные данные (включая код) не скоррелированы с первоначальными данными. Только функция нескольких битов данных и отображения скоррелированы с первоначальными данными. Каждый бит первоначальных данных может быть выражен как функция 17 обрабатываемых битов.Since the mapping (A 1, L 1) and the data displayed 1 st changed during each use, the processed data (including code) is not correlated with the original data. Only the function of several data bits and mappings are correlated with the original data. Each bit of the original data can be expressed as a function of 17 processed bits.

Этот пример, примененный к мощному в криптографическом отношении шифру, может сегодня эффективно использоваться в платах для интегральных схем, располагаемых, включая те, которые используют 8-разрядные процессоры и скромные количества пространства памяти.This example, applied to a cryptographically powerful cipher, can now be effectively used in circuit boards for integrated circuits, including those that use 8-bit processors and modest amounts of memory space.

Пример 2. Создание ΌΡΆ-резистентного ΙΌΕΆ шифра.Example 2. Creating a ΌΡΆ-resistant ΙΌΕΆ cipher.

Этот пример поясняет использование этой концепции применительно к известному шифру, который был разработан без любой попытки создания резистентности к ΌΡΆ.This example illustrates the use of this concept in relation to the well-known cipher, which was developed without any attempt to create resistance to ΌΡΆ.

Шифр ΙΌΕΆ был преднамеренно составлен из трех взаимно несовместимых операторов, основанных на простых базисных элементах, доступных на большинстве универсальных компьютеров, - двоичное исключающее или, суммирование и умножение 16-разрядных величин. Чтобы сделать этот шифр ΌΡΆрезистентным, из-за несовместимости операторов поисковая таблица вводится в каждом тракте данных для того, чтобы отобразить отображенное значение от одного оператора до следующего.The cipher ΙΌΕΆ was deliberately composed of three mutually incompatible operators based on simple basic elements available on most universal computers - binary excluding or, summing and multiplying 16-bit values. To make this cipher resistant, due to incompatible operators, a lookup table is entered in each data path in order to display the displayed value from one operator to the next.

Каждый исключающее ИЛИ может иметь отображение как в указанном выше примере, за исключением того, что векторный размер увеличен до 16 битов. В вышеупомянутом контексте каждый означает, что случайное отображение не ограничивается до того же самого на протяжении шифра и может быть независимо выбрано везде, где выполняется повторное отображение.Each exclusive OR may have a mapping as in the above example, except that the vector size is increased to 16 bits. In the aforementioned context, each means that the random mapping is not limited to the same throughout the cipher and can be independently selected wherever the repeated mapping is performed.

Оператор сложения имеет меньшее количество свободы выбора отображения, чем оператор исключающее ИЛИ. Оператор умножения имеет свободу отбора отображения, подобную таковой у оператора сложения. Отображения должны быть случайным образом выбраны из соответствующего набора, код и данные должны быть соответственно отображены, поисковые таблицы должны быть созданы и шифр должен быть выполнен.The addition operator has less display freedom than the exclusive OR operator. The multiplication operator has the freedom of selecting a mapping similar to that of the addition operator. Mappings must be randomly selected from the appropriate set, code and data must be respectively mapped, lookup tables must be created, and the cipher must be executed.

Служебные данные здесь - это ряд поисковых таблиц 65536 из 16-разрядных слов каждая, хранение информации, идентифицирующей отображения применительно к коду, и служебные данные обработки, которые содержат примерно в 2 раза больше поисковых таблиц, чем выполняемые операции.The service data here is a series of search tables 65536 of 16-bit words each, storage of information identifying the mappings in relation to the code, and service processing data that contain about 2 times more search tables than the operations performed.

В типичном современном персональном компьютере эти ресурсы легко доступны. Как показывает этот пример, много существующих прикладных программ может легко быть сохранено против большинства ΌΡΆ-атак при использовании этой методики. Использование ΌΡΆ, тайно ловящего электромагнитное излучение от компьютера, выполняющего криптографический процесс, быстро становится непрактичным при использовании этого подхода.In a typical modern personal computer, these resources are easily accessible. As this example shows, many existing applications can easily be saved against most ΌΡΆ attacks using this technique. Using ΌΡΆ, secretly catching electromagnetic radiation from a computer performing a cryptographic process, quickly becomes impractical when using this approach.

Следует иметь в виду, что если необходимо обработать большое количество данных, то в этом процессе отображение данных должно обновляться через определенные интервалы.It should be borne in mind that if it is necessary to process a large amount of data, then in this process the data display should be updated at certain intervals.

Пример 3. Создание ΌΡΆ-резистентного ΌΕδ-шифра.Example 3. Creating a ΌΡΆ-resistant ΌΕδ-cipher.

Стандарт шифрования данных (ΌΕ8) широко используется, и хотя его 56-разрядная дли на кода делает его уязвимым к атакам полного перебора, он все еще находит широкое применение. Он также используется в более безопасных вариантах типа Тройного алгоритма шифрования данных ((ΤΌΕΆ), обычно известный как тройной-ΌΕδ) и ΌΕ8Χ (шифр, выведенный из ΌΕ8). Таким образом, рассмотрение приложения этого изобретения к ΌΕ8 является соответствующим.The data encryption standard (ΌΕ8) is widely used, and although its 56-bit code length makes it vulnerable to brute force attacks, it is still widely used. It is also used in more secure variants such as the Triple Data Encryption Algorithm ((ΤΌΕΆ), commonly known as the Triple-ΌΕδ) and ΌΕ8Χ (cipher derived from ΌΕ8). Thus, consideration of the application of this invention to ΌΕ8 is appropriate.

ΌΕ8 не был разработан с учетом ΌΡΆ. Как часто бывает, меры, которые были предназначены для того, чтобы увеличить криптографическую мощь, снизили совместимость отображений, которые могут экономно использоваться для последовательных действий. Три важных операции используются в ΌΕ8 - сложение по модулю 2 исключающее ИЛИ, расширение (очень сходное с перестановкой, за исключением того, что некоторые или все входные биты дублированы) и восемь 6-на-4-разряда поисковых таблицы (названные 8 или функциями отбора). На сдвиги, разрядные перестановки (переупорядочение) и чередования регистра не обращается внимания в этом обсуждении, так как отборы отображения, примененные к каждому биту, просто прослеживаются (предполагая, что сигналы сохраняются изолированными) без того, чтобы пришлось обрабатывать их как отдельные операции с выбранной стратегией отображения. Замена немодифицированных разрядных перемещений на изменяемые разрядные перемещения, включая трэкинг отбора отображения, показана в 90.ΌΕ8 was not designed with ΌΡΆ in mind. As often happens, measures that were designed to increase cryptographic power have reduced the compatibility of mappings, which can be used sparingly for sequential actions. Three important operations are used in ΌΕ8 - modulo 2 addition excluding OR, an extension (very similar to permutation, except that some or all of the input bits are duplicated), and eight 6-by-4-bit lookup tables (called 8 or selection functions ) Shifts, bitwise permutations (reordering), and register rotation are not addressed in this discussion, since the display selections applied to each bit are simply traced (assuming that the signals are kept isolated) without having to process them as separate operations with the selected display strategy. Replacing unmodified bit displacements with variable bit displacements, including display selection tracking, is shown in 90.

Хотя специфические перестановки, расширения и исключающее ИЛИ операторы позволяют осуществить большой набор отображений на данных (включая код), любое отображение, включающее в себя несколько битов, должно, по существу, быть заново отображено для того, чтобы позволить осуществить использование только шести битов одновременно как ввод в каждую функцию 8. Рассматривать все восемь 8-функций вместе как единственный объект для этой цели было бы недопустимо. Для простоты этого примера отображения, включающие больше чем один бит, не будут здесь рассматриваться. Это не подразумевает, что более сложное отображение с повторным отображением после почти каждой операции обязательно является сложным (комплексным).Although specific permutations, extensions, and exclusive OR operators allow for a large set of mappings on data (including code), any mapping involving several bits should essentially be re-mapped in order to allow only six bits to be used at a time input to each function 8. It would be unacceptable to consider all eight 8-functions together as the only object for this purpose. For simplicity of this example, mappings involving more than one bit will not be considered here. This does not imply that a more complex display with a re-display after almost every operation is necessarily complex (complex).

Отображение, которое будет рассматриваться здесь, включает в себя отдельный отбор для каждого бита, обрабатываемого в алгоритме. Чтобы уменьшить необходимость в новых случайных данных, можно использовать компромиссное решение, которое позволяет отборам быть скоррелированными, хотя особое внимание требуется здесь, чтобы гарантировать то, что порядок ΌΡΆ-сопротивления не снижен ниже желательного порядка. Выполнение этого компромисса не будет включено в пример.The mapping to be considered here includes a separate selection for each bit processed in the algorithm. To reduce the need for new random data, a compromise solution can be used that allows the selections to be correlated, although special attention is required here to ensure that the order of ΌΡΆ-resistance is not reduced below the desired order. The implementation of this compromise will not be included in the example.

Предположим для этого примера, что мы желаем получить ИРА-сопротивление 2 порядка. Чтобы достичь этого, мы будем использовать такой принцип, что число независимых цифровых величин, необходимых перед тем, как оказаться способными реконструировать любую информацию о первоначальных данных, должно быть на один выше, то есть 3. Вследствие того, что цифровые сигналы взаимодействуют несколькими неожиданными путями, сигналы не могут считаться независимыми, если они не изолированы соответственным образом.Suppose for this example that we want to get an IRA resistance of 2 orders. To achieve this, we will use the principle that the number of independent digital values needed before being able to reconstruct any information about the original data should be one higher, that is 3. Due to the fact that digital signals interact in several unexpected ways , signals cannot be considered independent if they are not properly isolated.

Изоляция сигналов в универсальном процессоре является часто гораздо меньшей, чем подразумевает техническое описание. Например, загрузка значения в регистр типа сумматора может приводить к скрытым действиям, таким как определение того, является ли значение нулевым. Стирание данных из схемы, за которым следует интервал времени, перед загрузкой дополнительных данных обычно будет обеспечивать достаточную изоляцию, даже при том, если произойдут тонкие взаимодействия (такие как зависимое от данных нагревание или ионная миграция). Взаимодействие между величинами данных в КАМ-словах, к которым нет прямого доступа, может все еще ощущаться в течение других доступов из-за выполнения логики адресации. Здесь мы предполагаем исполнение в аппаратных средствах с регистрами хранения данных с соответствующими свойствами. Первое из этих свойств - это то, что, как только данные был стерты из схемы и прошел соответствующий интервал (например, один тактовый цикл), то не будет никакого взаимодействия с последующими данными на этой схеме. Второе свойство - что взаимодействие между данными в отдельных схемах незначительно, хотя более консервативная форма этого свойства в том, что взаимодействие между данными в отдельных цепях является изолированным соответствующим образом, при условии, что никакие связанные с данными перемещения сигнала не происходят одновременно в обеих цепях. Следует заметить, что различные информационные разряды, обработанные одновременно, вообще не могут считаться изолированными и, следовательно, не должны быть обработаны как независимые.Signal isolation in a universal processor is often much smaller than the technical description implies. For example, loading a value into an adder type register can lead to hidden actions, such as determining if the value is null. Erasing data from a circuit, followed by a time interval, before loading additional data will usually provide sufficient isolation, even if subtle interactions occur (such as data-dependent heating or ion migration). The interaction between data values in KAM words that are not directly accessible can still be felt during other accesses due to the implementation of the addressing logic. Here we assume execution in hardware with data storage registers with corresponding properties. The first of these properties is that as soon as the data has been erased from the circuit and the corresponding interval has passed (for example, one clock cycle), there will be no interaction with subsequent data on this circuit. The second property is that the interaction between the data in the individual circuits is insignificant, although the more conservative form of this property is that the interaction between the data in the individual circuits is appropriately isolated, provided that no signal-related movements of the signal occur simultaneously in both circuits. It should be noted that various information bits processed simultaneously cannot generally be considered isolated and, therefore, should not be treated as independent.

Мы предполагаем, что все входные данные для алгоритма обеспечиваются в отображенной форме (один бит отображенных данных представлен как один бит), с двумя независимо примененными отображениями для каждого бита, причем каждое отображение имеет единственный независимый непредсказуемый бит отображения информации отбора. Каждое отображение выбрано из набора из двух. Первое отображение набора оставляет информационный разряд неизмененным, а второе взаимно меняет два возможных значения. Будет видно, что были три бита, связанные с первоначальным битом, объединенные при использовании операции исключающее ИЛИ, результатом чего станет первоначальный бит. Опускание любого одного бита из этих трех обеспечит секретность первоначальных данных (предполагая, что каждый отбор отображения непредсказуем, каждый случай равновероятен и никакая форма корреляции не существует между отборами).We assume that all input data for the algorithm is provided in a mapped form (one bit of the mapped data is represented as one bit), with two independently applied mappings for each bit, and each mapping has a single independent unpredictable bit of display of the selection information. Each display is selected from a set of two. The first display of the set leaves the information bit unchanged, and the second mutually changes two possible values. It will be seen that there were three bits associated with the original bit, combined using an exclusive OR operation, resulting in the original bit. Omitting any one bit of these three will ensure the secrecy of the initial data (assuming that each selection of the mapping is unpredictable, each case is equally probable and no form of correlation exists between the selections).

При видоизменении ИЕ8-шифра любой отображенный бит пропускается через любую перестановку, как прежде, прослеживая связанные биты отображения (90). Тот же самый имеет место для расширений, за исключением того, где происходит разрядное дублирование (включая, то, где все биты дублированы), получающиеся в результате дубликаты должны быть сделаны независимыми, если дальнейший анализ не указывает, что это не необходимо (в этом случае модификация, как в 91). Используя два независимо выбранных отображения (необходимы два новых бита случайных данных), можно тогда получить составные отображения с предыдущими отображениями. Входящие отображенные данные могут иметь две пары примененных отображений (использование по отдельности операции исключающее ИЛИ), чтобы заново отобразить данные для каждого дубликата, плюс составной объект, отбора отображения, выводимый для каждого из двух отборов отображения для каждого дубликата. Это включает четыре новых непредсказуемых бита отбора, из которых один, связанный с каждым отображением входа, может быть опущен без потери безопасности (как в 92). Эти два дубликата не скоррелированы друг с другом и могут использоваться вместе в дальнейших действиях без опасения последовательной комбинации, вводящей нестойкость к ИРА. Действия исключающее ИЛИ в ИЕ8-шифре при этом отображении остаются теми же самыми, с составными отображениями, выводимыми для первых и вторых отображений применительно к каждому биту. Это определение может прослеживаться в аппаратных средствах - когда находят исключающее ИЛИ двух отображенных информационных разрядов, каждый бит отбора объединен с соответствующим битом отбора другого отображения данных при использовании той же самой операции (93). Получающиеся в результате три бита тогда обработаны как замаскированный информационный разряд и два прикладных отображения. Отборы могут время от времени быть сделаны коррелированным образом без снижения самого низкого порядка жизнеспособной атаки ИРА, с таким эффектом, что могут быть сокращены дополнительная сложность вычислений и требования к непредсказуемым данным.When modifying the IE8 cipher, any displayed bit is passed through any permutation, as before, tracing the associated display bits (90). The same holds for extensions, except where bit duplication occurs (including where all bits are duplicated), the resulting duplicates should be made independent, unless further analysis indicates that this is not necessary (in this case modification, as in 91). Using two independently selected mappings (two new bits of random data are needed), then composite mappings with previous mappings can then be obtained. The incoming mapped data can have two pairs of mappings applied (using an exclusive exclusive operation OR) to redisplay the data for each duplicate, plus a composite object, display mappings displayed for each of the two display mappings for each duplicate. This includes four new unpredictable selection bits, of which one associated with each input mapping can be omitted without loss of security (as in 92). These two duplicates are not correlated with each other and can be used together in further actions without fear of a consistent combination introducing instability to the IRA. The exclusive OR actions in the IE8 cipher with this mapping remain the same, with composite mappings displayed for the first and second mappings for each bit. This definition can be traced in hardware - when an exclusive OR of two displayed information bits is found, each selection bit is combined with the corresponding selection bit of another data display using the same operation (93). The resulting three bits are then processed as a masked information bit and two application mappings. Screenings can be made in a correlated manner from time to time without reducing the lowest order of viable IRA attack, with such an effect that additional computational complexity and unpredictable data requirements can be reduced.

Следует отметить в вышеуказанном, что некоторые упрощения, предложенные в описании изобретения, уже применились в этом примере. В частности, отображение вывода преды дущей операции сделано таким же самым, как и применялось к вводам операции исключающее ИЛИ, упрощая повторное отображение на операции тождества (таким образом, позволяя опускание). С расширением данных (92) добавлена только достаточная дополнительная непредсказуемость (95) для того, чтобы гарантировать, что никакие последовательные действия не смогут снизить БРА-резистентность. Может быть возможно последовательное упрощение, основанное на преднамеренной корреляции отображения отборов.It should be noted in the above that some of the simplifications proposed in the description of the invention have already been applied in this example. In particular, the mapping of the output of the previous operation is made the same as that applied to the inputs of the exclusive-OR operation, simplifying the repeated mapping to the identity operations (thus allowing lowering). With the data extension (92), only sufficient additional unpredictability (95) has been added in order to ensure that no sequential actions can reduce the BRA-resistance. Sequential simplification may be possible based on a deliberate correlation of the display of selections.

8-функции являются единственными областями (в пределах шифра), остающимися адресованными в этом примере. Согласно природе отображений, выбираемых до сих пор, для целей этого примера мы ограничим выбор отображения до отображений на отдельных битах. Существует ряд подходов, которые могут быть приняты при введении упрощений. Подход, принятый здесь, - отображение заново входных данных согласно новым отображениям, выбранным для функциональных вводов (поисковой таблицы) (таким образом позволяющим осуществлять больше чем одно использование таблицы), и комбинирование отображения вводов непредсказуемы с таковыми отображениями вывода поисковой таблицы. Подход повторного отображения используется здесь при модификации поисковой таблицы 8-функции (94), но следует иметь в виду, что биты вывода 8-функций должны быть не связаны с таковыми вводов. Мы выбираем два отображения непредсказуемо и независимо от всех других отображений для каждого бита (96) ввода и вывода 8-функции, и до использования записаны входы замены для таблицы 8-функции (99) (98) для каждого возможного ввода (генерированного в этом примере пересчетным устройством 97). Отображенные вводы тогда заново отображены, написанная отображенная таблица 8-функции применена и выбранные отображения вывода распространяются в сочетании с отображением ввода для добавленной непредсказуемости, хотя может быть сделано упрощение. Поисковая таблица 8-функции сохранена в аппаратных регистрах (все вместе, это будет 2048 битов регистра, чтобы осуществить восемь 8-функций) или КАМ. Значения, сохраненные в этой памяти, должны быть предварительно рассчитаны из соответствующих отображений таким образом, который сохранит желательную резистентность атаки БРА 2-го порядка. Каждая результирующая отображенная входная величина используется для адресования файла регистров и отображенное значение сохраняется в выбранных четырех битах регистра.8-functions are the only areas (within the cipher) remaining addressed in this example. According to the nature of the mappings so far selected, for the purposes of this example, we will restrict the choice of mappings to mappings on individual bits. There are a number of approaches that can be taken when introducing simplifications. The approach adopted here is to re-display the input according to the new mappings selected for the functional inputs (lookup table) (thus allowing more than one use of the table), and combining the display of inputs is unpredictable with those of the lookup output. The re-mapping approach is used here when modifying the search table of the 8-function (94), but it should be borne in mind that the output bits of the 8-functions should not be associated with those of the inputs. We select two mappings unpredictably and independently of all other mappings for each bit (96) of the input and output of the 8-function, and before use, the replacement inputs for the 8-function table (99) (98) are written for each possible input (generated in this example conversion device 97). The mapped inputs are then re-mapped, the written 8-function mapped table is applied and the selected output mappings are distributed in conjunction with the input mappings for added unpredictability, although simplification can be made. The 8-function lookup table is stored in hardware registers (collectively, it will be 2048 bits of the register to implement eight 8-functions) or KAM. Values stored in this memory must be pre-calculated from the corresponding mappings in such a way as to preserve the desired resistance to attack of the second-order ARB. Each resulting mapped input value is used to address the register file and the mapped value is stored in the selected four register bits.

Введение случайных битов (как с 95 в видоизменении 92) для расширения данных обычно дорого. В этом примере (согласно предположению, что отображение вывода 8-функции является несвязанным) можно обойтись как в каждом случае, когда дубликаты являются вводами к действиям исключающее ИЛИ с некоррелированными данными (93). Благодаря множественному дублированию код-бита требуется новое отображение вывода 8-функции для того, чтобы гарантировать эту некорреляцию. Также следует заметить, что каждый бит кода используется в среднем почти 14 раз.The introduction of random bits (as with 95 in modification 92) for data expansion is usually expensive. In this example (under the assumption that the mapping of the output of the 8-function is unrelated), one can do as in each case when duplicates are inputs to actions exclusive OR with uncorrelated data (93). Thanks to multiple code-bit duplication, a new mapping of the output of the 8-function is required in order to guarantee this non-correlation. It should also be noted that each bit of code is used on average almost 14 times.

Вычисление свежего набора таблицы 8функции для каждого цикла БЕ8 (существуют 16 циклов для каждого применения шифра), включая получение двух непредсказуемых битов для каждого бита вывода (из которых имется 32 для каждого цикла), может быть чрезвычайно дорого. В аппаратных средствах может оказаться возможным повторное вычисление таблицы 8-функции на каждом цикле шифра. Из-за этой стоимости обычным выполнением будет повторное использование этих поисковых таблиц без изменения больше чем одной поисковой таблицы, и возможно даже для больше чем одного инициирования алгоритма шифра. Это нарушает предыдущее допущение о некорреляции отображений вывода битов вывода в различных циклах, и следует быть осторожным, чтобы определить, где это снизит самый низкий порядок жизнеспособной атаки БРА. Кроме того, сила побочного сигнала с вводомвыводом, скоррелированного к внутренним разрядам, возрастает с количеством использования, и это должно быть принято во внимание в определении, является ли сигнал утечки достаточно малым. В некоторых случаях может быть необходимым сохранение непредсказуемого повторного отображения, особенно бита кода (который используется несколько раз). Другое ограничение, следующее из этого упрощения, это то, что отображение ввода бита 8-функции должно быть таким же самым для каждого использования до замены содержания поисковой таблицы. Более, чем ограничение отображения, примененного к индивидуальным битам данных (включая код), отображение, примененное к данным, должно быть заменено парой отображений, применимых к вводам к 8-функции. Это должно быть выполнено в двух ступенях (использование двух отделенных действий исключающее ИЛИ, причем каждое применяет составной объект двух отображений (один применимый к 8-функции, один - к данным).Calculating a fresh set of function table 8 for each BE8 cycle (there are 16 cycles for each cipher application), including getting two unpredictable bits for each output bit (of which there are 32 for each cycle), can be extremely expensive. In hardware, it may be possible to recalculate the 8-function table on each cipher cycle. Because of this cost, the usual implementation is to reuse these lookup tables without changing more than one lookup table, and perhaps even for more than one initiation of the cipher algorithm. This violates the previous assumption about non-correlation of output bitmap mappings in different cycles, and care should be taken to determine where this will reduce the lowest order of a viable ARB attack. In addition, the strength of the I / O side signal correlated to internal discharges increases with the amount of use, and this should be taken into account in determining whether the leak signal is small enough. In some cases, it may be necessary to maintain an unpredictable redisplay, especially a bit of code (which is used several times). Another limitation resulting from this simplification is that the bit input mapping of an 8-function must be the same for each use before replacing the contents of the lookup table. More than limiting the mapping applied to individual data bits (including code), the mapping applied to the data should be replaced by a pair of mappings applicable to inputs to an 8-function. This must be done in two steps (using two separate actions exclusive OR, each using a composite object of two mappings (one applicable to the 8-function, one to the data).

Добавленная сложность резистентности 2го порядка, кроме отображений, примененных к данным, которые являются внешними к модифицированному основному шифру, составляет приблизительно утраивание числа действий исключающее ИЛИ и замену фиксированных 8-функций на изменяемо отображенные вводы и выводы 8-функции, включая использование непредсказуемых данных. Внешним образом, данные, с которыми нужно работать, не должны быть заменены отображенным значением и дан ными отбора отображения и коды должны быть первоначально отображены и впоследствии с приращением отображены и сохранены, включая дополнительные отображенные данные. В примере требования по хранению для отображенных данных и данных отбора отображения являются троекратными к требованиям для первоначальных данных. Выходные данные, где имеется код для использования в ΌΕ8, должны быть сохранены в этой форме для будущего использования, за исключением того, что корреляция отображений вывода между битами вывода, обусловленная относительно статичным отображениям 8-функции, должна быть снята с помощью отображения с приращением выходных данных с использованием свежего отбора отображения.The added complexity of second-order resistance, in addition to mappings applied to data that are external to the modified main cipher, is approximately tripling the number of actions excluding OR and replacing fixed 8-functions with mutually displayed inputs and outputs of 8-functions, including the use of unpredictable data. Externally, the data that you need to work with should not be replaced by the displayed value and display selection data and codes should be initially displayed and subsequently displayed and stored incrementally, including additional displayed data. In the example, the storage requirements for the displayed data and the display selection data are three times the requirements for the original data. The output, where there is code for use in ΌΕ8, must be saved in this form for future use, except that the correlation of the output mappings between the output bits, due to the relatively static mappings of the 8-function, must be removed using the output incrementing mapping data using fresh display selection.

Стоит отметить, что, пока 8-функция не рассматривается, различие между использованием селективно заблокированного значения данных и отображением данных отбора и множественных совместно используемых ресурсов - эквивалентных данных, которые необходимо объединить, используя алгоритм для определения первоначальных данных, - не явно очевидны. В частности, действия, выполняемые на данных отбора отображения до этой точки, являются сходными с теми, которые выполнены на отображенных данных. Однако для 8функций (и любых функций, не связанных с или более сложных, чем операция отображения) будет видно, что действия, примененные к данным отбора отображения, касаются отбора отображения и только косвенно действий алгоритма. В отображении ввода и вывода 8-функций манипуляция данных отбора отображения была совершенно отлична от добавления подобных действий на совместно используемых ресурсах, полученных из первоначальных данных.It is worth noting that while the 8-function is not considered, the difference between using a selectively blocked data value and displaying selection data and multiple shared resources - equivalent data that must be combined using an algorithm to determine the initial data - is not obvious. In particular, the actions performed on the display selection data up to this point are similar to those performed on the displayed data. However, for 8 functions (and any functions not related to or more complex than the mapping operation), it will be seen that the actions applied to the mapping selection data relate to the mapping selection and only indirectly the actions of the algorithm. In the mapping of input and output of 8-functions, the manipulation of display selection data was completely different from adding similar actions on shared resources obtained from the original data.

ПреимуществаBenefits

Метод увеличивает порядок атаки ΌΡΆ (по существу, число моментов в наблюдаемом сигнале, которые должны быть объединены для того, чтобы извлечь любые первоначальные данные). Это делает требуемую атаку более усложненной и затрудненной.The method increases the order of attack ΌΡΆ (essentially, the number of moments in the observed signal that must be combined in order to extract any initial data). This makes the required attack more complicated and difficult.

В расширение прежде существующей концепции селективной блокировки ко всем (или, по крайней мере, большинству) возможным отображениям, которые позволяют основной операции оставаться неизмененной, задача нападавшего становится более трудной. Там, где по причинам экономии отбор отображения, использованного на одном наборе данных, связан с отбором отображения для другого набора данных, большее число возможных отображений могло бы делать такое упрощение приемлемым, при этом не приводя к чрезмерной утечке данных.As an extension of the previously existing concept of selective blocking to all (or at least most) possible mappings that allow the main operation to remain unchanged, the attacker's task becomes more difficult. Where, for reasons of economy, the selection of the mapping used on one data set is related to the selection of the mapping for another data set, a larger number of possible mappings could make such a simplification acceptable without leading to excessive data leakage.

Кроме того, число наблюдений, необходимых для извлечения первоначальных данных из побочного канала помех, может увеличиться значительно больше, чем это достижимо через экранирование аппаратных средств, при условии, что экранирование аппаратных средств достаточно хорошее. Это увеличение может привести к тому, что атаки даже высокого порядка ΌΡΆ окажутся неэффективными.In addition, the number of observations required to extract the initial data from the side interference channel can increase significantly more than is achievable through hardware shielding, provided that the hardware shielding is good enough. This increase may result in even high order attacks ΌΡΆ being ineffective.

И далее, хранение данных и требования по обработке не возросли настолько много, как в некоторых родственных схемах. Примером такой схемы может быть представление каждого информационного разряда как пары битов, первое значение, выбираемое случайным образом, и второе, являющееся первоначальным битом, когда первый бит нулевой, и его булевой инверсии, когда это единица (двоичное исключающее ИЛИ).And further, data storage and processing requirements have not grown as much as in some related schemes. An example of such a scheme can be a representation of each information bit as a pair of bits, the first value selected randomly and the second being the original bit when the first bit is zero, and its Boolean inversion when it is one (binary exclusive OR).

Более того, система, содержащая криптографический компонент, может остаться незатронутой (например, протоколы могут остаться неизмененными), хотя выбор шифра может быть оптимизирован для того, чтобы облегчить использование этой методики.Moreover, a system containing a cryptographic component may remain unaffected (for example, protocols may remain unchanged), although the choice of cipher can be optimized in order to facilitate the use of this technique.

Кроме этого, эта методика может применяться к симметричным (наличие единственного, совместно использованного кода) и асимметричным (наличие отдельных, но связанных между собой открытых и секретных кодов) шифрам.In addition, this technique can be applied to symmetric (the presence of a single, shared code) and asymmetric (the presence of separate, but interconnected open and secret codes) ciphers.

Вдобавок, эта методика может применяться вместе с другими методами для увеличения резистентности к ΌΡΆ, таким образом последовательно изменяя код при помощи комплексной функции координируемым образом, как при шифровании, так и расшифровке.In addition, this technique can be used together with other methods to increase resistance to ΌΡΆ, thus sequentially changing the code using a complex function in a coordinated manner, both during encryption and decryption.

Claims (12)

1. Способ обработки данных для снижения риска неуполномоченного доступа к данным, характеризующийся следующими шагами:1. A method of processing data to reduce the risk of unauthorized access to data, characterized by the following steps: (a) ввод начального секретного набора данных в процессор, включая возможное последующее повторение этого шага;(a) entering an initial secret data set into the processor, including the possible subsequent repetition of this step; (b) обеспечение процессора источником непредсказуемых данных;(b) providing the processor with a source of unpredictable data; (c) обеспечение процессора способом выбора отображений от первоначальных данных до отображенных данных, используя непредсказуемые данные (Ь), в котором отображенные данные позволяют осуществить вычисление первоначальных данных со знанием отображаемого отбора, но не позволяют вычислить любую часть первоначальных данных без знания отображаемого отбора;(c) providing the processor with a method of selecting mappings from the original data to the mapped data using unpredictable data (b), in which the mapped data allows the calculation of the original data with knowledge of the displayed selection, but does not allow any part of the original data to be calculated without knowledge of the displayed selection; (б) обеспечение процессора, по меньшей мере, одним алгоритмом для отображения начального секретного набора данных в отображенной форме;(b) providing the processor with at least one algorithm for displaying the initial secret data set in the displayed form; (е) первоначально отображение начального секретного набора данных (а) для хранения в отображенной форме при использовании отображений, как выбрано в (с);(e) initially displaying the initial secret data set (a) for storage in the displayed form when using the mappings, as selected in (c); (ί) изменение отображения данных применительно к любым данным от предшествующего отображения данных при помощи вторичного отображения, использующего непредсказуемую информацию (Ь);(ί) a change in the display of data with respect to any data from a previous display of data using a secondary display using unpredictable information (b); (д) отображение входящих данных для ввода в модифицированный алгоритм реализации, использующее отображения, как выбрано в (с); и (11) изменение алгоритма реализации для управления отображенными данными, выбранными из отображенных данных на шаге (е), шаге (ί), шаге (д), или отображенными выходными данными измененного алгоритма на шаге (1) таким образом, чтобы выходные данные являлись отображенными данными, из которых можно получить выходные данные первоначального алгоритма, работающего на данных первичного ввода со знанием использованных отборов отображения, в которых измененные оригинальные данные выполнения алгоритма заменены отображенными данными и которые включают отображения и/или поисковые таблицы, которые являются производными от выбранных отображений и любых первоначальных поисковых таблиц;(e) mapping input data for input into a modified implementation algorithm using mappings as selected in (c); and (11) changing the implementation algorithm to control the displayed data selected from the displayed data in step (e), step (ί), step (e), or the displayed output of the modified algorithm in step (1) so that the output is mapped data from which it is possible to obtain the output of the original algorithm working on primary input data with knowledge of the used display selections, in which the modified original algorithm execution data is replaced by the mapped data and which include read mappings and / or search tables that are derived from the selected mappings and any initial search tables; (ί) когда требуются первоначальные выходные данные, инвертирование отображения применимо к выходным данным от видоизмененного алгоритма, чтобы вывести первоначальные выходные данные.(ί) when the initial output is required, the inverse of the mapping is applicable to the output from the modified algorithm to output the original output. 2. Способ обработки данных по п.1, характеризующийся тем, что набор секретных данных шага (а) является криптографическим кодом.2. The data processing method according to claim 1, characterized in that the set of secret data of step (a) is a cryptographic code. 3. Способ обработки данных по любому из предшествующих пунктов, характеризующийся тем, что отображение данных и/или вторичное отображение данных находятся в форме алгоритма с данными выбранного отображения или с параметрами.3. A method of processing data according to any one of the preceding paragraphs, characterized in that the data display and / or secondary data display are in the form of an algorithm with the data of the selected display or with parameters. 4. Способ обработки данных по любому из предшествующих пунктов, характеризующийся тем, что отображенные данные передаются на отдаленное месторасположение.4. A method of processing data according to any one of the preceding paragraphs, characterized in that the displayed data is transmitted to a remote location. 5. Способ обработки данных по любому из предшествующих пунктов, характеризующийся тем, что отображения выполнены посредством отображения, выбранного от набора отображений таким образом, что когда входные операнды заменены при использовании выбранных отображений, то первоначальные выходные данные могут быть выведены из получающихся при этом выходных данных с использованием отображения, полученного от входных отображений.5. A method of processing data according to any one of the preceding paragraphs, characterized in that the mappings are performed by means of a mappings selected from a set of mappings so that when the input operands are replaced using the selected mappings, the initial output can be derived from the resulting output using the mapping obtained from the input mappings. 6. Способ обработки данных по п.5, характеризующийся тем, что для любого операнда набор всех входных отображений может быть определен от отображения вывода.6. The data processing method according to claim 5, characterized in that for any operand the set of all input mappings can be determined from the output mapping. 7. Способ обработки данных по любому из предшествующих пунктов, характеризующийся тем, что операцией первоначального алгоритма является сложение по модулю т, описанному как х+у=/ (тоб т), и соответствующая операция, использованная в видоизмененном алгоритме, должна остаться такой же самой, в то время как разрешенные отображения описаны с помощью х,=а,х+Ь| (тоб т), у^у+с, (тоб т), и ζ,Ξΐι,ζ+^+μ (тоб т), в котором отображение а1 является любым числом, которое является взаимно простым с т, при условии, что а1 не равно 1.7. A method of processing data according to any one of the preceding paragraphs, characterized in that the operation of the original algorithm is addition modulo m, described as x + y = / (tob), and the corresponding operation used in the modified algorithm should remain the same , while the allowed mappings are described by x, = a, x + b | (tobt), y ^ y + c, (tobt), and ζ, Ξΐι, ζ + ^ + μ (tobt), in which the mapping a 1 is any number that is coprime with m, provided that a 1 is not equal to 1. 8. Способ обработки данных по любому из предшествующих пунктов, характеризующийся тем, что операция первоначального алгоритма соответствует умножению по модулю т, описанному ху=ζ (тоб т), и соответствующая операция, использованная в видоизмененном коде, состоит в том, чтобы код остался таким же самым, и где разрешенные отображения описаны х11ха1 (тоб т), у^су” (тоб т) и ζ^βζ” (тоб т), в котором а1-отображение является любым номером, взаимно простым с ф(т), которая является т-функцией Эйлера, а Ь1 и с1 являются любыми числами, взаимно простыми с т.8. A method of processing data according to any one of the preceding paragraphs, characterized in that the operation of the original algorithm corresponds to a multiplication modulo m described by xy = ζ (tob), and the corresponding operation used in the modified code is to keep the code such in the same way, and where the allowed mappings are described by x 1 = b 1 x a1 (tob), y ^ su ”(tob) and ζ ^ βζ” (tob), in which a 1 -mapping is any number coprime with φ (τ), which is the Euler t-function, and b 1 and c 1 are any numbers coprime to t 9. Способ обработки данных по любому из предшествующих пп. 1-6, характеризующийся тем, что операция алгоритма соответствует добавлению двух векторов из η компонентов по полю Ζ2.9. The method of processing data according to any one of the preceding paragraphs. 1-6, characterized in that the operation of the algorithm corresponds to the addition of two vectors of η components in the field Ζ 2 . 10. Способ обработки данных по любому из предшествующих пунктов, характеризующийся тем, что алгоритм включает в себя использование унарных операторов.10. A method of processing data according to any one of the preceding paragraphs, characterized in that the algorithm includes the use of unary operators. 11. Способ обработки данных по любому из предшествующих пунктов, характеризующийся тем, что данные скрывают через изменение отображения некоторых или всех обрабатываемых данных через отображенную форму для вычисления и/или хранения.11. A method of processing data according to any one of the preceding paragraphs, characterized in that the data is hidden by changing the display of some or all of the processed data through the displayed form for calculation and / or storage. 12. Компьютерная система для обработки данных для снижения риска неуполномоченного доступа к данным, характеризующаяся тем, что процессор обеспечен средствами для (ί) применения измененного алгоритма к входным данным, использующим отображенный криптографический код, чтобы генерировать выходные данные, в которых измененный алгоритм вычисления первоначальных данных заменен отображенными данными, который включает отображения и/или поисковые таблицы, которые являются производными выбранных отображений и любых первоначальных поисковых таблиц, и (й) изменения отображения данных отображенного криптографического кода от предшествующего отображения данных при использовании вторичного отображения, и (ш) хранения информации для сохранения криптографического кода в отображенной форме.12. A computer system for processing data to reduce the risk of unauthorized access to data, characterized in that the processor is provided with means for (ί) applying the modified algorithm to the input data using the displayed cryptographic code to generate output data in which the modified algorithm for calculating the initial data replaced by displayed data, which includes mappings and / or lookup tables that are derived from selected mappings and any initial search ABLE, and (d) changes the display data displayed cryptographic code on the preceding display data by using the secondary display, and (iii) storing information for storing the cryptographic code mapped form.
EA200200468A 1999-10-25 2000-10-19 Method for making data processing resistant to extraction of data by analysis of unintended side-channel signals EA003874B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16104799P 1999-10-25 1999-10-25
PCT/ZA2000/000192 WO2001031422A2 (en) 1999-10-25 2000-10-19 Method for protection against analysis of unintended side-channel signals

Publications (2)

Publication Number Publication Date
EA200200468A1 EA200200468A1 (en) 2002-10-31
EA003874B1 true EA003874B1 (en) 2003-10-30

Family

ID=22579586

Family Applications (1)

Application Number Title Priority Date Filing Date
EA200200468A EA003874B1 (en) 1999-10-25 2000-10-19 Method for making data processing resistant to extraction of data by analysis of unintended side-channel signals

Country Status (8)

Country Link
EP (1) EP1226681A2 (en)
JP (1) JP2003513490A (en)
CN (1) CN1413398A (en)
AU (1) AU773982B2 (en)
CA (1) CA2388971A1 (en)
EA (1) EA003874B1 (en)
WO (1) WO2001031422A2 (en)
ZA (1) ZA200202798B (en)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7142670B2 (en) * 2001-08-14 2006-11-28 International Business Machines Corporation Space-efficient, side-channel attack resistant table lookups
US8582774B2 (en) * 2002-03-07 2013-11-12 Gemalto Sa Method for making safe an electronic cryptography assembly with a secret key
FR2842376B1 (en) * 2002-07-10 2004-09-24 Somfy SELECTIVE COMMUNICATION BETWEEN OBJECTS
EP1457858A1 (en) * 2003-03-14 2004-09-15 SCHLUMBERGER Systèmes Method for securing an electronic system comprising a cryptoprocessor
DE10341096A1 (en) * 2003-09-05 2005-03-31 Giesecke & Devrient Gmbh Transition between masked representations of a value in cryptographic calculations
US7620182B2 (en) * 2003-11-13 2009-11-17 Magiq Technologies, Inc. QKD with classical bit encryption
KR101061906B1 (en) * 2004-02-19 2011-09-02 삼성전자주식회사 Basic Computing Device and Method Safe for Power Analysis Attack
EP1596278A1 (en) * 2004-05-11 2005-11-16 Axalto SA Method to protect a cryptographic unit through homographic masking
FR2873523B1 (en) * 2004-07-22 2007-08-10 Sagem METHOD AND DEVICE FOR PERFORMING A CRYPTOGRAPHIC CALCULATION
DE102004043243A1 (en) * 2004-09-07 2006-03-23 Comvenient Gmbh & Co. Kg Method for protecting keys
EP1646174A1 (en) * 2004-10-07 2006-04-12 Axalto SA Method and apparatus for generating cryptographic sets of instructions automatically and code generation
KR101226167B1 (en) * 2004-10-28 2013-01-24 이르데토 코포레이트 비.브이. Method and system for obfuscating a cryptographic function
JP2008181225A (en) * 2007-01-23 2008-08-07 Toshiba Corp Ic card
JP2011514091A (en) * 2008-03-05 2011-04-28 イルデト・ビー・ヴイ Cryptosystem
EP2525298B1 (en) * 2011-05-17 2016-07-13 Nxp B.V. Authentication method
EP2620890A1 (en) * 2012-01-25 2013-07-31 Gemalto SA Method for detecting a fault injected in hardware registers of an electronic device
DE102012018924A1 (en) 2012-09-25 2014-03-27 Giesecke & Devrient Gmbh Side channel protected masking
US9009495B2 (en) 2013-06-28 2015-04-14 Envieta, LLC High speed cryptographic combining system, and method for programmable logic devices
JP6264935B2 (en) * 2014-02-24 2018-01-24 大日本印刷株式会社 Authentication method for information processing apparatus
CN104104587B (en) * 2014-04-18 2017-12-26 天津大学 A kind of rear uniformity analysis method of certified mail protocols
CN105757878B (en) * 2016-02-19 2018-07-27 广东美的暖通设备有限公司 The encoding and decoding method, apparatus and air conditioner of communication data

Also Published As

Publication number Publication date
EP1226681A2 (en) 2002-07-31
EA200200468A1 (en) 2002-10-31
JP2003513490A (en) 2003-04-08
ZA200202798B (en) 2003-09-23
CA2388971A1 (en) 2001-05-03
WO2001031422B1 (en) 2002-01-10
AU2301401A (en) 2001-05-08
AU773982B2 (en) 2004-06-10
WO2001031422A3 (en) 2001-12-13
CN1413398A (en) 2003-04-23
WO2001031422A2 (en) 2001-05-03

Similar Documents

Publication Publication Date Title
EA003874B1 (en) Method for making data processing resistant to extraction of data by analysis of unintended side-channel signals
CA2333095C (en) Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems
KR102539111B1 (en) Block cryptographic method for encrypting/decrypting messages and cryptographic devices for implementing this method
Kanso et al. A novel image encryption algorithm based on a 3D chaotic map
Adams et al. The structured design of cryptographically good S-boxes
RU2711193C2 (en) Cryptographic device adapted to calculate target block cipher
CA2749961C (en) Cryptography circuit protected against observation attacks, in particular of a high order
US8000473B2 (en) Method and apparatus for generating cryptographic sets of instructions automatically and code generator
JP2005510095A (en) Apparatus and method for reducing information leakage
KR100834096B1 (en) Aria encryption method for countermeasuring higher order dpa
Shah et al. A novel efficient image encryption algorithm based on affine transformation combine with linear fractional transformation
KR100574965B1 (en) Finite field multiplier
Saha et al. White-box cryptography based data encryption-decryption scheme for iot environment
Brier et al. Fast primitives for internal data scrambling in tamper resistant hardware
JP2004310752A (en) Error detection in data processor
Nissar et al. Implementation of security enhancement in AES by inducting dynamicity in AES s-box
Arribas et al. Guards in action: First-order SCA secure implementations of KETJE without additional randomness
KR20190049875A (en) How to respond to DCA attacks of degree 2 or higher in table-based implementations
Ullagaddi et al. Symmetric synchronous stream encryption using images
Fu et al. Medical image protection using hyperchaos-based encryption
Assafli et al. The Evaluation of Time-Dependent Initialization Vector Advanced Encryption Standard Algorithm for Image Encryption
Mokhnache Implémentation d’algorithmes avancés de traitement de l’information dédiés au cryptage et à la cryptanalyse
Won et al. Novel Leakage Against Realistic Masking and Shuffling Countermeasures: Case Study on PRINCE and SEED
Shiba et al. Cubicle: A family of space‐hard ciphers for IoT
Fu et al. A new fast chaos-based image cipher with a novel permuatation approach

Legal Events

Date Code Title Description
MM4A Lapse of a eurasian patent due to non-payment of renewal fees within the time limit in the following designated state(s)

Designated state(s): AM AZ BY KZ KG MD TJ TM

MM4A Lapse of a eurasian patent due to non-payment of renewal fees within the time limit in the following designated state(s)

Designated state(s): RU