JP3877663B2 - Logic circuit and encryption device - Google Patents
Logic circuit and encryption device Download PDFInfo
- Publication number
- JP3877663B2 JP3877663B2 JP2002280297A JP2002280297A JP3877663B2 JP 3877663 B2 JP3877663 B2 JP 3877663B2 JP 2002280297 A JP2002280297 A JP 2002280297A JP 2002280297 A JP2002280297 A JP 2002280297A JP 3877663 B2 JP3877663 B2 JP 3877663B2
- Authority
- JP
- Japan
- Prior art keywords
- signal line
- circuit
- connection
- output
- logic
- 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
Links
Images
Landscapes
- Logic Circuits (AREA)
- Storage Device Security (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、論理回路およびこの論理回路を用いた暗号化装置に関する。
【0002】
【従来の技術】
電子機器で用いられるほとんどの電子部品には、半導体素子で構成される論理回路が多数使用されている。従来の論理回路についての一例として、2入力1出力のCMOS型ナンドゲートを図24に示す。
【0003】
このCMOS型ナンドゲートは、2つのPMOSトランジスタ103、104と、2つのNMOSトランジスタ105、106とで構成されており、入力101、102の両方がHのときのみ、出力107はLとなり、それ以外の入力の組では、出力107はHとなる。例えば、入力101がHで入力102がLの場合の動作は、PMOSトランジスタ103とNMOSトランジスタ105とがONとなり、PMOSトランジスタ104とNMOSトランジスタ106とがOFFとなる。そのため、出力107は、PMOSトランジスタ103によって電源Vccに接続され、Hになる。すなわち、電源Vccから出力310へ電流が流れ、出力107の容量成分に電荷が保持される。また、例えば、入力101と入力102とが共にHの場合の動作は、NMOSトランジスタ105とNMOSトランジスタ106がとONとなり、PMOSトランジスタ103とPMOSトランジスタ104とがOFFとなる。そのため、出力107は、NMOSトランジスタ105、106によって接地GNDに接続され、Lになる。すなわち、出力107に保持されていた電荷が接地GNDへ流れる。以上のように、従来の論理回路は、出力結果の値によって消費される電流量が異なるものであった。
【0004】
ところで、近年、暗号ハードウェアに対する攻撃方法として、DPA(Differential Power Analysis)が注目されてきている。DPAによる攻撃方法は、暗号ハードウェアの入力に対する出力とその際に測定した消費電力とを統計的に処理することで、本来暗号ハードウェアの内部で生成され隠蔽されるべき秘密の鍵を推定する方法である。従って暗号回路を製品化するにあたって、DPAによる攻撃方法に対する対策も十分なされる必要が生じてきており、具体的な対策案も示されてきている(例えば、特許文献1参照)。
【0005】
【特許文献1】
特開2001−268071公報
【0006】
【発明が解決しようとする課題】
暗号ハードウェアは、上記で説明したような論理回路が多数用いられている。
【0007】
しかしながら、上記で説明したように、従来の論理回路は出力結果によって消費電力が異なるものであるため、このような論理回路を適用した暗号ハードウェアは、DPAによって攻撃されてしまう恐れがあるという問題があった。
【0008】
本発明は、このような問題点に鑑みなされたものであり、出力結果によらず消費電力が一定となる論理回路および暗号化装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明は、複数の論理信号が入力される論理回路は、第1信号線と、第2信号線と、第1電源と、前記第1電源とは電圧値の異なる第2電源と、前記第1信号線の一端と前記第1電源とを選択的に接続する第1接続回路と、前記第2信号線の一端と前記第1電源とを選択的に接続する第2接続回路と、前記第1信号線の他端と前記第2電源とを選択的に接続する第3接続回路と、前記第2信号線の他端と前記第2電源とを選択的に接続する第4接続回路と、前記第1接続回路と前記第2接続回路とへ同じ接続または非接続の動作をさせるよう制御する第1接続制御回路と、前記第3接続回路と前記第4接続回路とへ接続または非接続の動作をさせるよう制御する第2接続制御回路と、前記第1信号線と前記第2信号線とに接続され、前記第1信号線と前記第2信号線との電圧差に基づいて、出力信号を出力する出力回路とを備え、前記複数の論理信号の入力に対する出力時には、前記第1接続制御回路が前記第1接続回路と前記第2接続回路とへ非接続の動作をさせるよう制御するとともに、前記第2接続制御回路が前記第3接続回路と前記第4接続回路との何れか一方のみへ接続の動作をさせるよう制御するようにした。
【0010】
また、本発明は、第1の信号線と、第2の信号線と、第1の信号線と第2の信号線との電圧に基づいて出力を行う出力回路とを備える論理回路であって、前記第1の信号線と前記第2の信号線とに、第1の電圧を掛ける処理を行う第1のモードと、前記第1の信号線と前記第2の信号線との何れか一方に、上記第1の電圧とは電圧値が異なる第2の電圧を掛ける処理を行う、前記第1のモードに続いて行われる第2のモードとで動作し、前記第2のモード時の出力回路からの出力を論理出力とするようにした。
【0011】
このようにしたことにより、本発明の論理回路は、2つの信号線の電位差によって、出力を決定する新たな方式を提供し、また、出力によらず、定電力で動作できるようになった。
【0012】
また、本発明の、非線形変換処理を行う手段を隠蔽された内部に備える暗号化装置は、前記非線形変換処理手段を行う手段には、第1信号線と、第2信号線と、第1電源と、前記第1電源より低い電圧値の第2電源と、前記第1信号線の一端と前記第1電源とを選択的に接続する第1接続回路と、前記第2信号線の一端と前記第1電源とを選択的に接続する第2接続回路と、前記第1信号線の他端と前記第2電源とを選択的に接続する第3接続回路と、前記第2信号線の他端と前記第2電源とを選択的に接続する第4接続回路と、前記第1接続回路と前記第2接続回路とへ同じ接続または非接続の動作をさせるよう制御する第1接続制御回路と、前記第3接続回路と前記第4接続回路とへ接続または非接続の動作をさせるよう制御する第2接続制御回路と、前記第1信号線と前記第2信号線とに接続され、前記第1信号線と前記第2信号線との電圧差に基づいて、出力信号を出力する出力回路とを備え、複数の論理信号の入力に対する出力時には、前記第1接続制御回路が前記第1接続回路と前記第2接続回路とへ非接続の動作をさせるよう制御するとともに、前記第2接続制御回路が前記第3接続回路と前記第4接続回路との何れか一方のみへ接続の動作をさせるよう制御するようにした論理回路を少なくとも1つ以上備えた。
【0013】
また、本発明の非線形変換処理を行う手段を隠蔽された内部に備える暗号化装置は、前記非線形変換処理手段を行う手段には、第1の信号線と、第2の信号線と、第1の信号線と第2の信号線との電圧に基づいて出力を行う出力回路とを備え、前記第1の信号線と前記第2の信号線とに、第1の電圧を掛ける処理を行う第1のモードと、前記第1の信号線と前記第2の信号線との何れか一方に、上記第1の電圧より低い電圧値の第2の電圧を掛ける処理を行う、前記第1のモードに続いて行われる第2のモードとで動作し、前記第2のモード時の出力回路からの出力を論理出力とするようにした論理回路を少なくとも1つ以上備えた。
【0014】
このように、出力によらず、定電力で動作できる論理回路を、暗号化装置の内部に用いることにより、DPAによる攻撃に耐性を持った暗号回路を提供できるようになった。
【0015】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態について説明する。
【0016】
図1は、本実施の形態の論理回路を示したものである。この論理回路は、信号線51と信号線52を備える。信号線51は、接続回路21と接続され、接続回路21がONされることにより電源11と導通される。更に、信号線51は、接続回路23と接続され、接続回路23がONされることにより電源12と導通される。信号線52は、接続回路22と接続され、接続回路22がONされることにより電源11と導通される。更に、信号線52は、接続回路24と接続され、接続回路24がONされることにより電源12と導通される。
【0017】
接続回路23及び接続回路24のON/OFF制御は、接続制御回路33によって行われる。接続制御回路33は、後述する前処理フェーズの開始時に、接続回路23および接続回路24をONし、該前処理フェーズの終了時に接続回路23および接続回路24をOFFする。
【0018】
一方、接続回路21及び接続回路22のON/OFF制御は、接続制御回路31によって行われる。接続制御回路31は、後述する出力フェーズ時に、N本の信号線から入力される入力信号53−1〜53−Nに基づいて、接続回路21と接続回路22の何れか一方をONし、他方をOFFする信号を供給する。この供給により、信号線51または信号線52の何れかが電源線11と接続され、接続された信号線51または信号線52の電圧が変化し、信号線51と信号線52とは電圧差が発生する。信号線51と信号線52とに接続される出力回路34は、この電圧差によって決定された出力信号54−1および」54−2を出力する。
【0019】
次に、本実施の形態の論理回路の動作について説明する。
【0020】
この論理回路は、信号線51と信号線52を同じ電圧に設定する前処理フェーズと、入力信号53−1〜53−Nの値によって信号線51と信号線52のどちらか一方のみの電圧を変化させる出力フェーズとを備える。
【0021】
前処理フェーズでは、接続制御回路33によって制御信号が生成され,接続回路23および接続回路24がONされ、導通状態に設定される。したがって、信号線51および信号線52は、共に電源12に接続され、同じ電圧V2になる。そして、前処理フェーズが終了すると、接続制御回路33によって、接続回路23および接続回路24は、OFFされ、非導通状態に設定される。このとき、信号線51および信号線52は対照に設計されているので、同じ容量成分Cを持つことになる。その結果、信号線51と信号線52とは、接続回路23および接続回路24が非導通状態に設定されても電源12と同じ電圧V2を保つ。以上の前処理フェーズに引き続き、出力フェーズが行われる。
【0022】
出力フェーズになると、接続制御回路31は、入力信号53−1〜53−Nの値に基づいて、接続回路21または接続回路22のいずれか一方のみを導通状態に設定し、もう一方を非導通状態に設定するための制御信号を生成する。つまり、接続制御回路31は、入力信号53−1〜53−Nがどのような信号の組であっても、一方のみがON出力されるように構成されている。
【0023】
生成された制御信号を受けた接続回路21および接続回路22によって導通状態に設定された信号線51または信号線52は、電源11と同じ電圧V1となり、他方の非導通状態のままの信号線52または信号線51は、前処理フェーズで保たれた電圧V2のまま保持される。電源11に導通された信号線51または52からは、(V2−V1)*Cの電荷が電源11へ流れる。すなわち、入力信号53−1〜53−Nの値によって、信号線51と信号線52の間に電圧差が発生し、それら各電圧が出力回路34に入力され、その電圧差によって出力が決定される。
【0024】
出力フェーズが完了すると、再び前処理フェーズが行われる。このとき、信号線51または、信号線52のいずれかが電圧V1で、もう一方が電圧V2となっており、電圧V1となっている信号線は、前処理フェーズによって電源12と同じ電圧V2となる。このとき、(V2−V1)*Cの電荷が電源12からその信号線に供給される。
【0025】
以上のように、本実施の形態の論理回路は、前処理フェーズでは(V2−V1)*Cの電荷が電源12から何れかの信号線51または信号線52へ流れ、出力フェーズでは(V2−V1)*Cの電荷が何れかの信号線51または信号線52から電源11へ流れる。つまり、前処理フェーズ及び出力フェーズの何れの場合にも、入力信号の値によらず、常に同じ電流(V2−V1)*Cの定電流が流れる論理回路が実現できるようになる。また、このような論理回路を暗号回路へ用いたとしても、消費電力の差を利用したDPAの攻撃方法を防ぐことが可能となる。
【0026】
次に、図1で示した本実施の形態の具体例を以下に説明する。
(具体例1)
図2は、本実施の形態に適用可能な具体例1に係る詳細構成を示した論理回路である。なお、同一図番のものは、図1と同じものを使用していることを意味する。
【0027】
この論理回路は、図1の接続回路21をNMOSトランジスタ2110で、図1の接続回路22をNMOSトランジスタ2210で、図1の接続回路23をPMOSトランジスタ2310で、図1の接続回路24をPMOSトランジスタ2410で実現したものである。また、図1の接続制御回路31を、論理素子の組み合わせからなる接続制御回路3110で実現したものである。また、この接続制御回路3110は、A、B、C、Dの4つの信号が入力されるものであり、また、これらの4つの信号の入力の組に対するORゲート6110の出力の例を図3で示した。
【0028】
接続制御回路33は、図1と同様、前処理フェーズの時、Lを出力し、それ以外の時はHを出力する。PMOSトランジスタ2310、2410は、接続制御回路33からの信号がLのときに導通状態になり、Hのときに非導通状態になる。NMOSトランジスタ2110、2210は、入力される信号がHのときに導通状態となり、Lのときに非導通状態になる。
【0029】
接続制御回路3110は、図3の関係を実現するための制御回路である。接続制御回路3110内のORゲート6110は、図3に示された出力がHのときにHとなり、ORゲート6210は、図3に示された出力がLのときにHになる。また、ORゲート6110及び6210は、前処理フェーズの時には、Lになるように制御される。
【0030】
出力回路34は、図1と同じものであり、2つの入力を備え、その2つの入力の電圧差から出力を決定する。また、出力回路34は、2つの出力を備え、その組合せで出力値が定義される。この例では、出力値がHのときには出力1がHで出力2がLとなり、出力値がLのときには出力1がLで出力2がHとなり,それ以外の時に出力1、出力2がともにHとなるものである。
【0031】
次に、この論理回路の動作について説明する。
【0032】
前処理フェーズでは、接続制御回路33からLが出力される。接続制御回路33から出力されたL信号は、PMOSトランジスタ2310、2410および接続制御回路3110へ供給される。PMOSトランジスタ2310、2410は、L信号が入力されるので導通状態になる。一方、接続制御回路3110では、NMOSトランジスタ2110、2210を、非導通状態となるようなL信号が出力される。したがって、PMOSトランジスタ2310、2410が導通状態となり、NMOSトランジスタ2110、2210が非導通状態となり、信号51、52は、電源線12(Vcc)に接続され、電圧Vccとなる。このとき、出力回路34への入力は、ともにHになるので、出力回路34の出力1と出力2は、ともにHが出力される。以上の前処理フェーズに続き、出力フェーズが行われる。
【0033】
出力フェーズでは、接続制御回路3110は、図3で示した入力と出力との対応関係を実現する。例えば、入力がABCD=0110のときは、ORゲート6110がLを出力し、ORゲート6210がHを出力する。この結果、NMOSトランジスタ2110が非導通状態となり、NMOSトランジスタ2210が導通状態となる。したがって、信号線52は、電源11(GND=0V)に接続され、信号線52で保持されていた電荷が、GNDに流れる。一方、信号線51の電位は、GNDに接続されないので、Vccに保持される。
【0034】
したがって、信号線52の電圧がGNDで、信号線51の電圧がVccとなり、出力回路34は、この差を検出して出力値Lとすべく、すなわち、出力1からL,出力2からHを出力する。この後、次の動作として、また、前処理フェーズとなる。
【0035】
なお、この具体例1の論理回路の接続制御回路3110は、論理圧縮を行って、図4のように変形しても良い。
(具体例2)
図5は、本実施の形態に適用可能な別の具体例2に係る詳細構成を示した論理回路である。なお、上記と同じものは、同一番号を付している。
【0036】
図5に示した具体例2は、図2に示した具体例1のORゲート6110、6210を、信号線51または52の何れかにそれぞれ接続された16個のNMOSトランジスタ2000−1〜2000−16で実現している。これらのNMOSトランジスタ2000−1〜2000−16は、図1の接続回路21および22と等価な回路である。
【0037】
つまり、接続回路21は、NMOSトランジスタ2000−1、−2、−6、−7、−12、−13、−15、−16によって実現され、接続回路22は、NMOSトランジスタ200-3、-4、-5、-8、-9、-10、−11、−14によって実現されている。
【0038】
次にこの論理回路動作について説明する。
【0039】
前処理フェーズでは、接続制御回路33によってLが出力され、PMOSトランジスタ2310、2410は、導通状態になる。一方、接続制御回路3120内のアンドゲート2010−1〜2010−16の全ては、NMOSトランジスタ2000−1〜2000−16への出力としてLを出力し、NMOSトランジスタ2000−1〜2000−16は、非道通状態となる。したがって、信号線51、52は、電源線12(Vcc)と接続され、H状態が保持される。
【0040】
次に、出力フェーズでは、接続制御回路33からHが出力される。PMOSトランジスタ2310、2410は、非導通状態となる。接続制御回路3120では、入力信号に応じて1つのANDゲートのみがHを出力し、その他のANDゲートは、Lを出力する。例えば、入力がABCD=0110のとき、ANDゲート2010−7のみがHを出力し、その他のANDゲートは、Lを出力する。これによって、NMOSトランジスタ2000−7のみが導通状態となり,その他のNMOSトランジスタは、非導通状態となる。したがって、NMOSトランジスタ2000−7が接続されている信号線51が接地(GND)と導通状態となり、信号線51に保持されていた電荷がGNDに流れ、信号線51の電圧がGND(=0)と同じとなる。一方、信号線52は、H状態が保持されたままとなり、信号線51と52との間に電圧差が発生し、出力回路34は、その電圧差に応じて出力する。
(具体例3)
図6は、本実施の形態に適用可能な別の具体例3に係る詳細構成を示した論理回路である。図6に示した具体例3は、図5に示した具体例2を変形したもので、図1の接続回路21、22に相当するNMOSトランジスタ2000−1〜2000−16の導通/非導通を制御するためのアンドゲート2010−1〜2010−16を、各NMOSトランジスタ2000−1〜2000−16と直列に接続された各4個のNMOSトランジスタで構成されるNMOSトランジスタ列2500−1〜2500−16で代替して実現したものである。
【0041】
NMOSトランジスタ2000−1〜2000−16のゲート入力は、接続制御回路33からの信号であり、前処理フェーズにおいて非導通状態となるように制御される。
【0042】
接続制御回路3130として用いられるNMOSトランジスタ列2500−1〜2500−16は、外部からの入力によって導通/非道通が制御される。例えば、入力がABCD=0110のときは、NMOSトランジスタ列2500−7内のすべてのトランジスタが導通状態となる。それ以外のトランジスタ列は、少なくとも何れかのトランジスタが非導通状態となる。したがって、出力フェーズでは、このNMOSトランジスタ列2500−7から信号線52に保持されている電荷が接地(GND)に流れ、結果として信号線52の電圧が接地レベルとなり,電荷が保持されたままのもう一方の信号線51との間に電圧差が生じ、その電圧差によって出力が決定される。
【0043】
図6に示した具体例3では、信号線51、52に、接続回路21、22対応のNMOSトランジスタ2000−1〜2000−16が接続され、各NMOSトランジスタと接地GNDの間に各接続制御用のNMOSトランジスタ列が接続されているが、これとは逆で、信号線51、52に、接続制御用のNMOSトランジスタ列が接続され,さらに接続回路21、22対応のNMOSトランジスタが接地GNDとの間に接続されても良い。
【0044】
また、図6に示した具体例では、左右対称になるように配置されているが、図7に示すように非対称に配置することも可能である。この場合、レイアウト設計上、繰り返しが行えるため、設計期間を短縮することが可能となる。
【0045】
また、図8に示すように、接続制御回路33の出力信号を本論理回路の入力信号A,B,C,Dへ直接作用させるように(図のように)論理素子へ入力することにより、接続回路
21、22対応のNMOSトランジスタを省略することも可能である。
【0046】
ところで、具体例3の各構成(図6〜図8)では、接地GNDまでの経路がすべて導通状態にならなかった場合でも、一部のトランジスタが導通状態になっているため、電荷が信号線51、52から、NMOSトランジスタを通して別の配線に流れる。このため、H状態に保持される信号線の電圧が、実際には多少低くなる。動作上は、電荷が完全に流れることはないので出力が確定するが、次に、前処理フェーズでプリチャージ(信号線51、52をV2に)するときに、不足分の電荷が必要になる。この不足分を補ってプリチャージすることにより、DPAによる攻撃がなされてしまう可能性がある。これを避けるために、出力が終った時点ですべての電荷を信号線から接地へ流してしまうように制御する。この制御を以下、後処理フェーズと呼ぶ。後処理フェーズを行うと、毎回、信号線51と52とにチャージされる電荷が消費される。
【0047】
図9に示した構成では、NMOSトランジスタ列2500−1〜2500−16と相補的にPMOSトランジスタ列2600−1〜2600−16が信号線51、52に接続され、また、信号線の電荷を抜くためのNMOSトランジスタ2700、2800が信号線51、52に接続されている。これらの新たに追加された素子によって、2つの信号線51と52に電荷が無い状態から電荷をチャージすることによっても論理結果を得ることができるようになる。
【0048】
信号線51、52の状態を(x,x)と表す。xは、HかLのどちらかを取る。図6〜図8に示した構成では、前処理フェーズで(H,H)になり、出力フェーズで(H,L)あるいは(L,H)になり、後処理フェーズで(L,L)となり、再び、前処理フェーズによって(H,H)となる。
【0049】
一方、図9に示した構成では、前処理フェーズで(H,H)になり、出力フェーズ1で(H,L)あるいは(L,H)になり、後処理フェーズで(L,L)となり、この後、出力フェーズ2で(H,L)あるいは(L,H)になり、後処理フェーズで(L,L)となり、再び、前処理フェーズによって(H,H)となる。
【0050】
ここで出力フェーズ1は、プリチャージ状態からNMOSトランジスタ列によって論理入力によって信号線の一方の電荷を抜く処理を意味し、出力フェーズ2は、ディスチャージ状態からPMOSトランジスタ列によって論理入力によって信号線の一方に電荷を注入する処理を意味する。図9の構成をとることにより、処理時間の短縮とともに、消費電力の低減を実現することが可能となる。なお、図9に示した回路においても、図7で示した構成と同様に、電荷を抜くための接地線に接続されているNMOSトランジスタや、電荷を注入するために電源線に接続されているPMOSトランジスタを省略する構成をとることも可能である。(具体例4)
図10は、本実施の形態に適用可能な別の具体例4に係る詳細構成を示した論理回路である。
【0051】
図10に示した回路は、2入力の汎用的な論理回路に対応した例である。この回路を用いてアンドゲート、オアゲート、排他論理和ゲートを構成することができる。
【0052】
この論理回路は、プリチャージ用としてのPMOSトランジスタ2310、2410と、ディスチャージ用としてのNMOSトランジスタ2140、2240と、論理構成用、つまり論理入力に対する論理出力を行うためのNMOSトランジスタ3141、3142、3143、3144、3145、3146、3147とを備えている。この回路を用いたアンドゲート、オアゲート、排他論理和ゲートは、それぞれ、図11、図12、図13のように結線することにより実現される。
(本実施の形態の論理回路の適用例)
次に、上記で説明した本実施の形態の論理回路を暗号化装置に適用した例を説明する。
【0053】
図13は、DES方式の暗号化装置の内部構成を示したものである。なお、この図13の内部構成は、着脱不可のケースで覆われており、内部構成は隠蔽されている。
【0054】
この暗号化装置は、Initial Permutationを実現する回路IP(7100-1、7100-2)、回路IPからの出力とループ処理結果を選択するセレクタSEL(7200-1、7200-2)、一時データを保持するレジスタREG(7300-1、7300-2)、F関数を処理する処理回路F(7400)、排他論理和を実現する排他論理和回路EXor(7500)、Final Permutationを実現する回路FP(7600-1、7600-2)、及び、鍵スケジ ュールを実現する回路KS(7700)で構成される。
【0055】
F関数を処理する回路F(7400)は、図15に示される、E関数を実現する回路E(7410)、鍵加算を実現する回路KeyAdd(7420)、非線形変換処理を行うSBOXを実現する回路SBox(7430)、P関数を実現する回路P(7440)で構成される。回路SBox(7430)は、図16に示される、6ビット入力、4ビット出力のS1〜S8(7431〜7438)で構成される。
【0056】
各S1〜S8は、図17に示される,6ビット入力1ビット出力の複数の既説明済の本実施の形態の論理回路S11〜S14で構成する。暗号化装置において、この回路S1〜S8の入力と出力との関係を隠蔽する必要がある。従来の論理回路を用いると、ここの入力と出力との関係が、電力変化として現れるのでDPA攻撃が行われる対象となる。ここでは、本実施の形態の論理回路を用いるので、入力と出力の関係に関わらず、定消費電力化されるので、DPA攻撃を防ぐことができるようになる。
【0057】
回路S11の第1ビットの構成例を図18に示す。
【0058】
回路IP(7100)、および、回路FP(7600)は、ビットの並び替えで実現される。また、セレクタSEL(7200)は、図19に示される回路構成で実現される。また、レジスタREG(7300)は、図20に示される回路構成で実現される。また、排他論理和回路EXor(7500)は、図21に示される回路構成で実現される。
【0059】
回路E(7410)、および、回路P(7420)は、ビットの並び替えで実現される。また、鍵加算を実現する回路KeyAdd(7420)は、排他論理和で実現されるので、図21に示されるEXor(7500)と同様の回路構成で実現される.
次に、動作について説明する。
【0060】
平文、暗号鍵は、正論理と負論理の差動入力として提供される。暗号鍵入力KinP(正論理)、KinN(負論理)は、鍵スケジューラKS(7700)に入力される。
【0061】
鍵スケジュールは、入力された56ビットの暗号鍵から各ラウンドで48ビットが選択される。すなわち、図19で示されるセレクタの組合せで実現される。
【0062】
平文は、最初にInitial Permutationが行なわれる。Initial Permutationは、ビットの並べ替えであるので、配線のみで実現される。また、ビットの並べ替えであるので、正論理入力と負論理入力を独立に行なうことができ、図14に示されているように2つの回路IPを用いて実現される。
【0063】
回路IP(7100-1、7100-2)の結果がセレクタSEL(7200-1、7200-2)を経由して、レジスタREG(7300-1、7300-2)に転送され、保持される。
【0064】
レジスタREG(7300-2)に保持された右側のデータは、F関数の回路F(7500)に転送され、F関数の処理がなされて出力され、排他論理和回路(7500)、セレクタSEL(7200-2)、回路FP(7600)に転送される。一方、レジスタREG(7300-1)に保持されている左側のデータは、排他論理和回路(7500)に転送され、F関数の回路F(7500)の出力と排他論理和され、セレクタSEL(7200-2)、FP(7600)に転送される。
【0065】
回路FP(7600)では、IPの逆のビットの並び替えが行なわれ結果が暗号文として出力される。
【0066】
F関数処理部(7400)では、E関数、鍵加算、SBOX、P関数の各処理が行なわれる。
【0067】
E関数(7410)は、ビットの並べ替えであるので、配線のみで実現される。鍵加算(7420)は、排他論理和が行なわれ、結果がSBOX(7430)に転送される。SBOXでは、本発明の論理回路によって処理が行なわれ、結果がP関数(7440)に転送される。P関数(7440)は、ビットの並べ替えであるので、配線のみで実現される。
【0068】
P関数の出力が、F関数の出力となり出力される。出力された結果は、排他論理和回路EXor(7500)とレジスタREG(7300-1)と回路FP(7600)に転送される。
【0069】
排他論理和回路EXor7500では、レジスタREG(7300-1)とF関数処理部(7400)の出力の排他論理和が行われ、結果がレジスタREG(7300-2)と回路FP(7600)に転送される。
【0070】
DESでは、FPを除いた処理が繰り返し行われる。最終結果は、繰り返しの結果をFPで処理して得られる。
【0071】
次に、動作タイミングを図22に示す。図22は、前処理フェーズと出力フェーズとで構成される場合を示している。クロックがHのとき前処理フェーズ(Precharge)であり、クロックがLのとき出力フェーズ(Output)である。
【0072】
クロックの立ち上がりでレジスタREG(7300)の値が更新され、F関数を処理する回路F(7400)に転送され、E関数、鍵加算の処理が行われる。SBOXは、前処理フェーズ中なので、結果は入力に無関係のあらかじめ決められた値が出力される。図22では、'XXX' と表現した。前処理フェーズが終了し、出力フェーズになるとSBOXへの入力に応じた出力値が出力される。この出力がP関数に転送され、さらに排他論理和回路(7500)に転送され、1ラウンド分の処理が完了する。1ラウンド分の最終結果は、レジスタREG(7300)に保持される。
【0073】
別の動作タイミングを図23に示す。この例においては、2クロックで1ラウンドの処理を行っている。前処理フェーズ(Precharge)、出力フェーズ(Output)、後処理フェーズ(Dis-charge)の3つのフェーズを2クロックを用いて行っている。このようなタイミングで動作させるときは、レジスタを2セット(REG1,REG2) 用意する方法と、2クロ ックに1回書き込むように制御することで実現される。図23の例では、レジスタを2セット(REG1,REG2)用意する方法を示した。
【0074】
この例では、レジスタの値が1クロックごとに、SBOXの前処理フェーズで出力されるあらかじめ定められた値にレジスタがセットされ、また、レジスタには、正論理と負論理の2セットがあるので、レジスタに保持されている値による電力消費の差がなくなる。
【0075】
このような構成により、本実施の形態で示された論理回路を用いて暗号化装置を実現することが可能となる。なお、ここでは暗号化装置について説明してきたが、復号回路においても、同様に実現可能である。
【0076】
以上説明してきたように、本実施の形態の論理回路は、2つの信号線の電位差によって、出力を決定する新たな方式の論理回路を提供できるようになった。また、出力によらず、定電力で動作できるようになった。更に、このような論理回路を暗号化装置の内部に用いることにより、DPAによる攻撃に耐性を持った暗号回路を提供できるようになった。
【0077】
なお、本発明の論理回路は、上記実施の形態で説明したものに限定されるものではなく、実施の形態から逸脱しない範囲をも含まれることは勿論である。
【0078】
【発明の効果】
本発明によれば、出力によらず、定消費電力で動作できる論理回路を提供できる。更にこの論理回路を暗号化装置(復号装置も同様)に適用することにより、DPA攻撃の対策を講じた暗号化装置(復号装置)を提供できる。
【図面の簡単な説明】
【図1】は、本実施の形態の論理回路を示す図。
【図2】は、本実施の形態に適用の具体例1の詳細構成図。
【図3】は、具体例1の接続制御回路3110の入出力関係を示す図。
【図4】は、具体例1の接続制御回路3110の変形例の接続制御回路3120を示す図。
【図5】は、本実施の形態に適用の具体例2の詳細構成図。
【図6】は、本実施の形態に適用の具体例3の詳細構成図。
【図7】は、具体例3の変形例。
【図8】は、具体例3の別の変形例。
【図9】は、具体例3の更に別の変形例。
【図10】は、本実施の形態に適用の具体例4の詳細構成図。
【図11】は、具体例4に適用のアンドゲートの例。
【図12】は、具体例4に適用のオアゲートの例。
【図13】は、具体例4に適用の排他論理和ゲートの例。
【図14】は、本実施の形態の論理回路を適用するDES暗号化装置の回路ブロック図。
【図15】は、回路F(7400)の内部回路図。
【図16】は、SBox(7430)の内部回路図。
【図17】は、回路S1の内部回路図。
【図18】は、回路S11の第1ビットの構成例。
【図19】は、セレクタSEL(7200-1、7200-2)の構成例。
【図20】は、レジスタREG(7300-1、7300-2)の構成例。
【図21】は、排他論理和回路の構成例。
【図22】は、動作タイミングを示す図。
【図23】は、別の動作タイミングを示す図。
【図24】は、従来の論理回路の詳細構成例。
【符号の説明】
11、12・・・電源
21、22、23、24・・・接続回路
31、33・・・接続制御回路
34・・・出力回路
51、52・・・信号線
53−1〜53−N・・・入力信号線
54−1、54−2・・・出力信号線
101・・・入力線1
102・・・入力線2
103、104、2310,2410・・・PMOSトランジスタ
105、106、2110、2210、2700、2800、2140、2240、3141〜3148・・・NMOSトランジスタ
107・・・出力線
2000−1〜2000−16・・・NMOSトランジスタ
2010−1〜2010−16・・・アンドゲート
2500−1〜2500−16・・・NMOSトランジスタ列
2600−1〜2600−16・・・PMOSトランジスタ列
3110、3120・・・接続制御回路
6110、6120、6210、6220・・・ORゲート
7100−1、7100−2・・・回路IP
7200−1、7200−2・・・セレクタSEL
7300−1、7300−2・・・レジスタREG
7400・・・回路F
7410・・・回路E
7420・・・鍵加算回路
7430・・・SBox
7431〜7438・・・回路S1〜回路S8
7440・・・回路P
7500・・・排他論理和EXor
7600−1、7600−2・・・回路FP
7700・・・回路KS[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a logic circuit and an encryption device using the logic circuit.
[0002]
[Prior art]
Many of the electronic components used in electronic devices use a large number of logic circuits composed of semiconductor elements. As an example of a conventional logic circuit, a CMOS type NAND gate with two inputs and one output is shown in FIG.
[0003]
This CMOS type NAND gate is composed of two PMOS transistors 103 and 104 and two NMOS transistors 105 and 106. The output 107 becomes L only when both of the
[0004]
By the way, in recent years, DPA (Differential Power Analysis) has been attracting attention as an attack method for cryptographic hardware. The attack method by DPA estimates the secret key that should be originally generated and concealed inside the cryptographic hardware by statistically processing the output with respect to the input of the cryptographic hardware and the power consumption measured at that time. Is the method. Therefore, when commercializing a cryptographic circuit, it is necessary to take sufficient countermeasures against the attack method by DPA, and a specific countermeasure plan has also been shown (for example, see Patent Document 1).
[0005]
[Patent Document 1]
JP 2001-268071 A
[0006]
[Problems to be solved by the invention]
The cryptographic hardware uses many logic circuits as described above.
[0007]
However, as described above, since the power consumption of the conventional logic circuit differs depending on the output result, the cryptographic hardware to which such a logic circuit is applied may be attacked by the DPA. was there.
[0008]
The present invention has been made in view of such problems, and an object thereof is to provide a logic circuit and an encryption device in which power consumption is constant regardless of an output result.
[0009]
[Means for Solving the Problems]
According to the present invention, a logic circuit to which a plurality of logic signals are input includes a first signal line, a second signal line, a first power supply, a second power supply having a voltage value different from that of the first power supply, A first connection circuit that selectively connects one end of one signal line and the first power supply; a second connection circuit that selectively connects one end of the second signal line and the first power supply; A third connection circuit that selectively connects the other end of one signal line and the second power supply; a fourth connection circuit that selectively connects the other end of the second signal line and the second power supply; A first connection control circuit for controlling the first connection circuit and the second connection circuit to perform the same connection or non-connection operation; and a connection or non-connection to the third connection circuit and the fourth connection circuit. A second connection control circuit configured to control the operation, and the first signal line and the second signal line connected to the first connection line; An output circuit that outputs an output signal based on a voltage difference between the signal line and the second signal line, and the first connection control circuit and the first connection circuit at the time of output with respect to the input of the plurality of logic signals Control is performed so as not to connect to the second connection circuit, and control is performed so that the second connection control circuit performs connection operation only to one of the third connection circuit and the fourth connection circuit. I tried to do it.
[0010]
The present invention is a logic circuit including a first signal line, a second signal line, and an output circuit that performs output based on voltages of the first signal line and the second signal line. Any one of a first mode in which a process of applying a first voltage to the first signal line and the second signal line is performed, and the first signal line and the second signal line In addition, a process of applying a second voltage having a voltage value different from that of the first voltage is performed in a second mode performed subsequent to the first mode, and an output in the second mode is performed. The output from the circuit was made a logic output.
[0011]
As a result, the logic circuit of the present invention provides a new method for determining the output based on the potential difference between the two signal lines, and can operate with constant power regardless of the output.
[0012]
Also, the encryption apparatus provided with the means for performing the nonlinear conversion processing of the present invention concealed inside includes a first signal line, a second signal line, and a first power source as the means for performing the nonlinear conversion processing means. A second power supply having a voltage value lower than that of the first power supply, a first connection circuit that selectively connects one end of the first signal line and the first power supply, one end of the second signal line, and the A second connection circuit for selectively connecting the first power source, a third connection circuit for selectively connecting the other end of the first signal line and the second power source, and the other end of the second signal line. A fourth connection circuit that selectively connects the second power supply and a first connection control circuit that controls the first connection circuit and the second connection circuit to perform the same connection or non-connection operation; A second connection for controlling to connect or disconnect the third connection circuit and the fourth connection circuit; A control circuit; and an output circuit connected to the first signal line and the second signal line and outputting an output signal based on a voltage difference between the first signal line and the second signal line; When outputting a plurality of logic signals, the first connection control circuit controls the first connection circuit and the second connection circuit to perform a non-connection operation, and the second connection control circuit controls the first connection circuit and the second connection circuit. At least one or more logic circuits that are controlled to operate to connect only one of the three connection circuits and the fourth connection circuit are provided.
[0013]
Also, the encryption apparatus provided with the means for performing nonlinear conversion processing of the present invention concealed inside includes a first signal line, a second signal line, and a first signal line as the means for performing the nonlinear conversion processing means. And an output circuit that performs output based on the voltages of the first signal line and the second signal line, and performs a process of applying a first voltage to the first signal line and the second signal line. The first mode, and a process of multiplying one of the first signal line and the second signal line by a second voltage having a voltage value lower than the first voltage. And at least one logic circuit that operates in a second mode performed subsequently to the output from the output circuit in the second mode as a logic output.
[0014]
As described above, by using a logic circuit capable of operating at a constant power regardless of output in the encryption apparatus, it is possible to provide an encryption circuit resistant to attacks by DPA.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0016]
FIG. 1 shows a logic circuit of this embodiment. This logic circuit includes a signal line 51 and a
[0017]
ON / OFF control of the connection circuit 23 and the connection circuit 24 is performed by the
[0018]
On the other hand, ON / OFF control of the connection circuit 21 and the
[0019]
Next, operation of the logic circuit of this embodiment is described.
[0020]
In this logic circuit, the voltage of only one of the signal line 51 and the
[0021]
In the preprocessing phase, a control signal is generated by the
[0022]
In the output phase, the connection control circuit 31 sets only one of the connection circuit 21 and the
[0023]
The signal line 51 or the
[0024]
When the output phase is completed, the preprocessing phase is performed again. At this time, either the signal line 51 or the
[0025]
As described above, in the logic circuit of this embodiment, the charge of (V2−V1) * C flows from the
[0026]
Next, a specific example of the present embodiment shown in FIG. 1 will be described below.
(Specific example 1)
FIG. 2 is a logic circuit showing a detailed configuration according to specific example 1 applicable to the present embodiment. In addition, the thing of the same figure number means using the same thing as FIG.
[0027]
1 is an NMOS transistor 2110, the
[0028]
As in FIG. 1, the
[0029]
The connection control circuit 3110 is a control circuit for realizing the relationship of FIG. The OR gate 6110 in the connection control circuit 3110 becomes H when the output shown in FIG. 3 is H, and the OR gate 6210 becomes H when the output shown in FIG. Further, the OR gates 6110 and 6210 are controlled to be L during the preprocessing phase.
[0030]
The
[0031]
Next, the operation of this logic circuit will be described.
[0032]
In the preprocessing phase, L is output from the
[0033]
In the output phase, the connection control circuit 3110 realizes the correspondence between the input and the output shown in FIG. For example, when the input is ABCD = 0110, the OR gate 6110 outputs L and the OR gate 6210 outputs H. As a result, the NMOS transistor 2110 is turned off and the NMOS transistor 2210 is turned on. Therefore, the
[0034]
Therefore, the voltage of the
[0035]
Note that the connection control circuit 3110 of the logic circuit of the specific example 1 may be modified as shown in FIG. 4 by performing logic compression.
(Specific example 2)
FIG. 5 is a logic circuit showing a detailed configuration according to another specific example 2 applicable to the present embodiment. In addition, the same thing as the above is attached | subjected the same number.
[0036]
Specific example 2 shown in FIG. 5 includes 16 NMOS transistors 2000-1 to 2000-, each of which has OR gates 6110 and 6210 of specific example 1 shown in FIG. 16 is realized. These NMOS transistors 2000-1 to 2000-16 are equivalent circuits to the
[0037]
That is, the connection circuit 21 is realized by the NMOS transistors 2000-1, -2, -6, -7, -12, -13, -15, and -16, and the
[0038]
Next, the operation of this logic circuit will be described.
[0039]
In the preprocessing phase, L is output by the
[0040]
Next, in the output phase, H is output from the
(Specific example 3)
FIG. 6 is a logic circuit showing a detailed configuration according to another specific example 3 applicable to the present embodiment. Concrete example 3 shown in FIG. 6 is a modification of concrete example 2 shown in FIG. 5, and the conduction / non-conduction of NMOS transistors 2000-1 to 2000-16 corresponding to
[0041]
The gate inputs of the NMOS transistors 2000-1 to 2000-16 are signals from the
[0042]
The NMOS transistor arrays 2500-1 to 2500-16 used as the
[0043]
In the specific example 3 shown in FIG. 6, the NMOS transistors 2000-1 to 2000-16 corresponding to the
[0044]
Moreover, in the specific example shown in FIG. 6, it arrange | positions so that it may become left-right symmetric, but it is also possible to arrange | position asymmetrically as shown in FIG. In this case, the design period can be shortened because the layout design can be repeated.
[0045]
Further, as shown in FIG. 8, by inputting the output signal of the
The NMOS transistors corresponding to 21 and 22 can be omitted.
[0046]
By the way, in each configuration of FIG. 6 (FIGS. 6 to 8), even when all the paths to the ground GND are not in a conductive state, some transistors are in a conductive state. The current flows from 51 and 52 to another wiring through the NMOS transistor. For this reason, the voltage of the signal line held in the H state is actually slightly lowered. In operation, since the charge does not flow completely, the output is determined. However, when precharging is performed next in the preprocessing phase (the
[0047]
In the configuration shown in FIG. 9, the PMOS transistor arrays 2600-1 to 2600-16 are connected to the
[0048]
The state of the
[0049]
On the other hand, in the configuration shown in FIG. 9, it becomes (H, H) in the preprocessing phase, (H, L) or (L, H) in the
[0050]
Here, the
FIG. 10 is a logic circuit showing a detailed configuration according to another specific example 4 applicable to the present embodiment.
[0051]
The circuit shown in FIG. 10 is an example corresponding to a general logic circuit with two inputs. An AND gate, an OR gate, and an exclusive OR gate can be formed using this circuit.
[0052]
This logic circuit includes
(Application example of logic circuit of this embodiment)
Next, an example in which the logic circuit of the present embodiment described above is applied to an encryption device will be described.
[0053]
FIG. 13 shows the internal configuration of a DES encryption apparatus. Note that the internal configuration of FIG. 13 is covered with a non-detachable case, and the internal configuration is hidden.
[0054]
This encryption device includes a circuit IP (7100-1, 7100-2) that realizes initial permutation, a selector SEL (7200-1, 7200-2) that selects an output from the circuit IP and a loop processing result, and temporary data. Register REG (7300-1, 7300-2) for holding, processing circuit F (7400) for processing the F function, exclusive OR circuit EXor (7500) for realizing exclusive OR, circuit FP (7600 for realizing Final Permutation) -1, 7600-2), and a circuit KS (7700) that realizes a key schedule.
[0055]
The circuit F (7400) for processing the F function includes the circuit E (7410) for realizing the E function, the circuit KeyAdd (7420) for realizing the key addition, and the circuit for realizing the SBOX for performing the nonlinear conversion processing shown in FIG. SBox (7430) and a circuit P (7440) for realizing the P function. The circuit SBox (7430) is composed of S1 to S8 (7431 to 7438) of 6-bit input and 4-bit output shown in FIG.
[0056]
Each of S1 to S8 is composed of a plurality of already described logic circuits S11 to S14 of this embodiment shown in FIG. In the encryption apparatus, it is necessary to hide the relationship between the inputs and outputs of the circuits S1 to S8. When a conventional logic circuit is used, the relationship between the input and the output here appears as a power change, so that the DPA attack is performed. Here, since the logic circuit of the present embodiment is used, constant power consumption is achieved regardless of the relationship between input and output, so that a DPA attack can be prevented.
[0057]
A configuration example of the first bit of the circuit S11 is shown in FIG.
[0058]
The circuit IP (7100) and the circuit FP (7600) are realized by rearrangement of bits. The selector SEL (7200) is realized by the circuit configuration shown in FIG. The register REG (7300) is realized by the circuit configuration shown in FIG. The exclusive OR circuit EXor (7500) is realized by the circuit configuration shown in FIG.
[0059]
The circuit E (7410) and the circuit P (7420) are realized by rearrangement of bits. Further, since the circuit KeyAdd (7420) that realizes key addition is realized by exclusive OR, it is realized by a circuit configuration similar to EXor (7500) shown in FIG.
Next, the operation will be described.
[0060]
Plaintext and encryption keys are provided as positive and negative logic differential inputs. The encryption key inputs KinP (positive logic) and KinN (negative logic) are input to the key scheduler KS (7700).
[0061]
As the key schedule, 48 bits are selected in each round from the inputted 56-bit encryption key. That is, it is realized by a combination of selectors shown in FIG.
[0062]
The plain text is first subjected to Initial Permutation. Since the initial permutation is a rearrangement of bits, it is realized only by wiring. Further, since the bits are rearranged, the positive logic input and the negative logic input can be performed independently, which is realized by using two circuits IP as shown in FIG.
[0063]
The result of the circuit IP (7100-1, 7100-2) is transferred to the register REG (7300-1, 7300-2) via the selector SEL (7200-1, 7200-2) and held.
[0064]
The data on the right held in the register REG (7300-2) is transferred to the F function circuit F (7500), processed by the F function, and output, and the exclusive OR circuit (7500), selector SEL (7200). -2), transferred to the circuit FP (7600). On the other hand, the left data held in the register REG (7300-1) is transferred to the exclusive OR circuit (7500), is exclusive ORed with the output of the F function circuit F (7500), and is selected by the selector SEL (7200). -2), forwarded to FP (7600).
[0065]
The circuit FP (7600) rearranges the reverse bits of IP and outputs the result as ciphertext.
[0066]
In the F function processing unit (7400), processing of E function, key addition, SBOX, and P function is performed.
[0067]
Since the E function (7410) is a bit rearrangement, it is realized only by wiring. In the key addition (7420), exclusive OR is performed, and the result is transferred to the SBOX (7430). In SBOX, processing is performed by the logic circuit of the present invention, and the result is transferred to the P function (7440). Since the P function (7440) is a rearrangement of bits, it is realized only by wiring.
[0068]
The output of the P function is output as the output of the F function. The output result is transferred to the exclusive OR circuit EXor (7500), the register REG (7300-1), and the circuit FP (7600).
[0069]
In the exclusive OR circuit EXor7500, the exclusive OR of the outputs of the register REG (7300-1) and the F function processing unit (7400) is performed, and the result is transferred to the register REG (7300-2) and the circuit FP (7600). The
[0070]
In DES, processing excluding FP is repeated. The final result is obtained by processing the repeated result with FP.
[0071]
Next, the operation timing is shown in FIG. FIG. 22 shows a case where the preprocessing phase and the output phase are configured. When the clock is H, it is a preprocessing phase (Precharge), and when the clock is L, it is an output phase (Output).
[0072]
At the rising edge of the clock, the value of the register REG (7300) is updated, transferred to the circuit F (7400) that processes the F function, and the E function and key addition processing are performed. Since SBOX is in the preprocessing phase, the result is a predetermined value that is irrelevant to the input. In FIG. 22, it is expressed as “XXX”. When the preprocessing phase is completed and the output phase is reached, an output value corresponding to the input to the SBOX is output. This output is transferred to the P function and further transferred to the exclusive OR circuit (7500), and the processing for one round is completed. The final result for one round is held in the register REG (7300).
[0073]
Another operation timing is shown in FIG. In this example, one round of processing is performed with two clocks. Three phases including a pre-processing phase (Precharge), an output phase (Output), and a post-processing phase (Dis-charge) are performed using two clocks. The operation at such timing is realized by preparing two sets of registers (REG1, REG2) and controlling to write once in two clocks. In the example of FIG. 23, a method of preparing two sets (REG1, REG2) of registers is shown.
[0074]
In this example, the register value is set to a predetermined value output in the preprocessing phase of SBOX every clock, and there are two sets of positive logic and negative logic in the register. The difference in power consumption due to the value held in the register is eliminated.
[0075]
With such a configuration, an encryption device can be realized using the logic circuit described in this embodiment. Although the encryption apparatus has been described here, the same can be realized in a decryption circuit.
[0076]
As described above, the logic circuit of this embodiment can provide a new type of logic circuit that determines an output based on a potential difference between two signal lines. Also, it can operate at constant power regardless of output. Furthermore, by using such a logic circuit inside the encryption device, it has become possible to provide an encryption circuit that is resistant to attacks by DPA.
[0077]
Note that the logic circuit of the present invention is not limited to that described in the above embodiment, and includes a range not departing from the embodiment.
[0078]
【The invention's effect】
According to the present invention, it is possible to provide a logic circuit that can operate with constant power consumption regardless of output. Furthermore, by applying this logic circuit to an encryption device (the same applies to a decryption device), it is possible to provide an encryption device (decryption device) that takes measures against DPA attacks.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a logic circuit of an embodiment;
FIG. 2 is a detailed configuration diagram of a specific example 1 applied to the present embodiment;
FIG. 3 is a diagram illustrating an input / output relationship of a connection control circuit 3110 according to a specific example 1;
4 is a diagram illustrating a connection control circuit 3120 according to a modification of the connection control circuit 3110 according to the first specific example. FIG.
FIG. 5 is a detailed configuration diagram of a specific example 2 applied to the present embodiment;
FIG. 6 is a detailed configuration diagram of a specific example 3 applied to the embodiment;
FIG. 7 is a modification of the third specific example.
FIG. 8 is another modified example of the specific example 3;
FIG. 9 is still another modification of the third specific example.
FIG. 10 is a detailed configuration diagram of a specific example 4 applied to the embodiment;
FIG. 11 is an example of an AND gate applied to specific example 4;
FIG. 12 is an example of an OR gate applied to specific example 4;
FIG. 13 is an example of an exclusive OR gate applied to specific example 4;
FIG. 14 is a circuit block diagram of a DES encryption apparatus to which the logic circuit of this embodiment is applied.
FIG. 15 is an internal circuit diagram of a circuit F (7400).
FIG. 16 is an internal circuit diagram of an SBox (7430).
FIG. 17 is an internal circuit diagram of the circuit S1.
FIG. 18 is a configuration example of a first bit of the circuit S11.
FIG. 19 is a configuration example of a selector SEL (7200-1, 7200-2).
FIG. 20 is a configuration example of a register REG (7300-1, 7300-2).
FIG. 21 is a configuration example of an exclusive OR circuit.
FIG. 22 is a diagram showing operation timing.
FIG. 23 is a diagram showing another operation timing.
FIG. 24 is a detailed configuration example of a conventional logic circuit.
[Explanation of symbols]
11, 12 ... Power supply
21, 22, 23, 24... Connection circuit
31, 33... Connection control circuit
34 ... Output circuit
51, 52 ... Signal line
53-1 to 53-N: Input signal line
54-1, 54-2 ... Output signal lines
101 ...
102 ...
103, 104, 2310, 2410 ... PMOS transistors
105, 106, 2110, 2210, 2700, 2800, 2140, 2240, 3141-3148 ... NMOS transistors
107 ... Output line
2000-1 to 2000-16 ... NMOS transistor
2010-1 to 2010-16 ... AND GATE
2500-1 to 2500-16 ... NMOS transistor array
2600-1 to 2600-16 ... PMOS transistor array
3110, 3120... Connection control circuit
6110, 6120, 6210, 6220 ... OR gate
7100-1, 7100-2 ... Circuit IP
7200-1, 7200-2... Selector SEL
7300-1, 7300-2 ... Register REG
7400... Circuit F
7410... Circuit E
7420 ... Key addition circuit
7430 ... SBox
7431-7438 ... Circuit S1-Circuit S8
7440... Circuit P
7500 ... Exclusive OR
7600-1, 7600-2... Circuit FP
7700... Circuit KS
Claims (6)
第1信号線と、第2信号線と、第1電源と、前記第1電源より低い電圧値である第2電源と、
前記第1信号線の一端と前記第1電源とを選択的に接続する第1接続回路と、
前記第2信号線の一端と前記第1電源とを選択的に接続する第2接続回路と、
前記第1信号線の他端と前記第2電源とを選択的に接続する第3接続回路と、
前記第2信号線の他端と前記第2電源とを選択的に接続する第4接続回路と、
前記第1接続回路と前記第2接続回路とへ同じ接続または非接続の動作をさせるよう制御する第1接続制御回路と、
前記第3接続回路と前記第4接続回路とへ接続または非接続の動作をさせるよう制御する第2接続制御回路と、
前記第1信号線と前記第2信号線とに接続され、前記第1信号線と前記第2信号線との電圧差に基づいて、出力信号を出力する出力回路と、
前記第 1 信号線と前記第2信号線の伝家を抜く手段とを備え、
前記複数の論理信号の入力に対する出力時には、前記第1接続制御回路が前記第1接続回路と前記第2接続回路とへ非接続の動作をさせるよう制御するとともに、
前記第2接続制御回路が前記第3接続回路と前記第4接続回路との何れか一方のみへ接続の動作をさせるよう制御することを特徴とする論理回路。In a logic circuit to which a plurality of logic signals are input,
A first signal line, a second signal line, a first power source, and a second power source having a lower voltage value than the first power source;
A first connection circuit for selectively connecting one end of the first signal line and the first power supply;
A second connection circuit for selectively connecting one end of the second signal line and the first power source;
A third connection circuit for selectively connecting the other end of the first signal line and the second power source;
A fourth connection circuit for selectively connecting the other end of the second signal line and the second power source;
A first connection control circuit for controlling the first connection circuit and the second connection circuit to perform the same connection or non-connection operation;
A second connection control circuit for controlling to connect or disconnect the third connection circuit and the fourth connection circuit;
An output circuit connected to the first signal line and the second signal line and outputting an output signal based on a voltage difference between the first signal line and the second signal line ;
Means for unplugging the first signal line and the second signal line ;
At the time of output with respect to the input of the plurality of logic signals, the first connection control circuit controls the first connection circuit and the second connection circuit to perform a non-connection operation, and
The logic circuit, wherein the second connection control circuit controls the connection operation to only one of the third connection circuit and the fourth connection circuit.
前記非線形変換処理手段を行う手段には、
第1信号線と、第2信号線と、第1電源と、前記第1電源より低い電圧値の第2電源と、
前記第1信号線の一端と前記第1電源とを選択的に接続する第1接続回路と、
前記第2信号線の一端と前記第1電源とを選択的に接続する第2接続回路と、
前記第1信号線の他端と前記第2電源とを選択的に接続する第3接続回路と、
前記第2信号線の他端と前記第2電源とを選択的に接続する第4接続回路と、
前記第1接続回路と前記第2接続回路とへ同じ接続または非接続の動作をさせるよう制御する第1接続制御回路と、
前記第3接続回路と前記第4接続回路とへ接続または非接続の動作をさせるよう制御する第2接続制御回路と、
前記第1信号線と前記第2信号線とに接続され、前記第1信号線と前記第2信号線との電圧差に基づいて、出力信号を出力する出力回路とを備え、
複数の論理信号の入力に対する出力時には、前記第1接続制御回路が前記第1接続回路と前記第2接続回路とへ非接続の動作をさせるよう制御するとともに、
前記第2接続制御回路が前記第3接続回路と前記第4接続回路との何れか一方のみへ接続の動作をさせるよう制御するようにした論理回路を少なくとも1つ以上備えたことを特徴とする暗号化装置。In an encryption apparatus provided with a means for performing nonlinear conversion processing in a concealed inside,
The means for performing the nonlinear conversion processing means includes
A first signal line, a second signal line, a first power supply, a second power supply having a lower voltage value than the first power supply,
A first connection circuit for selectively connecting one end of the first signal line and the first power supply;
A second connection circuit for selectively connecting one end of the second signal line and the first power source;
A third connection circuit for selectively connecting the other end of the first signal line and the second power source;
A fourth connection circuit for selectively connecting the other end of the second signal line and the second power source;
A first connection control circuit for controlling the first connection circuit and the second connection circuit to perform the same connection or non-connection operation;
A second connection control circuit for controlling to connect or disconnect the third connection circuit and the fourth connection circuit;
An output circuit connected to the first signal line and the second signal line and outputting an output signal based on a voltage difference between the first signal line and the second signal line;
At the time of output with respect to the input of a plurality of logic signals, the first connection control circuit controls the first connection circuit and the second connection circuit to perform a non-connection operation, and
The second connection control circuit includes at least one or more logic circuits configured to control the connection operation to only one of the third connection circuit and the fourth connection circuit. Encryption device.
前記第1の信号線と前記第2の信号線とに、第1の電圧を掛ける処理を行う第1のモードと、
前記第1の信号線と前記第2の信号線との何れか一方に、
前記第1の電圧より低い電圧値である第2の電圧を掛ける処理を行う、前記第1のモードに続いて行われる第2のモードと、
前記第2のモードに続いて行われ、前記第2のモード時に前記第1の信号線と前記第2の信号線とに残存する電荷を抜く処理が行われる第3のモードと
で動作し、前記第2のモード時の出力回路からの出力を論理出力とし、前記第3のモード に続いて、再度、前記第1のモードを行うようにすることを特徴とする論理回路。A logic circuit comprising a first signal line, a second signal line, and an output circuit that performs output based on voltages of the first signal line and the second signal line,
A first mode for performing a process of applying a first voltage to the first signal line and the second signal line;
Either one of the first signal line and the second signal line;
A second mode performed subsequent to the first mode, which performs a process of applying a second voltage having a voltage value lower than the first voltage ;
A third mode, which is performed subsequent to the second mode and in which a process of removing charges remaining in the first signal line and the second signal line is performed in the second mode. The logic circuit is configured such that the output from the output circuit in the second mode is a logic output, and the first mode is performed again following the third mode. .
前記非線形変換処理手段を行う手段には、
第1の信号線と、第2の信号線と、第1の信号線と第2の信号線との電圧に基づいて出力を行う出力回路とを備え、
前記第1の信号線と前記第2の信号線とに、第1の電圧を掛ける処理を行う第1のモードと、
前記第1の信号線と前記第2の信号線との何れか一方に、上記第1の電圧より低い電圧値の第2の電圧を掛ける処理を行う、前記第1のモードに続いて行われる第2のモードとで動作し、前記第2のモード時の出力回路からの出力を論理出力とするようにした論理回路を少なくとも1つ以上備えたことを特徴とする暗号化装置。In an encryption apparatus provided with a means for performing nonlinear conversion processing in a concealed inside,
The means for performing the nonlinear conversion processing means includes
A first signal line, a second signal line, and an output circuit that performs output based on voltages of the first signal line and the second signal line;
A first mode for performing a process of applying a first voltage to the first signal line and the second signal line;
This is performed following the first mode, in which either one of the first signal line and the second signal line is multiplied by a second voltage having a voltage value lower than the first voltage. An encryption apparatus comprising: at least one logic circuit that operates in the second mode and that outputs from the output circuit in the second mode as a logic output.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002280297A JP3877663B2 (en) | 2002-09-26 | 2002-09-26 | Logic circuit and encryption device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002280297A JP3877663B2 (en) | 2002-09-26 | 2002-09-26 | Logic circuit and encryption device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004120286A JP2004120286A (en) | 2004-04-15 |
JP3877663B2 true JP3877663B2 (en) | 2007-02-07 |
Family
ID=32275033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002280297A Expired - Fee Related JP3877663B2 (en) | 2002-09-26 | 2002-09-26 | Logic circuit and encryption device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3877663B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4935229B2 (en) * | 2006-08-02 | 2012-05-23 | ソニー株式会社 | Arithmetic processing device, arithmetic processing control method, and computer program |
JP5203594B2 (en) * | 2006-11-07 | 2013-06-05 | 株式会社東芝 | Cryptographic processing circuit and cryptographic processing method |
JP5133125B2 (en) * | 2008-05-02 | 2013-01-30 | 日本電信電話株式会社 | Combinational logic circuit |
KR101655637B1 (en) * | 2009-10-14 | 2016-09-07 | 차오로직스, 아이엔씨. | High utilization universal logic array with variable circuit topology and logistic map circuit to realize a variety of logic gates with constant power signatures |
US10255462B2 (en) * | 2016-06-17 | 2019-04-09 | Arm Limited | Apparatus and method for obfuscating power consumption of a processor |
-
2002
- 2002-09-26 JP JP2002280297A patent/JP3877663B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004120286A (en) | 2004-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tokunaga et al. | Securing encryption systems with a switched capacitor current equalizer | |
JP6882856B2 (en) | Secure digital logical cell | |
US9806881B2 (en) | Cryptographic processor, method for implementing a cryptographic processor and key generation circuit | |
KR101799663B1 (en) | Charge distribution control for secure systems | |
Zhang et al. | Power side channels in security ICs: hardware countermeasures | |
US7881465B2 (en) | Circuit and method for calculating a logic combination of two encrypted input operands | |
Alasad et al. | Logic obfuscation against IC reverse engineering attacks using PLGs | |
JP3877663B2 (en) | Logic circuit and encryption device | |
US10164768B1 (en) | Method and apparatus for differential power analysis (DPA) resilience security in cryptography processors | |
TWI620094B (en) | Charge distribution control system, crypto system and method of protecting against side channel attack by operating the same | |
US7545933B2 (en) | Decryption circuit, encryption circuit, logic cell, and method of performing a dual-rail logic operation in single-rail logic environment | |
Yu et al. | Exploiting multi-phase on-chip voltage regulators as strong PUF primitives for securing IoT | |
US7290151B2 (en) | Logic circuit with variable internal polarities | |
JP4589327B2 (en) | Electronic device and data processing method | |
CN108270427B (en) | Apparatus and method for managing current consumption of integrated module | |
RU2286011C2 (en) | Circuit device and method for generation of binary bus signal | |
JP3708910B2 (en) | Register circuit and cryptographic operation circuit using the same | |
US6970016B2 (en) | Data processing circuit and method for transmitting data | |
Mulhem et al. | A New Low-Complexity Cipher Class for Clone-Resistant Identities | |
US6873558B2 (en) | Integrated circuit and method for operating the integrated circuit | |
KR100861841B1 (en) | Electronic element and data processing method | |
JP2008067349A (en) | Semiconductor integrated circuit | |
JP2004040244A (en) | Logic element and encryption arithmetic circuit employing the same | |
US11556674B2 (en) | Synchronization circuit for threshold implementation of S-box | |
US11799627B2 (en) | Protection against side-channel attacks by balancing cell drive polarity |
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 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060721 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060818 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061005 |
|
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: 20061027 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061031 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101110 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101110 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111110 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121110 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131110 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |