JP4837058B2 - 演算装置及びプログラム - Google Patents
演算装置及びプログラム Download PDFInfo
- Publication number
- JP4837058B2 JP4837058B2 JP2009056873A JP2009056873A JP4837058B2 JP 4837058 B2 JP4837058 B2 JP 4837058B2 JP 2009056873 A JP2009056873 A JP 2009056873A JP 2009056873 A JP2009056873 A JP 2009056873A JP 4837058 B2 JP4837058 B2 JP 4837058B2
- Authority
- JP
- Japan
- Prior art keywords
- bits
- index
- data
- calculation table
- element data
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/5057—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination using table look-up; using programmable logic arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/764—Masking
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/005—Countermeasures against attacks on cryptographic mechanisms for timing attacks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
- G06F2207/7233—Masking, e.g. (A**e)+r mod n
- G06F2207/7242—Exponent masking, i.e. key masking, e.g. A**(e+r) mod n; (k+r).P
-
- 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/04—Masking or blinding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Executing Machine-Instructions (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
算術的マスクの場合は剰余付き減算を用いて、次式の演算を実行する。
A=x−R mod 2w
上の暗号アルゴリズムの例ではw=32ビットである。
ここで、便宜上、bビットの乱数をrと記載している。w=bの場合、上記数Rとの関係はR=rである。事前計算テーブルGは、2b個の要素データからなるテーブルであり、各要素データがbビットである。被算術マスクデータAは、事前計算テーブルGの要素データG[A]を求めることで被論理的マスクx’に変換可能となっている。その理由は以下の通りである。
=((x−r)+r mod 2w)^r
=(x mod 2w)^r
=x^r
=x’
図8に、w=b=4、r=3の場合の事前計算テーブルGを示す。図の配列は、左側から順にG[0],G[1],…,G[15]の値を16進数表記で示している。例えばG[9]=0xFである。
しかる後、得られた上位の被論理マスクデータx’1を被論理マスクデータx’の最上位bビットに配置して(ステップS190)アルゴリズムを終了する。
続いて、下位の被論理マスクデータx’2を次式に示すように計算する(ステップS164、S165)。
しかる後、下位の被論理マスクデータx’2を、被論理マスクデータx’の下位(k−m)bビット目に、当該下位の被論理マスクデータx’2の最下位ビットLSBが合うように配置する(ステップS166)。
C[I]=γ+1(I+r≧2bのとき)
ここで、事前計算テーブルCは、2b個の要素データからなるテーブルであり、各要素データがbビットである。
本発明の一つの局面においては、kbビットの数Aとbビットの乱数rとの加算について、数Aの下位bビットの数A2の上位b/2ビットの値AHと乱数rの上位b/2ビットの値rHとの和AH+rHと、数A2の下位b/2ビットの値ALと乱数rの下位b/2ビットの値rLとの和AL+rLとに基づいて、A2+rの桁上げの有無を示すように事前計算テーブルC’の要素データを設定したので、非特許文献3に記載の方法に比べ、kbビットの数Aとbビットの数rとを互いに加算して上位(k−1)bビットの加算結果を得る場合に必要な事前計算テーブルのサイズを縮小することができる。
事前計算テーブルC’を生成するときに、0から2b−1までの範囲内の整数Aに対して、整数rでマスクした値A+rが2bより小さいか否かの判断(桁上げの有無の判断)を、上位b/2ビットと下位b/2ビットに分けて行う。
図1は本発明の第1の実施形態に係る演算装置の構成を示す概略図である。この演算装置101は、ICカードなどの計算機の暗号処理部として構成されていて、ハードウェア又はソフトウェアによって暗号処理を行うものである。具体的にはCPU(中央演算装置)102、入出力部103、プログラム記憶部104、乱数生成部105、揮発性メモリ106及びバス107からなる。この演算装置101は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から演算装置となるコンピュータにインストールされ、演算装置101の機能を実現させるためのプログラムが用いられる。ここでは、プログラム記憶部104に格納されたプログラムをCPU102で実行する形で、各機能を実現するものとしている。このプログラムは、データ加算のためのサブプログラムを少なくとも含んでいる。
入出力部103は、上位(k−1)bビットの数A1及び下位bビットの数A2からなるkbビットの数A(但し、b>4)と、bビットの数rと、これらの数A,rに対する加算指令とを例えば図示しない暗号処理部から受けると、これらの数A,r及び加算指令をCPU102に入力する。なお、数A,A1,A2は、それぞれ「被算術マスクデータ」とも呼ぶ。
C’[y]=2×2b/2 (y=2b/2−rH−1 :即ちy+rH=2b/2−1)
C’[y]=3×2b/2 (2b/2−rH≦y<2b/2 :即ちy+rH>2b/2−1)
ここで、インデックスyには、後述する上位の被算出マスクデータAHの値が入力されることを想定しており、上の3通りの要素データC’[y]は、それぞれAH+rH<2b/2−1、AH+rH=2b/2−1、AH+rH≧2b/2の場合に対応している。
ここで、y−2b/2には、後述する下位の被算術マスクデータALの値が入力されることを想定しており、これはAH+rH<2b/2−1の場合に、下位の被算術マスクデータALの値に関わらず、乱数γを返すことを示している。
C’[y]=γ (2×2b/2≦y<3×2b/2−rL:即ちy+rL<2b/2)、
C’[y]=γ+1 (3×2b/2−rL≦y<3×2b/2:即ちy+rL≧2b/2)、
ここで、y−2×2b/2には、下位の被算術マスクデータALの値が入力されることを想定しており、上の2通りはそれぞれAL+rL<2b/2、AL+rL≧2b/2の場合に対応している。
C’[y]=γ+1
ここで、y−3×2b/2には、下位の被算術マスクデータALの値が入力されることを想定しており、これはAH−rH≧2b/2の場合に、下位の被算術マスクデータALの値に関わらず、乱数付き桁上げ情報γ+1を返すことを示している。
始めに、CPU102は、入力された数Aから数A1,A2を抽出する。具体的には、被算術マスクデータAの上位(k−1)bビットを上位の被算術マスクデータA1とし、下位bビットを下位の被算術マスクデータA2とする(ステップS310)。
A1+C’[C’[AH]+AL]−γ mod 2(k-1)b
を計算することにより、数A1への桁上げを伝播する(ステップS330、S340)。
次に、本発明の第2の実施形態に係る演算装置について説明するが、図9と同一部分には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。
A1←A1+C’[C’[AH]+AL]−γ mod 2(m-1)b
の計算により、数A1への桁上げを伝播する(ステップS162a、S163)。
以下、CPU102は、ステップS130以降の処理を再実行する。
Claims (4)
- 上位(k−1)bビットの数A1及び下位bビットの数A2からなるkbビットの数A(但し、b>4)と、bビットの数rとを加算して上位(k−1)bビットの加算結果を得る処理の前に、(4×2b/2)個のインデックスy(但し、0≦y<4×2b/2)の各々により個別に読出可能な(4×2b/2)個のbビットの要素データC’[y]を備えた事前計算テーブルC’を生成し、前記加算する処理中に、前記数A2と前記数rとの加算結果から前記数A1への桁上げを前記事前計算テーブルC’に基づいて伝播可能な演算装置であって、
前記bビットの乱数γを生成する手段と、
前記各インデックスyと、当該各インデックスyに関連付けた各要素データC’[y]とを備えた事前計算テーブルC’を記憶するための記憶手段と、
前記記憶手段内の事前計算テーブルC’の1個目から2b/2個目までの要素データC’[y]を、前記インデックスyと前記数rの上位b/2ビットの数rHとに基づいて、
C’[y]=2b/2 (但し、0≦y<2b/2−rH−1 )、
C’[y]=2×2b/2 (但し、y=2b/2−rH−1 )、
C’[y]=3×2b/2 (但し、2b/2−rH≦y<2b/2 )、
の値に設定する手段と、
前記記憶手段内の事前計算テーブルC’の(2b/2+1)個目から(2×2b/2)個目までの要素データC’[y]を、前記インデックスyと前記乱数γとに基づいて、
C’[y]=γ (但し、2b/2≦y<2×2b/2)、
の値に設定する手段と、
前記記憶手段内の事前計算テーブルC’の(2×2b/2+1)個目から(3×2b/2)個目までの要素データC’[y]を、前記インデックスyと前記乱数γと前記数rの下位b/2ビットの数rLとに基づいて、
C’[y]=γ (但し、2×2b/2≦y<3×2b/2−rL)、
C’[y]=γ+1 (但し、3×2b/2−rL≦y<3×2b/2)、
の値に設定する手段と、
前記記憶手段内の事前計算テーブルC’の(3×2b/2+1)個目から(4×2b/2)個目までの要素データC’[y]を、前記インデックスyと前記乱数γとに基づいて、
C’[y]=γ+1 (但し、3×2b/2≦y<4×2b/2)
の値に設定する手段と、
前記数Aから前記数A1及び前記数A2を抽出する第1抽出手段と、
前記数A2の上位b/2ビットの数AH及び下位b/2ビットの数ALを当該数A2から抽出する第2抽出手段と、
前記(4×2b/2)個の要素データC’[y]の値を設定した後、前記抽出した数AHをインデックスyとして前記記憶手段内の事前計算テーブルC’から第1の要素データC’[AH]を読み出す第1読出手段と、
前記第1の要素データC’[AH]と前記抽出した数ALとの和をインデックスyとして前記記憶手段内の事前計算テーブルC’から第2の要素データC’[C’[AH]+AL]を読み出す第2読出手段と、
前記第2の要素データC’[C’[AH]+AL]、前記乱数γ、前記数A1及び当該数A1のビット数(k−1)bに基づいて、A1+C’[C’[AH]+AL]−γ mod 2(k-1)b を計算することにより、前記数A1への桁上げを伝播する桁上げ伝播手段と、
を備えたことを特徴とする演算装置。 - 請求項1に記載の演算装置において、
0から2b−1までの2b個のインデックスIと、当該各インデックスIにより個別に読出可能な2b個の要素データG[I]=((I+r) mod 2b)^r とを備えた第2の事前計算テーブルGを記憶するための第2の記憶手段(但し、^は排他的論理和を表す記号)と、
前記インデックスI、前記乱数r及びビット数bに基づいて前記第2の事前計算テーブルGを生成し、当該第2の事前計算テーブルGを前記第2の記憶手段に書き込む手段と、
整数m及び被論理マスクデータx’を記憶するための第3の記憶手段と、
整数m及び被論理マスクデータx’をそれぞれm=k、x’=0に設定し、これら整数m及び被論理マスクデータx’を前記第3の記憶手段に書き込む手段と、
上位(m−1)bビットの数R1及び下位bビットの数R2からなるmbビットの数Rを入力するための手段と、
被算術マスクデータとしての前記数Aから前記乱数rをmod 2mb の下で減算する減算手段と、
この減算の後、前記入力された数Rから前記数R1,R2を抽出する手段と、
この抽出の後、前記Aに前記数R2をmod 2mb の下で加算する手段と、
この加算の後、前記第3の記憶手段内の整数mについて、m=1か否かを判定する手段と、
前記判定の結果、m=1の場合には前記加算後の数AをインデックスIとして、前記第2の記憶手段内の事前計算テーブルGから要素データG[A]を読み出す手段と、
この要素データG[A]、前記数R2及び前記乱数rに基づいて、上位の被論理マスクデータx’1を、x’1=(G[A]^R2)^r の値に計算する手段と、
この計算により得られた上位の被論理マスクデータx’1を、前記第3の記憶手段内の被論理マスクデータx’の最上位bビットに配置する手段と、
前記判定の結果、m>1の場合には、前記第1抽出手段、前記第2抽出手段、前記第1読出手段、前記第2読出手段及び前記桁上げ伝播手段による処理を順次実行する手段と、
この桁上げ伝播手段による処理の実行後、前記加算後の数Aの下位bビットの数A2をインデックスIとして、前記第2の記憶手段内の事前計算テーブルGから要素データG[A2]を読み出す手段と、
この要素データG[A2]、前記数R2及び前記乱数rに基づいて、下位の被論理マスクデータx’2を、x’2=(G[A2]^R2)^r の値に計算する手段と、
この計算により得られた下位の被論理マスクデータx’2を、前記第3の記憶手段内の被論理マスクデータx’の下位(k−m)bビット目に、当該下位の被論理マスクデータx’2の最下位ビットが合うように配置する手段と、
この配置の後、前記第3の記憶手段内の整数mを、m=m−1と更新し、前記減算手段の処理に戻る手段と、
を更に備えたことを特徴とする演算装置。 - 上位(k−1)bビットの数A1及び下位bビットの数A2からなるkbビットの数A(但し、b>4)と、bビットの数rとを加算して上位(k−1)bビットの加算結果を得る処理の前に、(4×2b/2)個のインデックスy(但し、0≦y<4×2b/2)の各々により個別に読出可能な(4×2b/2)個のbビットの要素データC’[y]を備えた事前計算テーブルC’を生成し、前記加算する処理中に、前記数A2と前記数rとの加算結果から前記数A1への桁上げを前記事前計算テーブルC’に基づいて伝播可能な演算装置のプログラムであって、
前記演算装置を、
前記bビットの乱数γを生成する手段、
前記各インデックスyと、当該各インデックスyに関連付けた各要素データC’[y]とを備えた事前計算テーブルC’を前記演算装置の記憶手段に書き込む手段、
前記記憶手段内の事前計算テーブルC’の1個目から2b/2個目までの要素データC’[y]を、前記インデックスyと前記数rの上位b/2ビットの数rHとに基づいて、
C’[y]=2b/2 (但し、0≦y<2b/2−rH−1 )、
C’[y]=2×2b/2 (但し、y=2b/2−rH−1 )、
C’[y]=3×2b/2 (但し、2b/2−rH≦y<2b/2 )、
の値に設定する手段、
前記記憶手段内の事前計算テーブルC’の(2b/2+1)個目から(2×2b/2)個目までの要素データC’[y]を、前記インデックスyと前記乱数γとに基づいて、
C’[y]=γ (但し、2b/2≦y<2×2b/2)、
の値に設定する手段、
前記記憶手段内の事前計算テーブルC’の(2×2b/2+1)個目から(3×2b/2)個目までの要素データC’[y]を、前記インデックスyと前記乱数γと前記数rの下位b/2ビットの数rLとに基づいて、
C’[y]=γ (但し、2×2b/2≦y<3×2b/2−rL)、
C’[y]=γ+1 (但し、3×2b/2−rL≦y<3×2b/2)、
の値に設定する手段、
前記記憶手段内の事前計算テーブルC’の(3×2b/2+1)個目から(4×2b/2)個目までの要素データC’[y]を、前記インデックスyと前記乱数γとに基づいて、
C’[y]=γ+1 (但し、3×2b/2≦y<4×2b/2)
の値に設定する手段、
前記数Aから前記数A1及び前記数A2を抽出する手段、
前記数A2の上位b/2ビットの数AH及び下位b/2ビットの数ALを当該数A2から抽出する手段、
前記(4×2b/2)個の要素データC’[y]の値を設定した後、前記抽出した数AHをインデックスyとして前記記憶手段内の事前計算テーブルC’から第1の要素データC’[AH]を読み出す手段、
前記第1の要素データC’[AH]と前記抽出した数ALとの和をインデックスyとして前記記憶手段内の事前計算テーブルC’から第2の要素データC’[C’[AH]+AL]を読み出す手段、
前記第2の要素データC’[C’[AH]+AL]、前記乱数γ、前記数A1及び当該数A1のビット数(k−1)bに基づいて、A1+C’[C’[AH]+AL]−γ mod 2(k-1)b を計算することにより、前記数A1への桁上げを伝播する手段、
として機能させるためのプログラム。 - 請求項3に記載のプログラムにおいて、
前記演算装置を、
0から2b−1までの2b個のインデックスIと、当該各インデックスIにより個別に読出可能な2b個の要素データG[I]=((I+r) mod 2b)^r とを備えた第2の事前計算テーブルG(但し、^は排他的論理和を表す記号)を、前記インデックスI、前記乱数r及びビット数bに基づいて生成し、当該生成した第2の事前計算テーブルGを前記演算装置の第2の記憶手段に書き込む手段、
整数m及び被論理マスクデータx’をそれぞれm=k、x’=0に設定し、これら整数m及び被論理マスクデータx’を前記演算装置の第3の記憶手段に書き込む手段、
上位(m−1)bビットの数R1及び下位bビットの数R2からなるmbビットの数Rを入力するための手段、
被算術マスクデータとしての前記数Aから前記乱数rをmod 2mb の下で減算する減算手段、
この減算の後、前記入力された数Rから前記数R1,R2を抽出する手段、
この抽出の後、前記Aに前記数R2をmod 2mb の下で加算する手段、
この加算の後、前記第3の記憶手段内の整数mについて、m=1か否かを判定する手段、
前記判定の結果、m=1の場合には前記加算後の数AをインデックスIとして、前記第2の記憶手段内の事前計算テーブルGから要素データG[A]を読み出す手段、
この要素データG[A]、前記数R2及び前記乱数rに基づいて、上位の被論理マスクデータx’1を、x’1=(G[A]^R2)^r の値に計算する手段、
この計算により得られた上位の被論理マスクデータx’1を、前記第3の記憶手段内の被論理マスクデータx’の最上位bビットに配置する手段、
前記判定の結果、m>1の場合には、前記第1抽出手段、前記第2抽出手段、前記第1読出手段、前記第2読出手段及び前記桁上げ伝播手段による処理を順次実行する手段、
この桁上げ伝播手段による処理の実行後、前記加算後の数Aの下位bビットの数A2をインデックスIとして、前記第2の記憶手段内の事前計算テーブルGから要素データG[A2]を読み出す手段、
この要素データG[A2]、前記数R2及び前記乱数rに基づいて、下位の被論理マスクデータx’2を、x’2=(G[A2]^R2)^r の値に計算する手段、
この計算により得られた下位の被論理マスクデータx’2を、前記第3の記憶手段内の被論理マスクデータx’の下位(k−m)bビット目に、当該下位の被論理マスクデータx’2の最下位ビットが合うように配置する手段、
この配置の後、前記第3の記憶手段内の整数mを、m=m−1と更新し、前記減算手段の処理に戻る手段、
として更に機能させるためのプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009056873A JP4837058B2 (ja) | 2009-03-10 | 2009-03-10 | 演算装置及びプログラム |
PCT/JP2010/052904 WO2010103928A1 (ja) | 2009-03-10 | 2010-02-24 | 演算装置及びプログラム |
EP10750682.6A EP2410503A4 (en) | 2009-03-10 | 2010-02-24 | CALCULATION DEVICE AND PROGRAM |
US13/227,648 US8631249B2 (en) | 2009-03-10 | 2011-09-08 | Operation unit and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009056873A JP4837058B2 (ja) | 2009-03-10 | 2009-03-10 | 演算装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010210940A JP2010210940A (ja) | 2010-09-24 |
JP4837058B2 true JP4837058B2 (ja) | 2011-12-14 |
Family
ID=42728218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009056873A Expired - Fee Related JP4837058B2 (ja) | 2009-03-10 | 2009-03-10 | 演算装置及びプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US8631249B2 (ja) |
EP (1) | EP2410503A4 (ja) |
JP (1) | JP4837058B2 (ja) |
WO (1) | WO2010103928A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017511902A (ja) * | 2014-04-04 | 2017-04-27 | クアルコム,インコーポレイテッド | サイドチャネル情報漏洩に抵抗する楕円曲線点乗算手順 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4837058B2 (ja) * | 2009-03-10 | 2011-12-14 | 株式会社東芝 | 演算装置及びプログラム |
KR101026439B1 (ko) * | 2009-07-20 | 2011-04-07 | 한국전자통신연구원 | Seed 암호화에서 차분 전력 분석 공격을 방어하기 위한 마스킹 방법 |
WO2012086076A1 (ja) * | 2010-12-24 | 2012-06-28 | 三菱電機株式会社 | 署名生成装置及び署名生成方法及び記録媒体 |
EP2634953A1 (en) * | 2012-03-02 | 2013-09-04 | Gemalto SA | Countermeasure method against side channel analysis for cryptographic algorithms using boolean operations and arithmetic operations |
FR2994608B1 (fr) * | 2012-08-16 | 2015-09-04 | Oberthur Technologies | Procede de traitement cryptographique comprenant un acces securise a une pluralite de tables de substitution, dispositifs et produit programme d'ordinateur correspondants. |
EP3145427A4 (en) | 2014-05-23 | 2018-01-24 | Amphora Medical, Inc. | Methods and devices for treating pelvic conditions |
DE102017002153A1 (de) * | 2017-03-06 | 2018-09-06 | Giesecke+Devrient Mobile Security Gmbh | Übergang von einer booleschen Maskierung zu einer arithmetischen Maskierung |
CN109474268B (zh) * | 2018-12-19 | 2024-02-06 | 北京比特大陆科技有限公司 | 电路结构、电路板和超算设备 |
US11507699B2 (en) * | 2019-09-27 | 2022-11-22 | Intel Corporation | Processor with private pipeline |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3600454B2 (ja) | 1998-08-20 | 2004-12-15 | 株式会社東芝 | 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 |
JP4596686B2 (ja) | 2001-06-13 | 2010-12-08 | 富士通株式会社 | Dpaに対して安全な暗号化 |
DE10341096A1 (de) * | 2003-09-05 | 2005-03-31 | Giesecke & Devrient Gmbh | Übergang zwischen maskierten Repräsentationen eines Wertes bei kryptographischen Berechnungen |
KR101061906B1 (ko) | 2004-02-19 | 2011-09-02 | 삼성전자주식회사 | 전력분석공격에 안전한 기본 연산 장치 및 방법 |
JP2008224830A (ja) * | 2007-03-09 | 2008-09-25 | Toshiba Corp | 耐タンパーベキ乗演算方法 |
JP2008233683A (ja) * | 2007-03-22 | 2008-10-02 | Toshiba Corp | 暗号処理装置及びプログラム |
JP4837058B2 (ja) * | 2009-03-10 | 2011-12-14 | 株式会社東芝 | 演算装置及びプログラム |
-
2009
- 2009-03-10 JP JP2009056873A patent/JP4837058B2/ja not_active Expired - Fee Related
-
2010
- 2010-02-24 EP EP10750682.6A patent/EP2410503A4/en not_active Withdrawn
- 2010-02-24 WO PCT/JP2010/052904 patent/WO2010103928A1/ja active Application Filing
-
2011
- 2011-09-08 US US13/227,648 patent/US8631249B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017511902A (ja) * | 2014-04-04 | 2017-04-27 | クアルコム,インコーポレイテッド | サイドチャネル情報漏洩に抵抗する楕円曲線点乗算手順 |
Also Published As
Publication number | Publication date |
---|---|
WO2010103928A1 (ja) | 2010-09-16 |
US20120047417A1 (en) | 2012-02-23 |
EP2410503A4 (en) | 2014-08-27 |
JP2010210940A (ja) | 2010-09-24 |
US8631249B2 (en) | 2014-01-14 |
EP2410503A1 (en) | 2012-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4837058B2 (ja) | 演算装置及びプログラム | |
Fouda et al. | A fast chaotic block cipher for image encryption | |
US7908641B2 (en) | Modular exponentiation with randomized exponent | |
Fan et al. | Attacking OpenSSL implementation of ECDSA with a few signatures | |
US20090228717A1 (en) | System for making program difficult to read, device for making program difficult to read, and method for making program difficult to read | |
CN107004084B (zh) | 用于加密操作的乘法掩码 | |
JPWO2008146482A1 (ja) | 暗号化装置、復号化装置、暗号化方法及び集積回路 | |
TWI686722B (zh) | 用於加密操作之指數分拆技術 | |
JPWO2006098015A1 (ja) | データ変換装置及びデータ変換方法 | |
CN111444547B (zh) | 用于数据完整性证明的方法、设备及计算机存储介质 | |
JP6044738B2 (ja) | 情報処理装置、プログラム及び記憶媒体 | |
JP2006276786A (ja) | 計算方法、計算装置及びコンピュータプログラム | |
CN113467750A (zh) | 用于基数为4的srt算法的大整数位宽除法电路及方法 | |
CN112740618A (zh) | 签名装置、验证装置、签名系统、签名方法、签名程序、验证方法以及验证程序 | |
WO2019113844A1 (zh) | 生成随机数的方法、芯片和电子设备 | |
CN108418687B (zh) | 一种适合sm2算法的快速模约减方法和介质 | |
CN114338049B (zh) | 基于模归约的国密算法sm2的快速实现方法及系统 | |
JP6885460B2 (ja) | 逆像サンプリング装置、逆像サンプリング方法および逆像サンプリングプログラム | |
JPWO2011036746A1 (ja) | 演算装置 | |
CN114257380A (zh) | 一种数字签名方法、系统及设备 | |
KR20180121248A (ko) | 부채널 공격에 안전한 연산 장치 및 방법 | |
EP3391583A1 (en) | A computation device and method | |
Seo et al. | MoTE-ECC based encryption on MSP430 | |
Simões et al. | Low-latency masking with arbitrary protection order based on click elements | |
CN117118637B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20110906 |
|
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: 20110927 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141007 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141007 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141007 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |