JP2003524916A - Encoding method for performing cryptographic processing - Google Patents

Encoding method for performing cryptographic processing

Info

Publication number
JP2003524916A
JP2003524916A JP2000573037A JP2000573037A JP2003524916A JP 2003524916 A JP2003524916 A JP 2003524916A JP 2000573037 A JP2000573037 A JP 2000573037A JP 2000573037 A JP2000573037 A JP 2000573037A JP 2003524916 A JP2003524916 A JP 2003524916A
Authority
JP
Japan
Prior art keywords
bit
sub
data
cryptographic
encryption
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
JP2000573037A
Other languages
Japanese (ja)
Inventor
ステファン、フィリップ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Philips Electronics NV
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
Priority claimed from DE19936918A external-priority patent/DE19936918A1/en
Application filed by Philips Electronics NV filed Critical Philips Electronics NV
Publication of JP2003524916A publication Critical patent/JP2003524916A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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]
    • 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
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7233Masking, e.g. (A**e)+r mod n
    • 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/08Randomization, e.g. dummy operations or using noise

Abstract

(57)【要約】 本発明は符号化方法および符号化装置に関するものである。データビットワードとしてデジタル的に蓄積されているデータx、kにより少なくとも1つの暗号処理y=f(x,k)が実行され、結果または中間結果yがデータビットワードとしてデジタル的に蓄積されまたは一時的に蓄積される。選択により、データxと、kと、結果または少なくとも1つの中間結果yとの少なくとも1つを、乱数に基づいた制御信号rに従ってビットごとに補数/x、/k、および/yの少なくとも1つを演算するか否かする。 (57) [Summary] The present invention relates to an encoding method and an encoding device. Data x i that is digitally stored as data bit words, at least one of the encryption processing by k i y i = f i ( x i, k i) is executed, the result or an intermediate result y i as the data bit words Stored digitally or temporarily. Optionally, at least one of the data x i , k i and the result or at least one intermediate result y i are complemented bit by bit according to a random number-based control signal r i / x i , / k i , and / y Determines whether to compute at least one of i .

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【技術分野】技術分野 本発明は、特許請求の範囲の請求項1の導入部に開示されている、少なくとも
1つの暗号サブ処理(sub−operation)y=f(x,k
を、データビットワードとしてデジタル的に記憶されているデータx、k
対して実行し、関連する結果または中間結果yをデータビットワードとしてデ
ジタル的に記憶またはバッファリングする暗号化方法に関するものである。また
本発明は、請求項8の導入部に開示されている暗号装置に関するものである。こ
の暗号装置はプロセッサとレジスタRを含み、プロセッサはレジスタRにデ
ータビットワードとしてデジタル的に記憶されているオペランドx、kに対
して少なくとも1つの暗号サブ演算y= f(x,k)を実行し、関連
する結果または中間結果yをデータビットワードとしてレジスタRにデジタ
ル的に記憶またはバッファリングする。
TECHNICAL FIELD The present invention is disclosed in the introductory part of claim 1 of the appended claims, wherein at least one crypto-sub-operation y i = f i (x i , k i ).
To the data x i , k i which are stored digitally as data bit words, and digitally store or buffer the associated result or intermediate result y i as data bit words. It is a thing. The present invention also relates to the encryption device disclosed in the introduction section of claim 8. The cryptographic device comprises a processor and a register R i , which for the operands x i , k i digitally stored as data bit words in the register R i has at least one cryptographic sub-operation y i = f i ( x i , k i ) and digitally store or buffer the associated or intermediate result y i as a data bit word in register R i .

【0002】[0002]

【従来の技術】技術の現状 暗号演算は、データ処理装置の動作、または装置内を送られるデータを保護す
るように、多くのデータ処理装置において実行される。この目的のために求めら
れる算術演算は標準プロセッサおよび専用暗号プロセッサにより行われる。後者
のプロセッサの典型的な例がチップカードまたはICカードにより形成されてい
る。図1に示すように、そのような暗号計算のために、オペランドがx、k であるデータ処理装置の関連する蓄積部すなわちレジスタを初期化することがし
ばしば必要である。i番目の計算中に、中間結果yが蓄積部すなわちレジスタ
におそらく蓄積され、またはその後で計算結果が別の処理のための蓄積部す
なわちレジスタに蓄積される。レジスタRは先行するi番目の暗号計算と引き
続く(i+1)番目の暗号計算との間に位置している。この状況で用いられるデ
ータx、kまたは中間結果yは、たとえば、暗号鍵またはオペランドなど
の安全に関連する情報を通例構成する。
Current cryptographic computation of the Prior Art technique, so as to protect the operation of the data processing device, or the data sent to the device, is executed in a number of data processing devices. The arithmetic operations required for this purpose are performed by standard processors and dedicated cryptographic processors. A typical example of the latter processor is formed by a chip card or an IC card. As shown in FIG. 1, for such cryptographic calculations, it is often necessary to initialize the associated store or register of the data processor whose operands are x i , k i . During the i th calculation, the intermediate result y i is probably stored in a store or register R i , or afterwards the calculation result is stored in a store or register for another process. The register R i is located between the preceding i-th cryptographic calculation and the subsequent (i + 1) -th cryptographic calculation. The data x i , k i or the intermediate result y i used in this context typically constitute security-related information such as, for example, cryptographic keys or operands.

【0003】 暗号アルゴリズムを計算するために、データ処理装置はオペランドkまたは
中間値yまたはx、xi+1の論理組合わせを形成する。使用する技術に応
じて、その処理、とくに蓄積部またはレジスタへのデータのローディング、によ
ってデータ処理装置の電流消費が増加することになる。相補論理、たとえば、C
MOS、の場合には、ビット蓄積セルの値が変化するとき、すなわち、その値が
「0」から「1」へまたは「1」から「0」へ変化するとき、電流消費の増加が
起きる。そうするとこの消費増加はメモリまたはレジスタ内での変化したビット
位置の数に依存する。いいかえると、予め消去されたレジスタのローディングは
、オペランドのハミング重さ(=値「1」を持つビットの数)またはハミング重
さにおける数に比例する電流消費増加を生じさせる。電流変化の解析によって実
行された演算に関する情報の取り出しを可能にし、したがって、たとえば、暗号
鍵などの秘密オペランドの暗号解析を成功可能にする。たとえば、非常に小さい
信号変化の場合には、データ処理装置について複数の電流測定を行うことにより
適切な情報を取り出すことができる。他方、複数の測定はおそらく求められてい
る微分も可能にできるこの種の暗号解析は「微分電力解析(Different
ial Power Analysis)」とも呼ばれており、これにより部外
者が暗号作業、暗号アルゴリズム、暗号オペランドまたは暗号データのおそらく
無許可解析を、データ処理装置の電流消費の変化を観察するだけで実行に成功で
きる。
To calculate the cryptographic algorithm, the data processor forms a logical combination of operands k i or intermediate values y i or x i , x i + 1 . Depending on the technology used, the processing, in particular the loading of data into the storage or registers, will increase the current consumption of the data processing device. Complementary logic, eg C
In the case of MOS, an increase in current consumption occurs when the value of the bit storage cell changes, that is, when its value changes from "0" to "1" or from "1" to "0". This increase in consumption then depends on the number of changed bit positions in the memory or register. In other words, pre-erased register loading causes a current consumption increase proportional to the Hamming weight of the operand (= the number of bits with the value "1") or the number in the Hamming weight. The analysis of the current changes enables the retrieval of information about the operations performed and thus the successful cryptographic analysis of secret operands, such as cryptographic keys. For example, in the case of very small signal changes, multiple current measurements can be made on the data processing device to retrieve the appropriate information. On the other hand, this kind of cryptographic analysis, in which multiple measurements can possibly also enable the required differentiation, is called "differential power analysis (Different
Also known as "ial Power Analysis", this allows outsiders to perform cryptographic work, cryptographic algorithms, cryptographic operands or possibly unauthorized parsing of cryptographic data simply by observing changes in current consumption of the data processing device. I can succeed.

【0004】 米国特許第5,297,201号から、高周波放射コンピュータに、そのコン
ピュータと同様な高周波をまた放射する装置を組合わせることが知られている。
その結果、許可を受けていない第三者はコンピュータにより放射された高周波を
もはや復号できない。しかし、このシステムはコンピュータに直接アクセスする
第三者による暗号解析を阻止できない。
From US Pat. No. 5,297,201, it is known to combine a radio frequency emitting computer with a device which also emits radio frequencies similar to that computer.
As a result, unauthorized third parties can no longer decode the high frequencies emitted by the computer. However, this system cannot prevent cryptographic analysis by a third party who directly accesses the computer.

【0005】 暗号処理の結果の出力または暗号処理についての鍵情報の転送と暗号処理自体
との間のチップカードにおける相関を解消するために、日本特許公開10−06
9222号公報の要約から、暗号処理の結果または暗号処理についての鍵情報の
転送を遅延させることが知られている。しかし、このシステムは微分電力解析に
より解析することもできる。その理由は、遅延させられたデータ転送もデータ処
理装置の電流消費において明らかとなる。
In order to eliminate the correlation in the chip card between the output of the result of the cryptographic processing or the transfer of the key information for the cryptographic processing and the cryptographic processing itself, Japanese Patent Publication No. 10-06.
From the abstract of Japanese Patent No. 9222, it is known to delay the transfer of the result of the cryptographic process or the key information for the cryptographic process. However, this system can also be analyzed by differential power analysis. The reason becomes clear in the current consumption of the data processing device even for the delayed data transfer.

【0006】[0006]

【発明が解決しようとする課題】[Problems to be Solved by the Invention]

本発明の目的は、説明した諸欠点を解消し、データ処理装置の電流消費の観察
による暗号解析を阻止する前述した種類の改良した方法および改良した装置を得
ることである。
It is an object of the present invention to overcome the drawbacks described and to obtain an improved method and an improved device of the type described which prevents cryptographic analysis by observing the current consumption of a data processing device.

【0007】[0007]

【課題を解決するための手段】[Means for Solving the Problems]

この目的は特許請求の範囲の請求項1に開示されているように特徴づけられた
種類の方法により達成される。
This object is achieved by a method of the kind characterized as disclosed in claim 1 of the appended claims.

【0008】 このために、本発明によれば、選択により、データx、kと、結果または
少なくとも1つの中間結果yとの少なくとも1方を、乱数を基にしている制御
信号rに依存して補数演算を行い、/y=f(/x,/k)およびまたは/y を求めるか否かが行われる。
[0008]   To this end, according to the invention, the data xi, KiAnd the result or
At least one intermediate result yiControl based on at least one of
Signal riComplementary calculation is performed depending on / y = f (/ xi, / Ki) And / or / y i Or not is performed.

【0009】 これによって、他のビット列が処理され、または同じ暗号処理の繰り返し実行
の場合には蓄積され、したがって、暗号処理またはいくつかの暗号処理のそれぞ
れの実行がデータ処理装置における種々の電流変化を生ずる。サブ結果(sub
−results)の実際の値とは無関係に、全体の計算の繰り返し実行の場合
には、各データ経路が、純粋な乱数列の場合に「0」から「0」へ、「0」から
「1」へ、「1」から「0」へおよび「1」から「1」へ、同じ回数変化し、ま
たは疑似乱数列の場合には実際上同じ回数変化する。しかし、乱数を基にした制
御信号rは知られていないか、予め定められていないために、電流変化とデー
タおよび結果のビット値との間には相関は存在せず、したがって、微分電力解析
はもはや暗号解析を成功させることはない。いいかえると、全体の装置の平均電
流消費は、サブオペランドまたはサブ処理において使用される中間結果に関する
有用な情報を含まない。
This allows other bit sequences to be processed or, in the case of repeated executions of the same cryptographic process, therefore each cryptographic process or each execution of several cryptographic processes is subject to different current changes in the data processing device. Cause Sub result (sub
Irrespective of the actual value of -results), in the case of iterative execution of the whole calculation, each data path is from "0" to "0", from "0" to "1" if it is a pure sequence of random numbers. , "1" to "0" and "1" to "1" the same number of times, or in the case of a pseudo-random number sequence, the same number of changes in practice. However, since the control signal r i based on random numbers is unknown or not predetermined, there is no correlation between the current change and the data and the resulting bit value, and therefore the differential power Parsing no longer makes cryptanalysis successful. In other words, the average current consumption of the entire device does not contain useful information about intermediate results used in sub-operands or sub-processes.

【0010】 この方法の有利な別の別の面が請求項2乃至7に開示されている。[0010]   Further advantageous further aspects of this method are disclosed in claims 2-7.

【0011】 1つまたは複数のXOR組合わせ(排他的論理和組合わせ)を形成することが
好ましい。
It is preferable to form one or more XOR combinations (exclusive OR combinations).

【0012】 データは、たとえば、暗号鍵とオペランドの少なくとも一方を含む。[0012]   The data includes, for example, at least one of an encryption key and an operand.

【0013】 好適には、中間結果yを、引き続く暗号サブ処理の実行の間でレジスタR においてバッファリングし、かつ以後の暗号サブ処理のためのオペランドxi+ として使用する。The intermediate result y i is preferably buffered in the register R i during the execution of the subsequent cryptographic sub-processing and used as the operand x i + 1 for the subsequent cryptographic sub-processing.

【0014】 各サブ処理の後で反転されていない元の値を形成するために、先行するサブ処
理iのデータx、kがビットごとに補数をとられたならば、先行するサブ処
理iの中間結果yから取り出したビット列xi+1=yの補数をビットごと
にとって/xi+1にする。
If the data x i , k i of the preceding sub-processing i were bit-wise complemented to form the original value which was not inverted after each sub-processing, the preceding sub-processing The complement of the bit string x i + 1 = y i extracted from the intermediate result y i of i is set to / x i + 1 for each bit.

【0015】 とくに有利な面では、ビットごとの補数処理中にデータビットワードx、k またはyの少なくとも1つのビット値、とくに偶数ビット値、奇数ビット値
、または全てのビット値を反転する。そうすると、データビットワードx、k またはyのビット値またはビットアドレスを、ビットごとの補数処理中に、
XOR 演算(EXCLUSIVE OR演算)により反転することがとくに有
利である。
[0015]   In a particularly advantageous way, the data bit word xi, K i Or yiAt least one bit value of, especially even and odd bit values
, Or invert all bit values. Then the data bit word xi, K i Or yiBit value or bit address of
It is especially possible to invert by an XOR operation (EXCLUSIVE OR operation).
It is profitable.

【0016】 本発明による前述した装置は、制御信号により制御でき、かつデータx、k と、結果または少なくとも1つの中間結果yとの少なくとも1方に対して働
きかける少なくとも1つのインバータと、乱数を発生する乱数発生器と、乱数に
基づいて制御信号rを発生する装置とを備え、上記制御可能なインバータは、
制御信号rに依存して、ビット列x、kまたはyをそれぞれビットごと
に補数化し、補数値/x、/kおよび/yを得るかまたはそれらを不変のま
まにする。
[0016]   The above-mentioned device according to the invention can be controlled by a control signal and the data xi, K i And the result or at least one intermediate result yiWork for at least one of
At least one inverter that triggers, a random number generator that generates random numbers, and a random number
Based on the control signal riAnd a device for generating the
Control signal riDepending on the bit string xi, KiOr yiFor each bit
Is complemented toi, / KiAnd / yiOr keep them immutable
I will do it.

【0017】 これによって、同じ暗号処理の場合に他のビット列が処理または蓄積され、し
たがって、暗号処理または複数の暗号処理のそれぞれの実行中にデータ処理装置
内で他の電流変化が起きる、という利点がもたらされる。サブ結果の実際の値と
は無関係に、全体の計算の繰り返し実行の場合には、各データ経路が、純粋な乱
数列の場合に「0」から「0」へ、「0」から「1」へ、「1」から「0」へお
よび「1」から「1」へ、同じ回数変化し、または疑似乱数列の場合には実際上
同じ回数変化する。しかし、乱数を基にした制御信号rは知られていないか、
予め定められていないために、電流変化とデータおよび結果のビット値との間に
は相関は存在せず、したがって、微分パワー解析はもはや暗号解析を成功させる
ことはない。いいかえると、全体の装置の平均電流消費は、サブオペランド(s
ub−operands)またはサブ処理において使用される中間結果に関する
有用な情報を含まない。
This has the advantage that other bit sequences are processed or stored in the case of the same cryptographic process, and thus other current changes occur in the data processing device during each execution of the cryptographic process or multiple cryptographic processes. Is brought about. Irrespective of the actual value of the sub-result, in the case of repeated execution of the whole calculation, each data path is "0" to "0", "0" to "1" in the case of a pure random number sequence. , From "1" to "0" and from "1" to "1" the same number of times, or in the case of a pseudo-random number sequence, the same number of changes in practice. However, whether the control signal r i based on random numbers is known,
Since it is not predetermined, there is no correlation between the current change and the data and the resulting bit value, and thus the differential power analysis no longer makes a successful cryptographic analysis. In other words, the average current consumption of the whole device is
ub-operands) or sub-processing does not contain useful information about intermediate results.

【0018】 この装置の有利な別の実施例が請求項9乃至14に記載されている。[0018]   Further advantageous embodiments of this device are described in claims 9-14.

【0019】 好適な実施例では、少なくとも1つのレジスタRに、i番目のサブ処理に先
行するデータx、kに対するインバータと同じ制御信号を受けるインバータ
が続く。i番目のサブ処理のレジスタRiに続くインバータが、後の(i+1)
番目のサブ処理に先行する入力データxi+1のためのインバータに組合わされ
ることが好ましい。組合わされたインバータは先行するi番目のサブ処理の制御
信号rと、後の(i+1)番目のサブ処理の制御信号ri+1を受けることが
好ましい。
In the preferred embodiment, at least one register R i is followed by an inverter which receives the same control signals as the inverter for the data x i , k i preceding the i th sub-process. The inverter following the register Ri of the i-th sub-process is
It is preferably combined with an inverter for the input data x i + 1 preceding the th sub-process. It is preferred that the combined inverters receiving a control signal r i of the i-th sub-processing the preceding, after the control signal r i + 1 of the (i + 1) th sub-process.

【0020】 データは、たとえば、暗号鍵とオペランドの少なくとも1方を含む。[0020]   The data includes, for example, at least one of an encryption key and an operand.

【0021】 好適な実施例では、先行するi番目のサブ処理と後の(i+1)番目のサブ処
理との間でレジスタRが、先行するi番目のサブ処理の中間結果yを蓄積し
、この中間結果を入力値xi+1として次のサブ処理へ送る。
In the preferred embodiment, a register R i stores the intermediate result y i of the preceding i th sub-process between the preceding i th sub-process and the subsequent (i + 1) th sub-process. , This intermediate result is sent to the next sub-process as the input value x i + 1 .

【0022】 ビットごとの補数をとる処理はデータビットワードx、kまたはyの少
なくとも1つのビット値、とくに偶数ビット値、奇数ビット値、または全てのビ
ット値を反転することが好ましい。
The bitwise complementing operation preferably inverts at least one bit value of the data bitwords x i , k i or y i , in particular even bit values, odd bit values or all bit values.

【0023】[0023]

【発明の実施の形態】発明の好適な実施 図2に示すように本発明の暗号方法の第1の好適な面では、全体的な暗号処理
は、それにおいて1つまたは複数の排他的論理和XOR(EXCLUSIVE
OR)組合わせが形成されるような一連のサブ処理f(x,k)によって
実行される。図は2つのサブ処理、すなわち、i番目のサブ処理10とi+1番
目のサブ処理12を示す。各サブ処理は算術ユニットにより実行される。各サブ
処理10、12の後に蓄積セルすなわちレジスタR14と蓄積セルすなわちレ
ジスタRi+116がそれぞれ続く。サブ処理10、12はそれの入力値として
データx、xi+1およびオペランドk、ki+1を有し、これらは、デー
タビットワードとしてりようできる。
In a first preferred aspect of the encryption method of the embodiment of the invention] As shown in the preferred embodiment Figure 2 The present invention, the overall cryptographic process, one or more exclusive in that XOR (EXCLUSIVE
OR) performed by a series of sub-processes f i (x i , k i ) such that a combination is formed. The figure shows two sub-processes, i-th sub-process 10 and i + 1-th sub-process 12. Each sub-process is executed by the arithmetic unit. Each sub-process 10, 12 is followed by a storage cell or register R i 14 and a storage cell or register R i + 1 16, respectively. Sub-processes 10, 12 have as their input values data x i , x i + 1 and operands k i , k i + 1, which may be data bit words.

【0024】 各サブ処理10、12の前にはデータx、xi+1のためのそれぞれの制御
可能なインバータ18、20と、オペランドk、ki+1のための制御可能な
インバータ22、24とがそれぞれ設けられている。更に、各サブ処理10、1
2に対して、関連するレジスタR14とRi+116の後に中間結果y、y i+1 のための制御可能なインバータ26、28が設けられている。前記中間結
果は関連するレジスタR14とRi+116によって後のサブ処理12へ入力
データx、xi+1としてそれぞれ伝えられる。インバータ18〜28は、選
択に応じて関連するデータビットワードに、関連する制御信号r、ri+1
応じて、ビットごとに補数をとるか否かを行うようにして、制御信号r、r +1 によりそれぞれ制御され得る。そうすると、サブ処理のそれぞれの全てのイ
ンバータ18、22、26および20、24、28は同じ制御信号r、および
i+1をそれぞれ受ける。いいかえると、インバータ18乃至28の関連する
入力値が実行されるか、入力値が処理されていない形でインバータ18乃至28
を伝わるかどうかについての判定が、追加の制御信号r、ri+1によりそれ
ぞれ行われる。サブ処理10と12の間でのレジスタ14、16のこの配置は、
サブ結果をバッファリングしなければならないように、サブ処理10、12が1
つの同じユニットにより所定時刻に逐次計算される時にとくに用いられる。
[0024]   Data x before each sub-processing 10, 12i, Xi + 1Each control for
Possible inverters 18, 20 and operand ki, Ki + 1Controllable for
Inverters 22 and 24 are provided respectively. Furthermore, each sub-process 10, 1
2 to the associated register Ri14 and Ri + 116 followed by intermediate result yi, Y i + 1 Controllable inverters 26, 28 are provided. Intermediate result
Fruit is related register Ri14 and Ri + 1Input to subsequent sub-processing 12 by 16
Data xi, Xi + 1Each is transmitted as. Inverters 18-28 are selected
The associated control signal r to the associated data bit word depending on the selectioni, Ri + 1To
In accordance with this, it is determined whether or not the complement is taken for each bit, and the control signal ri, Ri +1 Can be controlled respectively. Then all of the subprocess's
Inverters 18, 22, 26 and 20, 24, 28 have the same control signal ri,and
ri + 1Receive each. In other words, related to the inverters 18 to 28
The inverters 18 to 28 are executed in such a way that the input value is executed or the input value is not processed.
Of the additional control signal ri, Ri + 1By it
Each is done. This arrangement of registers 14, 16 between sub-processes 10 and 12 is
Sub-process 10, 12 is 1 so that sub-results must be buffered
It is especially used when it is calculated sequentially by two identical units at a given time.

【0025】 制御信号は、乱数の値に依存して、サブ処理が元の結果y=f(x,k)また
はビットが反転された結果/y=/f(/x,/k)を生ずるように、乱数発生器か
らのランダムな値により制御される。したがって、計算と、レジスタR14、
i+116へのデータの蓄積が、元の値またはビット反転された値により行わ
れる。したがって、全体の計算の繰り返し実行の場合には、各データ経路が、サ
ブ結果の実際の値とは無関係に、「0」から「0」へ、「0」から「1」へ、「
1」から「0」へおよび「1」から「1」へ、同じ回数変化することによりそれ
は達成される。したがって、全体の作業の平気電流消費は、サブ処理10、12
に含まれているサブオペランドkまたは中間結果yに関する有用な情報を含
まない。レジスタ14、16の後のインバータ26、28は再び次のサブ処理1
2のための元の、反転されていない値を再び回復する。
The control signal, depending on the value of the random number, the sub-process produces the original result y = f (x, k) or the bit-inverted result / y = / f (/ x, / k). Thus, it is controlled by a random value from a random number generator. Therefore, the calculation and the register R i 14,
The accumulation of data in R i + 1 16 is done with the original value or the bit-inverted value. Therefore, in the case of iterative execution of the whole calculation, each data path is converted from "0" to "0", "0" to "1", "irrespective of the actual value of the sub-result.
That is achieved by changing the same number of times from "1" to "0" and from "1" to "1". Therefore, the normal current consumption of the whole work is
Contains no useful information about the sub-operands k i or intermediate results y i contained in The inverters 26, 28 after the registers 14, 16 are again in the next subprocess 1
Regain the original, non-inverted value for 2.

【0026】 図3に示されている本発明の暗号方法の第2の好適な面は図2に示す第1の面
に一致し、唯一の違いはレジスタ14、16の後のインバータ26、28が、イ
ンバータ30を形成するように、次の段12のそれぞれのインバータ20に組合
わされていることである。
The second preferred aspect of the inventive cryptographic method shown in FIG. 3 corresponds to the first aspect shown in FIG. 2, the only difference being the inverters 26, 28 after the registers 14, 16. Are associated with each inverter 20 of the next stage 12 so as to form an inverter 30.

【0027】 それらのインバータは、たとえば、関連するデータビットワードのビット値の
一部のみを反転する。たとえば、偶数ビットワード、または奇数ビットワード、
あるいはビットアドレスのみが反転される。ビット値は、たとえば、排他的論理
和XOR(EXCLUSIVE OR)演算により反転される。
The inverters, for example, invert only part of the bit values of the associated data bit word. For example, even bit words, or odd bit words,
Alternatively, only the bit address is inverted. The bit value is inverted by, for example, an exclusive logical sum XOR (EXCLUSIVE OR) operation.

【図面の簡単な説明】[Brief description of drawings]

【図1】 現状の技術による暗号処理の一部を示す流れ図。[Figure 1]   The flowchart which shows a part of encryption process by the present technology.

【図2】 本発明の暗号処理の第1の好適な面の一部を示す流れ図。[Fig. 2]   6 is a flowchart showing a portion of the first preferred aspect of the cryptographic process of the present invention.

【図3】 本発明の暗号処理の第2の好適な面の一部を示す流れ図。[Figure 3]   6 is a flow chart showing a portion of a second preferred aspect of cryptographic processing of the present invention.

【符号の説明】[Explanation of symbols]

10 i番目のサブ処理 12 i+1番目のサブ処理 14 レジスタR 16 レジスタRi+1 18 xに対する制御可能なインバータ 20 xi+1に対する制御可能なインバータ 22 kに対する制御可能なインバータ 24 ki+1に対する制御可能なインバータ 26 yに対する制御可能なインバータ 28 yi+1に対する制御可能なインバータ 30 組合わされたインバータ10 i-th sub-process 12 i + 1 sub-process 14 Register R i 16 Register R i + 1 18 x i Controllable inverter 20 x i + 1 controllable inverter 22 k i Controllable inverter 24 k i + 1 controllable Inverter 26 y i controllable inverter 28 y i + 1 controllable inverter 30 combined inverter

───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),JP,US Fターム(参考) 5J104 AA47 JA04 NA02 ─────────────────────────────────────────────────── ─── Continued front page    (81) Designated countries EP (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, I T, LU, MC, NL, PT, SE), JP, US F-term (reference) 5J104 AA47 JA04 NA02

Claims (14)

【特許請求の範囲】[Claims] 【請求項1】 少なくとも1つの暗号サブ処理y=f(x,k)を、データビットワ
ードとしてデジタル的に記憶されているデータx、kに対して実行し、関連
する結果または中間結果yをデータビットワードとしてデジタル的に記憶また
はバッファリングする暗号化方法において、 選択によりデータxと、kと、結果または少なくとも1つの中間結果y との少なくとも1つを、乱数に基づいた制御信号rに依存してビットごとに補
数演算し、補数/x、/k、およびまたは/yを得るか否かを行うことを特
徴とする暗号化方法。
1. At least one cryptographic sub-processing y i = f i (x i , k i ) is performed on and associated with data x i , k i which are digitally stored as data bit words. An encryption method for digitally storing or buffering a result or an intermediate result y i as a data bit word, wherein at least one of the data x i , k i and the result or at least one intermediate result y i is selected. , An encryption method characterized by performing a complement operation for each bit depending on a control signal r i based on a random number to determine whether or not the complements / x i , / k i , and / y i are obtained.
【請求項2】 暗号サブ処理中に1つまたは複数の排他的論理和XOR(EXCLUSIVE
OR)組合わせが形成されることを特徴とする請求項1記載の暗号化方法。
2. One or more exclusive-or XORs (EXCLUSIVE) during cryptographic sub-processing.
An encryption method according to claim 1, characterized in that an OR combination is formed.
【請求項3】 データは暗号鍵とオペランドの少なくとも一方を含むことを特徴とする請求項
1または2記載の暗号化方法。
3. The encryption method according to claim 1, wherein the data includes at least one of an encryption key and an operand.
【請求項4】 中間結果yを、引き続く暗号サブ処理の実行の間でレジスタRにおいてバ
ッファリングし、かつ以後の暗号サブ処理のためのオペランドxi+1として使
用することを特徴とする請求項1乃至3のいずれかに記載の暗号化方法。
4. The intermediate result y i is buffered in a register R i between executions of subsequent cryptographic sub-processes and used as an operand x i + 1 for subsequent cryptographic sub-processes. 4. The encryption method according to any one of 1 to 3.
【請求項5】 前のサブ処理iのデータx、kがビットごとに補数をとられたならば、先
行するサブ処理iの中間結果yから導出したビット列xi+1=yの補数を
ビットごとにとって/xi+1にすることを特徴とする請求項1乃至4のいずれ
かに記載の暗号化方法。
5. The complement of the bit string x i + 1 = y i derived from the intermediate result y i of the preceding sub-process i, if the data x i , k i of the previous sub-process i are complemented bit by bit. 5. The encryption method according to any one of claims 1 to 4, wherein is set to / x i + 1 for each bit.
【請求項6】 ビットごとの補数処理中にデータビットワードx、kまたはyの少なく
とも1つのビット値、とくに偶数ビット値、奇数ビット値、または全てのビット
値を反転することを特徴とする請求項1乃至5のいずれかに記載の暗号化方法。
6. Inverting at least one bit value, in particular even bit value, odd bit value, or all bit values of a data bit word x i , k i or y i during bitwise complement processing. The encryption method according to any one of claims 1 to 5.
【請求項7】 データビットワードx、kまたはyのビット値またはビットアドレスを
、ビットごとの補数処理中に、排他的論理和演算XOR(EXCLUSIVE
OR演算)により反転することを特徴とする請求項1乃至6のいずれかに記載の
暗号化方法。
7. An exclusive-or operation XOR (EXCLUSIVE) of bit values or bit addresses of data bit words x i , k i or y i during bitwise complement processing.
7. The encryption method according to any one of claims 1 to 6, wherein the encryption is performed by an OR operation.
【請求項8】 プロセッサとレジスタRを含み、プロセッサは暗号装置のレジスタRにデ
ータビットワードとしてデジタル的に記憶されているオペランドx、kに対
して少なくとも1つの暗号サブ処理y=f(x,k)を実行し、関連す
る結果または中間結果yをデータビットワードとしてレジスタRにデジタル
的に記憶またはバッファリングする暗号化する暗号装置において、 制御信号により制御でき、かつデータxと、kと、結果または少なくとも
1つの中間結果yとの少なくとも1つに対して働きかける少なくとも1つのイ
ンバータと、乱数を発生する乱数発生機と、乱数を基にして制御信号rを発生
する装置とが設けられ、制御可能なインバータは、制御信号rに依存して、ビ
ット列x、kまたはyをそれぞれビットごとに補数化した値/x、/k および/yにするか、またはそれらを不変のままにすることを特徴とする暗号
装置。
8. A processor and a register R i , the processor comprising at least one cryptographic sub-process y i for operands x i , k i which are digitally stored as data bit words in a register R i of the cryptographic device. = F i (x i , k i ) and an associated cryptographic or cryptographic device that digitally stores or buffers the associated result or intermediate result y i as a data bit word in register R i , controlled by a control signal At least one inverter capable of operating on at least one of the data x i , k i and the result or at least one intermediate result y i , a random number generator for generating a random number, a device for generating a control signal r i is provided, controllable inverter, depending on the control signal r i, bit sequence x A cryptographic device, characterized in that each of i , k i or y i is a bit-wise complemented value / x i , / k i and / y i , or they remain unchanged.
【請求項9】 少なくとも1つのレジスタRに、i番目のサブ処理に先行するデータx
に対するインバータと同じ制御信号を受けるインバータが続くことを特徴と
する請求項8記載の暗号化装置。
9. at least one register R i, data x i that precedes the i-th sub-process,
9. An encryption device according to claim 8, characterized in that it is followed by an inverter receiving the same control signal as the inverter for k i .
【請求項10】 i番目のサブ処理に続くインバータが、後の(i+1)番目のサブ処理に先行
する入力データxi+1のためのインバータに組合わされることを特徴とする請
求項9記載の暗号化装置。
10. The cipher according to claim 9, characterized in that the inverter following the i th sub-process is combined with an inverter for the input data x i + 1 preceding the later (i + 1) th sub-process. Device.
【請求項11】 組合わされたインバータは、先行するi番目のサブ処理の制御信号rと、後
の(i+1)番目のサブ処理の制御信号ri+1を受けることを特徴とする請求
項10記載の暗号化装置。
11. combined inverters the prior control signal r i of the i-th sub-process of, after the (i + 1) -th claim 10, wherein the receiving the control signal r i + 1 sub-process Encryption device.
【請求項12】 データは暗号鍵とオペランドの少なくとも1つを含むことを特徴とする請求項
8乃至11のいずれかに記載の暗号化装置。
12. The encryption device according to claim 8, wherein the data includes at least one of an encryption key and an operand.
【請求項13】 先行するi番目のサブ処理と後の(i+1)番目のサブ処理との間でレジスタ
が先行するi番目のサブ処理の中間結果yを記憶し、この中間結果を入力
値xi+1として後のサブ処理へ送ることを特徴とする請求項8乃至12のいず
れかに記載の暗号化装置。
13. An intermediate result y i of the preceding i-th sub-process is stored by the register R i between the preceding i-th sub-process and the subsequent (i + 1) -th sub-process, and the intermediate result y i is stored. The encryption device according to any one of claims 8 to 12, wherein the encryption value is sent as an input value x i + 1 to a subsequent sub-process.
【請求項14】 ビットごとの補数をとる操作はデータビットワードx、kまたはyの少
なくとも1つのビット値、とくに偶数ビット値、奇数ビット値、または全てのビ
ット値を反転することを特徴とする請求項8乃至13のいずれかに記載の暗号化
装置。
14. The bitwise complement operation comprises inverting at least one bit value, in particular even bit value, odd bit value, or all bit values of a data bit word x i , k i or y i. The encryption device according to any one of claims 8 to 13, which is characterized in that.
JP2000573037A 1998-09-30 1999-09-17 Encoding method for performing cryptographic processing Withdrawn JP2003524916A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE19845095 1998-09-30
DE19845095.8 1998-09-30
DE19936918A DE19936918A1 (en) 1998-09-30 1999-08-05 Encryption method for performing cryptographic operations
DE19936918.6 1999-08-05
PCT/EP1999/007012 WO2000019656A1 (en) 1998-09-30 1999-09-17 Encoding method for carrying out cryptographic operations

Publications (1)

Publication Number Publication Date
JP2003524916A true JP2003524916A (en) 2003-08-19

Family

ID=26049210

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000573037A Withdrawn JP2003524916A (en) 1998-09-30 1999-09-17 Encoding method for performing cryptographic processing

Country Status (3)

Country Link
EP (1) EP1044533A1 (en)
JP (1) JP2003524916A (en)
WO (1) WO2000019656A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000182012A (en) * 1998-12-14 2000-06-30 Hitachi Ltd Information processor and end tamper processor

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760440B1 (en) * 1999-12-11 2004-07-06 Honeywell International Inc. One's complement cryptographic combiner
DE10139514A1 (en) 2001-08-10 2003-02-20 Bosch Gmbh Robert Transmission detector for window body, especially vehicle windscreen, has optics forming images of sections of body surface on detector whose maximum separation is comparable with free body aperture

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4176247A (en) * 1973-10-10 1979-11-27 Sperry Rand Corporation Signal scrambler-unscrambler for binary coded transmission system
US5091941A (en) * 1990-10-31 1992-02-25 Rose Communications, Inc. Secure voice data transmission system
US5297201A (en) 1992-10-13 1994-03-22 J.D. Technologies, Inc. System for preventing remote detection of computer data from tempest signal emissions
FR2776445A1 (en) 1998-03-17 1999-09-24 Schlumberger Ind Sa Cryptographic algorithm security technique

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000182012A (en) * 1998-12-14 2000-06-30 Hitachi Ltd Information processor and end tamper processor

Also Published As

Publication number Publication date
EP1044533A1 (en) 2000-10-18
WO2000019656A1 (en) 2000-04-06

Similar Documents

Publication Publication Date Title
CN100576174C (en) The possible prime number that the check password is used
US7159115B2 (en) Method and apparatus for encrypting data
EP0801345B1 (en) Circuit for modulo multiplication and exponentiation arithmetic
US7277542B2 (en) Stream cipher encryption application accelerator and methods thereof
US20030046563A1 (en) Encryption-based security protection for processors
US6097815A (en) Method of and an apparatus for generating pseudo-random numbers
US20080143561A1 (en) Operation processing apparatus, operation processing control method, and computer program
KR20050072537A (en) Cryptographic apparatus and cryptographic method , and storage medium thereof
JP3733027B2 (en) Countermeasure method in electronic components using secret key encryption algorithm
US7403615B2 (en) Methods and apparatus for accelerating ARC4 processing
Imran et al. Design space exploration of saber in 65nm ASIC
US20060133603A1 (en) Integer division method which is secure against covert channel attacks
JP2004054128A (en) Encrypting system
JP2003524916A (en) Encoding method for performing cryptographic processing
US7403614B2 (en) Encryption apparatus
US7171437B2 (en) Residue calculating unit immune to power analysis
JP2005045760A (en) Cipher processing method and device thereof
JP2000242470A (en) Device and method for generating random number and recording medium
JP3606418B2 (en) Random number generator
KR100564599B1 (en) Inverse calculation circuit, inverse calculation method, and storage medium encoded with computer-readable computer program code
JP2003324423A (en) Data processing method, encryption method, encryption method, authentication method and apparatus therefor
JP2002529777A (en) Countermeasures in electronic components using secret-key cryptographic algorithms
JPH07219852A (en) Semiconductor memory device
JP2004004784A (en) System and method for mounting hash algorithm
JP2000076144A (en) Logic circuit, microcomputer and communication method between logic circuit and storage device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060915

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080522

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090824