(57)【要約】【課題】出力結果によらず消費電力が一定となる論理回路および暗号化装置の提供。【解決手段】論理回路は、信号線５１と、信号線５２と、信号線５１と信号線５２との電圧差に基づいて出力を行う出力回路３４とを備える。論理回路は、電源１２と信号線５１および信号線５２とを接続する前処理モードと、信号線５１と信号線５２との何れか一方に、電源１１と接続する、前処理モードに続いて行われる出力モードとを備え、出力モード時の出力回路３４からの出力を論理出力５４−１、５４−２とする。【選択図】　図１
2004120286.tif 000002
【特許請求の範囲】
【請求項１】
複数の論理信号が入力される論理回路において、
第１信号線と、第２信号線と、第１電源と、前記第１電源とは電圧値の異なる第２電源と、
前記第１信号線の一端と前記第１電源とを選択的に接続する第１接続回路と、
前記第２信号線の一端と前記第１電源とを選択的に接続する第２接続回路と、
前記第１信号線の他端と前記第２電源とを選択的に接続する第３接続回路と、
前記第２信号線の他端と前記第２電源とを選択的に接続する第４接続回路と、
前記第１接続回路と前記第２接続回路とへ同じ接続または非接続の動作をさせるよう制御する第１接続制御回路と、
前記第３接続回路と前記第４接続回路とへ接続または非接続の動作をさせるよう制御する第２接続制御回路と、
前記第１信号線と前記第２信号線とに接続され、前記第１信号線と前記第２信号線との電圧差に基づいて、出力信号を出力する出力回路とを備え、
前記複数の論理信号の入力に対する出力時には、前記第１接続制御回路が前記第１接続回路と前記第２接続回路とへ非接続の動作をさせるよう制御するとともに、
前記第２接続制御回路が前記第３接続回路と前記第４接続回路との何れか一方のみへ接続の動作をさせるよう制御することを特徴とする論理回路。
【請求項２】
前記第２電源の電圧値は、前記第１電源より低い電圧値であることを特徴とする請求項１記載の論理回路。
【請求項３】
前記第１信号線と前記第２信号線の電荷を抜く手段を更に備えたことを特徴とする請求項２記載の論理回路。
【請求項４】
非線形変換処理を行う手段を隠蔽された内部に備える暗号化装置において、
前記非線形変換処理手段を行う手段には、
第１信号線と、第２信号線と、第１電源と、前記第１電源より低い電圧値の第２電源と、
前記第１信号線の一端と前記第１電源とを選択的に接続する第１接続回路と、
前記第２信号線の一端と前記第１電源とを選択的に接続する第２接続回路と、
前記第１信号線の他端と前記第２電源とを選択的に接続する第３接続回路と、
前記第２信号線の他端と前記第２電源とを選択的に接続する第４接続回路と、
前記第１接続回路と前記第２接続回路とへ同じ接続または非接続の動作をさせるよう制御する第１接続制御回路と、
前記第３接続回路と前記第４接続回路とへ接続または非接続の動作をさせるよう制御する第２接続制御回路と、
前記第１信号線と前記第２信号線とに接続され、前記第１信号線と前記第２信号線との電圧差に基づいて、出力信号を出力する出力回路とを備え、
複数の論理信号の入力に対する出力時には、前記第１接続制御回路が前記第１接続回路と前記第２接続回路とへ非接続の動作をさせるよう制御するとともに、
前記第２接続制御回路が前記第３接続回路と前記第４接続回路との何れか一方のみへ接続の動作をさせるよう制御するようにした論理回路を少なくとも１つ以上備えたことを特徴とする暗号化装置。
【請求項５】
前記論理回路は、前記第１信号線と前記第２信号線の電荷を抜く手段を更に備えたことを特徴とする請求項４記載の暗号化装置。
【請求項６】
第１の信号線と、第２の信号線と、第１の信号線と第２の信号線との電圧に基づいて出力を行う出力回路とを備える論理回路であって、
前記第１の信号線と前記第２の信号線とに、第１の電圧を掛ける処理を行う第１のモードと、
前記第１の信号線と前記第２の信号線との何れか一方に、上記第１の電圧とは電圧値が異なる第２の電圧を掛ける処理を行う、前記第１のモードに続いて行われる第２のモードとで動作し、前記第２のモード時の出力回路からの出力を論理出力とすることを特徴とする論理回路。
【請求項７】
前記第２の電圧の電圧値は、前記第１の電圧より低い電圧値であることを特徴とする請求項６記載の論理回路。
【請求項８】
外部からの入力に基づいて、前記第２のモード時に対象となる前記第１の信号線または前記第２の信号線を選択する接続制御回路を更に備えたことを特徴とする請求項６記載の論理回路。
【請求項９】
前記接続制御回路は、論理入力に基づいて制御することを特徴とする請求項８記載の論理回路
【請求項１０】
前記第２のモードに続いて、再度、前記第１のモードを行うようにしたことを特徴とする請求項７乃至９記載の論理回路。
【請求項１１】
前記第２のモードに続いて行われ、前記第２のモード時に前記第１の信号線と前記第２の信号線とに残存する電荷を抜く処理が行われる第３のモードを更に備えて動作し、
前記第３のモードに続いて、再度、前記第１のモードを行うようにしたことを特徴とする請求項７乃至９記載の論理回路。
【請求項１２】
非線形変換処理を行う手段を隠蔽された内部に備える暗号化装置において、
前記非線形変換処理手段を行う手段には、
第１の信号線と、第２の信号線と、第１の信号線と第２の信号線との電圧に基づいて出力を行う出力回路とを備え、
前記第１の信号線と前記第２の信号線とに、第１の電圧を掛ける処理を行う第１のモードと、
前記第１の信号線と前記第２の信号線との何れか一方に、上記第１の電圧より低い電圧値の第２の電圧を掛ける処理を行う、前記第１のモードに続いて行われる第２のモードとで動作し、前記第２のモード時の出力回路からの出力を論理出力とするようにした論理回路を少なくとも１つ以上備えたことを特徴とする暗号化装置。
【請求項１３】
前記論理回路は、前記第２のモードに続いて行われ、前記第２のモード時に前記第１の信号線と前記第２の信号線とに残存する電荷を抜く処理が行われる第３のモードを更に備えて動作し、前記第３のモードに続いて、再度、前記第１のモードを行うようにしたことを特徴とする請求項１２記載の暗号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、論理回路およびこの論理回路を用いた暗号化装置に関する。
【０００２】
【従来の技術】
電子機器で用いられるほとんどの電子部品には、半導体素子で構成される論理回路が多数使用されている。従来の論理回路についての一例として、２入力１出力のＣＭＯＳ型ナンドゲートを図２４に示す。
【０００３】
このＣＭＯＳ型ナンドゲートは、２つのＰＭＯＳトランジスタ１０３、１０４と、２つのＮＭＯＳトランジスタ１０５、１０６とで構成されており、入力１０１、１０２の両方がＨのときのみ、出力１０７はＬとなり、それ以外の入力の組では、出力１０７はＨとなる。例えば、入力１０１がＨで入力１０２がＬの場合の動作は、ＰＭＯＳトランジスタ１０３とＮＭＯＳトランジスタ１０５とがＯＮとなり、ＰＭＯＳトランジスタ１０４とＮＭＯＳトランジスタ１０６とがＯＦＦとなる。そのため、出力１０７は、ＰＭＯＳトランジスタ１０３によって電源Ｖｃｃに接続され、Ｈになる。すなわち、電源Ｖｃｃから出力３１０へ電流が流れ、出力１０７の容量成分に電荷が保持される。また、例えば、入力１０１と入力１０２とが共にＨの場合の動作は、ＮＭＯＳトランジスタ１０５とＮＭＯＳトランジスタ１０６がとＯＮとなり、ＰＭＯＳトランジスタ１０３とＰＭＯＳトランジスタ１０４とがＯＦＦとなる。そのため、出力１０７は、ＮＭＯＳトランジスタ１０５、１０６によって接地ＧＮＤに接続され、Ｌになる。すなわち、出力１０７に保持されていた電荷が接地ＧＮＤへ流れる。以上のように、従来の論理回路は、出力結果の値によって消費される電流量が異なるものであった。
【０００４】
ところで、近年、暗号ハードウェアに対する攻撃方法として、ＤＰＡ（Ｄｉｆｆｅｒｅｎｔｉａｌ　Ｐｏｗｅｒ　Ａｎａｌｙｓｉｓ）が注目されてきている。ＤＰＡによる攻撃方法は、暗号ハードウェアの入力に対する出力とその際に測定した消費電力とを統計的に処理することで、本来暗号ハードウェアの内部で生成され隠蔽されるべき秘密の鍵を推定する方法である。従って暗号回路を製品化するにあたって、ＤＰＡによる攻撃方法に対する対策も十分なされる必要が生じてきており、具体的な対策案も示されてきている（例えば、特許文献１参照）。
【０００５】
【特許文献１】特開２００１−２６８０７１公報
【０００６】
【発明が解決しようとする課題】
暗号ハードウェアは、上記で説明したような論理回路が多数用いられている。
【０００７】
しかしながら、上記で説明したように、従来の論理回路は出力結果によって消費電力が異なるものであるため、このような論理回路を適用した暗号ハードウェアは、ＤＰＡによって攻撃されてしまう恐れがあるという問題があった。
【０００８】
本発明は、このような問題点に鑑みなされたものであり、出力結果によらず消費電力が一定となる論理回路および暗号化装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明は、複数の論理信号が入力される論理回路は、第１信号線と、第２信号線と、第１電源と、前記第１電源とは電圧値の異なる第２電源と、前記第１信号線の一端と前記第１電源とを選択的に接続する第１接続回路と、前記第２信号線の一端と前記第１電源とを選択的に接続する第２接続回路と、前記第１信号線の他端と前記第２電源とを選択的に接続する第３接続回路と、前記第２信号線の他端と前記第２電源とを選択的に接続する第４接続回路と、前記第１接続回路と前記第２接続回路とへ同じ接続または非接続の動作をさせるよう制御する第１接続制御回路と、前記第３接続回路と前記第４接続回路とへ接続または非接続の動作をさせるよう制御する第２接続制御回路と、前記第１信号線と前記第２信号線とに接続され、前記第１信号線と前記第２信号線との電圧差に基づいて、出力信号を出力する出力回路とを備え、前記複数の論理信号の入力に対する出力時には、前記第１接続制御回路が前記第１接続回路と前記第２接続回路とへ非接続の動作をさせるよう制御するとともに、前記第２接続制御回路が前記第３接続回路と前記第４接続回路との何れか一方のみへ接続の動作をさせるよう制御するようにした。
【００１０】
また、本発明は、第１の信号線と、第２の信号線と、第１の信号線と第２の信号線との電圧に基づいて出力を行う出力回路とを備える論理回路であって、前記第１の信号線と前記第２の信号線とに、第１の電圧を掛ける処理を行う第１のモードと、前記第１の信号線と前記第２の信号線との何れか一方に、上記第１の電圧とは電圧値が異なる第２の電圧を掛ける処理を行う、前記第１のモードに続いて行われる第２のモードとで動作し、前記第２のモード時の出力回路からの出力を論理出力とするようにした。
【００１１】
このようにしたことにより、本発明の論理回路は、２つの信号線の電位差によって、出力を決定する新たな方式を提供し、また、出力によらず、定電力で動作できるようになった。
【００１２】
また、本発明の、非線形変換処理を行う手段を隠蔽された内部に備える暗号化装置は、前記非線形変換処理手段を行う手段には、第１信号線と、第２信号線と、第１電源と、前記第１電源より低い電圧値の第２電源と、前記第１信号線の一端と前記第１電源とを選択的に接続する第１接続回路と、前記第２信号線の一端と前記第１電源とを選択的に接続する第２接続回路と、前記第１信号線の他端と前記第２電源とを選択的に接続する第３接続回路と、前記第２信号線の他端と前記第２電源とを選択的に接続する第４接続回路と、前記第１接続回路と前記第２接続回路とへ同じ接続または非接続の動作をさせるよう制御する第１接続制御回路と、前記第３接続回路と前記第４接続回路とへ接続または非接続の動作をさせるよう制御する第２接続制御回路と、前記第１信号線と前記第２信号線とに接続され、前記第１信号線と前記第２信号線との電圧差に基づいて、出力信号を出力する出力回路とを備え、複数の論理信号の入力に対する出力時には、前記第１接続制御回路が前記第１接続回路と前記第２接続回路とへ非接続の動作をさせるよう制御するとともに、前記第２接続制御回路が前記第３接続回路と前記第４接続回路との何れか一方のみへ接続の動作をさせるよう制御するようにした論理回路を少なくとも１つ以上備えた。
【００１３】
また、本発明の非線形変換処理を行う手段を隠蔽された内部に備える暗号化装置は、前記非線形変換処理手段を行う手段には、第１の信号線と、第２の信号線と、第１の信号線と第２の信号線との電圧に基づいて出力を行う出力回路とを備え、前記第１の信号線と前記第２の信号線とに、第１の電圧を掛ける処理を行う第１のモードと、前記第１の信号線と前記第２の信号線との何れか一方に、上記第１の電圧より低い電圧値の第２の電圧を掛ける処理を行う、前記第１のモードに続いて行われる第２のモードとで動作し、前記第２のモード時の出力回路からの出力を論理出力とするようにした論理回路を少なくとも１つ以上備えた。
【００１４】
このように、出力によらず、定電力で動作できる論理回路を、暗号化装置の内部に用いることにより、ＤＰＡによる攻撃に耐性を持った暗号回路を提供できるようになった。
【００１５】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態について説明する。
【００１６】
図１は、本実施の形態の論理回路を示したものである。この論理回路は、信号線５１と信号線５２を備える。信号線５１は、接続回路２１と接続され、接続回路２１がＯＮされることにより電源１１と導通される。更に、信号線５１は、接続回路２３と接続され、接続回路２３がＯＮされることにより電源１２と導通される。信号線５２は、接続回路２２と接続され、接続回路２２がＯＮされることにより電源１１と導通される。更に、信号線５２は、接続回路２４と接続され、接続回路２４がＯＮされることにより電源１２と導通される。
【００１７】
接続回路２３及び接続回路２４のＯＮ／ＯＦＦ制御は、接続制御回路３３によって行われる。接続制御回路３３は、後述する前処理フェーズの開始時に、接続回路２３および接続回路２４をＯＮし、該前処理フェーズの終了時に接続回路２３および接続回路２４をＯＦＦする。
【００１８】
一方、接続回路２１及び接続回路２２のＯＮ／ＯＦＦ制御は、接続制御回路３１によって行われる。接続制御回路３１は、後述する出力フェーズ時に、Ｎ本の信号線から入力される入力信号５３−１〜５３−Ｎに基づいて、接続回路２１と接続回路２２の何れか一方をＯＮし、他方をＯＦＦする信号を供給する。この供給により、信号線５１または信号線５２の何れかが電源線１１と接続され、接続された信号線５１または信号線５２の電圧が変化し、信号線５１と信号線５２とは電圧差が発生する。信号線５１と信号線５２とに接続される出力回路３４は、この電圧差によって決定された出力信号５４−１および」５４−２を出力する。
【００１９】
次に、本実施の形態の論理回路の動作について説明する。
【００２０】
この論理回路は、信号線５１と信号線５２を同じ電圧に設定する前処理フェーズと、入力信号５３−１〜５３−Ｎの値によって信号線５１と信号線５２のどちらか一方のみの電圧を変化させる出力フェーズとを備える。
【００２１】
前処理フェーズでは、接続制御回路３３によって制御信号が生成され，接続回路２３および接続回路２４がＯＮされ、導通状態に設定される。したがって、信号線５１および信号線５２は、共に電源１２に接続され、同じ電圧Ｖ２になる。そして、前処理フェーズが終了すると、接続制御回路３３によって、接続回路２３および接続回路２４は、ＯＦＦされ、非導通状態に設定される。このとき、信号線５１および信号線５２は対照に設計されているので、同じ容量成分Ｃを持つことになる。その結果、信号線５１と信号線５２とは、接続回路２３および接続回路２４が非導通状態に設定されても電源１２と同じ電圧Ｖ２を保つ。以上の前処理フェーズに引き続き、出力フェーズが行われる。
【００２２】
出力フェーズになると、接続制御回路３１は、入力信号５３−１〜５３−Ｎの値に基づいて、接続回路２１または接続回路２２のいずれか一方のみを導通状態に設定し、もう一方を非導通状態に設定するための制御信号を生成する。つまり、接続制御回路３１は、入力信号５３−１〜５３−Ｎがどのような信号の組であっても、一方のみがＯＮ出力されるように構成されている。
【００２３】
生成された制御信号を受けた接続回路２１および接続回路２２によって導通状態に設定された信号線５１または信号線５２は、電源１１と同じ電圧Ｖ１となり、他方の非導通状態のままの信号線５２または信号線５１は、前処理フェーズで保たれた電圧Ｖ２のまま保持される。電源１１に導通された信号線５１または５２からは、（Ｖ２−Ｖ１）＊Ｃの電荷が電源１１へ流れる。すなわち、入力信号５３−１〜５３−Ｎの値によって、信号線５１と信号線５２の間に電圧差が発生し、それら各電圧が出力回路３４に入力され、その電圧差によって出力が決定される。
【００２４】
出力フェーズが完了すると、再び前処理フェーズが行われる。このとき、信号線５１または、信号線５２のいずれかが電圧Ｖ１で、もう一方が電圧Ｖ２となっており、電圧Ｖ１となっている信号線は、前処理フェーズによって電源１２と同じ電圧Ｖ２となる。このとき、（Ｖ２−Ｖ１）＊Ｃの電荷が電源１２からその信号線に供給される。
【００２５】
以上のように、本実施の形態の論理回路は、前処理フェーズでは（Ｖ２−Ｖ１）＊Ｃの電荷が電源１２から何れかの信号線５１または信号線５２へ流れ、出力フェーズでは（Ｖ２−Ｖ１）＊Ｃの電荷が何れかの信号線５１または信号線５２から電源１１へ流れる。つまり、前処理フェーズ及び出力フェーズの何れの場合にも、入力信号の値によらず、常に同じ電流（Ｖ２−Ｖ１）＊Ｃの定電流が流れる論理回路が実現できるようになる。また、このような論理回路を暗号回路へ用いたとしても、消費電力の差を利用したＤＰＡの攻撃方法を防ぐことが可能となる。
【００２６】
次に、図１で示した本実施の形態の具体例を以下に説明する。
（具体例１）
図２は、本実施の形態に適用可能な具体例１に係る詳細構成を示した論理回路である。なお、同一図番のものは、図１と同じものを使用していることを意味する。
【００２７】
この論理回路は、図１の接続回路２１をＮＭＯＳトランジスタ２１１０で、図１の接続回路２２をＮＭＯＳトランジスタ２２１０で、図１の接続回路２３をＰＭＯＳトランジスタ２３１０で、図１の接続回路２４をＰＭＯＳトランジスタ２４１０で実現したものである。また、図１の接続制御回路３１を、論理素子の組み合わせからなる接続制御回路３１１０で実現したものである。また、この接続制御回路３１１０は、Ａ、Ｂ、Ｃ、Ｄの４つの信号が入力されるものであり、また、これらの４つの信号の入力の組に対するＯＲゲート６１１０の出力の例を図３で示した。
【００２８】
接続制御回路３３は、図１と同様、前処理フェーズの時、Ｌを出力し、それ以外の時はＨを出力する。ＰＭＯＳトランジスタ２３１０、２４１０は、接続制御回路３３からの信号がＬのときに導通状態になり、Ｈのときに非導通状態になる。ＮＭＯＳトランジスタ２１１０、２２１０は、入力される信号がＨのときに導通状態となり、Ｌのときに非導通状態になる。
【００２９】
接続制御回路３１１０は、図３の関係を実現するための制御回路である。接続制御回路３１１０内のＯＲゲート６１１０は、図３に示された出力がＨのときにＨとなり、ＯＲゲート６２１０は、図３に示された出力がＬのときにＨになる。また、ＯＲゲート６１１０及び６２１０は、前処理フェーズの時には、Ｌになるように制御される。
【００３０】
出力回路３４は、図１と同じものであり、２つの入力を備え、その２つの入力の電圧差から出力を決定する。また、出力回路３４は、２つの出力を備え、その組合せで出力値が定義される。この例では、出力値がＨのときには出力１がＨで出力２がＬとなり、出力値がＬのときには出力１がＬで出力２がＨとなり，それ以外の時に出力１、出力２がともにＨとなるものである。
【００３１】
次に、この論理回路の動作について説明する。
【００３２】
前処理フェーズでは、接続制御回路３３からＬが出力される。接続制御回路３３から出力されたＬ信号は、ＰＭＯＳトランジスタ２３１０、２４１０および接続制御回路３１１０へ供給される。ＰＭＯＳトランジスタ２３１０、２４１０は、Ｌ信号が入力されるので導通状態になる。一方、接続制御回路３１１０では、ＮＭＯＳトランジスタ２１１０、２２１０を、非導通状態となるようなＬ信号が出力される。したがって、ＰＭＯＳトランジスタ２３１０、２４１０が導通状態となり、ＮＭＯＳトランジスタ２１１０、２２１０が非導通状態となり、信号５１、５２は、電源線１２（Ｖｃｃ）に接続され、電圧Ｖｃｃとなる。このとき、出力回路３４への入力は、ともにＨになるので、出力回路３４の出力１と出力２は、ともにＨが出力される。以上の前処理フェーズに続き、出力フェーズが行われる。
【００３３】
出力フェーズでは、接続制御回路３１１０は、図３で示した入力と出力との対応関係を実現する。例えば、入力がＡＢＣＤ＝０１１０のときは、ＯＲゲート６１１０がＬを出力し、ＯＲゲート６２１０がＨを出力する。この結果、ＮＭＯＳトランジスタ２１１０が非導通状態となり、ＮＭＯＳトランジスタ２２１０が導通状態となる。したがって、信号線５２は、電源１１（ＧＮＤ＝０Ｖ）に接続され、信号線５２で保持されていた電荷が、ＧＮＤに流れる。一方、信号線５１の電位は、ＧＮＤに接続されないので、Ｖｃｃに保持される。
【００３４】
したがって、信号線５２の電圧がＧＮＤで、信号線５１の電圧がＶｃｃとなり、出力回路３４は、この差を検出して出力値Ｌとすべく、すなわち、出力１からＬ，出力２からＨを出力する。この後、次の動作として、また、前処理フェーズとなる。
【００３５】
なお、この具体例１の論理回路の接続制御回路３１１０は、論理圧縮を行って、図４のように変形しても良い。
（具体例２）
図５は、本実施の形態に適用可能な別の具体例２に係る詳細構成を示した論理回路である。なお、上記と同じものは、同一番号を付している。
【００３６】
図５に示した具体例２は、図２に示した具体例１のＯＲゲート６１１０、６２１０を、信号線５１または５２の何れかにそれぞれ接続された１６個のＮＭＯＳトランジスタ２０００−１〜２０００−１６で実現している。これらのＮＭＯＳトランジスタ２０００−１〜２０００−１６は、図１の接続回路２１および２２と等価な回路である。
【００３７】
つまり、接続回路２１は、ＮＭＯＳトランジスタ２０００−１、−２、−６、−７、−１２、−１３、−１５、−１６によって実現され、接続回路２２は、ＮＭＯＳトランジスタ２００−３、−４、−５、−８、−９、−１０、−１１、−１４によって実現されている。
【００３８】
次にこの論理回路動作について説明する。
【００３９】
前処理フェーズでは、接続制御回路３３によってＬが出力され、ＰＭＯＳトランジスタ２３１０、２４１０は、導通状態になる。一方、接続制御回路３１２０内のアンドゲート２０１０−１〜２０１０−１６の全ては、ＮＭＯＳトランジスタ２０００−１〜２０００−１６への出力としてＬを出力し、ＮＭＯＳトランジスタ２０００−１〜２０００−１６は、非道通状態となる。したがって、信号線５１、５２は、電源線１２（Ｖｃｃ）と接続され、Ｈ状態が保持される。
【００４０】
次に、出力フェーズでは、接続制御回路３３からＨが出力される。ＰＭＯＳトランジスタ２３１０、２４１０は、非導通状態となる。接続制御回路３１２０では、入力信号に応じて１つのＡＮＤゲートのみがＨを出力し、その他のＡＮＤゲートは、Ｌを出力する。例えば、入力がＡＢＣＤ＝０１１０のとき、ＡＮＤゲート２０１０−７のみがＨを出力し、その他のＡＮＤゲートは、Ｌを出力する。これによって、ＮＭＯＳトランジスタ２０００−７のみが導通状態となり，その他のＮＭＯＳトランジスタは、非導通状態となる。したがって、ＮＭＯＳトランジスタ２０００−７が接続されている信号線５１が接地（ＧＮＤ）と導通状態となり、信号線５１に保持されていた電荷がＧＮＤに流れ、信号線５１の電圧がＧＮＤ（＝０）と同じとなる。一方、信号線５２は、Ｈ状態が保持されたままとなり、信号線５１と５２との間に電圧差が発生し、出力回路３４は、その電圧差に応じて出力する。
（具体例３）
図６は、本実施の形態に適用可能な別の具体例３に係る詳細構成を示した論理回路である。図６に示した具体例３は、図５に示した具体例２を変形したもので、図１の接続回路２１、２２に相当するＮＭＯＳトランジスタ２０００−１〜２０００−１６の導通／非導通を制御するためのアンドゲート２０１０−１〜２０１０−１６を、各ＮＭＯＳトランジスタ２０００−１〜２０００−１６と直列に接続された各４個のＮＭＯＳトランジスタで構成されるＮＭＯＳトランジスタ列２５００−１〜２５００−１６で代替して実現したものである。
【００４１】
ＮＭＯＳトランジスタ２０００−１〜２０００−１６のゲート入力は、接続制御回路３３からの信号であり、前処理フェーズにおいて非導通状態となるように制御される。
【００４２】
接続制御回路３１３０として用いられるＮＭＯＳトランジスタ列２５００−１〜２５００−１６は、外部からの入力によって導通／非道通が制御される。例えば、入力がＡＢＣＤ＝０１１０のときは、ＮＭＯＳトランジスタ列２５００−７内のすべてのトランジスタが導通状態となる。それ以外のトランジスタ列は、少なくとも何れかのトランジスタが非導通状態となる。したがって、出力フェーズでは、このＮＭＯＳトランジスタ列２５００−７から信号線５２に保持されている電荷が接地（ＧＮＤ）に流れ、結果として信号線５２の電圧が接地レベルとなり，電荷が保持されたままのもう一方の信号線５１との間に電圧差が生じ、その電圧差によって出力が決定される。
【００４３】
図６に示した具体例３では、信号線５１、５２に、接続回路２１、２２対応のＮＭＯＳトランジスタ２０００−１〜２０００−１６が接続され、各ＮＭＯＳトランジスタと接地ＧＮＤの間に各接続制御用のＮＭＯＳトランジスタ列が接続されているが、これとは逆で、信号線５１、５２に、接続制御用のＮＭＯＳトランジスタ列が接続され，さらに接続回路２１、２２対応のＮＭＯＳトランジスタが接地ＧＮＤとの間に接続されても良い。
【００４４】
また、図６に示した具体例では、左右対称になるように配置されているが、図７に示すように非対称に配置することも可能である。この場合、レイアウト設計上、繰り返しが行えるため、設計期間を短縮することが可能となる。
【００４５】
また、図８に示すように、接続制御回路３３の出力信号を本論理回路の入力信号Ａ，Ｂ，Ｃ，Ｄへ直接作用させるように（図のように）論理素子へ入力することにより、接続回路２１、２２対応のＮＭＯＳトランジスタを省略することも可能である。
【００４６】
ところで、具体例３の各構成（図６〜図８）では、接地ＧＮＤまでの経路がすべて導通状態にならなかった場合でも、一部のトランジスタが導通状態になっているため、電荷が信号線５１、５２から、ＮＭＯＳトランジスタを通して別の配線に流れる。このため、Ｈ状態に保持される信号線の電圧が、実際には多少低くなる。動作上は、電荷が完全に流れることはないので出力が確定するが、次に、前処理フェーズでプリチャージ（信号線５１、５２をＶ２に）するときに、不足分の電荷が必要になる。この不足分を補ってプリチャージすることにより、ＤＰＡによる攻撃がなされてしまう可能性がある。これを避けるために、出力が終った時点ですべての電荷を信号線から接地へ流してしまうように制御する。この制御を以下、後処理フェーズと呼ぶ。後処理フェーズを行うと、毎回、信号線５１と５２とにチャージされる電荷が消費される。
【００４７】
図９に示した構成では、ＮＭＯＳトランジスタ列２５００−１〜２５００−１６と相補的にＰＭＯＳトランジスタ列２６００−１〜２６００−１６が信号線５１、５２に接続され、また、信号線の電荷を抜くためのＮＭＯＳトランジスタ２７００、２８００が信号線５１、５２に接続されている。これらの新たに追加された素子によって、２つの信号線５１と５２に電荷が無い状態から電荷をチャージすることによっても論理結果を得ることができるようになる。
【００４８】
信号線５１、５２の状態を（ｘ，ｘ）と表す。ｘは、ＨかＬのどちらかを取る。図６〜図８に示した構成では、前処理フェーズで（Ｈ，Ｈ）になり、出力フェーズで（Ｈ，Ｌ）あるいは（Ｌ，Ｈ）になり、後処理フェーズで（Ｌ，Ｌ）となり、再び、前処理フェーズによって（Ｈ，Ｈ）となる。
【００４９】
一方、図９に示した構成では、前処理フェーズで（Ｈ，Ｈ）になり、出力フェーズ１で（Ｈ，Ｌ）あるいは（Ｌ，Ｈ）になり、後処理フェーズで（Ｌ，Ｌ）となり、この後、出力フェーズ２で（Ｈ，Ｌ）あるいは（Ｌ，Ｈ）になり、後処理フェーズで（Ｌ，Ｌ）となり、再び、前処理フェーズによって（Ｈ，Ｈ）となる。
【００５０】
ここで出力フェーズ１は、プリチャージ状態からＮＭＯＳトランジスタ列によって論理入力によって信号線の一方の電荷を抜く処理を意味し、出力フェーズ２は、ディスチャージ状態からＰＭＯＳトランジスタ列によって論理入力によって信号線の一方に電荷を注入する処理を意味する。図９の構成をとることにより、処理時間の短縮とともに、消費電力の低減を実現することが可能となる。なお、図９に示した回路においても、図７で示した構成と同様に、電荷を抜くための接地線に接続されているＮＭＯＳトランジスタや、電荷を注入するために電源線に接続されているＰＭＯＳトランジスタを省略する構成をとることも可能である。（具体例４）
図１０は、本実施の形態に適用可能な別の具体例４に係る詳細構成を示した論理回路である。
【００５１】
図１０に示した回路は、２入力の汎用的な論理回路に対応した例である。この回路を用いてアンドゲート、オアゲート、排他論理和ゲートを構成することができる。
【００５２】
この論理回路は、プリチャージ用としてのＰＭＯＳトランジスタ２３１０、２４１０と、ディスチャージ用としてのＮＭＯＳトランジスタ２１４０、２２４０と、論理構成用、つまり論理入力に対する論理出力を行うためのＮＭＯＳトランジスタ３１４１、３１４２、３１４３、３１４４、３１４５、３１４６、３１４７とを備えている。この回路を用いたアンドゲート、オアゲート、排他論理和ゲートは、それぞれ、図１１、図１２、図１３のように結線することにより実現される。
（本実施の形態の論理回路の適用例）
次に、上記で説明した本実施の形態の論理回路を暗号化装置に適用した例を説明する。
【００５３】
図１３は、ＤＥＳ方式の暗号化装置の内部構成を示したものである。なお、この図１３の内部構成は、着脱不可のケースで覆われており、内部構成は隠蔽されている。
【００５４】
この暗号化装置は、Ｉｎｉｔｉａｌ　Ｐｅｒｍｕｔａｔｉｏｎを実現する回路ＩＰ（７１００−１、７１００−２）、回路ＩＰからの出力とループ処理結果を選択するセレクタＳＥＬ（７２００−１、７２００−２）、一時データを保持するレジスタＲＥＧ（７３００−１、７３００−２）、Ｆ関数を処理する処理回路Ｆ（７４００）、排他論理和を実現する排他論理和回路ＥＸｏｒ（７５００）、Ｆｉｎａｌ　Ｐｅｒｍｕｔａｔｉｏｎを実現する回路ＦＰ（７６００−１、７６００−２）、及び、鍵スケジ　ュールを実現する回路ＫＳ（７７００）で構成される。
【００５５】
Ｆ関数を処理する回路Ｆ（７４００）は、図１５に示される、Ｅ関数を実現する回路Ｅ（７４１０）、鍵加算を実現する回路ＫｅｙＡｄｄ（７４２０）、非線形変換処理を行うＳＢＯＸを実現する回路ＳＢｏｘ（７４３０）、Ｐ関数を実現する回路Ｐ（７４４０）で構成される。回路ＳＢｏｘ（７４３０）は、図１６に示される、６ビット入力、４ビット出力のＳ１〜Ｓ８（７４３１〜７４３８）で構成される。
【００５６】
各Ｓ１〜Ｓ８は、図１７に示される，６ビット入力１ビット出力の複数の既説明済の本実施の形態の論理回路Ｓ１１〜Ｓ１４で構成する。暗号化装置において、この回路Ｓ１〜Ｓ８の入力と出力との関係を隠蔽する必要がある。従来の論理回路を用いると、ここの入力と出力との関係が、電力変化として現れるのでＤＰＡ攻撃が行われる対象となる。ここでは、本実施の形態の論理回路を用いるので、入力と出力の関係に関わらず、定消費電力化されるので、ＤＰＡ攻撃を防ぐことができるようになる。
【００５７】
回路Ｓ１１の第１ビットの構成例を図１８に示す。
【００５８】
回路ＩＰ（７１００）、および、回路ＦＰ（７６００）は、ビットの並び替えで実現される。また、セレクタＳＥＬ（７２００）は、図１９に示される回路構成で実現される。また、レジスタＲＥＧ（７３００）は、図２０に示される回路構成で実現される。また、排他論理和回路ＥＸｏｒ（７５００）は、図２１に示される回路構成で実現される。
【００５９】
回路Ｅ（７４１０）、および、回路Ｐ（７４２０）は、ビットの並び替えで実現される。また、鍵加算を実現する回路ＫｅｙＡｄｄ（７４２０）は、排他論理和で実現されるので、図２１に示されるＥＸｏｒ（７５００）と同様の回路構成で実現される．
次に、動作について説明する。
【００６０】
平文、暗号鍵は、正論理と負論理の差動入力として提供される。暗号鍵入力ＫｉｎＰ（正論理）、ＫｉｎＮ（負論理）は、鍵スケジューラＫＳ（７７００）に入力される。
【００６１】
鍵スケジュールは、入力された５６ビットの暗号鍵から各ラウンドで４８ビットが選択される。すなわち、図１９で示されるセレクタの組合せで実現される。
【００６２】
平文は、最初にＩｎｉｔｉａｌ　Ｐｅｒｍｕｔａｔｉｏｎが行なわれる。Ｉｎｉｔｉａｌ　Ｐｅｒｍｕｔａｔｉｏｎは、ビットの並べ替えであるので、配線のみで実現される。また、ビットの並べ替えであるので、正論理入力と負論理入力を独立に行なうことができ、図１４に示されているように２つの回路ＩＰを用いて実現される。
【００６３】
回路ＩＰ（７１００−１、７１００−２）の結果がセレクタＳＥＬ（７２００−１、７２００−２）を経由して、レジスタＲＥＧ（７３００−１、７３００−２）に転送され、保持される。
【００６４】
レジスタＲＥＧ（７３００−２）に保持された右側のデータは、Ｆ関数の回路Ｆ（７５００）に転送され、Ｆ関数の処理がなされて出力され、排他論理和回路（７５００）、セレクタＳＥＬ（７２００−２）、回路ＦＰ（７６００）に転送される。一方、レジスタＲＥＧ（７３００−１）に保持されている左側のデータは、排他論理和回路（７５００）に転送され、Ｆ関数の回路Ｆ（７５００）の出力と排他論理和され、セレクタＳＥＬ（７２００−２）、ＦＰ（７６００）に転送される。
【００６５】
回路ＦＰ（７６００）では、ＩＰの逆のビットの並び替えが行なわれ結果が暗号文として出力される。
【００６６】
Ｆ関数処理部（７４００）では、Ｅ関数、鍵加算、ＳＢＯＸ、Ｐ関数の各処理が行なわれる。
【００６７】
Ｅ関数（７４１０）は、ビットの並べ替えであるので、配線のみで実現される。鍵加算（７４２０）は、排他論理和が行なわれ、結果がＳＢＯＸ（７４３０）に転送される。ＳＢＯＸでは、本発明の論理回路によって処理が行なわれ、結果がＰ関数（７４４０）に転送される。Ｐ関数（７４４０）は、ビットの並べ替えであるので、配線のみで実現される。
【００６８】
Ｐ関数の出力が、Ｆ関数の出力となり出力される。出力された結果は、排他論理和回路ＥＸｏｒ（７５００）とレジスタＲＥＧ（７３００−１）と回路ＦＰ（７６００）に転送される。
【００６９】
排他論理和回路ＥＸｏｒ７５００では、レジスタＲＥＧ（７３００−１）とＦ関数処理部（７４００）の出力の排他論理和が行われ、結果がレジスタＲＥＧ（７３００−２）と回路ＦＰ（７６００）に転送される。
【００７０】
ＤＥＳでは、ＦＰを除いた処理が繰り返し行われる。最終結果は、繰り返しの結果をＦＰで処理して得られる。
【００７１】
次に、動作タイミングを図２２に示す。図２２は、前処理フェーズと出力フェーズとで構成される場合を示している。クロックがＨのとき前処理フェーズ（Ｐｒｅｃｈａｒｇｅ）であり、クロックがＬのとき出力フェーズ（Ｏｕｔｐｕｔ）である。
【００７２】
クロックの立ち上がりでレジスタＲＥＧ（７３００）の値が更新され、Ｆ関数を処理する回路Ｆ（７４００）に転送され、Ｅ関数、鍵加算の処理が行われる。ＳＢＯＸは、前処理フェーズ中なので、結果は入力に無関係のあらかじめ決められた値が出力される。図２２では、’ＸＸＸ’　と表現した。前処理フェーズが終了し、出力フェーズになるとＳＢＯＸへの入力に応じた出力値が出力される。この出力がＰ関数に転送され、さらに排他論理和回路（７５００）に転送され、１ラウンド分の処理が完了する。１ラウンド分の最終結果は、レジスタＲＥＧ（７３００）に保持される。
【００７３】
別の動作タイミングを図２３に示す。この例においては、２クロックで１ラウンドの処理を行っている。前処理フェーズ（Ｐｒｅｃｈａｒｇｅ）、出力フェーズ（Ｏｕｔｐｕｔ）、後処理フェーズ（Ｄｉｓ−ｃｈａｒｇｅ）の３つのフェーズを２クロックを用いて行っている。このようなタイミングで動作させるときは、レジスタを２セット（ＲＥＧ１，ＲＥＧ２）　用意する方法と、２クロ　ックに１回書き込むように制御することで実現される。図２３の例では、レジスタを２セット（ＲＥＧ１，ＲＥＧ２）用意する方法を示した。
【００７４】
この例では、レジスタの値が１クロックごとに、ＳＢＯＸの前処理フェーズで出力されるあらかじめ定められた値にレジスタがセットされ、また、レジスタには、正論理と負論理の２セットがあるので、レジスタに保持されている値による電力消費の差がなくなる。
【００７５】
このような構成により、本実施の形態で示された論理回路を用いて暗号化装置を実現することが可能となる。なお、ここでは暗号化装置について説明してきたが、復号回路においても、同様に実現可能である。
【００７６】
以上説明してきたように、本実施の形態の論理回路は、２つの信号線の電位差によって、出力を決定する新たな方式の論理回路を提供できるようになった。また、出力によらず、定電力で動作できるようになった。更に、このような論理回路を暗号化装置の内部に用いることにより、ＤＰＡによる攻撃に耐性を持った暗号回路を提供できるようになった。
【００７７】
なお、本発明の論理回路は、上記実施の形態で説明したものに限定されるものではなく、実施の形態から逸脱しない範囲をも含まれることは勿論である。
【００７８】
【発明の効果】
本発明によれば、出力によらず、定消費電力で動作できる論理回路を提供できる。更にこの論理回路を暗号化装置（復号装置も同様）に適用することにより、ＤＰＡ攻撃の対策を講じた暗号化装置（復号装置）を提供できる。
【図面の簡単な説明】
【図１】は、本実施の形態の論理回路を示す図。
【図２】は、本実施の形態に適用の具体例１の詳細構成図。
【図３】は、具体例１の接続制御回路３１１０の入出力関係を示す図。
【図４】は、具体例１の接続制御回路３１１０の変形例の接続制御回路３１２０を示す図。
【図５】は、本実施の形態に適用の具体例２の詳細構成図。
【図６】は、本実施の形態に適用の具体例３の詳細構成図。
【図７】は、具体例３の変形例。
【図８】は、具体例３の別の変形例。
【図９】は、具体例３の更に別の変形例。
【図１０】は、本実施の形態に適用の具体例４の詳細構成図。
【図１１】は、具体例４に適用のアンドゲートの例。
【図１２】は、具体例４に適用のオアゲートの例。
【図１３】は、具体例４に適用の排他論理和ゲートの例。
【図１４】は、本実施の形態の論理回路を適用するＤＥＳ暗号化装置の回路ブロック図。
【図１５】は、回路Ｆ（７４００）の内部回路図。
【図１６】は、ＳＢｏｘ（７４３０）の内部回路図。
【図１７】は、回路Ｓ１の内部回路図。
【図１８】は、回路Ｓ１１の第１ビットの構成例。
【図１９】は、セレクタＳＥＬ（７２００−１、７２００−２）の構成例。
【図２０】は、レジスタＲＥＧ（７３００−１、７３００−２）の構成例。
【図２１】は、排他論理和回路の構成例。
【図２２】は、動作タイミングを示す図。
【図２３】は、別の動作タイミングを示す図。
【図２４】は、従来の論理回路の詳細構成例。
【符号の説明】
１１、１２・・・電源
２１、２２、２３、２４・・・接続回路
３１、３３・・・接続制御回路
３４・・・出力回路
５１、５２・・・信号線
５３−１〜５３−Ｎ・・・入力信号線
５４−１、５４−２・・・出力信号線
１０１・・・入力線１
１０２・・・入力線２
１０３、１０４、２３１０，２４１０・・・ＰＭＯＳトランジスタ
１０５、１０６、２１１０、２２１０、２７００、２８００、２１４０、２２４０、３１４１〜３１４８・・・ＮＭＯＳトランジスタ
１０７・・・出力線
２０００−１〜２０００−１６・・・ＮＭＯＳトランジスタ
２０１０−１〜２０１０−１６・・・アンドゲート
２５００−１〜２５００−１６・・・ＮＭＯＳトランジスタ列
２６００−１〜２６００−１６・・・ＰＭＯＳトランジスタ列
３１１０、３１２０・・・接続制御回路
６１１０、６１２０、６２１０、６２２０・・・ＯＲゲート
７１００−１、７１００−２・・・回路ＩＰ
７２００−１、７２００−２・・・セレクタＳＥＬ
７３００−１、７３００−２・・・レジスタＲＥＧ
７４００・・・回路Ｆ
７４１０・・・回路Ｅ
７４２０・・・鍵加算回路
７４３０・・・ＳＢｏｘ
７４３１〜７４３８・・・回路Ｓ１〜回路Ｓ８
７４４０・・・回路Ｐ
７５００・・・排他論理和ＥＸｏｒ
７６００−１、７６００−２・・・回路ＦＰ
７７００・・・回路ＫＳ
【図１】
2004120286.tif 000003
【図２】
2004120286.tif 000004
【図３】
2004120286.tif 000005
【図４】
2004120286.tif 000006
【図５】
2004120286.tif 000007
【図６】
2004120286.tif 000008
【図７】
2004120286.tif 000009
【図８】
2004120286.tif 000010
【図９】
2004120286.tif 000011
【図１０】
2004120286.tif 000012
【図１１】
2004120286.tif 000013
【図１２】
2004120286.tif 000014
【図１３】
2004120286.tif 000015
【図１４】
2004120286.tif 000016
【図１５】
2004120286.tif 000017
【図１６】
2004120286.tif 000018
【図１７】
2004120286.tif 000019
【図１８】
2004120286.tif 000020
【図１９】
2004120286.tif 000021
【図２０】
2004120286.tif 000022
【図２１】
2004120286.tif 000023
【図２２】
2004120286.tif 000024
【図２３】
2004120286.tif 000025
【図２４】
2004120286.tif 000026