JP2011175039A - Encryption device and decryption device - Google Patents

Encryption device and decryption device Download PDF

Info

Publication number
JP2011175039A
JP2011175039A JP2010037882A JP2010037882A JP2011175039A JP 2011175039 A JP2011175039 A JP 2011175039A JP 2010037882 A JP2010037882 A JP 2010037882A JP 2010037882 A JP2010037882 A JP 2010037882A JP 2011175039 A JP2011175039 A JP 2011175039A
Authority
JP
Japan
Prior art keywords
round
order
encryption
clock
addroundkey
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.)
Granted
Application number
JP2010037882A
Other languages
Japanese (ja)
Other versions
JP5060570B2 (en
Inventor
Hideo Shimizu
秀夫 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2010037882A priority Critical patent/JP5060570B2/en
Publication of JP2011175039A publication Critical patent/JP2011175039A/en
Application granted granted Critical
Publication of JP5060570B2 publication Critical patent/JP5060570B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an encryption device which is secure against side channel attacks without increasing the circuit scale. <P>SOLUTION: The encryption device 100 using an AES encryption system includes an operation part which performs operation including AddRoundKey, SubBytes, and MixColumns in this order in the first round of the rounds for calculating data by using key information, performs operation including MixColumns, AddRoundKey, and SubBytes in this order or operation including AddRoundKey, MixColumns, and SubBytes in this order one round before the last, and performs operation including AddRoundKey in the last round. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、暗号化装置および復号装置に関する。   The present invention relates to an encryption device and a decryption device.

スマートグリッドで使われるスマートメーターでは、メーターの改ざん防止等のためにセキュリティによる保護が必要とされ、暗号技術が応用されている。スマートメーターを耐タンパー化する上でサイドチャネル攻撃対策をどのように行うかは重要な事項である。スマートメーターでは、安価にするために回路規模を小さくし、また省電力にすることでエネルギー効率を高くする要請がある。したがって、安全性を高めるためのサイドチャネル攻撃対策でも回路規模、電力を減らす必要がある。   Smart meters used in smart grids require protection by security in order to prevent tampering of the meters, and encryption technology is applied. How to take measures against side channel attacks is important in making smart meters tamper resistant. In the smart meter, there is a demand to increase the energy efficiency by reducing the circuit scale to reduce the cost and saving power. Therefore, it is necessary to reduce the circuit scale and power even in a countermeasure against side channel attacks for improving safety.

暗号技術としては、AES(Advanced Encryption Standard)暗号方式などが知られている。AES暗号方式は、旧来から使われていたDES(Data Encryption Standard)暗号方式の後継として米国政府標準になった暗号アルゴリズムである。   As an encryption technique, an AES (Advanced Encryption Standard) encryption system is known. The AES encryption method is an encryption algorithm that has become a US government standard as a successor to the DES (Data Encryption Standard) encryption method that has been used for a long time.

暗号装置に対する攻撃として、SPA(Simple Power Analysis)やDPA(Differential Power Analysis)などのサイドチャネル攻撃が注目されている(例えば、非特許文献1)。これらのサイドチャネル攻撃は、電力や電磁気を測定するだけというパッシブな攻撃であるため、痕跡が残らないという問題がある。   Side channel attacks such as SPA (Simple Power Analysis) and DPA (Differential Power Analysis) are attracting attention as attacks on cryptographic devices (for example, Non-Patent Document 1). Since these side channel attacks are passive attacks in which only power and electromagnetics are measured, there is a problem that no trace remains.

従来のサイドチャネル攻撃対策としては、乱数を使ったマスクにより、計算途中の値をかく乱することで、情報が漏れても意味のない情報であるようにするといった対策が行われている(例えば、非特許文献2)。   As a countermeasure against the conventional side channel attack, a measure using random number masks is used to disturb the value in the middle of the calculation so that the information is meaningless even if information is leaked (for example, Non-patent document 2).

S. Mangard, E. Oswald, T. Popp, Power Analysis Attacks Revealing the Secrets of Smart Cards, Chapter 6. Differential Power Analysis, pp. 119-165, Springer, 2007.S. Mangard, E. Oswald, T. Popp, Power Analysis Attacks Revealing the Secrets of Smart Cards, Chapter 6. Differential Power Analysis, pp. 119-165, Springer, 2007. S. Mangard, E. Oswald, T. Popp, Power Analysis Attacks Revealing the Secrets of Smart Cards, Chapter 9. Masking, pp. 223-244, Springer, 2007.S. Mangard, E. Oswald, T. Popp, Power Analysis Attacks Revealing the Secrets of Smart Cards, Chapter 9. Masking, pp. 223-244, Springer, 2007.

しかしながら、乱数生成処理は比較的重い処理であり、非特許文献2のように乱数を使用する方法では、速度、回路規模、および電力等に悪影響があるという問題があった。   However, the random number generation process is a relatively heavy process, and the method using a random number as in Non-Patent Document 2 has a problem that the speed, circuit scale, power, and the like are adversely affected.

本発明は、上記に鑑みてなされたものであって、回路規模を増加させずにサイドチャネル攻撃に対して安全な暗号化装置および復号装置を提供することを目的とする。   The present invention has been made in view of the above, and an object of the present invention is to provide an encryption device and a decryption device that are safe against a side channel attack without increasing the circuit scale.

本発明は、AES(Advanced Encryption Standard)暗号方式の暗号化装置であって、鍵情報を用いてデータを演算するラウンドのうち、最初のラウンドで、AddRoundKeyと、SubBytesと、MixColumnsとをこの順序で含む演算を行い、最後の1つ前のラウンドで、MixColumnsと、AddRoundKeyと、SubBytesとをこの順序で含む演算、または、AddRoundKeyと、MixColumnsと、SubBytesとをこの順序で含む演算を行い、最後のラウンドで、AddRoundKeyを含む演算を行う演算部を備えることを特徴とする。   The present invention is an AES (Advanced Encryption Standard) encryption device, and in the first round of calculating data using key information, AddRoundKey, SubBytes, and MixColumns are arranged in this order. In the last previous round, perform an operation that includes MixColumns, AddRoundKey, and SubBytes in this order, or an operation that includes AddRoundKey, MixColumns, and SubBytes in this order. It is characterized by including a calculation unit that performs a calculation including AddRoundKey in a round.

また、本発明は、AES(Advanced Encryption Standard)暗号方式の復号装置であって、鍵情報を用いてデータを演算するラウンドのうち、最初のラウンドで、InvAddRoundKeyを含む演算を行い、最初の1つ後のラウンドで、InvSubBytesと、InvAddRoundKeyと、InvMixColumnsとをこの順序で含む演算、または、InvSubBytesと、InvMixColumnsと、InvAddRoundKeyとをこの順序で含む演算を行い、最後のラウンドで、InvMixColumnsと、InvSubBytesと、InvAddRoundKeyとをこの順序で含む演算を行う演算部を備えることを特徴とする。   The present invention is also an AES (Advanced Encryption Standard) decryption device, which performs an operation including InvAddRoundKey in the first round among the rounds in which data is calculated using key information. In a later round, an operation that includes InvSubBytes, InvAddRoundKey, and InvMixColumns in this order, or an operation that includes InvSubBytes, InvMixColumns, InvAddRoundKey in this order, um, v A calculation unit that performs a calculation including InvAddRoundKey in this order is provided.

本発明によれば、回路規模を増加させずにサイドチャネル攻撃に対して安全な暗号化装置および復号装置を提供することができるという効果を奏する。   According to the present invention, it is possible to provide an encryption device and a decryption device that are safe against a side channel attack without increasing the circuit scale.

サイドチャネル攻撃対策のないAES暗号方式の暗号化処理手順を示す図。The figure which shows the encryption processing procedure of an AES encryption system without a side channel attack countermeasure. 図1の手順を実現する暗号化装置の一例を示す回路図。The circuit diagram which shows an example of the encryption apparatus which implement | achieves the procedure of FIG. 各クロックでフリップフロップに格納される中間結果dの値を示す図。The figure which shows the value of the intermediate result d stored in a flip-flop at each clock. 連続するクロックの中間結果dのハミング距離を示す図。The figure which shows the Hamming distance of the intermediate result d of a continuous clock. 第1の実施の形態によるAES暗号方式の暗号化処理手順を示す図。The figure which shows the encryption processing procedure of the AES encryption system by 1st Embodiment. 第1の実施の形態の暗号化装置の一例を示す回路図。1 is a circuit diagram showing an example of an encryption device according to a first embodiment. AddRoundKeyの構成例を示す図。The figure which shows the structural example of AddRoundKey. SubBytesの構成例を示す図。The figure which shows the structural example of SubBytes. ShiftRowsの構成例を示す図。The figure which shows the structural example of ShiftRows. ShiftRowsにより並べ替えられるバイトの対応関係を例示する図。The figure which illustrates the correspondence of the byte rearranged by ShiftRows. MixColumnsの構成例を示す図。The figure which shows the structural example of MixColumns. 各クロックでフリップフロップに格納される中間結果dの値を示す図。The figure which shows the value of the intermediate result d stored in a flip-flop at each clock. 連続するクロックの中間結果dのハミング距離を示す図。The figure which shows the Hamming distance of the intermediate result d of a continuous clock. 第1の実施の形態の変形例にかかる暗号化装置の一例を示す回路図。The circuit diagram which shows an example of the encryption apparatus concerning the modification of 1st Embodiment. サイドチャネル攻撃対策のないAES暗号方式の復号処理手順を示す図。The figure which shows the decoding process procedure of the AES encryption system without a side channel attack countermeasure. 第2の実施の形態によるAES暗号方式の復号処理手順を示す図。The figure which shows the decryption process sequence of the AES encryption system by 2nd Embodiment. 第2の実施の形態の復号装置の一例を示す回路図。A circuit diagram showing an example of a decoding device of a 2nd embodiment. 各クロックでフリップフロップに格納される中間結果dの値を示す図。The figure which shows the value of the intermediate result d stored in a flip-flop at each clock. 連続するクロックの中間結果dのハミング距離を示す図。The figure which shows the Hamming distance of the intermediate result d of a continuous clock. 第3の実施の形態の次世代電力網の一構成例を示す図。The figure which shows the example of 1 structure of the next-generation electric power network of 3rd Embodiment. スマートメーターとMDMSとが接続された構成例を示すブロック図。The block diagram which shows the structural example to which the smart meter and MDMS were connected. HEMSとEMSが接続された構成例を示すブロック図。The block diagram which shows the structural example to which HEMS and EMS were connected.

以下に添付図面を参照して、この発明にかかる暗号化装置の好適な実施の形態を詳細に説明する。   Exemplary embodiments of an encryption device according to the present invention will be explained below in detail with reference to the accompanying drawings.

(第1の実施の形態)
第1の実施の形態にかかる暗号化装置は、AES暗号方式で定められている4つの変換関数であるSubBytes、ShiftRows、MixColumns、およびAddRoundKeyの各ラウンドの演算での処理順序を、所定の条件を満たすように変更する。これにより、乱数の生成等を行うことなく、サイドチャネル攻撃に対して安全な暗号化装置を実現できる。
(First embodiment)
The encryption device according to the first embodiment sets the processing order in each round calculation of SubBytes, ShiftRows, MixColumns, and AddRoundKey, which are four conversion functions defined in the AES encryption method, with a predetermined condition. Change to meet. This makes it possible to realize an encryption device that is safe against side channel attacks without generating random numbers.

最初に、DPAの概要について説明する。DPAは、データ処理を行った回路の消費電力を測定することで鍵を取り出す攻撃である。なお、回路の消費電力は、処理したデータの内容に依存して変化する。DPAでは、暗号化処理途中の消費電力も攻撃に利用できるため効率の良い攻撃が可能である。   First, an outline of DPA will be described. DPA is an attack in which a key is extracted by measuring the power consumption of a circuit that has performed data processing. Note that the power consumption of the circuit varies depending on the contents of the processed data. In DPA, since the power consumption during the encryption process can also be used for the attack, an efficient attack is possible.

現在一般に用いられているCMOSロジックで構成したハードウェアの場合、論理素子の出力が変化した場合に電力が消費される。例えば、ある回路の出力が「0000」の4ビットから「0001」に1ビット変化したときの消費電力を1単位とすると、「0000」から「1111」に変化したときは、4単位の電力を消費することになる。また、出力が「1010」から「0101」のように全ビット反転したときは4単位の電力消費となる。「1010」から「1010」のように出力が全く変化しなかったときは電力を消費しないことになる。すなわち、事前の出力値と現在の出力値とのハミング距離が、電力消費として外部から観測できることになる。DPAは、この電力消費を観測することで攻撃を行う。   In the case of hardware configured with CMOS logic that is generally used at present, power is consumed when the output of the logic element changes. For example, assuming that the power consumption when the output of a certain circuit changes from 4 bits of “0000” to 1 bit from “0001” is 1 unit, when the power is changed from “0000” to “1111”, 4 units of power are Will consume. Further, when all the bits are inverted such as “1010” to “0101”, the power consumption is 4 units. When the output does not change at all from “1010” to “1010”, no power is consumed. That is, the Hamming distance between the previous output value and the current output value can be observed from the outside as power consumption. DPA attacks by observing this power consumption.

DPAは、次のような手順で攻撃を行う。
(1)ある鍵を仮定して処理中のハミング距離を予想する
(2)測定した消費電力と予想したハミング距離との間の類似度を計算する
(3)複数の測定データに関して類似度が最も高い鍵を、当たり鍵と判定する
この際、仮定する鍵は8ビット程度と小さくないと判別が困難になる。類似度は、差の平均や、相関係数などの関数が用いられる。
DPA attacks in the following procedure.
(1) Predict the Hamming distance during processing assuming a certain key (2) Calculate the similarity between the measured power consumption and the predicted Hamming distance (3) The similarity is the highest for a plurality of measurement data When a high key is determined to be a winning key, it is difficult to determine the assumed key unless it is as small as about 8 bits. For the similarity, a function such as an average of a difference or a correlation coefficient is used.

上述のように、従来のDPA対策では、処理前に処理するデータに乱数を作用させ、処理後のデータから乱数の影響を取り除く、というマスク処理を行っている。これは、消費電力から鍵情報を取り出せたとしても、乱数により攪拌された情報に基づく鍵情報であるため、真の鍵は取り出せないという原理に基づいている。マスク処理のための乱数発生器の使用は、回路規模の増大と電力消費の増大をもたらす。   As described above, in the conventional DPA countermeasures, a mask process is performed in which a random number is applied to data to be processed before processing, and the influence of the random number is removed from the processed data. This is based on the principle that even if the key information can be extracted from the power consumption, the key information is based on the information agitated by the random number, and therefore the true key cannot be extracted. The use of a random number generator for masking results in increased circuit scale and increased power consumption.

ハードウェアで実装する場合には、ノイズ発生源を設けることでSN比を悪くしてDPAに必要となる波形数を増やすといった対策が提案されている。また、どのようなデータが入力されても、処理中のハミング距離が一定になるような冗長符号化を行うことで、そもそも電力変化がおきないように工夫したデュアルレールといった回路構成にする方式が提案されている。しかし、ノイズ発生源は電力を消費するし、デュアルレールにすることは回路規模、電力消費共に数倍大きくなるという問題が生じる。   In the case of mounting by hardware, a countermeasure has been proposed in which a noise generation source is provided to reduce the SN ratio and increase the number of waveforms required for DPA. In addition, there is a method to make a circuit configuration such as a dual rail, which is devised so that power changes do not occur in the first place by performing redundant encoding so that the Hamming distance during processing is constant no matter what data is input. Proposed. However, the noise generation source consumes electric power, and there is a problem that the dual rail is several times larger in circuit scale and electric power consumption.

一般にハードウェアは、フリップフロップで構成される記憶部と組み合わせ回路とで構成される。DPAの観点では、フリップフロップはクロックに同期して動くのでハミング距離を予想しやすい。一方、組み合わせ回路はタイミングが不定でありハミング距離を予想するのは困難である。また、組み合わせ回路よりフリップフロップの方が電力消費が大きいので、消費電力が測定しやすい。すなわち、フリップフロップの方が組み合わせ回路よりDPAに対して脆弱であるため、フリップフロップを適切に保護する必要がある。   In general, hardware is composed of a storage unit composed of flip-flops and a combinational circuit. From the viewpoint of DPA, since the flip-flop moves in synchronization with the clock, it is easy to predict the Hamming distance. On the other hand, the timing of the combinational circuit is indefinite, and it is difficult to predict the Hamming distance. In addition, since the flip-flop consumes more power than the combinational circuit, the power consumption is easy to measure. That is, since the flip-flop is more vulnerable to DPA than the combinational circuit, it is necessary to protect the flip-flop appropriately.

次に、AES暗号方式の概要について説明する。AES暗号方式による暗号化装置は、データ攪拌部と鍵スケジュール部とを備える。データ攪拌部は、上記4つの変換関数を含んでいる。AES暗号方式では、この4つの変換関数を定められた順序に複数回適用することで暗号化処理を行う。また、AES暗号方式による復号処理は、上記4つの変換関数の逆関数(InvSubBytes、InvShiftRows、InvMixColumns、InvAddRoundKey)を含む。復号処理は、これらの逆関数を、暗号化処理の変換関数と逆順に適用することで実行される。   Next, an outline of the AES encryption method will be described. An encryption apparatus using the AES encryption method includes a data agitation unit and a key schedule unit. The data stirring unit includes the above four conversion functions. In the AES encryption method, encryption processing is performed by applying these four conversion functions a plurality of times in a predetermined order. Further, the decryption process by the AES encryption method includes the inverse functions (InvSubBytes, InvShiftRows, InvMixColumns, InvAddRoundKey) of the above four conversion functions. The decryption process is executed by applying these inverse functions in the reverse order to the conversion function of the encryption process.

以下では、各関数について次の略称を用いることにする。
SB:SubBytes
SR:ShiftRows
MC:MixColumns
AK:AddRoundKey
SB−1:InvSubBytes
SR−1:InvShiftRows
MC−1:InvMixColumns
AK−1:InvAddRoundKey
In the following, the following abbreviations are used for each function.
SB: SubBytes
SR: ShiftRows
MC: MixColumns
AK: AddRoundKey
SB- 1 : InvSubBytes
SR- 1 : InvShiftRows
MC- 1 : InvMixColumns
AK -1 : InvAddRoundKey

AES暗号方式の変換関数の中には、処理する順序を入れ替えても演算結果が変わらない関数が存在する。後述するように、SBは、バイト単位に独立した処理を行う関数である。また、SRはバイト並び替えを行う関数である。したがって、SBとSRとは、処理順序を入れ替えても結果は変わらない。同様に、MCとAKも、条件付きで処理順序を入れ替えることができる。   Among the conversion functions of the AES encryption method, there are functions whose operation results do not change even if the processing order is changed. As will be described later, SB is a function that performs independent processing in units of bytes. SR is a function for rearranging bytes. Therefore, the result does not change between SB and SR even if the processing order is changed. Similarly, the processing order of MC and AK can be changed with conditions.

AES暗号方式による暗号化処理の各ラウンドは、異なる鍵情報(ラウンド鍵)を使用する。従って、1ラウンド目は1つのラウンド鍵の影響を受け、2ラウンド目は2つのラウンド鍵の影響を受ける。言い換えると1ラウンド目の中間結果は入力と1つのラウンド鍵から計算できることになる。DPAの観点では、入力に近いラウンド程、予想が容易であり、先のラウンドに進むにつれて関係するラウンド鍵が増えるので予想が困難になる。出力側についても同様のことがいえる。すなわち、例えば上記逆関数等を用いて出力側から予想する場合、出力に近いラウンド程、予想が容易となる。   Each round of encryption processing by the AES encryption method uses different key information (round key). Therefore, the first round is affected by one round key, and the second round is affected by two round keys. In other words, the intermediate result of the first round can be calculated from the input and one round key. From the perspective of DPA, the closer to the input, the easier it is to predict and the more difficult the prediction is because the number of related round keys increases as one proceeds to the previous round. The same can be said for the output side. That is, for example, when predicting from the output side using the above inverse function or the like, the prediction is easier in the round closer to the output.

このように、DPAでは、中間のラウンドのラウンド鍵を攻撃するのは困難であり、入力や出力に近いラウンドが攻撃される。そこで、DPA対策の効率を上げるためには、入力や出力に近いラウンドは十分に対策し、中間のラウンドでは入力や出力に近いラウンド程は対策しないか全く対策しない、ということが考えられる。   Thus, in DPA, it is difficult to attack a round key of an intermediate round, and a round close to input or output is attacked. Therefore, in order to increase the efficiency of DPA countermeasures, it is conceivable that a round close to the input or output is adequately taken, and a round closer to the input or output is not taken or not taken at all in the middle round.

次に、図1を用いて、サイドチャネル攻撃対策のない通常のAESの暗号化処理手順を説明する。図1は、サイドチャネル攻撃対策のないAES暗号方式の暗号化処理手順を示す図である。   Next, a normal AES encryption processing procedure without a side channel attack countermeasure will be described with reference to FIG. FIG. 1 is a diagram showing an AES encryption method without a side channel attack countermeasure.

図1に示すように、通常のAES暗号方式では、4つの変換関数をAK→SB→SR→MCの順に実行し、最後だけAK→SB→SR→AKの順に実行する。図1の縦線は、AES暗号方式の標準規格であるFIPS−197に記載されている処理手順に従って、暗号化処理を分割することを表している。すなわち、クロック0では平文データmが入力され、クロック1ではAKにより変換した結果をラッチし、クロック2ではSB→SR→MC→AKにより変換した結果をラッチし、以下同様に各ラウンドを処理し、最後のラウンドだけSB→SR→AKによる変換を行う。そして、クロック11でラッチされた結果が暗号化データcとして出力される。なお、図1と同様に、第1の実施の形態では、1クロックでAES暗号方式の1ラウンドを実行する。   As shown in FIG. 1, in the normal AES encryption method, four conversion functions are executed in the order of AK → SB → SR → MC, and only the last is executed in the order of AK → SB → SR → AK. The vertical lines in FIG. 1 indicate that the encryption process is divided according to the processing procedure described in FIPS-197, which is the standard for the AES encryption method. That is, the plaintext data m is input at clock 0, the result converted by AK is latched at clock 1, the result converted by SB → SR → MC → AK is latched at clock 2, and each round is processed in the same manner. Only the last round is converted by SB → SR → AK. Then, the result latched by the clock 11 is output as encrypted data c. As in FIG. 1, in the first embodiment, one round of the AES encryption method is executed with one clock.

図2は、図1で説明した手順を実現する暗号化装置1の一例を示す回路図である。暗号化装置1は、フリップフロップ11と、セレクタ12と、SB13と、SR14と、MC15と、AK16a〜16cと、を備えている。   FIG. 2 is a circuit diagram showing an example of the encryption device 1 that implements the procedure described in FIG. The encryption device 1 includes a flip-flop 11, a selector 12, an SB 13, an SR 14, an MC 15, and AKs 16a to 16c.

フリップフロップ11は、中間結果dを格納する。セレクタ12は、5つの入力のうち各クロックで予め定められたデータを選択して出力する。図2では、セレクタ12の上部に記載された数値がクロックを表している。   The flip-flop 11 stores the intermediate result d. The selector 12 selects and outputs predetermined data at each clock among the five inputs. In FIG. 2, the numerical value described at the top of the selector 12 represents a clock.

クロック0では、セレクタ12は、平文データmを選択しフリップフロップ11に中間結果dとして書き込む。クロック1では、セレクタ12は、中間結果dをAK16aにより変換した結果を選択しフリップフロップ11に中間結果dとして書き込む。クロック2からクロック10では、セレクタ12は、中間結果dをSB13→SR14→MC15→AK16bにより変換した結果を選択しフリップフロップ11に中間結果dとして書き込む。クロック11では、セレクタ12は、中間結果dをSB13→SR14→AK16cにより変換した結果を選択しフリップフロップ11に中間結果dとして書き込む。   At clock 0, the selector 12 selects the plain text data m and writes it as the intermediate result d in the flip-flop 11. At clock 1, the selector 12 selects the result obtained by converting the intermediate result d by the AK 16 a and writes the result as the intermediate result d in the flip-flop 11. From clock 2 to clock 10, the selector 12 selects the result obtained by converting the intermediate result d by SB13.fwdarw.SR14.fwdarw.MC15.fwdarw.AK16b and writes it to the flip-flop 11 as the intermediate result d. In the clock 11, the selector 12 selects the result obtained by converting the intermediate result d by SB 13 → SR 14 → AK 16 c and writes the result as the intermediate result d in the flip-flop 11.

いずれのクロックでもない場合は、セレクタ12は、中間結果dを選択し、フリップフロップ11に中間結果dとして書き戻す。クロック11以降、暗号化処理の結果として暗号化データcが出力される。   If it is not any clock, the selector 12 selects the intermediate result d and writes it back to the flip-flop 11 as the intermediate result d. After clock 11, encrypted data c is output as a result of the encryption process.

上述のように、SB13とSR14とは順序を入れ替えても結果は変わらない。また、FIPS−197に記載されているように、MC15とAK16bとを入れ替えることも可能である。   As described above, even if the order of SB13 and SR14 is changed, the result does not change. Further, as described in FIPS-197, MC15 and AK16b can be interchanged.

図3は、各クロックでフリップフロップ11に格納される中間結果dの値を示す図である。図3では、中間結果dの値を式により表現している。説明の便宜上、図3では、「+」は排他的論理和を表し、S(x)=SR(SB(x))、M(x)=MC(x)とする。また、S−1(x)=SR−1(SB−1(x))、M−1(x)=MC−1(x)とする。また、AKは使用するラウンド鍵の番号を示すためにx+knのように表記する。knは、ラウンドn(nは0≦n≦10を満たす整数)で用いるラウンド鍵を表す。クロック3からクロック8は、式が複雑になるため省略している。 FIG. 3 is a diagram showing the value of the intermediate result d stored in the flip-flop 11 at each clock. In FIG. 3, the value of the intermediate result d is expressed by an expression. For convenience of explanation, in FIG. 3, “+” represents an exclusive OR, and S (x) = SR (SB (x)) and M (x) = MC (x). Further, S -1 (x) = SR -1 (SB -1 (x)), and M -1 (x) = MC -1 (x). AK is expressed as x + kn to indicate the number of the round key to be used. kn represents a round key used in round n (n is an integer satisfying 0 ≦ n ≦ 10). The clocks 3 to 8 are omitted because of complicated expressions.

図4は、連続するクロックの中間結果dのハミング距離を示す図である。例えば、1行目はクロック0の中間結果dとクロック1の中間結果dの値の差分(ハミング距離)を表している。以下では、この値を「dのハミング距離」と呼ぶことにする。   FIG. 4 is a diagram illustrating the Hamming distance of the intermediate result d of successive clocks. For example, the first row represents the difference (Hamming distance) between the intermediate result d of clock 0 and the intermediate result d of clock 1. Hereinafter, this value is referred to as “d Hamming distance”.

dのハミング距離の式が以下の4つの条件を満足するとき、DPAを適用可能である。
(1)平文データmまたは暗号化データcを含む
(2)ラウンド鍵knを1種類だけ含む
(3)MまたはM−1が含まれない
(4)SまたはS−1を1つだけ含む
DPA is applicable when the dhamming distance equation satisfies the following four conditions.
(1) including plaintext data m or encrypted data c (2) including only one kind of round key kn (3) not including M or M −1 (4) including only one S or S −1

図4の1行目のクロック0とクロック1の「dのハミング距離」は、(2)と(3)は満足するが、(1)と(4)を満足しない。このため、DPAを適用することはできない。図4の2行目のクロック1とクロック2の「dのハミング距離」は、(1)と(4)は満足するが、(2)と(3)を満足しない。このため、DPAを適用することはできない。図4の3行目のクロック9とクロック10の「dのハミング距離」は、全ての条件を満足しないため、DPAを適用することはできない。図4の4行目のクロック10とクロック11の「dのハミング距離」は、全ての条件を満足するのでDPAを適用可能である。   The “hamming distance of d” between clock 0 and clock 1 in the first row in FIG. 4 satisfies (2) and (3), but does not satisfy (1) and (4). For this reason, DPA cannot be applied. The “dhamming distance of d” between clock 1 and clock 2 in the second row in FIG. 4 satisfies (1) and (4), but does not satisfy (2) and (3). For this reason, DPA cannot be applied. Since the “dhamming distance of d” between the clock 9 and the clock 10 in the third row in FIG. 4 does not satisfy all the conditions, DPA cannot be applied. Since the “dhamming distance of d” between the clock 10 and the clock 11 in the fourth row in FIG. 4 satisfies all the conditions, DPA can be applied.

ここで、図4の1行目の場合について補足する。ラウンド鍵k0は固定値でありメッセージ(平文データm)に依存しないため、メッセージを変えながら何度測定しても得られる情報量は存在しないことになる。これは条件(1)が必須であることを意味している。   Here, the case of the first line in FIG. 4 will be supplemented. Since the round key k0 is a fixed value and does not depend on the message (plain text data m), there is no amount of information that can be obtained no matter how many times the measurement is performed while changing the message. This means that the condition (1) is essential.

図4の2行目の場合について補足する。dのハミング距離の式にMが含まれているので、dのハミング距離のある1バイトは、必ずmの32ビット、ラウンド鍵k0の32ビット、およびラウンド鍵k1の8ビットに依存している。従って、ラウンド鍵を40ビット仮定しないと、dのハミング距離を予想できない。このためDPAを適用できないことになる。これは条件(3)が必須であることを意味している。   It supplements about the case of the 2nd line of FIG. Since M is included in the dhamming distance formula of d, one byte with d hamming distance always depends on 32 bits of m, 32 bits of round key k0, and 8 bits of round key k1. . Therefore, unless 40 bits are assumed for the round key, the Hamming distance of d cannot be predicted. For this reason, DPA cannot be applied. This means that the condition (3) is essential.

なお、乱数を作用させてマスクを付与する従来の対策は、中間結果dの値を攪拌している。これにより、例えば上記クロック10とクロック11のdのハミング距離のようにDPAが適用可能な条件を満足する場合であっても、取り出した値がマスク(乱数)に依存しているために、結果として正しい鍵情報を取り出せないという対策になっていた。   Note that the conventional measure for applying a mask by applying a random number stirs the value of the intermediate result d. As a result, even if the DPA is applicable to the conditions such as the Hamming distance of the clock 10 and the clock 11 d, the extracted value depends on the mask (random number). As a countermeasure, correct key information cannot be extracted.

一方、第1の実施の形態では、従来の対策と異なる原理を用いて、サイドチャネル攻撃対策を行う。すなわち、いずれのラウンド(クロック)でも、図4のようにして求めるdのハミング距離が、上記(1)〜(4)の条件を満足しないような回路構成となるようにする。   On the other hand, in the first embodiment, a side channel attack countermeasure is performed using a principle different from the conventional countermeasure. That is, in any round (clock), the circuit configuration is such that the Hamming distance of d obtained as shown in FIG. 4 does not satisfy the conditions (1) to (4).

図5は、第1の実施の形態によるAES暗号方式の暗号化処理手順を示す図である。図5に示すように、クロック0では平文データmが入力され、クロック1からクロック4ではAK→SB→SR→MCにより変換した結果をラッチし、クロック5ではAK→SB→SRにより変換した結果をラッチし、クロック6からクロック10ではMC→AK→SB→SRにより変換した結果をラッチし、クロック11ではAKにより変換した結果をラッチし、暗号化データcとして出力している。図5と図1とは、ラッチするタイミングが異なるだけである。   FIG. 5 is a diagram showing an encryption processing procedure of the AES encryption method according to the first embodiment. As shown in FIG. 5, the plaintext data m is input at clock 0, the result of conversion by AK → SB → SR → MC is latched at clock 1 to clock 4, and the result of conversion by AK → SB → SR at clock 5 The clock 6 to the clock 10 latch the result converted by MC → AK → SB → SR, and the clock 11 latches the result converted by AK and outputs it as encrypted data c. FIG. 5 and FIG. 1 differ only in the latch timing.

図5のクロック5のような3つ組(AK、SB、SR)を入力または出力の近くに置いておくとDPAが可能になる。このため、図5では、入力や出力から遠い中央付近のラウンド(ラウンド5)に移動させている。なお、3つ組を置くのはクロック5に限られるものではない。クロック3やクロック4のように、ラウンド5より入力に近くてもよく、クロック6やクロック7のようにラウンド5より出力に近くてもよい。   If a triplet (AK, SB, SR) such as clock 5 in FIG. 5 is placed near the input or output, DPA becomes possible. For this reason, in FIG. 5, it is moved to the round near the center (round 5) far from the input and output. Note that the triplet is not limited to the clock 5. Like clock 3 and clock 4, it may be closer to the input than round 5, and may be closer to output than round 5 like clock 6 and clock 7.

図6は、図5で説明した手順を実現する第1の実施の形態の暗号化装置100の一例を示す回路図である。暗号化装置100は、フリップフロップ111と、セレクタ112と、SB113a、113bと、SR114a、114bと、MC115a、115bと、AK116a〜116cと、を備えている。なお、図6では、AES暗号方式の各ラウンドの演算を行う演算部の主な構成を示している。暗号化装置100が、暗号化するデータを入力する入力部や、鍵情報を記憶する記憶部などをさらに備えていてもよい。   FIG. 6 is a circuit diagram illustrating an example of the encryption device 100 according to the first embodiment that implements the procedure described in FIG. 5. The encryption device 100 includes a flip-flop 111, a selector 112, SBs 113a and 113b, SRs 114a and 114b, MCs 115a and 115b, and AKs 116a to 116c. Note that FIG. 6 shows a main configuration of a calculation unit that performs calculations for each round of the AES encryption method. The encryption device 100 may further include an input unit that inputs data to be encrypted, a storage unit that stores key information, and the like.

フリップフロップ111は、中間結果dを格納する。セレクタ112は、6つの入力のうち各クロックで予め定められたデータを選択して出力する。図6では、セレクタ12の上部に記載された数値がクロックを表している。   The flip-flop 111 stores the intermediate result d. The selector 112 selects and outputs predetermined data at each clock among the six inputs. In FIG. 6, the numerical value described in the upper part of the selector 12 represents a clock.

クロック0では、セレクタ112は、平文データmを選択しフリップフロップ111に中間結果dとして書き込む。クロック1からクロック4では、セレクタ112は、中間結果dをAK116a→SB113a→SR114a→MC115aにより変換した結果を選択しフリップフロップ111に中間結果dとして書き込む。クロック5では、セレクタ112は、中間結果dをAK116a→SB113a→SR114aにより変換した結果を選択しフリップフロップ111に中間結果dとして書き込む。クロック6からクロック10では、セレクタ112は、中間結果dをMC115b→AK116b→SB113b→SR114bにより変換した結果を選択しフリップフロップ111に中間結果dとして書き込む。クロック11では、セレクタ112は、中間結果dをAK116cにより変換した結果を選択しフリップフロップ11に中間結果dとして書き込む。   At clock 0, the selector 112 selects the plaintext data m and writes it as the intermediate result d in the flip-flop 111. From clock 1 to clock 4, the selector 112 selects the result obtained by converting the intermediate result d by AK116a → SB113a → SR114a → MC115a, and writes the result as the intermediate result d in the flip-flop 111. At clock 5, the selector 112 selects the result obtained by converting the intermediate result d by AK116a → SB113a → SR114a, and writes the result as the intermediate result d in the flip-flop 111. From clock 6 to clock 10, the selector 112 selects a result obtained by converting the intermediate result d by MC 115b → AK 116b → SB 113b → SR 114b, and writes the selected result to the flip-flop 111 as the intermediate result d. In the clock 11, the selector 112 selects the result obtained by converting the intermediate result d by the AK 116 c and writes it as the intermediate result d in the flip-flop 11.

いずれのクロックでもない場合は、セレクタ112は、中間結果dを選択し、フリップフロップ111に中間結果dとして書き戻す。クロック11以降、暗号化処理の結果として暗号化データcが出力される。   If it is not any clock, the selector 112 selects the intermediate result d and writes it back to the flip-flop 111 as the intermediate result d. After clock 11, encrypted data c is output as a result of the encryption process.

上述のように、SB113とSR114とは順序を入れ替えても結果は変わらない。また、FIPS−197に記載されているように、MC115とAK116とを入れ替えることも可能である。また、図6ではクロック5で3つ組(AK116a、SB113a、SR114a)を実行する例が記載されているが、3つ組をクロック2からクロック9のいずれで実行してもよい。   As described above, even if the order of SB113 and SR114 is changed, the result does not change. Also, as described in FIPS-197, MC 115 and AK 116 can be interchanged. In addition, although FIG. 6 illustrates an example in which the triplet (AK116a, SB113a, SR114a) is executed by the clock 5, the triplet may be executed by any of the clock 2 to the clock 9.

次に、AES暗号方式の上記4つの関数の構成例について図7〜図11を用いて説明する。以下では、鍵長が128ビットの場合の例を説明する。   Next, configuration examples of the four functions of the AES encryption method will be described with reference to FIGS. Hereinafter, an example in which the key length is 128 bits will be described.

図7は、AddRoundKey(AK116)の構成例を示す図である。図7に示すように、AddRoundKeyは、各ラウンドで128ビットのラウンド鍵(k0〜k10)と、128ビットの入力データとの排他的論理和である128ビットのデータを出力する。   FIG. 7 is a diagram illustrating a configuration example of the AddRoundKey (AK116). As shown in FIG. 7, AddRoundKey outputs 128-bit data that is an exclusive OR of a 128-bit round key (k0 to k10) and 128-bit input data in each round.

図8は、SubBytes(SB113)の構成例を示す図である。図8に示すようにSubBytesは、128ビットの入力データを16個の8ビットデータに分けて処理する。   FIG. 8 is a diagram illustrating a configuration example of SubBytes (SB113). As shown in FIG. 8, SubBytes processes 128-bit input data by dividing it into 16 8-bit data.

図9は、ShiftRows(SR114)の構成例を示す図である。図9に示すように、ShiftRowsは、128ビットの入力データを16個の8ビットデータに分割して並び替える。図9では、入力データを分割した各8ビットデータが、矢印の先で表された位置に並び替えられることが示されている。   FIG. 9 is a diagram illustrating a configuration example of ShiftRows (SR114). As shown in FIG. 9, ShiftRows divides 128-bit input data into 16 8-bit data and rearranges them. FIG. 9 shows that each 8-bit data obtained by dividing the input data is rearranged at the position indicated by the tip of the arrow.

図10は、ShiftRowsにより並べ替えられるバイトの対応関係を例示する図である。図10は、図9に示す順で並び替えられる場合の入力バイトと出力バイトとの対応関係を示している。   FIG. 10 is a diagram illustrating a correspondence relationship of bytes rearranged by ShiftRows. FIG. 10 shows the correspondence between input bytes and output bytes when rearranged in the order shown in FIG.

図11は、MixColumns(MC115)の構成例を示す図である。図11に示すように、MixColumnsは、128ビットの入力データを4個の32ビットデータに分けて処理する。   FIG. 11 is a diagram illustrating a configuration example of MixColumns (MC115). As shown in FIG. 11, MixColumns processes 128-bit input data by dividing it into four 32-bit data.

次に、図6のような回路構成の場合に各クロックで出力される中間結果dについて説明する。図12は、各クロックでフリップフロップ111に格納される中間結果dの値を示す図である。図12は、図3と同様に中間結果dの値を式により表現している。   Next, the intermediate result d output at each clock in the case of the circuit configuration as shown in FIG. 6 will be described. FIG. 12 is a diagram illustrating the value of the intermediate result d stored in the flip-flop 111 at each clock. FIG. 12 represents the value of the intermediate result d by an expression as in FIG.

図13は、図12の中間結果dから算出される、連続するクロックの中間結果dのハミング距離を示す図である。図13に示すように、第1の実施の形態の回路構成(図6)によれば、全てのクロックにおいてdのハミング距離は上記の4つの条件を満足しないことが分かる。   FIG. 13 is a diagram showing the Hamming distance of the intermediate results d of successive clocks calculated from the intermediate results d of FIG. As shown in FIG. 13, according to the circuit configuration of the first embodiment (FIG. 6), it can be seen that the hamming distance of d does not satisfy the above four conditions in all clocks.

なお、上記4つの条件を満たさないような回路構成は図6に限られるものではない。ラウンド鍵を用いてデータを演算するラウンドのうち、最初のラウンドでAK→SB→MCの順に演算を行い、最後の1つ前のラウンドでMC→AK→SBの順、または、AK→MC→SBの順で演算を行い、最後のラウンドで、AKを含む演算を行うものであれば、暗号化装置100の演算部としてどのような回路を用いてもよい。   The circuit configuration that does not satisfy the above four conditions is not limited to FIG. Among the rounds in which data is calculated using a round key, calculation is performed in the order of AK → SB → MC in the first round, and MC → AK → SB in the last previous round, or AK → MC → Any circuit may be used as the calculation unit of the encryption apparatus 100 as long as the calculation is performed in the order of SB and the calculation including AK is performed in the last round.

このような回路であれば、最初のラウンドでMCを実行するため、次のラウンド(クロック)との間のdのハミング距離の式には、必ずM(MC)が含まれる。また、最後の1つ前のラウンドでMCを実行するため、最後のラウンドとの間のdのハミング距離の式には、必ずM(MC)が含まれる。したがって、上記(3)の条件が満たされないため、これらのラウンド(クロック)についてはDPAは適用不可となる。   In such a circuit, since MC is executed in the first round, M (MC) is always included in the expression of the Hamming distance of d from the next round (clock). In addition, since MC is executed in the last previous round, the formula of d's Hamming distance from the last round always includes M (MC). Therefore, since the condition (3) is not satisfied, DPA cannot be applied to these rounds (clocks).

また、2ラウンドから最後のラウンドの2つ前までの各ラウンドでは、dのハミング距離の式に少なくとも2つのラウンド鍵が含まれる。したがって、上記(2)の条件が満たされないため、これらの各ラウンドについてもDPAは適用不可となる。   In each round from 2 rounds to 2 rounds before the last round, at least two round keys are included in the dhamming distance formula. Therefore, since the condition (2) is not satisfied, DPA cannot be applied to these rounds.

このような回路としては、例えば、ラウンド5でAK→SBの順で演算を行い、ラウンド6以降でSR→MC→AK→SBの順で演算を行い、最後のラウンドでSR→AKの演算を行う回路が挙げられる。また、このような回路の各ラウンドのうち任意のラウンドのSRのみを独立したクロック(ラウンド)で演算するように構成してもよい。   As such a circuit, for example, the calculation is performed in the order of AK → SB in round 5, the calculation is performed in the order of SR → MC → AK → SB in round 6 and after, and the calculation of SR → AK is performed in the last round. The circuit to perform is mentioned. Moreover, you may comprise so that only SR of arbitrary rounds in each round of such a circuit may be calculated with an independent clock (round).

なお、最初のラウンドでは、SRはMCより後以外であればいずれの箇所に挿入してもよい。具体的には、最初のラウンドでは、AKの前、SBの前、および、MCの前のいずれかにSRを実行するように構成すればよい。   In the first round, SR may be inserted at any location other than after MC. Specifically, in the first round, SR may be executed before AK, before SB, and before MC.

また、最後の1つ前のラウンドでは、SRは、MCより後であればいずれの箇所に挿入してもよい。具体的には、最後の1つ前のラウンドでは、MC→AK→SBの順で演算する場合は、MCの後、AKの後、および、SBの後のいずれかにSRを実行するように構成すればよい。また、AK→MC→SBの順で演算する場合は、MCの後、および、SBの後のいずれかにSRを実行するように構成すればよい。   Further, in the last previous round, SR may be inserted at any location as long as it is after MC. Specifically, in the last previous round, when calculating in the order MC → AK → SB, SR is executed after MC, after AK, or after SB. What is necessary is just to comprise. Further, when calculating in the order of AK → MC → SB, the SR may be executed either after the MC or after the SB.

図14は、第1の実施の形態の変形例にかかる暗号化装置200の一例を示す回路図である。図14は、図6の回路の等価回路の一例を示している。図14に示すように、暗号化装置200は、フリップフロップ111と、セレクタ112−2と、SB113と、SR114と、MC115a、115bと、AK116a、116cと、セレクタ121と、を備えている。   FIG. 14 is a circuit diagram illustrating an example of the encryption device 200 according to the modification of the first embodiment. FIG. 14 shows an example of an equivalent circuit of the circuit of FIG. As shown in FIG. 14, the encryption apparatus 200 includes a flip-flop 111, a selector 112-2, an SB 113, an SR 114, MCs 115a and 115b, AKs 116a and 116c, and a selector 121.

図14の回路は機能的には図6と等価であるが、AK116a→SB113→SR114の部分を共有することで回路規模を削減している。図2の回路と比較した場合、図14の回路は、1つのMCおよびセレクタ121が増加しただけである。   The circuit of FIG. 14 is functionally equivalent to that of FIG. 6, but the circuit scale is reduced by sharing the part of AK116a → SB113 → SR114. Compared with the circuit of FIG. 2, the circuit of FIG. 14 has only one MC and selector 121 increased.

このように、第1の実施の形態にかかる暗号化装置では、AES暗号方式のSubBytes、ShiftRows、MixColumns、およびAddRoundKeyの各ラウンドの演算での処理順序をDPAが適用できない条件を満たす順序に並べ替えて演算する。これにより、乱数の生成等を行うことなく、未対策のAESと同程度の回路規模および電力消費であり、かつ、サイドチャネル攻撃に対して安全な暗号化装置を実現できる。なお、安全性をさらに高めるために、従来のサイドチャネル攻撃対策と併用することも可能である。   As described above, in the encryption apparatus according to the first embodiment, the processing order in each round calculation of SubBytes, ShiftRows, MixColumns, and AddRoundKey of the AES encryption method is rearranged to an order that satisfies the conditions that DPA cannot apply. To calculate. As a result, it is possible to realize an encryption device that has a circuit scale and power consumption comparable to those of AES that has not been addressed and that is safe against side channel attacks without generating random numbers. In order to further increase the safety, it can be used in combination with a conventional countermeasure against side channel attacks.

(第2の実施の形態)
第2の実施の形態では、第1の実施の形態の暗号化装置と同様の手法を、AES暗号方式の復号装置に適用した例について説明する。
(Second Embodiment)
In the second embodiment, an example will be described in which the same method as that of the encryption device of the first embodiment is applied to a decryption device of the AES encryption method.

最初に、図15を用いて、サイドチャネル攻撃対策のない通常のAESの復号処理手順を説明する。図15は、サイドチャネル攻撃対策のないAES暗号方式の復号処理手順を示す図である。   First, a normal AES decoding process procedure without a side channel attack countermeasure will be described with reference to FIG. FIG. 15 is a diagram showing a decryption processing procedure of the AES encryption method without a side channel attack countermeasure.

図15に示すように、通常のAES暗号方式では、上記4つの逆関数をSR−1→SB−1→AK−1→MC−1の順に実行し、最後だけSR−1→SB−1→AK−1の順に実行する。 As shown in FIG. 15, in the normal AES encryption method, the above four inverse functions are executed in the order of SR −1 → SB −1 → AK −1 → MC −1 and only SR −1 → SB −1 → Execute in the order of AK- 1 .

図16は、第2の実施の形態によるAES暗号方式の復号処理手順を示す図である。図16に示すように、クロック0では暗号化データcが入力され、クロック1からクロック4ではSR−1→SB−1→AK−1→MC−1により変換した結果をラッチし、クロック5ではSR−1→SB−1→AK−1により変換した結果をラッチし、クロック6からクロック10ではMC−1→SR−1→SB−1→AK−1により変換した結果をラッチし、平文データmとして出力している。 FIG. 16 is a diagram illustrating a decryption process procedure of the AES encryption method according to the second embodiment. As shown in FIG. 16, the encrypted data c is input at clock 0, the result of conversion from SR −1 → SB −1 → AK −1 → MC −1 is latched at clock 1 to clock 4, and at clock 5 The result converted by SR −1 → SB −1 → AK −1 is latched, and from clock 6 to clock 10, the result converted by MC −1 → SR −1 → SB −1 → AK −1 is latched, and plaintext data Output as m.

図17は、図16で説明した手順を実現する第2の実施の形態の復号装置300の一例を示す回路図である。復号装置300は、フリップフロップ311と、セレクタ312と、SB−1313a、313bと、SR−1314a、314bと、MC−1315a、315bと、AK−1316a〜316cと、を備えている。 FIG. 17 is a circuit diagram illustrating an example of the decoding device 300 according to the second embodiment that implements the procedure described in FIG. 16. The decoding device 300 includes a flip-flop 311, a selector 312, SB- 1 313a, 313b, SR- 1 314a, 314b, MC- 1 315a, 315b, and AK- 1 316a-316c. .

図17に示すように、復号装置300は、第1の実施の形態の暗号化装置100の回路図(図6)の各変換関数に対応する逆関数を、図6の各変換関数の実行順序と逆の順序で実行する回路となっている。   As illustrated in FIG. 17, the decryption device 300 converts the inverse function corresponding to each conversion function in the circuit diagram (FIG. 6) of the encryption device 100 according to the first embodiment to the execution order of each conversion function in FIG. 6. The circuit is executed in the reverse order.

図18は、各クロックでフリップフロップ311に格納される中間結果dの値を示す図である。図18は、図3および図12と同様に中間結果dの値を式により表現している。   FIG. 18 is a diagram illustrating the value of the intermediate result d stored in the flip-flop 311 at each clock. FIG. 18 represents the value of the intermediate result d by an expression as in FIGS. 3 and 12.

図19は、図18の中間結果dから算出される、連続するクロックの中間結果dのハミング距離を示す図である。図19に示すように、第2の実施の形態の回路構成(図17)によれば、全てのクロックにおいてdのハミング距離は上記の4つの条件を満足しないことが分かる。   FIG. 19 is a diagram illustrating the Hamming distance of the intermediate result d of successive clocks calculated from the intermediate result d of FIG. As shown in FIG. 19, according to the circuit configuration of the second embodiment (FIG. 17), it can be seen that the hamming distance of d does not satisfy the above four conditions in all clocks.

なお、上記4つの条件を満たさないような回路構成は図17に限られるものではない。ラウンド鍵を用いてデータを演算するラウンドのうち、最初のラウンドでAK−1を含む演算を行い、最初の1つ後のラウンドでSB−1→AK−1→MC−1の順、または、SB−1→MC−1→AK−1の順で演算を行い、最後のラウンドでMC−1→SB−1→AK−1の順で演算を行うものであれば、復号装置300の演算部としてどのような回路を用いてもよい。 The circuit configuration that does not satisfy the above four conditions is not limited to FIG. Among the rounds in which data is calculated using a round key, an operation including AK −1 is performed in the first round, and in the order of SB −1 → AK −1 → MC −1 in the first subsequent round, or If the calculation is performed in the order of SB −1 → MC −1 → AK −1 and the calculation is performed in the order of MC −1 → SB −1 → AK −1 in the last round, the calculation unit of the decoding device 300 Any circuit may be used.

このような回路であれば、最初の1つ後のラウンドでMC−1を実行するため、最初のラウンド(クロック)との間のdのハミング距離の式には、必ずM−1(MC−1)が含まれる。また、最後のラウンドでMC−1を実行するため、最後の1つ前のラウンドと最後のラウンドとの間のdのハミング距離の式には、必ずMC−1が含まれる。したがって、上記(3)の条件が満たされないため、これらのラウンド(クロック)についてはDPAは適用不可となる。 In such a circuit, MC −1 is executed in the first round after the first round. Therefore, the expression of the Hamming distance of d between the first round (clock) is always M −1 (MC − 1 ) is included. In addition, since MC −1 is executed in the last round, MC −1 is always included in the expression of the Hamming distance of d between the last previous round and the last round. Therefore, since the condition (3) is not satisfied, DPA cannot be applied to these rounds (clocks).

また、2ラウンドから最後のラウンドの2つ前までの各ラウンドでは、dのハミング距離の式に少なくとも2つのラウンド鍵が含まれる。したがって、上記(2)の条件が満たされないため、これらの各ラウンドについてもDPAは適用不可となる。   In each round from 2 rounds to 2 rounds before the last round, at least two round keys are included in the dhamming distance formula. Therefore, since the condition (2) is not satisfied, DPA cannot be applied to these rounds.

なお、最初の1つ後のラウンドでは、SR−1は、MC−1より前であればいずれの箇所に挿入してもよい。具体的には、最初の1つ後のラウンドでは、SB−1→AK−1→MC−1の順で演算する場合は、SB−1の前、AK−1の前、および、MC−1の前のいずれかにSR−1を実行するように構成すればよい。また、SB−1→MC−1→AK−1の順で演算する場合は、SB−1の前、および、MC−1の前のいずれかにSR−1を実行するように構成すればよい。 In the first round after the first, SR- 1 may be inserted at any location as long as it is before MC- 1 . Specifically, the first one after the rounds, when calculating the order of SB -1 AK -1MC -1 is the previous SB -1, prior to AK -1, and, MC -1 What is necessary is just to comprise so that SR- 1 may be performed in either of. Further, when calculating in the order of SB −1 → MC −1 → AK −1 , SR −1 may be executed either before SB −1 or before MC −1. .

また、最後のラウンドでは、SR−1はMC−1より後であればいずれの箇所に挿入してもよい。具体的には、最後のラウンドでは、MC−1の後、SB−1の後、および、AK−1の後のいずれかにSR−1を実行するように構成すればよい。 In the last round, SR- 1 may be inserted at any location as long as it is after MC- 1 . Specifically, in the last round, SR −1 may be executed after MC −1 , after SB −1 , and after AK −1 .

このように、第2の実施の形態にかかる復号装置では、第1の実施の形態の暗号化装置と同様の手法をAES暗号方式の復号処理に適用できる。これにより、乱数の生成等を行うことなく、未対策のAESと同程度の回路規模および電力消費であり、かつ、サイドチャネル攻撃に対して安全な復号装置を実現できる。   As described above, in the decryption device according to the second embodiment, the same technique as that of the encryption device according to the first embodiment can be applied to the decryption process of the AES encryption method. As a result, it is possible to realize a decryption device that has a circuit scale and power consumption comparable to that of AES that has not been addressed and that is safe against side channel attacks without generating random numbers.

(第3の実施の形態)
第3の実施の形態では、スマートグリッドに適用した実施の形態を説明する。スマートグリッドとは、原子力や火力など従来の発電に加えて、太陽光や風力などの再生可能エネルギーを併用する際の電力品質の安定化を図るために構築されている次世代電力網である。
(Third embodiment)
In the third embodiment, an embodiment applied to a smart grid will be described. A smart grid is a next-generation power network that is built to stabilize power quality when using renewable energy such as solar power and wind power in addition to conventional power generation such as nuclear power and thermal power.

図20は、第3の実施の形態の次世代電力網の一構成例を示す図である。次世代電力網では、電力使用量を集計するスマートメーター3010aと、家電機器を管理するホームサーバであるHEMS(Home Energy Management System)3020が各家庭に設置される。また、商業ビルを対象として、ビル内の電気機器を管理するサーバであるBEMS(Building Energy Management System)3030がビル毎に設置される。商業ビルには、スマートメーター3010aと同様のスマートメーター3010bが設置される。以下では、スマートメーター3010aおよび3010bを単にスマートメーター3010という。   FIG. 20 is a diagram illustrating a configuration example of the next-generation power network according to the third embodiment. In the next-generation power network, a smart meter 3010a for collecting power consumption and a home energy management system (HEMS) 3020 that is a home server for managing home appliances are installed in each home. In addition, for commercial buildings, a BEMS (Building Energy Management System) 3030, which is a server for managing electrical devices in the building, is installed for each building. In a commercial building, a smart meter 3010b similar to the smart meter 3010a is installed. Hereinafter, the smart meters 3010a and 3010b are simply referred to as a smart meter 3010.

スマートメーター3010は、コンセントレータとよばれる中継器(コンセントレータ3040)によって数台ごとにまとめられ、通信網を介してメーターデータ管理システムであるMDMS(Meter Data Management System)3050と通信する。MDMS3050は、各家庭のスマートメーター3010から一定の間隔で電力使用量を受信して記憶する。エネルギー管理システムであるEMS(Energy Management System)3060は、MDMS3050に集まった複数の家庭の電力使用量、或いは、電力系統に設置されたセンサからの情報に基づいて、各家庭のスマートメーター3010やHEMS3020に対して電力使用を抑制するよう要求するなどの電力制御を行う。また、EMS3060は、遠隔端末ユニットであるRTU(Remote Terminal Unit)3071に接続された太陽光発電や風力発電などの分散電源3080、同じくRTU3072に接続された蓄電装置3090、および、RTU3073に接続された発電側との間を制御する送配電制御装置3100を制御し、グリッド全体の電圧および周波数を安定化するための制御を行う。   The smart meter 3010 is grouped into several units by a repeater (concentrator 3040) called a concentrator, and communicates with an MDMS (Meter Data Management System) 3050 which is a meter data management system via a communication network. The MDMS 3050 receives and stores the power usage from the smart meter 3010 in each home at regular intervals. An EMS (Energy Management System) 3060, which is an energy management system, is based on the power consumption of a plurality of households collected in the MDMS 3050 or information from sensors installed in the power system, and the smart meter 3010 and the HEMS 3020 of each household. Power control such as requesting to suppress power usage. The EMS 3060 is connected to a distributed power source 3080 such as solar power generation or wind power generation connected to an RTU (Remote Terminal Unit) 3071 which is a remote terminal unit, a power storage device 3090 connected to the RTU 3072, and an RTU 3073. Control is performed to stabilize the voltage and frequency of the entire grid by controlling the power transmission and distribution control device 3100 that controls the power generation side.

図21は、スマートメーター3010とMDMS3050とが接続された構成例を示すブロック図である。スマートメーター3010は、MDMS3050と暗号通信を行う。通信経路上にコンセントレータ3040が存在するが、コンセントレータ3040は暗号通信を中継するのみである。   FIG. 21 is a block diagram illustrating a configuration example in which a smart meter 3010 and an MDMS 3050 are connected. Smart meter 3010 performs encrypted communication with MDMS 3050. A concentrator 3040 exists on the communication path, but the concentrator 3040 only relays encrypted communication.

例えば、計測部410に接続する通信部420の暗復号部421が、AESの鍵情報を用いて計測値を暗号化し、通信部420の送受信部422が暗号化した計測値をMDMS3050に送る。MDMS3050の送受信部422は暗号化された計測値を受信し、MDMS3050の暗復号部421は、保持するAESの鍵情報を用いて暗号化された計測値を復号する。これにより、通信路上で通信が傍受されたとしても、傍受者は計測値を知ることができない。或いは、MDMS3050から計測部410に制御用コマンドが送られる場合がある。例えば、計測の中止や開始、計測データの送付指示などの制御コマンドである。MDMS3050の暗復号部421は、AESの鍵情報を用いて、制御コマンドを暗号化し、MDMS3050の送受信部422は暗号化した制御コマンドをスマートメーター3010の通信部420に送信する。通信部420の送受信部422は、暗号化された制御コマンドを受信し、通信部420の暗復号部421はAESの鍵情報を用いて暗号化制御コマンドを復号し、制御コマンドを計測部410に送る。或いは、スマートメーター3010に設けられる記憶装置(図示せず)の記憶領域に電力使用量データが格納されており、通信部420の暗復号部421は、AESの鍵情報を用いて当該電力使用量データを暗号化し、通信部420の送受信部422は暗号化電力使用量データをMDMS3050に送信する。MDMS3050の送受信部422は、暗号化電力使用量データを受信し、MDMS3050の暗復号部520はAESの鍵情報を用いて当該暗号化電力使用量データを復号する。ここで、スマートメーター3010の暗復号部421が第1の実施の形態の暗号化装置(100、200)および第2の実施の形態の復号装置(300)を備えている。第1の実施の形態の平文データmが本実施の形態の計測値や制御コマンドに対応し、第1の実施の形態の暗号化データcが本実施の形態の暗号化された計測値(電力使用量)や暗号化された制御コマンドに対応する。   For example, the encryption / decryption unit 421 of the communication unit 420 connected to the measurement unit 410 encrypts the measurement value using the AES key information, and sends the measurement value encrypted by the transmission / reception unit 422 of the communication unit 420 to the MDMS 3050. The transmission / reception unit 422 of the MDMS 3050 receives the encrypted measurement value, and the encryption / decryption unit 421 of the MDMS 3050 decrypts the encrypted measurement value using the held AES key information. Thereby, even if communication is intercepted on a communication path, an interceptor cannot know a measured value. Alternatively, a control command may be sent from the MDMS 3050 to the measurement unit 410. For example, control commands such as stop and start of measurement and an instruction to send measurement data. The encryption / decryption unit 421 of the MDMS 3050 encrypts the control command using the AES key information, and the transmission / reception unit 422 of the MDMS 3050 transmits the encrypted control command to the communication unit 420 of the smart meter 3010. The transmission / reception unit 422 of the communication unit 420 receives the encrypted control command, the encryption / decryption unit 421 of the communication unit 420 decrypts the encryption control command using the AES key information, and sends the control command to the measurement unit 410. send. Alternatively, power usage amount data is stored in a storage area of a storage device (not shown) provided in the smart meter 3010, and the encryption / decryption unit 421 of the communication unit 420 uses the AES key information to store the power usage amount. The data is encrypted, and the transmission / reception unit 422 of the communication unit 420 transmits the encrypted power usage data to the MDMS 3050. The transmission / reception unit 422 of the MDMS 3050 receives the encrypted power usage data, and the encryption / decryption unit 520 of the MDMS 3050 decrypts the encrypted power usage data using the AES key information. Here, the encryption / decryption unit 421 of the smart meter 3010 includes the encryption device (100, 200) of the first embodiment and the decryption device (300) of the second embodiment. The plain text data m of the first embodiment corresponds to the measurement value and control command of the present embodiment, and the encrypted data c of the first embodiment is the encrypted measurement value (power) of the present embodiment. Usage) and encrypted control commands.

図22は、HEMS3020とEMS3060が接続された構成例を示すブロック図である。EMS3060の暗復号部720は制御情報を暗号化し、EMS3060の送受信部710は暗号化された制御情報をHEMS3020の通信部620内の送受信部622に送信する。HEMS3020の送受信部622は暗号化された制御情報を受信し、HEMS3020の通信部620内の暗復号部621は暗号化された制御情報を復号する。復号された制御情報はHEMS3020の制御部640に受信して、制御部640は制御情報に基づいて、家庭内の機器を制御する。また、さらに以下の動作をしてもよい。HEMS3020の制御部640から家庭内の機器の状態を表す機器状態情報などをHEMS3020の暗復号部621で暗号化して、HEMS3020の送受信部622がEMS3060に送信する。そして、EMS3060の送受信部720が暗号化された機器状態情報をEMS3060の暗復号部720が復号して、EMS3060では復号された機器状態情報を利用してその後の制御に利用などする。ここで、HEMS3020の暗復号部621が第1の実施の形態の暗号化装置(100、200)および第2の実施の形態の復号装置(300)を備えている。第1の実施の形態の平文データmが本実施の形態の制御情報や機器状態情報に対応し、第1の実施の形態の暗号化データcが本実施の形態の暗号化された制御情報や暗号化された機器状態情報に該当する。   FIG. 22 is a block diagram illustrating a configuration example in which the HEMS 3020 and the EMS 3060 are connected. The encryption / decryption unit 720 of the EMS 3060 encrypts the control information, and the transmission / reception unit 710 of the EMS 3060 transmits the encrypted control information to the transmission / reception unit 622 in the communication unit 620 of the HEMS 3020. The transmission / reception unit 622 of the HEMS 3020 receives the encrypted control information, and the encryption / decryption unit 621 in the communication unit 620 of the HEMS 3020 decrypts the encrypted control information. The decoded control information is received by the control unit 640 of the HEMS 3020, and the control unit 640 controls devices in the home based on the control information. Further, the following operation may be performed. The device status information indicating the status of devices in the home is encrypted by the encryption / decryption unit 621 of the HEMS 3020 from the control unit 640 of the HEMS 3020, and the transmission / reception unit 622 of the HEMS 3020 transmits the data to the EMS 3060. The device status information encrypted by the transmission / reception unit 720 of the EMS 3060 is decrypted by the encryption / decryption unit 720 of the EMS 3060, and the decrypted device status information is used by the EMS 3060 for subsequent control. Here, the encryption / decryption unit 621 of the HEMS 3020 includes the encryption device (100, 200) of the first embodiment and the decryption device (300) of the second embodiment. The plain text data m of the first embodiment corresponds to the control information and device status information of the present embodiment, and the encrypted data c of the first embodiment is the encrypted control information of the present embodiment Corresponds to encrypted device status information.

このように、第3の実施の形態では、コンテンツ保護と異なる分野である次世代電力網で用いられるデータに対して、データの不正利用を防止することができる。   Thus, in the third embodiment, unauthorized use of data can be prevented for data used in the next-generation power network, which is a field different from content protection.

次に、第1から第3の実施の形態の装置(暗号化装置または復号装置)のハードウェア構成について説明する。   Next, the hardware configuration of the device (encryption device or decryption device) of the first to third embodiments will be described.

第1から第3の実施の形態にかかる装置は、CPU(Central Processing Unit)などの制御装置と、ROM(Read Only Memory)やRAM(Random Access Memory)などの記憶装置と、ネットワークに接続して通信を行う通信I/Fと、HDD(Hard Disk Drive)、CD(Compact Disc)ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置と、各部を接続するバスを備えており、通常のコンピュータを利用したハードウェア構成とすることができる。   The devices according to the first to third embodiments are connected to a control device such as a CPU (Central Processing Unit), a storage device such as a ROM (Read Only Memory) and a RAM (Random Access Memory), and a network. Connects the communication I / F, external storage devices such as HDD (Hard Disk Drive) and CD (Compact Disc) drive devices, display devices such as display devices, input devices such as keyboards and mice, etc. And a hardware configuration using an ordinary computer.

なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。   It should be noted that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the above embodiments. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

100、200 暗号化装置
111 フリップフロップ
112 セレクタ
113 SB(SubBytes)
114 SR(ShiftRows)
115 MC(MixColumns)
116 AK(AddRoundKey)
300 復号装置
311 フリップフロップ
312 セレクタ
313 SB−1(InvSubBytes)
314 SR−1(InvShiftRows)
315 MC−1(InvMixColumns)
316 AK−1(InvAddRoundKey)
100, 200 Encryption device 111 Flip-flop 112 Selector 113 SB (SubBytes)
114 SR (ShiftRows)
115 MC (MixColumns)
116 AK (AddRoundKey)
300 Decoder 311 Flip-flop 312 Selector 313 SB -1 (InvSubBytes)
314 SR -1 (InvShiftRows)
315 MC -1 (InvMixColumns)
316 AK -1 (InvAddRoundKey)

Claims (4)

AES(Advanced Encryption Standard)暗号方式の暗号化装置であって、
鍵情報を用いてデータを演算するラウンドのうち、
最初のラウンドで、AddRoundKeyと、SubBytesと、MixColumnsとをこの順序で含む演算を行い、
最後の1つ前のラウンドで、MixColumnsと、AddRoundKeyと、SubBytesとをこの順序で含む演算、または、AddRoundKeyと、MixColumnsと、SubBytesとをこの順序で含む演算を行い、
最後のラウンドで、AddRoundKeyを含む演算を行う演算部
を備えることを特徴とする暗号化装置。
An AES (Advanced Encryption Standard) encryption system encryption device,
Of the rounds that calculate data using key information,
In the first round, an operation that includes AddRoundKey, SubBytes, and MixColumns in this order is performed.
In the last round, perform an operation that includes MixColumns, AddRoundKey, and SubBytes in this order, or an operation that includes AddRoundKey, MixColumns, and SubBytes in this order.
An encryption apparatus comprising: an operation unit that performs an operation including AddRoundKey in the last round.
前記演算部は、
最初のラウンドで、AddRoundKeyと、SubBytesと、MixColumnsとのいずれかの前にShiftRowsを含む演算を行い、
最後の1つ前のラウンドで、MixColumnsと、AddRoundKeyと、SubBytesとをこの順序で含み、MixColumnsと、AddRoundKeyと、SubBytesとのいずれかの後にShiftRowsを含む演算、または、AddRoundKeyと、MixColumnsと、SubBytesとをこの順序で含み、MixColumnsと、SubBytesとのいずれかの後にShiftRowsを含む演算を行うこと、
を特徴とする請求項1に記載の暗号化装置。
The computing unit is
In the first round, perform an operation that includes ShiftRows before any of AddRoundKey, SubBytes, and MixColumns,
In the last previous round, an operation that includes MixColumns, AddRoundKey, and SubBytes in this order, and that includes MixColumns, AddRoundKey, and SubBytes followed by ShiftRum and KdRund, In this order, and perform an operation including ShiftRows after either MixColumns or SubBytes.
The encryption device according to claim 1.
AES(Advanced Encryption Standard)暗号方式の復号装置であって、
鍵情報を用いてデータを演算するラウンドのうち、
最初のラウンドで、InvAddRoundKeyを含む演算を行い、
最初の1つ後のラウンドで、InvSubBytesと、InvAddRoundKeyと、InvMixColumnsとをこの順序で含む演算、または、InvSubBytesと、InvMixColumnsと、InvAddRoundKeyとをこの順序で含む演算を行い、
最後のラウンドで、InvMixColumnsと、InvSubBytesと、InvAddRoundKeyとをこの順序で含む演算を行う演算部
を備えることを特徴とする復号装置。
A decryption device of AES (Advanced Encryption Standard) encryption method,
Of the rounds that calculate data using key information,
In the first round, perform an operation involving InvAddRoundKey,
In the first subsequent round, perform an operation that includes InvSubBytes, InvAddRoundKey, and InvMixColumns in this order, or an operation that includes InvSubBytes, InvMixColumns, and InvAddRoundKey in this order.
A decoding apparatus comprising: a calculation unit that performs a calculation including InvMixColumns, InvSubBytes, and InvAddRoundKey in the last round in this order.
前記演算部は、
最初の1つ後のラウンドで、InvSubBytesと、InvAddRoundKeyと、InvMixColumnsとをこの順序で含み、InvSubBytesと、InvAddRoundKeyと、InvMixColumnsとのいずれかの前にInvShiftRowsを含む演算、または、InvSubBytesと、InvMixColumnsと、InvAddRoundKeyとをこの順序で含み、InvSubBytesと、InvMixColumnsとのいずれかの前にInvShiftRowsを含む演算を行い、
最後のラウンドで、InvMixColumnsと、InvSubBytesと、InvAddRoundKeyとをこの順序で含み、InvMixColumnsと、InvSubBytesと、InvAddRoundKeyとのいずれかの後にInvShiftRowsを含む演算を行うこと、
を特徴とする請求項3に記載の復号装置。
The computing unit is
In the first round after, InvSubBytes, InvAddRoundKey, InvMixColumns are included in this order, and InvSubBytes, InvAddRoundKey, InvMixColumn, InvSyM, and InvMixIns Includes InvAddRoundKey in this order, performs an operation that includes InvShiftRows before either InvSubBytes or InvMixColumns,
In the last round, InvMixColumns, InvSubBytes, InvAddRoundKey are included in this order, InvMixColumns, InvSubBytes, and InvAddRoundKey are performed after InvShiftRows
The decoding device according to claim 3.
JP2010037882A 2010-02-23 2010-02-23 Encryption device and decryption device Active JP5060570B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010037882A JP5060570B2 (en) 2010-02-23 2010-02-23 Encryption device and decryption device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010037882A JP5060570B2 (en) 2010-02-23 2010-02-23 Encryption device and decryption device

Publications (2)

Publication Number Publication Date
JP2011175039A true JP2011175039A (en) 2011-09-08
JP5060570B2 JP5060570B2 (en) 2012-10-31

Family

ID=44687961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010037882A Active JP5060570B2 (en) 2010-02-23 2010-02-23 Encryption device and decryption device

Country Status (1)

Country Link
JP (1) JP5060570B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012070048A (en) * 2010-09-21 2012-04-05 Toshiba Corp Encryption apparatus and decryption apparatus
JP6135804B1 (en) * 2016-06-01 2017-05-31 富士電機株式会社 Information processing apparatus, information processing method, and program
US9720957B2 (en) 2013-04-18 2017-08-01 Nxp B.V. Aggregator node, method for aggregating data, and computer program product

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005103908A1 (en) * 2004-04-26 2005-11-03 Matsushita Electric Industrial Co., Ltd. Computer system and computer program executing encryption or decryption
JP2006003905A (en) * 2004-06-19 2006-01-05 Samsung Electronics Co Ltd Method and apparatus for multiplication in galois field for preventing information leakage attack, inverse transformation device, and apparatus for aes byte substitution operation
WO2006112114A1 (en) * 2005-03-31 2006-10-26 Matsushita Electric Industrial Co., Ltd. Data encryption device and data encryption method
JP2007189659A (en) * 2005-12-15 2007-07-26 Toshiba Corp Encryption device, encryption method, and encryption program
JP2007334016A (en) * 2006-06-15 2007-12-27 Matsushita Electric Ind Co Ltd Data enciphering device and method
JP2008131108A (en) * 2006-11-16 2008-06-05 Fujitsu Ltd Encrypting apparatus for common key cipher
WO2009122464A1 (en) * 2008-03-31 2009-10-08 富士通株式会社 Coder equipped with common key code function and built-in equipment

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005103908A1 (en) * 2004-04-26 2005-11-03 Matsushita Electric Industrial Co., Ltd. Computer system and computer program executing encryption or decryption
JP2006003905A (en) * 2004-06-19 2006-01-05 Samsung Electronics Co Ltd Method and apparatus for multiplication in galois field for preventing information leakage attack, inverse transformation device, and apparatus for aes byte substitution operation
WO2006112114A1 (en) * 2005-03-31 2006-10-26 Matsushita Electric Industrial Co., Ltd. Data encryption device and data encryption method
JP2007189659A (en) * 2005-12-15 2007-07-26 Toshiba Corp Encryption device, encryption method, and encryption program
JP2007334016A (en) * 2006-06-15 2007-12-27 Matsushita Electric Ind Co Ltd Data enciphering device and method
JP2008131108A (en) * 2006-11-16 2008-06-05 Fujitsu Ltd Encrypting apparatus for common key cipher
WO2009122464A1 (en) * 2008-03-31 2009-10-08 富士通株式会社 Coder equipped with common key code function and built-in equipment

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012070048A (en) * 2010-09-21 2012-04-05 Toshiba Corp Encryption apparatus and decryption apparatus
US9031234B2 (en) 2010-09-21 2015-05-12 Kabushiki Kaisha Toshiba Encryption device and decryption device
US9720957B2 (en) 2013-04-18 2017-08-01 Nxp B.V. Aggregator node, method for aggregating data, and computer program product
JP6135804B1 (en) * 2016-06-01 2017-05-31 富士電機株式会社 Information processing apparatus, information processing method, and program

Also Published As

Publication number Publication date
JP5060570B2 (en) 2012-10-31

Similar Documents

Publication Publication Date Title
JP5198526B2 (en) Encryption device and decryption device
Liu et al. A lightweight authenticated communication scheme for smart grid
US9281940B2 (en) Information processing apparatus, information processing method, and program
WO2013129056A1 (en) Information processing device, information processing method, and programme
WO2013129054A1 (en) Information processing device, information processing method, and programme
JP2014197726A (en) Measuring device, information processing device, key management device, and consumption amount calculation system
Abbasinezhad‐Mood et al. Design and extensive hardware performance analysis of an efficient pairwise key generation scheme for smart grid
JP5060570B2 (en) Encryption device and decryption device
WO2012132621A1 (en) Encryption processing device, encryption processing method, and programme
CN107896216B (en) A kind of key management, data encryption and the identity identifying method of electric power measuring instrument
Peng et al. Multifunctional and multidimensional secure data aggregation scheme in wsns
Kumar et al. Smart grid security with AES hardware chip
CN107872315A (en) Data processing method and intelligent terminal
US20120201376A1 (en) Communication device and key calculating device
JP2005134478A (en) Encryption processing device, encryption processing method, and computer program
CN207530855U (en) Block cipher chip low-power consumption attack defending device
Guo et al. Event-oriented dynamic security service for demand response in smart grid employing mobile networks
Reza et al. A lightweight security scheme for advanced metering infrastructures in smart grid
KR101261156B1 (en) Method for generating secret key and electronic device using the same
Matsumoto et al. Information-theoretic approach to authentication codes for power system communications
Aguilera et al. First end‐to‐end PQC protected DPU‐to‐DPU communications
JP2006054568A (en) Encryption apparatus, decryption apparatus and method, and computer program
Nikitha et al. Hybrid Cryptographic Algorithm to Secure Internet of Things
JP2014212512A (en) Aggregator node, method for aggregating data, and computer program product
Kulkarni et al. Using on-chip cryptographic units for security in wireless sensor networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110916

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120710

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120803

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

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5060570

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3