JP3600454B2 - 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 - Google Patents

暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 Download PDF

Info

Publication number
JP3600454B2
JP3600454B2 JP23392198A JP23392198A JP3600454B2 JP 3600454 B2 JP3600454 B2 JP 3600454B2 JP 23392198 A JP23392198 A JP 23392198A JP 23392198 A JP23392198 A JP 23392198A JP 3600454 B2 JP3600454 B2 JP 3600454B2
Authority
JP
Japan
Prior art keywords
mask
bit
mask pattern
encryption
data conversion
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
Application number
JP23392198A
Other languages
English (en)
Other versions
JP2000066585A (ja
Inventor
信一 川村
文彦 佐野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP23392198A priority Critical patent/JP3600454B2/ja
Priority to EP99306547A priority patent/EP0981223B1/en
Priority to US09/377,064 priority patent/US6940975B1/en
Priority to DE69936024T priority patent/DE69936024T2/de
Publication of JP2000066585A publication Critical patent/JP2000066585A/ja
Application granted granted Critical
Publication of JP3600454B2 publication Critical patent/JP3600454B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • 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/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は暗号化装置、復号装置、暗号化手法、および復号手法に関し、特に、秘密鍵ブロック暗号を用いた暗号化装置、復号装置、暗号化手法、復号手法、およびそのプログラム記憶媒体に関する。
【0002】
【従来の技術】
DES (Data Encryption Standard)は、現在、最も広範に用いられている秘密鍵ブロック暗号であり、特開昭51−108701 号広報に詳細に記載されている。
【0003】
DES に関してはさまざまな観点からの評価が行われており、差分解読法や線形解読法といった鍵の全数探索よりも効率的な解読法が提案された。
【0004】
なお、差分解読法については、文献、E.Biham and A.Shamir, Differential Cryptanalysis of DES−like Cryptosystems, Journal of CRYPTOLOGY, Vol.4, Number 1,1991 に、線形解読法については、文献、松井充、“DES 暗号の線形解読(I )”、暗号と情報セキュリティシンポジウム、SCIS93−3C,1993に記載されている。
【0005】
新たな解読方法としてDPA(Differential Power Analysis )が提案されている。DPA はデータのあるビットに着目して消費電力の差異(ビット0のときの消費電力とビット1のときの消費電力)を計測し、ビットを推測する。例えば、DES の場合、既知の暗号文出力と鍵の推測により、S 箱の入力およびそれに対応する出力を推測する。上記S 箱出力で推測した、ある1ビットが0あるいは1である場合の消費電力の差異を計測し、推測の正当性の検証、すなわち鍵の推測の正当性の検証を行う手法がDPA である。
【0006】
【発明が解決しようとする課題】
このため、上述したDPAによりDESが解読される恐れがあり、さらなるセキュリティが求められていた。
【0007】
本発明の目的は、従来の暗号化装置、復号装置、暗号化手法、および復号手法のデータ暗号化処理結果を変更することなく、DPAによる解読を困難にする暗号化・復号装置、およびそのプログラム記憶媒体を提供することである。
【0008】
【課題を解決するための手段】
上述の課題を解決するため、本発明は、平文ブロックを与えられた鍵情報に依存して暗号文ブロックに変換する暗号化装置において、あらかじめ定められたひとつまたは複数のマスクパターンとそのビット反転のマスクパターンの各ペア(a, a ̄)(iは1以上の正の整数)の中から一方を、暗号化を行う毎にランダムに選択する手段と、装置内部の平文に依存したビットを、前記選択手段により選択されたマスクパターンによってマスクする手段と、暗号文を出力する前に、暗号文から前記マスクaの影響を除去する手段とを具備したことを特徴とする。
【0009】
また、本発明は、暗号ブロックを与えられた鍵情報に依存して平文ブロックに変換する復号装置において、あらかじめ定められたひとつまたは複数のマスクパターンとそのビット反転のマスクパターンの各ペア(a, a ̄)(iは1以上の正の整数)の中から一方を、復号を行う毎にランダムに選択する手段と、装置内部の暗号文に依存したビットを、前記選択手段により選択されたマスクパターンによってマスクする手段と、平文を出力する前に、前記平文から前記マスクaの影響を除去する手段とを具備したことを特徴とする。
【0012】
また、本発明は、平文ブロックを与えられた鍵情報に依存して暗号文ブロックに変換させるための、コンピュータ読み出し可能なプログラムコード手段が記憶されたコンピュータ使用可能なプログラム記憶媒体において、コンピュータに、あらかじめ定められたひとつまたは複数のマスクパターンとそのビット反転のマスクパターンの各ペア(a, a ̄)(iは1以上の正の整数)の中から一方を、暗号化を行う毎にランダムに選択させるためのコンピュータ読み出し可能なプログラムコード手段と、コンピュータに、前記選択されたマスクパターンを用いて、方法内部の平文に依存したビットを選択されたマスクパターンによってマスクさせるためのコンピュータ読み出し可能なプログラムコード手段と、コンピュータに、暗号文を出力する前に、暗号文から前記マスクaの影響を除去させるためのコンピュータ読み出し可能なプログラムコード手段とを具備したことを特徴とする。
【0013】
この発明によれば、本来のデータをマスクし、各S箱に入力する直前でそのマスクを解除する。しかし、このマスクを解除したときに、DPAにより解読される恐れがある。このため、この発明によれば、S箱への入力直前におけるマスク解除、マスク解除後の本来のデータによるS箱への入力、およびS箱からの出力のマスク操作を、事前に計算し、テーブルとして記憶し、テーブルを参照することにより計算結果を求める。このため、暗号化および復号の処理中に、マスク解除のための排他的論理和の計算や、マスクをかけるための排他的論理和の計算が行われることはないので、DPAによる解読は不可能となる。
【0014】
【発明の実施形態】
以下、図面を参照して本発明の実施形態を説明する。
【0015】
図1は本発明が適用される、暗号化アルゴリズムDES の構成を示す図であり、平文(64ビット)3を外部から入力された鍵8に依存して攪拌し、対応する暗号文を出力する第1段〜第16段から構成されるデータ攪拌部1と、鍵情報kを前記データ攪拌部に供給される中間鍵に展開する鍵スケジュール部2からなる。
【0016】
図1において、平文(64ビット)3は初期転置IP 4が施された後、2つに等分される。等分された結果の左側32ビットのデータと右側32ビットのデータはそれぞれ、段関数5の入力となる。段関数の構造は後述する。段関数の出力の左側32ビットのデータと右側32ビットのデータは入れ替えられて次段の段関数の入力となる。
【0017】
上記段関数を16段繰り返した後、最終転置IP−16 により暗号文7が出力される。
【0018】
図2は図1に示す段関数5の詳細ブロック図である。段関数17は転置E11、排他的論理和13、S箱14、転置P15および排他的論理和16とで構成される。
【0019】
右側32ビットのデータを拡大転置E 11により48ビットに拡大し、その結果を排他的論理和13に出力する。排他的論理和13は、転置E 11の出力と、拡大鍵12の排他的論理和を出力する。排他的論理和13の出力48ビットは6ビットのデータに等分され、各S 箱14の入力となる。この実施形態では、各S箱はテーブルで構成され、64エントリの6ビット入力に対してそれぞれ4ビットデータを出力する。例えばDESのS1は、6ビット入力の左端を第1ビット、右端を第6ビットとすると、第1ビットと第6ビットを2進数とみなした数字で図3に示すS箱の表の行を指定する。なお、図3に示すS箱の表の行番号は上から0、1、2、3行と数える。次に残りの4ビットを2進数とみなした数字で列の番号を指定する。列番号も左端から0、1、2、3、…15列と数える。例えば、S1の入力を011011とすると、行番号は01すなわち、図3において、上から2番目の行となる。次に、列番号は01101すなわち13(左から14番目の列)なので表の値は5となる。従ってS1の出力はこの2進表現である0101となる。なお、図3では、S箱の出力を行と列で示したが、一般には、0から63までの入力に対応した表として構成される。各S 箱の出力を結合した32ビットのデータは、転置P 15によりビット転置操作が行われ、その結果が排他的論理和16に出力される。排他的論理和16は左側32ビットのデータと転置P 15の出力との排他的論理和を出力する。
【0020】
図4は図1に示す段関数5および図2に示す段関数17の詳細回路図であり、図5aは第1段の段関数への入力の構成を示す図であり、図5bは第16段の段関数の出力の構成を示す図である。
【0021】
以下、図4、図5a、および図5bを参照して本発明の実施形態を詳細に説明する。
【0022】
図4において、aおよびbはそれぞれ32ビットのマスクを表し、a ̄はaの全ビット反転を表す。図4に示す段関数35において、排他的論理和25は、右側32ビットのデータを、スイッチSW23の出力と排他的論理和を行い拡大転置E26に出力する。拡大転置E26の出力は、排他的論理和27において拡大鍵Kiと排他的論理和が行われ、スイッチSW12に出力する。スイッチSW12は、後述の乱数列Rijによりデータの分岐を行う。例えば、Rij が0の場合には、スイッチSW12は、データを0側に分岐し、Rij が1の場合には、データを1側に分岐する。
【0023】
図4において、スイッチSW12の分岐以降は、各S箱についての構成を示す図であり、すなわちS箱29はDES のS1〜S8に対応する。
【0024】
スイッチSW12が、データを0側に分岐した場合、破線34aで示す処理を行う。すなわち、排他的論理和32aは、排他的論理和27の出力と、マスクaに拡大転置E を行った結果のS 箱の入力に対応する6ビット(E(a))との排他的論理和を行い、その結果をS箱29に出力する。S箱29においては、対応するS箱のテーブル参照が行われた結果が、排他的論理和33aに出力される。
【0025】
排他的論理和33aにおいては、マスクaに転置P30の逆転置P−1を行った結果であるP−1( a) のビットと、S箱29の出力との排他的論理和が行われ、その結果がスイッチSW11に出力される。
【0026】
一方、スイッチSW12が、データを1側に分岐した場合、破線34bで示す処理を行う。すなわち、排他的論理和32bは、排他的論理和27の出力と、マスクa ̄に拡大転置E を行った結果のS 箱の入力に対応するビットとの排他的論理和を行い、その結果をS箱29に出力する。S箱29は、対応するS箱のテーブルを参照し、その結果を排他的論理和33bに出力する。
【0027】
排他的論理和33bは、マスクa ̄に転置P(30)の逆転置P−1を行った結果であるP−1(a ̄)のS箱の出力に対応する4ビットと、S箱29の出力との排他的論理和を行い、その結果をスイッチSW11に出力する。
【0028】
ただし、上記破線34aおよび34bで示す各処理は、暗号化および復号の処理中に行ってはならない。なぜならば、上記マスクによるデータの秘匿を行っていても、S箱29の入出力は秘匿されていないため、S箱の処理の消費電力の差異を用いた解読が試みられる可能性があるからである。
【0029】
本発明の実施形態では、破線34aおよび34bで示す各処理結果は、暗号化および復号を行う前に事前計算により処理結果を作成し、暗号化および復号処理を行う。例えば、各S箱について、S箱の入力のインデックスと出力を書き換えたテーブルを用意し、暗号化および復号の処理に用いる。このとき、マスクaに対応したS箱のテーブルとマスクa ̄に対応したS箱のテーブルを用意する。例えば、マスクaを使って、図4の処理ブロック34aを計算した結果は以下の通りである。今、マスクaを(0110 1111 1100 1010 0110 1100 1100 0011)とする。拡大転置Eは図6に示す表で表される。図6の表において、各行は上からS1、S2、…S8への入力に対応する。また、各列は左端の第1ビットがS箱の入力の第1ビットに対応する。表の数字は拡大転置Eへの入力の第Xビットを表す。すなわち、S1の入力は、Eへの入力の第32、1、2、3、4、、5ビットになる。従って、マスクaが上記の例の場合、S1の入力に対応するビットマスク(a)は(101101)となる。転置Pの表は図7に示される。図7において、左から順番にPの出力の第1ビットから第32ビットまでに対応する。(1行目と2行目は連続している)。各項目は入力の第Xビットを表す。すなわち、転置Pの出力の第1ビットは入力の第16ビットになる。S1に対応するビットは転置Pの入力の第1、2、3、4ビットなので、それぞれPの出力の第9、17、23、31ビットに対応する。S1の出力に対応するマスクはP−1(a)すなわち、Pの出力がaになる値なので、マスクaの第9、17、23、31ビットがP−1(a)となる。従って、S1の出力に対応するマスクは(1001)となる。従って、マスクaが上記の場合、S1の入力に対応するビットマスクE(a)は(101101)、S1の出力に対応するビットマスクP−1(a)は(1001)となる。実際に作成するマスクaに対応したテーブルは、入力をビットマスクE(a)と排他的論理和した結果をS1の入力としてS1の出力を計算して、そのS1の出力にビットマスクP−1(a)を排他的論理和で加えたものがテーブルの出力になる。上記マスクaの場合、入力が(000000、000001、…111111)に対応する隠蔽されたS1の出力(0から63までの入力に対する出力)を列挙すると、それぞれの出力を列挙すると、図8に示すような結果となる。また、マスクa(aのビット反転)のテーブルは、図9に示すような結果となる。
【0030】
破線34aおよび34bで示す各処理ブロックの出力は、転置P30において、転置が行われ排他的論理和31に出力される。排他的論理和31は、左側32ビットのデータと、転置P30の出力との排他的論理和を行う。排他的論理和24は右側32ビットのデータと、スイッチSW13の出力との排他的論理和を取り、新たな右側32ビットのデータとする。
【0031】
図5aにおいて、平文(64ビット)を初期転置IP41aにより転置を行った結果は、等分され、右側32ビットと左側32ビットとなる。排他的論理和44aは、左側32ビットのデータと、スイッチSW21の出力との排他的論理和を取る。この排他的論理和44aの出力は、第1 段の段関数の入力の左側32ビットとなる。排他的論理和42aは右側32ビットのデータと、スイッチSW14の出力との排他的論理和を取る。排他的論理和43aは、排他的論理和42aの出力と、スイッチSW22の出力との排他的論理和を取る。
【0032】
この排他的論理和43aの出力は、第1段の段関数の入力の右側32ビットとなる。なお、図5aにおいて、排他的論理和の性質により42aと43aの順序は入れ替えても良い。
【0033】
図5bにおいて、平文(64ビット)を初期転置IP41aにより転置を行った結果は、等分され、右側32ビットと左側32ビットとなる。排他的論理和44bは、左側32ビットのデータと、スイッチSW21の出力との排他的論理和を取る。これにより、図5aの排他的論理和43aにおいて加えたマスクの影響を除去する。排他的論理和44bの出力は、最終転置IP 41bに入力される。排他的論理和42bは、右側32ビットのデータと、スイッチSW14の出力との排他的論理和を取る。排他的論理和43bは、排他的論理和42bの出力と、スイッチSW22の出力との排他的論理和を取る。これにより、図5aの排他的論理和44aにおいて加えたマスクの影響を除去する。排他的論理和43bの出力は、最終転置IP 41bに入力される。なお、図5bにおいて、排他的論理和の性質により42bと43bの順序は入れ替えても良い。
【0034】
図4、図5a および図5bで示した構成の特徴を以下に述べる。
【0035】
排他的論理和44a、42a、および43aは、マスクaおよびbなどのマスクにより、データを秘匿する。これにより、データ攪拌部において、左側32ビットのデータおよび右側32ビットのデータを外界から観測することが困難となる。しかし、上記マスクによるデータの秘匿を行った場合、図2の各S 箱14への入力が本来の平文データのものと異なる結果となる。したがって、各S 箱14の出力も異なる結果、出力される暗号文が本来の平文データに対応したもので無くなる。
【0036】
上記問題点を解消するために、各段の段関数においては、図4の排他的論理和25において、マスクbあるいはマスクb ̄と排他的論理和を行う。これにより、図5a において加えたマスクbまたはb ̄による秘匿の影響を除去する。
【0037】
さらに、スイッチSW12で0側の分岐の場合、排他的論理和32a において、図5a で加えたマスクa による秘匿の影響を除去する。すなわち、S 29の入力は、本来の平文入力の場合と同じ入力となる。S 29の出力は、排他的論理和33a において、マスクa により再び秘匿される。ここで、処理ブロック34a は事前計算によりテーブル参照で行われるので、外界から、S 29の直接の入出力に関係した電力消費のデータの有意な変異を観測することはできない。
【0038】
図4の排他的論理和24により、右側32ビットのデータに加えたマスクa あるいはマスクa ̄の影響を一旦除去する。しかし、右側32ビットのデータは依然、マスクbあるいはマスクb ̄により秘匿されているので安全である。右側32ビットのデータは次段の左側32ビットのデータになり、排他的論理和31において転置P 30の出力と排他的論理和を行うことにより、再び、マスクa (あるいはマスクa ̄)およびマスクb(あるいはマスクb ̄)によって秘匿され、その次の段の右側入力となる。したがって、上述の通り、各段の各S 箱における変換のDES との同一性は保たれる。
【0039】
また、最終段の出力においては、図5a において加えた各マスクの秘匿の影響を除去するため、図5bに示した、各マスクによる排他的論理和を行う。
【0040】
スイッチSW11、SW12、SW13、およびSW14は、乱数列{R 1i}によって制御する。スイッチSW21、SW22、およびSW23は、乱数列{R2i}によって制御する。例えば、各スイッチは、Rji=0のとき0側の分岐を、Rji =1のとき1側の分岐を選ぶ。スイッチの制御を行う乱数列{R 1i}および{R 2i}は、各ブロックの暗号化および復号の処理ごとに変化させることを特徴とする。例えば、ある暗号化の処理では各段のスイッチSW11、SW12、SW13、およびSW14はすべて0側で処理を行い、別の暗号化では、各段のスイッチSW11、SW12、SW13、およびSW14はすべて1側で処理を行う。
【0041】
乱数列{R 1i}と乱数列{R2i}に明白な依存関係があった場合、攻撃者にマスクa とマスクbを推測する手がかりを与えることになるので、乱数列{R 1i}と乱数列{R2i}には明らかな依存関係を持たない乱数列を用いる。
【0042】
理想的には、統計的に独立な2つの乱数列を用いることが推奨される。
【0043】
ただし、実際には、統計的依存関係が存在しても、その影響が充分小さければ、DPA対策として有効である。本発明を実装する手段として2つのm系列生成器を用意して、第1のm系列生成器の出力を{R1j}、第2のm系列生成器の出力を{R2j}とすることが考えられる。m系列の周期が充分長く2つのm系列生成器の系列長、対応する規約多項式式、初期値の一部または全部が異なるようにすれば上記条件を充分満たすと考えられる。連数列の別な実現手段として、1つのm系列生成器を用意し、それを1回の暗号化または復号の処理毎に2ビットを生成させ、その第1ビットを{R 1j}、第2ビットを{R 2j}として用いることが考えられる。
【0044】
ここではm系列生成器を具体例として挙げたが、実用上安全と考えられる乱数列生成器なら何を用いても良い。なお、この乱数列が外部からは推測されない様に実装する必要がある。あるいは別な実現手段として、乱数列をあらかじめ記憶装置に蓄えておき、それを順次参照することも可能である。なお、この乱数列が外部からは推測されない様に実装する必要がある。
【0045】
図4、図5a、および図5bにおいて、ビット列の1の数、すなわちハミング重みをH(a)で定義する。DPA では、データ暗号化処理に伴う消費電力の差異を観測して暗号化鍵に関する情報を収集する。上記マスクを用いたデータの隠蔽により、外界からの消費電力の計測と処理されるデータの対応をとることが困難となる。しかし、マスクのハミング重みに差異がある場合、複数の暗号化処理データの計測と統計情報により、マスクaとbのみを用いているデータのみを抽出することができる可能性がある。そして、そのようなデータのみの抽出が可能ならば、DPAの手法を用いることにより、従来の場合同様に鍵の抽出が可能となる。このように使用されているマスクがa なのかa ̄なのかの区別ができて充分な対策にならない。例えば、マスクa とa ̄あるいはマスクbとb ̄のハミング重みが同じとすれば、外界からの計測でマスクを判別することは困難となり安全であるが、逆に、マスクのビット重みに偏りがあるならば、安全性は著しく劣化する。
【0046】
したがって、図4、図5a、および図5bにおいて、H(a)=H(a ̄)=H(b)=H(b ̄)=n/2=16の条件を満たすマスクの選択(以下、マスクのハミング重みが等しい)ならば安全性は高い。ここでマスクaおよびbのビット数nは32であるので、マスクa、マスクb、およびそれらのビット反転のビット重みがそれぞれ16であるマスク値を使用することが推奨される。ただし、理想的には上記のようにマスクのハミング重みがマスクのビット長の丁度半分であるマスクを使用することが推奨されるが、ハミング重みがほぼ等しい2つのマスクを用い同様の効果が得られる。
【0047】
すなわち、各マスクのハミング重みが極端に偏っていなければ、外界からの計測でマスクを判別することは容易でなく、DPA対策としての効果が得られる。
【0048】
さらに、図4のDES の拡大転置26の特性に着目する。上記ハミング重みに着目したマスク値の選択と同様の理由から、排他的論理和32a および32bにおいて加えられる、E (a )とE (a ̄)のハミング重みが等しくなるマスクを選択する。すなわち、H (E(a))=H (E(a ̄))を満足するマスクを選択する。
【0049】
上記マスクの条件をDES の実装に当てはめると、例えばマスクa に対しては、マスクa を4ビットづつ区切ったときの各ブロックの“第1ビット”(左端のビット)の1の数=マスクa を4ビットづつ区切ったときの各ブロックの“第4ビット”(右端のビット)の1の数=4の条件を満たすことを要求する。すなわち、上記条件を満たすマスクa およびマスクbの選択を特徴とする。上記条件を満たすマスク値の例として、(10000011111011011110010100100001) や(11011010011001010011010110001010) などが使用できる。
【0050】
ただし、理想的には上記条件を満たすマスク値を使用することが推奨されるが、「マスクa を4ビットづつ区切ったときの各ブロックの“第1ビット”の1の数」と「マスクa を4ビットづつ区切ったときの各ブロックの“第4ビット”の1の数」が、極端に偏っていなければ同様の効果が得られる。
【0051】
なお、上記条件を満たすマスク値を使用する場合において、スイッチを制御する乱数列{R 1j}と{R 2j}が自明な相関を持たないならば、マスクa とマスクbが同一のマスク値であっても、DPA 対策として有効である。
【0052】
図1に示したDES の構成は最も広く知られているものであるが、処理の高速化をねらい、様々な等価変形を施したDES の構成法が知られている。
【0053】
以下、本発明をDES に適用した場合における変形例について説明する。
【0054】
図10はDES の等価変形の例である。図10に示すDES の実装においては、処理の効率化のために、拡大転置E 11と転置P 15を一つの転置にまとめEP53として処理している。入力された平文58を初期転置IP57において転置を行った出力は、二つに等分され、右側32ビットは拡大転置E 51a に入力され、左側32ビットは拡大転置E 51bに入力される。拡大転置E51aの出力48ビットは第一段の入力の右側48ビットである。拡大転置E51bの出力48ビットは第一段の入力の左側48ビットである。入力の右側48ビットは排他的論理和55において、拡大鍵K1と排他的論理和が行われ、S箱54に出力される。S箱54はテーブル参照により対応する出力をEP53に出力する。EP53において、入力は転置が行われ、排他的論理和56に出力される。排他的論理和56において、拡大転置E51bの出力である左側48ビットと、EP53の出力の排他的論理和が行われ、次段の入力の右側48ビットになる。上記第1段の処理を第16段まで繰り返す。第16段の出力において、右側48ビットは縮約転置E−152aに入力され、左側48ビットは縮約転置E−152bに入力され、それぞれの出力32ビットは最終転置IP−159に入力され、64ビットの暗号文60が出力される。
【0055】
このような変形版DES に本発明を適用し、DPA を防止する手法を以下に示す。
【0056】
図11は図10で示したDESの実装に対する、本発明の一実施形態である。図11において、E(a)/E(a ̄)は図3に示した、排他的論理和によるスイッチSW23のマスクの加え方を表す。すなわち、E(a)/E(a ̄)はE(a)もしくはE(a ̄)によるマスクを表す。
【0057】
図11は、図10で示したDESの実装に対しても、図4、図5a、および図5bで示した本発明の適用が可能であることを示す一実施形態である。
【0058】
入力された平文に初期転置を行った出力は、二つに等分され、右側32ビットは拡大転置E 61aに入力され、左側32ビットは拡大転置E 61bに入力される。拡大転置E61aの出力48ビットは排他的論理和64において、マスクE(a)/E(a ̄)と排他的論理和が行われ、排他的論理和65に出力される。排他的論理和65において、排他的論理和64の出力はマスクE(b)/E(b ̄)と排他的論理和が行われ、第1段の入力の右側48ビットになる。なお、排他的論理和の性質により、排他的論理和64と65の順序を入れ替えても良い。
【0059】
拡大転置E61bの出力48ビットは排他的論理和69において、マスクE(b)/E(b ̄)と排他的論理和が行われ、第1段の入力の左側48ビットになる。
【0060】
入力の右側48ビットは、排他的論理和66において、マスクE(a)/E(a ̄)と排他的論理和が行われ、次段の入力の左側48ビットになる。入力の右側48ビットは、排他的論理和67において、マスクE(b)/E(b ̄)と排他的論理和が行われ、排他的論理和68に出力される。排他的論理和67の出力は、排他的論理和68において、拡大鍵K1と排他的論理和が行われ、S^62に出力される。S^62の構造については後述する。SS^62の出力はEP63により転置が行われ、排他的論理和70に出力される。
【0061】
排他的論理和70において、入力データの左側48ビットと、EP63の出力は排他的論理和が行われ、次段の入力の右側48ビットになる。上記第1段の処理を第16段まで繰り返す。最終段の出力においては、第1段への入力で述べた処理の逆を行う。すなわち、右側48ビットには排他的論理和65、排他的論理和64および縮約転置E−1を行い、左側48ビットには排他的論理和65および縮約転置E−1を行い、それぞれの出力32ビットづつを最終転置に出力する。
【0062】
図12は図11に示したS^62の構造を示す図である。
【0063】
図12において、α=E(a)、α ̄= E(a ̄)と表す。S^62の入力は、排他的論理和71において、マスクαあるいはマスクα ̄と排他的論理和が行われ、S箱72に入力される。S箱72の出力は、排他的論理和73において、マスクP−1−1(α)あるいはマスクP−1−1(α ̄)と排他的論理和が行われ、S^62の出力となる。
【0064】
すなわち、図12の74は、本発明においては図4に示したスイッチSW12およびスイッチSW11を含む、処理ブロック34aと34bに対応する。ただし、74の処理は、暗号化および復号の処理中に行ってはならない。なぜならば、上記マスクによるデータの秘匿を行っていても、S箱72の入出力は秘匿されていないため、S箱の処理による消費電力の差異を用いた解読が試みられる可能性があるからである。
【0065】
本発明の実施形態においては、暗号化および復号を行う前に、事前計算により74の処理結果を作成し、暗号化および復号処理で使用することを特徴とする。例えば、各S箱について、S箱の入力のインデックスと出力を書き換えたテーブルを用意し、S^として暗号化および復号の処理に用いる。このとき、マスクαに対応したS^のテーブルとマスクα ̄に対応したS^のテーブルがS箱に用意される。
【0066】
図13はDES の等価変形の別の例である。
【0067】
図13に示すDES の実装においては、処理の効率化のために、拡大転置E 11と転置P 15を一つの転置にまとめEP83として処理している。入力された平文88を初期転置IP87において転置を行った出力は、二つに等分され、右側32ビットは転置P−181a に入力され、左側32ビットは転置P−181bに入力される。転置P−181aの出力32ビットは第一段の入力の右側32ビットである。転置P−181bの出力32ビットは第一段の入力の左側32ビットである。入力の右側32ビットはEP83に入力され、拡大転置を行われた結果が排他的論理和85に出力される。排他的論理和85において、拡大鍵K1と排他的論理和が行われ、S箱84に出力される。S箱84はテーブル参照により対応する出力を排他的論理和86に出力する。排他的論理和86において、拡大転置E81bの出力である左側32ビットと、S箱84の出力の排他的論理和が行われ、次段の入力の右側32ビットになる。上記第1段の処理を第16段まで繰り返す。
【0068】
第16段の出力において、右側32ビットは転置P82aに入力され、左側32ビットは転置P82bに入力され、それぞれの出力32ビットは最終転置IP−189に入力され、64ビットの暗号文90が出力される。このような変形版DES に本発明を適用し、DPA を防止する手法を以下に示す。
【0069】
図14は図13で示したDESの等価変形の例に対する、本発明の一実施形態である。
【0070】
図14において、P−1(a)/P−1(a ̄)は図3に示した、排他的論理和によるスイッチSW23のマスクの加え方を表す。すなわち、P−1(a)/P−1(a ̄)はP−1(a)もしくはP−1(a ̄)によるマスクを表す。
【0071】
図14は、図13で示したDESの実装に対しても、図4、図5a、および図5bで示した本発明の適用が可能であることを示す一実施形態である。
【0072】
入力された平文に初期転置を行った出力は、二つに等分され、右側32ビットは転置P−191a に入力され、左側32ビットは転置P−191bに入力される。転置P−191aの出力32ビットは排他的論理和94において、
−1(a)/P−1(a ̄)と排他的論理和が行われ、排他的論理和95に出力される。排他的論理和95において、排他的論理和94の出力はマスクP−1(b)/P−1(b ̄)と排他的論理和が行われ、第1段の入力の右側32ビットになる。転置P−191aの出力32ビットは排他的論理和94において、マスクP−1(b)/P−1(b ̄)と排他的論理和が行われ、第1段の入力の左側32ビットになる。なお、排他的論理和の性質により、排他的論理和94と95の順序を入れ替えても良い。
【0073】
入力の右側32ビットは、排他的論理和96において、マスクP−1(a)/P−1(a ̄)と排他的論理和が行われ、次段の入力の左側32ビットになる。入力の右側32ビットは、排他的論理和97において、マスクP−1(b)/P−1(b ̄)と排他的論理和が行われ、EP93に出力される。EP93において拡大転置を行った結果の48ビット出力は、排他的論理和98に出力され、拡大鍵K1と排他的論理和が行われ、S^92に出力される。S^92の構造については後述する。S^92の出力は、排他的論理和100に出力され、入力データの左側32ビットと、排他的論理和が行われ、次段の入力の右側32ビットになる。上記第1段の処理を第16段まで繰り返す。
【0074】
最終段の出力においては、第1段への入力で述べた処理の逆を行う。すなわち、右側32ビットには排他的論理和95、排他的論理和94および転置Pを行い、左側32ビットには排他的論理和95および転置Pを行い、それぞれの出力32ビットづつを最終転置に出力する。
【0075】
図15は図14に示したS^92の構造を示す図である。
【0076】
図15において、α=P−1(a)、α ̄=P−1(a ̄)と表す。
【0077】
S^92の入力は、排他的論理和101において、マスクαあるいはマスクα ̄と排他的論理和が行われ、S箱102に入力される。
【0078】
S箱102の出力は、排他的論理和103において、マスクP−1−1(α)あるいはマスクP−1−1(α ̄)と排他的論理和が行われ、S^92の出力となる。すなわち、図15の104は、本発明においては図4に示したスイッチSW12およびスイッチSW11を含む、34aと34bに対応する。ただし、104の処理は、暗号化および復号の処理中に行ってはならない。なぜならば、上記マスクによるデータの秘匿を行っていても、S箱102の入出力は秘匿されていないため、S箱の処理による消費電力の差異を用いた解読が試みられる可能性があるからである。すなわち、本発明の実施形態においては、暗号化および復号を行う前に、事前計算により104の処理結果を作成し、暗号化および復号処理で使用することを特徴とする。例えば、各S箱について、S箱の入力のインデックスと出力を書き換えたテーブルを用意し、S^として暗号化および復号の処理に用いる。
【0079】
このとき、マスクαに対応したS^のテーブルとマスクα ̄に対応したS^のテーブルがS箱に用意される。
【0080】
次に、図16、図17、および図18を用いて本発明を鍵スケジュール部に適用した一実施形態を説明する。
【0081】
真の鍵のビットパターンKをマスクするマスクパターンcとそのビット反転パターンc ̄を用意し、Kを指定された2項演算を用いてcによって変換した値をKcとし、また同じ2項演算を用いてKをc ̄によって変換した値をKc ̄とし、KcとKc ̄をあらかじめ記憶装置に記憶しておき、暗号化または復号を実施する度にランダムにKcとKc ̄の一方を選択し、それを真の鍵と同様の処理によって処理し、平文に対して前記2項演算によって作用させると共に、その2項演算の出力からcまたはc ̄の対応するパターンの影響を前記2項演算の逆変換により除去する。2項演算として排他的論理和を用いる暗号方式の例としてDES 方式に本発明を適用した場合の例を示す。まず、鍵KcとKc ̄の2つのマスクされた鍵を用意する。
【0082】
Kc = K (+) c
Kc ̄= K (+) c ̄
但し、記号(+) はビット毎の排他的論理和を表す。
【0083】
暗号化または復号に先立ってまずKc,Kc ̄のいずれか一方をランダムに選択し、DES の鍵スケジュール処理を行い、順次16通りの拡大鍵を生成する。Kcから拡大された16個の鍵は記号Kci(i=1、…16)で表し、Kc ̄から拡大された鍵はKc ̄i (i=1、…16)であらわす。Kcから拡大された拡大鍵はマスクcの影響を、またKc ̄から拡大された拡大鍵はマスクc ̄の影響をそれぞれ受けている。その影響はDES の鍵スケジュール処理により定まるが、ここでは、マスクを掛けていない真の鍵Kを鍵スケジュールで拡大した鍵をKi(i=1、…16)と表し、KiとKciの排他的論理和をciとし、KiとKc ̄iの排他的論理和をc ̄i とする。すなわちci= Ki (+)Kci
c ̄i = Ki (+) Kc ̄i
DES において各拡大鍵Kiは拡大転置Eの直後にビット毎の排他的論理和演算によってメッセージに作用させられる。本発明においては、Kiの代わりにKciまたはKc ̄iを作用させる。Kciを作用させた場合にはK ciを作用させた後に、ciを排他的論理和によって作用させてその影響を取り除き、Kc ̄iを作用させた場合にはci ̄を作用させた後に、排他的論理和演算で作用させその影響を取り除く。ci、ci ̄はそれぞれcおよびc ̄をDES の鍵スケジュールで拡大鍵同様に拡大することによって得られる。ciやci ̄は暗号化または復号の度に選択されたマスクcまたはc ̄から作成してもよい。但し、外部からの観測に対して最も漏洩する情報が少ない方法は、あらかじめciとc ̄iをすべて計算しておくことである。その場合、48ビットのマスク16通りを2セット、合計1536ビットあらかじめ用意することになる。このマスクは例えばICカードに本発明を適用した場合、少なくともカード毎固定で良いので、ci,c ̄iはROMに書き込んでおくことができる。このことはメモリ量の制約が強いICカードにおいては特に重要である。一般に同じビット数を記憶する場合、RAM やEEPROMに比べROM の面積は小さい。従って1536ビットのマスクをROM に記憶させることはRAM やEEPROMに記憶させるのに比べLSIチップ面積の使用効率が高くなる。
【0084】
図16にDES の鍵スケジュールを示す。
【0085】
図中(PC−1)111と(PC−2)113はビットの選択と転置を組み合わせた関数であり、記号ROT112は巡回シフト演算を表す。外部から入力された64ビットの鍵K115は(PC−1)111により、その内8ビットが捨てられ、28ビットの2つのビット列が巡回シフト112に渡される。巡回シフトされた合計56ビットのデータはPC−2変換113に入力され、拡大鍵48ビットが出力される。図では1段分の拡大鍵のみ出力しているが、巡回シフトとPC−2を繰り返すことによって2、3、...、16段の拡大鍵を生成する。
【0086】
図17は鍵スケジュール部に本発明を適用した場合の処理の流れを表している。
【0087】
鍵スケジュールの鍵入力段ではスイッチSW31により、KcとKc ̄からランダムにほぼ1 /2 の確率で選択し、鍵スケジュール部122に入力される。以下の鍵スケジュール部内での処理は通常のDES の鍵スケジュール処理と同じである。出力される拡大鍵123は入力された鍵がKcであれば、Kci、Kc ̄の時にはKc ̄iとなる。
【0088】
図18はマスクの影響を受けた拡大鍵を各ラウンド関数においてメッセージに作用させる様子を示している。
【0089】
KciまたはKc ̄iの一方をメッセージに作用させる方法は、通常の場合Kiを作用させるのとまったく同じであり、拡大転置E131の出力48ビットに、排他的論理和132において拡大鍵KciまたはKc ̄iをビット毎の排他的論理和演算によって作用させる。こうして作用させた結果はマスクcまたはc ̄の影響を受けているのでこのままS箱に入力させると正しい暗号変換ができなくなる。従ってS箱に入力する前にマスクcまたはc ̄の影響を取り除く処理が必要である。具体的にはマスクの影響がciの場合、ciを排他的論理和133によってS箱134の入力前に作用させる。排他的論理和の逆変換は排他的論理和であるので、これによってciの影響が除去できる。マスクの影響がc ̄iの場合も同様である。
【0090】
本実施形態においてマスクc ̄はマスクcのビット反転に選べば、拡大鍵の各ビットは1と0の値をほぼ均等に採る。これによって、暗号装置外部からの種々の観測に対して鍵に関する情報の漏洩を無くすことができる。漏洩する情報をできる限り少なくするには、さらにciとc ̄iのハミング重みが近い値をとることが望ましい。但しciはcを鍵スケジュールに通した結果であり全ての段のciのハミング重みを完全にコントロールすることは困難である。そこで、例えば元のマスクcのハミング重みがビットサイズの1/2 であるように選ぶ方法が考えられる。
【0091】
上述した実施形態においては、DES 方式への適用について詳しく述べたが、本発明はこれに限らず、排他的論理和の様な2項演算、ビット入れ替えに相当する転置、S 箱に相当する換字の3種の一部または全部を使用して構成される様な暗号方式全般に適用可能である。
【0092】
【発明の効果】
本発明によれば、与えられた暗号化および復号処理の同一性を保証しつつ、DPA による解読を困難にすることにより、DPA に対する安全性を増大することができる。
【図面の簡単な説明】
【図1】DES アルゴリズムの全体構成を示す図。
【図2】DES の段関数の構成を示す図。
【図3】DESの規格表に従うS箱の内容の一例を示す図。
【図4】本発明による段関数にマスクを加えた構成を示す図。
【図5】本発明による入力段及び最終段でマスクを加えた構成を示す図。
【図6】拡大転置Eの表を示す図。
【図7】転置Pの表を示す図。
【図8】マスクaの場合の、入力が(000000、000001、…111111)に対応する隠蔽されたS1の出力を示す図。
【図9】マスクa(aのビット反転)のテーブルを示す図。
【図10】DES アルゴリズムの一実装例の構成を示す図。
【図11】図10の構成において、本発明による段関数にマスクを加えた構成を示す図。
【図12】図11のS^の構成を示す図。
【図13】DES アルゴリズムの別の一実装例の構成を示す図。
【図14】図13の構成において、本発明による段関数にマスクを加えた構成を示す図。
【図15】図14のS^の構成を示す図。
【図16】DES アルゴリズムの鍵スケジュール部の構成を示す図。
【図17】本発明による鍵スケジュール部にマスクを加える構成を示す図。
【図18】本発明による段関数に鍵スケジュール部で加えたマスクを加える構成を示す図。
【符号の説明】
1…データ攪拌部
2…鍵スケジュール部
3…平文
4…初期転置IP
5…段関数
6…最終転置IP−1
7…暗号文
8…鍵
11…拡大転置E
12…拡大鍵
13…排他的論理和
14…S箱
15…転置P
16…排他的論理和
17…段関数
24、25、27、31、32a、32b、33a、33b…排他的論理和
26…拡大転置E
29…S箱
SW11,SW12、SW13、SW21、SW22、SW23…スイッチ
34a、34b…処理
42a、43a、44a、42b、43b、44b…排他的論理和
41a…初期転置IP
41b…最終転置IP−1

Claims (30)

  1. 平文ブロックを与えられた鍵情報に依存して暗号文ブロックに変換する暗号化装置であって、
    あらかじめ定められたひとつまたは複数のマスクパターンとそのビット反転のマスクパターンの各ペア(a,a ̄)(iは1以上の正の整数)の中から一方を、暗号化を行う毎にランダムに選択する手段と、
    装置内部の平文に依存したビットを、前記選択手段により選択されたマスクパターンによってマスクする手段と、
    暗号文を出力する前に、暗号文から前記マスクaの影響を除去する手段とを具備したことを特徴とする暗号化装置。
  2. 平文ブロックを与えられた鍵情報に依存して暗号文ブロックに変換する暗号化装置であって、
    あらかじめ定められたひとつまたは複数のマスクパターンとそのビット反転のマスクパターンの各ペア(a,a ̄)(iは1以上の正の整数)の中から一方を、暗号化を行う毎にランダムに選択する手段と、
    装置内部の中間的なビットデータを、前記選択手段により選択されたマスクパターンによってマスクする手段と、
    前記マスク手段によりマスクされた中間的なビットデータから前記マスクaの影響を除去する手段とを具備したことを特徴とする暗号化装置。
  3. 平文ブロックを与えられた鍵情報に依存して暗号文ブロックに変換する暗号化装置であって、
    装置内部の中間的なデータにデータ変換を行うデータ変換手段と、
    あらかじめ定められたひとつまたは複数のマスクパターンとそのビット反転のマスクパターンの各ペア(a,a ̄)(iは1以上の正の整数)の中から一方を、暗号化を行う毎にランダムに選択する手段と、
    前記データ変換手段の入力を、前記選択手段により選択されたマスクパターンによってマスクする手段と、
    前記マスク手段によりマスクされた、前記データ変換手段の出力から前記マスクaの影響を除去する手段とを具備したことを特徴とする暗号化装置。
  4. 前記装置内部の平文に依存したビットを選択されたマスクパターンによってマスクする手段、および前記暗号文から該マスクaの影響を除去する手段が、排他的論理和、定数wを法とする加算または減算、および定数wを法とする乗算または除算のいずれかで構成されることを特徴とする請求項1記載の暗号化装置。
  5. 前記装置内部の中間的なビットデータを選択されたマスクパターンによってマスクする手段、およびマスクされた中間的なビットデータから該マスクaの影響を除去する手段は、排他的論理和、定数wを法とする加算または減算、および定数wを法とする乗算または除算のいずれかで構成されることを特徴とする請求項2記載の暗号化装置。
  6. 前記データ変換手段、前記データ変換手段の入力を前記選択されたマスクパターンによってマスクする手段、および前記マスクされたデータの変換手段の出力から該マスクaの影響を除去する手段は、排他的論理和、定数wを法とする加算または減算、および定数wを法とする乗算または除算のいずれかで構成されることを特徴とする請求項3記載の暗号化装置。
  7. 前記データ変換手段は、ビット入れ替え手段またはビット換字手段のいずれかで構成されることを特徴とする請求項3の暗号化装置。
  8. 前記あらかじめ定められたひとつ又は複数のマスクパターンとそのビット反転のマスクパターンの各ペア(a,a ̄)(iは1以上の正の整数)の中から一方を、暗号化を行う毎にランダムに選択する手段と、前記データ変換手段の入力を、前記マスクパターンaによってマスクする手段と、および前記マスクされた、前記データ変換手段の出力から前記マスクaの影響を除去する手段と、
    をテーブル形式で記憶する第1の記憶手段と、
    前記データ変換手段の入力をマスクパターンa ̄によってマスクする手段と、
    前記マスクされた前記データ変換手段の出力から前記マスクa ̄の影響を除去する手段と、
    をテーブル形式で記憶する第2の記憶手段と、
    前記第1の記憶手段と第2の記憶手段の一方を、暗号化を行う毎にランダムに選択し、マスクされたデータに対して前記データ変換手段の処理を行う、マスクされたデータの変換手段とをさらに有することを特徴とする請求項3記載の暗号化装置。
  9. 前記マスクパターンとそのビット反転のマスクパターンのペア(a,a ̄)が、あらかじめ定められた固定のマスクパターンとそのビット反転のマスクパターンのペア(a,a ̄)で構成されることを特徴とする請求項1記載の暗号化装置。
  10. 前記マスクパターンとそのビット反転のマスクパターンのペア(a,a ̄)が、必ずしも秘密でないことを特徴とする請求項1記載の暗号化装置。
  11. nビット長のビット列xの1のビットの数を示すハミング重みをH(x)と定義し、前記nビット長のビット列xが前記マスクaのとき、前記マスクaのハミング重みH(a)が0<H(a)<nを満足することを特徴とする請求項1記載の暗号化装置。
  12. nビット長のビット列xの1のビットの数を示すハミング重みをH(x)と定義し、前記nビット長のビット列xが前記マスクaのとき、前記マスクaのハミング重みH(a)と、前記マスクaのビット反転a ̄のハミング重みH(a ̄)の差の絶対値が、n/2未満であることを特徴とする請求項1記載の暗号化装置。
  13. 暗号ブロックを与えられた鍵情報に依存して平文ブロックに変換する復号装置であって、あらかじめ定められたひとつまたは複数のマスクパターンとそのビット反転のマスクパターンの各ペア(a,a ̄)(iは1以上の正の整数)の中から一方を、復号を行う毎にランダムに選択する手段と、
    装置内部の暗号文に依存したビットを、前記選択手段により選択されたマスクパターンによってマスクする手段と、
    平文を出力する前に、前記平文から前記マスクaの影響を除去する手段とを具備したことを特徴とする復号装置。
  14. 暗号ブロックを与えられた鍵情報に依存して平文ブロックに変換する復号装置であって、
    あらかじめ定められたひとつまたは複数のマスクパターンとそのビット反転のマスクパターンの各ペア(a,a ̄)(iは1以上の正の整数)の中から一方を、復号を行う毎にランダムに選択する手段と、
    装置内部の中間的なビットデータを、前記選択手段により選択されたマスクパターンによってマスクする手段と、
    前記マスク手段によりマスクされた中間的なビットデータから前記マスクaの影響を除去する手段とを具備したことを特徴とする復号装置。
  15. 装置内部の中間的なデータに対してデータ変換を行なうデータ変換手段を備え、暗号ブロックを与えられた鍵情報に依存して前記データ変換手段により平文ブロックに変換する復号装置であって、
    あらかじめ定められたひとつまたは複数のマスクパターンとそのビット反転のマスクパターンの各ペア(a,a ̄)(iは1以上の正の整数)の中から一方を、復号を行う毎にランダムに選択する手段と、
    前記データ変換手段の入力を、前記選択手段により選択されたマスクパターンによってマスクする手段と、
    前記マスク手段によりマスクされた、前記データ変換手段の出力から前記マスクaの影響を除去する手段とを具備したことを特徴とする復号装置。
  16. 前記装置内部の暗号文に依存したビットを選択されたマスクパターンによってマスクする手段と、該暗号文から該マスクaの影響を除去する手段とが、排他的論理和、定数wを法とする加算または減算、および定数wを法とする乗算または除算のいずれかで構成されることを特徴とする請求項13記載の復号装置。
  17. 前記装置内部の中間的なビットデータを選択されたマスクパターンによってマスクする手段と、マスクされた中間的なビットデータから該マスクaの影響を除去する手段とが、排他的論理和、定数wを法とする加算または減算、および定数wを法とする乗算または除算のいずれかで構成されることを特徴とする請求項14記載の復号装置。
  18. 前記データ変換手段と、前記選択されたマスクパターンを用いて、前記第1のデータ変換手段の入力を選択されたマスクパターンによってマスクする手段と、前記マスクされた第1のデータ変換手段の出力から該マスクaの影響を除去する手段とが、排他的論理和、定数wを法とする加算または減算、および定数wを法とする乗算または除算のいずれかで構成されることを特徴とする請求項15記載の復号装置。
  19. 前記データ変換手段は、ビット入れ替え変換手段またはビット換字手段のいずれかで構成されることを特徴とする請求項15の暗号化装置。
  20. あらかじめ定められたひとつまたは複数のマスクパターンとそのビット反転のマスクパターンの各ペア(a,a ̄)(i=1以上の正の整数)の中から一方を、復号を行う毎にランダムに選択する手段と、
    前記データ変換手段の入力をマスクパターンaによってマスクする手段と、
    前記マスクされた該データ変換手段の出力から前記マスクaの影響を除去する手段、
    をテーブル形式で記憶する第1の記憶手段と、
    前記データ変換手段の入力をマスクパターンa ̄によってマスクする手段と、
    前記マスクされた該データ変換手段の出力から前記マスクa ̄の影響を除去する手段と、
    をテーブル形式で記憶する第2の記憶手段と、
    前記第1の記憶手段と第2の記憶手段の一方を、暗号化を行う毎にランダムに選択し、マスクされたデータに対して前記データ変換手段の処理を行うマスクされたデータの変換手段とをさらに有することを特徴とする請求項15記載の復号装置。
  21. 前記マスクパターンとそのビット反転のマスクパターンのペア(a,a ̄)が、あらかじめ定められた固定のマスクパターンとそのビット反転のマスクパターンのペア(a,a ̄)であることを特徴とする請求項13記載の復号装置。
  22. 前記マスクパターンとそのビット反転のマスクパターンのペア(a,a ̄)が、必ずしも秘密でないことを特徴とする請求項13記載の復号装置。
  23. nビット長のビット列xの1のビットの数を示すハミング重みをH(x)と定義し、前記nビット長のビット列xが前記マスクaのとき、前記マスクaのハミング重みH(a)が、0<H(a)<nを満足することを特徴とする請求項13記載の復号装置。
  24. nビット長のビット列xの1のビットの数を示すハミング重みをH(x)と定義し、前記nビット長のビット列xが前記マスクaのとき、前記マスクaのハミング重みH(a)と、前記マスクaのビット反転a ̄のハミング重みH(a ̄)の差の絶対値が、n/2未満であることを特徴とする請求項13記載の復号装置。
  25. 平文ブロックを与えられた鍵情報に依存して暗号文ブロックに変換させるための、コンピュータ読み出し可能なプログラムコード手段が記憶されたコンピュータ使用可能なプログラム記憶媒体であって、
    コンピュータに、あらかじめ定められたひとつまたは複数のマスクパターンとそのビット反転のマスクパターンの各ペア(a,a ̄)(iは1以上の正の整数)の中から一方を、暗号化を行う毎にランダムに選択させるためのコンピュータ読み出し可能なプログラムコード手段と、
    コンピュータに、前記選択されたマスクパターンを用いて、方法内部の平文に依存したビットを選択されたマスクパターンによってマスクさせるためのコンピュータ読み出し可能なプログラムコード手段と、
    コンピュータに、暗号文を出力する前に、暗号文から前記マスクaの影響を除去させるためのコンピュータ読み出し可能なプログラムコード手段とを具備したことを特徴とするプログラム記憶媒体。
  26. 平文ブロックを与えられた鍵情報に依存して暗号文ブロックに変換する暗号化装置であって、
    あらかじめ定められたひとつ又は複数のマスクパターンとそのビット反転のマスクパターンの各ペア(a,a ̄)(iは1以上お正の整数)の中から一方を、暗号化を行なう毎にランダムに選択する手段と、
    装置内部の鍵に依存したビットを、前記選択手段により選択されたマスクパターンによってマスクする手段と、
    装置内部の中間的なデータに対して鍵によってデータ変換を行なうデータ変換手段と、
    前記データ変換手段の出力から前記マスクaの影響を除去する手段とを具備したことを特徴とする暗号化装置。
  27. 前記マスクパターンとそのビット反転のマスクパターンのペア(a,a ̄)が、あらかじめ定められた固定のマスクパターンとそのビット反転のマスクパターンのペア(a、a ̄)で構成されることを特徴とする請求項26記載の暗号化装置。
  28. 前記マスクパターンとそのビット反転のマスクパターンのペア(a、a ̄)が、必ずしも秘密でないことを特徴とする請求項26記載の暗号化装置。
  29. nビット長のビット列xの1のビットの数を示すハミング重みをH(x)と定義し、前記nビット長のビット列xが前記マスクaのとき、前記マスクaのハミング重みH(a)が0<H(a)<nを満足することを特徴とする請求項26記載の暗号化装置。
  30. nビット長のビット列xの1のビットの数を示すハミング重みをH(x)と定義し、前記nビット長のビット列xが前記マスクaのとき、前記マスクaのハミング重みH(a)と、前記マスクaのビット反転a ̄のハミング重みH(a)の差の絶対値が、n/2未満であることを特徴とする請求項26記載の暗号化装置。
JP23392198A 1998-08-20 1998-08-20 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 Expired - Lifetime JP3600454B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP23392198A JP3600454B2 (ja) 1998-08-20 1998-08-20 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
EP99306547A EP0981223B1 (en) 1998-08-20 1999-08-19 Encryption/decryption apparatus
US09/377,064 US6940975B1 (en) 1998-08-20 1999-08-19 Encryption/decryption apparatus, encryption/decryption method, and program storage medium therefor
DE69936024T DE69936024T2 (de) 1998-08-20 1999-08-19 Vorrichtung zur Verschlüsselung/Entschlüsselung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23392198A JP3600454B2 (ja) 1998-08-20 1998-08-20 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体

Publications (2)

Publication Number Publication Date
JP2000066585A JP2000066585A (ja) 2000-03-03
JP3600454B2 true JP3600454B2 (ja) 2004-12-15

Family

ID=16962695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23392198A Expired - Lifetime JP3600454B2 (ja) 1998-08-20 1998-08-20 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体

Country Status (4)

Country Link
US (1) US6940975B1 (ja)
EP (1) EP0981223B1 (ja)
JP (1) JP3600454B2 (ja)
DE (1) DE69936024T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014110630A (ja) * 2012-11-30 2014-06-12 Electronics And Telecommunications Research Institute 低電力暗号化装置及び方法
US9166789B2 (en) 2012-03-06 2015-10-20 Kabushiki Kaisha Toshiba Cryptographic processing apparatus
US11587467B2 (en) 2020-08-27 2023-02-21 Kabushiki Kaisha Toshiba Encryption processing device, encryption processing method, and computer program product

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2776445A1 (fr) * 1998-03-17 1999-09-24 Schlumberger Ind Sa Procede de securisation de donnees mettant en oeuvre un algorithme cryptographique
FR2784829B1 (fr) * 1998-10-16 2000-12-29 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
JP4317607B2 (ja) * 1998-12-14 2009-08-19 株式会社日立製作所 情報処理装置、耐タンパ処理装置
DE19960047B4 (de) * 1999-01-29 2006-01-26 Ibm Corp. Verfahren und Einheit zur sicheren Informationsbehandlung in einem kryptographischen Informationsverarbeitungssystem
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
DE19910184A1 (de) * 1999-03-09 2000-09-14 Deutsche Telekom Ag Verfahren zur Erhöhung der Datensicherheit von Implementierungen kryptographischer Algorithmen
JP2000305453A (ja) 1999-04-21 2000-11-02 Nec Corp 暗号化装置,復号装置,および暗号化・復号装置
DE19921633A1 (de) * 1999-05-10 2000-11-16 Deutsche Telekom Ag Verfahren zur Implementierung kryptographischer Algorithmen
DE19936529C1 (de) * 1999-08-03 2001-02-01 Orga Kartensysteme Gmbh Verfahren zur Verschlüsselung von Daten mit Hilfe einer Standard-Verschlüsselung in einem mikroprozessorgestützten, tragbaren Datenträger
FR2802741B1 (fr) * 1999-12-15 2003-10-31 Sagem Dispositif mettant en oeuvre un algorithme de chiffrage par bloc a repetition de rondes
FR2804524B1 (fr) * 2000-01-31 2002-04-19 Oberthur Card Systems Sas Procede d'execution d'un protocole cryptographique entre deux entites electroniques
CA2298990A1 (en) * 2000-02-18 2001-08-18 Cloakware Corporation Method and system for resistance to power analysis
KR100465072B1 (ko) * 2000-03-09 2005-01-13 니뽄 덴신 덴와 가부시키가이샤 보조 변환을 이용한 블럭 암호 장치
JP4706811B2 (ja) * 2000-09-06 2011-06-22 ネッツエスアイ東洋株式会社 依頼計算を用いた演算装置、及び記録媒体
US20020061107A1 (en) * 2000-09-25 2002-05-23 Tham Terry K. Methods and apparatus for implementing a cryptography engine
CA2327911A1 (en) 2000-12-08 2002-06-08 Cloakware Corporation Obscuring functions in computer software
US7366300B2 (en) * 2000-12-13 2008-04-29 Broadcom Corporation Methods and apparatus for implementing a cryptography engine
US7502463B2 (en) * 2000-12-13 2009-03-10 Broadcom Corporation Methods and apparatus for implementing a cryptography engine
US9323955B2 (en) 2000-12-21 2016-04-26 Gemalto Sa Method for protecting a logic or mathematical operator installed in an electronic module with a microprocessor as well as the associated embedded electronic module and the system
FR2820577B1 (fr) * 2001-02-08 2003-06-13 St Microelectronics Sa Procede securise de calcul cryptographique a cle secrete et composant mettant en oeuvre un tel procede
FR2820576B1 (fr) * 2001-02-08 2003-06-20 St Microelectronics Sa Procede de cryptage protege contre les analyses de consommation energetique, et composant utilisant un tel procede de cryptage
JP2002247025A (ja) * 2001-02-22 2002-08-30 Hitachi Ltd 情報処理装置
JP4678968B2 (ja) * 2001-03-13 2011-04-27 株式会社東芝 素数判定装置、方法及びプログラム
JP4664514B2 (ja) * 2001-03-14 2011-04-06 株式会社東芝 素数生成装置及びプログラム
JP4188571B2 (ja) * 2001-03-30 2008-11-26 株式会社日立製作所 情報処理装置の演算方法および耐タンパ演算攪乱実装方式
JP3844116B2 (ja) * 2001-04-16 2006-11-08 株式会社ルネサステクノロジ 暗号化・復号化装置とicカード
JP2002328845A (ja) * 2001-05-07 2002-11-15 Fujitsu Ltd 半導体集積回路及びicカードのセキュリティー保護方法
JP4596686B2 (ja) * 2001-06-13 2010-12-08 富士通株式会社 Dpaに対して安全な暗号化
GB0121793D0 (en) * 2001-09-08 2001-10-31 Amphion Semiconductor Ltd An apparatus for generating encryption/decryption keys
GB2379587B (en) * 2001-09-10 2003-08-20 Simon Alan Spacey A method and apparatus for securing electronic information
DE10149191C2 (de) * 2001-10-05 2003-12-18 Infineon Technologies Ag Verfahren und Vorrichtung zum Ermitteln von Ursprungsausgangsdaten aus Ursprungseingangsdaten auf der Basis einer kryptographischen Operation
WO2003075506A1 (en) * 2002-03-07 2003-09-12 Axalto Sa Method for making safe an electronic cryptography assembly with a secret key
FR2838210B1 (fr) * 2002-04-03 2005-11-04 Gemplus Card Int Procede cryptographique protege contre les attaques de type a canal cache
JP4128395B2 (ja) * 2002-05-23 2008-07-30 三菱電機株式会社 データ変換装置
US7403620B2 (en) * 2002-07-02 2008-07-22 Stmicroelectronics S.A. Cyphering/decyphering performed by an integrated circuit
EP1387519A3 (fr) * 2002-07-09 2004-02-18 Cp8 Procédé de sécurisation d'un ensemble électronique contre des attaques par introduction d'erreurs
JP4357815B2 (ja) * 2002-09-11 2009-11-04 株式会社東芝 暗号演算回路
JP2004126841A (ja) * 2002-10-01 2004-04-22 Renesas Technology Corp プログラム実装方法
GB0223692D0 (en) * 2002-10-11 2002-11-20 Multiplex Photonics Ltd Apparatus and method of encoding and decoding information
RU2003131278A (ru) * 2002-10-29 2005-04-20 Хай-О Информтех Эсдиэн Биэйчди (MY) Способ шифрования данных
JP4588969B2 (ja) * 2002-10-29 2010-12-01 三菱電機株式会社 セキュア装置
JP3819872B2 (ja) 2003-05-23 2006-09-13 株式会社東芝 論理演算装置
JP3927151B2 (ja) * 2003-05-30 2007-06-06 株式会社東芝 記憶装置
JP2005031471A (ja) * 2003-07-07 2005-02-03 Sony Corp 暗号処理装置、および暗号処理方法
US20050024402A1 (en) * 2003-07-31 2005-02-03 Quintana Jason M. Transfer of data from a controller to an output device
JP3998616B2 (ja) * 2003-09-10 2007-10-31 株式会社東芝 暗号化/復号モジュール
JP2004078976A (ja) * 2003-09-12 2004-03-11 Hitachi Ltd 情報処理装置、耐タンパ処理装置
JP4353435B2 (ja) 2004-02-12 2009-10-28 株式会社日立超エル・エス・アイ・システムズ 乱数発生方法と半導体集積回路装置及び電子装置
KR101061906B1 (ko) 2004-02-19 2011-09-02 삼성전자주식회사 전력분석공격에 안전한 기본 연산 장치 및 방법
KR100594265B1 (ko) * 2004-03-16 2006-06-30 삼성전자주식회사 매스킹 방법이 적용된 데이터 암호처리장치, aes암호시스템 및 aes 암호방법.
US7899190B2 (en) 2004-04-16 2011-03-01 Research In Motion Limited Security countermeasures for power analysis attacks
EP1601132B1 (en) * 2004-05-24 2006-11-15 Research In Motion Limited Table Masking for Resistance to Power Analysis Attacks
US7848514B2 (en) 2004-05-24 2010-12-07 Research In Motion Limited Table masking for resistance to power analysis attacks
US7949883B2 (en) * 2004-06-08 2011-05-24 Hrl Laboratories, Llc Cryptographic CPU architecture with random instruction masking to thwart differential power analysis
WO2006006199A1 (ja) 2004-07-07 2006-01-19 Mitsubishi Denki Kabushiki Kaisha 電子素子及びデータ処理方法
WO2006098015A1 (ja) 2005-03-16 2006-09-21 Mitsubishi Denki Kabushiki Kaisha データ変換装置及びデータ変換方法
JP4783104B2 (ja) * 2005-09-29 2011-09-28 株式会社東芝 暗号化/復号装置
US8059530B1 (en) * 2005-09-30 2011-11-15 GlobalFoundries, Inc. System and method for controlling network access
FR2893796B1 (fr) * 2005-11-21 2008-01-04 Atmel Corp Procede de protection par chiffrement
JP2007288254A (ja) * 2006-04-12 2007-11-01 Sony Corp 通信システム、通信装置および方法、並びにプログラム
KR100737171B1 (ko) 2006-05-04 2007-07-10 경북대학교 산학협력단 아리아에 대한 전력분석공격에 대응하는 저메모리형 마스킹방법
JP4960044B2 (ja) 2006-09-01 2012-06-27 株式会社東芝 暗号処理回路及びicカード
JP5203594B2 (ja) * 2006-11-07 2013-06-05 株式会社東芝 暗号処理回路及び暗号処理方法
JP4909018B2 (ja) * 2006-11-16 2012-04-04 富士通株式会社 共通鍵暗号のための暗号化装置
JP4936996B2 (ja) * 2007-05-24 2012-05-23 株式会社東芝 非線形データ変換器、暗号化装置、および復号装置
CA2688592C (en) * 2007-10-01 2014-04-15 Research In Motion Limited Substitution table masking for cryptographic processes
JP5354914B2 (ja) * 2008-01-18 2013-11-27 三菱電機株式会社 暗号処理装置及び復号処理装置及びプログラム
EP2173056A1 (fr) * 2008-09-04 2010-04-07 Gemplus Procédé de contre-mesure dans un composant électronique mettant en ouvre un algorithme de cryptographie à clef secrète
CN101729241B (zh) * 2008-10-23 2012-01-25 国民技术股份有限公司 抵御差分能量攻击的aes加密方法
JP4687775B2 (ja) * 2008-11-20 2011-05-25 ソニー株式会社 暗号処理装置
JP5202350B2 (ja) * 2009-01-16 2013-06-05 三菱電機株式会社 暗号処理装置及び暗号処理方法及び暗号処理プログラム
JP4837058B2 (ja) * 2009-03-10 2011-12-14 株式会社東芝 演算装置及びプログラム
JP5458611B2 (ja) * 2009-03-13 2014-04-02 ソニー株式会社 暗号処理装置
JP2010245881A (ja) * 2009-04-07 2010-10-28 Toshiba Corp 暗号処理装置
JP2010288233A (ja) * 2009-06-15 2010-12-24 Toshiba Corp 暗号処理装置
US8615078B2 (en) * 2009-08-21 2013-12-24 Electronics And Telecommunications Research Institute Method and apparatus for processing F-function in seed encryption system
FR2952773B1 (fr) * 2009-11-13 2012-07-20 Inst Telecom Telecom Paristech Circuit electronique de faible complexite protege par masquage personnalise
WO2011101994A1 (ja) 2010-02-22 2011-08-25 株式会社東芝 暗号化装置
JP5544611B2 (ja) 2010-07-28 2014-07-09 学校法人立命館 耐タンパ性メモリ集積回路およびそれを利用した暗号回路
US8525545B1 (en) 2011-08-26 2013-09-03 Lockheed Martin Corporation Power isolation during sensitive operations
US8624624B1 (en) 2011-08-26 2014-01-07 Lockheed Martin Corporation Power isolation during sensitive operations
JP6028798B2 (ja) * 2012-06-28 2016-11-16 日本電気株式会社 暗号化装置、暗号化方法およびプログラム
DE102012018924A1 (de) 2012-09-25 2014-03-27 Giesecke & Devrient Gmbh Seitenkanalgeschützte Maskierung
WO2014205369A1 (en) * 2013-06-21 2014-12-24 Cryptography Research, Inc. Signal transition analysis of a circuit
TWI521935B (zh) * 2013-08-08 2016-02-11 新唐科技股份有限公司 加解密裝置及其加解密方法
US10002177B1 (en) 2013-09-16 2018-06-19 Amazon Technologies, Inc. Crowdsourced analysis of decontextualized data
CN103647638A (zh) * 2013-12-03 2014-03-19 北京中电华大电子设计有限责任公司 一种抵抗侧信道攻击的des掩码方法
JP6371197B2 (ja) * 2014-10-31 2018-08-08 株式会社東海理化電機製作所 暗号処理装置
JP6877889B2 (ja) * 2016-04-08 2021-05-26 ソニーグループ株式会社 暗号化装置、暗号化方法、復号化装置、及び復号化方法
EP3258639A1 (en) * 2016-06-14 2017-12-20 Gemalto Sa Cryptography apparatus protected against side-channel attack using constant hamming weight substitution-box
FR3056789B1 (fr) * 2016-09-27 2018-09-21 Safran Identity & Security Procede de chiffrement ou de dechiffrement symetrique par bloc
US11164484B2 (en) * 2017-01-20 2021-11-02 Nippon Telegraph And Telephone Corporation Secure computation system, secure computation device, secure computation method, and program
CN107769910B (zh) * 2017-11-15 2020-08-04 东南大学 一种基于Latch PUF的抗边信道攻击DES防护方法及电路
EP3499788B1 (en) * 2017-12-15 2020-07-29 Secure-IC SAS Dynamic masking
US11700111B2 (en) * 2019-06-26 2023-07-11 Cryptography Research, Inc. Platform neutral data encryption standard (DES) cryptographic operation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3962539A (en) 1975-02-24 1976-06-08 International Business Machines Corporation Product block cipher system for data security
US5323464A (en) * 1992-10-16 1994-06-21 International Business Machines Corporation Commercial data masking
CA2147087A1 (en) * 1995-04-13 1996-10-14 Guy Begin Method and apparatus for correcting and decoding a sequence of branches representing encoded data bits into estimated information bits
US5870470A (en) * 1996-02-20 1999-02-09 International Business Machines Corporation Method and apparatus for encrypting long blocks using a short-block encryption procedure
US6031911A (en) * 1996-07-18 2000-02-29 Entrust Technologies, Ltd. Practical S box design
JPH10154976A (ja) 1996-11-22 1998-06-09 Toshiba Corp タンパーフリー装置
FR2776445A1 (fr) 1998-03-17 1999-09-24 Schlumberger Ind Sa Procede de securisation de donnees mettant en oeuvre un algorithme cryptographique

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9166789B2 (en) 2012-03-06 2015-10-20 Kabushiki Kaisha Toshiba Cryptographic processing apparatus
JP2014110630A (ja) * 2012-11-30 2014-06-12 Electronics And Telecommunications Research Institute 低電力暗号化装置及び方法
US11587467B2 (en) 2020-08-27 2023-02-21 Kabushiki Kaisha Toshiba Encryption processing device, encryption processing method, and computer program product

Also Published As

Publication number Publication date
EP0981223A2 (en) 2000-02-23
DE69936024T2 (de) 2008-01-10
US6940975B1 (en) 2005-09-06
EP0981223B1 (en) 2007-05-09
DE69936024D1 (de) 2007-06-21
JP2000066585A (ja) 2000-03-03
EP0981223A3 (en) 2001-03-14

Similar Documents

Publication Publication Date Title
JP3600454B2 (ja) 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
CN106788974B (zh) 掩码s盒、分组密钥计算单元、装置及对应的构造方法
JP5229315B2 (ja) 共通鍵暗号機能を搭載した暗号化装置及び組込装置
EP0839418B1 (en) Cryptographic method and apparatus for non-linearly merging a data block and a key
JP4596686B2 (ja) Dpaに対して安全な暗号化
JP5987250B2 (ja) カスタマイズされたマスキングによって保護される低複雑度の電子回路
Hemme et al. Differential fault analysis on the SHA1 compression function
JPH0863097A (ja) データを暗号化するための対称暗号化方法およびシステム
RU2357365C2 (ru) Способ и устройство для выполнения криптографического вычисления
CN100511331C (zh) 密码处理装置、密码处理方法及其计算机程序
JP2001324925A5 (ja)
CN110572255B (zh) 基于轻量级分组密码算法Shadow的加密方法、装置及计算机可读介质
Rijmen et al. A family of trapdoor ciphers
Ara et al. Dynamic key dependent S-Box for symmetric encryption for IoT devices
KR101506499B1 (ko) 마스킹이 적용된 seed를 이용한 암호화 방법
RU2141729C1 (ru) Способ криптографического преобразования блоков двоичных данных
Yang et al. A new cryptosystem based on chaotic map and operations algebraic
Carlson et al. Using the collision attack for breaking cryptographic modes
CN109936437A (zh) 一种基于d+1阶掩码的抗功耗攻击方法
Tayal et al. Analysis of various cryptography techniques: a survey
Ha et al. Differential power analysis on block cipher ARIA
JPWO2008117804A1 (ja) ストリーム暗号向け擬似乱数生成装置とプログラムと方法
JP5500277B2 (ja) 共通鍵暗号機能を搭載した暗号化装置及び組込装置
JP3945497B2 (ja) 情報処理装置、icカード
KR20010032479A (ko) 디지털 데이터의 엘-비트 입력 블록들을 엘-비트 출력비트들로 암호 변환하는 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040330

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040531

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: 20040907

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040916

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070924

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080924

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080924

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090924

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090924

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100924

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110924

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110924

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120924

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120924

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 9

EXPY Cancellation because of completion of term