JP3819872B2 - 論理演算装置 - Google Patents

論理演算装置 Download PDF

Info

Publication number
JP3819872B2
JP3819872B2 JP2003146491A JP2003146491A JP3819872B2 JP 3819872 B2 JP3819872 B2 JP 3819872B2 JP 2003146491 A JP2003146491 A JP 2003146491A JP 2003146491 A JP2003146491 A JP 2003146491A JP 3819872 B2 JP3819872 B2 JP 3819872B2
Authority
JP
Japan
Prior art keywords
data
input
circuit
output
bit
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 - Fee Related
Application number
JP2003146491A
Other languages
English (en)
Other versions
JP2004347975A (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 JP2003146491A priority Critical patent/JP3819872B2/ja
Priority to US10/849,253 priority patent/US7071725B2/en
Publication of JP2004347975A publication Critical patent/JP2004347975A/ja
Application granted granted Critical
Publication of JP3819872B2 publication Critical patent/JP3819872B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0008Arrangements for reducing power consumption
    • 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/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Logic Circuits (AREA)
  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、論理演算を行う論理演算装置に関する。
【0002】
【従来の技術】
マイクロコンピュータなどのように演算処理装置を備えたLSIにおいて、暗号演算を行う際の演算処理中の消費電力を測定し、その消費電力からLSIに納められている鍵情報を取り出すという電力差分攻撃(DPA:Differential Power Analysis)がある(例えば、非特許文献1参照)。
【0003】
DPAによる攻撃では、最初に、複数のデータをLSIに入力して、それぞれの消費電力を測定する。次に、暗号演算回路内にある鍵情報の推定を行う。この推定した鍵情報と消費電力との間に相関がある場合、その相関値を計算したとき、推定した値が正しいときに大きな相関値となり、推定が間違っているときに小さな相関値となる。DPAは、この原理を用いて、消費電力を測定することにより暗号演算回路内部の鍵情報を取り出すという攻撃方法である。
【0004】
DPAによる攻撃は、破壊行為を伴わない攻撃であるため、外見を見ただけでは攻撃され鍵情報が取り出されたかどうか判断できず、不正利用による被害が拡大するおそれがある。このため、暗号演算回路においてDPAへの対策が必須となっている。
【0005】
ところで、CMOS(Complemetary Metal-Oxide Semiconductor)デバイスを用いて製作された演算処理装置を備えたLSIにおいては、同期信号を用い、1線で1ビットのデータを表している。このような回路構成のLSIにおける消費電力は、CMOSの特性により、処理しているデータ及びその前のデータに依存して変動する。
【0006】
以下、CMOSデバイスのNOT素子の動作と消費電力について説明する。
【0007】
CMOSによるNOT素子は、通常、供給電源線Vcc、グランド線GND、VccとGNDとの間に直列に接続されたnMOS及びpMOS、両MOSのゲートに接続された入力信号線、nMOSとMOSとの接続線に接続された出力信号線、出力信号線とGNDとの間に接続された容量Cを備えている。
【0008】
このNOT素子の入力がhigh(もしくは、1)のとき、nMOSが導通状態となるため、容量Cの正の電荷はnMOSを介してGndに流れるため、出力の電位はlow(もしくは、0)になる。ここで、highとは、演算処理装置内で論理的に1と認識される電位であり、lowとは0と認識される電位である。
【0009】
逆に、入力がlowの場合、pMOSが導通状態となる一方で、nMOSは非通電状態となる。このpMOSが導通状態となることで、Vccから正の電荷が容量Cに蓄積され、出力はhighとなる。
【0010】
入力の遷移が起こらない場合、例えば入力がhighを維持する場合には、pMOSが通電状態のままであり、出力はlowのままとなる。このとき、nMOSは非導通状態であるためGNDに電荷は流れず、電力は消費されない。他方、入力がlowを維持する場合には、nMOSが導通状態となり、出力はhighのままとなる。このとき、pMOSは非導通状態であるので、電荷がGNDに流れることはなく、電力は消費されない。
【0011】
このように、CMOSデバイスは、理想状態としては信号線の状態が変わらない場合には電力を消費しないため、CMOSデバイスでLSIを作ると低消費電力とすることができる。
【0012】
さて、CMOSデバイスは、状態が遷移するときに、Vccから電荷が流れ、電力を消費する。このため、入力が遷移するCMOSデバイスと、入力が遷移しないCMOSデバイスとでは、消費する電力に差が生じる。このために、信号線の状態の遷移と鍵情報との間に関係がある場合、鍵情報の演算に関係して消費電力が変化する。この消費電力変動が外部から観測可能であり、このような場合、DPAにより鍵情報を特定されることになる。
【0013】
理想的にはCMOSデバイスは信号の遷移以外に電力を消費しないが、実際には、信号の遷移による電力消費以外にも、洩れ電流という電流が流れることで、電力が消費される。この洩れ電流は、入力からpMOS又はnMOS1のゲートを通りドレインに流れたり、VccからpMOS及びnMOS1を通ってGND6に流れたりする電流である。この洩れ電流量は、CMOSデバイスの入力信号線と出力信号線の状態に依存する。
【0014】
以上説明したように、CMOSデバイスを用いたマイクロコンピュータのデータ演算時の消費電力の変動は、信号線の状態遷移を伴わずに信号線の0,1の状態に応じて消費される電力と、遷移する信号線の数とに依存して決まる。
【0015】
CMOSデバイスを用いて、データを1ビットで表した回路構成の場合は、その前の状態により消費電力が変動することとなり、演算しているデータと消費電力との間に大きな相関を持つ。このため、鍵情報に関した演算を行っているときの消費電力の変動が、鍵情報と相関がある場合には、DPAによりマイクロコンピュータ内の鍵情報を推定されることとなる。
【0016】
従来、DPAに対しては、演算中のデータをマスクして演算するという対策がある(例えば、特許文献1参照)。この対策は、鍵情報を用いた演算中の消費電力の変動が鍵情報と相関がなくなるように、鍵情報をマスクして演算を行うという方法である。このように鍵情報をマスクして演算することで、消費電力の変動と鍵情報との間の相関をなくすことでDPAへの対策としている。このように、消費電力の変動と鍵情報との間の相関をなくすことが、DPA対策として有効である。
【0017】
しかし、この方法では、マスク演算のために余分なハードウェアあるいは計算時間が必要になる。
【0018】
【特許文献1】
特開2000−66585
【0019】
【非特許文献1】
Kocher, P, Jaffe, J, and Jun, B. Differential Power Analysis. In Advances in Cryptology of CRYPTO ´99 Springer- Verlag Lecture Notes in Computer Science 1666 p.388-398
【0020】
【発明が解決しようとする課題】
DPAによる攻撃に対する対策としては、中間データを乱数でマスクするという手段を用いないで済ませるには、演算データによらず消費電力を同じにするという対策が考えられる。中間データの値によらず常に一定の消費電力を消費するような回路構成であるならば、消費電力の変動と鍵情報との間に相関はなくなるためにDPA対策となる。このような問題を解決するために、マイクロコンピュータ内において処理しているデータや、その前のデータに依存しない回路構成が必要となる。しかしながら、そのための技術は未だ知られていない。
【0021】
本発明は、上記事情を考慮してなされたもので、演算対象となるデータの内容によらずに消費電力を一定又は概ね一定とすることができる論理演算装置を提供することを目的とする。
【0022】
【課題を解決するための手段】
本発明は、第1及び第2の2本の信号線のビット状態の組合せにより値が定まる第1の1ビット・データと、第3及び第4の2本の信号線のビット状態の組合せにより値が定まる第2の1ビット・データとに対して所定の論理演算を施して得られる結果を、第5及び第6の2本の信号線のビット状態の組合せにより値が定まる第3の1ビット・データとして出力する論理演算装置であって、前記第1の1ビット・データを入力側の第1及び第2の信号線から入力し一旦保持した後に出力側の第1及び第2の信号線から出力する第1のデータ保持回路と、前記第2の1ビット・データを入力側の第3及び第4の信号線から入力し一旦保持した後に出力側の第3及び第4の信号線から出力する第2のデータ保持回路と、前記第1のデータ保持回路の出力側の第1の信号線を第1の入力データとし、前記第2のデータ保持回路の出力側の第3の信号線を第2の入力データとし、該第1の入力データ及び該第2の入力データをもとにした、前記所定の論理演算に応じた第1の論理演算を行って、その結果を、前記第3の1ビット・データの第5の信号線のビット状態として出力する第1の論理演算回路と、前記第1のデータ保持回路の出力側の第2の信号線を第1の入力データとし、前記第2のデータ保持回路の出力側の第4の信号線を第2の入力データとし、該第1の入力データ及び該第2の入力データをもとにした、前記所定の論理演算に応じた第2の論理演算を行って、その結果を、前記第3の1ビット・データの第6の信号線のビット状態として出力する第2の論理演算回路と、前記第1の論理演算回路の出力側の信号線及び前記第2の論理演算回路の出力側の信号線の2本の信号線で与えられる前記第3のビット・データを入力側の第5及び第6の信号線から入力し一旦保持した後に出力側の第5及び第6の信号線から出力する第3のデータ保持回路とを備え、前記2本の信号線のビット状態の組合せが(0,1)である場合に、前記1ビット・データの値が0と1とのうちの予め定められた一方に定まり、前記2本の信号線のビット状態の組合せが(1,0)である場合に、前記1ビット・データの値が0と1とのうちの予め定められた他方に定まるものであり、前記2本の信号線に係るビット状態の組み合わせとして、前記1ビット・データの値に応じて、(0,1)又は(1,0)が入出力される稼働相と、無効なデータを表す(0,0)又は(1,1)が入出力される休止相とが設けられ、前記第1、第2及び第3のデータ保持回路は、それぞれ、前記稼動相においては、当該データ保持回路の入力側の2本の信号線から前記1ビット・データを入力し、当該データ保持回路の出力側の2本の信号線へ前記1ビット・データを出力し、前記休止相においては、当該データ保持回路の入力側の2本の信号線から前記無効なデータを入力することなしに、当該データ保持回路の出力側の2本の信号線から前記無効なデータを出力することを特徴とする。
【0028】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
【0029】
本発明によれば、演算対象となるデータの内容によらずに消費電力を一定又は概ね一定とすることができる。
【0030】
従って、本発明に係る装置を暗号演算回路に適用すれば、電力差分攻撃へ対策することができる。
【0031】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【0032】
最初に、本実施形態の基本的な構成について説明する。
【0033】
本実施形態では、データパス部のハミング重みを一定(または、ほぼ一定)にするために、従来は1本の信号線で1ビットを表現していたものを、1ビットのデータを表すのに信号線を2本以上用いる。
【0034】
すなわち、n(nは2以上)本の信号線で与えられるデータを、nビットのデータとして扱うのではなく、当該n本の信号線のビット状態の組合せにより値が定まる1ビット・データとして扱う。
【0035】
なお、以下では、1ビットのデータを表すのに信号線を2本用いる構成を中心に説明する。
【0036】
従来のように1本の信号線で1ビットのデータを表す場合、信号線の1または0の状態がそのまま1ビットのデータの値に対応するが、1ビットのデータを表すのに2本の信号線を用いて表現する場合のデータの表現方法としては、2本の信号線を組み合わせて、1線式において“high(もしくは、1)”と表した状態(当該ビットの値=1に対応する状態)を2線式では(1,0)と符号化して表し(すなわち、第1の信号線が状態1をとり、第2の信号線が状態0をとる)、1線式において“low(もしくは、0)”と表した状態(当該ビットの値=0に対応する状態)を(0,1)と符号化して表す(すなわち、第1の信号線が状態0をとり、第2の信号線が状態1をとる)、といった表現方法を導入する。もちろん、1線式において“1”と表した状態を2線式では(0,1)で、“0”と表した状態を(1,0)で表す表現方法も可能である。これらの場合、データパス部のハミング重みは1で一定となる。
【0037】
このようにデータパス部のデータを符号化し、1ビットを2本の信号線で表すという2線化を行うことで、CMOSデバイスを用いて製作された演算処理装置内において、データの内容にかかわらずに、鍵情報を演算するデータパス部における状態1を持つ信号線の数と、状態0を持つ信号線の数とを等しくすることができる。
【0038】
データパス部におけるハミング重み(状態1を持つ信号線の数)を一定にすることができる理由を説明する。従来のように1線で1ビットを表す1線式では、ビット値=0を表すときのハミング重みは0となり、ビット値=1を表すときのハミング重みは1となる。他方、本実施形態のように例えば2本の信号線で1ビットを表現する2線式では、ビット値=0を表すときのハミング重みとビット値=1を表すときのハミング重みはいずれも1となる。このように、2線式では、データの内容にかかわらずにハミング重みは同じ値になるため、データパス部のハミング重みは演算中に一定となるのである。
【0039】
信号線の遷移に伴わずに消費される電力(スタティック消費電力)は、データパス部のハミング重みに依存することから、2線式にすることでデータによらずスタティック消費電力を一定とすることが可能となる。これによって、スタティック消費電力と鍵情報との間の相関をなくすことができる。
【0040】
従って、このような構成を暗号演算回路に適用すれば、電力差分攻撃へ対策することができる。
【0041】
また、本実施形態では、次のようにデータが有効であるフェイズ(稼働相)とデータが無効であるフェイズ(休止相)とを設ける2相方式を採用すると好ましい。
【0042】
まず、上記のように符号化された有効なデータがデータパス部を流れるときを稼働相とする。また、状態遷移する信号線の数を一定(または、ほぼ一定)にするため無効なデータ(非データ)がデータパス部を流れるときを休止相とする。
【0043】
例えば、2線式において、1ビットのデータが上記のように(1,0)または(0,1)で表されるのに対して、それらのいずれとの間の遷移についてもハミング距離を同じくする(0,0)または(1,1)を非データとする。(0,0)は第1及び第2の信号線がいずれも状態0をとり、(1,1)は第1及び第2の信号線がいずれも状態1をとるものである。
【0044】
このように、稼働相のときにデータを流し、休止相のときに非データを流すようにすることで、休止相を挟んで隣接するデータ間の依存関係をなくすることができる。これは、休止相により1ビットを表す2本の信号線が(0,0)または(1,1)という非データを表す状態に遷移するため、後続するデータは、直前のデータ(休止相を挟んで隣接するデータ)とは無関係となり、休止相にある非データとの間の相違だけで関係するからである。
【0045】
また、2線化された信号線を(1,0)または(0,1)という本来のデータの状態から一旦(0,0)または(1,1)という本来のデータではない非データの状態に遷移させることで、データの内容によらずに1から0または0から1へ状態遷移する信号線の数を一定にし、これによって、データの内容によらず信号線の遷移による消費電力(ダイナミック消費電力)を一定とすることができる。この結果、ダイナミック消費電力と鍵情報との間の相関をなくすことができる。
【0046】
従って、このような構成を暗号演算回路に適用すれば、電力差分攻撃へ対策することができる。
【0047】
ここで、稼働相と休止相とを例えば交互に設けた場合を考える。例えば、図2にあるように、同期信号CLKの立ち上がりのタイミングに合わせて、制御信号線をhigh,lowと交互に繰り返すようにし、この制御信号に従ってデータパス部を稼働相と休止相が交互に繰り返すようにする(なお、図2では稼働相と休止相とを同期信号CLKの立ち下がりのタイミングで切り替えたが、同期信号CLKの立ち下がりのタイミングで切り替えるようにしてもよい)。
【0048】
この場合、稼働相における信号線の状態は(1,0)または(0,1)であり、休止相における信号線の状態は(0,0)または(1,1)であるので、遷移状態としては、稼働相から休止相への遷移では、(1,0)→(0,0)、(1,0)→(1,1)、(0,1)→(0,0)、または(0,1)→(1,1)、休止相から稼働相への遷移では、(0,0)→(1,0)、(0,0)→(0,1)、(1,1)→(1,0)、(1,1)→(0,1)となり、いずれも、状態遷移する信号線の数は1つで一定となる。
【0049】
なお、上記した2線式2相方式の回路構成において、同期信号の立ち上がり(または、立ち下がり)において休止相とするために、データを保持するレジスタは、休止相のデータを内部で保持しないように、入力信号を監視し、休止相であり非データを検出した場合には、レジスタの入力を内部に取り込まないようにし、他方、稼働相のデータを検出した場合には、同期信号の立ち上がり(または、立ち下がり)において入力を内部に取り込むようにするという回路構成にするのが望ましい。
【0050】
また、休止相または稼働相を示す制御信号線を用意し、休止相の場合にはデータパス部に非データが流れるようにレジスタの出力部にAND素子またはOR素子を入れ、制御信号線に応じて、非データがレジスタの先にある組合せ回路へ入力されるようにしてもよい。
【0051】
以下では、2線式2相方式の回路の具体例をいくつか示す。
【0052】
最初に、稼働相において入力データを内部に保持し、休止相においては入力データを取り込まない2線式2相方式のデータ保持回路(レジスタ)の構成例について説明する。
【0053】
図1に、2線化されたデータを保持するデータ保持回路の構成例を示す。本データ保持回路は、第1のレジスタ1と、第2のレジスタ2と、監視回路3と、第1のAND回路6と、第2のAND回路7とを含む。監視回路3は、OR回路4とAND回路5とを含む。なお、図3に、第1及び第2のレジスタ1,2として使用可能な、1つのAND回路11と6つのNAND回路12〜17からなるエッジトリガ型Dフリップフロップの例を示す。また、レジスタ1,2には、マスタースレーブ型Dフリップフロップを用いることも可能である。
【0054】
なお、本データ保持回路は、非データ(0,0)を休止相とする場合の例である。もちろん、図1を修正すれば非データ(1,1)を休止相とする場合も実現可能である。
【0055】
図1において、制御信号CTRLと同期信号CLKには、例えば図2の信号がそれぞれ供給される(本例の場合、CTRLがhighのとき稼動相となり、lowのとき休止相となる)。
【0056】
図1に示されるように、2線に符号化されたデータを保持するために、従来の1線式で使われるDフリップフロップを用いて実現することができる。このように2つのDフリップフロップ1,2を並べることで、2線に符号化されたデータを保持することができる。
【0057】
監視回路9は、休止相であることを監視するための回路である。すなわち、例えばデータパス部の信号線が(0,0)になる場合が休止相とした場合、監視回路9は図1のようにOR回路4とAND回路5で実現することができる。なお、(1,1)を休止相とした場合には、NAND素子とAND素子で実現することができる。
【0058】
第1のAND回路6及び第2のAND回路7の出力が、当該2線式の出力となる。図1の例では、稼動相において、(1,0)または(0,1)が出力され、休止相において(0,0)が出力される。
【0059】
図4に、本データ保持回路の動作を表すタイミングチャート例を示す。なお、図4において、(I1,I2)は図1の入力I1,I2の各状態を示し、(R1,R2)は図1の各レジスタ1,2の保持状態を示し、(O1,O2)は図1の出力O1,O2の各状態を示す。稼動相で入力された入力データは、次の休止相の間も保持され(すなわち、休止相の非データは取り込まれない)、次の稼動相で出力されることがわかる。
【0060】
以上のように本構成例によれば、休止相において非データを取り込まず、稼働相においてデータを保持し、稼動相においてデータを出力し、休止相において非データを出力するようなデータ保持回路を実現することができる。
【0061】
ところで、データ保持回路の実現方法としては、図1の構成例のように既存の1線式で用いられているDフリップフロップを用いて実現する方法もあるが、これよりも少ない論理素子で実現することも可能である。
【0062】
図5に、この場合のデータ保持回路の構成例を示す。図5に示されるように、本データ保持回路は、OR回路or1、AND回路a1〜a4、NAND回路na1〜na6を含む(なお、OR回路or1とAND回路a1で監視回路3を形成している)。
【0063】
なお、図5は、休止相が(0,0)である場合の構成例を示しているが、もちろん、図5を修正すれば休止相が(1,1)である場合も実現可能である。
【0064】
ここで、図6及び図7を用いて、図5に例示した2線式2相方式のデータ保持回路の動作について詳しく説明する。なお、図6及び図7では、図5のAND回路a3,a4は省略している。
【0065】
最初に図5の回路が休止相の状態にあるとし、入力I1,I2ともに0であったとする。
【0066】
次いで稼働相に遷移し、図6のように入力I2が“1”に遷移したとすると、or1の出力は“0”から“1”に遷移する。そして図6のように同期信号CLKが“0”から“1”に立ち上がることで、AND素子a1の出力が“0”から“1”に遷移する。これにより、NAND素子na2の出力が“1”から“0”に遷移する。AND素子a2の出力は、“0”となりNAND素子na3の出力は“1”に遷移する。以上の動作で、NAND素子na5の出力は“1”となり、NAND素子na6の出力は“0”となる。NAND素子na5,n6の出力をAND素子a4,a3の入力に入れ、制御信号CTRLとのAND演算を行うことで、稼動相におけるデータ(0,1)が出力される。
【0067】
さらに稼働相から休止相へ遷移し、図7のように入力I2が“1”から“0”に遷移する。この結果、OR素子or1の出力は“0”になり、AND素子a1,a2の出力も“0”となる。AND素子a1の出力が“0”になることで、NAND素子na2の出力は“1”となり、NAND素子na3の出力も“1”となる。このとき、NAND素子na5,NAND素子na6の出力は変わらない。NAND素子na5,n6の出力はAND素子a4,a3の入力に入れられるが、制御信号CTRLとのAND演算が行われるので、稼動相におけるデータ(0,0)が出力される。
【0068】
以上に示したように、図5のような回路構成とすることで、休止相において入力を取り込まず以前の稼働相のデータを保持し続け、稼働相において入力データを内部に取り込むような2線式用の1ビットのデータ保持回路を構成することができる。
【0069】
このようなレジスタを用い、稼働相と休止相を交互に流すことで、データパス部のハミング重みが一定となるとともに、信号線の遷移数が一定になることについて説明する。
【0070】
スタティック消費電力においては、データのハミング重みが問題となる。2線式のデータパス部において、1ビットのデータは(1,0)または(0,1)と表現される。例えば、1線式において、8ビットのデータ0x18(00011000)についてはハミング重みは“2”、0xff(11111111)についてはハミング重みは“8”となる。一方、2線式においては、8ビットのデータ0x18は(0,1)(0,1)(0,1)(1,0)(1,0)(0,1)(0,1)(0,1)と表されるために、そのハミング重みは“8”であり、0xffは(1,0)(1,0)(1,0)(1,0)(1,0)(1,0)(1,0)(1,0)と表されるために、そのハミング重みは同じく“8”となる。
【0071】
このように、1線式ではデータの内容によってハミング重みが異なるが、2線式では1ビットのデータを2線で(1,0)または(0,1)で表すために、データの内容にかかわらずにハミング重みは一定となる。
【0072】
次に、図8に、1ビットの論理AND演算を行う2線式データパス部の構成例を示す。
【0073】
図8に示されるように、本演算回路は、本実施形態のデータ保持回路r1〜r3と、AND回路a1と、OR回路or1とを含む。
【0074】
以下、図8に例示した1ビットの論理AND演算を行う2線式データパス部を用いて、ダイナミック消費電力について説明する。
【0075】
ここでは、1ビットのデータの値=1を(1,0)で表し、1ビットのデータの値=0を(0,1)で表すものとする。また、休止相を(0,0)とする。また、制御信号CTRLと同期信号CLKには図2の信号がそれぞれ供給されるものとする(CTRLがhighのとき稼動相となり、lowのとき休止相となるものとする)。
【0076】
まず、図9の状態において、レジスタr1に(0,1)、レジスタr2に(1,0)、レジスタr3に(1,0)がそれぞれ保持されており、休止相(制御信号は“0”)であったとする。この状態では、全ての信号線の状態が“0”になっている。
【0077】
次に、休止相から稼働相へ遷移し(制御信号は“0”から“1”に遷移し)、図10の状態になったものとする。この状態では、レジスタr1へ(1,0)、レジスタr2へ(1,0)がそれぞれ入力されたものとする。また、レジスタr1から(0,1)、レジスタr2から(1,0)がそれぞれ出力され、それらが2線式のデータに対する論理AND演算を行う組合せ回路a1,or1に入力され、その演算結果(0,1)が出力され、これがレジスタr3に届き、保持される。また、レジスタr3からは、(1,0)が出力される。
【0078】
ここで、図9の状態から図10の状態への遷移をみると、組合せ回路の6つ信号線のうちの3つの信号線において状態が“0”から“1”に遷移していることがわかる。
【0079】
次に、稼働相から休止相へ遷移し(制御信号は“1”から“0”に遷移し)、図9の状態に戻ったものとする。この状態では、全ての信号線の状態が“0”になっている。
【0080】
ここで、図10の状態から図9の状態への遷移をみると、やはり3つの信号線において状態が遷移していることがわかる。
【0081】
次に、休止相から稼働相へ遷移し(制御信号は“0”から“1”に遷移し)、図11の状態になったものとする。この状態では、レジスタr1へ(0,1)、レジスタr2へ(0,1)がそれぞれ入力されたものとする。また、レジスタr1から(1,0)、レジスタr2から(1,0)がそれぞれ出力され、それらが2線式のデータに対する論理AND演算を行う組合せ回路a1,or1に入力され、その演算結果(1,0)が出力され、これがレジスタr3に届き、保持される。また、レジスタr3からは、(0,1)が出力される。
【0082】
ここで、図9の状態から図11の状態への遷移をみると、やはり3つの信号線において状態が遷移していることがわかる。
【0083】
このように、データの内容にかかわらずに、遷移する信号線の数は一定になる。
【0084】
このように、稼働相と休止相によりデータと非データを交互にデータパスに流すことで、データパス部における組合せ回路の信号線のうち状態遷移するものの個数は一定となり、ダイナミック消費電力は一定となる。
【0085】
ところで、図8では1ビットの論理AND演算を行う2線式データパス部の構成例を示したが、もちろん、この構成例を適宜修正することによって、他の論理演算を行う2線式データパス部も実現可能である。
【0086】
図12に、1ビットの論理OR演算を行う2線式データパス部の構成例を示す。図12に示されるように、本演算回路は、本実施形態のデータ保持回路r1〜r3と、OR回路or2とAND回路a2とを含む。
【0087】
また、図13に、1ビットの論理NAND演算を行う2線式データパス部の構成例を示す。図13に示されるように、本演算回路は、本実施形態のデータ保持回路r1〜r3と、NAND回路na1と、NOR回路nor1とを含む。
【0088】
また、図14に、1ビットの論理NOR演算を行う2線式データパス部の構成例を示す。図14に示されるように、本演算回路は、本実施形態のデータ保持回路r1〜r3と、NOR回路nor2とNAND回路na2とを含む。
【0089】
また、図15に、1ビットの論理NOT演算を行う2線式データパス部の構成例を示す。図15に示されるように、本演算回路は、本実施形態のデータ保持回路r1,r2とを含み、データ保持回路r1の第1の出力O1をデータ保持回路r2の第2の入力I1へ結合し、データ保持回路r1の第2の出力O2をデータ保持回路r2の第1の入力I2へ結合するものである(図中、h1の配線部分参照)。なお、この場合、1ビットの論理NOT演算を行う2線式データパス部は、図16に示すように、2つのNOT回路not1,not2を用いても実現可能である。
【0090】
なお、これまでの説明では、非データ(0,0)を休止相とする場合を中心に説明したが、非データ(1,1)を休止相とする場合も実現可能であり、また、休止相に非データ(0,0)と(1,1)を併用する(例えば、交互あるいはランダムに使用する)構成も可能である。
【0091】
また、これまでの説明では、稼動相と休止相とを交互に設ける場合を中心に説明したが、所定回数の稼動相が続いた後に休止相を設ける、休止相をランダムに設けるなど、それ以外の構成も可能である。
【0092】
また、これまでの説明では、1ビットのデータを表すのに信号線を2本用いる構成を中心に説明したが、1ビットのデータを表すのに信号線を3本以上用いる構成も可能である。
【0093】
1ビットのデータを表すのに4本の信号線を用いる場合には、例えば、状態1を(1,1,0,0)、状態0を(0,0,1,1)で表し、5本の信号線を用いる場合には、例えば、状態1を(1,0,1,0,1)、状態0を(0,1,0,1,0)で表すなどすればよい。
【0094】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0095】
【発明の効果】
本発明によれば、演算対象となるデータの内容によらずに消費電力を一定又は概ね一定とすることができる。
【図面の簡単な説明】
【図1】 本発明の一実施形態に係るデータ保持回路の構成例を示す図
【図2】 同実施形態における同期信号と制御信号のタイミングの一例を示す図
【図3】 同期信号を用いた1線式の1ビットのDフリップフロップの構成例を示す図
【図4】 同実施形態に係るデータ保持回路の動作例を示す図
【図5】 本発明の一実施形態に係るデータ保持回路の他の構成例を示す図
【図6】 図5のデータ保持回路の動作について説明するための図
【図7】 図5のデータ保持回路の動作について説明するための図
【図8】 同実施形態に係る論理AND演算を行うデータパス部の構成例を示す図
【図9】 図8のデータパス部の動作について説明するための図
【図10】 図8のデータパス部の動作について説明するための図
【図11】 図8のデータパス部の動作について説明するための図
【図12】 同実施形態に係る論理OR演算を行うデータパス部の構成例を示す図
【図13】 同実施形態に係る論理NAND演算を行うデータパス部の構成例を示す図
【図14】 同実施形態に係る論理NOR演算を行うデータパス部の構成例を示す図
【図15】 同実施形態に係る論理NOT演算を行うデータパス部の構成例を示す図
【図16】 同実施形態に係る論理NOT演算を行うデータパス部の他の構成例を示す図
【符号の説明】
1,2…レジスタ、3…監視回路、5,6,7,11,a1〜a4…AND回路、4,or1,or2…OR回路、12〜17,na1〜na6…NAND回路、nor1,nor2…NOR回路、not1,not2…NOT回路、r1〜r3…データ保持回路

Claims (13)

  1. 第1及び第2の2本の信号線のビット状態の組合せにより値が定まる第1の1ビット・データと、第3及び第4の2本の信号線のビット状態の組合せにより値が定まる第2の1ビット・データとに対して所定の論理演算を施して得られる結果を、第5及び第6の2本の信号線のビット状態の組合せにより値が定まる第3の1ビット・データとして出力する論理演算装置であって、
    前記第1の1ビット・データを入力側の第1及び第2の信号線から入力し一旦保持した後に出力側の第1及び第2の信号線から出力する第1のデータ保持回路と、
    前記第2の1ビット・データを入力側の第3及び第4の信号線から入力し一旦保持した後に出力側の第3及び第4の信号線から出力する第2のデータ保持回路と、
    前記第1のデータ保持回路の出力側の第1の信号線を第1の入力データとし、前記第2のデータ保持回路の出力側の第の信号線を第2の入力データとし、該第1の入力データ及び該第2の入力データをもとにした、前記所定の論理演算に応じた第1の論理演算を行って、その結果を、前記第3の1ビット・データの第5の信号線のビット状態として出力する第1の論理演算回路と、
    前記第1のデータ保持回路の出力側の第2の信号線を第1の入力データとし、前記第2のデータ保持回路の出力側の第の信号線を第2の入力データとし、該第1の入力データ及び該第2の入力データをもとにした、前記所定の論理演算に応じた第2の論理演算を行って、その結果を、前記第3の1ビット・データの第6の信号線のビット状態として出力する第2の論理演算回路と、
    前記第1の論理演算回路の出力側の信号線及び前記第2の論理演算回路の出力側の信号線の2本の信号線で与えられる前記第3のビット・データを入力側の第5及び第6の信号線から入力し一旦保持した後に出力側の第5及び第6の信号線から出力する第3のデータ保持回路とを備え、
    前記2本の信号線のビット状態の組合せが(0,1)である場合に、前記1ビット・データの値が0と1とのうちの予め定められた一方に定まり、前記2本の信号線のビット状態の組合せが(1,0)である場合に、前記1ビット・データの値が0と1とのうちの予め定められた他方に定まるものであり、
    前記2本の信号線に係るビット状態の組み合わせとして、前記1ビット・データの値に応じて、(0,1)又は(1,0)が入出力される稼働相と、無効なデータを表す(0,0)又は(1,1)が入出力される休止相とが設けられ、
    前記第1、第2及び第3のデータ保持回路は、それぞれ、前記稼動相においては、当該データ保持回路の入力側の2本の信号線から前記1ビット・データを入力し、当該データ保持回路の出力側の2本の信号線へ前記1ビット・データを出力し、前記休止相においては、当該データ保持回路の入力側の2本の信号線から前記無効なデータを入力することなしに、当該データ保持回路の出力側の2本の信号線から前記無効なデータを出力することを特徴とする論理演算装置。
  2. 前記第1の論理演算回路は、前記第1の入力データと前記第2の入力データとのAND演算を行うものであり、
    前記第2の論理演算回路は、前記第1の入力データと前記第2の入力データとのOR演算を行うものであることを特徴とする請求項に記載の論理演算装置。
  3. 前記第1の論理演算回路は、前記第1の入力データと前記第2の入力データとのOR演算を行うものであり、
    前記第2の論理演算回路は、前記第1の入力データと前記第2の入力データとのAND演算を行うものであることを特徴とする請求項に記載の論理演算装置。
  4. 前記第1の論理演算回路は、前記第1の入力データと前記第2の入力データとのNAND演算を行うものであり、
    前記第2の論理演算回路は、前記第1の入力データと前記第2の入力データとのNOR演算を行うものであることを特徴とする請求項に記載の論理演算装置。
  5. 前記第1の論理演算回路は、前記第1の入力データと前記第2の入力データとのNOR演算を行うものであり、
    前記第2の論理演算回路は、前記第1の入力データと前記第2の入力データとのNAND演算を行うものであることを特徴とする請求項に記載の論理演算装置。
  6. 予め定められた方法に従って前記稼働相の間に前記休止相が挿入されることを特徴とする請求項1ないし5のいずれか 1 項に記載の論理演算装置。
  7. 各々の前記1ビット・データの入出力に係る前記稼働相の間にそれぞれ前記休止相が挿入されることを特徴とする請求項6に記載の論理演算装置。
  8. 前記論理演算装置は、前記稼働相と前記休止相との区別を示す制御信号を入力する手段と、同期信号を入力する手段とを更に備え、
    前記第1、第2及び第3のデータ保持回路は、それぞれ、前記制御信号が稼動相を示す場合には、前記同期信号に従って、当該データ保持回路の入力側の2本の信号線から前記1ビット・データを入力し、当該データ保持回路の出力側の2本の信号線へ前記1ビット・データを出力し、前記制御信号が休止相を示す場合には、当該データ保持回路の入力側の2本の信号線から前記無効なデータを入力することなしに、前記同期信号に従って、当該データ保持回路の出力側の2本の信号線から前記無効なデータを出力することを特徴とする請求項1ないし5のいずれか 1 項に記載の論理演算装置。
  9. 前記同期信号の立ち上がり又は立ち下がりの2回に1回の割合で、前記同期信号に同期した前記1ビット・データが入力されることを特徴とする請求項8に記載の論理演算装置。
  10. 前記データ保持回路は、
    前記入力側の2本の信号線のうちの一方の信号線から、前記1ビット・データを構成する2ビットのデータのうちの一方のデータを保持するための第1のラッチ回路と、
    前記入力側の2本の信号線のうちの他方の信号線から、前記1ビット・データを構成する2ビットのデータのうちの他方のデータを保持する第2のラッチ回路と、
    前記第1のラッチ回路から出力される前記一方のデータ及び前記第2のラッチ回路から出力される前記他方のデータを前記1ビット・データとして保持するための第3のラッチ回路と、
    前記入力側の2本の信号線のビット状態の組合せが前記稼動相に係るものである場合にのみ、前記第1のラッチ回路が前記一方の信号線から前記一方のデータを取り込み且つ前記第2のラッチ回路が前記他方の信号線から前記他方のデータを取り込むように制御する制御回路と、
    前記稼動相においては前記第3のラッチ回路が保持している前記1ビット・データを前記出力側の2本の信号線から出力し、前記休止相においては前記第3のラッチ回路が保持しているデータの内容にかかわらずに前記無効なデータを前記出力側の2本の信号線から出力する出力回路とを含むものであることを特徴とする請求項1に記載の論理演算装置。
  11. 前記第1のラッチ回路は、互いに相手の出力を入力とする第1のNAND素子及び第2のNAND素子からなり、
    前記第2のラッチ回路は、互いに相手の出力を入力とする第3のNAND素子及び第4のNAND素子からなり、
    前記第3のラッチ回路は、互いに相手の出力を入力とする第5のNAND素子及び第6のNAND素子からなり、
    前記第1のNAND素子の入力は、前記一方の信号線に接続され、
    前記第4のNAND素子の入力は、前記他方の信号線に接続され、
    前記第2のNAND素子の出力は、前記第5のNAND素子の入力に接続され、
    前記第3のNAND素子の出力は、前記第6のNAND素子の入力に接続され、
    前記第2のNAND素子及び前記第3のNAND素子の入力は、前記制御回路に接続され、
    前記第5のNAND素子及び前記第6のNAND素子の入力は、前記出力回路に接続されたことを特徴とする請求項10に記載のデータ保持回路。
  12. 前記制御回路は、
    OR素子と、第1のAND素子と、第2のAND素子とからなり、
    前記OR素子の入力は、前記一方の信号線及び前記他方の信号線に接続され、
    前記第1のAND素子の入力は、前記OR素子の出力及び同期信号に接続され、
    前記第2のAND素子の入力は、前記第1のAND素子の出力及び前記第2のNAND素子の出力に接続され、
    前記第2のAND素子の出力は、前記第3のAND素子の入力に接続されたことを特徴とする請求項11に記載のデータ保持回路。
  13. 前記出力回路は、
    前記稼動相において前記1ビット・データを構成する2ビットのデータのうちの一方のデータを出力する第3のAND素子と、前記稼動相において前記1ビット・データを構成する2ビットのデータのうちの他方のデータを出力する第4のAND素子とからなり、
    前記第3のAND素子の入力は、前記前記第6のNAND素子の出力及び前記稼動相において1となり前記休止相において0となる制御信号に接続され、
    前記第4のAND素子の入力は、前記前記第5のNAND素子の出力及び前記制御信号に接続されたことを特徴とする請求項11に記載のデータ保持回路。
JP2003146491A 2003-05-23 2003-05-23 論理演算装置 Expired - Fee Related JP3819872B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003146491A JP3819872B2 (ja) 2003-05-23 2003-05-23 論理演算装置
US10/849,253 US7071725B2 (en) 2003-05-23 2004-05-20 Data processing apparatus and logical operation apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003146491A JP3819872B2 (ja) 2003-05-23 2003-05-23 論理演算装置

Publications (2)

Publication Number Publication Date
JP2004347975A JP2004347975A (ja) 2004-12-09
JP3819872B2 true JP3819872B2 (ja) 2006-09-13

Family

ID=33447587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003146491A Expired - Fee Related JP3819872B2 (ja) 2003-05-23 2003-05-23 論理演算装置

Country Status (2)

Country Link
US (1) US7071725B2 (ja)
JP (1) JP3819872B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10324049B4 (de) 2003-05-27 2006-10-26 Infineon Technologies Ag Integrierte Schaltung und Verfahren zum Betreiben der integrierten Schaltung
US7610628B2 (en) * 2005-03-01 2009-10-27 Infineon Technologies Ag Apparatus and method for calculating a representation of a result operand
US7881465B2 (en) * 2005-08-08 2011-02-01 Infineon Technologies Ag Circuit and method for calculating a logic combination of two encrypted input operands
DE102005037357B3 (de) * 2005-08-08 2007-02-01 Infineon Technologies Ag Logikschaltung und Verfahren zum Berechnen eines maskierten Ergebnisoperanden
US7372290B2 (en) * 2005-10-04 2008-05-13 Stmicroelectronics, Inc. System and method for using dummy cycles to mask operations in a secure microcontroller
JP2008099204A (ja) * 2006-10-16 2008-04-24 Toshiba Corp 論理回路
JP5203594B2 (ja) * 2006-11-07 2013-06-05 株式会社東芝 暗号処理回路及び暗号処理方法
US8139601B2 (en) * 2007-07-06 2012-03-20 Xmos Limited Token protocol
FR2928060B1 (fr) * 2008-02-25 2010-07-30 Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst Procede de test de circuits de cryptographie, circuit de cryptographie securise apte a etre teste, et procede de cablage d'un tel circuit.
FR2929470B1 (fr) * 2008-03-25 2010-04-30 Groupe Ecoles Telecomm Procede de protection de circuit de cryptographie programmable, et circuit protege par un tel procede
JP4687775B2 (ja) 2008-11-20 2011-05-25 ソニー株式会社 暗号処理装置
JP4849140B2 (ja) * 2009-02-20 2012-01-11 ソニー株式会社 データ変換装置、演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム
JP5458611B2 (ja) 2009-03-13 2014-04-02 ソニー株式会社 暗号処理装置
JP5364840B2 (ja) 2010-02-22 2013-12-11 株式会社東芝 暗号化装置
CN103593627B (zh) * 2013-11-06 2016-08-17 中国科学院信息工程研究所 一种双层复合寄存器系统及抵抗能量分析攻击的方法
US10891396B2 (en) * 2016-05-27 2021-01-12 Samsung Electronics Co., Ltd. Electronic circuit performing encryption/decryption operation to prevent side- channel analysis attack, and electronic device including the same

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6510518B1 (en) * 1998-06-03 2003-01-21 Cryptography Research, Inc. Balanced cryptographic computational method and apparatus for leak minimizational in smartcards and other cryptosystems
JP3600454B2 (ja) 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
JP4428829B2 (ja) * 2000-07-24 2010-03-10 株式会社ルネサステクノロジ 半導体集積回路
JP2003008414A (ja) * 2001-06-21 2003-01-10 Seiko Epson Corp クロックエッジ検出回路
JP4045777B2 (ja) * 2001-10-30 2008-02-13 株式会社日立製作所 情報処理装置
DE10227618B4 (de) * 2002-06-20 2007-02-01 Infineon Technologies Ag Logikschaltung

Also Published As

Publication number Publication date
US7071725B2 (en) 2006-07-04
US20040233749A1 (en) 2004-11-25
JP2004347975A (ja) 2004-12-09

Similar Documents

Publication Publication Date Title
JP3819872B2 (ja) 論理演算装置
EP0977109A1 (en) Method and apparatus for synchronizing data transfers in a logic circuit having plural clock domains
WO2005109210A1 (ja) 消費電力解析防止機能つき半導体装置
US20060200514A1 (en) Apparatus and method for calculating a representation of a result operand
JP2007195132A (ja) 暗号処理装置
US7881465B2 (en) Circuit and method for calculating a logic combination of two encrypted input operands
Cilio et al. Side-channel attack mitigation using dual-spacer Dual-rail Delay-insensitive Logic (D 3 L)
KR20020055422A (ko) 데이터 처리 장치 및 그것을 이용한 메모리 카드
Liu et al. Correlation power analysis against stream cipher mickey v2
Yu et al. Leveraging balanced logic gates as strong PUFs for securing IoT against malicious attacks
US6873558B2 (en) Integrated circuit and method for operating the integrated circuit
KR20010032564A (ko) 미분 전류 소모 분석을 방지하는 데이터 처리 장치 및작동 방법
Yanambaka et al. Veda-PUF: a PUF based on vedic principles for robust lightweight security for IoT
JP2004038318A (ja) レジスタ回路及びこれを用いた暗号演算回路
Emmert et al. An asynchronous FPGA THx2 programmable cell for mitigating side-channel attacks
Moradi et al. Power analysis of single-rail storage elements as used in MDPL
Atani et al. On DPA-resistive implementation of FSR-based stream ciphers using SABL logic styles
Giancane et al. A new dynamic differential logic style as a countermeasure to power analysis attacks
Meyers et al. Stealthy Logic Misuse for Power Analysis Attacks in Multi-Tenant FPGAs (Extended Version)
WO2004095366A1 (en) Electronic circuit device for cryptographic applications
JP4765609B2 (ja) 暗号処理装置
JP2010062635A (ja) 暗号処理装置および集積回路
Atani et al. Design and implementation of DPA resistive Grain-128 stream cipher based on SABL logic
JP2008196917A (ja) 非同期式カウンタ回路
Moulali A Novel Flip Flop Resistant to DPA Attacks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060522

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060615

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

Free format text: PAYMENT UNTIL: 20090623

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100623

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100623

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110623

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120623

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120623

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130623

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees