JP4634788B2 - Cryptographic operation circuit, information processing apparatus and IC card having the cryptographic operation circuit - Google Patents

Cryptographic operation circuit, information processing apparatus and IC card having the cryptographic operation circuit Download PDF

Info

Publication number
JP4634788B2
JP4634788B2 JP2004366400A JP2004366400A JP4634788B2 JP 4634788 B2 JP4634788 B2 JP 4634788B2 JP 2004366400 A JP2004366400 A JP 2004366400A JP 2004366400 A JP2004366400 A JP 2004366400A JP 4634788 B2 JP4634788 B2 JP 4634788B2
Authority
JP
Japan
Prior art keywords
bits
data
data block
processing
dummy
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.)
Active
Application number
JP2004366400A
Other languages
Japanese (ja)
Other versions
JP2006174274A (en
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004366400A priority Critical patent/JP4634788B2/en
Publication of JP2006174274A publication Critical patent/JP2006174274A/en
Application granted granted Critical
Publication of JP4634788B2 publication Critical patent/JP4634788B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、暗号演算回路と、該暗号演算回路を有する情報処理装置及びICカードに関する。   The present invention relates to a cryptographic operation circuit, an information processing apparatus and an IC card having the cryptographic operation circuit.

IC(Integrated Circuit)カードは、クレジットカード、定期券、その他の商取引の決済に使われるだけでなく、社員証、会員証、保険証などのIDカードとしても様々な分野で使われるようになってきている。これは、従来の磁気カードに比べ、ICとしてCPU、ROM、RAM、EEPROMなどを持つため様々な機能が行えるようになっただけでなく、偽造が難しいためセキュリティの面でも大きく向上したことが要因である。なお、ICカードの詳細は、非特許文献1に規定されている。   IC (Integrated Circuit) cards are used not only for payment of credit cards, commuter passes, and other commercial transactions, but also in various fields as ID cards for employee cards, membership cards, insurance cards, etc. ing. This is because the IC has a CPU, ROM, RAM, EEPROM, etc. so that it can perform various functions compared to conventional magnetic cards, and it is difficult to forge. It is. Details of the IC card are defined in Non-Patent Document 1.

ICカードでは、個人情報など重要な情報を格納しているため、暗号を用いてそのデータを暗号化したり、カードユーザの認証を行ったりしている。そのため通常の使用においては十分なセキュリティが保たれている。しかし、ICカードが暗号処理を行っている瞬間の消費電力波形を取得し解析すると、暗号に使われている秘密鍵が導出できるという電力解析攻撃手法と呼ばれる理論が1996年にPaul Kocherらにより発表された。この理論に係る解析方法として、大きく分けて3つの方法がある。   Since the IC card stores important information such as personal information, the data is encrypted using encryption or the card user is authenticated. Therefore, sufficient security is maintained in normal use. However, in 1996, Paul Kocher et al. Announced a theory called a power analysis attack technique in which the secret key used in cryptography can be derived by acquiring and analyzing the power consumption waveform at the moment when the IC card performs cryptographic processing. It was done. There are roughly three analysis methods according to this theory.

第1の方法は、暗号に使われる秘密鍵の各ビットにより処理時間に違いがある場合に、処理時間もしくは消費電力波形からそのビットが判明し、同様にして全ての秘密鍵が判明してしまうというものである。この詳細は、非特許文献2に記載されている。   In the first method, when there is a difference in processing time depending on each bit of the secret key used for encryption, the bit is found from the processing time or the power consumption waveform, and all the secret keys are found in the same manner. That's it. The details are described in Non-Patent Document 2.

第2の方法は、暗号に使われる秘密鍵の各ビットに依存したデータを処理している部分の消費電力波形に違いが見られる場合、そのビットが判明し、同様にして全ての秘密鍵が判明してしまうというものである。一般に、ICチップを構成しているCMOSは、0→1もしくは1→0に変化したときに電力を消費するため、上記のように消費電力波形上でも違いが多少なりとも存在している。   In the second method, when there is a difference in the power consumption waveform of the part that processes the data depending on each bit of the secret key used for encryption, the bit is found, and in the same way, all the secret keys are It turns out. In general, a CMOS constituting an IC chip consumes power when it changes from 0 → 1 or 1 → 0, and thus there is some difference in the power consumption waveform as described above.

第3の方法は、暗号処理中の消費電力波形を多数取得し、統計処理をすることで秘密鍵を導出するというものである。この方法は、第2の方法をさらに強力にしたものであり、暗号処理の一部の消費電力波形を多数取得できれば、比較的容易に攻撃できるというものである。第2と第3の方法に関する詳細は、非特許文献3に記載されている。   The third method is to obtain a large number of power consumption waveforms during cryptographic processing and derive a secret key by performing statistical processing. This method is a more powerful version of the second method. If a large number of power consumption waveforms that are part of the cryptographic process can be obtained, it can be attacked relatively easily. Details regarding the second and third methods are described in Non-Patent Document 3.

上記の3つの攻撃方法に対する対策法は、いろいろと議論され考えだされている。しかし、ソフトウェアで共通鍵暗号を実装しCPUで実行している場合や、共通鍵暗号よりも非常に処理時間のかかる公開鍵暗号をコプロセッサを利用して処理している場合は、消費電力波形にその処理の挙動が如実に表れてしまうことが多い。つまり攻撃の前提条件である消費電力波形内の暗号処理部の特定とその波形の取得が容易である場合が多い。攻撃に対する対策がなされていても、攻撃対象となる暗号処理部の消費電力波形が取得されてしまうと、様々な攻撃を受ける可能性があり、場合によっては対策が無効化され、秘密鍵の導出につながる可能性もある。   Various countermeasures against the above three attack methods have been discussed and thought out. However, if the software implements common key cryptography and is executed by the CPU, or if public key cryptography that takes much longer processing time than common key cryptography is processed using a coprocessor, the power consumption waveform In many cases, the processing behavior appears clearly. That is, it is often easy to identify the encryption processing unit in the power consumption waveform, which is a precondition for the attack, and to acquire the waveform. Even if countermeasures against attacks are taken, if the power consumption waveform of the cryptographic processing unit to be attacked is acquired, there is a possibility of various attacks. In some cases, countermeasures are invalidated and the secret key is derived. May lead to

一方、専用の暗号処理回路を用いて共通鍵暗号の処理を行った場合は、ソフトウェアで実装した場合に比べて極端に処理時間が短くなり、消費電力波形にその処理の挙動が表れにくくなる。しかしこの場合もCPUの処理とは別に暗号処理回路が動作するため、多少なりともこの回路が動作した瞬間の消費電力波形は大きくなってしまい、暗号処理部が判別できてしまうことがある。この場合、どの程度消費電力が増えるかはハードウェアの性能に依存してくる。また共通鍵暗号はある一定の処理を繰り返し決まった回数だけ行う性質があるため、消費電力波形から決まった回数分繰り返して同じような特徴を持つ部分を特定することにより、暗号処理部を特定されることがある。   On the other hand, when the common key encryption process is performed using a dedicated encryption processing circuit, the processing time is extremely shortened compared to the case where the process is implemented by software, and the behavior of the process is less likely to appear in the power consumption waveform. However, in this case as well, the cryptographic processing circuit operates separately from the processing of the CPU, so that the power consumption waveform at the moment when this circuit operates increases to some extent, and the cryptographic processing unit may be discriminated. In this case, how much power consumption increases depends on the performance of the hardware. In addition, since the common key encryption has the property of repeatedly performing a certain number of processes a predetermined number of times, the encryption processing unit can be specified by specifying a part having the same characteristics by repeating the determined number of times from the power consumption waveform. Sometimes.

このように、電力解析攻撃は非常に強力な攻撃手法であるため、攻撃に耐えうる対策手法の確立と同時に、攻撃の前提条件となる消費電力波形内の暗号処理部の特定を困難にすることが非常に重要となってくる。
ISO/IEC 7816-1part1,2 P. Kocher, “Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS and Other Systems”, Advances in Cryptology: Proceedings of CRYPTO’96, Springer-Verlag, 1996, pp.104-113 P. Kocher, J. Jaffe, B. Jun, “Differential Power Analysis”, Advances in Cryptology: Proceedings of CRYPTO’99, Springer-Verlag, 1999, pp.388-397
In this way, power analysis attacks are very powerful attack methods, so it is difficult to identify cryptographic processing units in the power consumption waveform, which is a prerequisite for attacks, while establishing countermeasures that can withstand attacks. Becomes very important.
ISO / IEC 7816-1part1,2 P. Kocher, “Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS and Other Systems”, Advances in Cryptology: Proceedings of CRYPTO'96, Springer-Verlag, 1996, pp.104-113 P. Kocher, J. Jaffe, B. Jun, “Differential Power Analysis”, Advances in Cryptology: Proceedings of CRYPTO'99, Springer-Verlag, 1999, pp.388-397

本発明は、ICカードや情報処理装置の消費電力波形内の暗号処理部を特定することを困難にすることを目的とする。   An object of the present invention is to make it difficult to specify an encryption processing unit in a power consumption waveform of an IC card or an information processing apparatus.

本発明の局面に係る発明は、ICカードの消費電力波形内の暗号処理部を特定することを困難にするために、暗号処理に使用されるデータブロックの処理の間にダミーデータブロックの処理を適宜挿入した。具体的には、以下のとおりである。   In the invention according to the aspect of the present invention, in order to make it difficult to specify the encryption processing unit in the power consumption waveform of the IC card, the dummy data block processing is performed during the processing of the data block used for the encryption processing. Inserted as appropriate. Specifically, it is as follows.

本発明の局面に係る発明は、所定ビット数の第1のデータブロックと鍵情報とを所定の非線形関数Fへ作用させて得られた結果値と前記第1のデータブロックと同じビット数の第2のデータブロックとを論理演算し、前記第2のデータブロックを第1のデータブロックに置き換えるとともに、前記第1のデータブロックを前記論理演算の結果値に置き換えるステップを所定回数繰り返し実行することにより、暗号化処理を行って、該処理結果を暗号化データとして外部へ出力する暗号化処理を実行する暗号演算回路において、前記第1及び第2のデータブロックを保持する手段と、前記第1及び第2のデータブロックとビット数が同じである第1及び第2のダミーデータブロックを保持する手段と、前記第1及び前記第2のデータブロックを使った暗号化処理を所定回数実行する間に、前記第1及び前記第2のダミーデータブロックを使ったダミー暗号化処理の実行を、所定の条件に基づいて適宜挿入するような制御をする手段を具備することを特徴とする。   The invention according to the aspect of the present invention provides a result value obtained by applying a first data block having a predetermined number of bits and key information to a predetermined non-linear function F, and a first number having the same number of bits as the first data block. Performing a logical operation on the second data block, replacing the second data block with the first data block, and repeatedly executing the step of replacing the first data block with the result value of the logical operation a predetermined number of times. Means for holding the first and second data blocks in a cryptographic operation circuit that performs encryption processing and executes encryption processing for outputting the processing result to the outside as encrypted data; and Means for holding first and second dummy data blocks having the same number of bits as the second data block; and the first and second data blocks Means for appropriately inserting the execution of the dummy encryption process using the first and second dummy data blocks based on a predetermined condition while executing the predetermined encryption process a predetermined number of times. It is characterized by comprising.

これにより電力解析攻撃を行うことが困難になり、秘密鍵が外部に漏れることを抑えることができる。このように、本発明によれば、ICカードの消費電力波形から動作部分を特定するのが困難である専用ハードウェアで実装されている共通鍵暗号の処理部分を、公知であるアルゴリズムの繰り返し回数などの情報から特定することが更に困難になることより、該暗号処理回路を備えたICカードや情報処理装置などへの電力解析攻撃適用を難しくし、秘密鍵が外部に漏れることを抑えることができる。   This makes it difficult to perform a power analysis attack, and can prevent the secret key from leaking outside. As described above, according to the present invention, the processing part of the common key encryption implemented by the dedicated hardware that is difficult to specify the operation part from the power consumption waveform of the IC card is changed to the number of iterations of a known algorithm. This makes it more difficult to specify information such as information, and makes it difficult to apply a power analysis attack to an IC card or information processing device equipped with the cryptographic processing circuit and suppresses leakage of the secret key to the outside. it can.

図面を参照して本発明の実施の形態を説明する。
図1は、本発明に係る暗号演算回路を備えたICカードの概略構成を示す図である。ICカードの詳細は、前述したように、非特許文献1に規定されている。図1に示すように、カード101内にICチップ102が搭載されている。図2は、一般的なICチップの内部構成を示す図である。
Embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a diagram showing a schematic configuration of an IC card including a cryptographic operation circuit according to the present invention. The details of the IC card are defined in Non-Patent Document 1, as described above. As shown in FIG. 1, an IC chip 102 is mounted in a card 101. FIG. 2 is a diagram showing an internal configuration of a general IC chip.

図2に示すように、本発明に係るICチップ102は、CPU201と、RAM202と、ROM203と、EEPROM204と、I/Oポート205と、コプロセッサ206と、暗号処理回路207を備えている。   As shown in FIG. 2, the IC chip 102 according to the present invention includes a CPU 201, a RAM 202, a ROM 203, an EEPROM 204, an I / O port 205, a coprocessor 206, and a cryptographic processing circuit 207.

上記の構成において、CPU201は、ROM203に格納されているICカードのプログラムを実行し、RAM202やEEPROM204には処理に必要なデータが格納されている。I/Oポート205は、外部機器(例えば、リーダライタ)からコマンドを受け取り、CPU201の処理結果をレスポンスとして出力する。データバス208は各装置間のデータ転送を行うバスである。コプロセッサ206はべき乗剰余演算を行うための専用装置であり、RSA暗号などの公開鍵暗号の処理に用いられる。そのためICカードによっては搭載していないものもある。暗号処理回路207は主に共通鍵暗号の処理に用いられ、共通鍵暗号処理全体を行ったり、CPU201で共通鍵暗号処理を行う場合に、その処理の一部を手助けする役割を果たしたりする。そのためICカードによっては搭載していないものもある。上記のように、コプロセッサ206や暗号処理回路207などは用途によってない場合もある。ここでは、暗号処理回路207に実装されている共通鍵暗号アルゴリズムの例としてDES(Data Encryption Standard)を用いて説明する。なお、本発明では、暗号処理回路207を搭載していることを前提条件とする。専用の暗号処理装置を備えることで、CPUやコプロセッサによって、暗号をソフトウェア処理するよりもはるかに、攻撃が困難になるからである。   In the above configuration, the CPU 201 executes an IC card program stored in the ROM 203, and the RAM 202 and the EEPROM 204 store data necessary for processing. The I / O port 205 receives a command from an external device (for example, a reader / writer), and outputs the processing result of the CPU 201 as a response. The data bus 208 is a bus for transferring data between devices. The coprocessor 206 is a dedicated device for performing a power-residue operation, and is used for public key encryption processing such as RSA encryption. Therefore, some IC cards are not installed. The encryption processing circuit 207 is mainly used for common key encryption processing, and performs the entire common key encryption processing or plays a role of assisting a part of the processing when the CPU 201 performs the common key encryption processing. Therefore, some IC cards are not installed. As described above, the coprocessor 206 and the cryptographic processing circuit 207 may not be used depending on the application. Here, DES (Data Encryption Standard) will be described as an example of a common key encryption algorithm implemented in the encryption processing circuit 207. In the present invention, it is assumed that the cryptographic processing circuit 207 is installed. This is because the provision of a dedicated cryptographic processing device makes it much more difficult to attack by using a CPU or a coprocessor than when the cryptographic code is processed by software.

上記のように構成されたICカードにおいて、DESの処理の流れを図3のフローチャートを用いて簡単に説明する。図3は、DESの流れを示すフローチャートである。
まず入力平文64ビットに対して初期転置(IP:Initial Permutation)と呼ばれるビット転置の処理が施される(ステップ301)。次に初期転置後のデータを32ビットずつに分割し(ステップ302)、これら2つを初期値として以下の処理を繰り返す(ステップ303及びステップ304)。
L_{i}←R_{i−1}
R_{i}←L_{i−1} xor F(K_{i},R_{i−1})
上式において、←は代入を示す。
ここで、演算回数をi(1≦i≦16)、i回目の演算時の一方の分割された32ビット(右側)をR_{i}とし、他方の32ビット(左側)をL_{i}、i回目の部分鍵をK_{i}とする。この部分鍵は、64ビットの秘密鍵を元に鍵スケジューリング処理することにより演算回数分(16個)生成される。またSBOXと呼ばれる変換テーブルを用いた非線形変換や転置、部分鍵とデータの排他的論理和を含んだ処理はF関数と呼ばれ、F(K,R)で表す。
In the IC card configured as described above, the flow of DES processing will be briefly described with reference to the flowchart of FIG. FIG. 3 is a flowchart showing the flow of DES.
First, a bit transposition process called initial permutation (IP) is performed on the 64 bits of input plain text (step 301). Next, the data after the initial transposition is divided into 32 bits (step 302), and the following processing is repeated with these two as initial values (step 303 and step 304).
L_ {i} ← R_ {i−1}
R_ {i} ← L_ {i−1} xor F (K_ {i}, R_ {i−1})
In the above formula, ← indicates substitution.
Here, the number of operations is i (1 ≦ i ≦ 16), one divided 32 bits (right side) at the time of the i-th operation is R_ {i}, and the other 32 bits (left side) is L_ {i}. , The i-th partial key is K_ {i}. This partial key is generated for the number of operations (16) by performing key scheduling processing based on a 64-bit secret key. A process including nonlinear transformation or transposition using a conversion table called SBOX, and an exclusive OR of partial keys and data is called an F function, and is represented by F (K, R).

この繰り返し処理(ステップ303及びステップ304)を16回繰り返した後の結果であるL_{16}を上位32ビット、R_{16}を下位32ビットとして合成する(ステップ305)。最後にこの合成した64ビットを最終転置(FP:Final Permutation)と呼ばれる初期転置の逆変換処理を施し(ステップ306)、出力暗号文64ビットを得る。   L_ {16}, which is the result after repeating this iterative process (step 303 and step 304) 16 times, is combined as upper 32 bits, and R_ {16} is combined as lower 32 bits (step 305). Finally, the synthesized 64 bits are subjected to an inverse transformation process of initial transposition called final transposition (FP) (step 306) to obtain 64 bits of output ciphertext.

次に、DESを実装した暗号処理回路207の内部構成の概要を図4に示す。暗号処理回路207は、暗号処理部401と、乱数生成部402と、制御回路部403と、鍵生成部404と、I/F部405とを備えている。
暗号処理部401はI/F部から受け取った入力をDESを使って暗号化する。乱数生成部402はDESの処理に用いる乱数を生成する。制御回路部403は、DESの処理を制御するための情報を格納する制御情報レジスタ(詳細は後述)を有する。鍵生成部404は、制御情報レジスタの情報とDESの秘密鍵64ビットから鍵スケジューリングにより各処理中の部分鍵を作成する。I/F部405はCPU201などとデータの入出力を行う。
Next, FIG. 4 shows an outline of the internal configuration of the cryptographic processing circuit 207 in which DES is mounted. The cryptographic processing circuit 207 includes a cryptographic processing unit 401, a random number generation unit 402, a control circuit unit 403, a key generation unit 404, and an I / F unit 405.
The encryption processing unit 401 encrypts the input received from the I / F unit using DES. The random number generation unit 402 generates a random number used for DES processing. The control circuit unit 403 includes a control information register (details will be described later) for storing information for controlling DES processing. The key generation unit 404 generates a partial key for each process by key scheduling from the information in the control information register and the DES secret key 64 bits. The I / F unit 405 inputs and outputs data with the CPU 201 and the like.

図5を参照して、暗号処理回路207の主要部分となる暗号処理部401の内部詳細を説明する。
IP501は、予め定められた規則に基づいて初期転置の演算を行う。3入力2出力のセレクタ502は、IP501の出力上位32ビットのデータ、乱数生成部402からの入力RNDの上位32ビットのデータ、及びセレクタ509の出力32ビットの3つの入力(以下、「3入力」と称する)を入力し、制御回路部403からの信号CTLに応じて、レジスタL504もしくはレジスタL_dummy505のいずれかに3入力のいずれかを出力する。同様に、3入力2出力のセレクタ503は、IP501の出力下位32ビットのデータ、乱数生成部402からの入力RNDの下位32ビットのデータ、及び、セレクタ508の出力32ビットとF関数510の出力32ビットの(論理演算回路512による)排他的論理和後の32ビットの3入力を入力し、制御回路部403からの信号CTLに応じて、レジスタR506もしくはレジスタR_dummy507に3入力のいずれかを出力する。レジスタL504、レジスタL_dummy505、レジスタR506、レジスタR_dummy507はそれぞれ32ビット幅を有するレジスタである。2入力1出力のセレクタ508は、制御回路部403からの信号CTLに応じて、レジスタL504もしくはレジスタL_dummy505の出力32ビットのどちらかを出力する。同様に2入力1出力のセレクタ509は、制御回路部403からの信号CTLに応じて、レジスタR506もしくはレジスタR_dummy507の出力32ビットのどちらかを出力する。F関数510は、セレクタ509の出力32ビットを入力として、拡大転置処理、部分鍵との排他的論理和、SBOXによる非線形処理、転置処理の演算を行う。FP511は、予め定められた規則に基づいて初期転置の逆変換の演算を行う回路モジュールである。入力は64ビットであり、その上位32ビットはF関数510の出力とセレクタ508の出力とを排他的論理和した結果の32ビットであり、下位32ビットはセレクタ509の出力32ビットである。
With reference to FIG. 5, the internal details of the cryptographic processing unit 401, which is the main part of the cryptographic processing circuit 207, will be described.
The IP 501 performs an initial transposition operation based on a predetermined rule. The 3-input 2-output selector 502 has three inputs (hereinafter referred to as “3 inputs”), the upper 32 bits of data output from the IP 501, the upper 32 bits of data input from the random number generator 402, and the output 32 bits of the selector 509. ”), And any one of the three inputs is output to either the register L504 or the register L_dummy 505 in accordance with the signal CTL from the control circuit unit 403. Similarly, the 3-input 2-output selector 503 outputs the output lower 32 bits of the IP 501 data, the lower 32 bits of the input RND from the random number generator 402, and the output 32 bits of the selector 508 and the output of the F function 510. Inputs 32 bits of 3 bits after exclusive OR (by logic operation circuit 512) and outputs either 3 inputs to register R506 or register R_dummy 507 according to signal CTL from control circuit unit 403 To do. Register L504, register L_dummy 505, register R506, and register R_dummy 507 are registers each having a 32-bit width. The 2-input 1-output selector 508 outputs either 32 bits of the output of the register L504 or the register L_dummy 505 in accordance with the signal CTL from the control circuit unit 403. Similarly, the 2-input 1-output selector 509 outputs either 32 bits of the output of the register R506 or the register R_dummy 507 in accordance with the signal CTL from the control circuit unit 403. The F function 510 receives the 32-bit output of the selector 509 as input, and performs an expansion transposition process, an exclusive OR with a partial key, a non-linear process by SBOX, and a transposition process. The FP 511 is a circuit module that performs an operation of inverse transformation of initial transposition based on a predetermined rule. The input is 64 bits, the upper 32 bits are 32 bits obtained by exclusive ORing the output of the F function 510 and the output of the selector 508, and the lower 32 bits are the output 32 bits of the selector 509.

上記のように構成された暗号処理回路207を用いたDESの処理の流れを図6のフローチャートを用いて説明する。なお、セレクタ制御に関しては、制御回路部403の動作のところで説明する。   The flow of DES processing using the cryptographic processing circuit 207 configured as described above will be described with reference to the flowchart of FIG. The selector control will be described in the operation of the control circuit unit 403.

まず、乱数生成部402からの乱数RNDの上位32ビットをレジスタL_dummy505に、下位32ビットをレジスタR_dummy507に初期値として格納する(ステップ601)。入力平文64ビットをIP501により転置し、上位32ビットをレジスタL504に、下位32ビットをレジスタR506に初期値として格納する(ステップ602)。制御回路部403からの信号CTLのMSBが1の時は(ステップ603)、レジスタR506の出力32ビットを入力としてF関数510の処理を行い(ステップ604)、F関数510の出力32ビットとレジスタL504の出力32ビットとの排他的論理和をとる(ステップ606)。このとき制御回路部403からの信号CTLの下位ニブルが15でない場合は(ステップ608)、レジスタR506の出力32ビットをレジスタL504へ格納し、排他的論理和結果をレジスタR506へ格納する(ステップ609)。   First, the upper 32 bits of the random number RND from the random number generation unit 402 are stored in the register L_dummy 505 and the lower 32 bits are stored in the register R_dummy 507 as initial values (step 601). The input plaintext 64 bits are transposed by the IP 501 and the upper 32 bits are stored in the register L504 and the lower 32 bits are stored in the register R506 as initial values (step 602). When the MSB of the signal CTL from the control circuit unit 403 is 1 (step 603), the output 32 bits of the register R506 is input and the F function 510 is processed (step 604). The exclusive OR with the 32 bits of the output of L504 is taken (step 606). At this time, if the lower nibble of the signal CTL from the control circuit unit 403 is not 15 (step 608), the 32 bits of the output of the register R506 are stored in the register L504, and the exclusive OR result is stored in the register R506 (step 609). ).

ステップ603において、制御回路部403からの信号CTLのMSBが1ではない(例えば、0)の時は(ステップ603)、レジスタR_dummy507の出力32ビットを入力としてF関数510の処理を行い(ステップ605)、F関数510の出力32ビットとレジスタL_dummy505の出力32ビットとの排他的論理和をとる(ステップ607)。この場合、制御回路部403からの信号CTLは参照せずに、レジスタR_dummy507の出力32ビットをレジスタL_dummy505へ格納し、排他的論理和結果をレジスタR_dummy507へ格納する(ステップ610)。このように信号CTLのMSBが1か0かで処理データや格納先が異なり、MSBが1の処理をDESの処理段数16回分終了すると(ステップ608)、排他的論理和結果を上位32ビット、レジスタR506の出力を下位32ビットとして合成して、FP処理を行う。そして、FP処理後のデータをI/F部405に渡す(ステップ611)。   In step 603, when the MSB of the signal CTL from the control circuit unit 403 is not 1 (for example, 0) (step 603), the output 32 bits of the register R_dummy 507 is input and the F function 510 is processed (step 605). ), The exclusive OR of the 32 bits of the output of the F function 510 and the 32 bits of the output of the register L_dummy 505 is obtained (step 607). In this case, the 32-bit output of the register R_dummy 507 is stored in the register L_dummy 505 without referring to the signal CTL from the control circuit unit 403, and the exclusive OR result is stored in the register R_dummy 507 (step 610). In this way, when the MSB of the signal CTL is 1 or 0, the processing data and the storage destination are different, and when the processing of the MSB 1 is completed for 16 DES processing steps (step 608), the exclusive OR result is the upper 32 bits, The output of the register R506 is synthesized as the lower 32 bits, and FP processing is performed. Then, the data after the FP processing is transferred to the I / F unit 405 (step 611).

制御回路部403の処理の流れを説明する前に、暗号処理部401内のセレクタを制御する信号CTLの情報を格納する制御情報レジスタについて説明する。なお、このレジスタは制御回路部403内にあり、0から7の8ビット(1ビット目から8ビット目まで)で構成されているものとする。このレジスタのビット割り当ては以下のようになっている。
4ビット目から1ビット目までは暗号処理部401ですでに終了したDESの処理段数を表している。
5ビット目に1がセットされると、セレクタ502の入力をRND、出力をレジスタL_dummy505にし、セレクタ503の入力をRND、出力をレジスタR_dummy507にする。このように5ビット目の情報により、暗号処理回路内207のレジスタL_dummy505とR_dummy507に乱数初期値をセットする制御が行われる。
6ビット目に1がセットされると、セレクタ502の入力をIP出力、出力をレジスタL504にし、セレクタ503の入力をIP出力、出力をレジスタR506にする。このように6ビット目の情報により、暗号処理回路207内のレジスタL504とR506にIP出力後の値をセットする制御が行われる。
7ビット目に1がセットされると、セレクタ502の入力をセレクタ509の出力、セレクタ503の入力をF関数510の出力とセレクタ508の出力との排他的論理和結果にする。このように7ビット目の情報により、各レジスタに初期値がセットされた後のDES本体の処理を行う制御が行われる。
8ビット目に1がセットされると、セレクタ502の出力をレジスタL504もしくはレジスタL_dummy505にし、セレクタ503の出力をレジスタR506もしくはレジスタR_dummy507にし、セレクタ508の入力をレジスタL504もしくはレジスタL_dummy505にし、セレクタ509の入力をレジスタR506もしくはレジスタR_dummy507にする。このように8ビット目の情報により、DESの本来の処理とダミーの処理とを判別する制御が行われる。すなわち、8ビット目に1がセットされると本来の処理、0がセットされるとダミー処理を行うように制御される。
Before describing the processing flow of the control circuit unit 403, a control information register that stores information of the signal CTL that controls the selector in the encryption processing unit 401 will be described. This register is in the control circuit unit 403 and is composed of 8 bits from 0 to 7 (from the 1st bit to the 8th bit). The bit assignment of this register is as follows.
The fourth to first bits represent the number of DES processing stages that have already been completed in the cryptographic processing unit 401.
When 1 is set in the fifth bit, the input of the selector 502 is set to RND, the output is set to the register L_dummy 505, the input of the selector 503 is set to RND, and the output is set to the register R_dummy 507. In this way, control for setting the initial random number to the registers L_dummy 505 and R_dummy 507 in the encryption processing circuit 207 is performed based on the information of the fifth bit.
When 1 is set in the sixth bit, the input of the selector 502 is the IP output, the output is the register L504, the input of the selector 503 is the IP output, and the output is the register R506. In this way, control for setting values after IP output to the registers L504 and R506 in the cryptographic processing circuit 207 is performed based on the information of the sixth bit.
When 1 is set in the seventh bit, the input of the selector 502 is the output of the selector 509, and the input of the selector 503 is the exclusive OR result of the output of the F function 510 and the output of the selector 508. In this way, control of performing processing of the DES main body after the initial value is set in each register is performed by the information of the seventh bit.
When 1 is set in the eighth bit, the output of the selector 502 is set to the register L504 or the register L_dummy 505, the output of the selector 503 is set to the register R506 or the register R_dummy 507, the input of the selector 508 is set to the register L504 or the register L_dummy 505, The input is the register R506 or the register R_dummy 507. In this way, control for discriminating between the original process of DES and the dummy process is performed based on the information of the eighth bit. That is, control is performed so that the original process is performed when 1 is set in the eighth bit, and the dummy process is performed when 0 is set.

暗号処理部401内のセレクタを制御する信号CTLを生成、出力する制御回路部403の処理について、図7のフローチャートを参照して説明する。
まず、乱数生成部402から64ビットの乱数を受け取る(ステップ701)。そして、制御情報レジスタの値を確認する(ステップ702)。レジスタの値が0Hの場合(ステップ703)は、暗号処理部401に乱数がセットされていないので制御情報レジスタの値CTLの5ビット目に1をセットし、当該値を出力する(ステップ704、ステップ713)。レジスタの値が10Hの場合(ステップ705)は、暗号処理部401のIP処理が終了していないということなので制御情報レジスタの値CTLの5ビット目に0をセットし、6ビット目に1をセットし、当該値を出力する(ステップ706、ステップ713)。レジスタの値が20Hの場合(ステップ707)は、暗号処理部401でDESの繰り返し処理を行う準備ができているということなので制御情報レジスタの値CTLの6ビット目に0をセットし、7ビット目に1をセットする(ステップ708)。次に、乱数生成部402から取り込んだ64ビット乱数のパリティを計算し(ステップ709)。パリティが1のときは(ステップ710)、制御情報レジスタの値CTLの8ビット目を1にセットし、下位ニブルをインクリメントし(ステップ712)、当該値を出力する(ステップ713)。ステップ710において、パリティが0のときは、8ビット目を0にセットし、下位ニブルはインクリメントせず(ステップ711)、当該値を出力する(ステップ713)。
Processing of the control circuit unit 403 that generates and outputs a signal CTL for controlling the selector in the encryption processing unit 401 will be described with reference to a flowchart of FIG.
First, a 64-bit random number is received from the random number generation unit 402 (step 701). Then, the value of the control information register is confirmed (step 702). When the value of the register is 0H (step 703), since no random number is set in the encryption processing unit 401, 1 is set to the fifth bit of the value CTL of the control information register and the value is output (step 704, Step 713). If the value of the register is 10H (step 705), it means that the IP processing of the cryptographic processing unit 401 has not ended, so 0 is set to the 5th bit of the value CTL of the control information register and 1 is set to the 6th bit. The value is set and the value is output (steps 706 and 713). If the value of the register is 20H (step 707), it means that the encryption processing unit 401 is ready to repeat the DES, so 0 is set to the 6th bit of the value CTL of the control information register and 7 bits. Set 1 to the eye (step 708). Next, the parity of the 64-bit random number fetched from the random number generation unit 402 is calculated (step 709). When the parity is 1 (step 710), the eighth bit of the value CTL of the control information register is set to 1, the lower nibble is incremented (step 712), and the value is output (step 713). In step 710, when the parity is 0, the eighth bit is set to 0, the lower nibble is not incremented (step 711), and the value is output (step 713).

鍵生成部404は、制御情報レジスタの値CTLの下位ニブルの情報より、対応するDESの処理段の部分鍵を作成し、暗号処理部401に渡す。すなわち制御情報レジスタの下位ニブルの値が変わらない限り、鍵生成部404は、同じ部分鍵を出力することになる。   The key generation unit 404 creates a partial key for the processing stage of the corresponding DES from the information in the lower nibble of the value CTL of the control information register, and passes it to the encryption processing unit 401. That is, as long as the value of the lower nibble of the control information register does not change, the key generation unit 404 outputs the same partial key.

上記の説明では、DESの本当の処理とダミーの処理を切り分ける制御情報レジスタの8ビット目の値を64ビット乱数のパリティに基づいて決めたが、8ビット目の値の決め方は上記の実施の形態に限らない。例えば、セキュリティの強度を考慮すれば、8ビット目が1になる確率を0になる確率より低くなるような決め方が好ましい。これは、8ビット目が1の場合と0の場合の処理で消費電力波形に差がでない、もしくは観測できない場合である。この点に関しては、今回対象にしている暗号処理回路207は暗号処理専用のハードウェア回路であり、ソフトウェア実装と違い、8ビット目が1か0かで処理時間が異なることはなく、DES1段の処理をほぼ1クロックで処理してしまう。このため、1段の処理中に扱ったデータの差は消費電力の差として非常に現れにくいという点を考慮すると、上記の仮定は妥当である。さらに、乱数による処理中の中間データのマスク処理や消費電力波形にノイズをのせるような電流攪乱回路と本発明を組み合わせることによって、セキュリティ強度を上げる、すなわち電力解析攻撃をさらに困難にすることも可能である。   In the above description, the value of the 8th bit of the control information register that separates the DES real process and the dummy process is determined based on the parity of the 64-bit random number. The method of determining the value of the 8th bit is described above. It is not limited to form. For example, in consideration of security strength, it is preferable to determine such that the probability that the 8th bit becomes 1 is lower than the probability that it becomes 0. This is a case where there is no difference in the power consumption waveform between the case where the eighth bit is 1 and the case where it is 0, or it cannot be observed. In this regard, the cryptographic processing circuit 207 targeted this time is a hardware circuit dedicated to cryptographic processing, and unlike the software implementation, the processing time does not differ depending on whether the eighth bit is 1 or 0. Processing is performed in approximately one clock. For this reason, the above assumption is appropriate in consideration of the fact that the difference in data handled during one-stage processing hardly appears as a difference in power consumption. Furthermore, by combining the present invention with the current disturbance circuit that puts noise on the power consumption waveform and masking of intermediate data during processing with random numbers, the security strength can be increased, that is, the power analysis attack can be made more difficult. Is possible.

本発明は、上記各実施の形態に限ることなく、その他、実施段階ではその要旨を逸脱しない範囲で種々の変形を実施し得ることが可能である。例えば、上記の実施の形態では、ICカードについて説明したが、ICカード以外に、外部からの攻撃を防ぐための暗号化回路を有するようなPDAやパーソナルコンピュータや携帯電話などの情報装置に適用可能であることはもちろんである。さらに、上記各実施形態には、種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組合せにより種々の発明が抽出され得る。   The present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the invention at the stage of implementation. For example, in the above embodiment, the IC card has been described. However, in addition to the IC card, the present invention can be applied to an information device such as a PDA, a personal computer, or a mobile phone having an encryption circuit for preventing external attacks. Of course. Further, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements.

また、例えば各実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。   In addition, for example, even if some structural requirements are deleted from all the structural requirements shown in each embodiment, the problem described in the column of the problem to be solved by the invention can be solved, and the effect described in the effect of the invention Can be obtained as an invention.

本発明に係る暗号演算回路を備えたICカードの概略構成を示す図。The figure which shows schematic structure of the IC card provided with the cryptographic operation circuit which concerns on this invention. ICチップの一般的な内部構成を示す図。The figure which shows the general internal structure of an IC chip. DESの処理を示すフローチャート。The flowchart which shows the process of DES. DESを実装した暗号処理回路の内部構成の概要を示す図。The figure which shows the outline | summary of the internal structure of the encryption processing circuit which mounted DES. 暗号処理部の内部構成を示す図。The figure which shows the internal structure of an encryption process part. 暗号処理部の処理を示すフローチャート。The flowchart which shows the process of an encryption process part. 制御回路部の処理を示すフローチャート。The flowchart which shows the process of a control circuit part.

符号の説明Explanation of symbols

101…カード、102…ICチップ、201…CPU、202…RAM、203…ROM、204…EEPROM、205…I/Oポート、206…コプロセッサ、207…暗号処理回路、208…データバス、401…暗号処理部、402…乱数生成部、403…制御回路部、404…鍵生成部、405…F部、501…IP、502…セレクタ、503…セレクタ、508…セレクタ、509…セレクタ、511…FP。   DESCRIPTION OF SYMBOLS 101 ... Card, 102 ... IC chip, 201 ... CPU, 202 ... RAM, 203 ... ROM, 204 ... EEPROM, 205 ... I / O port, 206 ... Coprocessor, 207 ... Cryptographic processing circuit, 208 ... Data bus, 401 ... Cryptographic processing unit, 402 ... random number generation unit, 403 ... control circuit unit, 404 ... key generation unit, 405 ... F unit, 501 ... IP, 502 ... selector, 503 ... selector, 508 ... selector, 509 ... selector, 511 ... FP .

Claims (5)

所定ビット数の第1のデータブロックと鍵情報とを所定の非線形関数Fへ作用させて得られた結果値と前記第1のデータブロックと同じビット数の第2のデータブロックとを論理演算し、前記第2のデータブロックを第1のデータブロックに置き換えるとともに、前記第1のデータブロックを前記論理演算の結果値に置き換えるステップを所定回数繰り返し実行することにより、暗号化処理を行って、該処理結果を暗号化データとして外部へ出力する暗号化処理を実行する暗号演算回路において、
前記第1及び第2のデータブロックを保持する手段と、
前記第1及び第2のデータブロックとビット数が同じである第1及び第2のダミーデータブロックを保持する手段と、
前記第1及び前記第2のデータブロックを使った暗号化処理を所定回数実行する間に、前記第1及び前記第2のダミーデータブロックを使ったダミー暗号化処理の実行を、所定の条件に基づいて適宜挿入するような制御をする手段を具備することを特徴とする暗号演算回路。
A logical operation is performed on a result value obtained by applying a first data block having a predetermined number of bits and key information to a predetermined non-linear function F and a second data block having the same number of bits as the first data block. The second data block is replaced with the first data block, and the step of replacing the first data block with the result value of the logical operation is repeatedly executed a predetermined number of times to perform encryption processing, In a cryptographic operation circuit that executes encryption processing for outputting processing results to the outside as encrypted data,
Means for holding the first and second data blocks;
Means for holding first and second dummy data blocks having the same number of bits as the first and second data blocks;
While the encryption process using the first and second data blocks is executed a predetermined number of times, the execution of the dummy encryption process using the first and second dummy data blocks is performed under a predetermined condition. A cryptographic operation circuit comprising means for controlling such that insertion is appropriately performed based on the above.
請求項1に記載の暗号演算回路において、演算中の中間データをビット単位又はバイト単位でデータ入れ替えを行うデータ処理手段をさらに具備することを特徴とする暗号演算回路。 2. The cryptographic operation circuit according to claim 1, further comprising data processing means for exchanging data of the intermediate data being operated in units of bits or bytes. 請求項1または請求項2に記載の暗号演算回路において、前記制御手段は、前記ダミー暗号処理の挿入回数を、前記暗号処理の回数よりも多くすることを特徴とする暗号演算回路。 3. The cryptographic operation circuit according to claim 1, wherein the control means makes the number of insertions of the dummy cryptographic processing larger than the number of times of the cryptographic processing. 所定ビット数の第1のデータブロックと鍵情報とを所定の非線形関数Fへ作用させて得られた結果値と前記第1のデータブロックと同じビット数の第2のデータブロックとを論理演算し、前記第2のデータブロックを第1のデータブロックに置き換えるとともに、前記第1のデータブロックを前記論理演算の結果値に置き換えるステップを所定回数繰り返し実行することにより、暗号化処理を行って、該処理結果を暗号化データとして外部へ出力する暗号化処理を実行する暗号演算回路を有するICチップと、
前記ICチップが搭載されたカードと、を備えたICカードにおいて、
前記暗号演算回路は、
前記第1及び第2のデータブロックを保持する手段と、
前記第1及び第2のデータブロックとビット数が同じである第1及び第2のダミーデータブロックを保持する手段と、
前記第1及び前記第2のデータブロックを使った暗号化処理を所定回数実行する間に、前記第1及び前記第2のダミーデータブロックを使ったダミー暗号化処理の実行を、所定の条件に基づいて適宜挿入するような制御をする手段を具備することを特徴とするICカード。
A logical operation is performed on a result value obtained by applying a first data block having a predetermined number of bits and key information to a predetermined non-linear function F and a second data block having the same number of bits as the first data block. The second data block is replaced with the first data block, and the step of replacing the first data block with the result value of the logical operation is repeatedly executed a predetermined number of times to perform encryption processing, An IC chip having a cryptographic operation circuit for executing encryption processing for outputting processing results to the outside as encrypted data;
In an IC card comprising a card on which the IC chip is mounted,
The cryptographic operation circuit is:
Means for holding the first and second data blocks;
Means for holding first and second dummy data blocks having the same number of bits as the first and second data blocks;
While the encryption process using the first and second data blocks is executed a predetermined number of times, the execution of the dummy encryption process using the first and second dummy data blocks is performed under a predetermined condition. An IC card characterized by comprising means for controlling such that it is inserted as appropriate.
所定ビット数の第1のデータブロックと鍵情報とを所定の非線形関数Fへ作用させて得られた結果値と前記第1のデータブロックと同じビット数の第2のデータブロックとを論理演算し、前記第2のデータブロックを第1のデータブロックに置き換えるとともに、前記第1のデータブロックを前記論理演算の結果値に置き換えるステップを所定回数繰り返し実行することにより、暗号化処理を行って、該処理結果を暗号化データとして外部へ出力する暗号化処理を実行する暗号演算回路を有する情報処理装置において、
前記暗号演算回路は、
前記第1及び第2のデータブロックを保持する手段と、
前記第1及び第2のデータブロックとビット数が同じである第1及び第2のダミーデータブロックを保持する手段と、
前記第1及び前記第2のデータブロックを使った暗号化処理を所定回数実行する間に、前記第1及び前記第2のダミーデータブロックを使ったダミー暗号化処理の実行を、所定の条件に基づいて適宜挿入するような制御をする手段を具備することを特徴とする情報処理装置。
A logical operation is performed on a result value obtained by applying a first data block having a predetermined number of bits and key information to a predetermined non-linear function F and a second data block having the same number of bits as the first data block. The second data block is replaced with the first data block, and the step of replacing the first data block with the result value of the logical operation is repeatedly executed a predetermined number of times to perform encryption processing, In an information processing apparatus having a cryptographic operation circuit that executes encryption processing for outputting processing results to the outside as encrypted data,
The cryptographic operation circuit is:
Means for holding the first and second data blocks;
Means for holding first and second dummy data blocks having the same number of bits as the first and second data blocks;
While the encryption process using the first and second data blocks is executed a predetermined number of times, the execution of the dummy encryption process using the first and second dummy data blocks is performed under a predetermined condition. An information processing apparatus comprising means for controlling such that insertion is appropriately performed based on the information.
JP2004366400A 2004-12-17 2004-12-17 Cryptographic operation circuit, information processing apparatus and IC card having the cryptographic operation circuit Active JP4634788B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004366400A JP4634788B2 (en) 2004-12-17 2004-12-17 Cryptographic operation circuit, information processing apparatus and IC card having the cryptographic operation circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004366400A JP4634788B2 (en) 2004-12-17 2004-12-17 Cryptographic operation circuit, information processing apparatus and IC card having the cryptographic operation circuit

Publications (2)

Publication Number Publication Date
JP2006174274A JP2006174274A (en) 2006-06-29
JP4634788B2 true JP4634788B2 (en) 2011-02-16

Family

ID=36674521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004366400A Active JP4634788B2 (en) 2004-12-17 2004-12-17 Cryptographic operation circuit, information processing apparatus and IC card having the cryptographic operation circuit

Country Status (1)

Country Link
JP (1) JP4634788B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4960044B2 (en) 2006-09-01 2012-06-27 株式会社東芝 Cryptographic processing circuit and IC card
JP6950861B2 (en) * 2017-03-17 2021-10-13 大日本印刷株式会社 Electronic information storage device, IC card, calculation decision method, and calculation decision program

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000165375A (en) * 1998-11-30 2000-06-16 Hitachi Ltd Information processor and ic card
JP2001251294A (en) * 2000-01-31 2001-09-14 Oberthur Card Systems Sa Method for executing encipherment protocol between two electronic entities
JP2002528754A (en) * 1998-10-16 2002-09-03 ジェムプリュス Countermeasures in electronic components using secret-key cryptographic algorithms
JP2003517745A (en) * 1998-10-16 2003-05-27 ジェムプリュス Countermeasures in electronic components using secret-key cryptographic algorithms
JP2004101981A (en) * 2002-09-11 2004-04-02 Toshiba Corp Cipher computing circuit
WO2004081769A1 (en) * 2003-03-14 2004-09-23 Axalto Sa Process of security of a unit electronic unit with cryptoprocessor
JP2004326335A (en) * 2003-04-23 2004-11-18 Toshiba Corp Ic card and encryption processing system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002528754A (en) * 1998-10-16 2002-09-03 ジェムプリュス Countermeasures in electronic components using secret-key cryptographic algorithms
JP2003517745A (en) * 1998-10-16 2003-05-27 ジェムプリュス Countermeasures in electronic components using secret-key cryptographic algorithms
JP2000165375A (en) * 1998-11-30 2000-06-16 Hitachi Ltd Information processor and ic card
JP2001251294A (en) * 2000-01-31 2001-09-14 Oberthur Card Systems Sa Method for executing encipherment protocol between two electronic entities
JP2004101981A (en) * 2002-09-11 2004-04-02 Toshiba Corp Cipher computing circuit
WO2004081769A1 (en) * 2003-03-14 2004-09-23 Axalto Sa Process of security of a unit electronic unit with cryptoprocessor
JP2004326335A (en) * 2003-04-23 2004-11-18 Toshiba Corp Ic card and encryption processing system

Also Published As

Publication number Publication date
JP2006174274A (en) 2006-06-29

Similar Documents

Publication Publication Date Title
Rivain et al. Higher-order masking and shuffling for software implementations of block ciphers
Akkar et al. Power analysis, what is now possible...
Medwed et al. Template attacks on ECDSA
EP1873671B2 (en) A method for protecting IC Cards against power analysis attacks
JP4317607B2 (en) Information processing equipment, tamper resistant processing equipment
EP1398901B1 (en) Feistel type encryption method and apparatus protected against DPA attacks
US8144865B2 (en) Protection of the execution of a DES algorithm
US9961057B2 (en) Securing a cryptographic device against implementation attacks
US10243728B2 (en) Verification of the resistance of an electronic circuit to side-channel attacks
US10210776B2 (en) DPA protection of a rijndael algorithm
US10187198B2 (en) Protection of a rijndael algorithm
JP2007195132A (en) Encryption processing apparatus
Meijer et al. Ciphertext-only cryptanalysis on hardened Mifare classic cards
EP3089398A1 (en) Securing a cryptographic device
JP5184659B2 (en) How to securely protect an electronic cryptographic assembly with a private key
JP3733027B2 (en) Countermeasure method in electronic components using secret key encryption algorithm
EP1646174A1 (en) Method and apparatus for generating cryptographic sets of instructions automatically and code generation
JP4386766B2 (en) Error detection in data processing equipment.
JP2004054128A (en) Encrypting system
JP4634788B2 (en) Cryptographic operation circuit, information processing apparatus and IC card having the cryptographic operation circuit
Martinasek et al. Crucial pitfall of DPA Contest V4. 2 implementation
Fu et al. Linear regression side channel attack applied on constant xor
US7747012B2 (en) Process of security of an electronic unit with cryptoprocessor
JP2006025366A (en) Encryption apparatus and semiconductor integrated circuit
JP2006054568A (en) Encryption apparatus, decryption apparatus and method, and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101026

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101119

R151 Written notification of patent or utility model registration

Ref document number: 4634788

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131126

Year of fee payment: 3