WO2006006199A1 - 電子素子及びデータ処理方法 - Google Patents

電子素子及びデータ処理方法 Download PDF

Info

Publication number
WO2006006199A1
WO2006006199A1 PCT/JP2004/009633 JP2004009633W WO2006006199A1 WO 2006006199 A1 WO2006006199 A1 WO 2006006199A1 JP 2004009633 W JP2004009633 W JP 2004009633W WO 2006006199 A1 WO2006006199 A1 WO 2006006199A1
Authority
WO
WIPO (PCT)
Prior art keywords
random number
input
bit
output
signal
Prior art date
Application number
PCT/JP2004/009633
Other languages
English (en)
French (fr)
Inventor
Daisuke Suzuki
Minoru Saeki
Original Assignee
Mitsubishi Denki Kabushiki Kaisha
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 Mitsubishi Denki Kabushiki Kaisha filed Critical Mitsubishi Denki Kabushiki Kaisha
Priority to CN2004800431276A priority Critical patent/CN1957384B/zh
Priority to JP2006527641A priority patent/JP4589327B2/ja
Priority to EP04747102.4A priority patent/EP1764762B1/en
Priority to US11/629,358 priority patent/US8577942B2/en
Priority to PCT/JP2004/009633 priority patent/WO2006006199A1/ja
Priority to TW093123315A priority patent/TWI276337B/zh
Publication of WO2006006199A1 publication Critical patent/WO2006006199A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization 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)

Abstract

 消費電力の偏りを打ち消す相補的な動作を行う回路を設けることなく、消費電力から秘密情報を特定しようとする攻撃に対抗する電子素子を提供する。基本素子A100は、複数のトランジスタ101~トランジスタ112で構成されている。基本素子A100は、入力信号としてx1、x2、乱数r、制御信号enを入力し、zを出力する。出力zは、(x1^r)&(x2^r)に、乱数rが排他的論理和されて出力される。また、x1、x2、乱数rの各入力信号の状態遷移が確定後、制御信号enにより、zを出力する。このため出力zの信号遷移率は均等となり、消費電力から秘密情報を特定しようとする攻撃に対抗できる。

Description

明 細 書
電子素子及びデータ処理方法
技術分野
[0001] 本発明は、暗号アルゴリズムを実現する半導体デバイスを構成する電子素子に関 する。例えば、デバイス内で処理される秘密情報をデバイスの消費電力から特定する 攻撃に対して対抗する電子素子、データ処理方法に関する。
背景技術
[0002] 従来の半導体デバイスに関する秘密情報保護のための対抗措置は、 CPU (Centr al Processing Unit)に代表される、ある特定の半導体デバイスを利用したソフトゥ エアによる対抗措置と、半導体デバイスそのものへのハードウェアによる対抗措置の 2 つに大別される。
[0003] 前者のソフトウェアによる対抗措置は、 ICカードに代表される CPUとメモリとを併せ 持つデバイス構成で実現される。例えば、特開 2000-066585号公報では、広範に 用いられている共通鍵ブロック暗号 DES (Data Encryption Standard)に対して 、そのアルゴリズムで使用される S_boxと呼ばれる置換テーブルを、あらかじめ決め られた規貝 IJXに従って乱数パラメータ Rを用いて、アルゴリズムで規定されてレ、る S— b oxと異なる置換テーブルの複数個分を事前に計算し、メモリ上にその結果を格納す る。アルゴリズムの処理の際は、平文データ M (もしくは暗号文データ C)と鍵データ K に加えて乱数パラメータ Rを用いて暗号文データ C (平文データ M)を処理する。これ により、通常の M (C)と Kのみによる処理と比較して、 Rのとりうる場合の数の分だけ 処理フローが変化するため、それに伴う消費電力も多様化する。また、乱数パラメ一 タ Rを用いることで、処理の中間値は予測不能となるため、消費電力から秘密情報を 解読することは不可能であると説明されている。この他に、特表 2002— 540654号公 報も類似の対抗措置であるが、前記の規則 X及び乱数パラメータ Rのとり方が異なる だけで、本質的には同等の対抗措置である。
[0004] 後者のハードウェアによる対抗措置は、アルゴリズムを半導体デバイスで実装する 際の、その設計手法により実現される。例えば、特表 2003-526134号公報では、 デジタル回路の基本素子である ANDゲートに対して、そのスイッチング特性が相補 的な(打ち消しあうような) INV— ANDゲートを対に実装することを対抗措置としてレ、 る(以下これをゲートペアと略記する)。これによりアルゴリズムの中間値にデバイスの 消費電力が依存しないため、消費電力力 秘密情報を解読することは不可能である と説明されている。また、類似の対抗措置として、特開 2002-311826号公報がある 。これはゲート単位でペアを構成せずにある回路単位(この例の場合 S— boxを実現 する回路)でペアを構成している。しかし、これは、見かけ上の違いだけで、本質的に は特表 2003—526134号公報と全く同じ対抗措置である。
[0005] 上記従来のゲートペアによる対抗措置は、原理的に消費電力から秘密情報を解読 される可能性がある。以下にその理由を説明する。
[0006] ゲートペアの安全性の根拠は ANDゲートと INV— ANDゲートが完全に相補的な 動作を行うことに基づいている。この条件を満たすためには、対となる ANDゲートと I NV— ANDゲートが同じタイミングで動作し、かつそのゲートの先に接続される負荷 が等しくなければならなレ、。何故ならば、動作するタイミングが微小でもずれた場合、 観測される消費電力にも時間差が発生し、それぞれのゲートに起因する電力は位相 がずれて観測されるからである。また、あるゲートペアにおける ANDゲートと INV— A NDゲートの負荷が異なる場合は、その 2つゲートが動作した直後の消費電力が異な る。このため、どちらのゲートが動作したかが容易に判別可能となり、相補的な動作と はならない。相補的な動作を行うために追加したゲート(以下これをダミーゲートという )は、論理実現のためには不必要なゲートであり、そのゲートの出力は使用されない 。よって、必要なゲートと比較して、ダミーゲートは、その先の負荷が小さくなる傾向に ある。同一の負荷を実現するために、ゲートのペアではなぐ回路全体に対してペア を形成した場合、例として特開 2002-311826号公報のような対抗措置の場合、対 応するゲートペアが同じタイミングで動作することを保証するのは、非常に困難である 。これらの問題は、ゲートペアまたは回路ペアが相補的な動作を実現するために、そ の出力ノードが 2つ存在することに起因する。
特許文献 1:特開 2000-066585号公報
特許文献 2:特表 2002 - 540654号公報 特許文献 3 :特表 2003 - 526134号公報
特許文献 4 :特開 2002— 311826号公報
発明の開示
発明が解決しょうとする課題
[0007] 本発明は、 1つの出力ノードで原理的に相補的な動作を行う半導体素子を構成す ることで、前記の時間差の問題及び負荷の問題を解決することを目的とする。
課題を解決するための手段
[0008] この発明の電子素子は、
所定のデータと第 1乱数との排他的論理和の結果を入力信号として入力し、入力し た入力信号に基いて所定の論理演算を実行し、実行した論理演算の結果と第 2乱数 との排他的論理和を出力信号として出力することを特徴とする。
[0009] この発明の電子素子は、
n (n≥l )ビットのデータに nビットの第 1乱数が排他的論理和されたデータを示す X ORデータと、 nビットの第 1乱数と、 1ビットの第 2乱数とを入力信号として入力し、 XO Rデータと第 1乱数との排他的論理和により nビットのデータを算出し、算出した nビッ トのデータの各ビットを用いて所定の論理演算を実行し、実行した論理演算の結果と 第 2乱数との排他的論理和を出力信号として出力することを特徴とする。
[0010] 前記第 1乱数は、
nビットの各ビットが同一の値であり、
前記第 2乱数は、
前記第 1乱数の各ビットの値と等しい値であることを特徴とする。
[0011] 前記電子素子は、
入力信号の状態変化に依存せず、過渡的な処理を行わずに出力信号を出力する ことを特徴とする。
[0012] 前記電子素子は、さらに、
出力信号の出力を指令する指令信号を入力するとともに、指令信号を入力した場 合に、出力信号を出力することを特徴とする。
[0013] 前記所定の論理演算は、 論理積 (AND)、否定論理積 (NAND)、論理和(OR)、否定論理和(NOR)、排 他的論理和(XOR)のうち、いずれかであることを特徴とする。
[0014] この発明の電子素子は、
複数のトランジスタから構成され、第 1乱数と第 2乱数と nビット (n≥ 1)のデータとを 入力して所定の信号を出力信号として出力する電子素子において、
第 1乱数と第 2乱数と nビットのデータとを入力した場合に、
第 1乱数と nビットのデータとの排他的論理和を実行し排他的論理和の実行結果を 示す各ビットを用いて所定の論理演算を行い所定の論理演算の結果と第 2乱数との 排他的論理和を実行することにより得られる結果と等価な結果を示す出力信号を、 複数のトランジスタのスイッチングにより出力することを特徴とする。
[0015] 前記第 1乱数は、
各ビットが同一の値である nビットの乱数であり、
前記第 2乱数は、
前記第 1乱数の各ビットの値と等しい値である 1ビットの乱数であることを特徴とする
[0016] 前記電子素子は、
前記複数のトランジスタのスイッチングを同時に行うことを特徴とする。
[0017] 前記電子素子は、
出力信号の出力を指令する指令信号を入力するとともに、指令信号を入力した場 合に、出力信号を出力することを特徴とする。
[0018] この発明の電子素子は、
第 1乱数と第 2乱数と nビット (n≥ 1)のデータとを入力して所定の信号を出力信号と して出力する電子素子において、
第 1乱数と第 2乱数と nビットのデータとを入力する入力部と、
0と 1とにより構成される論理データを格納する格納部と、
前記入力部が第 1乱数と第 2乱数と nビットのデータとを入力した場合に、第 1乱数と nビットのデータとの排他的論理和を実行し排他的論理和の実行結果を示す各ビット を用いて所定の論理演算を行い所定の論理演算の結果と第 2乱数との排他的論理 和を実行することにより得られる結果と等価な結果を、スイッチングにより前記格納部 が格納する論理データから取得し出力信号として出力する複数のトランジスタと を備えたことを特徴とする。
[0019] 前記第 1乱数は、
各ビットが同一の値である nビットの乱数であり、
前記第 2乱数は、
前記第 1乱数の各ビットの値と等しい値である 1ビットの乱数であることを特徴とする
[0020] 前記複数のトランジスタは、
スイッチングを同時に行うことを特徴とする。
[0021] 前記入力部は、さらに、
出力信号の出力を指令する指令信号を入力し、
前記電子素子は、
指令信号を入力した場合に、出力信号を出力することを特徴とする。
[0022] この発明のデータ処理方法は、
所定のデータと第 1乱数との排他的論理和の結果を入力信号として入力し、入力し た入力信号に基づき所定の論理演算を実行し、実行した論理演算の結果と第 2乱数 との排他的論理和を出力信号として出力することを特徴とする。
[0023] この発明のデータ処理方法は、
nビットのデータに nビットの第 1乱数が排他的論理和されたデータを示す XORデ ータと、 nビットの第 1乱数と、 1ビットの第 2乱数とを入力信号として入力し、 XORデー タと第 1乱数との排他的論理和により nビットのデータを算出し、算出した nビットデー タの各ビットを用いて所定の論理演算を実行し、実行した論理演算の結果と第 2乱数 との排他的論理和を出力信号として出力することを特徴とする。
発明の効果
[0024] この発明により、相補的な動作を行う回路を設けることなぐ消費電力から秘密情報 を特定しょうとする攻撃に対抗することができる。
発明を実施するための最良の形態 [0025] 実施の形態 1.
図 1一図 11を用いて、実施の形態 1を説明する。実施の形態 1は、非線形変換の処 理を行う基本素子 A、線形変換の処理を行う基本素子 B、及び基本素子 A、基本素 子 Bを用いて喑号アルゴリズムを処理する回路に関する。なお、以下において、 nビッ トのデータ Aと、 nビットのデータ Bとのビットどうしの排他的論理和を、 Aく X〇R>Bと も表記する。
[0026] 任意の喑号アルゴリズム Fは、その安全性を堅持するために、必ず、非線形変換 S i
(0≤i≤p)と、線形変換 L (0≤j≤q)との組み合わせからなる。これは、デジタル回路
J
で実装した場合に、 AND (論理積)ゲートと XOR (排他的論理和)ゲートの組み合わ せに等価変換できることを意味する。当然、 OR (論理和)、 NOR (否定論理和)、 NA ND (否定論理積)等の基本ゲートを組み合わせても実装できる。しかし、それらの処 理も、全て ANDゲートと X〇Rゲートとの組み合わせに等価変換できる。このため、 A NDと XORを中心に説明する。請求の範囲は、 AND, XOR、 OR、 NOR, NAND 等の全ての基本ゲートに対するものである。
[0027] まず、非線形変換 Siを構成する基本素子 Aについて説明する。以下、非線形変換 を構成する素子を基本素子 Aと呼ぶものとする。また、非線形変換 Sは、基本素子 A により構成されているとする。
[0028] 図 1は、基本素子 Aが 2bitの入力データ(X , y )を入力する場合を想定し、基本素
1 2
子 Aの処理を説明するための便宜的な素子 20を示す図である。図 1の素子 20は、基 本素子 Aの処理を説明するための便宜的な構成であり、基本素子 Aの実施例を示す ものではない。基本素子 Aの具体的な実施例は、図 6の基本素子 A100として後述 する。
[0029] 素子 20は、 X〇R22、 ANDゲート 23、 XOR27、 ANDゲート 24を備える。素子 20 は、 (x , y )に乱数 rが排他的論理和された X (X = x 'r)、 X (x = x )を入力する。
i i 1 1 i 2 2 j また、乱数 r及び制御信号 en26を入力する。
[0030] 素子 20の動作を説明する。
(1)素子 20は、データ (x, y ) (所定のデータの一例)と乱数 r (第 1乱数の一例)との i
排他的論理和である、 X (X =x r)、 X (χ = χ )を入力する。
1 1 i 2 2 j (2) X〇R22は、(x、 x ) (XORデータの一例)及び乱数 rを入力し、排他的論理和を
1 2
実行する。すなわち、「x r"r」、及び「x "r 」を実行する。 XOR22の出力は、 xと xと なる。
(3) ANDゲート 23は、 X、 Xを入力し、「x & x」を出力する(出力点 25)。
(4) X〇R27は、乱数 r (第 2乱数の一例)と「x & x」を入力し、「x &x 'r」を出力する。
(5) ANDゲート 24は、「x &x 'r」と制御信号 en26とを入力し、制御信号 en26力 「1」
i j
のとき、「z = x &x 」を出力する。ただし、これは一例であり、基本素子 Aの動作は、
1 J
制御信号 enの有意を「0」とすれば、 ANDゲート 24を ORゲートで置き換えた動作で 実現してもよい。
また、制御信号 enが「立ち上がり」もしくは「立ち下がり」で有意を決定する信号であ るとするならば、基本素子 Aの動作は、 ANDゲート 24をフリップフロップで置き換え、 制御信号 enが「立ち上がり」もしくは「立ち下がり」で XOR27の出力を取り込む方式 の動作で実現してもよい。以下、基本素子 Aの動作は、説明の理解を簡単にするた めに制御信号 enの有意を「1」とし、前述の ANDゲート 24による動作で説明する。請 求の範囲は、信号の有意が「0」、「1」、「立ち上がり」、「立ち下がり」の全ての方式に 対するものである。また、これは基本素子 Bについても同様である。
次に、 n— bit入力の場合を、図 1に示した 2bit入力の素子 20と対比させて説明する 。非線形変換 Sの各非線形処理において、例えば、 n入力 ANDを下記のような(l a) から(4a)の処理を行う基本素子 Aで実現する。基本素子 Aは、入力として、 n— bitの データである Χ (χ , X , · · · , X )と、 n— bitの乱数である R (r , r , · · · , r ) (第 1乱数
1 2 n a 1 2 n
の一例)と、 lbitの乱数である r (第 2乱数の一例)と制御信号 en (指令信号の一例)
b
を入力する。そして、出力として、
z = ( (X r ) & (X 'r ) &…(X 'r ) 'r ) &en
1 1 2 2 n n b
を出力する。
( 1 &;^_1) の入カ , x, · · · , χ ) (X〇Rデータの一例)を、 nビットの乱数 R (r ,
1 2 n a 1 r , …, r )と排他的論理和する (なお、x , x等は、入力前に乱数 Rと排他的論理
2 n 1 2 a
和されているものとする)。これを X'とする。素子 20の場合では、 X = x r、x = x
1 i 2 j である。また、乱数 R = (r , r ) = (r, r)である。よって、 X, = (x , x )である。
a 1 2 i j (2a) X'の全てのビットについて論理積 (AND)をとる。これを χ' 'とする。素子 20の 場合は、 χ' ' =χ &χとなる。
(3a) X "と、 lbitの乱数である rとを排他的論理和する。これを yとする。素子 20の場 合は、 r =rであり、 y=x &x 'rとなる。
i j
(4a) yと制御用信号 enの ANDをとり出力する。これを zとする。素子 20の場合は、上 述のように、 z = x &x、となる。なお、 zを出力する場合は、すべての入力信号が確 定後、制御信号 enを「1」にすることにより、一気に出力する。
[0032] 上記の(la)から(4a)の処理を、全て単一の演算素子で実行し、これを基本素子 A として非線形変換 Sを構成する。 zを出力する場合は、前述のように、すべての入力
I
信号が確定後、制御信号 enにより出力 zを一気に出力する。
[0033] 基本素子 Aの特徴は、以下の点にある。すなわち、従来の喑号処理アルゴリズムの 処理の対象と成るデータ (x、x等)と乱数とを排他的論理和したデータを入力する。
1
そして、従来の処理の対象となるデータに対する所定の論理演算の結果に乱数を排 他的論理和した状態で出力する。さらに、出力の時には、すべて入力信号が確定し た後に出力する。この特徴により、デバイス内で処理される秘密情報をデバイスの消 費電力力 特定しょうとする攻撃に対して、対抗することができる。対抗できるのは次 の理由による。出力 zには乱数 rが排他的論理和されて出力される。この乱数 rは「0」 と「1」が 1/2の確率で出現するため、出力 zの信号遷移率 αは、 1/2になる。また、 ζを出力する場合は、すべて入力信号の状態遷移が完了した場合に、処理を実行し 出力信号 ζを出力する。ここで「処理」とは、 n-bitのデータである X (X〇Rデータ)と 乱数 R (第 1乱数)との排他的論理和により nビットのデータを算出し、算出した nビット データの各ビットを用いて AND演算(所定の論理演算の一例)を実行し、実行した A ND演算 (論理演算)の結果と乱数 r (第 2乱数)との排他的論理和を実行する一連の 過程をいう。このため、攻撃者からは、出力 Zの電力の変動を検出することができない 力 である。後述の基本素子 Bについても同様である。この特徴点については、さら に、図 8 図 11の説明で述べる。
[0034] 基本素子 Aの構成をより簡単にするために、乱数を lbitのみ用いることも可能であ る。すなわち (lb)n— bitの入力 X(x , x , ···, χ )を、 lbitの乱数 rによる η— bit連結と排他的論
1 2 n
理和する。これを X'とする。すなわち、
X = (X r, X r,…, X rj
1 2 n
(2b)X,の全ての bitについて ANDをとる。これを x,,とする。すなわち、
x,, = (X r) & (X r) & · · · & (X "r)
1 2 n
(3b) χ' 'と rを排他的論理和する。これを yとする。すなわち、
y= (X "r) & (x r) & · · · & (x r) "r
1 2 n
(4b) yと制御用信号 enの ANDをとり出力とする。これを zとする。
(lb)から(4b)の処理を全て単一の演算素子で実行し、これを基本素子 Aとして Sを 構成する。すなわち
基本素子 A (X) :
z= ( (X r) & (X r) & · · . (x r) "r) &en
1 2 n
となる。
次に、線形変換 Lを構成する基本素子 Bの概略を説明する。
J
以下、線形変換を構成する素子を基本素子 Bと呼ぶ。線形変換 Lは、基本素子 Bに より構成されているとする。線形変換 Lの各線形処理において、例えば、 n入力 XOR を下記のような処理を行う素子で実現する。
(lc)n— bitの入力 Χ(χ , x , ···, x )の全てのビットについて XORをとる。これを x'と
1 2 n
する。すなわち、
X =X X · · · X
1 2 n
(2c)x'と lbitの乱数 rを排他的論理和する。これを yとする。すなわち、
y= (x x · · · xノ r
1 2 n
(3c) yと制御用信号 enの ANDをとり出力とする。これを zとする。
(lc)から(3c)の処理を全て単一の演算素子で実行し、これを基本素子 Bとして Lを
j 構成する。すなわち
基本素子 B(X) :
z= (x x · · · x r) &en
1 2 n
となる。ここで、入力 Xが既に乱数成分を排他的論理和されている場合、例えば、 A( X)の出力である場合、 Xが奇数ビット列であれば(2c)の処理は行わない。
[0036] 基本素子 A、基本素子 Bの入力として用いる制御用信号 enは、各基本素子のその 他の入力信号より十分遅れて変化させる。すなわち、前記の基本素子 A、基本素子 Bの場合、制御用信号 enが論理「1」のときのみ、
「(暗号アルゴリズムの中間値もしくは処理結果) 乱数値」
の形で各基本素子は結果を出力し、それ以外の場合は常に 0を出力する。これら基 本素子 A、基本素子 Bを用いて、暗号アルゴリズム Fを構成する。後述する図 2の「最 後の変換層」の場合のように、基本素子 Aもしくは基本素子 Bの処理結果に対して、 直前の処理で使用した乱数を排他的論理和することで暗号文または、平文を得るこ とができる。
[0037] 次に、図 2により、基本素子 A、基本素子 Bを用いて喑号アルゴリズムを処理する回 路について説明する。図 2は、基本素子 A、基本素子 Bを用いて暗号アルゴリズム F の処理を行う回路 30の構成の概略を示すブロック図である。基本素子 A、基本素子 Bは、暗号アルゴリズムの最小単位の基本演算に対する対抗措置であるため、適用 アルゴリズムは限定されなレ、。
[0038] 回路 30は、セレクタ 2、乱数発生器 3、排他的論理和 4、排他的論理和 5、非線形 変換 S 6等、線形変換 L 7等、制御回路 8、タイミング生成回路 TG9、タイミング制御
1 2
回路 TC10、 ANDゲート 11、排他的論理和 12、レジスタ 13、レジスタ 14を備える。 非線形変換 S 6、線形変換 L 7等は、層を形成している。非線形変換 Sは、基本素子
1 2 i
Aで構成される。また、線形変換 Lは基本素子 Bで構成される。
[0039] 図 3は、図 2に示す回路 30の動作を示すフローチャートである。図 3を参照して、回 路 30の動作を説明する。
[0040] 入力データ XI (平文、暗号文、鍵等)は、排他的論理和 4で乱数 Rと処理され、 X
1
<XOR>Rとなり、非線形変換 S 6へ入力される(S101)。なお、図 2では、非線形
1 1
変換 S 6、線形変換 L等の順に層を形成している。これは一例である。非線形変換
1 2
層、線形変換層の順序、及び層数はアルゴリズム Fと実装方法に依存する。排他的 論理和 5の上からの入力は 0とし、乱数発生器 3の一番上の出力は乱数 Rである。ま
1
た、非線形変換 S 6への右からの入力は乱数 R及び乱数 Rである。非線形変換 S 6 への左からは、前記の制御用信号 enを入力する(S102)。制御用信号 enは、入力
1 1 信号である X<X〇R>R、 R、及び Rの信号変化より遅れて" 1 "に変化する。この
1 1 2
制御は、制御回路 8、タイミング生成回路 TG9、タイミング制御回路 TC10で行う。非 線形変換 S 6は、 X <XOR>Rを出力する(S103)。同様に、線形変換 L 7は、入
1 1 2 2 力として X <XOR>R、 R及びこれらの信号変化より遅れた制御用信号 enを入力
1 2 2 2 する。これにより、線形変換 L 7は、 X <XOR>Rを出力する。これ以降、同様に、
2 2 2
非線形変換、線形変換の処理を繰り返し行う(S104)。
[0041] なお、非線形変換、線形変換の回路を同一の回路で処理する場合は、最後の変 換層 S (あるいは L )で出力した結果 Xく XOR>Rをセレクタ 2で選択し、再び排他 n n i j
的論理和 4の入力とする。このとき、排他的論理和 5の上からの入力は Rであり、乱数
J
発生器 3の一番上の出力は R である。これより、排他的論理和 4の右からの入力は
i+i
R <XOR>R となり、排他的論理和 4の出力は、 Xく X〇R>R となる(S105)。
J j'+l i j'+l
[0042] 暗号アルゴリズム Fの処理に必要な非線形変換、線形変換の処理が終了した段階 で、制御回路 8は、 ANDゲート 11に対して "1 "を入力する。これにより、最後の変換 層 S (あるいは L )で出力した結果 X <XOR>Rは、 Rと排他的論理和 12で処理 n n n m m
され、データ Xが出力される(S106)。
n
[0043] 図 4は、図 2に示した回路 30に対して、乱数を lbitに簡略化した回路 31の構成を 示す図である。例えば、回路 31の非線形変換 Sは、前述した、乱数を lbitのみ用い
1
る基本素子 Aにより構成されている。回路 31は、回路 30と比較して、回路上で用いる 乱数の数を削減しているため、回路 30よりも少ない回路面積で実装できる。
[0044] 図 5は、図 2の回路 30、図 4の回路 31における各層で用いる制御信号のタイミング を示した図である。喑号アルゴリズムの処理を開始する start信号が有効になってか ら、入力データ XIに対して、セレクタ 2、排他的論理和 4の処理が終了し、かつ非線 形変換 Sを構成する基本素子 Aにその処理結果が十分伝播してから、最初の層 S
1 1 の制御信号 en (S )が論理 1に変化する。その後 Sは演算結果を出力し、 Lを構成
1 1 2 する基本素子 Bにデータが伝播する。全てのデータが伝播した段階で、 Lの制御信
2
号 (L )が論理 1に変化する。同様の動作をその後の層に対して行い、最終的に最後
2
の層である S の制御信号 en (S )が論理 1に変化する。 [0045] 上記の制御信号については、次の演算を行うために、各制御信号を論理 0にする 初期化処理が必要となる。初期化の方式は、全ての演算が終了した段階で行う方法 力 Sある。また、別の方法として、図 5のように、上位層力 順次初期化する方法もある。 上位層から順次初期化する方法は、次の演算開始までの待ち時間を短縮できるため 、高速処理を実現できる。しかし、初期化の対象となる層と次の層との層間に、初期 化の対象となる層の出力を格納するレジスタが必要となる。このため、回路コストは増 加する。
[0046] 図 6は、前述の基本素子 Aの実施例として、トランジスタで具体的に構成した基本 素子 A100を示す図である。図 6の基本素子 A100は、 X (X = x 'r)、x (x = x )、
1 1 i 2 2 j 及び乱数 r、制御信号 en (指令信号の一例)を入力する。そして、
z= ( (x r) & (X r) r) &en
1 2
を出力する。 Zの式において X、及び Xと排他的論理和的論理和されている乱数では
1 2
第 1乱数である。 3つ目の乱数 rは、第 2乱数である。
[0047] 図 6を用いて、基本素子 A100の構成を説明する。
(1)基本素子 A100は、上部 115と下部 116との直列接続により構成される。上部 11 5と下部 116との間から出力信号 zが出力される。
(2)図 6において、記号「!」は、信号信号の反転を意味する。また、上部 115を構成 する各トランジスタに付されている右向き矢印「→」は、信号が「0」のときにトランジスタ が導通することを示す。また、下部 116を構成する各トランジスタに付されている左向 き矢印「 」は、信号が「1」のときにトランジスタが導通することを示す。したがって、上 部 115は、信号が「0」のとき導通するトランジスタの集合である。また、下部 116は、 信号が「1」のとき導通するトランジスタの集合である。印加部 113には、論理「1」に相 当する電圧が印加される。
(3)印加部 113に論理「1」に相当する電圧が印加された場合、各トランジスタのスィ ツチングにより
z= ( (x r) & (X r) r) &en
1 2
が出力される。
(4)基本素子 A100のトランジスタの構成を説明する。上部 115は、トランジスタ 101 と、トランジスタ 102とトランジスタ 103との並列回路と、トランジスタ 104とトランジスタ 1 05との直列接続とトランジスタ 106とが並列接続された並列回路とが、直列接続され て構成される。
(5)下部 116は、トランジスタ 107と、トランジスタ 108とトランジスタ 109との直列接続 と、トランジスタ 110とトランジスタ 111との並列回路とトランジスタ 112との直列接続と 力 並列接続されて構成される。そして、トランジスタ 107、トランジスタ 109、及びトラ ンジスタ 112の一端は、アース 114に接続されてレ、る。
(6)次に入力信号について説明する。入力信号は全て反転してトランジスタに入力 する。
入力信号 Xは、反転して、トランジスタ 102、トランジスタ 104、トランジスタ 108、及び
1
トランジスタ 110に入力する。
(7)入力信号 Xは、反転して、トランジスタ 103、トランジスタ 105、トランジスタ 109、
2
及びトランジスタ 111に入力する。
(8)入力信号 rは、反転して、トランジスタ 106及びトランジスタ 112に入力する。
(9)入力信号 enは、反転して、トランジスタ 101及びトランジスタ 107に入力する。
[0048] 前述のように、基本素子 A100は、 X、 Xのそれぞれに乱数 rを排他的論理和したデ ータである X、 Xを入力し、 x、 Xに対する所定の論理演算の結果に乱数 rを排他的
1 2 i j
論理和した状態で出力する。そして、出力する場合は、すべての入力信号が確定後 に一気に出力する。すなわち、出力信号は、入力信号の過渡遷移の影響を受けない 。また、入力から出力に至る途中のデータを生成することなく一気に出力する。これ により、消費電力から秘密情報を特定しょうとする攻撃に対抗することができる。
[0049] 図 6の基本素子 A100は、 2入力 AND型であり、前述のように、次の zを出力する。
A (x、 X ): z= ( (X r) & (X r) 'Γ) &en
1 2 1 2
ここで、 x =x r、 x =x r
1 ] 2 j
である。
図 4の非線形変換 Sを基本素子 A100で構成した場合は、次のようになる。非線形
1
変換 Sの入力である、 Xく X〇R> {r, r, r, · · ·, r}、 r、及び制御信号 enについて、
1
基本素子 A100は、任意の 2bitに対して A (x "r, x )の処理を行い、 zを出力する。
1 j すなわち、
z= ( ( (Χ「ι·Γι·) & ( (χ「ι:Γι·) ) &en
となる。そして、 en=lの場合、
z = x &x r
を出力する。
図 7は、基本素子 A100の真理値表を示している。
X =0の場合において、出力 zの信号が「0から 1」あるいは「1から 0」に遷移する信号
1
遷移率 α (χ =0)は、
1
(x =0)=Ρ0ΧΡ1(χ =0) + Ρ1ΧΡ0(χ =0)=l/2
1 1 1
となる。
ここで、 POは、 zが「0」になる確率である。 P1は zが「1」になる確率である。真理値表 から、
P0 = 4/8、
Pl=4/8
である。
また、 Pl(x =0)は、 X =0の条件下において、 zが「1」になる確率である。 P0(x
1 1 1
=0)は、 X =0の条件下において、 zが「0」になる確率である。真理値表から、
1
P0(x =0)=3/4、
1
Pl(x =0)=1/4
1
でめる。よって、
a (X =0)=Ρ0ΧΡ1(χ =0) +Ρ1ΧΡ0(χ =0)
1 1 1
= 4/8 X 1/4 + 4/8 X 3/4 = 1/2
となる。
x =1の場合も同様に計算すると、真理値表から、
1
P0(x =1)=1/4、
1
Pl(x =1)=3/4
1
である。よって、
a (X =1)=Ρ0ΧΡ1(χ =1) +Ρ1ΧΡ0(χ =1) =4/8 X 3/4 + 4/8 X 1/4 = 1/2
となる。したがって、信信号遷移率 αは、入力 X (あるいは X )が 0と 1の場合で同じと
1 2
なる。また、出力 ζについては、制御信号 enにより、入力信号が確定後に一気に出力 する。すなわち、出力信号は、入力信号の過渡遷移の影響を受けない。また、入力 力、ら出力に至る途中のデータを生成することなく一気に出力する。このため基本素子 Aにおレ、ては、消費電力から秘密情報を予測することはできなレ、。
[0051] 図 8A 図 8Cは、基本素子 A100における乱数 rと制御信号 enとの役割を説明す る図である。前述の基本素子 A100における x&xの処理を、乱数 rと制御信号 enを 使用しない状態で処理した場合は、図 8Aに示す 2入力 ANDゲートと同様となる。そ の場合の真理値表は、図 8Bとなる。この場合、出力における信号遷移率ひは、図 8B の真理値表より、
x=0のとき、 ひ (x=0)=l/4、
i i
χ =1のとき、 a (x = l)=l/2
i i
となる。すなわち、信号遷移率 αが異なる。
[0052] 図 8Cを用いて、詳しく説明する。まず、 ^=0の場合において、出力 zの信号が「0 力 1」あるいは「1から 0」に遷移する信号遷移率 α (X =0)は、
a (x=0) =P0XPl(x=0) +P1 X PO (x =0) = 1/4
i i i
である。
ここで、 POは、 zが「0」になる確率である。 PIは、 zが「1」になる確率である。図 8Bの 真理表から、 P0 = 3/4、 PI = 1/4である。また、?1( =0)は、 =0の条件下に おいて、 zが「1」になる確率である。 P0(x=0)は、 x=0の条件下において zが「0」に なる確率である。真理値表から、
P0(x=0) =1、
Figure imgf000017_0001
である。よって、
a (χ=0) =Ρ0ΧΡ1(χ=0) +Ρ1ΧΡ0(χ=0)
i i i
= 3/4 X0 + 1/4 Xl= 1/4
となる。 ^=0の場合も同様に計算すると、真理値表から、
Ρ0(χ = 1) =1/2、
Pl(x = l)=l/2
である。よって、
ひ (χ = 1) =Ρ0ΧΡ1(χ = 1) +Ρ1ΧΡ0(χ = 1)
i
Figure imgf000018_0001
となる。
したがって、上記のように、
x=0のとき、 ひ (x=0)=l/4、
i i
x =lのとき、 ひ (x = l)=l/2
i i
となる。このように信号遷移率ひに偏りが生じる。
[0053] よって、図 8Aに示す 2入力 ANDは、片方の入力 x (あるいは x)が 0と 1の場合で電 力差が生じることになる。このため、消費電力力 ANDゲートの入力を予測すること が可能となる。これにより、処理に用いられている秘密情報を特定することが可能に なる。
[0054] 次に、図 9A—図 9Cを用いて、制御信号 enについて説明する。図 9Aに示すような 制御信号 enを用いない基本素子 A'は、入力信号の変化に時間差がある場合、過渡 遷移において乱数に依存しない信号変化が発生し、信号遷移率 αに偏りが発生す る。このため、秘密情報の特定が可能となる。図 9Βは、図 9Αの基本素子 A'の真理 値表を示す。また、図 9Cは、基本素子 A'の信号遷移率 αを示す。図 9Βの真理値 表からは、出力 ζに関する信号遷移率 α (χ=0)、信号遷移率 α (χ = 1)のいずれも 1/2となる。しかし、入力信号の変化に時間差がある場合、次のようになる。例えば、 基本素子 A'において、図 9Cに示すように x、 x、 rの順に信号が変化する場合、 Xが 変化する時間において、信号遷移率ひに図 8C同様の偏りが発生する。したがって、 消費電力力 ANDゲートの入力を予測することが可能となる。 x、 x、 rの変化する順
1 J
序が異なっても偏りが発生する時間がずれるだけである。なお、入力信号の変化に 時間差がない場合は、問題はない。
[0055] 図 10A 図 10Cは、基本素子 A100の処理を示す図である。 図 10Aは、基本素子 A100の入出力を示す図である。
図 10Bは、基本素子 A100の真理値表を示す図である。
図 10Cは、入力信号の変化と出力信号 zとの関係を示す図である。
図 10Cでは、図 10Bの真理値表から、信号遷移率ひは x、 Xの 0、 1に依存せずに 1 /2となる。さらに、図 10Cに示すように、制御信号 enが 0の間は、基本素子 A100の 出力 zは、常に 0である。よって、 x、 x、 rの信号変化より遅く制御信号 enを 1にするこ とにより、出力 zに過渡遷移は発生せず、信号遷移率ひが均等である遷移しか発生し ない。したがって、消費電力から秘密情報を特定することはできない。
[0056] このように、入出力値について、従来の処理の対象であった値である x、 X等に対し て乱数を排他的論理和し、かつ、その出力は制御信号 enによって演算した結果を出 力する場合と任意の値を出力するような処理方式を、 3入力以上の AND処理や、そ の他〇R、 NOR、 NAND、 X〇R等にも適用し、非線形変換層、線形変換層を構成 する。
[0057] 前記の手法で基本素子を構成する際に、単に、従来の基本ゲートを組み合わせて 、上記と同様の演算を行っても対抗措置として機能しない。例えば、図 11は、図 6の 等価回路である。図 11の ANDゲート 40は、 X &Xの処理を行うため、図 8Aと同じ動 作をすることを意味する。よって、信号遷移率 αに偏りが生じるため、 ANDゲート 40 の入力を予測することが可能となる。図 11の「等価回路」は、図 1の素子 20と同一で ある。素子 20の出力点 25において、 ANDゲート 40と同様に信号遷移率 αに偏りが 生じる。このため、素子 20は、基本素子 Αを説明するための便宜的な構成である。電 力消費からの秘密情報漏洩を防ぐため、入出力値について従来の値に対して乱数 値を排他的論理和し、かつ、その出力は制御信号 enによって一気に出力する処理 を行うには、図 6の基本素子 A100のように、一気に出力 zを出力する単一の演算素 子で処理を実現する必要がある。
[0058] 特表 2003—526134号公報ゃ特開 2002—311826号公報のゲートペアや回路べ ァ等の、相補的な回路を実装することで信号遷移率ひを均等化する方式は、相補的 な動作を行う回路が同一のタイミングで動作しない限り、対抗措置として機能しない。 一方、この実施の形態 1の基本素子 A100では、単体の演算素子で信号遷移率ひ が均等になるとともに、出力 Zに過渡遷移が生じない。このため、「相補的な動作を行 う回路が同一のタイミングで動作することを要する」というような前記のような条件を必 要としなレ、。よって、効率よく対抗措置を実現することができる。また、図 6の基本素子 A100は、出力線は 1本しか存在しなレ、。したがって、ゲートペアや回路ペアのように 「出力線の負荷の均等化」につレ、て考慮する必要がなレ、。
[0059] 実施の形態 1の基本素子 Aは、 n— bitのデータと乱数 Rとの排他的論理和的論理 a
和のデータ Xを入力して所定の論理演算を実行し、論理演算の結果と乱数 rとの排
b 他的論理和を出力信号として出力するので、出力信号の信号遷移率を均等にするこ と力できる。このため、消費電力の偏りをなくすことにより、消費電力から秘密情報を 特定しょうとする攻撃に対抗することができる。
[0060] 実施の形態 1の基本素子 Aは、一種類の乱数 rを用いて処理を行うことにより乱数の 種類を削減するので、多種類の乱数を用いる場合に比べて、実装面積を小さくする こと力 Sできる。
[0061] 実施の形態 1の基本素子 Aは、入力信号の状態遷移が完了した場合に、処理を実 行して出力信号を出力するので、出力の信号遷移均等にすることができる。
[0062] 実施の形態 1の基本素子 Aは、出力を指令する制御信号 en (指令信号)により出力 zを出力するので、信号遷移率を均等にすることができる。
[0063] 実施の形態 1の基本素子 A100により、消費電力から秘密情報を特定しょうとする 攻撃に対抗することができる。また、基本素子 A100は、トランジスタの回路構成によ るハードウェアの対抗であるので、ソフトウェアの対抗策に比べて高速処理が可能で ある。
[0064] 実施の形態 1の基本素子 A100は、一種類の乱数 rを用いて処理を行うことにより乱 数の種類を削減するので、多種類の乱数を用いる場合に比べて、実装面積を小さく すること力 Sできる。
[0065] 実施の形態 1の基本素子 A100は、出力を指令する制御信号 en (指令信号)により 出力 zを出力するので、信号遷移率を均等にすることができる。
[0066] 実施の形態 2.
次に、図 12A—図 16を用いて、実施の形態 2を説明する。実施の形態 2は、メモリ 素子を用いることにより、図 6に示した実施の形態 1の基本素子 A100と等価な機能 を実現する LUT200 (後述の図 15)を説明する。
[0067] まず、非線形層の例として、 DESの S— boxの構成方法について説明する。その後
、 S— boxに LUT200を適用する場合を説明する。
[0068] r s-boxjとは、ある入力に対して決められた出力を行う変換テーブルである。 DES では、 6bit入力、 4bit出力のテーブルが 8種類定義されている。このような変換テー ブルは、全て AND— XOR回路で実装できる。
[0069] 図 12Aは、 DESアルゴリズムで定義される S1テーブルの入出力を表す図である。図
12Aに示すように、 S1テーブルは、 6bitのデータ {X , X , X, X, X , X }を入力し
5 4 3 2 1 0 て、 4bitのデータ {y , y , y, y }に変換して出力する。
3 2 1 0
[0070] 図 12Bは、 S1テーブルの内容を示す図である。図 12Bの S1テーブルにおいて、 入力データ {X , X, X , X , X, X }の {X , X }から行が決定される。また、 {X, X
5 4 3 2 1 0 5 0 4 3
, X , X }から列が決定される。
2 1
[0071] 図 12Cは、入力値と出力値の一例を示す図である。
{X , X , X , X , X , X } = {011011 }
5 4 3 2 1 0
から、
{X , X } = {01 } = 1
5 0
である。したがって、 S1テーブルの 2行目と決定される。次に、
{X , X , X , X } = { 1101 } = 13
4 3 2 1
である。よって、 S1テープノレの 14歹 IJ目と決定される。よって、 {011011 }は、 2行 14 列の「5」 (0101)に換字される。
[0072] 図 12Bに示す S1テーブル 1行目の「14、 4、 13、 . · ·〇、 7」は、図 13に示す v,から
0 y 'の式に等価変形できる。同様に、 2行目以降も変換可能である。図 13の式は、図
3
4の回路 31の場合と同様に、図 14に示すような、それぞれ 1層の非線形層と 1層の線 形層で構成できる。図 14では、図 4の場合と同様に、入力データは、あらかじめ乱数 rにより排他的論理和されて非線形層に入力される。次に、第 1層の非線形層で AN D処理が行われ、 2層目の線形層で XORの処理が行われる。
[0073] これまでに説明した対抗措置は、図 6の基本素子 A100のように、 MOSFET (Met al Oxide Semiconductor Field Effect Transistor)で構成することを想定し ていた。し力し、暗号アルゴリズムの回路を MOSFETレベルの設計で行わない場合 も考えられる。例えば、 FPGA (Field Programble Gate Array)に代表される書 き換え可能な半導体デバイスとして設計する場合も考えられる。この場合は、あらかじ めチップ上に実装されている SRAM (Static Random Access Memory)を基 本に構成されたメモリ素子(以下これを LUTと略記する)や、フリップフロップに代表さ れる記憶素子の内部状態と、その配線のみとを設計者が自由に変更可能な仕様とな つている。このようなデバイスにおける実施形態を図 15に示す。
[0074] 図 15は、図 6の基本素子 A100と等価な機能を、 4入力 1出力の LUT200を用いて 実現した構成を示す図である。
[0075] LUT200は、基本素子 A100と等価であり、入力として x、 x、 r、 enを入力する。出
1 2
力 zは、
z = ( (x r) & r) r) &en
1 2
である。
[0076] LUT200は、入力部 250、複数の SRAM260等(格納部)、及び複数のパストラン ジスタ 280等を備える。 SRAMは、論理関数を実現する値を格納する機能を持つ。 データ列 270 (論理データ)は、各 SRAMが格納するデータで構成される。パストラン ジスタは、左右の結線に対してのスイッチング機能を持つ。
[0077] 図 15の LUT200の構成を説明する。各パストランジスタは、ツリー構造の各ブラン チに配置される。後述のように、各パストランジスタは、ブランチ 201—ブランチ 230 の 30のブランチのそれぞれに配置される。入力信号線は、各ブランチに配置された パストランジスタを ON/OFFのスイッチングを行う。スィッチ機能としてのパストランジ スタは、「0」が入力すると開く。
[0078] (1)次に、 LUT200の構成を説明する。 LUT200は、出力 Zからブランチ 201、ブラ ンチ 202が二分木に分岐する。ブランチ 202は、ブランチ 205、ブランチ 206の二分 木に分岐する。ブランチ 205は、ブランチ 211、ブランチ 212の二分木に分岐する。 ブランチ 206は、ブランチ 213、ブランチ 214の二分木に分岐する。ブランチ 211は、 ブランチ 223、ブランチ 224の二分木に分岐する。ブランチ 212は、ブランチ 225、ブ ランチ 226の二分木に分岐する。ブランチ 213は、ブランチ 227、ブランチ 228の二 分木に分岐する。ブランチ 214は、ブランチ 229、ブランチ 230の二分木に分岐する 。 「ブランチ 223、ブランチ 224、 · · ·ブランチ 230」のそれぞれには、 SRAMが接続 している。
(2)ブランチ 201は、ブランチ 202と同様に分岐していく。ブランチ 201は、ブランチ 2 03、ブランチ 204の二分木に分岐する。ブランチ 203は、ブランチ 207、ブランチ 20 8の二分木に分岐する。ブランチ 204は、ブランチ 209、ブランチ 210の二分木に分 岐する。ブランチ 207は、ブランチ 215、ブランチ 216の二分木に分岐する。ブランチ 208は、ブランチ 217、ブランチ 218の二分木に分岐する。ブランチ 209は、ブランチ 219、ブランチ 220の二分木に分岐する。ブランチ 210は、ブランチ 221、ブランチ 2 22の二分木に分岐する。「ブランチ 215、ブランチ 216、 · · ·ブランチ 222」のそれぞ れには、 SRAMが接続している。図 15では、ブランチ 216、ブランチ 218、、ブラン チ 220に接続してレヽる SRAMには「1」が格納されてレ、る。その他の SRAMには「0」 が格納されている。
(3)入力信号について説明する。入力信号 Xの反転信号は、ブランチ 201に配置さ
2
れたパストランジスタに入力する。入力信号 Xは、ブランチ 202に配置されたパストラ
2
ンジスタに入力する。入力信号 Xの反転信号は、ブランチ 203、ブランチ 205に配置
1
されたパストランジスタに入力する。入力信号 Xは、ブランチ 204、ブランチ 206に配 置されたパストランジスタに入力する。入力信号 rの反転信号は、ブランチ 207、ブラ ンチ 209、ブランチ 211、ブランチ 213に配置されたパストランジスタに入力する。入 力信号 rは、ブランチ 208、ブランチ 210、ブランチ 212、ブランチ 214に配置された パストランジスタに入力する。入力信号 enの反転信号は、ブランチ 215、ブランチ 21 7、ブランチ 219、ブランチ 221、ブランチ 223、ブランチ 225、ブランチ 227、ブラン チ 229に配置されたパストランジスタに入力する。入力信号 enは、ブランチ 216、ブラ ンチ 218、ブランチ 220、ブランチ 222、ブランチ 224、ブランチ 226、ブランチ 228、 ブランチ 230に配置されたパストランジスタに入力する。
制御信号 enの有意を「0」とするならば、前述の z= ( (x ) & (x r) r) &enにお
1 2
ける「& en」の処理は、「 I en」(制御信号 enとの OR)に変更し、同様の考え方で LU Tにより基本素子 Aの等価な機能を実現できる。
[0080] なお、入力信号 X、 X、 rが同時に入力するのであれば制御信号 enは不要である。
1 2
この場合、それぞれの該当するトランジスタは、同時にスイッチングする。
[0081] その他、 2入力 OR、 N〇R、 NAND、 X〇R等にも同様の処理方式を適用すること で、秘密情報を消費電力から特定する攻撃に対して、対抗することができる。
[0082] 3入力以上の基本素子では、一般に、 LUTの大きさは固定されている場合が多い 。このため、図 16に示すように、 2入力の基本素子を組み合わせて構成することが現 実的である。この場合、 2本の異なる制御信号を用いる必要がある。これは、図 16に 示すように、 LUT292の入力となる LUT291の出力と、 LUT292における LUT291 からの入力以外の入力について、信号変化の時間差があるため、制御信号を共有し た場合は、前述した理由(入力信号の過渡遷移)から、乱数性が機能しなくなるため である。
[0083] 実施の形態 2の LUT200により、消費電力から秘密情報を特定しょうとする攻撃に 対抗すること力できる。
[0084] 実施の形態 2の LUT200は、一種類の乱数 rを用いて処理を行うことにより乱数の 種類を削減するので、多種類の乱数を用いる場合に比べて、実装面積を小さくする こと力 Sできる。
[0085] 実施の形態 2の LUT200は、複数のトランジスタがスイッチングを同時に行うので、 入力から出力に至る途中経過は出現せず、信号遷移率を均等にすることができる。
[0086] 実施の形態 2の LUT200は、出力を指令する制御信号 en (指令信号)により出力 z を出力するので、信号遷移率を均等にすることができる。
[0087] 実施の形態 3.
次に、図 17—図 22を用いて、図 6の基本素子 A100、図 15の LUT200とは別の基 本素子について説明する。図 17—図 24に示す一連の基本素子は、基本素子 A100 、 LUT200等と同様に、消費電力から秘密情報を特定する攻撃に対抗することがで きる。
[0088] 図 17は、実施の形態 3に係る基本素子 A300を示す図である。基本素子 A300は、 図 6の基本素子 A100に対して、制御信号 enを入力するトランジスタ 101とトランジス タ 107とを削除した構成である。すなわち基本素子 A300入力信号は、 X
1、 X
2、 rであ る。また、出力 Zは、
z= ( (x 'r) & (X 'r) 'r)
1 2
となる。御信号 enは存在しなレ、。基本素子 A300は、入力信号 x
1、 x
2、 rが各トランジ スタに同じタイミングで入力する場合を想定した素子である。
すなわち、入力信号は同時に入力するので、該当する複数のトランジスタのスィッチ ングは同時に行われる。この場合、制御信号 enは必要ないからである。
[0089] 実施の形態 3の基本素子 A300は、制御信号 enの入力を必要としないので、簡易 な構成で実装することができる。
[0090] 図 18は、実施の形態 3に係る基本素子 A400を示す図である。図 6の基本素子 A1
00が 2入力 AND型であるのに対して、基本素子 A400は、 2入力 OR型である。入力 信号は、 X、 X、 r、 enである。また、出力 zは、
1 2
z = ( (x r) I 、x r) r) &en
1 2
となる。基本素子 A100の場合と同様に、入力 X、 Xは、
1 2
X = x r, x = x r
1 i 2 j
である。よって、入出力に乱数が排他的論理和されている。及び制御信号 enに基づ く各トランジスタのスイッチングにより、一気に zが出力される。これらにより、基本素子 A100と同様、消費電力から秘密情報を特定する攻撃に対抗することができる。
(1)基本素子 A400の構成を説明する。基本素子 A400は、上部 415と下部 416との 直列接続により構成されている。上部 415と下部 416との間から出力信号 zが出力さ れる。
(2)図 18において、記号「!」、右向き矢印「→」、左向き矢印「―」は、図 6の場合と 同様である。なお、これらの意味は、後述の図 19一図 22についても同様である。印 加部 413には、論理「1」に相当する電圧が印加される。
(3)印加部 413に論理「1」に相当する電圧が印加された場合、各トランジスタのスィ ツチングにより
z= ( (x "r) I (X 'r) 'r) &en
1 2
が出力される。 (4)上部 415は、トランジスタ 401と部分回路 417との直列接続で構成される。
トランジスタ 401の一端は、印加部 413と接続され、他端が部分回路 417に接続する 。部分回路 417は、トランジスタ 402とトランジスタ 403との直歹 IJ接続と、トランジスタ 4 04とトランジスタ 405との並歹 IJ回路とトランジスタ 406との直歹 IJ接続と力 並列接続さ れている。
(5)下部 416のトランジスタの構成は、図 6の基本素子 A100の下部 116と同じ構成 である。すなわち、トランジスタ 407—トランジスタ 412の配置は、トランジスタ 107—ト ランジスタ 112の配置と同一である。ただし、下部 116のトランジスタ 112には、入力 信号 rの反転信号が入力するのに対して、下部 416のトランジスタ 412には、入力信 号 rが反転することなぐそのまま入力する。
(6)次に、入力信号について説明する。入力信号 Xの反転信号がトランジスタ 402、
1
トランジスタ 404、トランジスタ 408、及びトランジスタ 410に入力する。
(7)入力信号 Xの反転信号が、トランジスタ 403、トランジスタ 405、トランジスタ 409、
2
及びトランジスタ 411に入力する。
(7)入力信号 rが、トランジスタ 406及びトランジスタ 412に入力する。
(8)入力信号 enの反転信号が、トランジスタ 401及びトランジスタ 407に入力する。
[0091] 図 19は、実施の形態 3に係る基本素子 A500を示す図である。図 6の基本素子 A1
00が 2入力 AND型であるのに対して、基本素子 A500は、 2入力 NAND型である。 入力信号は、 X、 X、 r、 enである。また、出力 zは、
1 2
z= (—((X » & (X » ) » &en
1 2
となる。基本素子 A100の場合と同様に、入力 X、 Xは、
1 2
X = x r, χ = x r
1 i 2 j
である。よって、入出力に乱数が排他的論理和されている。及び制御信号 enに基づ く各トランジスタのスイッチングにより、一気に zが出力される。これにより基本素子 A1 00と同様、消費電力から秘密情報を特定する攻撃に対抗することができる。
[0092] (1)基本素子 A500のトランジスタの構成は、図 19に示すように、図 18の基本素子 A 500と同じである。ただし、各トランジスタに入力する信号の反転が異なる。
(2)入力信号について説明する。入力信号 Xは、トランジスタ 502、トランジスタ 504、 トランジスタ 508、及びトランジスタ 510に入力する。
(3)入力信号 Xは、トランジスタ 503、トランジスタ 505、トランジスタ 509、及びトラン
2
ジスタ 511に入力する。
(4)入力信号 rは、トランジスタ 506及びトランジスタ 512に入力する。
(5)入力信号 enの反転信号が、トランジスタ 301及びトランジスタ 307に入力する。
[0093] 図 20は、実施の形態 3に係る基本素子 A600を示す図である。図 6の基本素子 A1
00が 2入力 AND型であるのに対して、基本素子 A600は、 2入力 N〇R型である。入 力信号は、 X、 X、 r、 enである。また、出力 zは、
1 2
Γζ= (- ( (χ "r) I (x 'r) ) ) &en」となる。基本素子 A100の場合と同様に、入力 x
1 2
、 Xは、
1 2
X = x r, x = x r
1 i 2 j
である。よって、入出力に乱数が排他的論理和されている。及び制御信号 enに基づ く各トランジスタのスイッチングにより、一気に zが出力される。これにより基本素子 A1 00と同様、消費電力から秘密情報を特定する攻撃に対抗することができる。
(1)基本素子 A600のトランジスタの構成は、図 20に示すように、図 18の基本素子 A 300と同じである。ただし、各トランジスタに入力する信号の反転の有無が異なる。
(2)入力信号について説明する。入力信号 Xは、トランジスタ 602、トランジスタ 604、
1
トランジスタ 608、及びトランジスタ 610に入力する。
(3)入力信号 Xは、トランジスタ 603、トランジスタ 605、トランジスタ 609に入力する。
2
また、入力信号 Xの反転信号が、トランジスタ 611入力する。
2
(4)入力信号 rの反転信号が、トランジスタ 606及びトランジスタ 612に入力する。
(5)入力信号 enの反転信号が、トランジスタ 601及びトランジスタ 607に入力する。
[0094] 図 21は、実施の形態 3に係る基本素子 B700を示す図である。図 6の基本素子 A1
00が 2入力 AND型であるのに対して、基本素子 B700は、 2入力 XOR型である。入 力信号は、 X、 X、 r、 enである。また、出力 zは、
1 2
z= ( (x "r) " (x r) r) &en
1 2
となる。基本素子 A100の場合と同様に、入力 X、 Xは、 である。よって、入出力に乱数が排他的論理和されている。及び制御信号 enに基づ く各トランジスタのスイッチングにより、一気に zが出力される。これにより、基本素子 A 100と同様、消費電力から秘密情報を特定する攻撃に対抗することができる。
(1)基本素子 B700は、上部 721と下部 722との直列接続で構成される。上部 721と 下部 722との間から出力信号 zが出力される。
(2)印加部 719には、論理「1」に相当する電圧が印加される。
(3)印加部 719に論理「1」に相当する電圧が印加された場合、各トランジスタのスィ ツチングにより
z= ( (x 'r) ' (x r) r) &en
1 2
が出力される。
(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と、並歹 1J回路 725とトランジスタ 715との直歹 1J接続と、並 列回路 726とトランジスタ 718との直列接続とが、並列に接続されている。そして、並 列回路 725は、並列回路 723と同様に、トランジスタ 711とトランジスタ 712との直列 接続と、トランジスタ 713とトランジスタ 714との直列接続とが、並列に接続されて、並 列回路を構成している。並列回路 726は、並列回路 724と同様に、トランジスタ 716と トランジスタ 717とが、並列回路を構成している。 (7)次に、各トランジスタへの入力信号について説明する。入力信号 Xは、トランジス
1
タ 703、卜ランジスタ 707、卜ランジスタ 711、卜ランジスタ 716に入力する。また、入力 信号 Xの反転信号は、トランジスタ 705、トランジスタ 713に入力する。入力信号 Xは
1 2
、トランジスタ 704、トランジスタ 708、トランジスタ 712、トランジスタ 717に入力する。 また、入力信号 Xの反転信号は、トランジスタ 706、トランジスタ 714に入力する。入
2
力信号 rは、トランジスタ 709、トランジスタ 718に入力する。入力信号 rの反転信号は 、トランジスタ 702、トランジスタ 715に入力する。入力信号 enの反転信号は、トランジ スタ 701、トランジスタ 710に入力する。
[0095] 図 22は、実施の形態 3に係る基本素子 A800を示す図である。図 6の基本素子 A1 00が 2入力 AND型であるのに対して、基本素子 A800は、 3入力 AND型である。入 力信号は、 X 、 X 、 X 、 r、 enである。また、出力 zは、
1 2 3
z= ( (X "r) & (X "r) & (X "r) "r) &en
1 2 3
となる。基本素子 A100の場合と同様に、入力 X , X , Xは、
1 2 3
X =x r, x =x r, x =x r
1 i 2 j 3 k
である。よって、入出力に乱数が排他的論理和されている。及び制御信号 enに基づ く各トランジスタのスイッチングにより、一気に zが出力される。これにより、基本素子 A 100と同様、消費電力から秘密情報を特定する攻撃に対抗することができる。
[0096] (1)基本素子 A800は、上部 819と下部 820との直列接続により構成されている。
上部 819と下部 820との間から出力信号 zが出力される。
(2)印加部 817には、論理「1」に相当する電圧が印加される。
(3)印加部 817に論理「1」に相当する電圧が印加された場合、各トランジスタのスィ ツチングにより
「z= ( (X r) & (X r) & (X r) "r) &en」
1 2 3
が出力される。
(4)上部 819は、トランジスタ 801と、トランジスタ 802とトランジスタ 803とトランジスタ 列接続とトランジスタ 808とによる並列回路との直列接続で構成される。
(5)下部 820は、トランジスタ 809と、トランジスタ 810とトランジスタ 811とトランジスタ 列回路とトランジスタ 816とによる直列接続とが、並列に接続されて、並列回路を構成 している。
(6)次に、各トランジスタへの入力信号について説明する。基本素子 A800では、入 力信号である X、 X、 X、 r、 enは、全て反転して、各トランジスタに入力する。入力信
1 2 3
号 Xの反転信号は、トランジスタ 802、トランジスタ 805、トランジスタ 810、トランジスタ
1
813に入力する。入力信号 Xの反転信号は、トランジスタ 803、トランジスタ 806、トラ
2
ンジスタ 811、トランジスタ 814に入力する。入力信号 Xの反転信号は、トランジスタ 8
3
04、トランジスタ 807、トランジスタ 812、トランジスタ 815に入力する。入力信号 rの反 転信号は、トランジスタ 808、トランジスタ 816に入力する。入力信号 enの反転信号は 、トランジスタ 801、トランジスタ 809に入力する。
[0097] 図 23は、消費電力から秘密情報を特定する攻撃を行った場合の、消費電力の時 間変化を示すグラフである。図 23は、基本素子 A、基本素子 Bを用いていなレ、、 AN D回路、 XOR回路から構成される回路について、対策前の状態を示している。図に 示すように、 AND演算、及び XOR演算が実行される際に、消費電量のピークが出 現している。このピークの出現により、秘密情報の特定が可能となる。
[0098] 図 24は、図 23に対して、基本素子 A、基本素子 Bを用いて対策を行った場合を示 してレ、る。図 23の場合に出現していたピークが消えている。このピークの消滅により、 秘密情報の特定を行うことはできなくなる。
図面の簡単な説明
[0099] [図 1]実施の形態 1における基本素子 Aの処理を説明するための便宜的な素子 20を 示す図である。
[図 2]実施の形態 1における回路 30の構成の概略を示すブロック図である。
[図 3]実施の形態 1における回路 30の動作を示すフローチャートである。
[図 4]実施の形態 1における回路 31の構成を示す図である。
[図 5]実施の形態 1における回路 30及び回路 31の各層で用いる制御信号のタイミン グを示した図である。
[図 6]実施の形態 1における基本素子 A100を示す図である。 園 7]実施の形態 1における基本素子 A100の真理値表を示す図である。
[図 8A]2入力 ANDゲートを示す図である。
[図 8B]2入力 ANDゲートの真理値表である。
[図 8C]2入力 ANDゲートの信号遷移率を説明する図である。
[図 9A]2入力 ANDゲートを示す図である。
[図 9B]2入力 ANDゲートの真理値表である。
園 9C]2入力 ANDゲートの過渡遷移と信号遷移率との関係を説明する図である。 園 10A]実施の形態 1における基本素子 A100の入出力を示す図である。
園 10B]実施の形態 1における基本素子 A100の真理値表を示す図である。
園 10C]実施の形態 1における基本素子 A100の入力信号の変化と出力信号 zとの 関係を示す図である。
園 11]基本素子 A100と論理的に等価な回路を示す図である。
[図 12A]DESアルゴリズムで定義される S1テーブルの入出力を表す図である。
[図 12B]S1テーブルの内容を示す図である。
[図 12C]入力値と出力値の一例を示す図である。
園 13]S1テーブルの 1行目を等価変形した式を示す図である。
園 14]図 13に示す式を実施する回路構成を示す図である。
[図 15]実施の形態 2における LUT200を示す図である。
園 16]実施の形態 2における 2入力の基本素子を組み合わせて構成する回路を示す 図である。
園 17]実施の形態 3における基本素子 A300を示す図である。
園 18]実施の形態 3における基本素子 A400を示す図である。
園 19]実施の形態 3における基本素子 A500を示す図である。
園 20]実施の形態 3における基本素子 A600を示す図である。
園 21]実施の形態 3における基本素子 B700を示す図である。
園 22]実施の形態 3における基本素子 A800を示す図である。
[図 23]対策前において消費電力から秘密情報を特定する攻撃を行った場合の、消 費電力の時間変化を示すグラフである。 [図 24]対策後において消費電力から秘密情報を特定する攻撃を行った場合の、消 費電力の時間変化を示すグラフである。
符号の説明
1 入力データ X、 2 セレクタ、 3 乱数発生器、 4, 5 排他的論理和、 6 非線形変 換 S、 7 線形変換 L、 8 制御回路、 9 タイミング生成回路 TG、 10 タイミング制御
1 2
回路 TC、 11 ANDゲート、 12 排他的論理禾ロ、 13, 14 レジスタ、 20 素子、 21 , 22 X〇R、 23, 24 ANDゲート、 25 出力点、 26 制御信号 en、 27 X〇R、 30 回路、 31 回路、 40 ANDゲート、 100 基本素子 A、 101— 112 トランジスタ、 11 3 印カロ部、 114 アース、 115 上部、 116 下部、 200 LUT、 201— 230 ブラン チ、 250 入力部、 260 SRAM, 270 データ歹 lj、 280 ノ ストランジスタ、 291, 29 2 LUT, 300 基本素子 A、 400 基本素子 A、 401— 412 卜ランジスタ、 413 印 カロ部、 414 アース、 415 上部、 416 下部、 417 部分回路、 500 基本素子 A、 5 01— 512 トランジスタ、 600 基本素子 A、 601— 612 トランジスタ、 700 基本素 子 B、 701— 718 トランジスタ、 719 印カロ部、 720 アース、 721 上部、 722 下 部、 723 並歹 IJ回路、 724, 725, 726 並歹 IJ回路、 727 部分回路、 800 基本素子 A、 801 816 卜ランジスタ、 817 印カロ部、 818 アース、 819 上部、 820 下部。

Claims

請求の範囲
[1] 所定のデータと第 1乱数との排他的論理和の結果を入力信号として入力し、入力し た入力信号に基いて所定の論理演算を実行し、実行した論理演算の結果と第 2乱数 との排他的論理和を出力信号として出力することを特徴とする電子素子。
[2] n (n≥l)ビットのデータに nビットの第 1乱数が排他的論理和されたデータを示す X
ORデータと、 nビットの第 1乱数と、 1ビットの第 2乱数とを入力信号として入力し、 XO Rデータと第 1乱数との排他的論理和により nビットのデータを算出し、算出した nビッ トのデータの各ビットを用いて所定の論理演算を実行し、実行した論理演算の結果と 第 2乱数との排他的論理和を出力信号として出力することを特徴とする電子素子。
[3] 前記第 1乱数は、
nビットの各ビットが同一の値であり、
前記第 2乱数は、
前記第 1乱数の各ビットの値と等しい値であることを特徴とする請求項 2記載の電子 素子。
[4] 前記電子素子は、
入力信号の状態遷移が完了した場合に、処理を実行して出力信号を出力すること を特徴とする請求項 2記載の電子素子。
[5] 前記電子素子は、さらに、
出力信号の出力を指令する指令信号を入力するとともに、指令信号を入力した場 合に、出力信号を出力することを特徴とする請求項 2記載の電子素子。
[6] 前記所定の論理演算は、
論理積 (AND)、否定論理積 (NAND)、論理和(〇R)、否定論理和(NOR)、排 他的論理和 (X〇R)のうち、いずれかであることを特徴とする請求項 2記載の電子素 子。
[7] 複数のトランジスタから構成され、第 1乱数と第 2乱数と nビット (n≥ 1)のデータとを 入力して所定の信号を出力信号として出力する電子素子において、
第 1乱数と第 2乱数と nビットのデータとを入力した場合に、
第 1乱数と nビットのデータとの排他的論理和を実行し排他的論理和の実行結果を 示す各ビットを用いて所定の論理演算を行い所定の論理演算の結果と第 2乱数との 排他的論理和を実行することにより得られる結果と等価な結果を示す出力信号を、 複数のトランジスタのスイッチングにより出力することを特徴とする電子素子。
[8] 前記第 1乱数は、
各ビットが同一の値である nビットの乱数であり、
前記第 2乱数は、
前記第 1乱数の各ビットの値と等しい値である 1ビットの乱数であることを特徴とする 請求項 7記載の電子素子。
[9] 前記電子素子は、
前記複数のトランジスタのスイッチングを同時に行うことを特徴とする請求項 7記載 の電子素子。
[10] 前記電子素子は、
出力信号の出力を指令する指令信号を入力するとともに、指令信号を入力した場 合に、出力信号を出力することを特徴とする請求項 7記載の電子素子。
[11] 第 1乱数と第 2乱数と nビット (n≥ 1)のデータとを入力して所定の信号を出力信号と して出力する電子素子において、
第 1乱数と第 2乱数と nビットのデータとを入力する入力部と、
0と 1とにより構成される論理データを格納する格納部と、
前記入力部が第 1乱数と第 2乱数と nビットのデータとを入力した場合に、第 1乱数と nビットのデータとの排他的論理和を実行し排他的論理和の実行結果を示す各ビット を用いて所定の論理演算を行い所定の論理演算の結果と第 2乱数との排他的論理 和を実行することにより得られる結果と等価な結果を、スイッチングにより前記格納部 が格納する論理データから取得し出力信号として出力する複数のトランジスタと を備えたことを特徴とする電子素子。
[12] 前記第 1乱数は、
各ビットが同一の値である nビットの乱数であり、
前記第 2乱数は、
前記第 1乱数の各ビットの値と等しい値である 1ビットの乱数であることを特徴とする 請求項 11記載の電子素子。
[13] 前記複数のトランジスタは、
スイッチングを同時に行うことを特徴とする請求項 11記載の電子素子。
[14] 前記入力部は、さらに、
出力信号の出力を指令する指令信号を入力し、
前記電子素子は、
指令信号を入力した場合に、出力信号を出力することを特徴とする請求項 11記載 の電子素子。
[15] 所定のデータと第 1乱数との排他的論理和の結果を入力信号として入力し、入力し た入力信号に基づき所定の論理演算を実行し、実行した論理演算の結果と第 2乱数 との排他的論理和を出力信号として出力することを特徴とするデータ処理方法。
[16] nビットのデータに nビットの第 1乱数が排他的論理和されたデータを示す X〇Rデ ータと、 nビットの第 1乱数と、 1ビットの第 2乱数とを入力信号として入力し、 XORデー タと第 1乱数との排他的論理和により nビットのデータを算出し、算出した nビットデー タの各ビットを用いて所定の論理演算を実行し、実行した論理演算の結果と第 2乱数 との排他的論理和を出力信号として出力することを特徴とするデータ処理方法。
PCT/JP2004/009633 2004-07-07 2004-07-07 電子素子及びデータ処理方法 WO2006006199A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN2004800431276A CN1957384B (zh) 2004-07-07 2004-07-07 电子元件和数据处理方法
JP2006527641A JP4589327B2 (ja) 2004-07-07 2004-07-07 電子素子及びデータ処理方法
EP04747102.4A EP1764762B1 (en) 2004-07-07 2004-07-07 Electronic element and data processing method
US11/629,358 US8577942B2 (en) 2004-07-07 2004-07-07 Electronic device and data processing device for implementing cryptographic algorithms
PCT/JP2004/009633 WO2006006199A1 (ja) 2004-07-07 2004-07-07 電子素子及びデータ処理方法
TW093123315A TWI276337B (en) 2004-07-07 2004-08-04 Electronic element and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2004/009633 WO2006006199A1 (ja) 2004-07-07 2004-07-07 電子素子及びデータ処理方法

Publications (1)

Publication Number Publication Date
WO2006006199A1 true WO2006006199A1 (ja) 2006-01-19

Family

ID=35783565

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/009633 WO2006006199A1 (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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011188009A (ja) * 2010-03-04 2011-09-22 Ntt Data Corp 消費電力錯乱型論理回路及び情報記憶媒体
US8861720B2 (en) 2010-07-28 2014-10-14 The Ritsumeikan Trust Tamper-resistant memory integrated circuit and encryption circuit using same

Families Citing this family (8)

* Cited by examiner, † Cited by third party
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
JP2012150661A (ja) * 2011-01-19 2012-08-09 Toshiba Corp プロセッサ動作検査システム、及びその検査方法
US10905305B2 (en) * 2011-05-20 2021-02-02 Ecolab Usa Inc. Automated cleaning method and apparatus
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066585A (ja) 1998-08-20 2000-03-03 Toshiba Corp 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
FR2789776A1 (fr) 1999-02-17 2000-08-18 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
JP2002311826A (ja) 2001-04-16 2002-10-25 Hitachi Ltd 暗号化・復号化装置、暗号化・復号化方法、データの暗号化方法及びicカード
JP2002539488A (ja) 1999-03-08 2002-11-19 ジェムプリュス 秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法
JP2002366029A (ja) * 2001-06-13 2002-12-20 Fujitsu Ltd Dpaに対して安全な暗号化
JP2003526134A (ja) 1998-11-03 2003-09-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電力消費が不明確であるデータキャリア
US20040028224A1 (en) 2002-07-02 2004-02-12 Pierre-Yvan Liardet Cyphering/decyphering performed by an integrated circuit

Family Cites Families (11)

* Cited by examiner, † Cited by third party
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
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
WO1999067766A2 (en) 1998-06-03 1999-12-29 Cryptography Research, Inc. Balanced cryptographic computational method and apparatus for leak minimization in smartcards and other cryptosystems
JP2000305453A (ja) * 1999-04-21 2000-11-02 Nec Corp 暗号化装置,復号装置,および暗号化・復号装置
JP2001016196A (ja) * 1999-04-28 2001-01-19 Fuji Soft Abc Inc 多重アファイン鍵を用いる暗号化・復号化方法、認証方法、及びこれを用いる各装置
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
KR101061906B1 (ko) * 2004-02-19 2011-09-02 삼성전자주식회사 전력분석공격에 안전한 기본 연산 장치 및 방법
KR100594265B1 (ko) * 2004-03-16 2006-06-30 삼성전자주식회사 매스킹 방법이 적용된 데이터 암호처리장치, aes암호시스템 및 aes 암호방법.
JP4271077B2 (ja) * 2004-04-30 2009-06-03 株式会社東芝 マスク論理回路及び暗号装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066585A (ja) 1998-08-20 2000-03-03 Toshiba Corp 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
JP2003526134A (ja) 1998-11-03 2003-09-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電力消費が不明確であるデータキャリア
FR2789776A1 (fr) 1999-02-17 2000-08-18 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
JP2002540654A (ja) 1999-02-17 2002-11-26 ジェムプリュス 秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法
JP2002539488A (ja) 1999-03-08 2002-11-19 ジェムプリュス 秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法
JP2002311826A (ja) 2001-04-16 2002-10-25 Hitachi Ltd 暗号化・復号化装置、暗号化・復号化方法、データの暗号化方法及びicカード
JP2002366029A (ja) * 2001-06-13 2002-12-20 Fujitsu Ltd Dpaに対して安全な暗号化
US20040028224A1 (en) 2002-07-02 2004-02-12 Pierre-Yvan Liardet Cyphering/decyphering performed by an integrated circuit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MESSERGES T.S.: "Securing the AES Finalists Against Power Analysis Attacks", FAST SOFTWARE ENCRYPTION. INTERNATIONAL WORKSHOP, vol. 1978, 1 April 2000 (2000-04-01), pages 150 - 164

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011188009A (ja) * 2010-03-04 2011-09-22 Ntt Data Corp 消費電力錯乱型論理回路及び情報記憶媒体
US8861720B2 (en) 2010-07-28 2014-10-14 The Ritsumeikan Trust Tamper-resistant memory integrated circuit and encryption circuit using same

Also Published As

Publication number Publication date
CN1957384A (zh) 2007-05-02
EP1764762B1 (en) 2019-05-15
JPWO2006006199A1 (ja) 2008-04-24
US8577942B2 (en) 2013-11-05
CN1957384B (zh) 2011-04-06
TWI276337B (en) 2007-03-11
EP1764762A1 (en) 2007-03-21
US20080021940A1 (en) 2008-01-24
JP4589327B2 (ja) 2010-12-01
EP1764762A4 (en) 2009-11-18
TW200603591A (en) 2006-01-16

Similar Documents

Publication Publication Date Title
US8330493B2 (en) High utilization universal logic array with variable circuit topology and logistic map circuit to realize a variety of logic gates with constant power signatures
US7898283B1 (en) Lightweight secure physically unclonable functions
Shahbazi et al. Area-efficient nano-AES implementation for Internet-of-Things devices
US20120093308A1 (en) Apparatus and method for generating random data
WO2006006199A1 (ja) 電子素子及びデータ処理方法
US20090204656A1 (en) Pseudo random number generator and method for generating a pseudo random number bit sequence
Ahmad et al. A new ASIC implementation of an advanced encryption standard (AES) crypto-hardware accelerator
KR100735953B1 (ko) 일련 번호 생성 장치, 그 방법 및 컴퓨터 판독가능 저장매체
KR100861841B1 (ko) 전자 소자 및 데이터 처리 방법
Dan et al. A modeling attack resistant R-XOR APUF based on FPGA
Masoumi et al. Design and evaluation of basic standard encryption algorithm modules using nanosized complementary metal–oxide–semiconductor–molecular circuits
Zhang et al. Multi-incentive delay-based (MID) PUF
Bryk et al. Encryption using reconfigurable reversible logic gate and its simulation in 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
Punia et al. Speed Optimization of the AES Algorithm Using Pipeline Hardware Architecture
US11586418B2 (en) Random number generator, random number generating circuit, and random number generating method
JP6972593B2 (ja) 帰還シフトレジスタ回路及び帰還シフトレジスタの動作方法
US7471789B2 (en) Encryption circuit achieving higher operation speed
CN117236268A (zh) 密码算法加速器电路以及密码加速器芯片
Narsimha et al. Implementation Of Cryptography Using Rom Sub Modules And Exclusion Of Shift Rows

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006527641

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 200480043127.6

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 1020067025939

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 11629358

Country of ref document: US

Ref document number: 2004747102

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWP Wipo information: published in national office

Ref document number: 1020067025939

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2004747102

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 11629358

Country of ref document: US