JP4453697B2 - 演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム - Google Patents
演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム Download PDFInfo
- Publication number
- JP4453697B2 JP4453697B2 JP2006337828A JP2006337828A JP4453697B2 JP 4453697 B2 JP4453697 B2 JP 4453697B2 JP 2006337828 A JP2006337828 A JP 2006337828A JP 2006337828 A JP2006337828 A JP 2006337828A JP 4453697 B2 JP4453697 B2 JP 4453697B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- selector
- precharge
- output
- select signal
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
- H03M5/02—Conversion to or from representation by pulses
- H03M5/04—Conversion to or from representation by pulses the pulses having two levels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Semiconductor Integrated Circuits (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
入力ビットのデータ変換処理を実行する演算処理装置であり、
入力ビットをセレクト信号として設定した複数のセレクタによる階層構成を有し、定数項を複数の最下層セレクタから入力して、前記セレクト信号に従って下層セレクタから上層セレクタへ前記定数項を転送して最上層セレクタから選択された定数項を出力する論理回路と、
前記論理回路を適用したデータ変換処理の制御を行う制御部とを備え、
前記論理回路は、
前記セレクト信号を入力し、入力したセレクト信号値を出力するエバリュエーション処理、又は前記セレクト信号値の出力を制限するプリチャージ処理を実行する第1演算回路と、
前記セレクト信号の反転値である反転セレクト信号を入力し、入力した反転セレクト信号値を出力するエバリュエーション処理、又は前記反転セレクト信号値の出力を制限するプリチャージ処理を実行する第2演算回路を有し、
前記論理回路を構成する最下層以外のセレクタは、
前記下層セレクタの一つである第1下層セレクタの出力及び前記第1演算回路の出力が入力される第1アンドゲートと、
前記第1下層セレクタとは異なる第2下層セレクタの出力及び前記第2演算回路の出力が入力される第2アンドゲートと、
前記第1アンドゲートの出力及び前記第2アンドゲートの出力が入力されるオアゲートによって構成され、
前記制御部は、
前記演算回路に対するプリチャージ信号の切り替えにより、
前記プリチャージ処理を施すプリチャージ・フェーズと、
前記エバリュエーション処理を施すエバリュエーション・フェーズと、
上記2つのフェーズを交互に実行させ、前記プリチャージ・フェーズにおいて前記セレクト信号に相当する入力ビットの遷移処理を実行し、入力ビットの遷移処理完了後に前記プリチャージ・フェーズから前記エバリュエーション・フェーズへの移行処理を行い、
前記第1下層セレクタ及び第2下層セレクタの出力に対するプリチャージ処理を行うことなく、前記プリチャージ処理及び前記エバリュエーション処理を交互に実行させる制御を行うことを特徴とする演算処理装置にある。
演算処理装置において入力ビットのデータ変換処理を実行する演算処理制御方法であり、
前記演算処理装置は、
入力ビットをセレクト信号として設定した複数のセレクタによる階層構成を有し、定数項を複数の最下層セレクタから入力して、前記セレクト信号に従って下層セレクタから上層セレクタへ前記定数項を転送して最上層セレクタから選択された定数項を出力する論理回路を有し、
前記論理回路は、
前記セレクト信号を入力し、入力したセレクト信号値を出力するエバリュエーション処理、又は前記セレクト信号値の出力を制限するプリチャージ処理を実行する第1演算回路と、
前記セレクト信号の反転値である反転セレクト信号を入力し、入力した反転セレクト信号値を出力するエバリュエーション処理、又は前記反転セレクト信号値の出力を制限するプリチャージ処理を実行する第2演算回路を備え、
最下層以外のセレクタは、
前記下層セレクタの一つである第1下層セレクタの出力及び前記第1演算回路の出力が入力される第1アンドゲートと、
前記第1下層セレクタとは異なる第2下層セレクタの出力及び前記第2演算回路の出力が入力される第2アンドゲートと、
前記第1アンドゲートの出力及び前記第2アンドゲートの出力が入力されるオアゲートによって構成され、
前記論理回路を適用したデータ変換処理の制御を行なう制御部が、
前記演算回路に対するプリチャージ信号の切り替えにより、
前記プリチャージ処理を施すプリチャージ・フェーズと、
前記エバリュエーション処理を施すエバリュエーション・フェーズと、
上記2つのフェーズを交互に実行させ、前記プリチャージ・フェーズにおいて前記セレクト信号に相当する入力ビットの遷移処理を実行し、入力ビットの遷移処理完了後に前記プリチャージ・フェーズから前記エバリュエーション・フェーズへの移行処理を行い、
前記第1下層セレクタ及び第2下層セレクタの出力に対するプリチャージ処理を行うことなく、前記プリチャージ処理及び前記エバリュエーション処理を交互に実行させる制御を行うことを特徴とする演算処理制御方法にある。
演算処理装置において入力ビットのデータ変換処理を実行させるコンピュータ・プログラムであり、
前記演算処理装置は、
入力ビットをセレクト信号として設定した複数のセレクタによる階層構成を有し、定数項を複数の最下層セレクタから入力して、前記セレクト信号に従って下層セレクタから上層セレクタへ前記定数項を転送して最上層セレクタから選択された定数項を出力する論理回路を有し、
前記論理回路は、
前記セレクト信号を入力し、入力したセレクト信号値を出力するエバリュエーション処理、又は前記セレクト信号値の出力を制限するプリチャージ処理を実行する第1演算回路と、
前記セレクト信号の反転値である反転セレクト信号を入力し、入力した反転セレクト信号値を出力するエバリュエーション処理、又は前記反転セレクト信号値の出力を制限するプリチャージ処理を実行する第2演算回路を備え、
最下層以外のセレクタは、
前記下層セレクタの一つである第1下層セレクタの出力及び前記第1演算回路の出力が入力される第1アンドゲートと、
前記第1下層セレクタとは異なる第2下層セレクタの出力及び前記第2演算回路の出力が入力される第2アンドゲートと、
前記第1アンドゲートの出力及び前記第2アンドゲートの出力が入力されるオアゲートによって構成され、
前記コンピュータ・プログラムは、
前記演算回路に対するプリチャージ信号の切り替えにより、
前記プリチャージ処理を施すプリチャージ・フェーズと、
前記エバリュエーション処理を施すエバリュエーション・フェーズと、
上記2つのフェーズを交互に実行させ、前記プリチャージ・フェーズにおいて前記セレクト信号に相当する入力ビットの遷移処理を実行させ、入力ビットの遷移処理完了後に前記プリチャージ・フェーズから前記エバリュエーション・フェーズへの移行処理を行わせ、前記第1下層セレクタ及び第2下層セレクタの出力に対するプリチャージ処理を行うことなく前記プリチャージ処理及び前記エバリュエーション処理を交互に実行させる制御を行うことを特徴とするコンピュータ・プログラムにある。
1.共通鍵暗号方式の暗号処理を実行する基本構成について
2.BDDを用いた非線形変換部(S−Box)の一般的構成について
3.本発明に従った非線形変換部の構成例1
4.本発明に従った非線形変換部の構成例2(セレクタの共有構成例)
5.本発明に従った非線形変換部の構成例3(反転出力セレクタおよび反転入力セレクタ利用構成)
6.本発明に従った非線形変換部の構成例4(乱数の入力構成)
7.本発明に従った非線形変換部の構成例5(ORゲート利用構成)
8.暗号処理装置の構成例
図1にAESやDESなどの共通鍵暗号方式の暗号処理を実行する基本構成を示す。図1に示すように、共通鍵暗号の基本的な暗号処理構成は、鍵スケジュール部101と、データ変換部110からなる。鍵スケジュール部101は、秘密鍵100を入力して、秘密鍵100に基づいて各ラウンドにおいて適用するラウンド鍵を生成して各ラウンド演算部151−1〜151-nに出力する。
このような非線形変換テーブル(S−Boxテーブル)による変換処理を実行するハードウェアの回路構成例として、二分決定グラフ(BDD: Binary Decision Diagram)を用いた構成がある。図5に非線形変換テーブル(S−Boxテーブル)に基づく変換結果中の出力の下位1ビットを出力する論理回路としての二分決定グラフ(BDD)を示す。
第2層のセレクタ入力は第3層のセレクタ出力が供給され、
第3層のセレクタ入力は第4層のセレクタ出力が供給され、
第4層のセレクタ入力は第5層のセレクタ出力が供給され、
第5層のセレクタ入力は第6層のセレクタ出力が供給され、
第6層のセレクタ入力は第7層のセレクタ出力が供給され、
第7層のセレクタ入力は第8層のセレクタ出力が供給され、
第8層のセレクタ入力は0もしくは1の定数項が供給される。
図5に示す論理回路は、非線形変換結果としての出力8ビットの最下位ビットを出力する選択回路である。この場合、図5の最下段に示される第8層のセレクタ入力値としての256ビット[10110111・・・11110010]は、図4に示すテーブルに示される256個の出力値(63,7C,77・・・54,BB,16)の最下位ビットに対応するビット値として設定される。
本発明は、不要な過渡遷移を生じさせることなく、また遅延差も少なくした論理回路による演算処理構成を実現するものである。以下、本発明に従った非線形変換部(S−Box)の実施例について説明する。
第8層のセレクタ入力部の前段に演算回路(アンドゲート)、
各セレクタに対するセレクト信号入力部の前段に演算回路(アンドゲート)、
各セレクタに対する反転セレクト信号入力部の前段に演算回路(アンドゲート)、
これらの演算回路(アンドゲート)を設けている。
定数項の入力部である第8層のセレクタ入力部の前段に演算回路(アンドゲート)、
各セレクタに対するセレクト信号入力部の前段に演算回路(アンドゲート)、
各セレクタに対する反転セレクト信号入力部の前段に演算回路(アンドゲート)、
これらの演算回路(アンドゲート)を設けており、
第8層のセレクタの入力値をアンドゲート回路の出力値、
各セレクタに対するセレクト信号入力値をアンドゲート回路の出力値、
各セレクタに対する反転セレクト信号入力値をアンドゲート回路の出力値、
としている。これらの演算回路の処理によってプリチャージ・フェーズ(Pre−Charge Phase)とエバリュエーション・フェーズ(Evaluation Phase)状態を設定可能としている。なお、これらのフェーズの移行制御や入力情報の設定、遷移制御は図示しない制御部によって実行される。
8階層のセレクタを適用した出力ビットの算出処理を実行するエバリュエーション・フェーズ(Evaluation Phase)と、
セレクタ入力のすべてを0とするプリチャージ・フェーズ(Pre−Charge Phase)と、
これらの2つのフェーズを交互に繰り返す。
定数項(a)の入力、
定数項(b)の入力、
セレクト信号の入力、
反転セレクト信号の入力、
これらの入力値の時間的遷移を示している。これらの入力は、すべて一方の入力をプリチャージ信号としたアンドゲートを介して入力されており、プリチャージ信号は、プリチャージ・フェーズでは[0]、エバリュエーション・フェーズでは[1]となる。
例えば図11に示す二分決定グラフ(BDD: Binary Decision Diagram)を用いた論理回路構成は、出力8ビット中の1ビットを出力するために適用される論理回路であり、入力8ビットから非線形変換結果としての出力8ビットを、並列に得るためには、図11に示す二分決定グラフ(BDD: Binary Decision Diagram)を用いた論理回路を8個、組み合わせて動作させることが必要である。
次に、本発明の実施例3として、反転出力セレクタおよび反転入力セレクタを利用した構成例について説明する。図15を参照して本発明の実施例3の構成および処理について説明する。
(a)エバリュエーション・フェーズにおいては、セレクタ入力は、真の出力値(非線形変換結果)を得るための入力値として、8ビット単位の非線形変換処理対象としてのデータであるセレクト信号および反転セレクト信号が各セレクタに入力され、第8層のセレクタには、非線形変換テーブル(S−Boxテーブル)に基づいて設定される定数項(例えば図4、図6に示すテーブル参照)が入力される。
(b)プリチャージ・フェーズにおいては、すべてのセレクタ入力は[0]、すなわち、セレクト信号、反転セレクト信号、および定数項入力がなされる最下層のセレクタ入力も[0]に設定される。
次に、本発明の実施例4として、乱数入力を利用した構成例について説明する。図16を参照して本発明の実施例4の構成および処理について説明する。
(a1)実施例1と同様の非線形変換テーブル(S−Boxテーブル)の出力値対応のビット値からなる定数項、
(a2)上記定数項の反転値、
(a3)乱数
これら(a1)〜(a3)のデータを入力値として適用する。(a1)〜(a3)のすべてを利用する構成やいずれか2つを組み合わせて利用する構成などが可能である。
(a)エバリュエーション・フェーズにおいて。
(a1)実施例1と同様の非線形変換テーブル(S−Boxテーブル)の出力値対応のビット値からなる定数項、
(a2)上記定数項の反転値、
(a3)乱数、
これら(a1)〜(a3)のデータを入力値として適用する。なお(a1)〜(a3)のすべてを利用する構成やいずれか2つを組み合わせて利用する構成などが可能である。適用する乱数は、論理関数8組のそれぞれにおいて同一のものを適用してもよいし異なるものを適用してもよい。さらに、
(b)プリチャージ・フェーズにおいては、すべてのセレクタ入力は[0]、すなわち、セレクト信号、反転セレクト信号、および定数項入力がなされる最下層のセレクタ入力も[0]に設定される。
セレクト信号、反転セレクト信号は、真の設定値が入力され、最下層のセレクタ入力として、
(a1)実施例1と同様の非線形変換テーブル(S−Boxテーブル)の出力値対応のビット値からなる定数項、
(a2)上記定数項の反転値、
(a3)乱数、
これらのいずれかの信号が入力されるエバリュエーション・フェーズ(Evaluation Phase)とが交互に繰り返される。ただし、この構成の場合には、どのタイミングで(a1)〜(a3)のいずれのデータが入力されたかを示す管理情報を保持し、管理情報に従って、正しい出力値を取得する。
上述した各実施例においては、各層のセレクト信号の遷移処理を実行するタイミングにおいて、プリチャージ信号[prch]=[0]として、セレクタ入力をオール[0]に維持するリセット処理(初期化処理)を実行する構成として説明したが、このリセット処理(初期化処理)タイミングにおいて、各層のセレクタ入力をオール[0]とするのではなくオール[1]とする構成としても、過渡遷移によるDPA攻撃を困難化することが可能である。
定数項を入力する最下層のセレクタの前段、
セレクタに対するセレクト信号入力部、
セレクタに対する反転セレクト信号入力部、
これらの各構成部にORゲートを設けた構成としている。
各オアゲートの1つの入力をプリチャージ信号の入力部として設定したものである。
オール1、または、
オール0、または、
定数項あるいは乱数、
これらの3種類の出力を選択して出力可能なゲート回路を構成し、プリチャージ・フェーズ(Pre−Charge Phase)において、オール1またはオール0の出力をランダムに選択するスイッチを設けてスイッチをランダムに切り替えて第8層のセレクタにオール0またはオール1を入力する構成とする。
最後に、暗号文の生成、あるいは暗号文の復号処理等の暗号処理を実行する暗号処理装置としてのICモジュール500の構成例について図18を参照して説明する。上述の処理は、例えばPC、ICカード、リーダライタ、その他、様々な情報処理装置において実行可能であり、図18に示すICモジュール500は、これら様々な機器に構成することが可能である。
110 データ変換部
115 ラウンド演算部
200 秘密鍵
201 鍵スケジュール部
210 ラウンド演算部
211 排他的論理和演算部
212 S−Box
213 Mix−Colum
214 排他的論理和演算部
215 S−Box
250 AES暗号演算実行部
251 排他的論理和演算部
252 セレクタ
253 レジスタ
254 S−Box
255 Mix−Colum
256 セレクタ
270 セレクタ
271,272 アンドゲート
273 オアゲート
300 セレクタ
301,302 アンドゲート
303 オアゲート
500 ICモジュール
501 CPU(Central processing Unit)
502 メモリ
503 暗号処理部
504 乱数発生器
505 送受信部
Claims (17)
- 入力ビットのデータ変換処理を実行する演算処理装置であり、
入力ビットをセレクト信号として設定した複数のセレクタによる階層構成を有し、定数項を複数の最下層セレクタから入力して、前記セレクト信号に従って下層セレクタから上層セレクタへ前記定数項を転送して最上層セレクタから選択された定数項を出力する論理回路と、
前記論理回路を適用したデータ変換処理の制御を行う制御部とを備え、
前記論理回路は、
前記セレクト信号を入力し、入力したセレクト信号値を出力するエバリュエーション処理、又は前記セレクト信号値の出力を制限するプリチャージ処理を実行する第1演算回路と、
前記セレクト信号の反転値である反転セレクト信号を入力し、入力した反転セレクト信号値を出力するエバリュエーション処理、又は前記反転セレクト信号値の出力を制限するプリチャージ処理を実行する第2演算回路を有し、
前記論理回路を構成する最下層以外のセレクタは、
前記下層セレクタの一つである第1下層セレクタの出力及び前記第1演算回路の出力が入力される第1アンドゲートと、
前記第1下層セレクタとは異なる第2下層セレクタの出力及び前記第2演算回路の出力が入力される第2アンドゲートと、
前記第1アンドゲートの出力及び前記第2アンドゲートの出力が入力されるオアゲートによって構成され、
前記制御部は、
前記演算回路に対するプリチャージ信号の切り替えにより、
前記プリチャージ処理を施すプリチャージ・フェーズと、
前記エバリュエーション処理を施すエバリュエーション・フェーズと、
上記2つのフェーズを交互に実行させ、前記プリチャージ・フェーズにおいて前記セレクト信号に相当する入力ビットの遷移処理を実行し、入力ビットの遷移処理完了後に前記プリチャージ・フェーズから前記エバリュエーション・フェーズへの移行処理を行い、
前記第1下層セレクタ及び第2下層セレクタの出力に対するプリチャージ処理を行うことなく、前記プリチャージ処理及び前記エバリュエーション処理を交互に実行させる制御を行うことを特徴とする演算処理装置。 - 前記論理回路は、さらに前記定数項を入力する複数の最下層セレクタの前段にプリチャージ信号入力部を備えた定数項入力部対応演算回路を有し、
前記制御部は、
前記定数項入力部対応演算回路に対するプリチャージ信号の切り替え制御により、前記プリチャージ・フェーズと、前記エバリュエーション・フェーズとの切り替え制御を行う構成であることを特徴とする請求項1に記載の演算処理装置。 - 前記演算回路は、一方の入力をプリチャージ信号としたアンドゲートによって構成され、
前記制御部は、
前記アンドゲートの一方の入力であるプリチャージ信号の切り替えを実行して前記プリチャージ・フェーズと、前記エバリュエーション・フェーズとの切り替え制御を行う構成であることを特徴とする請求項2に記載の演算処理装置。 - 前記演算回路は、一方の入力をプリチャージ信号としたオアゲートによって構成され、
前記制御部は、
前記オアゲートの一方の入力であるプリチャージ信号の切り替えを実行して前記プリチャージ・フェーズと、前記エバリュエーション・フェーズとの切り替え制御を行う構成であることを特徴とする請求項2に記載の演算処理装置。 - 前記論理回路を構成するセレクタは、同一値を入力値とする複数のセレクタを1つのセレクタとした共有セレクタを有する構成であることを特徴とする請求項1に記載の演算処理装置。
- 前記論理回路を構成するセレクタは、反転出力を行なうセレクタおよび反転入力を行なうセレクタであることを特徴とする請求項1に記載の演算処理装置。
- 前記制御部は、前記プリチャージ・フェーズにおいて、前記最下層セレクタの入力を固定値とし、前記エバリュエーション・フェーズにおいて、前記定数項または乱数を前記最下層セレクタの入力として設定する構成であることを特徴とする請求項1記載の演算処理装置。
- 前記制御部は、前記プリチャージ・フェーズにおいて、前記最下層セレクタの入力をランダムに0または1とするように前記ゲート回路の出力制御を行う構成であることを特徴とする請求項1に記載の演算処理装置。
- 前記論理回路は、
二分決定グラフ(BDD: Binary Decision Diagram)を用いた構成を有することを特徴とする請求項1に記載の演算処理装置。 - 前記論理回路は、
入力ビットのデータ変換処理として、
入力ビットの非線形変換処理を実行する構成であることを特徴とする請求項1に記載の演算処理装置。 - 演算処理装置において入力ビットのデータ変換処理を実行する演算処理制御方法であり、
前記演算処理装置は、
入力ビットをセレクト信号として設定した複数のセレクタによる階層構成を有し、定数項を複数の最下層セレクタから入力して、前記セレクト信号に従って下層セレクタから上層セレクタへ前記定数項を転送して最上層セレクタから選択された定数項を出力する論理回路を有し、
前記論理回路は、
前記セレクト信号を入力し、入力したセレクト信号値を出力するエバリュエーション処理、又は前記セレクト信号値の出力を制限するプリチャージ処理を実行する第1演算回路と、
前記セレクト信号の反転値である反転セレクト信号を入力し、入力した反転セレクト信号値を出力するエバリュエーション処理、又は前記反転セレクト信号値の出力を制限するプリチャージ処理を実行する第2演算回路を備え、
最下層以外のセレクタは、
前記下層セレクタの一つである第1下層セレクタの出力及び前記第1演算回路の出力が入力される第1アンドゲートと、
前記第1下層セレクタとは異なる第2下層セレクタの出力及び前記第2演算回路の出力が入力される第2アンドゲートと、
前記第1アンドゲートの出力及び前記第2アンドゲートの出力が入力されるオアゲートによって構成され、
前記論理回路を適用したデータ変換処理の制御を行なう制御部が、
前記演算回路に対するプリチャージ信号の切り替えにより、
前記プリチャージ処理を施すプリチャージ・フェーズと、
前記エバリュエーション処理を施すエバリュエーション・フェーズと、
上記2つのフェーズを交互に実行させ、前記プリチャージ・フェーズにおいて前記セレクト信号に相当する入力ビットの遷移処理を実行し、入力ビットの遷移処理完了後に前記プリチャージ・フェーズから前記エバリュエーション・フェーズへの移行処理を行い、
前記第1下層セレクタ及び第2下層セレクタの出力に対するプリチャージ処理を行うことなく、前記プリチャージ処理及び前記エバリュエーション処理を交互に実行させる制御を行うことを特徴とする演算処理制御方法。 - 前記論理回路は、さらに前記定数項を入力する複数の最下層セレクタの前段にプリチャージ信号入力部を備えた定数項入力部対応演算回路を有し、
前記制御部は、
前記定数項入力部対応演算回路に対するプリチャージ信号の切り替えにより、前記プリチャージ・フェーズと、前記エバリュエーション・フェーズとの切り替え制御を行うことを特徴とする請求項11に記載の演算処理制御方法。 - 前記演算回路は、一方の入力をプリチャージ信号としたアンドゲートによって構成され、
前記制御部は、
前記アンドゲートの一方の入力であるプリチャージ信号の切り替えを実行して前記プリチャージ・フェーズと、前記エバリュエーション・フェーズとの切り替え制御を行うことを特徴とする請求項11に記載の演算処理制御方法。 - 前記演算回路は、一方の入力をプリチャージ信号としたオアゲートによって構成され、
前記制御部は、
前記オアゲートの一方の入力であるプリチャージ信号の切り替えを実行して前記プリチャージ・フェーズと、前記エバリュエーション・フェーズとの切り替え制御を行うことを特徴とする請求項11に記載の演算処理制御方法。 - 前記制御部は、前記プリチャージ・フェーズにおいて、前記最下層セレクタの入力を固定値とし、前記エバリュエーション・フェーズにおいて、前記定数項または乱数を前記最下層セレクタの入力として設定することを特徴とする請求項11記載の演算処理制御方法。
- 前記制御部は、前記プリチャージ・フェーズにおいて、前記最下層セレクタの入力をランダムに0または1とする制御を行うことを特徴とする請求項11に記載の演算処理制御方法。
- 演算処理装置において入力ビットのデータ変換処理を実行させるコンピュータ・プログラムであり、
前記演算処理装置は、
入力ビットをセレクト信号として設定した複数のセレクタによる階層構成を有し、定数項を複数の最下層セレクタから入力して、前記セレクト信号に従って下層セレクタから上層セレクタへ前記定数項を転送して最上層セレクタから選択された定数項を出力する論理回路を有し、
前記論理回路は、
前記セレクト信号を入力し、入力したセレクト信号値を出力するエバリュエーション処理、又は前記セレクト信号値の出力を制限するプリチャージ処理を実行する第1演算回路と、
前記セレクト信号の反転値である反転セレクト信号を入力し、入力した反転セレクト信号値を出力するエバリュエーション処理、又は前記反転セレクト信号値の出力を制限するプリチャージ処理を実行する第2演算回路を備え、
最下層以外のセレクタは、
前記下層セレクタの一つである第1下層セレクタの出力及び前記第1演算回路の出力が入力される第1アンドゲートと、
前記第1下層セレクタとは異なる第2下層セレクタの出力及び前記第2演算回路の出力が入力される第2アンドゲートと、
前記第1アンドゲートの出力及び前記第2アンドゲートの出力が入力されるオアゲートによって構成され、
前記コンピュータ・プログラムは、
前記演算回路に対するプリチャージ信号の切り替えにより、
前記プリチャージ処理を施すプリチャージ・フェーズと、
前記エバリュエーション処理を施すエバリュエーション・フェーズと、
上記2つのフェーズを交互に実行させ、前記プリチャージ・フェーズにおいて前記セレクト信号に相当する入力ビットの遷移処理を実行させ、入力ビットの遷移処理完了後に前記プリチャージ・フェーズから前記エバリュエーション・フェーズへの移行処理を行わせ、前記第1下層セレクタ及び第2下層セレクタの出力に対するプリチャージ処理を行うことなく前記プリチャージ処理及び前記エバリュエーション処理を交互に実行させる制御を行うことを特徴とするコンピュータ・プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006337828A JP4453697B2 (ja) | 2006-12-15 | 2006-12-15 | 演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム |
US11/948,582 US7659837B2 (en) | 2006-12-15 | 2007-11-30 | Operation processing apparatus, operation processing control method, and computer program |
CN2007103021527A CN101206816B (zh) | 2006-12-15 | 2007-12-14 | 运算处理装置和运算处理控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006337828A JP4453697B2 (ja) | 2006-12-15 | 2006-12-15 | 演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009038633A Division JP4849140B2 (ja) | 2009-02-20 | 2009-02-20 | データ変換装置、演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008153806A JP2008153806A (ja) | 2008-07-03 |
JP4453697B2 true JP4453697B2 (ja) | 2010-04-21 |
Family
ID=39526479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006337828A Expired - Fee Related JP4453697B2 (ja) | 2006-12-15 | 2006-12-15 | 演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US7659837B2 (ja) |
JP (1) | JP4453697B2 (ja) |
CN (1) | CN101206816B (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4935229B2 (ja) * | 2006-08-02 | 2012-05-23 | ソニー株式会社 | 演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム |
JP4535119B2 (ja) * | 2007-11-20 | 2010-09-01 | 沖電気工業株式会社 | 共通鍵生成システム、共通鍵生成方法及びそれを用いるノード |
JP5272417B2 (ja) * | 2008-01-21 | 2013-08-28 | ソニー株式会社 | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム |
FR2935059B1 (fr) * | 2008-08-12 | 2012-05-11 | Groupe Des Ecoles De Telecommunications Get Ecole Nationale Superieure Des Telecommunications Enst | Procede de detection d'anomalies dans un circuit de cryptographie protege par logique differentielle et circuit mettant en oeuvre un tel procede |
JP4687775B2 (ja) * | 2008-11-20 | 2011-05-25 | ソニー株式会社 | 暗号処理装置 |
KR101646705B1 (ko) | 2009-12-01 | 2016-08-09 | 삼성전자주식회사 | 에스-박스를 구현한 암호화 장치 |
FR2955436B1 (fr) * | 2010-01-19 | 2012-11-23 | St Microelectronics Rousset | Procede et dispositif de contremesure pour proteger des donnees circulant dans un composant electronique |
US11093213B1 (en) * | 2010-12-29 | 2021-08-17 | Ternarylogic Llc | Cryptographic computer machines with novel switching devices |
US11336425B1 (en) * | 2010-06-01 | 2022-05-17 | Ternarylogic Llc | Cryptographic machines characterized by a Finite Lab-Transform (FLT) |
DE102010029735A1 (de) | 2010-06-07 | 2011-12-08 | Robert Bosch Gmbh | Verfahren zum Generieren eines Bitvektors |
JP5198526B2 (ja) * | 2010-09-21 | 2013-05-15 | 株式会社東芝 | 暗号化装置および復号装置 |
CN102546160B (zh) * | 2010-12-08 | 2016-03-02 | 上海华虹集成电路有限责任公司 | 用于椭圆曲线密码防御差分功耗攻击的方法 |
US8325433B2 (en) * | 2011-01-19 | 2012-12-04 | Lsi Corporation | Systems and methods for reduced format data processing |
CN102857334B (zh) * | 2012-07-10 | 2015-07-08 | 记忆科技(深圳)有限公司 | 一种实现aes加解密的方法及装置 |
US20150215114A1 (en) * | 2014-01-29 | 2015-07-30 | Mohammad A. Alahmad | Method for generating a secure cryptographic hash function |
CN103886377A (zh) * | 2014-02-21 | 2014-06-25 | 北京神舟航天软件技术有限公司 | 基于bdd的知识库规则产生式的检查方法 |
US10489611B2 (en) * | 2015-08-26 | 2019-11-26 | Rambus Inc. | Low overhead random pre-charge countermeasure for side-channel attacks |
US20230125560A1 (en) * | 2015-12-20 | 2023-04-27 | Peter Lablans | Cryptographic Computer Machines with Novel Switching Devices |
US10256973B2 (en) * | 2016-09-30 | 2019-04-09 | Intel Corporation | Linear masking circuits for side-channel immunization of advanced encryption standard hardware |
JP7296609B2 (ja) * | 2017-11-14 | 2023-06-23 | 地方独立行政法人東京都立産業技術研究センター | デジタル処理装置、デジタル処理装置の製造方法及びプログラム |
JP6725482B2 (ja) * | 2017-12-05 | 2020-07-22 | 矢崎総業株式会社 | 演算装置 |
US10263767B1 (en) * | 2018-07-03 | 2019-04-16 | Rajant Corporation | System and method for power analysis resistant clock |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4100606A (en) * | 1977-02-09 | 1978-07-11 | Texas Instruments Incorporated | Key debounce system for electronic calculator or microprocessor |
CA1251583A (en) * | 1985-03-28 | 1989-03-21 | Yoshiaki Yato | Multiplex system |
US5878273A (en) * | 1993-06-24 | 1999-03-02 | Discovision Associates | System for microprogrammable state machine in video parser disabling portion of processing stages responsive to sequence-- end token generating by token generator responsive to received data |
US5692020A (en) * | 1995-06-07 | 1997-11-25 | Discovision Associates | Signal processing apparatus and method |
US6130633A (en) * | 1998-06-02 | 2000-10-10 | Cirrus Logic, Inc. | Multibit digital to analog converter with feedback across the discrete time/continuous time interface |
JP2000036736A (ja) | 1998-07-21 | 2000-02-02 | Sony Corp | ダイナミック論理回路 |
WO2003001567A2 (en) * | 2001-06-20 | 2003-01-03 | R3 Logic, Inc. | High resolution, low power, wide dynamic range imager with embedded pixel processor and dram storage |
JP4328487B2 (ja) | 2002-01-28 | 2009-09-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 組合せ回路、暗号回路、その生成方法及びプログラム |
CN1525307A (zh) * | 2003-02-26 | 2004-09-01 | 上海华园微电子技术有限公司 | 一种模乘运算电路和一种运用该模乘运算电路的加密方法 |
-
2006
- 2006-12-15 JP JP2006337828A patent/JP4453697B2/ja not_active Expired - Fee Related
-
2007
- 2007-11-30 US US11/948,582 patent/US7659837B2/en not_active Expired - Fee Related
- 2007-12-14 CN CN2007103021527A patent/CN101206816B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008153806A (ja) | 2008-07-03 |
US20080143561A1 (en) | 2008-06-19 |
US7659837B2 (en) | 2010-02-09 |
CN101206816B (zh) | 2010-08-18 |
CN101206816A (zh) | 2008-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4453697B2 (ja) | 演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム | |
JP4687775B2 (ja) | 暗号処理装置 | |
Nandi et al. | Theory and applications of cellular automata in cryptography | |
US9325494B2 (en) | Method for generating a bit vector | |
JP4905000B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
CN100583739C (zh) | 加密装置、加密方法及其存储介质 | |
EP2228941B1 (en) | Encryption processing apparatus | |
JP4960044B2 (ja) | 暗号処理回路及びicカード | |
CN112422272B (zh) | 一种防功耗攻击的aes加密方法及电路 | |
JP5273294B2 (ja) | 乱数生成器、暗号化装置、及び認証装置 | |
JP2002366029A (ja) | Dpaに対して安全な暗号化 | |
US20120093308A1 (en) | Apparatus and method for generating random data | |
US20120005466A1 (en) | Data processing device and method for operating such data processing device | |
US11258579B2 (en) | Method and circuit for implementing a substitution table | |
US10530567B2 (en) | Encryption device and memory device | |
JP2008233683A (ja) | 暗号処理装置及びプログラム | |
EP1646174A1 (en) | Method and apparatus for generating cryptographic sets of instructions automatically and code generation | |
JP4935229B2 (ja) | 演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム | |
Huang et al. | Trace buffer attack on the AES cipher | |
KR100735953B1 (ko) | 일련 번호 생성 장치, 그 방법 및 컴퓨터 판독가능 저장매체 | |
JP4849140B2 (ja) | データ変換装置、演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム | |
JP2005031471A (ja) | 暗号処理装置、および暗号処理方法 | |
JP2006025366A (ja) | 暗号化装置及び半導体集積回路 | |
Savitha et al. | Implementation of AES algorithm to overt fake keys against counter attacks | |
JPWO2008117804A1 (ja) | ストリーム暗号向け擬似乱数生成装置とプログラムと方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080930 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081201 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090220 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090302 |
|
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: 20100112 |
|
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: 20100125 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130212 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4453697 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: 20130212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140212 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |