JP2004101981A - 暗号演算回路 - Google Patents

暗号演算回路 Download PDF

Info

Publication number
JP2004101981A
JP2004101981A JP2002264977A JP2002264977A JP2004101981A JP 2004101981 A JP2004101981 A JP 2004101981A JP 2002264977 A JP2002264977 A JP 2002264977A JP 2002264977 A JP2002264977 A JP 2002264977A JP 2004101981 A JP2004101981 A JP 2004101981A
Authority
JP
Japan
Prior art keywords
data block
fin
data
cryptographic operation
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002264977A
Other languages
English (en)
Other versions
JP4357815B2 (ja
Inventor
Koichi Fujisaki
藤崎 浩一
Atsushi Shinpo
新保 淳
Masahiko Motoyama
本山 雅彦
Hanae Ikeda
池田 華恵
Hiroki Tomoe
友枝 裕樹
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 JP2002264977A priority Critical patent/JP4357815B2/ja
Priority to EP03255612A priority patent/EP1398901B1/en
Priority to DE60302512T priority patent/DE60302512T2/de
Priority to US10/658,340 priority patent/US7159115B2/en
Publication of JP2004101981A publication Critical patent/JP2004101981A/ja
Application granted granted Critical
Publication of JP4357815B2 publication Critical patent/JP4357815B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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]

Landscapes

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

Abstract

【課題】Feistel型暗号アルゴリズムを実装した暗号演算回路の演算終了の後に行われるDPA法の対策を実現した暗号演算回路の提供。
【解決手段】Feistel型暗号アルゴリズムを実装した暗号演算回路は、非線形関数Fを演算する関数演算部24と、暗号化データの出力の後に、関数演算部24へ暗号演算結果とは無関係の乱数データを供給する手段とを備える。
【選択図】 図4

Description

【0001】
【発明の属する技術分野】
本発明は、Feistel型アルゴリズムを実装した暗号演算回路に関し、特に、電力解析攻撃に対する耐性を持った暗号化演算回路に関する。
【0002】
【従来の技術】
暗号演算回路に対して演算処理中の消費電力に関するグラフを作成し、その消費電力グラフを用いて、暗号演算回路に納められている鍵情報を取り出すという電力解析攻撃(DPA: Differential Power Analysis) 法がある。
【0003】
DPA法は、まず、複数のデータをそれぞれ暗号演算回路に入力し、それぞれの消費電力を測定する。次に、暗号演算回路内にある鍵情報の推定を行う。このとき、推定した鍵情報と消費電力グラフに相関がある場合、計算されたその相関値は、推定した鍵情報が正しい時には大きな値となり、推定した鍵情報が間違っている時には小さな値となる。DPA法は、この原理を用いて、消費電力を測定することにより暗号演算回路内部の鍵情報を取り出すという攻撃方法である。
【0004】
DPA法は、破壊行為を伴わない攻撃であるため、外見を見ただけでは攻撃によって鍵情報が取り出されたかどうか判断できず、不正利用による被害が拡大する恐れがある。このため、暗号演算回路において、DPA法への対策が必須となってきている。
【0005】
DPA法に対する対策の一つとして、演算中のデータをマスクして演算する発明があった(例えば、特許文献1参照)。この発明は、鍵情報を用いた演算中の消費電力の変動が鍵情報と関係しないように、鍵情報をマスクして演算を行なうというものである。この発明は、鍵情報をマスクして演算することで、鍵情報と消費電力との相関関係を失わせるようにして、DPA法対策を行ったものである。
【0006】
【特許文献1】特開2000−66585公報
【0007】
【発明が解決しようとする課題】
ところで、共通鍵ブロック暗号方式では、Feistel氏の開発したFeistel型暗号アルゴリズムを用いたものが多く採用されている。
【0008】
従来の技術欄で説明した、特開2000−66585公報の発明は、このFeistel型暗号アルゴリズムを実装した暗号演算回路において、演算終了時点のDPA法の対策として有効であるが、演算終了の後の回路動作に対して行われるDPA法に対する対策では無かった。
【0009】
そこで、本発明は、このような問題点に鑑みなされたものであり、Feistel型暗号アルゴリズムを実装した暗号演算回路の演算終了の後に行われるDPA法の対策を実現した暗号演算回路を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記目的を達成するために、本発明は、所定ビット数の第1データブロックと鍵情報とを所定の非線形関数Fへ作用させた結果得られる結果値と該所定ビット数の第2データブロックとを論理演算して結果値を得て、前記第2データブロックを第1データブロックと置き換えるとともに、前記第1データブロックを前記結果値と置き換える攪拌ステップを繰り返し実行することにより、暗号化処理を行って、該処理結果を暗号化データとして外部へ出力する暗号演算回路であって、前記非線形関数Fを作用させるための前記鍵情報を前記暗号化処理とは無関係の情報として供給する手段を備え、前記暗号化データの出力の後に、前記供給する手段によって始するようにした。
【0011】
また、本発明は、所定ビット数の第1データブロックと鍵情報とを所定の非線形関数Fへ作用させた結果得られる結果値と該所定ビット数のデータブロックとを論理演算して結果値を得て、前記第2データブロックを第1データブロックと置き換えるとともに、前記第1データブロックを前記結果値と置き換える攪拌ステップを繰り返し実行することにより、暗号化処理を行って、該処理結果を暗号化データとして外部へ出力する暗号演算回路であって、前記第1データブロックを保持する保持手段と、この保持手段へ前記暗号化処理とは無関係の情報を供給する手段を備え、前記暗号化データの出力の後には、前記供給する手段によって供給を開始するようにした。
【0012】
本発明は、例えば、Feistel型暗号アルゴリズムを実装した暗号演算回路の信号線の遷移や信号線の値に着目し、それぞれにおいてDPA法により攻撃されうるタイミングと攻撃ポイントを明確にして、上記のように対策するようにしたから、DPA法による攻撃に対して暗号演算回路の内部にある鍵情報の漏洩を防ぐことができる。
【0013】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【0014】
まず、Feistel型暗号アルゴリズムについて、その処理の流れを図1のフローチャートを用いて簡単に説明する。
【0015】
まず、暗号化する入力ブロックデータは、初期転値(IP:Initial Permutation)と呼ばれる、入力ブロックデータのビット間のデータを並び換える処理が施される(ステップS1)。次に、この初期転値後のブロックデータをn/2ビットのブロックに分割する(ステップS2)。この分割された2つのブロックを初期値とし、以下の演算を繰り返す(ステップS3、S4)。
=Ri−1
=Li−1^F(key、Ri−1
ここで、演算回数をi(1≦i≦k)、i回目の演算時の一方の分割されたブロック(右側)をR、他方のブロック(左側)をL、i回目の鍵情報をkey、非線形演算を行なう関数をFとする。また、「^」は、排他的論理和を示す。
【0016】
この繰り返し演算S3をk回繰り返した後(S4のY)に、各演算結果R、Lを合成する(ステップS5)。なお、この合成は、Lを上位n/2ビットのブロックに、Rを下位n/2ビットのブロックとしたnビットのブロックデータとすることを意味する。そして、合成されたブロックデータに対し、逆初期転値(IP−1)を行ない(ステップS6)、演算結果を得て演算を終了する。
【0017】
次に、このFeistel 型暗号アルゴリズムを実装した暗号演算回路のデータパス部の構成を図2に示す。
【0018】
IP部21は、予め定められた規則に基づいて、初期転値の演算を行なう回路モジュールである。関数演算部24は、所定の非線形関数である関数Fの演算を行なう回路モジュールである。IP−1部25は、IP部21で定められた規則に相反する規則に基づいて、逆初期転値の演算を行なう回路モジュールである。Lレジスタ23、Rレジスタ22は、それぞれn/2ビット幅を持ったレジスタであり、3入力1出力のセレクタ26、27は、図示されていない制御回路部からの信号に応じて、Lレジスタ23、Rレジスタ22へ入力するデータを選択する。なお、セレクタ26への3入力とは、IP部21からの上位n/2ビットの値と、Rレジスタ22の出力値と、Lレジスタ23の出力値と関数演算部の出力値とを排他的論理和した値とであり、セレクタ27への3入力とは、IP部21からの下位n/2ビットの値と、Rレジスタ22の出力値と、Lレジスタ23の出力値と関数演算部の出力値とを排他的論理和した値とである。
【0019】
さて、以上説明した構成において処理された暗号演算結果C=(C、C)は、次式のように表すことができる。
C=IP−1{(L^F(key、R))、R
ここで、IP−1部25は、ビット並びを入れ換えているだけであるために、演算結果CからRの値は容易に特定される。Rの値が特定されると、演算終了後の関数演算部24の出力値は、鍵情報keyの一変数の値のみによって決まる。以上のことから、関数演算部24の出力結果を攻撃ポイントとして、鍵情報keyを推定することにより、DPA法が行われてしまう。仮に、関数演算部24の消費電力の変動と鍵情報の演算との間に相関があった場合には、攻撃者に鍵情報を特定されてしまう。すなわち、暗号演算の終了時点で、DPA法を用いた攻撃を行なうことで、暗号演算回路内の鍵情報が取り出されてしまう。このDPA法を用いた攻撃法の対処方法としては、先に示した特開2000−66585号公報による発明によって解決できる。
【0020】
一方、Feistel型暗号アルゴリズムを回路実装した暗号演算回路においては、上記の暗号演算の終了時点での攻撃の他に、暗号演算が終了後(終了時点の次のタイミング以降)においても、DPA法を用いた攻撃を行うことで、暗号演算回路内の鍵情報が取り出されてしまう可能性があることが新たに分かった。このことを説明する前に、暗号演算回路の演算結果を出力する際のデータパス部におけるデータの制御方法には2通り有って、各制御方法によって、暗号演算の終了後のDPA法による攻撃ポイントが異なっているため、まず、2通りのデータの制御方法について説明する。
【0021】
1つめの制御方法は、演算結果を出力するタイミングにおいて、図3にあるようにセレクタ27がデータパス28を選択し、かつセレクタ26がデータパス29を選択することで、左右のデータを入れ換えた形で演算を終わらせる、クロス型回路構成である。一方、2つ目の制御方法は、演算結果を出力するタイミングにおいて、図10にあるようにセレクタ27がデータパス29を選択し、セレクタ26がデータパス28を選択することで、演算の最後において左右のデータを入れ換えないような形で演算を終わらせる、ストレート型回路構成である。
【0022】
Feistel型暗号アルゴリズムを実装した暗号演算回路において、そのアルゴリズムで定められている繰り返し演算を行なう場合、セレクタ26、セレクタ27は左右のデータが入れ替わるように、図2において図示されていない制御回路により制御される。この暗号演算回路において、演算結果を出力する場合に、特に必要がない場合は繰り返し演算を行なう場合と同様に、左右のデータが入れ替わったクロス型回路構成で演算を終了させる。このようなクロス型回路構成とする理由として、演算結果を出力するタイミング演算結果を出力するタイミングでデータの流れを変えるように制御するよりも、演算結果を出力する場合であっても、繰り返し演算を行なっているときと同様に左右のデータが入れ替わるような制御を行なった方が、制御が簡単であり制御回路の実装も小さくできるからである。
【0023】
一方、DESを3回行なうTriple DES(3DES)を実装した回路の場合には、1回目のDESの演算結果と2回目のDESの演算開始間、および2回目のDESの演算結果と3回目のDESの演算開始間において、左右のデータを入れ換えないような制御を行なう必要がある。そのため、3回目のDESが終了後も左右のデータを入れ換えずに出力するストレート型回路構成とすることが多い。このような回路構成となるのは、暗号演算回路として回路実装する場合において、その回路規模を小さくするために、演算中にできる限り場合分けを減らすような制御を行なうようにするためである。1回目、2回目が終わったときと同様に、3回目が終わったときにもストレート型回路構成となるようにセレクタ26、 セレクタ27を制御したほうが、場合分けの数が少なくなり制御回路を小さく構成することができる。
【0024】
以上説明したように、Feistel 型暗号アルゴリズムを実装した場合には、クロス型回路構成とストレート型回路構成との何れかで構成される。
【0025】
次に、これら回路構成の違いによる演算終了後におけるDPA法による攻撃ポイントについて説明する。
【0026】
まず、クロス型回路構成の場合について、DPA法により攻撃のポイントとなるタイミングと、その原因について説明する。
【0027】
演算結果を出力するクロックClockfinの立ち上がりのタイミングにおいて、Lレジスタ23の値をLfin、Rレジスタ22の値をRfinとする。このとき、この暗号演算回路の演算結果をCとすると、CはCとCを用いてC=IP−1(Lfin^F(keyfin、Rfin)、Rfin)と表すことができる。ここで、IP−1は、ビットの並びを変換する処理だけであるため、演算結果CからRfinとLfin^F(keyfin、Rfin)の値は簡単に解ってしまう。
【0028】
次に、クロックClockfin+1において、Rレジスタ22 に値が書き込み可能である場合、Rレジスタ22の値はLfin^F(keyfin、Rfin)=Rfin+1となる。このとき、鍵情報がClockfinと同じkeyfinであるので、関数演算部24の出力はF(keyfin、Rfin+1)となる。Rfin+1は、暗号演算回路の出力結果から簡単に解ってしまう値であり、そのため、関数演算部24の関数Fは、keyfinの一変数の関数と見なすことができる。
【0029】
以上のように、関数演算部24の出力の遷移を攻撃ポイントとして、関数演算部24の出力を推定することにより鍵情報を特定されてしまうといった問題点があった。
【0030】
また、上記の他に、Lレジスタ23の値の遷移を攻撃ポイントとされる別の問題点がある。これについて説明する。
【0031】
Clockfin、Clockfin+1におけるLレジスタ23の値をLfin、Lfin+1とする。Lレジスタ23の値の遷移は次式で表すことができる。
fin^Lfin+1=Rfin−1^Rfin
なお、上記式の右辺は、クロス型回路構成においてLレジスタ23の値はL=Ri−1(1≦i≦k)という関係があることから、書き変えたものである。ここで、Rfinは外部から観測可能な値であることから、Rfin−1に対して推定することができる。Lレジスタ23の遷移は、暗号演算回路の消費電力の変動と関係があるので、DPA法によりRfin−1の値が特定される可能性がある。つまり、上記で述べたように演算結果Cから、Lfin^F(keyfin、Rfin)(=Rfin+1)およびRfinの値は観測可能である。ここで、Lfin=Rfin−1であることから、Rfin−1が特定されると、Rfin+1、Lfin、Rfinが知ることのできる値となるため、keyfinを特定されてしまうという問題点があった。
【0032】
以上のように、関数演算部24の出力値の遷移、または、Lレジスタ23の値の遷移において、DPA法を用いて攻撃される可能性がある。
【0033】
クロス型回路構成の場合のこれらDPA法による攻撃に対する対策は、それぞれ異なる。
【0034】
まず、このクロス型回路構成のClockfin+1のタイミングにおける関数演算部24の出力値に関するDPA対策として、本実施の形態においては、Clockfin+1のときに関数演算部24に入力される値は、鍵情報と関係のない値を入力するような回路構成とする。このような回路の具体例としては、図4に示すように関数演算部24へ鍵情報を入力する個所へ新たにセレクタを設け、Clockfinまでは鍵情報を入力し、Clockfin+1以降は乱数を入力するような回路構成や、図5にあるように関数演算部24の入力として、鍵情報と乱数を排他的論理和(XOR)演算、論理積(AND)演算、または論理和(OR)演算した値を入力する回路構成とし、Clockfin+1以降のクロックの立ち上がり時に、常に異なる乱数を与えて得た演算結果を入力するという回路構成で解決した。
【0035】
また、関数演算部24の入力として、外部から観測可能な値を入れないようにする回路構成も対策となりうる。このような対策の具体例としては、図6に示すように、関数演算部24の入力の前にセレクタを設け、Clockfin+1以降は乱数を入力するような回路構成を用いる例がある。また、図6のセレクタを用いて乱数を入れる代わりに、図7のように演算回路を追加し、Rレジスタ22の値と乱数との演算結果が、関数演算部24に入力されるような回路構成としてもよい。このようにClockfin+1以降、関数演算部24の入力として、暗号演算回路で利用した鍵情報や演算結果が、そのまま入力されないような回路構成とすることで、関数演算部24の出力におけるDPA対策とすることができる。
【0036】
このほかに、Clockfin+1以降、Rレジスタ22の値を、演算結果と無関係な値とすることで、DPA法対策ができる。例えば、図8にあるようにRレジスタ22の入力の前にセレクタを入れ、Clockfin+1以降、このセレクタから乱数がRレジスタ22に書き込まれるような回路構成や、図6のようにデータパス29の結果と乱数を演算するような回路構成とすればよい。
【0037】
以上のような対策を施した暗号演算回路とすることにより、関数演算部24の出力の遷移を攻撃のポイントとできなくなった。
【0038】
次に、Lレジスタ23の値の遷移を攻撃ポイントとした場合には、Clockfin+1のタイミングでLレジスタ23にRfin+1を書き込まないような回路構成としなければならない。この時の対策として、回路構成の具体例は、図11のようにLレジスタ23へのデータパス30上にAND/OR/XORなどの演算回路を入れ、Clockfin+1以降でデータパス30上の値と乱数の演算結果をLレジスタ23に書き込むという方法や、図12にあるようにデータパス30にセレクタを入れることでClockfin+1以降、Lレジスタ23に乱数が書き込まれるような回路構成で実現できる。
【0039】
以上のような対策を施した暗号演算回路とすることにより、Lレジスタ23の値の遷移を攻撃のポイントとできなくなった。
【0040】
次に、図10のストレート型回路構成の場合についてのDPA法による攻撃のポイントとなるタイミングとその原因について説明する。
【0041】
ストレート型回路構成においてもクロス型回路構成のときと同様に、演算結果を出力するときのクロックClockfinの立ち上がりのタイミングにおいて、Lレジスタ23の値をLfin、Rレジスタ22の値をRfinとする。Clockfinの次のクロックClockfin+1の立ち上がりのタイミングにおいて、Lレジスタ23、Rレジスタ22の値はそれぞれLfin+1、Rfin+1とすると、次式で表すことができる。
fin+1=Lfin^F(keyfin、Rfin
fin+1=Rfin
このClockfin+1のタイミングにおいて、Lレジスタ23の値の遷移に着目すると、Lレジスタ23の値の遷移はLfin^Lfin+1=F(keyfin、Rfin)と表すことができる。Lレジスタ23の値の遷移F(keyfin、Rfin) は、鍵情報に関係する情報を含んでいるうえに、Rfinは外部から観測可能な値である。従って、Lレジスタ23の値の遷移に対し、DPA法を用いて攻撃が行われると、暗号演算回路の鍵情報keyfinが特定されてしまう。
【0042】
そのため、本実施の形態においては、Lレジスタ23の値が、Clockfin+1において暗号演算回路が持つ鍵情報と相関を持つことのないような回路構成とする。この回路構成の具体例としては、クロス型回路構成で説明した方法と同様の図12にあるようにLレジスタ23へのデータパス28上にAND、OR、XORなどの論理演算器を配置し、データパス28の値と乱数の演算結果をLレジスタ23に書き込むという方法や、図11にあるように、Clockfin+1のタイミングにて、データパス28の値と乱数とをセレクタで切り替えるという方法で実現可能である。
【0043】
また、関数演算部24にClockfin+1以降、常にkeyfinとRfinとが入力されるような回路構成の場合には、上記のクロス型回路構成の時と同様に関数演算部24の出力値の遷移によって鍵情報が特定される可能性がある。そのため、前記クロス型回路構成の関数演算部24のDPA法の対策と同様、図4〜図9の何れかを用いることによって、対策を実現できる。
【0044】
また、クロス型回路構成、ストレート回路構成の何れの場合においても、Clockfin+1においてRレジスタ22、Lレジスタ23へのデータの書き込みが行なわれず、且つ、Clockfin;1以降、常に鍵情報keyfinが関数演算部24に入力されるような回路構成が取られている場合には、関数演算部24の出力値F(keyfin、Rfin)となるので、上記のクロス型回路構成の時と同様、関数演算部24の出力値の遷移がDPA法による攻撃の対象となってしまう。従って、上記のクロス型回路構成の関数演算部24のDPA法の対策と同様、図4〜図9の何れかを用いることによって、対策を実現できる。
【0045】
以上説明してきたように、本実施の形態では、暗号演算回路の演算終了後以降において、鍵情報と消費電力の相関関係を失わせるような回路構成としたから、暗号演算回路内部にある鍵情報の漏洩を防ぐことができ、DPA法による攻撃に対する耐性を持った暗号演算回路を提供できるようになった。
【0046】
【発明の効果】
以上説明したように、本発明によれば、暗号演算回路内部にある鍵情報の漏洩を防ぐことができ、DPA法による攻撃に対する耐性を持った暗号演算回路を提供できるようになった。
【図面の簡単な説明】
【図1】Feistel型アルゴリズムを示すフローチャート。
【図2】Feistel型アルゴリズムを採用した暗号演算回路のデータパス部に関する回路構成を示す図。
【図3】クロス型回路構成のデータパス部を示す図。
【図4】本実施の形態における、関数演算部24のDPA法対策を施した回路構成の第1例を示す図。
【図5】本実施の形態における、関数演算部24のDPA法対策を施した回路構成の第2例を示す図。
【図6】本実施の形態における、関数演算部24のDPA法対策を施した回路構成の第3例を示す図。
【図7】本実施の形態における、関数演算部24のDPA法対策を施した回路構成の第4例を示す図。
【図8】本実施の形態における、関数演算部24のDPA法対策を施した回路構成の第5例を示す図。
【図9】本実施の形態における、関数演算部24のDPA法対策を施した回路構成の第6例を示す図。
【図10】ストレート型回路構成のデータパス部を示す図。
【図11】本実施の形態における、Lレジスタ23のDPA法対策を施した回路構成の第1例を示す図。
【図12】本実施の形態における、Lレジスタ23のDPA法対策を施した回路構成の第2例を示す図。
【符号の説明】
21・・・IP部
22・・・Rレジスタ
23・・・Lレジスタ
24・・・関数演算部
25・・・IP−1
26、27・・・セレクタ
28、29、30・・・データパス

Claims (5)

  1. 所定ビット数の第1データブロックと鍵情報とを所定の非線形関数Fへ作用させた結果得られる結果値と該所定ビット数の第2データブロックとを論理演算して結果値を得て、前記第2データブロックを第1データブロックと置き換えるとともに、前記第1データブロックを前記結果値と置き換える攪拌ステップを繰り返し実行することにより、暗号化処理を行って、該処理結果を暗号化データとして外部へ出力する暗号演算回路であって、
    前記非線形関数Fを作用させるための前記鍵情報を前記暗号化処理とは無関係の情報として供給する手段を備え、前記暗号化データの出力の後に、前記供給する手段によって開始するようにしたことを特徴とする暗号演算回路。
  2. 所定ビット数の第1データブロックと鍵情報とを所定の非線形関数Fへ作用させた結果得られる結果値と該所定ビット数のデータブロックとを論理演算して結果値を得て、前記第2データブロックを第1データブロックと置き換えるとともに、前記第1データブロックを前記結果値と置き換える攪拌ステップを繰り返し実行することにより、暗号化処理を行って、該処理結果を暗号化データとして外部へ出力する暗号演算回路であって、
    前記第1データブロックを保持する保持手段と、
    この保持手段へ前記暗号化処理とは無関係の情報を供給する手段を備え、前記暗号化データの出力の後には、前記供給する手段によって供給を開始するようにしたことを特徴とする暗号演算回路。
  3. 所定ビット数の第1データブロックと鍵情報とを所定の非線形関数Fへ作用させた結果得られる結果値と該所定ビット数の第2データブロックとを論理演算して結果値を得て、前記第2データブロックを第1データブロックと置き換えるとともに、前記第1データブロックを前記結果値と置き換える攪拌ステップを繰り返し実行することにより、暗号化処理を行って、該処理結果を暗号化データとして外部へ出力する暗号演算回路であって、
    前記非線形関数Fを作用させるための前記鍵情報を前記暗号化処理とは無関係の情報として供給する第1供給手段と、
    前記第1データブロックを保持する保持手段と、
    この保持手段へ前記暗号化処理とは無関係の情報を供給する第2供給手段とを備え、
    前記暗号化データの出力の後には、前記第1供給手段および前記第2供給手段によってそれぞれ供給を開始するようにしたことを特徴とする暗号演算回路。
  4. 非線形関数Fを処理する手段を備えるFeistel型暗号アルゴリズムを実装し、暗号化データを出力する暗号演算回路であって、
    前記非線形関数Fを処理する手段へ暗号演算結果とは無関係のデータを供給する手段を備え、前記暗号化データの出力の後に、前記供給する手段によってデータ供給を開始するようにしたことを特徴とする暗号演算回路。
  5. Feistel型暗号アルゴリズムを実装し、暗号化データを出力する暗号演算回路であって、
    暗号演算回路内の内部データを保持する保持手段と、
    この保持手段へ前記暗号化処理とは無関係の情報を供給する手段とを備え、
    前記暗号化データの出力の後には、前記供給する手段によって供給を開始するようにしたことを特徴とする暗号演算回路。
JP2002264977A 2002-09-11 2002-09-11 暗号演算回路 Expired - Fee Related JP4357815B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2002264977A JP4357815B2 (ja) 2002-09-11 2002-09-11 暗号演算回路
EP03255612A EP1398901B1 (en) 2002-09-11 2003-09-09 Feistel type encryption method and apparatus protected against DPA attacks
DE60302512T DE60302512T2 (de) 2002-09-11 2003-09-09 Feistel-Verschlüsselungsverfahren und -vorrichtung mit Schutz gegen DPA-Angriffe
US10/658,340 US7159115B2 (en) 2002-09-11 2003-09-10 Method and apparatus for encrypting data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002264977A JP4357815B2 (ja) 2002-09-11 2002-09-11 暗号演算回路

Publications (2)

Publication Number Publication Date
JP2004101981A true JP2004101981A (ja) 2004-04-02
JP4357815B2 JP4357815B2 (ja) 2009-11-04

Family

ID=31884765

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002264977A Expired - Fee Related JP4357815B2 (ja) 2002-09-11 2002-09-11 暗号演算回路

Country Status (4)

Country Link
US (1) US7159115B2 (ja)
EP (1) EP1398901B1 (ja)
JP (1) JP4357815B2 (ja)
DE (1) DE60302512T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004354920A (ja) * 2003-05-30 2004-12-16 Toshiba Corp 記憶装置
JP2006174274A (ja) * 2004-12-17 2006-06-29 Toshiba Corp 暗号演算回路と、該暗号演算回路を有する情報処理装置及びicカード
JP2007096973A (ja) * 2005-09-29 2007-04-12 Toshiba Corp 暗号化/復号装置

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI112903B (fi) * 2000-12-05 2004-01-30 Nokia Corp Menetelmä, järjestelmä ja jakosolmu sanomien jakamiseksi
JP3940714B2 (ja) * 2003-09-25 2007-07-04 株式会社東芝 演算装置、および、暗号・復号演算装置
JP4823904B2 (ja) * 2005-03-31 2011-11-24 パナソニック株式会社 データ暗号化装置及びデータ暗号化方法
EP1798888B1 (fr) * 2005-12-19 2011-02-09 St Microelectronics S.A. Protection de l'exécution d'un algorithme DES
DE102006011223A1 (de) * 2006-03-10 2007-09-13 Micronas Gmbh Datenverarbeitungsverfahren mit einem Verschlüsselungsalgorithmus
JP4882598B2 (ja) * 2006-07-28 2012-02-22 ソニー株式会社 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム
US8068823B2 (en) * 2006-12-13 2011-11-29 Qualcomm Incorporated Optimizing call setup latency for geographically dense groups
DE102007012726A1 (de) 2007-03-16 2008-09-18 Micronas Gmbh Verschlüsselungsvorrichtung mit einem mehrstufigen Verschlüsselungsblock
JP2009027472A (ja) * 2007-07-19 2009-02-05 Toshiba Corp 暗号演算装置
KR100859162B1 (ko) * 2007-10-16 2008-09-19 펜타시큐리티시스템 주식회사 암호화된 칼럼을 포함하는 데이터베이스에서의 쿼리의 암호화 변조를 통한 사용자 쿼리 처리 장치 및 방법
FR2941342B1 (fr) 2009-01-20 2011-05-20 Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst Circuit de cryptographie protege contre les attaques en observation, notamment d'ordre eleve.
JP2010288233A (ja) * 2009-06-15 2010-12-24 Toshiba Corp 暗号処理装置
JP5296217B2 (ja) * 2009-09-24 2013-09-25 株式会社東芝 鍵スケジュール装置および方法
WO2011101994A1 (ja) 2010-02-22 2011-08-25 株式会社東芝 暗号化装置
US8948376B2 (en) * 2010-05-11 2015-02-03 Ca, Inc. Format-preserving encryption via rotating block encryption
US20120079462A1 (en) * 2010-09-24 2012-03-29 SoftKrypt LLC Systems and methods of source software code obfuscation
MY178555A (en) * 2011-08-19 2020-10-16 Mimos Berhad Method and system for providing a secured internet protocol based communication
JP5926655B2 (ja) * 2012-08-30 2016-05-25 ルネサスエレクトロニクス株式会社 中央処理装置および演算装置
US9946662B2 (en) * 2014-08-29 2018-04-17 The Boeing Company Double-mix Feistel network for key generation or encryption
US10530566B2 (en) * 2015-04-23 2020-01-07 Cryptography Research, Inc. Configuring a device based on a DPA countermeasure
FR3040514B1 (fr) 2015-09-02 2017-09-15 Stmicroelectronics Rousset Protection dpa d'un algorithme de rijndael
FR3040515B1 (fr) 2015-09-02 2018-07-27 St Microelectronics Rousset Verification de la resistance d'un circuit electronique a des attaques par canaux caches
FR3040513B1 (fr) * 2015-09-02 2018-11-16 Stmicroelectronics (Rousset) Sas Protection d'un algorithme de rijndael
US10200192B2 (en) * 2017-04-19 2019-02-05 Seagate Technology Llc Secure execution environment clock frequency hopping

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11109856A (ja) * 1997-09-30 1999-04-23 Matsushita Electric Ind Co Ltd 復号装置
JP2000066585A (ja) * 1998-08-20 2000-03-03 Toshiba Corp 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
JP2000259799A (ja) * 1999-03-09 2000-09-22 Hitachi Ltd Icカードと半導体集積回路装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2173688C (en) * 1996-04-09 2000-01-18 Hideo Shimizu Encryption apparatus and method capable of controlling encryption process in accordance with an internal state
DE19936918A1 (de) * 1998-09-30 2000-04-06 Philips Corp Intellectual Pty Verschlüsselungsverfahren zum Ausführen von kryptographischen Operationen
JP3844116B2 (ja) 2001-04-16 2006-11-08 株式会社ルネサステクノロジ 暗号化・復号化装置とicカード
JP4596686B2 (ja) 2001-06-13 2010-12-08 富士通株式会社 Dpaに対して安全な暗号化

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11109856A (ja) * 1997-09-30 1999-04-23 Matsushita Electric Ind Co Ltd 復号装置
JP2000066585A (ja) * 1998-08-20 2000-03-03 Toshiba Corp 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
JP2000259799A (ja) * 1999-03-09 2000-09-22 Hitachi Ltd Icカードと半導体集積回路装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004354920A (ja) * 2003-05-30 2004-12-16 Toshiba Corp 記憶装置
JP2006174274A (ja) * 2004-12-17 2006-06-29 Toshiba Corp 暗号演算回路と、該暗号演算回路を有する情報処理装置及びicカード
JP4634788B2 (ja) * 2004-12-17 2011-02-16 株式会社東芝 暗号演算回路と、該暗号演算回路を有する情報処理装置及びicカード
JP2007096973A (ja) * 2005-09-29 2007-04-12 Toshiba Corp 暗号化/復号装置

Also Published As

Publication number Publication date
DE60302512T2 (de) 2006-06-22
DE60302512D1 (de) 2006-01-05
US20040091107A1 (en) 2004-05-13
JP4357815B2 (ja) 2009-11-04
US7159115B2 (en) 2007-01-02
EP1398901B1 (en) 2005-11-30
EP1398901A1 (en) 2004-03-17

Similar Documents

Publication Publication Date Title
JP4357815B2 (ja) 暗号演算回路
JP4828526B2 (ja) 暗号計算を実行するための方法及び装置
CN109791517B (zh) 保护并行乘法运算免受外部监测攻击
EP3241150B1 (en) Determining cryptographic operation masks for improving resistance to external monitoring attacks
US11700111B2 (en) Platform neutral data encryption standard (DES) cryptographic operation
US10243728B2 (en) Verification of the resistance of an electronic circuit to side-channel attacks
JP2004533630A (ja) 安全化暗号化法と、この暗号化法を使ったコンポーネント
US10210776B2 (en) DPA protection of a rijndael algorithm
JP5401477B2 (ja) 誤りに基づく攻撃から電子回路を保護する方法
US10187198B2 (en) Protection of a rijndael algorithm
US9565018B2 (en) Protecting cryptographic operations using conjugacy class functions
JP2007195132A (ja) 暗号処理装置
US20110170685A1 (en) Countermeasure method and devices for asymmetric encryption with signature scheme
EP3698262B1 (en) Protecting modular inversion operation from external monitoring attacks
JP3733027B2 (ja) 秘密鍵式暗号化アルゴリズムを用いる電子構成部品内の対抗措置方法
KR20050082513A (ko) 전력분석공격에 안전한 기본 연산 장치 및 방법
Genelle et al. Secure multiplicative masking of power functions
Vadnala et al. Algorithms for switching between boolean and arithmetic masking of second order
JP2005202757A (ja) 擬似乱数生成装置及びプログラム
Bock SCA resistent implementation of the Montgomery kP-algorithm
KR20170108595A (ko) 논리적 보수 관계값을 이용한 부채널 분석 방지 암호화 장치 및 방법
AU2007213585B2 (en) Protection of a cryptographic algorithm
Maghrebi et al. Register leakage masking using gray code
JP2007251390A (ja) 半導体集積回路
Prouff et al. First-order side-channel attacks on the permutation tables countermeasure

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050207

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050415

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081007

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090805

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4357815

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130814

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees