JP2006054568A - Encryption apparatus, decryption apparatus and method, and computer program - Google Patents

Encryption apparatus, decryption apparatus and method, and computer program Download PDF

Info

Publication number
JP2006054568A
JP2006054568A JP2004233359A JP2004233359A JP2006054568A JP 2006054568 A JP2006054568 A JP 2006054568A JP 2004233359 A JP2004233359 A JP 2004233359A JP 2004233359 A JP2004233359 A JP 2004233359A JP 2006054568 A JP2006054568 A JP 2006054568A
Authority
JP
Japan
Prior art keywords
round function
dummy
ciphertext
common key
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.)
Pending
Application number
JP2004233359A
Other languages
Japanese (ja)
Inventor
Joshi Abe
譲司 阿部
Masashi Kanamaru
昌司 金丸
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2004233359A priority Critical patent/JP2006054568A/en
Publication of JP2006054568A publication Critical patent/JP2006054568A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an encryption apparatus or the like with a configuration of enhanced power analysis difficulty of a shared key block encryption, comprising a plurality of stages of round functions. <P>SOLUTION: The encryption apparatus with the configuration of performing the shared key block encryption, comprising a plurality of stages of the round functions includes a regular round function section for receiving conversion data for generating an encryption text or a decryption text; and a dummy round function section, located on in a first stage of the regular round function section or the latter stage and for receiving dummy data to perform dummy arithmetic operations, and the dummy round function arithmetic operation is performed in at least the first stage or the latter stage of an arithmetic performance step of the regular round function section. Through such a configuration, even if an attacker for performing power analysis analyzes the power at performance of each round function, since the distinguishing of the dummy round function from the regular round function becomes difficult, the encryption processing with the enhanced difficulty and attack immunity of the power analysis can be realized. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、暗号化装置、復号化装置、および方法、並びにコンピュータ・プログラムに関する。さらに詳細には、暗号処理を実行する例えばICモジュール等の演算回路における電力解析に基づく暗号解析に対する耐性の高い暗号処理を実現する暗号化装置、復号化装置、および方法、並びにコンピュータ・プログラムに関する。   The present invention relates to an encryption device, a decryption device, a method, and a computer program. More specifically, the present invention relates to an encryption device, a decryption device, a method, and a computer program that realize cryptographic processing with high resistance to cryptographic analysis based on power analysis in an arithmetic circuit such as an IC module that executes cryptographic processing.

昨今、ネットワーク通信、電子商取引の発展に伴い、通信におけるセキュリティ確保が重要な問題となっている。セキュリティ確保の1つの方法が暗号技術であり、現在、様々な暗号化手法を用いた通信が実際に行なわれている。   In recent years, with the development of network communication and electronic commerce, ensuring security in communication has become an important issue. One method of ensuring security is encryption technology, and currently, communication using various encryption methods is actually performed.

例えばICカード等の小型の装置中に暗号処理モジュールを埋め込み、ICカードと、データ読み取り書き込み装置としてのリーダライタとの間でデータ送受信を行ない、認証処理、あるいは送受信データの暗号化、復号化を行なうシステムが実用化されている。   For example, an encryption processing module is embedded in a small device such as an IC card, and data is transmitted / received between the IC card and a reader / writer as a data reading / writing device, and authentication processing or encryption / decryption of transmitted / received data is performed. The system to do is put into practical use.

暗号処理モジュールにおいては、例えば、平文を入力し暗号文を出力するデータ暗号化処理、あるいは暗号文を入力し平文を出力する復号化処理が実行される。これらの暗号処理は、暗号処理モジュールを構成するハードウェア、例えば半導体による電気的な処理を含む。従って、このような半導体モジュールにおいて暗号処理が実行される際の電力消費を解析することで、暗号処理の適用鍵や、アルゴリズムが解析されてしまうという恐れがある。   In the cryptographic processing module, for example, data encryption processing for inputting plaintext and outputting ciphertext, or decryption processing for inputting ciphertext and outputting plaintext is executed. Such cryptographic processing includes electrical processing by hardware that constitutes the cryptographic processing module, for example, a semiconductor. Therefore, by analyzing the power consumption when cryptographic processing is executed in such a semiconductor module, there is a risk that the encryption processing application key or algorithm may be analyzed.

例えば、IC等の演算処理装置に対する攻撃、すなわち暗号解読攻撃として、処理時間を解析することによる秘密情報を推定するタイミングアタック(TA:Timing attack)、暗号処理時の消費電力の観測により秘密情報を推定する単純電力解析(SPA:Simple Power Analysis)、さらに、大量のデータに対する暗号処理における消費電力を測定し、それらの測定データを統計的に解析することにより秘密情報を推定する電力差分解析(DPA:Differential Power Analysis)等がある。   For example, as an attack on an arithmetic processing unit such as an IC, that is, as a cryptanalysis attack, a timing attack (TA: Timing attack) that estimates secret information by analyzing a processing time, and secret information is obtained by observing power consumption during encryption processing Simple power analysis (SPA) to estimate, and power difference analysis (DPA) to estimate the secret information by measuring the power consumption in cryptographic processing for a large amount of data and statistically analyzing the measured data : Differential Power Analysis).

一般的な暗号処理装置は、データ入力部と記憶部と暗号処理部、およびデータ出力部とから構成されており、例えば入力データの暗号化を行う場合は、次のように動作する。すなわち、データ入力部から暗号処理部に平文が入力される。暗号処理部は、例えばDES(Data Encryption Standard)などの暗号処理アルゴリズムを実行する処理部において一定の暗号処理アルゴリズムに従ったデータ処理がなされる。   A typical cryptographic processing apparatus is composed of a data input unit, a storage unit, a cryptographic processing unit, and a data output unit. For example, when encryption of input data is performed, it operates as follows. That is, plaintext is input from the data input unit to the encryption processing unit. The cryptographic processing unit performs data processing according to a certain cryptographic processing algorithm in a processing unit that executes a cryptographic processing algorithm such as DES (Data Encryption Standard).

暗号処理アルゴリズムの実行過程において生成される中間データを逐次、記憶部に格納し、また記憶部に格納した中間データを取得して予め定められた一定の処理順序に従って暗号化処理が実行される。暗号処理部において、予め定められた一連の暗号処理アルゴリズムが終了すると、生成暗号文が出力部を介して出力される。   Intermediate data generated in the execution process of the cryptographic processing algorithm is sequentially stored in the storage unit, and the intermediate data stored in the storage unit is acquired, and the encryption process is executed according to a predetermined processing order. When a predetermined series of cryptographic processing algorithms are completed in the cryptographic processing unit, the generated ciphertext is output via the output unit.

このような暗号処理装置において、暗号化処理の開始時から特定の暗号化中間処理手続きが開始されるまでに要する時間は、おおよそ一定になる。なお、暗号アルゴリズムの実装方法については、例えば非特許文献1に詳しく述べられている。   In such an encryption processing apparatus, the time required from the start of encryption processing to the start of a specific encryption intermediate processing procedure is approximately constant. Note that the implementation method of the encryption algorithm is described in detail in Non-Patent Document 1, for example.

このような暗号処理装置は、前述した単純電力解析(シンプル・パワー・アナリシス)や電力差分解析(ディファレンシャル・パワー・アナリシス)と呼ばれる暗号解析法を適用することで、暗号処理に適用する鍵情報や、アルゴリズムが解析される恐れがある。   Such a cryptographic processing device applies key information applied to cryptographic processing by applying a cryptographic analysis method called simple power analysis (simple power analysis) or differential power analysis (differential power analysis) described above. The algorithm may be analyzed.

単純電力解析および電力差分解析は、現在のメモリやレジスタ等の半導体デバイスにおいて、特定の時刻に、半導体デバイスの保持する値に変化が生じた場合と、保持する値に変化が生じなかった場合とで、消費電力に差が発生するという特徴を利用して、暗号処理装置が暗号処理を実行している様々なタイミングにおいて消費電力を測定することにより、暗号処理装置が保持している暗号鍵等の秘密情報を特定する暗号解析法である。   Simple power analysis and power difference analysis are based on the case where there is a change in the value held by the semiconductor device at a specific time and the case where there is no change in the value held in the current semiconductor device such as a memory or register. By using the feature that the power consumption is different, the cryptographic key held by the cryptographic processing device is measured by measuring the power consumption at various timings when the cryptographic processing device is executing the cryptographic processing. This is a cryptographic analysis method for identifying secret information.

単純電力解析や電力差分解析が有効に機能する条件としては、第1に消費電力を測定している各時点で行われている暗号処理手続きが特定できること、第2に各時刻で測定した消費電力の値が当該時刻において暗号化装置内で行われている暗号化処理の演算結果を顕著に反映していることの2点が挙げられる。   The conditions under which simple power analysis and power difference analysis function effectively are: first, it is possible to specify the cryptographic processing procedure performed at each time when power consumption is measured, and second, power consumption measured at each time There are two points that the value of significantly reflects the calculation result of the encryption processing performed in the encryption device at the time.

従来の暗号化装置、復号化装置および暗号化・復号装置等の暗号処理装置においては、上記の2点の条件が満たされてしまうために、単純電力解析や電力差分解析が有効に機能し、暗号の解読が可能になりうるという問題点が存在している。   In cryptographic processing devices such as conventional encryption devices, decryption devices, and encryption / decryption devices, the above two conditions are satisfied, so simple power analysis and power difference analysis function effectively, There is a problem that it is possible to decrypt the code.

この問題に対処するため、いくつかの方法が提案されてきた。例えば特許文献1には差分解読や線形解読を防止することを目的としたデータの暗号化方法及び装置が記載されている。本文献には、データを複数ブロックに分割して、ブロックを順次、暗号化する構成において、暗号処理対象のブロックに適用する鍵を、前の処理ブロックの中間結果から導く構成とすることにより、ブロック毎に異なる鍵を適用した処理を行うものであり、結果として統計的な鍵推定を困難としたものである。   Several methods have been proposed to address this problem. For example, Patent Document 1 describes a data encryption method and apparatus for the purpose of preventing differential decryption and linear decryption. In this document, in a configuration in which data is divided into a plurality of blocks and the blocks are sequentially encrypted, a key to be applied to a block to be encrypted is derived from an intermediate result of the previous processing block. The processing is performed by applying a different key for each block, and as a result, statistical key estimation is difficult.

また、特許文献2には、暗号処理に適用する鍵情報の漏洩を防止した構成が示されている。本文献に記載の構成は、暗号化された鍵情報を不揮発性メモリに格納し、電源投入時に不揮発性メモリから暗号化された鍵情報を復号し、復号の結果としての鍵情報を揮発性メモリに格納して、これを暗号処理に適用するとともに、電源遮断時に揮発性メモリから鍵情報を能動的に消去することにより、鍵情報の漏洩を防止したものである。   Patent Document 2 shows a configuration that prevents leakage of key information applied to encryption processing. The configuration described in this document stores encrypted key information in a non-volatile memory, decrypts the encrypted key information from the non-volatile memory when the power is turned on, and stores the key information as a result of the decryption in the volatile memory. And is applied to cryptographic processing, and the key information is actively erased from the volatile memory when the power is turned off, thereby preventing the leakage of the key information.

また、特許文献3には、電力解析および電力差分解析等の消費電力の測定による暗号解析に対して耐性のある暗号化装置が示されている。本文献に記載の構成は、中間データ制御手段が、暗号処理において生成される中間データを乱数によって変化させ、この乱数によって変化した中間データに基づく暗号処理を実行する構成とし、さらに最終的な出力(暗号文)については、乱数に依存しないデータとすることを可能としたものである。本構成においては、暗号処理デバイスの状態変化は、乱数によって変化した中間データに基づく変化となり、その結果、電力解析および電力差分解析等、消費電力の測定による暗号解析の困難性が高まるというものである。   Patent Document 3 discloses an encryption device that is resistant to cryptographic analysis based on power consumption measurement such as power analysis and power difference analysis. The configuration described in this document is a configuration in which the intermediate data control unit changes the intermediate data generated in the encryption process by a random number, and executes the encryption process based on the intermediate data changed by the random number, and further the final output (Ciphertext) can be made data independent of random numbers. In this configuration, the state change of the cryptographic processing device becomes a change based on the intermediate data changed by random numbers, and as a result, the difficulty of cryptographic analysis by measuring power consumption such as power analysis and power difference analysis increases. is there.

上述したように、暗号鍵あるいはアルゴリズムの漏洩に対する対策についての提案は様々存在するが、例えば特許文献1に記載の構成は、ブロック単位で、処理済みブロックから中間データを抽出し、新たな鍵を生成するといった複雑な処理が必要となり、演算処理効率の低下、処理遅延という問題を発生させる恐れがある。また、特許文献2に記載の構成は、鍵データそのものの漏洩を防止する効果は有するものの、暗号処理実行中の単純電力解析および電力差分解析等、消費電力の測定による暗号解析に対する対策とはなっていない。さらに、特許文献3に記載の乱数を利用した方法については、高階電力差分解析と呼ばれる暗号解析法によって攻撃が可能なことがMessergesによって既に示されている。例えば、["Using Second−Order Power Analysisto Attack DPA Resistant Software", T.S.Messerges, CHES2000]に説明が記述されている。   As described above, there are various proposals for countermeasures against leakage of encryption keys or algorithms. For example, the configuration described in Patent Document 1 extracts intermediate data from processed blocks in units of blocks, and assigns new keys. Complex processing such as generation is required, which may cause problems such as a reduction in calculation processing efficiency and processing delay. Although the configuration described in Patent Document 2 has an effect of preventing leakage of the key data itself, it is a measure against cryptographic analysis based on power consumption measurement such as simple power analysis and power difference analysis during cryptographic processing. Not. Furthermore, it has already been shown by Messenger that the method using random numbers described in Patent Document 3 can be attacked by a cryptographic analysis method called higher-order power difference analysis. For example, ["Using Second-Order Power Analysis Attack DPA Resistant Software", T. et al. S. [Messages, CHES2000].

暗号処理を実行する例えばICモジュールは、例えば駅の改札などの様々なゲート、あるいはショッピングセンターなどで盛んに利用されるようになっており、小型化および処理の迅速化の要求が厳しくなってきている。従って、処理アルゴリズムを複雑化させることなく、かつ、電力解析に対する耐性のある構成が必要とされている。
特開平9−230786号公報 特開平8−504067号公報 特開2000−305453号公報 『「Applied Cryptography 」(Bruce Shneier 著) John Wieley& Sons ,Inc .,1996 ,ISBN 0 −471 −11709 −9 ,pp .623 −673 』
For example, IC modules that execute cryptographic processing are actively used in various gates such as station ticket gates, shopping centers, and the like, and demands for downsizing and speeding up of processing have become strict. Yes. Therefore, there is a need for a configuration that does not complicate the processing algorithm and is resistant to power analysis.
JP-A-9-230786 JP-A-8-504067 JP 2000-305453 A "" Applied Cryptography "(by Bruce Schneier) John Wiley & Sons, Inc. , 1996, ISBN 0-471-11709-9, pp. 623-673]

本発明は、上記問題点に鑑みてなされたものであり、処理アルゴリズムを複雑化させることなく、暗号処理シーケンスの持つ規則的な処理に伴う消費電力変動の検出等に基づく単純電力解析、電力差分解析や高階電力差分解析による暗号解析の困難性を高めた暗号化装置、復号化装置、および方法、並びにコンピュータ・プログラムを提供することを目的とする。   The present invention has been made in view of the above problems, and does not complicate the processing algorithm. Simple power analysis based on detection of power consumption fluctuations associated with regular processing of cryptographic processing sequences, power difference, etc. It is an object of the present invention to provide an encryption device, a decryption device, and a method, and a computer program that increase the difficulty of encryption analysis by analysis and higher-order power difference analysis.

本発明の第1の側面は、
複数段のラウンド関数からなる共通鍵ブロック暗号を実行する暗号化装置であり、
暗号文生成のための平文または平文に基づく変換データを入力する正規のラウンド関数部と、
前記正規のラウンド関数部の前段、または後段の少なくともいずれかに前記平文または平文に基づく変換データを入力しないダミー演算を実行するダミーラウンド関数部と、
を有することを特徴とする暗号化装置にある。
The first aspect of the present invention is:
An encryption device that executes a common key block cipher consisting of a multi-stage round function,
A regular round function part for inputting plaintext or plaintext conversion data for ciphertext generation;
A dummy round function unit that performs a dummy operation that does not input the plaintext or the conversion data based on the plaintext to at least one of the previous stage or the subsequent stage of the regular round function part;
The encryption apparatus is characterized by comprising:

さらに、本発明の暗号化装置の一実施態様において、前記ダミーラウンド関数部の設定数は、前記共通鍵ブロック暗号に対する電力解析に利用可能な平文数をM、前記共通鍵ブロック暗号に対する電力解析に必要な最小平文数をNとしたとき、前記値M,Nとに基づいて算出した数であることを特徴とする。   Furthermore, in one embodiment of the encryption apparatus of the present invention, the number of settings of the dummy round function part is M for the number of plaintexts available for power analysis for the common key block cipher, and for power analysis for the common key block cipher. When the required minimum number of plaintexts is N, the number is calculated based on the values M and N.

さらに、本発明の暗号化装置の一実施態様において、前記ダミーラウンド関数部の設定数:Lは、前記共通鍵ブロック暗号に対する電力解析に利用可能な平文数をM、前記共通鍵ブロック暗号に対する電力解析に必要な最小平文数をNとしたとき、L>M/N−1を満足する数である構成を有することを特徴とする。   Furthermore, in one embodiment of the encryption apparatus of the present invention, the number of settings of the dummy round function part: L is the number of plaintexts available for power analysis for the common key block cipher, and M is the power for the common key block cipher. It is characterized by having a configuration satisfying L> M / N-1 where N is the minimum number of plaintexts required for analysis.

さらに、本発明の暗号化装置の一実施態様において、前記ダミーラウンド関数部は、前記平文または平文に基づく変換データとは異なるタミーデータを入力し、ダミーデータに基づくラウンド関数演算を実行する構成であることを特徴とする。   Furthermore, in an embodiment of the encryption device of the present invention, the dummy round function unit is configured to input the Tammy data different from the plain text or the conversion data based on the plain text, and execute a round function calculation based on the dummy data. It is characterized by being.

さらに、本発明の第2の側面は、
複数段のラウンド関数からなる共通鍵ブロック暗号を実行する復号化装置であり、
復号文生成のための暗号文または暗号文に基づく変換データを入力する正規のラウンド関数部と、
前記正規のラウンド関数部の前段、または後段の少なくともいずれかに前記暗号文または暗号文に基づく変換データを入力しないダミー演算を実行するダミーラウンド関数部と、
を有することを特徴とする復号化装置にある。
Furthermore, the second aspect of the present invention provides
A decryption device that executes a common key block cipher consisting of a multi-stage round function,
A regular round function part for inputting ciphertext or decryption data based on the ciphertext for generating a decrypted text;
A dummy round function unit that performs a dummy operation that does not input the ciphertext or converted data based on the ciphertext at least one of the previous stage and the subsequent stage of the regular round function part;
The decoding apparatus is characterized by comprising:

さらに、本発明の復号化装置の一実施態様において、前記ダミーラウンド関数部の設定数は、前記共通鍵ブロック暗号に対する電力解析に利用可能な平文数をM、前記共通鍵ブロック暗号に対する電力解析に必要な最小平文数をNとしたとき、前記値M,Nとに基づいて算出した数であることを特徴とする。   Furthermore, in one embodiment of the decryption apparatus of the present invention, the number of dummy round function units set is M for the number of plaintexts available for power analysis for the common key block cipher, and for power analysis for the common key block cipher. When the required minimum number of plaintexts is N, the number is calculated based on the values M and N.

さらに、本発明の復号化装置の一実施態様において、前記ダミーラウンド関数部の設定数:Lは、前記共通鍵ブロック暗号に対する電力解析に利用可能な平文数をM、前記共通鍵ブロック暗号に対する電力解析に必要な最小平文数をNとしたとき、L>M/N−1を満足する数である構成を有することを特徴とする。   Furthermore, in one embodiment of the decryption apparatus of the present invention, the number of settings of the dummy round function part: L is the number of plaintexts available for power analysis for the common key block cipher, and M is the power for the common key block cipher. It is characterized by having a configuration satisfying L> M / N-1 where N is the minimum number of plaintexts required for analysis.

さらに、本発明の復号化装置の一実施態様において、前記ダミーラウンド関数部は、前記暗号文または暗号文に基づく変換データとは異なるタミーデータを入力し、ダミーデータに基づくラウンド関数演算を実行する構成であることを特徴とする。   Furthermore, in one embodiment of the decryption apparatus of the present invention, the dummy round function unit inputs the Tammy data different from the ciphertext or the conversion data based on the ciphertext, and executes a round function operation based on the dummy data. It is the structure.

さらに、本発明の第3の側面は、
複数段のラウンド関数からなる共通鍵ブロック暗号を実行する暗号化方法であり、
暗号文生成のための平文または平文に基づく変換データを入力する正規のラウンド関数実行ステップと、
前記正規のラウンド関数実行ステップの前段、または後段の少なくともいずれかに前記平文または平文に基づく変換データを入力しないダミー演算を実行するダミーラウンド関数実行ステップと、
を有することを特徴とする暗号化方法にある。
Furthermore, the third aspect of the present invention provides
An encryption method for executing a common key block cipher consisting of a multi-stage round function,
A regular round function execution step for inputting plaintext or plaintext-based conversion data for ciphertext generation;
A dummy round function execution step for executing a dummy operation that does not input the plaintext or the conversion data based on the plaintext in at least one of the previous stage and the subsequent stage of the regular round function execution step;
The encryption method is characterized by comprising:

さらに、本発明の暗号化方法の一実施態様において、前記ダミーラウンド関数実行ステップの設定数は、前記共通鍵ブロック暗号に対する電力解析に利用可能な平文数をM、前記共通鍵ブロック暗号に対する電力解析に必要な最小平文数をNとしたとき、前記値M,Nとに基づいて算出した数に設定されていることを特徴とする。   Furthermore, in one embodiment of the encryption method of the present invention, the number of settings of the dummy round function execution step is M for the number of plaintexts available for power analysis for the common key block cipher, and power analysis for the common key block cipher. Is set to a number calculated based on the values M and N, where N is the minimum number of plaintexts required for.

さらに、本発明の暗号化方法の一実施態様において、前記ダミーラウンド関数実行ステップの設定数:Lは、前記共通鍵ブロック暗号に対する電力解析に利用可能な平文数をM、前記共通鍵ブロック暗号に対する電力解析に必要な最小平文数をNとしたとき、L>M/N−1を満足する数であることを特徴とする。   Furthermore, in one embodiment of the encryption method of the present invention, the number of settings of the dummy round function execution step: L is the number of plaintexts available for power analysis for the common key block cipher, and M is for the common key block cipher. When the minimum number of plaintexts necessary for power analysis is N, L> M / N−1 is satisfied.

さらに、本発明の暗号化方法の一実施態様において、前記ダミーラウンド関数実行ステップは、前記平文または平文に基づく変換データとは異なるタミーデータを入力し、ダミーデータに基づくラウンド関数演算を実行することを特徴とする。   Furthermore, in one embodiment of the encryption method of the present invention, the dummy round function execution step inputs the tammy data different from the plaintext or the conversion data based on the plaintext, and executes the round function calculation based on the dummy data. It is characterized by.

さらに、本発明の第4の側面は、
複数段のラウンド関数からなる共通鍵ブロック暗号を実行する復号化方法であり、
復号文生成のための暗号文または暗号文に基づく変換データを入力する正規のラウンド関数実行ステップと、
前記正規のラウンド関数実行ステップの前段、または後段の少なくともいずれかに前記暗号文または暗号文に基づく変換データを入力しないダミー演算を実行するダミーラウンド関数実行ステップと、
を有することを特徴とする復号化方法にある。
Furthermore, the fourth aspect of the present invention provides
A decryption method for executing a common key block cipher consisting of a multi-stage round function,
A regular round function execution step for inputting ciphertext or decryption data based on the ciphertext for decryption text generation;
A dummy round function execution step for executing a dummy operation that does not input the ciphertext or the conversion data based on the ciphertext in at least one of the previous stage and the subsequent stage of the regular round function execution step;
The decoding method is characterized by comprising:

さらに、本発明の復号化方法の一実施態様において、前記ダミーラウンド関数実行ステップの設定数は、前記共通鍵ブロック暗号に対する電力解析に利用可能な平文数をM、前記共通鍵ブロック暗号に対する電力解析に必要な最小平文数をNとしたとき、前記値M,Nとに基づいて算出した数に設定されていることを特徴とする。   Furthermore, in one embodiment of the decryption method of the present invention, the number of set dummy round function execution steps is M for the number of plaintexts available for power analysis for the common key block cipher, and power analysis for the common key block cipher. Is set to a number calculated based on the values M and N, where N is the minimum number of plaintexts required for.

さらに、本発明の復号化方法の一実施態様において、前記ダミーラウンド関数実行ステップの設定数:Lは、前記共通鍵ブロック暗号に対する電力解析に利用可能な平文数をM、前記共通鍵ブロック暗号に対する電力解析に必要な最小平文数をNとしたとき、L>M/N−1を満足する数であることを特徴とする請求項。   Further, in one embodiment of the decryption method of the present invention, the number of settings of the dummy round function execution step: L is the number of plaintexts available for power analysis for the common key block cipher, M, and the common key block cipher The number satisfying L> M / N-1 where N is the minimum number of plaintexts required for power analysis.

さらに、本発明の復号化方法の一実施態様において、前記ダミーラウンド関数実行ステップは、前記平文または平文に基づく変換データとは異なるタミーデータを入力し、ダミーデータに基づくラウンド関数演算を実行することを特徴とする。   Furthermore, in one embodiment of the decryption method of the present invention, the dummy round function execution step inputs the tammy data different from the plaintext or the conversion data based on the plaintext, and executes a round function calculation based on the dummy data. It is characterized by.

さらに、本発明の第5の側面は、
複数段のラウンド関数からなる共通鍵ブロック暗号を実行するコンピュータ・プログラムであり、
暗号文生成のための平文または平文に基づく変換データを入力する正規のラウンド関数実行ステップと、
前記正規のラウンド関数実行ステップの前段、または後段の少なくともいずれかに前記平文または平文に基づく変換データを入力しないダミー演算を実行するダミーラウンド関数実行ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
Furthermore, the fifth aspect of the present invention provides
A computer program for executing a common key block cipher consisting of a multi-stage round function,
A regular round function execution step for inputting plaintext or plaintext-based conversion data for ciphertext generation;
A dummy round function execution step for executing a dummy operation that does not input the plaintext or the conversion data based on the plaintext in at least one of the previous stage and the subsequent stage of the regular round function execution step;
There is a computer program characterized by comprising:

さらに、本発明の第6の側面は、
複数段のラウンド関数からなる共通鍵ブロック暗号を実行するコンピュータ・プログラムであり、
復号文生成のための暗号文または暗号文に基づく変換データを入力する正規のラウンド関数実行ステップと、
前記正規のラウンド関数実行ステップの前段、または後段の少なくともいずれかに前記暗号文または暗号文に基づく変換データを入力しないダミー演算を実行するダミーラウンド関数実行ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
Furthermore, the sixth aspect of the present invention provides
A computer program for executing a common key block cipher consisting of a multi-stage round function,
A regular round function execution step for inputting ciphertext or decryption data based on the ciphertext for decryption text generation;
A dummy round function execution step for executing a dummy operation that does not input the ciphertext or the conversion data based on the ciphertext in at least one of the previous stage and the subsequent stage of the regular round function execution step;
There is a computer program characterized by comprising:

なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。   The computer program of the present invention is, for example, a storage medium or communication medium provided in a computer-readable format to a computer system capable of executing various program codes, such as a CD, FD, or MO. It is a computer program that can be provided by a recording medium or a communication medium such as a network. By providing such a program in a computer-readable format, processing corresponding to the program is realized on the computer system.

本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。   Other objects, features, and advantages of the present invention will become apparent from a more detailed description based on embodiments of the present invention described later and the accompanying drawings. In this specification, the system is a logical set configuration of a plurality of devices, and is not limited to one in which the devices of each configuration are in the same casing.

本発明の構成によれば、複数段のラウンド関数からなる共通鍵ブロック暗号を実行する暗号化処理および復号化処理において、暗号文または復号文生成のための変換データを入力する正規のラウンド関数部と、正規のラウンド関数部の前段、または後段の少なくともいずれかに正規の処理データとは異なるダミーデータを入力してダミー演算を実行するダミーラウンド関数部を構成して、正規のラウンド関数部の演算実行ステップの前段または後段の少なくともいずれかにおいて、ダミーのラウンド関数演算を実行する構成としたので、電力解析を行う攻撃者が各ラウンド関数の実行時の電力を解析しても、ダミーのラウンド関数が実行されているのか、正規のラウンド関数が実行されているかの判別が困難となり、電力解析による鍵解析を防止することができ、攻撃耐性を高めた暗号処理が実現される。   According to the configuration of the present invention, in an encryption process and a decryption process for executing a common key block cipher composed of a plurality of round functions, a regular round function unit for inputting conversion data for generating a ciphertext or a decrypted text And a dummy round function part that executes dummy calculation by inputting dummy data different from the normal processing data to at least one of the front stage and the rear stage of the normal round function part. Since the dummy round function calculation is executed at least before or after the calculation execution step, even if the attacker who performs the power analysis analyzes the power when each round function is executed, the dummy round function is calculated. It becomes difficult to determine whether a function is being executed or a regular round function is being executed. Can be stopped, the cryptographic processing is realized with increased attack resistance.

以下、本発明の暗号化装置、復号化装置、および方法、並びにコンピュータ・プログラムの詳細について説明する。なお、説明は、以下の項目順に行う。
1.DES(Data Encryption Standard)暗号処理の概要と電力差分解析概要
2.本発明に従った解析困難性を高めた暗号処理構成
Details of the encryption apparatus, the decryption apparatus and method, and the computer program of the present invention will be described below. The description will be made in the order of the following items.
1. 1. Outline of DES (Data Encryption Standard) encryption processing and power difference analysis Cryptographic processing configuration with improved analysis difficulty according to the present invention

[1.DES(Data Encryption Standard)暗号処理の概要と電力差分解析概要]
まず、DES(Data Encryption Standard)暗号処理の概要と電力差分解析概要について説明する。
[1. Outline of DES (Data Encryption Standard) encryption processing and power difference analysis]
First, an outline of DES (Data Encryption Standard) encryption processing and an outline of power difference analysis will be described.

暗号処理アルゴリズムには様々なものがあるが、大きく分類すると、暗号化鍵と復号化鍵を異なる鍵、例えば公開鍵と秘密鍵として設定する公開鍵暗号方式と、暗号化鍵と復号化鍵を共通の鍵として設定する共通鍵暗号方式とに分類される。   There are various cryptographic processing algorithms, but broadly classified, the encryption key and the decryption key are different keys, for example, a public key cryptosystem that sets a public key and a private key, and an encryption key and a decryption key. It is classified into a common key encryption method set as a common key.

共通鍵暗号方式の1つに共通鍵をベースとして複数の鍵を生成して、生成した複数の鍵を用いて暗号処理を繰り返し実行する方式がある。このような鍵生成方式を適用したアルゴリズムの代表的なものが共通鍵ブロック暗号方式である。   One common key cryptosystem is a system in which a plurality of keys are generated based on a common key, and cryptographic processing is repeatedly executed using the generated plurality of keys. A typical algorithm to which such a key generation method is applied is a common key block encryption method.

共通鍵ブロック暗号のアルゴリズムは、主として、入力データの変換を実行するラウンド関数部と、ラウンド関数部の各ラウンドで適用する鍵を生成する鍵スケジュール部とに分けることができる。ラウンド関数部の各ランウドで適用する鍵(副鍵)は、1つのマスター鍵(主鍵)に基づいて、鍵スケジュール部に入力されて生成され、各ラウンド関数部で適用される。この共通鍵暗号方式の代表的な方式に米国連邦標準暗号方式としてのDES(Data Encryption Standard)がある。   The algorithm of the common key block cipher can be mainly divided into a round function part that performs conversion of input data and a key schedule part that generates a key to be applied in each round of the round function part. A key (subkey) to be applied in each round of the round function part is generated by being input to the key schedule part based on one master key (primary key) and applied in each round function part. A typical method of this common key encryption method is DES (Data Encryption Standard) as a US federal standard encryption method.

DES暗号処理の基本構造について、図を参照して説明する。DES暗号処理は、変換関数の単純な繰り返しにより、平文を暗号文に変換する構造を持つ。図1にDES暗号処理の基本構成を示す。入力データの変換を実行するラウンド関数部110と、ラウンド関数部の各ラウンドで適用する鍵を生成する鍵スケジュール部120とによって構成される。   The basic structure of DES encryption processing will be described with reference to the drawings. The DES encryption process has a structure for converting plaintext into ciphertext by simple repetition of a conversion function. FIG. 1 shows a basic configuration of DES encryption processing. The round function unit 110 executes conversion of input data, and the key schedule unit 120 generates a key to be applied in each round of the round function unit.

ラウンド関数部110において、平文(64ビット)は、まず、初期置換部111において、L,R各32ビットに分割され、分割されたL,R32ビットが、第1段ラウンド関数部112に入力され、鍵スケジュール部120の第1段鍵生成部122から入力する鍵K(1)に基づいて変換処理がなされる。変換処理結果は、次段の第2段ラウンド関数部113に入力される。   In the round function unit 110, the plaintext (64 bits) is first divided into 32 bits each of L and R in the initial replacement unit 111, and the divided L and R 32 bits are input to the first round function unit 112. The conversion process is performed based on the key K (1) input from the first-stage key generation unit 122 of the key schedule unit 120. The conversion process result is input to the second-stage round function unit 113 in the next stage.

鍵スケジュール部120においては、まず、マスター鍵(主鍵)置換部(PC−1)121により入力マスター鍵(主鍵:64ビット)のパリティ8ビットが取り除かれ、残り56ビットの入れ替え処理が実行されて第1段ラウンド鍵生成部122に入力される。第1段ラウンド鍵生成部122では、入力ビット列のシフト処理およびパリティビットの除去等が実行され、48ビットのラウンド鍵K(1)を生成し、生成したラウンド鍵K(1)をラウンド関数部110の第1段ラウンド関数部112に出力する。第1段ラウンド鍵生成部122では、シフト処理による上位ビット列(28ビット)と下位ビット列(28ビット)とを下段の第2段ラウンド鍵生成部123に出力する。   In the key schedule unit 120, first, the master key (primary key) replacement unit (PC-1) 121 removes the 8 bits of parity of the input master key (primary key: 64 bits), and the remaining 56 bits are replaced. Input to the first round key generation unit 122. In the first stage round key generation unit 122, the shift process of the input bit string and the removal of the parity bit are executed to generate the 48-bit round key K (1), and the generated round key K (1) is used as the round function unit. 110 to the first round function unit 112. The first-stage round key generation unit 122 outputs the higher-order bit string (28 bits) and the lower-order bit string (28 bits) obtained by the shift process to the second-stage round key generation unit 123 in the lower stage.

ラウンド関数部は、16段のラウンド関数部を有し、それぞれ前段のラウンド関数部の出力を入力として鍵スケジュール部120から入力する鍵を適用した変換処理を実行し、変換結果を後段のラウンド関数部に出力する。16段のラウンド関数部で変換された出力が逆置換部114に入力され、初期置換部111の逆置換処理が実行されて、暗号文として出力される。   The round function section has 16 round function sections, each of which executes the conversion process using the key input from the key schedule section 120 with the output of the previous round function section as an input, and converts the conversion result into the subsequent round function. To the output. The output converted by the 16-stage round function part is input to the reverse replacement part 114, the reverse replacement process of the initial replacement part 111 is executed, and output as ciphertext.

ラウンド関数部110の各ラウンドを構成する各段のラウンド関数部の構成を図2に示す。図2に示すように、ラウンド関数部は、前段(n−1段)のラウンド関数部から2つの入力、L(n−1)、R(n−1)を入力し、鍵スケジュール部から鍵(k(n))を入力する。F関数部151において、鍵スケジュール部から入力する鍵(k(n))を用いて、前段ラウンド関数部から入力するビット列(R(n−1))の変換処理がなされ、変換結果が、前段ラウンド関数部から入力する残りのビット列(L(n−1))と排他論理和が実行されて、次段のラウンド関数部の出力R(n)が生成される。次段のラウンド関数部には、R(n−1)をL(n)としたビット列と、上述のF関数および排他論理和演算により生成されたR(n)が入力され同様の処理が繰り返される。   FIG. 2 shows the configuration of the round function unit at each stage constituting each round of the round function unit 110. As shown in FIG. 2, the round function unit receives two inputs, L (n-1) and R (n-1), from the round function unit of the previous stage (n-1 stage), and the key from the key schedule part. Enter (k (n)). In the F function unit 151, the bit string (R (n-1)) input from the previous round function unit is converted using the key (k (n)) input from the key schedule unit, and the conversion result is converted to the previous result. The remaining bit string (L (n-1)) input from the round function part and exclusive OR are executed to generate the output R (n) of the next round function part. In the next round function section, a bit string with R (n-1) as L (n) and the above F function and R (n) generated by the exclusive OR operation are input, and the same processing is repeated. It is.

F関数の構成を図3に示す。F関数は、非線形処理を実行する複数のSボックス(Sbox)を有する。ラウンド関数部の前段からの入力値R(n−1)は置換部171によって48ビットに拡大され、さらに鍵スケジュール部から入力する鍵(48ビット)と排他論理和が実行され、その出力が6ビットずつ非線形変換処理を実行する複数のSボックス181−1〜8に入力される。各Sボックスでは、例えば変換テーブルを適用した6ビットから4ビットへの非線形変換処理が実行される。   The configuration of the F function is shown in FIG. The F function includes a plurality of S boxes (Sboxes) that perform nonlinear processing. The input value R (n−1) from the previous stage of the round function part is expanded to 48 bits by the replacing part 171, and the exclusive OR is executed with the key (48 bits) input from the key schedule part, and the output is 6 It is input to a plurality of S boxes 181-1 to 18-8 for executing nonlinear conversion processing bit by bit. In each S box, for example, nonlinear conversion processing from 6 bits to 4 bits to which a conversion table is applied is executed.

Sボックス181−1〜8からの出力ビット4×8=32ビットは、置換部172に入力されて、ビット位置の入れ替え処理がなされ、F関数出力32ビットを生成して出力する。   The output bits 4 × 8 = 32 bits from the S box 181-1 to 8 are input to the replacement unit 172, the bit position is exchanged, and the F function output 32 bits are generated and output.

図1〜3を参照して説明したように複数段(16段)の変換処理によってDES暗号処理が実行される。このDES暗号処理をさらに暗号強度を高めるため複数繰り返し実行する構成、例えば3回のDES暗号処理を実行するトリプルDES暗号処理が様々な分野、例えばインターネットを介したデータ通信機器間の相互認証処理や、ICカードとリーダライタ間の相互認証処理等に適用する暗号処理として多く採用されている。なお、トリプルDES暗号処理と区別するため、1回のDES暗号処理をシングルDES暗号処理と呼ぶ。   As described with reference to FIGS. 1 to 3, the DES encryption process is executed by a multi-stage (16-stage) conversion process. A configuration in which this DES encryption process is repeatedly executed to further increase the encryption strength, for example, a triple DES encryption process that executes three DES encryption processes is performed in various fields, for example, a mutual authentication process between data communication devices via the Internet, It is often used as an encryption process applied to a mutual authentication process between an IC card and a reader / writer. In order to distinguish from the triple DES encryption process, one DES encryption process is referred to as a single DES encryption process.

トリプルDES(Triple DES)暗号処理構成は、図4に示すように、図1〜3を参照して説明したDES暗号処理を3回繰り返して実行することにより、平文から暗号文を生成する。シングルDES暗号処理部185、186,187のそれぞれが上述した16段のラウンド関数部を持ち、Sボックスを持つF関数による処理を16回繰り返す。   As shown in FIG. 4, the triple DES (Triple DES) cipher processing configuration generates cipher text from plain text by repeatedly executing the DES cipher processing described with reference to FIGS. 1 to 3. Each of the single DES encryption processing units 185, 186, and 187 has the 16-stage round function unit described above, and repeats the process by the F function having the S box 16 times.

通常、トリプルDES暗号処理では、最初のシングルDES暗号処理部185と、最後のDES暗号処理部187においては同じマスター鍵(主鍵)(K1)を適用し、中間のDES暗号処理部186には異なるマスター鍵(主鍵)(K2)を適用する。このように、DES暗号処理を複数回繰り返し実行することで、暗号強度を向上させることができる。   Normally, in triple DES encryption processing, the same master key (primary key) (K1) is applied to the first single DES encryption processing unit 185 and the last DES encryption processing unit 187, and the intermediate DES encryption processing unit 186 is different. Apply the master key (main key) (K2). As described above, the encryption strength can be improved by repeatedly executing the DES encryption processing a plurality of times.

しかし、このような共通鍵暗号処理においては、暗号解析による鍵、あるいは暗号アルゴリズムの漏洩が問題となっている。暗号解析手法としては、複数の種類がある。まず、単純電力解析(SPA:Simple Power Analysis)について説明する。スマートカードなどの耐タンパデバイスのほとんどはトランジスタで構成された論理回路からなり、ゲートに電圧が加えられたときに電流が流れ、電力が消費される。一般に回路の消費電力は、実行している演算と用いられているデータの値に関係する。例えば、乗法演算は0を書き込む場合よりも1を書き込む場合のほうが消費電力が大きくなり、乗法演算と平方演算ではそれぞれ異なる電力を消費する。   However, in such a common key encryption process, there is a problem of leakage of keys or cryptographic algorithms by cryptographic analysis. There are several types of cryptographic analysis methods. First, simple power analysis (SPA: Simple Power Analysis) will be described. Most tamper-resistant devices such as smart cards are composed of logic circuits composed of transistors, and when voltage is applied to the gate, current flows and power is consumed. In general, the power consumption of a circuit is related to the operation being executed and the value of the data being used. For example, in the multiplicative operation, the power consumption is larger when 1 is written than when 0 is written, and different power is consumed in the multiplicative operation and the square operation.

このように演算やデータ値に応じて電力消費量が変動することから、秘密情報を用いた演算を行っているデバイスの消費電力の変化を観察することで、秘密情報に関してハミングウェイトなどの情報を得ることが可能となり、エントロピーを小さくすることができる。消費電力の変化を直接解析に用いる方法を単純電力解析と呼ぶ。   Since the power consumption varies depending on the calculation and the data value in this way, by observing the change in the power consumption of the device performing the calculation using the secret information, information such as the Hamming weight can be obtained regarding the secret information. Can be obtained, and the entropy can be reduced. A method of directly using changes in power consumption for analysis is called simple power analysis.

デバイスの消費電力は、デバイスと電源または接地との間に抵抗を直列に挿入し、抵抗を流れる電流値から求めることができる。実際に共通鍵暗号の演算を行っているスマートカードに対して消費電力測定を行うと、測定波形より共通鍵暗号の各段の演算がはっきり確かめられる。さらに、消費電力波形を詳しく解析することにより鍵レジスタの交換等の情報を得ることができる。   The power consumption of the device can be obtained from a current value flowing through the resistor by inserting a resistor in series between the device and the power source or the ground. When power consumption is measured for a smart card that is actually performing a common key encryption operation, the operation of each stage of the common key encryption can be clearly confirmed from the measured waveform. Furthermore, information such as key register exchange can be obtained by analyzing the power consumption waveform in detail.

次に、電力差分解析(DPA:Differential Power Analysis)について説明する。耐タンパデバイスの消費電力は一般に演算内容と演算に用いられている秘密情報に依存する。しかしこれらの内容に依存した消費電力の変化は小さく、測定誤差やノイズなどから見分けることは一般に困難である。   Next, power difference analysis (DPA: Differential Power Analysis) will be described. The power consumption of the tamper resistant device generally depends on the calculation contents and secret information used for the calculation. However, changes in power consumption depending on these contents are small, and it is generally difficult to distinguish from measurement errors and noise.

そこでKocherらは大量の測定値の平均をとって測定誤差やノイズなどの影響を小さくし、全データの平均値との差分を取ることで演算プロセスによる電力消費の影響を除いて、用いられる秘密情報による消費電力の変化のみを取り出す方法、すなわち、電力差分解析(DPA:Differential Power Analysis)を提案した。   Therefore, Kocher et al. Take the average of a large amount of measurement values to reduce the influence of measurement errors and noise, and take the difference from the average value of all data to eliminate the influence of power consumption due to the calculation process. A method of extracting only a change in power consumption according to information, that is, a differential power analysis (DPA) was proposed.

KocherらはDESに対する適用例を示している。まず、ラウンド関数部の第1段、または第16段に入るラウンド鍵の一部のビットについて予想し、第1段、または第16段の最後にメモリに書きこまれると予想されるデータの1ビットの値に注目して、その値に従って消費電力の観測データを分類する。次にそれぞれのグループについて測定値の平均をとり、それらの差分をとる。予想が正しい場合注目したビットが演算に用いられるとき消費電力の差分が大きくなる。予想が異なる場合目立った差分は確認されない。   Kocher et al. Shows an application example for DES. First, a bit of a part of the round key entering the first stage or the sixteenth stage of the round function part is predicted, and 1 of data expected to be written to the memory at the end of the first stage or the sixteenth stage. Focusing on the value of the bit, the observation data of the power consumption is classified according to the value. Next, the average of the measured values is taken for each group, and the difference between them is taken. When the prediction is correct, the difference in power consumption becomes large when the focused bit is used for the calculation. If the forecasts are different, no noticeable difference is confirmed.

電力差分解析は、具体的には、以下の手順(ステップ1〜ステップ7)に従った解析が行われる。
(ステップ1)
m回暗号化プロセスを観測し、それぞれ第16段の消費電力の変化T1,・・・,Tmを観測する。さらに、暗号文C1,・・・,Cmを記録する。第16段の消費電力の変化を解析に用いる場合、平文の情報は必要ない。なお、mは1000程度で十分である。
Specifically, the power difference analysis is performed according to the following procedure (step 1 to step 7).
(Step 1)
Observe the encryption process m times, and observe the power consumption changes T1,. Further, ciphertexts C1,..., Cm are recorded. When the change in power consumption at the 16th stage is used for analysis, plaintext information is not necessary. Note that about 1000 is sufficient for m.

(ステップ2)
鍵に依存した分配関数D(Ks,C)を選択する。ただし、Ksは何らかの鍵情報、Cは暗号文である。
例えば、最終段のSボックス1の出力の1ビット目の値に着目し、Sボックス1に供給される6ビットの部分鍵を推定する場合を考える。この場合、関数Dは次式で与えられる。
(Step 2)
A distribution function D (Ks, C) depending on the key is selected. However, Ks is some key information and C is a ciphertext.
For example, let us consider a case where a 6-bit partial key supplied to the S box 1 is estimated by paying attention to the value of the first bit of the output of the S box 1 at the final stage. In this case, the function D is given by

Figure 2006054568
Figure 2006054568

ただし、
K16は、第16段にSボックス1に供給される6ビットの部分鍵の予想値、
C6はK16と排他論理和(XOR)される暗号文の6ビット、
SBOX1(x)はSボックス1に6ビットxが供給された場合の出力結果の1ビット目、
C1はSBOX1の出力結果に排他論理和(XOR)される暗号文の1ビットである。
However,
K16 is the expected value of the 6-bit partial key supplied to the S box 1 in the 16th stage,
C6 is 6 bits of ciphertext that is XORed with K16,
SBOX1 (x) is the first bit of the output result when 6 bits x is supplied to S box 1,
C1 is one bit of the ciphertext that is XORed with the output result of SBOX1.

(ステップ3)
関数Dを用いてT1,・・・,Tmを2つのグループに分ける。
S0={Ti|D(・,・,・)=0}
S1={Ti|D(・,・,・)=1}
(Step 3)
Using function D, T1,..., Tm are divided into two groups.
S0 = {Ti | D (.,.,.) = 0}
S1 = {Ti | D (.,.,.) = 1}

次に、それぞれのグループについて消費電力の平均値を取る。   Next, the average value of power consumption is taken for each group.

Figure 2006054568
Figure 2006054568

ただし、|S0|+|S1|=mである。   However, | S0 | + | S1 | = m.

(ステップ4)
A0とA1の差分をとり、電力差分信号ΔDを得る。
ΔD=A0−A1
(Step 4)
The difference between A0 and A1 is taken to obtain a power difference signal ΔD.
ΔD = A0−A1

(ステップ5)
部分鍵の予想値Ksが正しくない場合、D(・,・,・)は暗号文に対してほぼランダムに"0"と"1"を出力する。従って十分多くのサンプルを取ると、ΔDの値は0に近づいていく。ただし、実際には正しい予想値Ksとの相互作用のため、ΔDの波形は完全にはフラットにならない。Ksが正しい場合は、D(・,・,・)は注目したビットの実際の値と同じ値を取るため、m→∞とすることで、ΔDは注目したビットを用いるときに消費する電力に近づいていく。
(Step 5)
If the expected value Ks of the partial key is not correct, D (•, •, •) outputs “0” and “1” almost randomly to the ciphertext. Therefore, when a sufficiently large number of samples are taken, the value of ΔD approaches zero. However, in practice, the waveform of ΔD does not become completely flat because of the interaction with the correct expected value Ks. When Ks is correct, D (.,.,.) Takes the same value as the actual value of the focused bit. Therefore, by setting m → ∞, ΔD is the power consumed when using the focused bit. Approaching.

他のデータ値や測定誤差などD(・,・,・)に依存しないものは0に近づいていく。消費電力はデータのビット値に依存するため、D(・,・,・)の波形は注目したビットが用いられる領域でパルスを見せ、それ以外の領域では平坦になる。   Other data values and measurement errors that do not depend on D (•, •••) approach 0. Since the power consumption depends on the bit value of the data, the waveform of D (•, •, •) shows a pulse in the region where the focused bit is used, and becomes flat in other regions.

(ステップ6)
以上を繰り返し、Sボックス1に供給される部分鍵を推定する。反復の最大値は2=64回である。
(Step 6)
The above is repeated and the partial key supplied to the S box 1 is estimated. The maximum number of iterations is 2 6 = 64 times.

(ステップ7)
同様の作業を残り7つのSボックスについて行い、秘密鍵について48ビットの情報を得る。残りの8ビットの鍵情報は全探索によって求める。これは、DESに関する例であるが、Camellia等で利用されている8×8Sboxについても同様に適用が可能である。
(Step 7)
The same operation is performed for the remaining seven S boxes to obtain 48-bit information about the secret key. The remaining 8-bit key information is obtained by a full search. This is an example related to DES, but the same can be applied to 8 × 8 Sbox used in Camellia and the like.

DES各ラウンドのF関数は、先に図3を参照して説明したように、8つのSボックス(Sbox)を有し、その各々のSボックスに対して、48ビットのラウンド鍵の6ビットの部分鍵が対応づけられる構成となっている。   As described above with reference to FIG. 3, the F function of each DES round has 8 S-boxes (Sboxes), and for each S-box, the 6-bit of the 48-bit round key. The partial key is associated with each other.

図3に示すように、F関数は、非線形処理を実行する8つのSボックス(Sbox)を有する。ラウンド関数部の前段からの入力値R(n−1)は置換部171によって48ビットに拡大され、さらに鍵スケジュール部から入力する鍵(48ビット)と排他論理和が実行され、その出力が6ビットずつ非線形変換処理を実行する複数のSボックス181−1〜8に入力される。各Sボックスでは、例えば変換テーブルを適用した6ビットから4ビットへの非線形変換処理が実行される。   As shown in FIG. 3, the F function has eight S boxes (Sboxes) that perform nonlinear processing. The input value R (n−1) from the previous stage of the round function part is expanded to 48 bits by the replacing part 171, and the exclusive OR is executed with the key (48 bits) input from the key schedule part, and the output is 6 It is input to a plurality of S boxes 181-1 to 18-8 for executing nonlinear conversion processing bit by bit. In each S box, for example, nonlinear conversion processing from 6 bits to 4 bits to which a conversion table is applied is executed.

Sボックス181−1〜8からの出力ビット4×8=32ビットは、置換部172に入力されて、ビット位置の入れ替え処理がなされ、F関数出力32ビットを生成して出力する。   The output bits 4 × 8 = 32 bits from the S box 181-1 to 8 are input to the replacement unit 172, the bit position is exchanged, and the F function output 32 bits are generated and output.

8つのSボックス(Sbox)181−1〜8各々への入力は、ラウンド関数部の前段からの入力値R(n−1)は置換部171によって48ビットに拡大置換されたデータの48/8=6ビットと、鍵スケジュール部から入力するラウンド鍵(48ビット)を構成する48/8=6ビットとの排他論理和結果である。   The input to each of the eight S boxes (Sbox) 181-1 to 8-8 is 48/8 of the data in which the input value R (n-1) from the previous stage of the round function part is expanded and replaced with 48 bits by the replacement part 171. = 6 bits and the exclusive OR result of 48/8 = 6 bits constituting the round key (48 bits) input from the key schedule part.

暗号解析においては、ラウンド関数部における第1段では既知の入力値を適用可能であり、第16段では、出力値を取得可能である。従って、ラウンド関数部における第1段および第16段の8つのSボックス(Sbox)181−1〜8の入力値を上述したKocherらによる電力差分解析(DPA:Differential Power Analysis)により推定することで、第1段および第16段のラウンド鍵が解析可能となる。   In the cryptographic analysis, a known input value can be applied at the first stage in the round function section, and an output value can be obtained at the sixteenth stage. Therefore, by estimating the input values of the eight S boxes (Sbox) 181-1 to 8 in the first stage and the 16th stage in the round function part by the above-described power difference analysis (DPA: Differential Power Analysis) by Kocher et al. The first and 16th round keys can be analyzed.

次に、高階電力差分解析について説明する。
上に述べた電力差分解析はサンプルの一つのイベントに基づいた情報に対して解析を行っているが、高次電力差分解析は複数のイベントに基づいた情報を関連付けて解析に用いる。分配関数Dはサンプルごとにそれぞれ異なる重み付けをしたり、2つ以上のグループ分けをしたりすることができる。そのような関数は多くの防御策を封じ、平文や暗号文の情報が不完全な場合でも解析が可能な場合がある。また、特徴的な統計的性質を持つサンプルに対しては、単純に平均をとるのではなく別の処理を行うことが有効である。
Next, the higher-order power difference analysis will be described.
In the power difference analysis described above, analysis is performed on information based on one event of the sample. In the high-order power difference analysis, information based on a plurality of events is associated with each other and used for analysis. The distribution function D can be weighted differently for each sample or can be divided into two or more groups. Such a function seals many defensive measures and may be able to analyze even if plaintext or ciphertext information is incomplete. For samples having characteristic statistical properties, it is effective to perform another process instead of simply taking an average.

[2.本発明に従った解析困難性を高めた暗号処理構成]
次に、本発明に従った解析困難性を高めた暗号処理構成について説明する。上述したように、暗号処理に対する電力差分解析による暗号処理鍵が解析される可能性があることは、暗号処理によるデータのセキュリティが十分に保持されないという問題を引き起こすことになる。
[2. Cryptographic processing configuration with improved analysis difficulty according to the present invention]
Next, an encryption processing configuration with improved analysis difficulty according to the present invention will be described. As described above, the possibility that the encryption processing key by the power difference analysis for the encryption processing may be analyzed causes a problem that the security of the data by the encryption processing is not sufficiently maintained.

暗号処理として適用される暗号アルゴリズムには、DES(Data Encryption Standard)、トリプルDES、さらには、DESに代わる次世代の共通鍵暗号として知られるAES(Advanced Encryption Standard)などがある。AESは、鍵長が128、192、256bitと、DESの64bit鍵長に比較して長いビット長の鍵を適用した暗号処理であり、強固な安全性を持つものである。AESでは、鍵長、ブロック長とも128、192、256bitと、独立に異なるビット長とした処理が可能であり、上述したDESと同様、複数のラウンドの処理を繰り返し実行する。   Encryption algorithms applied as encryption processing include DES (Data Encryption Standard), Triple DES, and AES (Advanced Encryption Standard) known as next-generation common key encryption replacing DES. AES is a cryptographic process in which a key length of 128, 192, 256 bits and a bit length longer than the DES 64-bit key length is applied, and has strong security. In AES, both the key length and the block length can be set to 128, 192, and 256 bits, which are independently different bit lengths, and a plurality of round processes are repeatedly executed as in the above-described DES.

しかし、いずれの暗号処理アルゴリズムにおいても、上述した電力差分解析などの手法による暗号鍵の解析を完全に防止することは困難である。一旦、鍵の漏洩が発生すると、その暗号処理を適用したデータのセキュリティは維持されなくなる。   However, in any encryption processing algorithm, it is difficult to completely prevent the analysis of the encryption key by the method such as the power difference analysis described above. Once the key leakage occurs, the security of the data to which the cryptographic process is applied cannot be maintained.

一般的に、DES、トリプルDES、AESなど、どの暗号アルゴリズムを適用する場合であっても、その暗号処理は図5に示すような処理として実行される。図5には、(A)DES、(B)トリプルDES、(C)AESの暗合アルゴリズムに従った暗号処理構成を示している。例えば(A)のDES暗号処理部191を適用した処理の場合、DES暗号処理部191は、マスター鍵:Kを入力して、マスター鍵:Kに基づいてラウンド鍵を生成し、入力平文(PT)に対して、図1を参照して説明した16段のラウンド関数を繰り返し実行して、暗号文(CT)を出力する。   In general, regardless of which encryption algorithm is applied, such as DES, triple DES, or AES, the encryption processing is executed as shown in FIG. FIG. 5 shows an encryption processing configuration according to the encryption algorithm of (A) DES, (B) triple DES, and (C) AES. For example, in the case of processing to which the DES encryption processing unit 191 of (A) is applied, the DES encryption processing unit 191 inputs a master key: K, generates a round key based on the master key: K, and inputs an input plaintext (PT ), The 16-stage round function described with reference to FIG. 1 is repeatedly executed to output ciphertext (CT).

(B)トリプルDES構成では、DES暗号処理部192〜194を適用し、これらの3つのDES暗号処理部192〜194に対して、マスター鍵:K1またはK2を入力して、3つのDES暗号処理部192〜194の各々が、入力マスター鍵に基づいてラウンド鍵を生成し、入力平文(PT)に対して、図1を参照して説明した16段のラウンド関数を繰り返し実行して、暗号文(CT)を出力する。   (B) In the triple DES configuration, the DES encryption processing units 192 to 194 are applied, and the master key: K1 or K2 is input to these three DES encryption processing units 192 to 194, and three DES encryption processings are performed. Each of the units 192 to 194 generates a round key based on the input master key, repeatedly executes the 16-stage round function described with reference to FIG. (CT) is output.

(C)AES構成においても、AES暗号処理部195において、鍵長がDESより比較して長い例えば128、192、256bitの鍵:Kを入力した暗号処理が実行される。   (C) Also in the AES configuration, the AES encryption processing unit 195 executes encryption processing in which a key: K of 128, 192, 256 bits, for example, whose key length is longer than DES is input.

しかし、いずれの暗号処理においても、暗号処理鍵:Kが、上述の電力解析などにより漏洩する可能性を有しており、セキュリティレベルが低下する可能性を有している。   However, in any cryptographic processing, the cryptographic processing key: K has a possibility of leaking due to the above-described power analysis or the like, and the security level may be lowered.

このような鍵解析の可能性を考慮した上で、暗号処理データの生成、格納、通信処理などにおけるセキュリティレベルの低下を防止した本発明の構成について説明する。   Considering the possibility of such key analysis, a configuration of the present invention that prevents a decrease in security level in generation, storage, communication processing, etc. of cryptographic processing data will be described.

先に図1を参照して説明したように、従来のDES暗号アルゴリズムは、16段のラウンド関数部の繰り返しの変換処理によって、平文から暗号文の生成を行っている。本発明の構成では、図6に示すように、正規のラウンド関数実行部の前段または後段の少なくともいずれかにダミーのラウンド関数部を構成する。   As described above with reference to FIG. 1, the conventional DES encryption algorithm generates ciphertext from plaintext by repetitive conversion processing of a 16-stage round function section. In the configuration of the present invention, as shown in FIG. 6, a dummy round function unit is configured in at least one of the preceding stage and the subsequent stage of the regular round function execution unit.

図6の構成において、正規のラウンド関数実行部は、第1変換部202、第2変換部203〜第16変換部204の16段のラウンド関数部によって構成され、第1変換部202の前段に2つのダミーラウンド関数部D−2,211と、ダミーラウンド関数部D−1,212とを設定し、第16変換部204の後段に2つのダミーラウンド関数部D1,213と、ダミーラウンド関数部D2,214とを設定している。   In the configuration of FIG. 6, the regular round function execution unit is configured by 16 round function units of the first conversion unit 202 and the second conversion unit 203 to the 16th conversion unit 204. Two dummy round function units D-2 and 211 and dummy round function units D-1 and 212 are set, and two dummy round function units D1 and 213 and a dummy round function unit are arranged at the subsequent stage of the sixteenth conversion unit 204. D2 and 214 are set.

ダミーラウンドを適用しない通常の暗号処理の実行アルゴリズムとしては、平文は、まず、初期置換部201において、L,R各32ビットに分割され、分割されたL,R32ビットが、第1段ラウンド関数部202に入力され、図示しない鍵スケジュール部の第1段鍵生成部から入力する鍵K(1)に基づいて変換処理がなされ、変換処理結果が、次段の第2段ラウンド関数部203に入力され、正規のラウンド関数実行部の最終段である第16段ラウンド関数部204の変換結果が逆置換部205に入力され、初期置換部201の逆置換処理が実行されて、暗号文として出力される。   As an execution algorithm for normal cryptographic processing that does not apply a dummy round, the plaintext is first divided into 32 bits of L and R in the initial replacement unit 201, and the divided L and R32 bits are used as the first-stage round function. Conversion processing is performed based on the key K (1) input to the unit 202 and input from the first-stage key generation unit of the key schedule unit (not shown), and the conversion processing result is sent to the second-stage round function unit 203 of the next stage. The conversion result of the 16th round function unit 204, which is the final stage of the regular round function execution unit, is input to the reverse replacement unit 205, the reverse replacement process of the initial replacement unit 201 is executed, and output as ciphertext Is done.

ダミーラウンドを適用する場合の処理は、第1段ラウンド関数部202における正規のラウンド関数の実行ステップの前に、図に示す2つのダミーラウンド関数、すなわち、ダミーラウンド関数部D−2,211と、ダミーラウンド関数部D−1,212とによって2つのサイクルのラウンド関数による計算が実行される。ただし、このダミーラウンドは、電力解析を撹乱することが目的であるため、平文データを入力した処理は実行せず、ダミーデータを入力して実行する。   In the case of applying the dummy round, before the step of executing the regular round function in the first-stage round function unit 202, two dummy round functions shown in the figure, that is, dummy round function units D-2 and 211, The calculation by the round function of two cycles is executed by the dummy round function units D-1 and 212. However, since the purpose of this dummy round is to disturb power analysis, the process of inputting plain text data is not executed, and dummy data is input and executed.

ダミーデータを入力し、ダミーラウンド関数部D−2,211と、ダミーラウンド関数部D−1,212とによって2つのサイクルのラウンド関数処理が終了した後、正規の第1段ラウンド関数部202におけるラウンド関数が実行される。その後、正規のラウンド関数実行部の最終段である第16段ラウンド関数部204の変換処理が終了すると、図に示す第16変換部204の後段に設定した2つのダミーラウンド関数部D1,213と、ダミーラウンド関数部D2,214によるラウンド関数が実行される。この2つのダミーラウンドも、電力解析を撹乱することが目的であるため、平文データを入力した処理は実行せず、ダミーデータを入力して実行する。   After the dummy data is input and the round function processing of two cycles is completed by the dummy round function units D-2 and 211 and the dummy round function units D-1 and 212, in the regular first-stage round function unit 202 A round function is executed. Thereafter, when the conversion process of the sixteenth round function unit 204, which is the final stage of the regular round function execution unit, is completed, the two dummy round function units D1, 213 set in the subsequent stage of the sixteenth conversion unit 204 shown in FIG. The round function by the dummy round function part D2, 214 is executed. The purpose of these two dummy rounds is to disturb the power analysis, so the process of inputting plaintext data is not executed, and dummy data is input and executed.

これらの2つのダミーラウンドが終了した後、正規のラウンド関数実行部の最終段である第16段ラウンド関数部204の変換結果が逆置換部205に入力され、初期置換部201の逆置換処理が実行されて、暗号文として出力される。   After these two dummy rounds are completed, the conversion result of the 16th round function unit 204, which is the final stage of the regular round function execution unit, is input to the reverse replacement unit 205, and the reverse replacement processing of the initial replacement unit 201 is performed. It is executed and output as ciphertext.

正規のラウンド関数部も、ダミーラウンド関数部も、先に図2、図3を参照して説明した計算アルゴリズムに従ったデータ変換処理を実行する。電力解析の実行者は、各ラウンド関数の実行時の電力を解析するが、ダミーのラウンド関数が実行されているのか、正規のラウンド関数が実行されているかの判別は極めて困難であり、電力解析に対する耐性を高めることが可能となる。   Both the regular round function part and the dummy round function part execute data conversion processing according to the calculation algorithm described above with reference to FIGS. The person who performs the power analysis analyzes the power when each round function is executed, but it is extremely difficult to determine whether a dummy round function or a regular round function is being executed. It becomes possible to increase the tolerance to.

図には、正規のラウンド関数実行部の前段に2つのダミーラウンドを設定し、さらに、後段に2つのダミーラウンドを設定した構成を示しているが、これらのダミーラウンドの設定数は、この例に限られるものではない。一般に、電力差分解析を用いて攻撃を行う者は、無限の攻撃時間が許容されるものではなく、ある有限の時間が許容される。従って、攻撃に要する最大の時間が存在する。これを[Tmax]とする。また、電力差分解析を適用した攻撃に適用できる平文数[M]と、攻撃に必要な最小の固有の平文数[N]がある。   The figure shows a configuration in which two dummy rounds are set in the former stage of the regular round function execution unit and two dummy rounds are set in the latter stage. It is not limited to. In general, a person who performs an attack using power difference analysis does not allow an infinite attack time, but allows a certain finite time. Therefore, there is a maximum time required for the attack. Let this be [Tmax]. Further, there are the number of plaintexts [M] that can be applied to an attack to which power difference analysis is applied and the minimum number of plaintexts [N] that is necessary for the attack.

このとき、M/N−1に相当する冗長性をランダムに付加することによって、有限時間内[Tmax]での攻撃は困難となる。この冗長性の付加は、ダミーラウンド関数の付加数を調整することによって実現される。電力差分解析を困難にする冗長性を持つダミーラウンドの数の算出を行うためのアルゴリズムを図7に示すフローを参照して説明する。   At this time, an attack within [Tmax] within a finite time becomes difficult by randomly adding redundancy corresponding to M / N-1. This addition of redundancy is realized by adjusting the number of added dummy round functions. An algorithm for calculating the number of dummy rounds having redundancy that makes power difference analysis difficult will be described with reference to the flow shown in FIG.

ステップS101において、電力差分解析による攻撃に要する最大の時間、すなわち電力解析最大時間=Tmaxを設定する。ステップS102において、電力差分解析を適用した攻撃に適用できる平文数[M]、電力差分解析による攻撃に必要な最小の固有の平文数[N]を設定する。これらの値は、仮想の電力解析を想定して設定可能である。   In step S101, the maximum time required for an attack by power difference analysis, that is, power analysis maximum time = Tmax is set. In step S102, the number of plaintexts [M] applicable to an attack to which power difference analysis is applied and the minimum number of unique plaintexts [N] necessary for the attack by power difference analysis are set. These values can be set assuming virtual power analysis.

次に、ステップS103において、初期設定としてダミーラウンド関数の数L=0を設定する。ステップS104において、
L>M/N−1
が成立するか否かを判定する。
Next, in step S103, the number of dummy round functions L = 0 is set as an initial setting. In step S104,
L> M / N-1
Whether or not is satisfied is determined.

L>M/N−1
が成立しない場合は、ステップS105に進み、Lの値を1つ増加させる更新処理を実行する。さらに、ステップS104に戻り更新されたLの値が上記式を満足するか否かを判定する。式を満足するまで、Lの更新を実行し、最終的に、
L>M/N−1
が成立するLの値を求める。
L> M / N-1
If is not established, the process proceeds to step S105, and update processing for increasing the value of L by one is executed. Furthermore, it returns to step S104 and it is determined whether the updated value of L satisfies the said formula. Perform L updates until the expression is satisfied, and finally
L> M / N-1
The value of L that holds is obtained.

次にステップS106において、
L>M/N−1
が成立するLの値をダミーラウンドの数として設定する。
Next, in step S106,
L> M / N-1
The value of L that holds is set as the number of dummy rounds.

なお、図7に示すフローにおいて算出されるLの値は、ある仮定した電力差分解析における攻撃に要する最大時間[Tmax]と、電力差分解析を適用した攻撃に適用できる平文数[M]、電力差分解析による攻撃に必要な最小の固有の平文数[N]を想定した電力解析では解析がほぼ不可能となる冗長性が保証される値であり、このアルゴリズムによって求めたLのダミーラウンドを設定することにより、Tmax時間内の電力解析では解析がほぼ不可能となる冗長性が保証されることになり、電力解析に対する耐性の高い安全な暗号処理が実現される。さらに、上記の有限時間[Tmax]内に暗号化、復号化に適用する鍵を更新すれば、攻撃をほぼ永久に困難にすることができる。   Note that the value of L calculated in the flow shown in FIG. 7 is the maximum time [Tmax] required for an attack in a certain assumed power difference analysis, the number of plaintexts [M] applicable to the attack using the power difference analysis, and the power This is a value that guarantees redundancy that is almost impossible to analyze in the power analysis that assumes the minimum number of unique plaintexts [N] required for an attack by differential analysis, and sets an L dummy round obtained by this algorithm By doing so, the redundancy that is almost impossible to analyze by the power analysis within the Tmax time is guaranteed, and a secure cryptographic process with high resistance to the power analysis is realized. Furthermore, if the keys applied for encryption and decryption are updated within the above finite time [Tmax], the attack can be made almost permanent.

最後に、暗号文の生成、あるいは暗号文の復号処理等の暗号処理を実行する暗号処理装置としてのICモジュール600の構成例を図8を参照して説明する。上述の処理は、例えばPC、ICカード、リーダライタ、その他、様々な情報処理装置において実行可能であり、図8に示すICモジュール600は、これら様々な機器に構成することが可能である。   Finally, a configuration example of the IC module 600 as a cryptographic processing apparatus that executes cryptographic processing such as generation of ciphertext or decryption processing of ciphertext will be described with reference to FIG. The above-described processing can be executed in, for example, various information processing apparatuses such as a PC, an IC card, a reader / writer, and the IC module 600 shown in FIG. 8 can be configured in these various devices.

図8に示すCPU(Central processing Unit)601は、暗号処理の開始や、終了、データの送受信の制御、各構成部間のデータ転送制御、その他の各種プログラムを実行するプロセッサである。メモリ602は、CPU601が実行するプログラム、あるいは演算パラメータとしての固定データを格納するROM(Read-Only-Memory)、CPU601の処理において実行されるプログラム、およびプログラム処理において適宜変化するパラメータの格納エリア、ワーク領域として使用されるRAM(Random Access Memory)等からなる。また、メモリ602は暗号処理に必要な鍵データ等の格納領域として使用可能である。例えば上述した共有秘密鍵:Kが格納される。データ格納領域は、耐タンパ構造を持つメモリとして構成されることが好ましい。   A CPU (Central processing Unit) 601 shown in FIG. 8 is a processor that executes the start and end of cryptographic processing, data transmission / reception control, data transfer control between components, and other various programs. The memory 602 is a ROM (Read-Only-Memory) that stores programs executed by the CPU 601 or fixed data as calculation parameters, a program executed in the processing of the CPU 601, and a parameter storage area that changes as appropriate in the program processing, It consists of RAM (Random Access Memory) used as a work area. The memory 602 can be used as a storage area for key data and the like necessary for encryption processing. For example, the above-described shared secret key: K is stored. The data storage area is preferably configured as a memory having a tamper resistant structure.

暗号処理手部603は、例えば上述したDES、トリプルDES、AES、その他のアルゴリズムに従った暗号処理、復号処理等を実行する。なお、ここでは、暗号処理手段を個別モジュールとした例を示したが、このような独立した暗号処理モジュールを設けず、例えば暗号処理プログラムをROMに格納し、CPU601がROM格納プログラムを読み出して実行するように構成してもよい。   The encryption processing unit 603 executes encryption processing, decryption processing, and the like according to the above-described DES, triple DES, AES, and other algorithms, for example. Here, an example in which the cryptographic processing means is an individual module is shown, but such an independent cryptographic processing module is not provided, for example, a cryptographic processing program is stored in the ROM, and the CPU 601 reads and executes the ROM stored program. You may comprise.

乱数発生器604は、暗号処理に適用する鍵、乱数情報の生成処理において適用される。あるいはデバイス間の認証処理おいて必要となる乱数生成、その他、暗号処理に必要となる乱数生成処理に適用される。乱数発生器604は、例えばLFSR(線形フィードバックシフトレジスタ)を適用した乱数生成器、あるいは擬似乱数生成器などによって構成される。   The random number generator 604 is applied in a process for generating a key and random number information to be applied to encryption processing. Alternatively, the present invention is applied to random number generation required for authentication processing between devices and other random number generation processing required for encryption processing. The random number generator 604 is configured by, for example, a random number generator to which LFSR (Linear Feedback Shift Register) is applied, or a pseudo-random number generator.

送受信部605は、外部とのデータ通信を実行するデータ通信処理部であり、例えばリーダライタ等、ICモジュールとのデータ通信を実行し、ICモジュール内で生成した暗号文の出力、あるいは外部のリーダライタ等の機器からのデータ入力などを実行する。   The transmission / reception unit 605 is a data communication processing unit that performs data communication with the outside. For example, the data transmission / reception unit 605 performs data communication with an IC module such as a reader / writer, and outputs ciphertext generated in the IC module or an external reader. Data input from devices such as writers is executed.

以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。   The present invention has been described in detail above with reference to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the gist of the present invention. In other words, the present invention has been disclosed in the form of exemplification, and should not be interpreted in a limited manner. In order to determine the gist of the present invention, the claims section described at the beginning should be considered.

なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。   The series of processes described in the specification can be executed by hardware, software, or a combined configuration of both. When executing processing by software, the program recording the processing sequence is installed in a memory in a computer incorporated in dedicated hardware and executed, or the program is executed on a general-purpose computer capable of executing various processing. It can be installed and executed.

なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。   The various processes described in the specification are not only executed in time series according to the description, but may be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes. Further, in this specification, the system is a logical set configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same casing.

本発明は、暗号処理を実行するデバイス、例えば暗号処理モジュールを持つICカードあるいはその他の暗号処理装置に適用可能である。本発明の構成を適用することにより、電力解析によるICモジュール内の暗号処理鍵やアルゴリズムの漏洩が困難となるので、セキュリティレベルの高い暗号処理実行機能を持つデバイスあるいは装置が提供可能となる。   The present invention can be applied to a device that executes cryptographic processing, for example, an IC card having a cryptographic processing module or other cryptographic processing apparatus. By applying the configuration of the present invention, it becomes difficult to leak cryptographic processing keys and algorithms in the IC module by power analysis, so that it is possible to provide a device or apparatus having a cryptographic processing execution function with a high security level.

DES暗号処理の基本構成を示す図である。It is a figure which shows the basic composition of a DES encryption process. ラウンド関数部の各ラウンドを構成する変換部の構成を示す図である。It is a figure which shows the structure of the conversion part which comprises each round of a round function part. F関数の構成を示す図である。It is a figure which shows the structure of F function. トリプルDES(Triple DES)暗号処理構成を示す図である。It is a figure which shows a triple DES (Triple DES) encryption processing structure. 一般的な暗号処理構成について説明する図である。It is a figure explaining a general encryption processing composition. ダミーラウンド関数部を設定した本発明の構成を適用した暗号アルゴリズムニついて説明する図である。It is a figure explaining the encryption algorithm which applied the structure of this invention which set the dummy round function part. 電力解析に対する耐性の高い冗長性を持つダミーラウンド関数部の設定数を算出するためのアルゴリズムについて説明するフローチャートである。It is a flowchart explaining the algorithm for calculating the setting number of the dummy round function part with redundancy with high tolerance with respect to an electric power analysis. 本発明の構成が適用可能な暗号処理実行デバイスとしてのICモジュールの構成例を示す図である。It is a figure which shows the structural example of IC module as a cryptographic processing execution device which can apply the structure of this invention.

符号の説明Explanation of symbols

110 ラウンド関数部
111 初期置換部
112,113 変換部
114 逆置換部
120 鍵スケジュール部
121 選択置換部
122,123 鍵生成部
151 F関数部
171,172 置換部
181 Sボックス
185,186,187 DES暗号処理部
191 暗号処理部(DES)
192,193,194 暗号処理部(DES)
195 暗号処理部(AES)
201 初期値間部
202〜204 変換部
211〜214 ダミーラウンド関数部
600 ICモジュール
601 CPU(Central processing Unit)
602 メモリ
603 暗号処理部
604 乱数発生器
605 送受信部
DESCRIPTION OF SYMBOLS 110 Round function part 111 Initial substitution part 112,113 Conversion part 114 Reverse substitution part 120 Key schedule part 121 Selection substitution part 122,123 Key generation part 151 F function part 171,172 Replacement part 181 S box 185,186,187 DES encryption Processing unit 191 Encryption processing unit (DES)
192, 193, 194 Encryption processing unit (DES)
195 Cryptographic processing part (AES)
201 Initial value interval unit 202 to 204 Conversion unit 211 to 214 Dummy round function unit 600 IC module 601 CPU (Central processing Unit)
602 Memory 603 Encryption processing unit 604 Random number generator 605 Transmission / reception unit

Claims (18)

複数段のラウンド関数からなる共通鍵ブロック暗号を実行する暗号化装置であり、
暗号文生成のための平文または平文に基づく変換データを入力する正規のラウンド関数部と、
前記正規のラウンド関数部の前段、または後段の少なくともいずれかに前記平文または平文に基づく変換データを入力しないダミー演算を実行するダミーラウンド関数部と、
を有することを特徴とする暗号化装置。
An encryption device that executes a common key block cipher consisting of a multi-stage round function,
A regular round function part for inputting plaintext or plaintext conversion data for ciphertext generation;
A dummy round function unit that performs a dummy operation that does not input the plaintext or the conversion data based on the plaintext to at least one of the previous stage or the subsequent stage of the regular round function part;
An encryption device comprising:
前記ダミーラウンド関数部の設定数は、
前記共通鍵ブロック暗号に対する電力解析に利用可能な平文数をM、
前記共通鍵ブロック暗号に対する電力解析に必要な最小平文数をNとしたとき、
前記値M,Nとに基づいて算出した数であることを特徴とする請求項1に記載の暗号化装置。
The set number of dummy round function parts is
The number of plaintexts available for power analysis for the common key block cipher is M,
When the minimum number of plaintexts required for power analysis for the common key block cipher is N,
2. The encryption apparatus according to claim 1, wherein the number is a number calculated based on the values M and N.
前記ダミーラウンド関数部の設定数:Lは、
前記共通鍵ブロック暗号に対する電力解析に利用可能な平文数をM、
前記共通鍵ブロック暗号に対する電力解析に必要な最小平文数をNとしたとき、
L>M/N−1
を満足する数である構成を有することを特徴とする請求項1に記載の暗号化装置。
The set number of dummy round function parts: L is
The number of plaintexts available for power analysis for the common key block cipher is M,
When the minimum number of plaintexts required for power analysis for the common key block cipher is N,
L> M / N-1
The encryption apparatus according to claim 1, wherein the encryption apparatus has a configuration satisfying the following.
前記ダミーラウンド関数部は、
前記平文または平文に基づく変換データとは異なるタミーデータを入力し、ダミーデータに基づくラウンド関数演算を実行する構成であることを特徴とする請求項1に記載の暗号化装置。
The dummy round function part is:
2. The encryption apparatus according to claim 1, wherein the plaintext or Tammy data different from the plaintext-converted data is input, and a round function calculation based on dummy data is executed.
複数段のラウンド関数からなる共通鍵ブロック暗号を実行する復号化装置であり、
復号文生成のための暗号文または暗号文に基づく変換データを入力する正規のラウンド関数部と、
前記正規のラウンド関数部の前段、または後段の少なくともいずれかに前記暗号文または暗号文に基づく変換データを入力しないダミー演算を実行するダミーラウンド関数部と、
を有することを特徴とする復号化装置。
A decryption device that executes a common key block cipher consisting of a multi-stage round function,
A regular round function part for inputting ciphertext or decryption data based on the ciphertext for generating a decrypted text;
A dummy round function unit that performs a dummy operation that does not input the ciphertext or converted data based on the ciphertext at least one of the previous stage and the subsequent stage of the regular round function part;
A decoding device characterized by comprising:
前記ダミーラウンド関数部の設定数は、
前記共通鍵ブロック暗号に対する電力解析に利用可能な平文数をM、
前記共通鍵ブロック暗号に対する電力解析に必要な最小平文数をNとしたとき、
前記値M,Nとに基づいて算出した数であることを特徴とする請求項5に記載の復号化装置。
The set number of dummy round function parts is
The number of plaintexts available for power analysis for the common key block cipher is M,
When the minimum number of plaintexts required for power analysis for the common key block cipher is N,
6. The decoding apparatus according to claim 5, wherein the number is a number calculated based on the values M and N.
前記ダミーラウンド関数部の設定数:Lは、
前記共通鍵ブロック暗号に対する電力解析に利用可能な平文数をM、
前記共通鍵ブロック暗号に対する電力解析に必要な最小平文数をNとしたとき、
L>M/N−1
を満足する数である構成を有することを特徴とする請求項5に記載の復号化装置。
The set number of dummy round function parts: L is
The number of plaintexts available for power analysis for the common key block cipher is M,
When the minimum number of plaintexts required for power analysis for the common key block cipher is N,
L> M / N-1
The decoding device according to claim 5, wherein the decoding device has a configuration satisfying the following.
前記ダミーラウンド関数部は、
前記復号文生成のための暗号文または暗号文に基づく変換データとは異なるタミーデータを入力し、ダミーデータに基づくラウンド関数演算を実行する構成であることを特徴とする請求項5に記載の復号化装置。
The dummy round function part is:
The decryption according to claim 5, wherein the decryption text is configured to receive ciphertext for generating the decrypted text or conversion data based on ciphertext, and to perform a round function operation based on dummy data. Device.
複数段のラウンド関数からなる共通鍵ブロック暗号を実行する暗号化方法であり、
暗号文生成のための平文または平文に基づく変換データを入力する正規のラウンド関数実行ステップと、
前記正規のラウンド関数実行ステップの前段、または後段の少なくともいずれかに前記平文または平文に基づく変換データを入力しないダミー演算を実行するダミーラウンド関数実行ステップと、
を有することを特徴とする暗号化方法。
An encryption method for executing a common key block cipher consisting of a multi-stage round function,
A regular round function execution step for inputting plaintext or plaintext-based conversion data for ciphertext generation;
A dummy round function execution step for executing a dummy operation that does not input the plaintext or the conversion data based on the plaintext in at least one of the previous stage and the subsequent stage of the regular round function execution step;
An encryption method comprising:
前記ダミーラウンド関数実行ステップの設定数は、
前記共通鍵ブロック暗号に対する電力解析に利用可能な平文数をM、
前記共通鍵ブロック暗号に対する電力解析に必要な最小平文数をNとしたとき、
前記値M,Nとに基づいて算出した数に設定されていることを特徴とする請求項9に記載の暗号化方法。
The set number of dummy round function execution steps is:
The number of plaintexts available for power analysis for the common key block cipher is M,
When the minimum number of plaintexts required for power analysis for the common key block cipher is N,
10. The encryption method according to claim 9, wherein the number is set based on the values M and N.
前記ダミーラウンド関数実行ステップの設定数:Lは、
前記共通鍵ブロック暗号に対する電力解析に利用可能な平文数をM、
前記共通鍵ブロック暗号に対する電力解析に必要な最小平文数をNとしたとき、
L>M/N−1
を満足する数であることを特徴とする請求項9に記載の暗号化方法。
The set number of dummy round function execution steps: L is
The number of plaintexts available for power analysis for the common key block cipher is M,
When the minimum number of plaintexts required for power analysis for the common key block cipher is N,
L> M / N-1
The encryption method according to claim 9, wherein the number satisfies the following.
前記ダミーラウンド関数実行ステップは、
前記平文または平文に基づく変換データとは異なるタミーデータを入力し、ダミーデータに基づくラウンド関数演算を実行することを特徴とする請求項9に記載の暗号化方法。
The dummy round function execution step includes:
The encryption method according to claim 9, wherein the plaintext or the Tammy data different from the plaintext-converted data is input, and a round function operation based on the dummy data is executed.
複数段のラウンド関数からなる共通鍵ブロック暗号を実行する復号化方法であり、
復号文生成のための暗号文または暗号文に基づく変換データを入力する正規のラウンド関数実行ステップと、
前記正規のラウンド関数実行ステップの前段、または後段の少なくともいずれかに前記暗号文または暗号文に基づく変換データを入力しないダミー演算を実行するダミーラウンド関数実行ステップと、
を有することを特徴とする復号化方法。
A decryption method for executing a common key block cipher consisting of a multi-stage round function,
A regular round function execution step for inputting ciphertext or decryption data based on the ciphertext for decryption text generation;
A dummy round function execution step for executing a dummy operation that does not input the ciphertext or the conversion data based on the ciphertext in at least one of the previous stage and the subsequent stage of the regular round function execution step;
A decoding method characterized by comprising:
前記ダミーラウンド関数実行ステップの設定数は、
前記共通鍵ブロック暗号に対する電力解析に利用可能な平文数をM、
前記共通鍵ブロック暗号に対する電力解析に必要な最小平文数をNとしたとき、
前記値M,Nとに基づいて算出した数に設定されていることを特徴とする請求項13に記載の復号化方法。
The set number of dummy round function execution steps is:
The number of plaintexts available for power analysis for the common key block cipher is M,
When the minimum number of plaintexts required for power analysis for the common key block cipher is N,
14. The decoding method according to claim 13, wherein the number is set based on the values M and N.
前記ダミーラウンド関数実行ステップの設定数:Lは、
前記共通鍵ブロック暗号に対する電力解析に利用可能な平文数をM、
前記共通鍵ブロック暗号に対する電力解析に必要な最小平文数をNとしたとき、
L>M/N−1
を満足する数であることを特徴とする請求項13に記載の復号化方法。
The set number of dummy round function execution steps: L is
The number of plaintexts available for power analysis for the common key block cipher is M,
When the minimum number of plaintexts required for power analysis for the common key block cipher is N,
L> M / N-1
The decoding method according to claim 13, wherein the number satisfies the following.
前記ダミーラウンド関数実行ステップは、
前記復号文生成のための暗号文または暗号文に基づく変換データとは異なるタミーデータを入力し、ダミーデータに基づくラウンド関数演算を実行することを特徴とする請求項13に記載の復号化方法。
The dummy round function execution step includes:
The decryption method according to claim 13, wherein the ciphertext for generating the decrypted text or the Tammy data different from the converted data based on the ciphertext is input, and the round function operation based on the dummy data is executed.
複数段のラウンド関数からなる共通鍵ブロック暗号を実行するコンピュータ・プログラムであり、
暗号文生成のための平文または平文に基づく変換データを入力する正規のラウンド関数実行ステップと、
前記正規のラウンド関数実行ステップの前段、または後段の少なくともいずれかに前記平文または平文に基づく変換データを入力しないダミー演算を実行するダミーラウンド関数実行ステップと、
を有することを特徴とするコンピュータ・プログラム。
A computer program for executing a common key block cipher consisting of a multi-stage round function,
A regular round function execution step for inputting plaintext or plaintext-based conversion data for ciphertext generation;
A dummy round function execution step for executing a dummy operation that does not input the plaintext or the conversion data based on the plaintext in at least one of the previous stage and the subsequent stage of the regular round function execution step;
A computer program characterized by comprising:
複数段のラウンド関数からなる共通鍵ブロック暗号を実行するコンピュータ・プログラムであり、
復号文生成のための暗号文または暗号文に基づく変換データを入力する正規のラウンド関数実行ステップと、
前記正規のラウンド関数実行ステップの前段、または後段の少なくともいずれかに前記暗号文または暗号文に基づく変換データを入力しないダミー演算を実行するダミーラウンド関数実行ステップと、
を有することを特徴とするコンピュータ・プログラム。
A computer program for executing a common key block cipher consisting of a multi-stage round function,
A regular round function execution step for inputting ciphertext or decryption data based on the ciphertext for decryption text generation;
A dummy round function execution step for executing a dummy operation that does not input the ciphertext or the conversion data based on the ciphertext in at least one of the previous stage and the subsequent stage of the regular round function execution step;
A computer program characterized by comprising:
JP2004233359A 2004-08-10 2004-08-10 Encryption apparatus, decryption apparatus and method, and computer program Pending JP2006054568A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004233359A JP2006054568A (en) 2004-08-10 2004-08-10 Encryption apparatus, decryption apparatus and method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004233359A JP2006054568A (en) 2004-08-10 2004-08-10 Encryption apparatus, decryption apparatus and method, and computer program

Publications (1)

Publication Number Publication Date
JP2006054568A true JP2006054568A (en) 2006-02-23

Family

ID=36031772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004233359A Pending JP2006054568A (en) 2004-08-10 2004-08-10 Encryption apparatus, decryption apparatus and method, and computer program

Country Status (1)

Country Link
JP (1) JP2006054568A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008013083A1 (en) 2006-07-25 2008-01-31 Nec Corporation Pseudo random number generator, stream encrypting device, and program
WO2011148558A1 (en) * 2010-05-28 2011-12-01 日本電気株式会社 Signature generation apparatus, signature method, and non-temporary computer-readable medium on which signature generation program has been stored
US20130064362A1 (en) * 2011-09-13 2013-03-14 Comcast Cable Communications, Llc Preservation of encryption
JP2018060159A (en) * 2016-10-05 2018-04-12 株式会社メガチップス Encryption device, memory device, host device, and memory system
KR20190042423A (en) * 2017-10-16 2019-04-24 삼성전자주식회사 Encryption device and operation method thereof
CN113127938A (en) * 2020-01-14 2021-07-16 新唐科技股份有限公司 Secure integrated circuit and method therefor
JP2022549980A (en) * 2020-10-28 2022-11-30 南京郵電大学 How to prevent differential cryptanalysis attacks

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000106550A (en) * 1998-09-29 2000-04-11 Fujitsu Ltd Data communication device
JP2000165375A (en) * 1998-11-30 2000-06-16 Hitachi Ltd Information processor and ic card
JP2001266103A (en) * 2000-01-12 2001-09-28 Hitachi Ltd Ic card and microcomputer
JP2002311826A (en) * 2001-04-16 2002-10-25 Hitachi Ltd Encoding and decoding device, method for encoding and decoding, data enciphering method and ic card
JP2004153460A (en) * 2002-10-29 2004-05-27 Mitsubishi Electric Corp Secure apparatus, secure method, and secure program
JP2004212828A (en) * 2003-01-08 2004-07-29 Sony Corp Encryption processing device, encryption processing method, and computer program
JP2006025366A (en) * 2004-07-09 2006-01-26 Sony Corp Encryption apparatus and semiconductor integrated circuit

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000106550A (en) * 1998-09-29 2000-04-11 Fujitsu Ltd Data communication device
JP2000165375A (en) * 1998-11-30 2000-06-16 Hitachi Ltd Information processor and ic card
JP2001266103A (en) * 2000-01-12 2001-09-28 Hitachi Ltd Ic card and microcomputer
JP2002311826A (en) * 2001-04-16 2002-10-25 Hitachi Ltd Encoding and decoding device, method for encoding and decoding, data enciphering method and ic card
JP2004153460A (en) * 2002-10-29 2004-05-27 Mitsubishi Electric Corp Secure apparatus, secure method, and secure program
JP2004212828A (en) * 2003-01-08 2004-07-29 Sony Corp Encryption processing device, encryption processing method, and computer program
JP2006025366A (en) * 2004-07-09 2006-01-26 Sony Corp Encryption apparatus and semiconductor integrated circuit

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008013083A1 (en) 2006-07-25 2008-01-31 Nec Corporation Pseudo random number generator, stream encrypting device, and program
WO2011148558A1 (en) * 2010-05-28 2011-12-01 日本電気株式会社 Signature generation apparatus, signature method, and non-temporary computer-readable medium on which signature generation program has been stored
US20130073873A1 (en) * 2010-05-28 2013-03-21 Nec Corporation Signature generation apparatus, signature method, non-transitory computer readable medium storing signature generation program
US8966264B2 (en) 2010-05-28 2015-02-24 Nec Corporation Signature generation apparatus, signature method, non-transitory computer readable medium storing signature generation program
US11418339B2 (en) 2011-09-13 2022-08-16 Combined Conditional Access Development & Support, Llc (Ccad) Preservation of encryption
US20130064362A1 (en) * 2011-09-13 2013-03-14 Comcast Cable Communications, Llc Preservation of encryption
US8958550B2 (en) * 2011-09-13 2015-02-17 Combined Conditional Access Development & Support. LLC (CCAD) Encryption operation with real data rounds, dummy data rounds, and delay periods
JP2018060159A (en) * 2016-10-05 2018-04-12 株式会社メガチップス Encryption device, memory device, host device, and memory system
KR20190042423A (en) * 2017-10-16 2019-04-24 삼성전자주식회사 Encryption device and operation method thereof
KR102559583B1 (en) * 2017-10-16 2023-07-26 삼성전자주식회사 Encryption device and operation method thereof
CN113127938A (en) * 2020-01-14 2021-07-16 新唐科技股份有限公司 Secure integrated circuit and method therefor
JP7061207B2 (en) 2020-01-14 2022-04-27 新唐科技股▲ふん▼有限公司 Secure integrated circuit and its method
CN113127938B (en) * 2020-01-14 2023-05-12 新唐科技股份有限公司 Secure integrated circuit and method thereof
JP2021111410A (en) * 2020-01-14 2021-08-02 新唐科技股▲ふん▼有限公司 Secure integrated circuit and method thereof
JP2022549980A (en) * 2020-10-28 2022-11-30 南京郵電大学 How to prevent differential cryptanalysis attacks
JP7270172B2 (en) 2020-10-28 2023-05-10 南京郵電大学 How to prevent differential cryptanalysis attacks

Similar Documents

Publication Publication Date Title
JP4596686B2 (en) Secure encryption against DPA
EP1873671B2 (en) A method for protecting IC Cards against power analysis attacks
EP1496641A2 (en) Cryptographic processing apparatus, cryptographic processing method and computer program
JP5198526B2 (en) Encryption device and decryption device
WO2009122464A1 (en) Coder equipped with common key code function and built-in equipment
JP2007195132A (en) Encryption processing apparatus
WO2008026622A1 (en) Encryption device, encryption method, and computer program
JP2005107078A (en) Encryption processing system, encryption processing method, and computer program
JP5184659B2 (en) How to securely protect an electronic cryptographic assembly with a private key
JP2004212828A (en) Encryption processing device, encryption processing method, and computer program
JP3733027B2 (en) Countermeasure method in electronic components using secret key encryption algorithm
JP2005134478A (en) Encryption processing device, encryption processing method, and computer program
KR101506499B1 (en) Method for encrypting with SEED applying mask
JP2006054568A (en) Encryption apparatus, decryption apparatus and method, and computer program
JP2005031471A (en) Encryption processing device and encryption processing method
JP2006019872A (en) Encryption processing apparatus
JP2007174024A (en) Encryption processing apparatus
JP2005045752A (en) Cipher processor, and cipher processing method
JP2006025366A (en) Encryption apparatus and semiconductor integrated circuit
JP2007251390A (en) Semiconductor integrated circuit
Savitha et al. Implementation of AES algorithm to overt fake keys against counter attacks
JP2005134477A (en) Encryption processing device, encryption processing method, and computer program
Bucci et al. Testing power-analysis attack susceptibility in register-transfer level designs
Kim et al. New Type of Collision Attack on First‐Order Masked AESs
Wu et al. Chosen IV attack on stream cipher WG

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070801

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101221

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110419