JP2021502743A - 計算デバイス及び方法 - Google Patents
計算デバイス及び方法 Download PDFInfo
- Publication number
- JP2021502743A JP2021502743A JP2020524443A JP2020524443A JP2021502743A JP 2021502743 A JP2021502743 A JP 2021502743A JP 2020524443 A JP2020524443 A JP 2020524443A JP 2020524443 A JP2020524443 A JP 2020524443A JP 2021502743 A JP2021502743 A JP 2021502743A
- Authority
- JP
- Japan
- Prior art keywords
- multiplication
- share
- shares
- variable
- storage
- 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
Links
Images
Classifications
-
- 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
-
- 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/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/723—Modular exponentiation
-
- 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/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- 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
-
- 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/7257—Random modification not requiring correction
-
- 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
- H04L2209/046—Masking or blinding of operations, operands or results of the operations
-
- 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/16—Obfuscation or hiding, e.g. involving white box
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
Description
算術演算の実行で使用される多数の変数を格納するように構成されたストレージであって、多数の変数のうちの変数が、ストレージにおいて、多数の加算シェアとして表される、ストレージと、
乗算結果を得るためにストレージ内の第1の変数にストレージ内の第2の変数を乗算するように構成されたプロセッサ回路であって、前記乗算することが、
前記第1の変数を表す加算シェアと第2の変数を表す加算シェアとの畳み込みを計算することと、
結果として生じた多数の加算シェアをストレージに乗算結果の加算シェアの表現として格納することと
を含む、プロセッサ回路と
を含む。
100 計算デバイス
110 通信インタフェース
120 ストレージ
132 畳み込みユニット
134 加算ユニット
142 乗算ユニット
144 条件付き代入ユニット
150 冪乗ユニット
2 数
20 多数の乗算シェア
21〜22 乗算シェア
210、220 多数の加算シェア
211〜213、221〜223 加算シェア
30、40 多数の乗算シェア
31〜33、41〜43 加算シェアのセット
51、52 多数の加算シェアとして表された選択数
350、351、352 畳み込みユニット
353 加算ユニット
1000 コンピュータ可読媒体
1010 書き込み可能部分
1020 コンピュータプログラム
1110 集積回路
1120 処理ユニット
1122 メモリ
1124 専用集積回路
1126 通信要素
1130 相互接続
1140 プロセッサシステム
第1の変数の乗算シェアごとに、
第1の変数の前記乗算シェアを表す加算シェア(Xi)と、第2の変数の対応する乗算シェアを表す加算シェア(Yi)との畳み込み(Zi=Xi*Yi)を計算し、
結果として生じた多数の加算シェア(Zi)をストレージに乗算結果(z)の乗算シェアの加算シェアの表現として格納するように構成される。言い換えれば、多数の加算シェアXiの各々は、多数の加算シェアYiに対応する。対応する多数の加算シェアは、乗算結果の表現を得るために畳み込まれる。言い換えれば、変数zが多数の乗算シェアZ=(z0,z1,…,zm−1)として表され、そしてまた、乗算シェアは、ストレージにおいて多数の加算シェアZi=(zi,0,zi,1,…,zi,n−1)として表され、ここで、0≦i<mであると考えられる。畳み込みによる乗算のさらなる詳細が以下で与えられる。
第1の変数の乗算シェアごとに、
第1の選択数Rと、第1の変数の乗算シェアを表す加算シェアXiとの第1の畳み込みR*Xiを計算し、
第2の選択数R’と、第2の変数の対応の乗算シェアを表す加算シェアYiとの第2の畳み込みR’*Yiを計算し、
第1及び第2の畳み込みの結果を加算しZi=R*Xi+R’*Yi、結果として生じた多数の加算シェアZiを、ストレージに、代入結果zの乗算シェアの加算シェアの表現として格納する
ように構成される。
s←1
t←h
For i=λ−1 to 0 do
u←(1−di)s+dit modN (I)
s←su modN (II)
t←tu modN (II)
End for,
ここで、hは冪乗の底を表し、ビットdiは指数のビットを表し、条件付き代入(I)及び乗算(II)は一実施形態と同じように難読化される。難読化代入を使用し、反復ごとに等しい数の乗算を含む冪乗アルゴリズムは、代入又は乗算から指数を決定することが困難であるので、サイドチャネル攻撃に対する耐性が向上していることに留意されたい。上述のMontgomeryラダーは、代入と乗算の両方がシェアによって保護されているので、この性質を有する。さらに、乗算は、秘密指数ビットと無関係である。
数
表記:x=A(x0,x1,K,xn−1)
数
表記:x=M(x0,x1,K,xm−1)
1.0を表すいくつかの(K≧1)加算シェアセットO0,O1,K,OK−1、すなわち、0≦i≦K−1に対してOi=(oi,0,K,oi,n−1)をA(oi,0,K,oi,n−1)=0で構築する、
2.1を表すいくつかの(K≧1)加算シェアセットJ0,J1,K,JK−1、すなわち、0≦i≦K−1に対してJi=(ji,0,K,ji,n−1)をA(ji,0,K,ji,n−1)=1で構築する、
3.xの各乗算シェアxiを加算シェアセットXi=(xi,0,K,xi,n−1)によって表し、その結果、xi=A(xi,0,K,xi,n−1)である、
4.yの各乗算シェアyiを加算シェアセットYi=(yi,0,K,yi,n−1)によって表し、その結果、yi=A(yi,0,K,yi,n−1)である、
5.α=0である場合、zの乗算シェアziの加算シェアセットZiを、
α=1である場合、Ziは、
RSA及びDiffie−Hellmanプロトコルでは、多くの場合、公開モジュラスNを法として、「公開」数h及び「秘密」指数dの冪剰余を実行することが必要とされる。
s=hd modN
直截な冪乗
s←1
for i=λ−1 to 0 do
s←s2 modN
if di=1 then
s←sh modN
end if
end for
Montgomeryラダー
s←1
t←h
for i=λ−1 to 0 do
if di=0 then
a←s2 modN
b←st modN
else
a←st modN
b←t2 modN
end if
s←a
t←b
end for
Montgomeryラダー、変形
s←1
t←h
for i=λ−1 to 0 do
u←(1−di)s+dit modN
s←su modN
t←tu modN
end for
[0,K)から任意に選ばれた整数である。
乗算シェア及び加算シェアによる保護されたMontgomeryラダー
for μ=0 to m−1 do
for ν=0 to n−1 do
Sμ,ν←Aμ,ν
Tμ,ν←Bμ,ν
end for
end for
for i=λ−1 to 0 do
for μ=0 to m−1 do
for μ=0 to m−1 do
Sμ←Sμ*Uμ modN
Tμ←Tμ*Uμ modN
end for
end for
1.Nを因数分解できる攻撃者は、多くの付加的な努力なしに秘密鍵dを見つけることができる。Nを因数分解する現在知られている最良の方法は、数体篩を使用して、
2.s、h、及びNからdを見つけることは、離散対数問題を解くことになり、最良の解法は、
3.離散対数問題の指数が小さい、例えば、tビットであることが分かっている場合、総当たり攻撃はO(2t)演算を行う。tがRSAのセキュリティレベルよりも大きいということであれば、Nの因数分解はdに対する最良の攻撃である。
算術演算の実行で使用される多数の変数を格納するステップ410であり、多数の変数のうちの変数(x;y;2)が、多数の乗算シェア(X=(x0,x1,…,xm−1);Y=(y0,y1,…,ym−1);20)として表され、前記乗算シェアが、ストレージにおいて、多数の加算シェア(Xi=(xi,0,xi,1,…,xi,n−1);Yi=(yi,0,yi,1,…,yi,n−1);210,220)として表される、格納するステップ410と、
乗算結果(z=xy)を得るためにストレージ内の第1の変数にストレージ内の第2の変数を乗算するステップ420と
を有する。
第1の変数の乗算シェアごとに、
第1の変数の前記乗算シェアを表す加算シェア(Xi)と、第2の変数の対応する乗算シェアを表す加算シェア(Yi)との畳み込み(Zi=Xi*Yi)を計算するステップ430と、
結果として生じた多数の加算シェア(Zi)をストレージに乗算結果(z)の乗算シェアの加算シェアの表現として格納するステップ440と
を有する。このようにして、例えば、必要に応じて何度でも、例えば、ストレージ内の数の表現と同じように何度でも、反復されるなど、操作430及び440が繰り返される、
Claims (15)
- 乗算の難読化実行のための電子計算デバイスであって、前記電子計算デバイスが、
算術演算の前記難読化実行で使用される多数の変数を格納するためのストレージであって、前記多数の変数のうちの変数(x:y)が、1つ又は複数の乗算シェア(X=(x0,x1,…,xm−1);Y=(y0,y1,…,ym−1))として表され、前記乗算シェアが、前記ストレージにおいて、多数の加算シェア(Xi=(xi,0,xi,1,…,xi,n−1);Yi=(yi,0,yi,1,…,yi,n−1))として表される、ストレージと、
乗算結果(z=xy)を得るために前記ストレージ内の第1の変数に前記ストレージ内の第2の変数を乗算するためのプロセッサ回路であって、前記乗算することが、
前記第1の変数の乗算シェアごとに、
前記第1の変数の乗算シェアを表す加算シェア(Xi)と、前記第2の変数の対応する乗算シェアを表す加算シェア(Yi)との畳み込み(Zi=Xi*Yi)を計算することと、
結果として生じた多数の加算シェア(Zi)を前記ストレージに前記乗算結果(z)の乗算シェアの加算シェアの表現として格納することと
を含む、プロセッサ回路と
を含む、電子計算デバイス。 - 前記第1及び第2の変数の少なくとも一方を得るための通信インタフェースを含む、請求項1に記載の電子計算デバイス。
- 前記電子計算デバイスが、暗号化操作の前記難読化実行のためのものであって、前記暗号化操作が少なくとも前記算術演算を含む、請求項1又は2に記載の電子計算デバイス。
- 前記算術演算が、少なくとも1つの乗算及び少なくとも1つの条件付き代入を含み、前記プロセッサ回路が、2値条件(d)に応じて、前記ストレージ内の第1の変数(x)を第3の変数(z)に、又は前記ストレージ内の第2の変数(y)を前記第3の変数(z)に代入し、前記プロセッサ回路が、
前記2値条件に応じて第1の選択数(R)及び第2の選択数(R’)を得ることであって、前記第1及び第2の選択数が、多数の加算シェアとして表される、得ることと、
前記第1の変数の乗算シェアごとに、
前記第1の選択数(R)と前記第1の変数の前記乗算シェアを表す前記加算シェア(Xi)との第1の畳み込み(R*Xi)を計算することと、
前記第2の選択数(R’)と前記第2の変数の前記対応する乗算シェアを表す前記加算シェア(Yi)との第2の畳み込み(R’*Yi)を計算することと、
前記第1及び第2の畳み込みの結果を加算し(Zi=R*Xi+R’*Yi)、結果として生じた前記多数の加算シェア(Zi)を前記ストレージに前記代入結果(z)の乗算シェアの加算シェアの表現として格納することと
を行う、請求項1から3のいずれか一項に記載の電子計算デバイス。 - 前記第1の選択数及び前記第2の選択数が、0又は1の加算表現である、請求項4に記載の電子計算デバイス。
- 前記暗号化操作が、前記条件付き代入と、それに続く前記条件付き代入結果との乗算とを含む。請求項4又は5に記載の電子計算デバイス。
- 前記暗号化操作が冪乗を含み、前記冪乗が、繰り返された難読化乗算を含む、請求項1から6のいずれか一項に記載の電子計算デバイス。
- 前記暗号化操作が冪乗を含み、前記冪乗が、繰り返された乗算を含み、前記乗算が指数のビットに依存し、前記条件付き代入が、前記指数の前記ビットに依存して実行され、その後に乗算が続く、請求項6に記載の電子計算デバイス。
- 前記暗号化操作が冪乗を含み、前記冪乗がMontgomeryラダーに従って実行され、前記Montgomeryラダーの乗算及び条件付き代入が難読化される、請求項1から8のいずれか一項に記載の電子計算デバイス。
- 前記Montgomeryラダーが、
s←1
t←h
For i=λ−1 to 0 do
u←(1−di)s+dit modN (I)
s←su modN (II)
t←tu modN (II)
End for,
にしたがって実施され、ここで、hは前記冪乗の底を表し、ビットdiは指数のビットを表し、前記条件付き代入(I)及び前記乗算(II)が難読化される、請求項9に記載の電子計算デバイス。 - 前記プロセッサ回路が、第1の指数及び第2の指数を得ることによって冪乗を実行し、前記第1の指数が前記第2の指数よりも少ないビットを有し、前記第1及び第2の指数による前記後続の冪乗が、前記指数による冪乗に等しく、前記第1の指数による前記冪乗が、難読化乗算及び/又は条件付き代入を含む、請求項7から10のいずれか一項に記載の電子計算デバイス。
- 乗算シェアを表す前記加算シェアが、符号化形態で格納される、請求項1から11のいずれか一項に記載の電子計算デバイス。
- 乗算シェアの数が1である、又は
乗算シェアの数が2以上である、
請求項1から12のいずれか一項に記載の電子計算デバイス。 - 乗算の難読化実行のための計算方法であって、前記計算方法が、
算術演算の前記難読化実行で使用される多数の変数を格納するステップであって、前記多数の変数のうちの変数(x;y)が、1つ又は複数の乗算シェア(X=(x0,x1,…,xm−1);Y=(y0,y1,…,ym−1))として表され、前記乗算シェアが、前記ストレージにおいて、多数の加算シェア(Xi=(xi,0,xi,1,…,xi,n−1);Yi=(yi,0,yi,1,…,yi,n−1))として表される、格納するステップと、
乗算結果(z=xy)を得るために前記ストレージ内の第1の変数に前記ストレージ内の第2の変数を乗算するステップであって、前記乗算するステップが、
前記第1の変数の乗算シェアごとに、
前記第1の変数の前記乗算シェアを表す前記加算シェア(Xi)と、前記第2の変数の前記対応する乗算シェアを表す前記加算シェア(Yi)との畳み込み(Zi=Xi*Yi)を計算するステップと、
結果として生じた多数の加算シェア(Zi)を前記ストレージに前記乗算結果(z)の乗算シェアの加算シェアの表現として格納するステップと
を有する、乗算するステップと
を有する、計算方法。 - 請求項14に記載の計算方法をプロセッサシステムに実行させるための命令を表す一時的又は非一時的データを含む、コンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17201106.6A EP3484093A1 (en) | 2017-11-10 | 2017-11-10 | A computation device and method |
EP17201106.6 | 2017-11-10 | ||
PCT/EP2018/079537 WO2019091809A1 (en) | 2017-11-10 | 2018-10-29 | A computation device and method |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2021502743A true JP2021502743A (ja) | 2021-01-28 |
JP2021502743A5 JP2021502743A5 (ja) | 2021-12-09 |
JP7191097B2 JP7191097B2 (ja) | 2022-12-16 |
Family
ID=60320709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020524443A Active JP7191097B2 (ja) | 2017-11-10 | 2018-10-29 | 計算デバイス及び方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11381379B2 (ja) |
EP (2) | EP3484093A1 (ja) |
JP (1) | JP7191097B2 (ja) |
CN (1) | CN111480140B (ja) |
WO (1) | WO2019091809A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3095709B1 (fr) * | 2019-05-03 | 2021-09-17 | Commissariat Energie Atomique | Procédé et système de masquage pour la cryptographie |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070150530A1 (en) * | 2005-12-13 | 2007-06-28 | Intel Corporation | Resisting cache timing based attacks |
JP2014145958A (ja) * | 2013-01-30 | 2014-08-14 | Renesas Electronics Corp | 半導体装置 |
JP2017026788A (ja) * | 2015-07-22 | 2017-02-02 | 日本電信電話株式会社 | 秘密計算装置、その方法、およびプログラム |
WO2017102879A1 (en) * | 2015-12-15 | 2017-06-22 | Koninklijke Philips N.V. | A computation device and method |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2917197B1 (fr) | 2007-06-07 | 2009-11-06 | Thales Sa | Procede de masquage du resultat d'une operation de multiplication modulaire et dispositif associe. |
US9959429B2 (en) * | 2013-03-15 | 2018-05-01 | Cryptography Research, Inc. | Asymmetrically masked multiplication |
EP3020158B1 (en) * | 2013-07-12 | 2017-04-19 | Koninklijke Philips N.V. | Key agreement device and method |
US10372886B2 (en) * | 2015-05-05 | 2019-08-06 | Nxp B.V. | Protecting the input/output of modular encoded white-box RSA/ECC |
US10235506B2 (en) * | 2015-05-05 | 2019-03-19 | Nxp B.V. | White-box modular exponentiation |
NL2015599B1 (en) * | 2015-10-12 | 2017-05-02 | Koninklijke Philips Nv | A cryptographic device and an encoding device. |
-
2017
- 2017-11-10 EP EP17201106.6A patent/EP3484093A1/en not_active Withdrawn
-
2018
- 2018-10-29 WO PCT/EP2018/079537 patent/WO2019091809A1/en unknown
- 2018-10-29 CN CN201880079830.4A patent/CN111480140B/zh active Active
- 2018-10-29 JP JP2020524443A patent/JP7191097B2/ja active Active
- 2018-10-29 EP EP18795528.1A patent/EP3707593B1/en active Active
- 2018-10-29 US US16/761,865 patent/US11381379B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070150530A1 (en) * | 2005-12-13 | 2007-06-28 | Intel Corporation | Resisting cache timing based attacks |
JP2014145958A (ja) * | 2013-01-30 | 2014-08-14 | Renesas Electronics Corp | 半導体装置 |
JP2017026788A (ja) * | 2015-07-22 | 2017-02-02 | 日本電信電話株式会社 | 秘密計算装置、その方法、およびプログラム |
WO2017102879A1 (en) * | 2015-12-15 | 2017-06-22 | Koninklijke Philips N.V. | A computation device and method |
Also Published As
Publication number | Publication date |
---|---|
EP3484093A1 (en) | 2019-05-15 |
EP3707593B1 (en) | 2021-06-02 |
WO2019091809A1 (en) | 2019-05-16 |
EP3707593A1 (en) | 2020-09-16 |
JP7191097B2 (ja) | 2022-12-16 |
CN111480140A (zh) | 2020-07-31 |
US11381379B2 (en) | 2022-07-05 |
US20200266970A1 (en) | 2020-08-20 |
CN111480140B (zh) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10726108B2 (en) | Protecting the input/output of modular encoded white-box RSA | |
US11323255B2 (en) | Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes | |
EP3596876B1 (en) | Elliptic curve point multiplication device and method for signing a message in a white-box context | |
JP6517436B2 (ja) | 暗号化デバイス及び符号化デバイス | |
US20190287427A1 (en) | Device and method for performing obfuscated arithmetic | |
US10235506B2 (en) | White-box modular exponentiation | |
US20200097256A1 (en) | A calculation device for encoded addition | |
US10140437B2 (en) | Array indexing with modular encoded values | |
EP3078154B1 (en) | A computing device for iterative application of table networks | |
EP3125145B1 (en) | White-box elliptic curve point multiplication | |
US10068070B2 (en) | White-box elliptic curve point multiplication | |
JP7191097B2 (ja) | 計算デバイス及び方法 | |
CN114731268A (zh) | 用于使用几何代数和hensel码的加密和同态加密系统的方法和系统 | |
EP3125144B1 (en) | Array indexing with modular encoded values | |
JP4502817B2 (ja) | 楕円曲線スカラー倍計算方法および装置 | |
WO2024028961A1 (ja) | 暗号システム、方法及びプログラム | |
JP2006201641A (ja) | 非線形演算装置及び暗号処理装置及び非線形演算方法及び非線形演算プログラム | |
JP2019506031A (ja) | 計算装置及び方法 | |
Vadnala | Provably Secure Countermeasures against Side-channel Attacks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211026 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211026 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221026 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20221107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221206 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7191097 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |