JP4589327B2 - 電子素子及びデータ処理方法 - Google Patents
電子素子及びデータ処理方法 Download PDFInfo
- Publication number
- JP4589327B2 JP4589327B2 JP2006527641A JP2006527641A JP4589327B2 JP 4589327 B2 JP4589327 B2 JP 4589327B2 JP 2006527641 A JP2006527641 A JP 2006527641A JP 2006527641 A JP2006527641 A JP 2006527641A JP 4589327 B2 JP4589327 B2 JP 4589327B2
- Authority
- JP
- Japan
- Prior art keywords
- random number
- input
- bit
- output
- 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 - Lifetime
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/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
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- 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
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- 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
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Logic Circuits (AREA)
Description
所定のデータと第1乱数との排他的論理和の結果を入力信号として入力し、入力した入力信号に基いて所定の論理演算を実行し、実行した論理演算の結果と第2乱数との排他的論理和を出力信号として出力することを特徴とする。
n(n≧1)ビットのデータにnビットの第1乱数が排他的論理和されたデータを示すXORデータと、nビットの第1乱数と、1ビットの第2乱数とを入力信号として入力し、XORデータと第1乱数との排他的論理和によりnビットのデータを算出し、算出したnビットのデータの各ビットを用いて所定の論理演算を実行し、実行した論理演算の結果と第2乱数との排他的論理和を出力信号として出力することを特徴とする。
nビットの各ビットが同一の値であり、
前記第2乱数は、
前記第1乱数の各ビットの値と等しい値であることを特徴とする。
入力信号の状態変化に依存せず、過渡的な処理を行わずに出力信号を出力することを特徴とする。
出力信号の出力を指令する指令信号を入力するとともに、指令信号を入力した場合に、出力信号を出力することを特徴とする。
論理積(AND)、否定論理積(NAND)、論理和(OR)、否定論理和(NOR)、排他的論理和(XOR)のうち、いずれかであることを特徴とする。
複数のトランジスタから構成され、第1乱数と第2乱数とnビット(n≧1)のデータとを入力して所定の信号を出力信号として出力する電子素子において、
第1乱数と第2乱数とnビットのデータとを入力した場合に、
第1乱数とnビットのデータとの排他的論理和を実行し排他的論理和の実行結果を示す各ビットを用いて所定の論理演算を行い所定の論理演算の結果と第2乱数との排他的論理和を実行することにより得られる結果と等価な結果を示す出力信号を、複数のトランジスタのスイッチングにより出力することを特徴とする。
各ビットが同一の値であるnビットの乱数であり、
前記第2乱数は、
前記第1乱数の各ビットの値と等しい値である1ビットの乱数であることを特徴とする。
前記複数のトランジスタのスイッチングを同時に行うことを特徴とする。
出力信号の出力を指令する指令信号を入力するとともに、指令信号を入力した場合に、出力信号を出力することを特徴とする。
第1乱数と第2乱数とnビット(n≧1)のデータとを入力して所定の信号を出力信号として出力する電子素子において、
第1乱数と第2乱数とnビットのデータとを入力する入力部と、
0と1とにより構成される論理データを格納する格納部と、
前記入力部が第1乱数と第2乱数とnビットのデータとを入力した場合に、第1乱数とnビットのデータとの排他的論理和を実行し排他的論理和の実行結果を示す各ビットを用いて所定の論理演算を行い所定の論理演算の結果と第2乱数との排他的論理和を実行することにより得られる結果と等価な結果を、スイッチングにより前記格納部が格納する論理データから取得し出力信号として出力する複数のトランジスタと
を備えたことを特徴とする。
各ビットが同一の値であるnビットの乱数であり、
前記第2乱数は、
前記第1乱数の各ビットの値と等しい値である1ビットの乱数であることを特徴とする。
スイッチングを同時に行うことを特徴とする。
出力信号の出力を指令する指令信号を入力し、
前記電子素子は、
指令信号を入力した場合に、出力信号を出力することを特徴とする。
所定のデータと第1乱数との排他的論理和の結果を入力信号として入力し、入力した入力信号に基づき所定の論理演算を実行し、実行した論理演算の結果と第2乱数との排他的論理和を出力信号として出力することを特徴とする。
nビットのデータにnビットの第1乱数が排他的論理和されたデータを示すXORデータと、nビットの第1乱数と、1ビットの第2乱数とを入力信号として入力し、XORデータと第1乱数との排他的論理和によりnビットのデータを算出し、算出したnビットデータの各ビットを用いて所定の論理演算を実行し、実行した論理演算の結果と第2乱数との排他的論理和を出力信号として出力することを特徴とする。
図1〜図11を用いて、実施の形態1を説明する。実施の形態1は、非線形変換の処理を行う基本素子A、線形変換の処理を行う基本素子B、及び基本素子A、基本素子Bを用いて暗号アルゴリズムを処理する回路に関する。なお、以下において、nビットのデータAと、nビットのデータBとのビットどうしの排他的論理和を、A<XOR>Bとも表記する。
(1)素子20は、データ(xi,yi)(所定のデータの一例)と乱数r(第1乱数の一例)との排他的論理和である、x1(x1=xi^r)、x2(x2=xj^r)を入力する。
(2)XOR22は、(x1、x2)(XORデータの一例)及び乱数rを入力し、排他的論理和を実行する。すなわち、「xi^r^r」、及び「xj^r^r」を実行する。XOR22の出力は、xiとxjとなる。
(3)ANDゲート23は、xi、xjを入力し、「xi&xj」を出力する(出力点25)。
(4)XOR27は、乱数r(第2乱数の一例)と「xi&xj」を入力し、「xi&xj^r」を出力する。
(5)ANDゲート24は、「xi&xj^r」と制御信号en26とを入力し、制御信号en26が「1」のとき、「z=xi&xj^r」を出力する。ただし、これは一例であり、基本素子Aの動作は、制御信号enの有意を「0」とすれば、ANDゲート24をORゲートで置き換えた動作で実現してもよい。
また、制御信号enが「立ち上がり」もしくは「立ち下がり」で有意を決定する信号であるとするならば、基本素子Aの動作は、ANDゲート24をフリップフロップで置き換え、制御信号enが「立ち上がり」もしくは「立ち下がり」でXOR27の出力を取り込む方式の動作で実現してもよい。以下、基本素子Aの動作は、説明の理解を簡単にするために制御信号enの有意を「1」とし、前述のANDゲート24による動作で説明する。請求の範囲は、信号の有意が「0」、「1」、「立ち上がり」、「立ち下がり」の全ての方式に対するものである。また、これは基本素子Bについても同様である。
z=((x1^r1)&(x2^r2)&・・・(xn^rn)^rb)&en
を出力する。
(1a)n−bitの入力X(x1,x2,・・・,xn)(XORデータの一例)を、nビットの乱数Ra(r1,r2,・・・,rn)と排他的論理和する(なお、x1,x2等は、入力前に乱数Raと排他的論理和されているものとする)。これをX’とする。素子20の場合では、x1=xi^r、x2=xj^rである。また、乱数Ra=(r1,r2)=(r,r)である。よって、X’=(xi,xj)である。
(2a)X’の全てのビットについて論理積(AND)をとる。これをx’’とする。素子20の場合は、x’’=xi&xjとなる。
(3a)x’’と、1bitの乱数であるrbとを排他的論理和する。これをyとする。素子20の場合は、rb=rであり、y=xi&xj^rとなる。
(4a)yと制御用信号enのANDをとり出力する。これをzとする。素子20の場合は、上述のように、z=xi&xj^rとなる。なお、zを出力する場合は、すべての入力信号が確定後、制御信号enを「1」にすることにより、一気に出力する。
(1b)n−bitの入力X(x1,x2,・・・,xn)を、1bitの乱数rによるn−bit連結と排他的論理和する。これをX’とする。すなわち、
X’=(x1^r,x2^r,・・・,xn^r)
(2b)X’の全てのbitについてANDをとる。これをx’’とする。すなわち、
x’’=(x1^r)&(x2^r)&・・・&(xn^r)
(3b)x’’とrを排他的論理和する。これをyとする。すなわち、
y=(x1^r)&(x2^r)&・・・&(xn^r)^r
(4b)yと制御用信号enのANDをとり出力とする。これをzとする。
(1b)から(4b)の処理を全て単一の演算素子で実行し、これを基本素子AとしてSiを構成する。すなわち
基本素子A(X):
z=((x1^r)&(x2^r)&・・・(xn^r)^r)&en
となる。
以下、線形変換を構成する素子を基本素子Bと呼ぶ。線形変換Ljは、基本素子Bにより構成されているとする。線形変換Ljの各線形処理において、例えば、n入力XORを下記のような処理を行う素子で実現する。
(1c)n−bitの入力X(x1,x2,・・・,xn)の全てのビットについてXORをとる。これをx’とする。すなわち、
x’=x1^x2^・・・^xn
(2c)x’と1bitの乱数rを排他的論理和する。これをyとする。すなわち、
y=(x1^x2^・・・^xn)^r
(3c)yと制御用信号enのANDをとり出力とする。これをzとする。
(1c)から(3c)の処理を全て単一の演算素子で実行し、これを基本素子BとしてLjを構成する。すなわち
基本素子B(X):
z=(x1^x2^・・・^xn^r)&en
となる。ここで、入力Xが既に乱数成分を排他的論理和されている場合、例えば、A(X)の出力である場合、Xが奇数ビット列であれば(2c)の処理は行わない。
「(暗号アルゴリズムの中間値もしくは処理結果)^乱数値」
の形で各基本素子は結果を出力し、それ以外の場合は常に0を出力する。これら基本素子A、基本素子Bを用いて、暗号アルゴリズムFを構成する。後述する図2の「最後の変換層」の場合のように、基本素子Aもしくは基本素子Bの処理結果に対して、直前の処理で使用した乱数を排他的論理和することで暗号文または、平文を得ることができる。
z=((x1^r)&(x2^r)^r)&en
を出力する。zの式においてx1、及びx2と排他的論理和的論理和されている乱数rは第1乱数である。3つ目の乱数rは、第2乱数である。
(1)基本素子A100は、上部115と下部116との直列接続により構成される。上部115と下部116との間から出力信号zが出力される。
(2)図6において、記号「!」は、信号信号の反転を意味する。また、上部115を構成する各トランジスタに付されている右向き矢印「→」は、信号が「0」のときにトランジスタが導通することを示す。また、下部116を構成する各トランジスタに付されている左向き矢印「←」は、信号が「1」のときにトランジスタが導通することを示す。したがって、上部115は、信号が「0」のとき導通するトランジスタの集合である。また、下部116は、信号が「1」のとき導通するトランジスタの集合である。印加部113には、論理「1」に相当する電圧が印加される。
(3)印加部113に論理「1」に相当する電圧が印加された場合、各トランジスタのスイッチングにより
z=((x1^r)&(x2^r)^r)&en
が出力される。
(4)基本素子A100のトランジスタの構成を説明する。上部115は、トランジスタ101と、トランジスタ102とトランジスタ103との並列回路と、トランジスタ104とトランジスタ105との直列接続とトランジスタ106とが並列接続された並列回路とが、直列接続されて構成される。
(5)下部116は、トランジスタ107と、トランジスタ108とトランジスタ109との直列接続と、トランジスタ110とトランジスタ111との並列回路とトランジスタ112との直列接続とが、並列接続されて構成される。そして、トランジスタ107、トランジスタ109、及びトランジスタ112の一端は、アース114に接続されている。
(6)次に入力信号について説明する。入力信号は全て反転してトランジスタに入力する。
入力信号x1は、反転して、トランジスタ102、トランジスタ104、トランジスタ108、及びトランジスタ110に入力する。
(7)入力信号x2は、反転して、トランジスタ103、トランジスタ105、トランジスタ109、及びトランジスタ111に入力する。
(8)入力信号rは、反転して、トランジスタ106及びトランジスタ112に入力する。
(9)入力信号enは、反転して、トランジスタ101及びトランジスタ107に入力する。
A(x1、x2):z=((x1^r)&(x2^r)^r)&en
ここで、x1=xj^r、x2=xj^r
である。
図4の非線形変換S1を基本素子A100で構成した場合は、次のようになる。非線形変換S1の入力である、X<XOR>{r,r,r,・・・,r}、r、及び制御信号enについて、基本素子A100は、任意の2bitに対してA(xi^r,xj^r)の処理を行い、zを出力する。すなわち、
z=(((xi^r)^r)&((xj^r)^r))&en
となる。そして、en=1の場合、
z=xi&xj^r
を出力する。
x1=0の場合において、出力zの信号が「0から1」あるいは「1から0」に遷移する信号遷移率α(x1=0)は、
α(x1=0)=P0×P1(x1=0)+ P1×P0(x1=0)=1/2
となる。
ここで、P0は、zが「0」になる確率である。P1はzが「1」になる確率である。真理値表から、
P0=4/8、
P1=4/8
である。
また、P1(x1=0)は、x1=0の条件下において、zが「1」になる確率である。P0(x1=0)は、x1=0の条件下において、zが「0」になる確率である。真理値表から、
P0(x1=0)=3/4、
P1(x1=0)=1/4
である。よって、
α(x1=0)=P0×P1(x1=0)+P1×P0(x1=0)
=4/8×1/4+4/8×3/4=1/2
となる。
x1=1の場合も同様に計算すると、真理値表から、
P0(x1=1)=1/4、
P1(x1=1)=3/4
である。よって、
α(x1=1)=P0×P1(x1=1)+P1×P0(x1=1)
=4/8×3/4+4/8×1/4=1/2
となる。したがって、信信号遷移率αは、入力x1(あるいはx2)が0と1の場合で同じとなる。また、出力zについては、制御信号enにより、入力信号が確定後に一気に出力する。すなわち、出力信号は、入力信号の過渡遷移の影響を受けない。また、入力から出力に至る途中のデータを生成することなく一気に出力する。このため基本素子Aにおいては、消費電力から秘密情報を予測することはできない。
xi=0のとき、α(xi=0)=1/4、
xi=1のとき、α(xi=1)=1/2
となる。すなわち、信号遷移率αが異なる。
α(xi=0)=P0×P1(xi=0)+P1×P0(xi=0)=1/4
である。
ここで、P0は、zが「0」になる確率である。P1は、zが「1」になる確率である。図8Bの真理表から、P0=3/4、P1=1/4である。また、P1(xi=0)は、xi=0の条件下において、zが「1」になる確率である。P0(xi=0)は、xi=0の条件下においてzが「0」になる確率である。真理値表から、
P0(xi=0)=1、
P1(xi=0)=0
である。よって、
α(xi=0)=P0×P1(xi=0)+P1×P0(xi=0)
=3/4×0+1/4×1=1/4
となる。
xi=0の場合も同様に計算すると、真理値表から、
P0(xi=1)=1/2、
P1(xi=1)=1/2
である。よって、
α(xi=1)=P0×P1(xi=1)+P1×P0(xi=1)
=3/4×1/2+1/4×1/2=1/2
となる。
したがって、上記のように、
xi=0のとき、α(xi=0)=1/4、
xi=1のとき、α(xi=1)=1/2
となる。このように信号遷移率αに偏りが生じる。
図10Aは、基本素子A100の入出力を示す図である。
図10Bは、基本素子A100の真理値表を示す図である。
図10Cは、入力信号の変化と出力信号zとの関係を示す図である。
図10Cでは、図10Bの真理値表から、信号遷移率αはxi、xjの0、1に依存せずに1/2となる。さらに、図10Cに示すように、制御信号enが0の間は、基本素子A100の出力zは、常に0である。よって、xi、xj、rの信号変化より遅く制御信号enを1にすることにより、出力zに過渡遷移は発生せず、信号遷移率αが均等である遷移しか発生しない。したがって、消費電力から秘密情報を特定することはできない。
次に、図12A〜図16を用いて、実施の形態2を説明する。実施の形態2は、メモリ素子を用いることにより、図6に示した実施の形態1の基本素子A100と等価な機能を実現するLUT200(後述の図15)を説明する。
{X5,X4,X3,X2,X1,X0}={011011}
から、
{X5,X0}={01}=1
である。したがって、S1テーブルの2行目と決定される。次に、
{X4,X3,X2,X1}={1101}=13
である。よって、S1テーブルの14列目と決定される。よって、{011011}は、2行14列の「5」(0101)に換字される。
z=((x1^r)&(x2^r)^r)&en
である。
(2)ブランチ201は、ブランチ202と同様に分岐していく。ブランチ201は、ブランチ203、ブランチ204の二分木に分岐する。ブランチ203は、ブランチ207、ブランチ208の二分木に分岐する。ブランチ204は、ブランチ209、ブランチ210の二分木に分岐する。ブランチ207は、ブランチ215、ブランチ216の二分木に分岐する。ブランチ208は、ブランチ217、ブランチ218の二分木に分岐する。ブランチ209は、ブランチ219、ブランチ220の二分木に分岐する。ブランチ210は、ブランチ221、ブランチ222の二分木に分岐する。「ブランチ215、ブランチ216、・・・ブランチ222」のそれぞれには、SRAMが接続している。図15では、ブランチ216、ブランチ218、、ブランチ220に接続しているSRAMには「1」が格納されている。その他のSRAMには「0」が格納されている。
(3)入力信号について説明する。入力信号x2の反転信号は、ブランチ201に配置されたパストランジスタに入力する。入力信号x2は、ブランチ202に配置されたパストランジスタに入力する。入力信号x1の反転信号は、ブランチ203、ブランチ205に配置されたパストランジスタに入力する。入力信号x1は、ブランチ204、ブランチ206に配置されたパストランジスタに入力する。入力信号rの反転信号は、ブランチ207、ブランチ209、ブランチ211、ブランチ213に配置されたパストランジスタに入力する。入力信号rは、ブランチ208、ブランチ210、ブランチ212、ブランチ214に配置されたパストランジスタに入力する。入力信号enの反転信号は、ブランチ215、ブランチ217、ブランチ219、ブランチ221、ブランチ223、ブランチ225、ブランチ227、ブランチ229に配置されたパストランジスタに入力する。入力信号enは、ブランチ216、ブランチ218、ブランチ220、ブランチ222、ブランチ224、ブランチ226、ブランチ228、ブランチ230に配置されたパストランジスタに入力する。
次に、図17〜図22を用いて、図6の基本素子A100、図15のLUT200とは別の基本素子について説明する。図17〜図24に示す一連の基本素子は、基本素子A100、LUT200等と同様に、消費電力から秘密情報を特定する攻撃に対抗することができる。
z=((x1^r)&(x2^r)^r)
となる。御信号enは存在しない。基本素子A300は、入力信号x1、x2、rが各トランジスタに同じタイミングで入力する場合を想定した素子である。
すなわち、入力信号は同時に入力するので、該当する複数のトランジスタのスイッチングは同時に行われる。この場合、制御信号enは必要ないからである。
z=((x1^r)|(x2^r)^r)&en
となる。基本素子A100の場合と同様に、入力x1、x2は、
x1=xi^r, x2=xj^r
である。よって、入出力に乱数が排他的論理和されている。及び制御信号enに基づく各トランジスタのスイッチングにより、一気にzが出力される。これらにより、基本素子A100と同様、消費電力から秘密情報を特定する攻撃に対抗することができる。
(1)基本素子A400の構成を説明する。基本素子A400は、上部415と下部416との直列接続により構成されている。上部415と下部416との間から出力信号zが出力される。
(2)図18において、記号「!」、右向き矢印「→」、左向き矢印「←」は、図6の場合と同様である。なお、これらの意味は、後述の図19〜図22についても同様である。印加部413には、論理「1」に相当する電圧が印加される。
(3)印加部413に論理「1」に相当する電圧が印加された場合、各トランジスタのスイッチングにより
z=((x1^r)|(x2^r)^r)&en
が出力される。
(4)上部415は、トランジスタ401と部分回路417との直列接続で構成される。
トランジスタ401の一端は、印加部413と接続され、他端が部分回路417に接続する。部分回路417は、トランジスタ402とトランジスタ403との直列接続と、トランジスタ404とトランジスタ405との並列回路とトランジスタ406との直列接続とが、並列接続されている。
(5)下部416のトランジスタの構成は、図6の基本素子A100の下部116と同じ構成である。すなわち、トランジスタ407〜トランジスタ412の配置は、トランジスタ107〜トランジスタ112の配置と同一である。ただし、下部116のトランジスタ112には、入力信号rの反転信号が入力するのに対して、下部416のトランジスタ412には、入力信号rが反転することなく、そのまま入力する。
(6)次に、入力信号について説明する。入力信号x1の反転信号がトランジスタ402、トランジスタ404、トランジスタ408、及びトランジスタ410に入力する。
(7)入力信号x2の反転信号が、トランジスタ403、トランジスタ405、トランジスタ409、及びトランジスタ411に入力する。
(7)入力信号rが、トランジスタ406及びトランジスタ412に入力する。
(8)入力信号enの反転信号が、トランジスタ401及びトランジスタ407に入力する。
z=(〜((x1^r)&(x2^r))^r)&en
となる。基本素子A100の場合と同様に、入力x1、x2は、
x1=xi^r, x2=xj^r
である。よって、入出力に乱数が排他的論理和されている。及び制御信号enに基づく各トランジスタのスイッチングにより、一気にzが出力される。これにより基本素子A100と同様、消費電力から秘密情報を特定する攻撃に対抗することができる。
(2)入力信号について説明する。入力信号x1は、トランジスタ502、トランジスタ504、トランジスタ508、及びトランジスタ510に入力する。
(3)入力信号x2は、トランジスタ503、トランジスタ505、トランジスタ509、及びトランジスタ511に入力する。
(4)入力信号rは、トランジスタ506及びトランジスタ512に入力する。
(5)入力信号enの反転信号が、トランジスタ301及びトランジスタ307に入力する。
「z=(〜((x1^r)|(x2^r))^r)&en」となる。基本素子A100の場合と同様に、入力x1、x2は、
x1=xi^r, x2=xj^r
である。よって、入出力に乱数が排他的論理和されている。及び制御信号enに基づく各トランジスタのスイッチングにより、一気にzが出力される。これにより基本素子A100と同様、消費電力から秘密情報を特定する攻撃に対抗することができる。
(1)基本素子A600のトランジスタの構成は、図20に示すように、図18の基本素子A300と同じである。ただし、各トランジスタに入力する信号の反転の有無が異なる。
(2)入力信号について説明する。入力信号x1は、トランジスタ602、トランジスタ604、トランジスタ608、及びトランジスタ610に入力する。
(3)入力信号x2は、トランジスタ603、トランジスタ605、トランジスタ609に入力する。また、入力信号x2の反転信号が、トランジスタ611入力する。
(4)入力信号rの反転信号が、トランジスタ606及びトランジスタ612に入力する。
(5)入力信号enの反転信号が、トランジスタ601及びトランジスタ607に入力する。
z=((x1^r)^(x2^r)^r)&en
となる。基本素子A100の場合と同様に、入力x1、x2は、
x1=xi^r, x2=xj^r
である。よって、入出力に乱数が排他的論理和されている。及び制御信号enに基づく各トランジスタのスイッチングにより、一気にzが出力される。これにより、基本素子A100と同様、消費電力から秘密情報を特定する攻撃に対抗することができる。
(1)基本素子B700は、上部721と下部722との直列接続で構成される。上部721と下部722との間から出力信号zが出力される。
(2)印加部719には、論理「1」に相当する電圧が印加される。
(3)印加部719に論理「1」に相当する電圧が印加された場合、各トランジスタのスイッチングにより
z=((x1^r)^(x2^r)^r)&en
が出力される。
(4)上部721は、トランジスタ701と部分回路727との直列接続で構成される。
トランジスタ701は、一端が印加部719に接続され、他端が部分回路727と接続する。
(5)部分回路727の構成を説明する。部分回路727は、トランジスタ702と並列回路723との直列接続と、並列回路724とトランジスタ709との直列接続とが、並列に接続されている。
そして、並列回路723は、トランジスタ703とトランジスタ704との直列接続と、トランジスタ705とトランジスタ706との直列接続とが並列に接続されて、並列回路を構成している。
また、並列回路724は、トランジスタ707とトランジスタ708とが、並列回路を構成している。
(6)次に、下部722の構成を説明する。
下部722は、トランジスタ710と、並列回路725とトランジスタ715との直列接続と、並列回路726とトランジスタ718との直列接続とが、並列に接続されている。そして、並列回路725は、並列回路723と同様に、トランジスタ711とトランジスタ712との直列接続と、トランジスタ713とトランジスタ714との直列接続とが、並列に接続されて、並列回路を構成している。並列回路726は、並列回路724と同様に、トランジスタ716とトランジスタ717とが、並列回路を構成している。
(7)次に、各トランジスタへの入力信号について説明する。入力信号x1は、トランジスタ703、トランジスタ707、トランジスタ711、トランジスタ716に入力する。また、入力信号x1の反転信号は、トランジスタ705、トランジスタ713に入力する。入力信号x2は、トランジスタ704、トランジスタ708、トランジスタ712、トランジスタ717に入力する。また、入力信号x2の反転信号は、トランジスタ706、トランジスタ714に入力する。入力信号rは、トランジスタ709、トランジスタ718に入力する。入力信号rの反転信号は、トランジスタ702、トランジスタ715に入力する。入力信号enの反転信号は、トランジスタ701、トランジスタ710に入力する。
z=((x1^r)&(x2^r)&(x3^r)^r)&en
となる。基本素子A100の場合と同様に、入力x1,x2,x3は、
x1=xi^r, x2=xj^r, x3=xk^r
である。よって、入出力に乱数が排他的論理和されている。及び制御信号enに基づく各トランジスタのスイッチングにより、一気にzが出力される。これにより、基本素子A100と同様、消費電力から秘密情報を特定する攻撃に対抗することができる。
上部819と下部820との間から出力信号zが出力される。
(2)印加部817には、論理「1」に相当する電圧が印加される。
(3)印加部817に論理「1」に相当する電圧が印加された場合、各トランジスタのスイッチングにより
「z=((x1^r)&(x2^r)&(x3^r)^r)&en」
が出力される。
(4)上部819は、トランジスタ801と、トランジスタ802とトランジスタ803とトランジスタ804とによる並列回路と、トランジスタ805とトランジスタ806とトランジスタ807との直列接続とトランジスタ808とによる並列回路との直列接続で構成される。
(5)下部820は、トランジスタ809と、トランジスタ810とトランジスタ811とトランジスタ812とによる直列接続と、トランジスタ813とトランジスタ814とトランジスタ815との並列回路とトランジスタ816とによる直列接続とが、並列に接続されて、並列回路を構成している。
(6)次に、各トランジスタへの入力信号について説明する。基本素子A800では、入力信号であるx1、x2、x3、r、enは、全て反転して、各トランジスタに入力する。入力信号x1の反転信号は、トランジスタ802、トランジスタ805、トランジスタ810、トランジスタ813に入力する。入力信号x2の反転信号は、トランジスタ803、トランジスタ806、トランジスタ811、トランジスタ814に入力する。入力信号x3の反転信号は、トランジスタ804、トランジスタ807、トランジスタ812、トランジスタ815に入力する。入力信号rの反転信号は、トランジスタ808、トランジスタ816に入力する。入力信号enの反転信号は、トランジスタ801、トランジスタ809に入力する。
Claims (13)
- n(n≧1)ビットのデータにnビットの第1乱数が排他的論理和されたデータを示すXORデータと、nビットの第1乱数と、1ビットの第2乱数とを入力信号として入力し、XORデータと第1乱数との排他的論理和によりnビットのデータを算出し、算出したnビットのデータのすべてのビットの所定の論理演算をとり所定の論理演算の結果と第2乱数との排他的論理和を出力信号として出力することを特徴とする電子素子。
- 前記第1乱数は、
前記1ビットの第2乱数のnビット連結を用いることを特徴とする請求項1記載の電子素子。 - 前記電子素子は、
入力信号の状態遷移が完了した場合に、処理を実行して出力信号を出力することを特徴とする請求項1記載の電子素子。 - 前記電子素子は、さらに、
出力信号の出力を指令する指令信号を入力するとともに、指令信号を入力した場合に、出力信号を出力することを特徴とする請求項1記載の電子素子。 - 前記所定の論理演算は、
論理積(AND)、否定論理積(NAND)、論理和(OR)、否定論理和(NOR)、排他的論理和(XOR)のうち、いずれかであることを特徴とする請求項1記載の電子素子。 - 複数のトランジスタから構成され、第1乱数と第2乱数とnビット(n≧1)のデータとを入力して所定の信号を出力信号として出力する電子素子において、
第1乱数と第2乱数とnビットのデータとを入力した場合に、
第1乱数とnビットのデータとの排他的論理和を実行し排他的論理和の実行結果を示す各ビットのすべてのビットの所定の論理演算をとり所定の論理演算の結果と第2乱数との排他的論理和を実行することにより得られる結果と等価な結果を示す出力信号を、複数のトランジスタを同時にスイッチングすることにより出力することを特徴とする電子素子。 - 前記第2乱数は1ビットであり、
前記第1乱数は、
前記1ビットの第2乱数のnビット連結を用いることを特徴とする請求項6記載の電子素子。 - 前記電子素子は、
出力信号の出力を指令する指令信号を入力するとともに、指令信号を入力した場合に、出力信号を出力することを特徴とする請求項6記載の電子素子。 - 第1乱数と第2乱数とnビット(n≧1)のデータとを入力して所定の信号を出力信号として出力する電子素子において、
第1乱数と第2乱数とnビットのデータとを入力する入力部と、
0と1とにより構成される論理データを格納する格納部と、
前記入力部が第1乱数と第2乱数とnビットのデータとを入力した場合に、第1乱数とnビットのデータとの排他的論理和を実行し排他的論理和の実行結果を示す各ビットのすべてのビットの所定の論理演算をとり所定の論理演算の結果と第2乱数との排他的論理和を実行することにより得られる結果と等価な結果を、スイッチングにより前記格納部が格納する論理データから取得し出力信号として出力する複数のトランジスタと
を備えたことを特徴とする電子素子。 - 前記第2乱数は1ビットであり、
前記第1乱数は、
前記1ビットの第2乱数のnビット連結を用いることを特徴とする請求項9記載の電子素子。 - 前記複数のトランジスタは、
スイッチングを同時に行うことを特徴とする請求項9記載の電子素子。 - 前記入力部は、さらに、
出力信号の出力を指令する指令信号を入力し、
前記電子素子は、
指令信号を入力した場合に、出力信号を出力することを特徴とする請求項9記載の電子素子。 - nビットのデータにnビットの第1乱数が排他的論理和されたデータを示すXORデータと、nビットの第1乱数と、1ビットの第2乱数とを入力信号として入力し、XORデータと第1乱数との排他的論理和によりnビットのデータを算出し、算出したnビットデータの各ビットのすべてのビットの所定の論理演算をとり所定の論理演算の結果と第2乱数との排他的論理和を出力信号として出力することを特徴とするデータ処理方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2004/009633 WO2006006199A1 (ja) | 2004-07-07 | 2004-07-07 | 電子素子及びデータ処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2006006199A1 JPWO2006006199A1 (ja) | 2008-04-24 |
JP4589327B2 true JP4589327B2 (ja) | 2010-12-01 |
Family
ID=35783565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006527641A Expired - Lifetime JP4589327B2 (ja) | 2004-07-07 | 2004-07-07 | 電子素子及びデータ処理方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8577942B2 (ja) |
EP (1) | EP1764762B1 (ja) |
JP (1) | JP4589327B2 (ja) |
CN (1) | CN1957384B (ja) |
TW (1) | TWI276337B (ja) |
WO (1) | WO2006006199A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108903876A (zh) * | 2011-05-20 | 2018-11-30 | 艺康美国股份有限公司 | 自动清洗方法和设备 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2954868A1 (fr) * | 2009-12-24 | 2011-07-01 | St Microelectronics Rousset | Procede et dispositif de contremesure pour proteger des donnees circulant dans un composant electronique |
JP5322977B2 (ja) * | 2010-03-04 | 2013-10-23 | 株式会社エヌ・ティ・ティ・データ | 消費電力錯乱型論理回路及び情報記憶媒体 |
JP5544611B2 (ja) | 2010-07-28 | 2014-07-09 | 学校法人立命館 | 耐タンパ性メモリ集積回路およびそれを利用した暗号回路 |
JP2012150661A (ja) * | 2011-01-19 | 2012-08-09 | Toshiba Corp | プロセッサ動作検査システム、及びその検査方法 |
CN104333362B (zh) * | 2014-09-16 | 2017-07-04 | 哈尔滨工业大学(威海) | 一种同或‑异或双轨预充电逻辑单元 |
CN108092760A (zh) * | 2016-11-22 | 2018-05-29 | 北京同方微电子有限公司 | 一种分组密码的协处理器装置和非线性变换方法 |
TWI631544B (zh) * | 2017-03-03 | 2018-08-01 | 友達光電股份有限公司 | 顯示面板及驅動方法 |
CN110414276B (zh) * | 2018-04-27 | 2021-05-18 | 联华电子股份有限公司 | 电子元件的加密方法 |
CN109359470B (zh) * | 2018-08-14 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000066585A (ja) * | 1998-08-20 | 2000-03-03 | Toshiba Corp | 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 |
JP2000305453A (ja) * | 1999-04-21 | 2000-11-02 | Nec Corp | 暗号化装置,復号装置,および暗号化・復号装置 |
JP2002539488A (ja) * | 1999-03-08 | 2002-11-19 | ジェムプリュス | 秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法 |
JP2002366029A (ja) * | 2001-06-13 | 2002-12-20 | Fujitsu Ltd | Dpaに対して安全な暗号化 |
JP2005236977A (ja) * | 2004-02-19 | 2005-09-02 | Samsung Electronics Co Ltd | 電力分析攻撃に安全な基本演算装置および方法 |
JP2005266810A (ja) * | 2004-03-16 | 2005-09-29 | Samsung Electronics Co Ltd | マスキング方法が適用されたデータ暗号処理装置、aes暗号システム及びaes暗号方法 |
JP2005318476A (ja) * | 2004-04-30 | 2005-11-10 | Toshiba Corp | マスク論理回路及び暗号装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5808486A (en) * | 1997-04-28 | 1998-09-15 | Ag Communication Systems Corporation | Glitch free clock enable circuit |
EP1088295B1 (en) | 1998-06-03 | 2007-08-15 | Cryptography Research Inc. | Balanced cryptographic computational method and apparatus for leak minimization in smartcards and other cryptosystems |
CA2333095C (en) | 1998-06-03 | 2005-05-10 | Cryptography Research, Inc. | Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems |
DE19850721A1 (de) | 1998-11-03 | 2000-05-18 | Koninkl Philips Electronics Nv | Datenträger mit Verschleierung des Stromverbrauchs |
FR2789776B1 (fr) | 1999-02-17 | 2001-04-06 | Gemplus Card Int | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete |
JP2001016196A (ja) * | 1999-04-28 | 2001-01-19 | Fuji Soft Abc Inc | 多重アファイン鍵を用いる暗号化・復号化方法、認証方法、及びこれを用いる各装置 |
JP3844116B2 (ja) | 2001-04-16 | 2006-11-08 | 株式会社ルネサステクノロジ | 暗号化・復号化装置とicカード |
KR100446317B1 (ko) * | 2001-12-24 | 2004-09-01 | 주식회사 하이닉스반도체 | 코드 롬의 테스트시 데이터를 보호하기 위한 장치 |
DE10201449C1 (de) * | 2002-01-16 | 2003-08-14 | Infineon Technologies Ag | Rechenwerk, Verfahren zum Ausführen einer Operation mit einem verschlüsselten Operanden, Carry-Select-Addierer und Kryptographieprozessor |
EP1351148A3 (en) | 2002-04-04 | 2008-05-07 | Texas Instruments Incorporated | Power profiling system and method for correlating runtime information |
US7403620B2 (en) | 2002-07-02 | 2008-07-22 | Stmicroelectronics S.A. | Cyphering/decyphering performed by an integrated circuit |
-
2004
- 2004-07-07 CN CN2004800431276A patent/CN1957384B/zh not_active Expired - Fee Related
- 2004-07-07 US US11/629,358 patent/US8577942B2/en not_active Expired - Fee Related
- 2004-07-07 EP EP04747102.4A patent/EP1764762B1/en not_active Expired - Lifetime
- 2004-07-07 WO PCT/JP2004/009633 patent/WO2006006199A1/ja not_active Application Discontinuation
- 2004-07-07 JP JP2006527641A patent/JP4589327B2/ja not_active Expired - Lifetime
- 2004-08-04 TW TW093123315A patent/TWI276337B/zh not_active IP Right Cessation
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000066585A (ja) * | 1998-08-20 | 2000-03-03 | Toshiba Corp | 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 |
JP2002539488A (ja) * | 1999-03-08 | 2002-11-19 | ジェムプリュス | 秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法 |
JP2000305453A (ja) * | 1999-04-21 | 2000-11-02 | Nec Corp | 暗号化装置,復号装置,および暗号化・復号装置 |
JP2002366029A (ja) * | 2001-06-13 | 2002-12-20 | Fujitsu Ltd | Dpaに対して安全な暗号化 |
JP2005236977A (ja) * | 2004-02-19 | 2005-09-02 | Samsung Electronics Co Ltd | 電力分析攻撃に安全な基本演算装置および方法 |
JP2005266810A (ja) * | 2004-03-16 | 2005-09-29 | Samsung Electronics Co Ltd | マスキング方法が適用されたデータ暗号処理装置、aes暗号システム及びaes暗号方法 |
JP2005318476A (ja) * | 2004-04-30 | 2005-11-10 | Toshiba Corp | マスク論理回路及び暗号装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108903876A (zh) * | 2011-05-20 | 2018-11-30 | 艺康美国股份有限公司 | 自动清洗方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN1957384B (zh) | 2011-04-06 |
EP1764762A1 (en) | 2007-03-21 |
US8577942B2 (en) | 2013-11-05 |
US20080021940A1 (en) | 2008-01-24 |
CN1957384A (zh) | 2007-05-02 |
TWI276337B (en) | 2007-03-11 |
EP1764762A4 (en) | 2009-11-18 |
EP1764762B1 (en) | 2019-05-15 |
JPWO2006006199A1 (ja) | 2008-04-24 |
WO2006006199A1 (ja) | 2006-01-19 |
TW200603591A (en) | 2006-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4687775B2 (ja) | 暗号処理装置 | |
Shahbazi et al. | Area-efficient nano-AES implementation for Internet-of-Things devices | |
CN1331013C (zh) | 计算单元及以加密操作数执行算术运算之方法 | |
JP4453697B2 (ja) | 演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム | |
US9325494B2 (en) | Method for generating a bit vector | |
KR20120098679A (ko) | 다양한 회로 토폴러지를 가지는 고활용도 범용 로직 배열 및 상수 전력 서명을 가지는 다양한 로직 게이트를 실현하기 위한 물류 지도 회로 | |
Mane et al. | High speed area efficient FPGA implementation of AES algorithm | |
JP5863994B2 (ja) | 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法 | |
US20120093308A1 (en) | Apparatus and method for generating random data | |
JP4589327B2 (ja) | 電子素子及びデータ処理方法 | |
US9166795B2 (en) | Device and method for forming a signature | |
CN101547002A (zh) | 一种基于可逆逻辑门的des加密系统的密钥单元设计方法 | |
CN108521327B (zh) | 一种断电存储型simon加密电路 | |
KR100861841B1 (ko) | 전자 소자 및 데이터 처리 방법 | |
KR20040048471A (ko) | 직렬 유한체 승산기 | |
Rashidi | Efficient full data-path width and serialized hardware structures of SPONGENT lightweight hash function | |
Masoumi et al. | Design and evaluation of basic standard encryption algorithm modules using nanosizedcomplementary metal–oxide–semiconductor–molecular circuits | |
Nadjia et al. | Efficient implementation of AES S-box in LUT-6 FPGAs | |
Harshitha et al. | High performance advanced encryption standard system using secure double rate registers | |
US7464130B2 (en) | Logic circuit and method for performing AES MixColumn transform | |
Bryk et al. | Encryption using reconfigurable reversible logic gate and its simulation in FPGAs | |
KR20060049298A (ko) | 일련 번호 생성 장치, 그 방법 및 컴퓨터 판독가능 저장매체 | |
JP4849140B2 (ja) | データ変換装置、演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム | |
Sandyarani et al. | Vlsi architecture for nano wire based Advanced Encryption Standard (AES) with the efficient multiplicative inverse unit | |
Nandan et al. | Design of Improved Advance Encryption Standard Algorithm with Affine Transformation in S-Box for Performance Improvement in Field-Programmable Gate Arrays |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100706 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100805 |
|
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: 20100907 |
|
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: 20100909 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4589327 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130917 Year of fee payment: 3 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |