(57)【要約】【課題】入力信号線の電位によらず消費電力が一定の論理素子を提供する。【解決手段】入力信号線２３，２４の電位に応じた論理演算を行い、論理演算の結果を出力信号線２５へ出力してキャパシタ１４により保持する論理演算部１５を含む論理素子において、トランジスタ１１〜１３と充電制御信号線２１及び放電制御信号線２２によって構成される充放電回路を出力信号線２５に接続し、この充放電回路によってキャパシタ１４を入力信号線２３，２４の電位遷移に伴う充放電によらず一定周期で充放電させて消費電力を一定に保持する。【選択図】　図１
2004040244.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つの入力信号線と、
少なくとも一つの出力信号線と、
前記入力信号線の電位に応じた論理演算を行い、該論理演算の結果を前記出力信号線へ出力する論理演算部と、
前記出力信号線に接続され、前記論理演算結果を電荷として保持するキャパシタと、
前記出力信号線に接続され、前記キャパシタを前記入力信号線の電位遷移に伴う充放電によらず一定周期で充放電させる充放電回路とを具備する論理素子。
【請求項２】
異なる電源電位を有する第１及び第２の電源線と、
少なくとも一つの入力信号線と、
少なくとも一つの出力信号線と、
前記第１の電源線と前記第２の電源線との間に挿入され、前記入力信号線の電位に応じた論理演算を行う少なくとも一つのＭＯＳトランジスタを含む論理演算部と、
前記出力信号線と前記第２の電源線との間に挿入され、前記論理演算部の論理演算結果を電荷として保持するキャパシタと、
第１レベル及び第２レベルのいずれかの電位が選択的に与えられる第１及び第２の制御信号線と、
前記第１の電源線と前記出力信号線との間に接続され、前記第１の制御信号線の第１レベルの電位により導通状態、前記第１の制御信号線の第２レベルの電位により非導通状態とされる第１のＭＯＳスイッチと、
前記出力信号線と前記論理演算部との間に接続され、前記第１の制御信号線の第１レベルの電位により非導通状態、前記第１の制御信号線の第２レベルの電位により導通状態とされる第２のＭＯＳスイッチと、
前記キャパシタに対して並列に接続され、前記第２の制御信号線の第１レベルの電位により導通状態、前記第２の制御信号線の第２レベルの電位により非導通状態とされる第３のＭＯＳスイッチと、
前記キャパシタを前記入力信号線の電位遷移に伴う充放電によらず一定周期で充放電させるために、前記第１及び第２の制御信号線のそれぞれの電位の前記第１レベルの期間が互いに重複しないように前記第１及び第２の制御信号線の電位を周期的に前記第１レベルと第２レベルとの間で遷移させる制御回路と
を具備する論理素子。
【請求項３】
前記論理演算部は、直列に接続された複数のｎＭＯＳトランジスタと直列に接続された複数のｐＭＯＳトランジスタとの並列回路を有し、該複数のｎＭＯＳトランジスタのゲート端子及び該複数のｐＭＯＳトランジスタのゲート端子は、該ｎＭＯＳトランジスタ及びｐＭＯＳトランジスタに共通の複数の前記入力信号線に接続される請求項１または２に記載の論理素子。
【請求項４】
前記論理演算部は、直列に接続された複数のｎＭＯＳトランジスタを有し、該複数のｎＭＯＳトランジスタのゲート端子はそれぞれ異なる前記入力信号線に接続される請求項１または２に記載の論理素子。
【請求項５】
前記論理演算部は、並列に接続された複数のｐＭＯＳトランジスタを有し、該複数のｐＭＯＳトランジスタのゲート端子はそれぞれ異なる前記入力信号線に接続される請求項１または２に記載の論理素子。
【請求項６】
前記論理演算部は、並列に接続された複数のｎＭＯＳトランジスタを有し、該複数のｎＭＯＳトランジスタのゲート端子はそれぞれ異なる前記入力信号線に接続される請求項１または２に記載の論理素子。
【請求項７】
前記論理演算部は、直列に接続された複数のｐＭＯＳトランジスタを有し、該複数のｐＭＯＳトランジスタのゲート端子はそれぞれ異なる前記入力信号線に接続される請求項１または２に記載の論理素子。
【請求項８】
前記論理演算部は、一つのｎＭＯＳトランジスタを有し、該ｎＭＯＳトランジスタのゲート端子は前記入力信号線に接続される請求項１または２に記載の論理素子。
【請求項９】
請求項１乃至８のいずれか１項記載の論理素子を用いた組み合わせ回路を含む暗号演算回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、定消費電力化した論理素子及び該論理素子を用いて電力解析攻撃に対して耐性を持たせた暗号演算回路に関する。
【０００２】
【従来の技術】
暗号演算回路に納められている秘密情報を取り出す攻撃の一つとして、電力解析攻撃（ＤＰＡ：　Ｄｉｆｆｅｒｅｎｔｉａｌ　Ｐｏｗｅｒ　Ａｎａｌｙｓｉｓ）が知られている。ＤＰＡとは、暗号演算回路の演算処理中における消費電力の変動を観測し、その消費電力パターンから演算処理の内容を推測することにより、暗号演算回路に納められている秘密情報を取り出すことをいう。より具体的には、ＤＰＡでは複数の入力データを暗号演算回路に入力して、それぞれの場合の消費電力の変動を示すグラフ（消費電力グラフ）を作成する。入力データに対する消費電力グラフの特徴から、暗号演算回路内部にある秘密情報の推測を行う。推測した秘密情報と消費電力グラフには相関があり、推定した値が正しい場合には大きな相関値が表れ、推定が間違っている場合には相関値は小さなものとなる。この原理より、ＤＰＡを用いて暗号演算回路内部の秘密情報を取り出すことができる。
【０００３】
消費電力グラフと秘密情報とが相関を持つ理由の一つは、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ　Ｍｅｔａｌ−Ｏｘｉｄｅ　Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）の特徴に依存するところが大きい。ＣＭＯＳデバイスによる論理素子を用いて演算回路を製作した場合、ＣＭＯＳデバイスの特性から、信号線の電位が遷移するときに演算回路は大きな電力を消費する。このようなＣＭＯＳデバイスの特性のため、演算回路の内部において電位が遷移する信号線の数が入力データに依存して変動することにより、演算回路の消費電力が変動する。
【０００４】
図８に示すようなＣＭＯＳデバイスを用いてＡＮＤ演算を行う論理素子を例として、暗号演算回路の消費電力が変動する理由を説明する。図８に示す論理素子において、二つのｎＭＯＳトランジスタＭ１，Ｍ２の直列回路と二つのｐＭＯＳトランジスタＭ３，Ｍ４の並列回路が電源線Ｖｄｄとグランド間に直列に挿入される。初期状態では、二つの入力信号線の電位Ｉ１，Ｉ２及び出力信号線の電位Ｖｏが”Ｌ”レベルとする。
【０００５】
入力信号線の電位Ｉ１，Ｉ２が“Ｈ”レベルに遷移すると、ｎＭＯＳトランジスタＭ１，Ｍ２が導通状態になり、電源線ＶｄｄからトランジスタＭ１，Ｍ２を介して出力信号線に電流が流れる。この結果、出力信号線に接続されているキャパシタＣｏ（または出力信号線の寄生容量）に電荷が溜まり、出力信号線の電位Ｖｏ”Ｈ”レベルとなる。
【０００６】
入力信号線の電位Ｉ１，Ｉ２が“Ｈ”レベルのまま遷移しなければ、ｎＭＯＳトランジスタＭ１，Ｍ２は導通状態、ｐＭＯＳトランジスタＭ３，Ｍ４を非導通状態をそれぞれ維持し、出力信号線の電位は“Ｈ”レベルを維持する。このようにＣＭＯＳデバイスを用いた論理素子では、出力信号線の電位Ｖｏが“Ｈ”レベルのままで、“Ｌ”レベルに遷移しない場合、電荷は流れないため電力は消費されない。出力信号線の電位Ｖｏが“Ｌ”レベルのときも同様に、入力信号線の電位Ｉ１，Ｉ２の組み合わせが変化した場合でも、いずれか一方が“Ｌ”レベルであるならば、出力信号線の電位Ｖｏは“Ｌ”レベルのままとなり、電荷の流れが起こらないないために電力は消費されない。
【０００７】
一方、出力信号線の電位Ｖｏが“Ｈ”レベルの状態で、入力信号線の電位Ｉ１，Ｉ２のいずれか一方が”Ｌ”レベルとなった場合には、電荷の流れが起こる。例えば、第１の入力信号線の電位Ｉ２が“Ｈ”レベルを維持したまま、第２の入力信号線の電位Ｉ１が“Ｈ”レベルから“Ｌ”レベルに遷移した場合、ｎＭＯＳトランジスタＭ１が非導通状態となり、ｐＭＯＳトランジスタＭ３が導通状態となる。この結果、キャパシタＣｏの電荷がｐＭＯＳトランジスタＭ３を通じてグランドに流れ、出力信号線の電位Ｖｏは“Ｌ”レベルとなる。このような電荷の流れが起こると、電力が消費されることとなる。
【０００８】
このようにＣＭＯＳデバイスを用いた論理素子では、入力信号線の電位の遷移により出力信号線の電位が遷移するときに電力が消費され、出力信号線の電位が遷移しない場合には電力は消費されない。このような特徴を持つＣＭＯＳデバイスによる論理素子の組み合わせ回路を用いて暗号演算回路を実現すると、入力データによって消費電力が異なる場合が発生する。
【０００９】
例えば、暗号演算回路内部においてある入力データｍ１を処理するときに電位が遷移する信号線の数と、他の入力データｍ２を処理するときに電位が遷移する信号線の数が異なる場合、入力データｍ１及び入力データｍ２をそれぞれ処理しているときの消費電力グラフＰＧ１及びＰＧ２に差が出る。この消費電力グラフＰＧ１，ＰＧ２の差が暗号演算回路内部に格納されている秘密情報と関係しているような場合、この暗号演算回路に対してＤＰＡを行うことにより、内部にある秘密情報を特定できてしまう。
【００１０】
特開２００１−２６８０７１には、ＤＰＡに対する耐性（耐タンパー性）を持たせるため、暗号演算回路に再コンフィグレーション可能な演算回路を用い、この演算回路を機能的に同一で内部動作が異なる回路に構成させるための複数のコンフィグレーションデータを保持し、これらのコンフィグレーションデータを選択的に演算回路に書き込んで回路構成の更新を行うことにより、消費電力パターンから内部の秘密情報を特定しにくくする技術が開示されている。
【００１１】
しかし、再コンフィグレーションが可能なＦＰＧＡ／ＰＬＤのような演算回路は、ハードウェア規模が非常に大きく、暗号演算回路のコストが高くなってしまう。また、コンフィグレーションデータによって暗号演算回路の回路構成を更新しても、演算回路内部の秘密情報に依存して消費電力パターンが変化することに変わりはない。従って、この暗号演算回路は、消費電力パターンの詳細な解析を重ねることで内部の秘密情報を特定することは不可能ではなく、耐タンパー性という面で必ずしも十分でない。
【００１２】
特開平８−３１６８２３及び特開平８−３０５６８２には、２相の交流電源あるいは２相のクロック信号を用いてＣＭＯＳデバイスを用いた半導体集積回路を動作させることにより、消費電力を低減させる技術が開示されている。しかし、これらの技術では消費電力を低減させることはできても、消費電力を一定にすることはできず、暗号演算回路に適用した場合に耐ＤＰＡの特性を実現することはできない。
【００１３】
【発明が解決しようとする課題】
上述したように、ＣＭＯＳデバイスによる論理素子では、入力信号線の電位と出力信号線の電位の関係により消費電力が変化するため、このような論理素子を用いて暗号演算回路を製作した場合、暗号演算回路の入力データによって演算回路内部の論理素子における信号線の電位の遷移状態が異なり、消費電力が変動するという現象が起こる。このような入力データによる消費電力の変動が暗号演算回路内部の秘密情報及び入力データに相関があると、消費電力グラフを用いたＤＰＡによって暗号演算回路内部の秘密情報を取り出すことができてしまう。
【００１４】
外部から物理的に破壊するなどの攻撃方法の場合、攻撃された痕跡が残るために攻撃を受けたということがすぐに分かるが、ＤＰＡのように消費電力から内部の秘密情報を特定されるような攻撃方法の場合、外見から攻撃を受けたかどうか判断は難しいため、セキュリティ面で大いに問題となる。
【００１５】
本発明は、入力信号線の電位によらず消費電力が一定の論理素子及び該論理素子を用いて電力解析攻撃に対する耐性の高い暗号演算回路を提供することを目的とする。
【００１６】
【課題を解決するための手段】
上記の課題を解決するため、本発明に係る論理素子は、少なくとも一つの入力信号線と、少なくとも一つの出力信号線と、入力信号線の電位に応じた論理演算を行い、該論理演算の結果を出力信号線へ出力する論理演算部と、出力信号線に接続され、論理演算結果を電荷として保持するキャパシタと、出力信号線に接続され、キャパシタを入力信号線の電位遷移に伴う充放電によらず一定周期で充放電させる充放電回路とを具備する。
【００１７】
さらに具体的には、本発明に係る論理素子は、異なる電源電位を有する第１及び第２の電源線と、少なくとも一つの入力信号線と、少なくとも一つの出力信号線と、第１の電源線と第２の電源線との間に挿入され、入力信号線の電位に応じた論理演算を行う少なくとも一つのＭＯＳトランジスタを含む論理演算部と、出力信号線と第２の電源線との間に挿入され、論理演算部の論理演算結果を電荷として保持するキャパシタと、第１レベル及び第２レベルのいずれかの電位が選択的に与えられる第１及び第２の制御信号線と、第１の電源線と出力信号線との間に接続され、第１の制御信号線の第１レベルの電位により導通状態、第１の制御信号線の第２レベルの電位により非導通状態とされる第１のＭＯＳスイッチと、出力信号線と論理演算部との間に接続され、第１の制御信号線の第１レベルの電位により非導通状態、第１の制御信号線の第２レベルの電位により導通状態とされる第２のＭＯＳスイッチと、キャパシタに対して並列に接続され、第２の制御信号線の第１レベルの電位により導通状態、第２の制御信号線の第２レベルの電位により非導通状態とされる第３のＭＯＳスイッチと、キャパシタを入力信号線の電位遷移に伴う充放電によらず一定周期で充放電させるために、第１及び第２の制御信号線のそれぞれの電位の第１レベルの期間が互いに重複しないように第１及び第２の制御信号線の電位を周期的に第１レベルと第２レベルとの間で遷移させる制御回路とを具備する。
【００１８】
このように構成される本発明の論理素子は、入力信号線の電位遷移によらず一定の時間内で常に一定の電力を消費する。従って、この論理素子による組み合わせ回路を用いて暗号演算回路を実現すれば、入力信号線の電位すなわち入力データによらず常に一定の電力を消費するため、入力データによる消費電力の差を持たなくなる。従って、ＤＰＡにより秘密情報を取り出されるおそれのない暗号演算回路を実現することができる。
【００１９】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
（第１の実施形態）
図１は、本発明の第１の実施形態に係る演算素子として、ＸＯＲ（排他的論理和）演算を行う論理素子を示す。高電位側の第１の電源線１０と、低電位側の第２の電源線であるグランド２０との間に、第１のＭＯＳスイッチであるｎＭＯＳトランジスタ１１と第２のＭＯＳスイッチであるｐＭＯＳトランジスタ１２を直列に介して論理演算部１５が接続される。
【００２０】
論理演算部１５は、２つのｎＭＯＳトランジスタ１６，１８の直列回路と２つのｐＭＯＳトランジスタ１７，１９の直列回路との並列回路により構成される。トランジスタ１６，１７のドレイン端子は、トランジスタ１２のソース端子に共通に接続される。トランジスタ１６，１７のソース端子は、トランジスタ１８，１９のドレイン端子にそれぞれ接続される。トランジスタ１８，１９のソース端子は、グランド２０に接続される。トランジスタ１６，１７のゲート端子は第１の入力信号線２３に共通に接続され、トランジスタ１８，１９のゲート端子は第２の入力信号線２４に共通に接続される。
【００２１】
論理演算部１５の論理演算結果は出力信号線２５に出力され、出力信号線２５とグランド２０との間に接続されたキャパシタ１４に論理演算結果が電荷として保持される。キャパシタ１４は、素子として形成されるか、出力信号線２５の寄生容量によって実現されるか、あるいは素子としてのキャパシタと寄生容量の合成容量が用いられる。
【００２２】
一方、トランジスタ１１及び１２のゲート端子は、第１の制御信号線である充電制御信号線２１に接続される。出力信号線２５は、トランジスタ１１とトランジスタ１２との接続点に接続される。出力信号線２５とグランド２０との間に、すなわちキャパシタ１４に対して並列に第３のＭＯＳスイッチであるｎＭＯＳトランジスタ１３が接続される。トランジスタ１３のゲート端子は、第２の制御信号線である放電制御信号線２２に接続される。トランジスタ１１，１２，１３、充電制御信号線２１及び放電制御信号線２２は充放電回路を形成し、この充放電回路によってキャパシタ１４の充放電を行う。
【００２３】
タイミング制御回路２６は、暗号演算回路全体を同期させるための同期信号であるクロック信号ＣＬＫに従って、以下に説明するような条件を満たすように充電制御信号線１１及び放電制御信号線１２の電位を制御する。
【００２４】
充電制御信号線１１は、キャパシタ１４を充電するのに必要な時間“Ｈ”レベルであり、かつ論理素子の出力信号線２５を入力とする図示していないフリップフロップなどの記憶素子のセットアップ時間と、入力信号線２３，２４の演算結果により出力信号線２５の電位が安定する期間を考慮し、クロック信号ＣＬＫの立ち上がり時刻よりも前に“Ｌ”レベルに遷移するように、タイミング制御回路２６により制御される。
【００２５】
放電制御信号線１２は、キャパシタ１４の電荷を放電するのに必要な期間“Ｈ”レベルであり、かつ論理素子の出力信号２５を入力とする図示していないフリップフロップなどの記憶素子のホールド時間を満たした後、“Ｈ”レベルに遷移するように、タイミング制御回路２６により制御される。
【００２６】
さらにタイミング制御回路２６は、上記の充電制御信号線１１の“Ｈ”レベルの期間や“Ｌ”レベルへ遷移のタイミングと放電制御信号線１２の“Ｈ”レベルの期間や“Ｈ”レベルへの遷移のタイミングに加えて、充電制御信号線１１と放電制御信号線１２の“Ｈ”レベルの期間が重ならないように充電制御信号線１１と放電制御信号線１２の制御を行う。
【００２７】
図２に示すタイムチャートを用いて本実施形態による論理素子の動作を説明する。図２は、クロック信号ＣＬＫ、充電制御信号線２１及び放電制御信号線２２の電位φ１，φ２、入力信号線２３，２４の電位Ｉ１，Ｉ２及び出力信号線２５の電位Ｖｏの遷移を表している。入力信号線２１，２２の電位Ｉ１，Ｉ２は、クロック信号ＣＬＫと同期して遷移するものとする。図２において、Ｔ１，Ｔ２，Ｔ３，Ｔ４，…はクロック信号ＣＬＫに従って論理素子が周期的に充放電動作を行う単位動作期間を示している。
【００２８】
［期間Ｔ１］まず、図２の期間Ｔ１に示されるように、最初に出力信号線２５に接続されているキャパシタ１４に充電するために、クロック信号ＣＬＫの立ち上がり時刻ｔ０において充電制御信号線２１の電位φ１を“Ｈ”レベルとする。これによりトランジスタ１１は導通状態となり、電源線１０からトランジスタ１１を介してキャパシタ１４に電流が流れ、キャパシタ１４の充電が行われるため、出力信号線２５の電位Ｖｏは一旦“Ｈ”レベルとなる。
【００２９】
このキャパシタ１４への充電中に、もし充放電回路がキャパシタ１４から論理演算部１５へ電荷が通過させることが可能な状態になっているとすると、入力信号線２３，２４の電位によっては電源線１０とグランド２０との間が短絡する可能性がある。このような電源線１０とグランド２０間の短絡を防ぐため、本実施形態では充放電回路部においてトランジスタ１２を論理演算部１５側に挿入し、キャパシタ１４の充電中には、このトランジスタ１２を非導通状態とすることより、論理演算部１５へキャパシタ１４の電荷が流れないようにしている。
【００３０】
次に、時刻ｔ１においてキャパシタ１４に電荷が充電された後、充電制御信号線２１の電位φ１を“Ｌ”レベルとする。これによってトランジスタ１１は非導通状態となり、電源線１０から電流が流れ込まなくなる。一方、充電制御信号線２１の電位φ１が“Ｌ”レベルとなることによって、トランジスタ１２は導通状態となるから、このトランジスタ１２を介してキャパシタ１４の電荷を論理演算部１５に流すことができる。
【００３１】
論理演算部１５においては、入力信号線２３の電位Ｉ１に応じてｎＭＯＳトランジスタ１６及びｐＭＯＳトランジスタ１７のうち一方が導通状態、他方が非導通状態となる。同様に、入力信号線２４の電位Ｉ２に応じてｎＭＯＳトランジスタ１８及びｐＭＯＳトランジスタ１９のうち一方が導通状態、他方が非導通状態となる。二つのｎＭＯＳトランジスタ１６，１８の両方が導通状態、あるいは二つのｐＭＯＳトランジスタ１７，１９の両方が導通状態のとき、キャパシタ１４の電荷は論理演算部１５を通過してグランド２０に流れることが可能である。それ以外のとき、つまり二つのｎＭＯＳトランジスタ１６，１８のうちの一方が導通状態、他方が非導通状態で、かつ二つのｐＭＯＳトランジスタ１７，１９のうちの一方が導通状態、他方が非導通状態のときは、キャパシタ１４の電荷はグランド２０に流れ込むことはできない。
【００３２】
論理演算部１５が入力信号線２３，２４の電位Ｉ１，Ｉ２に従ってキャパシタ１４の電荷をグランド２０へ流すことが不可能な状態では、キャパシタ１４の電荷は保持されるために、出力信号線２５の電位Ｖｏが“Ｈ”レベルとなる。一方、論理演算部１５がキャパシタ１４の電荷をグランド２０へ流すことが可能な状態では、キャパシタ１４の電荷が論理演算部１５を通過してグランド２０に流れ込むことにより、出力信号線２５の電位Ｖｏは“Ｌ”レベルとなる。この後、クロック信号ＣＬＫが立ち上がった時刻ｔ２における出力信号線２５の電位Ｖｏは論理素子の出力値となる。
【００３３】
具体的に、図２の例では時刻ｔ１における入力信号線２３の電位Ｉ１は“Ｈ”レベル、入力信号線２４の電位Ｉ２は“Ｌ”レベルである。このとき、論理演算部１５においてはｎＭＯＳトランジスタ１６とｐＭＯＳトランジスタ１９が導通状態となり、ｎＭＯＳトランジスタ１８とｐＭＯＳトランジスタ１７は非導通状態である。従って、キャパシタ１４の電荷は論理演算部１５を通過することができないため、キャパシタ１４の電荷は保持され、時刻ｔ２でクロック信号ＣＬＫが立ち上がったときの出力信号線２５の電位Ｖｏは“Ｈ”レベルとなる。すなわち、Ｉ１＝“Ｈ”，Ｉ２＝“Ｌ”のときの論理演算結果はＶｏ＝“Ｈ”ということになり、ＸＯＲ演算素子の動作を満たす。
【００３４】
次に、上述のように時刻ｔ２でクロック信号ＣＬＫが立ち上がった後、時刻ｔ３において放電制御信号線２２の電位φ２が“Ｈ”レベルとされる。これによりｎＭＯＳトランジスタ１３が導通状態となり、キャパシタ１４の電荷はｎＭＯＳトランジスタ１３を通ってグランド２０に放電され、出力信号線２５の電位Ｖｏは“Ｌ”レベルとなる。
【００３５】
［期間Ｔ２］一方、図２の期間Ｔ２に示すように、クロック信号ＣＬＫの立ち下がり時刻でキャパシタ１４に充電が行われた後における入力信号線２３，２４の電位Ｉ１，Ｉ２がＩ１＝“Ｈ”，Ｉ２＝“Ｈ”のときは、ｎＭＯＳトランジスタ１６，１８が共に導通状態（ｐＭＯＳトランジスタ１７，１９は共に非導通状態）であるため、キャパシタ１４の電荷はｎＭＯＳトランジスタ１６，１８を通じてグランド２０に放電され、次にクロック信号ＣＬＫが立ち上がったときの出力信号線２５の電位Ｖｏは“Ｌ”レベルとなる。すなわち、Ｉ１＝“Ｈ”，Ｉ２＝“Ｈ”のときの論理演算結果はＶｏ＝“Ｌ”であり、ＸＯＲ演算素子の動作を満たす。
【００３６】
［期間Ｔ３］同様に、図２の期間Ｔ３に示すようにクロック信号ＣＬＫの立ち下がり時刻でキャパシタ１４に充電が行われた後における入力信号線２３，２４の電位Ｉ１，Ｉ２がＩ１＝“Ｌ”，Ｉ２＝“Ｌ”のときは、ｐＭＯＳトランジスタ１７，１９が共に導通状態（ｎＭＯＳトランジスタ１６，１８は共に非導通状態）であるため、キャパシタ１４の電荷はｐＭＯＳトランジスタ１７，１９を通じてグランド２０に放電され、次にクロック信号ＣＬＫが立ち上がったときの出力信号線２５の電位Ｖｏは、“Ｌ”レベルとなる。すなわち、Ｉ１＝“Ｈ”，Ｉ２＝“Ｈ”のときと同様に、Ｉ１＝“Ｌ”，Ｉ２＝“Ｌ”のときの論理演算結果はＶｏ＝“Ｌ”となり、ＸＯＲ演算素子の動作を満たす。
【００３７】
これらの場合も、次に放電制御信号線２２の電位φ２が“Ｈ”レベルとされ、ｎＭＯＳトランジスタ１３が導通状態となるが、キャパシタ１４の電荷は既に放電されているため、ｎＭＯＳトランジスタ１３が導通状態となっても、グランド２０に新たに放電されることはない。
【００３８】
［期間Ｔ４］次に、図２の期間Ｔ４に示すように、クロック信号ＣＬＫの立ち下がり時刻でキャパシタ１４に充電が行われた後における入力信号線２３，２４の電位Ｉ１，Ｉ２がＩ１＝“Ｌ”，Ｉ２＝“Ｈ”のときは、期間Ｔ１の場合とは逆に、ｎＭＯＳトランジスタ１６とｐＭＯＳトランジスタ１９が非導通状態、ｎＭＯＳトランジスタ１８とｐＭＯＳトランジスタ１７が導通状態となるが、この場合もキャパシタ１４の電荷は論理演算部１５を通過できず、キャパシタ１４の電荷は保持される。従って、次にクロック信号ＣＬＫが立ち上がったときの出力信号線２５の電位Ｖｏは“Ｈ”レベルとなる。すなわち、Ｉ１＝“Ｌ”，Ｉ２＝“Ｈ”のときの論理演算結果はＶｏ＝“Ｈ”となり、ＸＯＲ演算素子の動作を満たす。
【００３９】
次に、放電制御信号線２２の電位φ２が“Ｈ”レベルとされることによって、ｎＭＯＳトランジスタ１３が導通状態となり、キャパシタ１４の電荷はｎＭＯＳトランジスタ１３を通ってグランド２０に放電されるため、出力信号線２５の電位Ｖｏは“Ｌ”レベルとなる。
【００４０】
このようにＩ１＝“Ｈ”，Ｉ２＝“Ｌ”のとき（期間Ｔ１）及びＩ１＝“Ｌ”，Ｉ２＝“Ｈ”のとき（期間Ｔ４）の論理演算結果は、いずれもＶｏ＝“Ｈ”であり、Ｉ１＝“Ｈ”、Ｉ２＝“Ｈ”のとき（期間Ｔ２）及びＩ１＝“Ｌ”、Ｉ２＝“Ｌ”のとき（期間Ｔ３）の論理演算結果はいずれもＶｏ＝“Ｌ”となって、ＸＯＲ演算が可能となる。
【００４１】
以上述べたように、充電制御信号線２１及び放電制御信号線２２によるキャパシタ１４の充放電動作は、クロック信号ＣＬＫに同期して繰り返し行われる。すなわち、本実施形態の論理素子では、充電制御信号線２１の電位φ１の立ち上がり時刻から放電制御信号線２２の電位φ２の立ち上がり時刻までの各期間（Ｔ１，Ｔ２，Ｔ３，Ｔ４，…）において、入力信号線２３，２４の電位Ｉ１，Ｉ２の遷移状態によらず、すなわちＩ１，Ｉ２によるキャパシタ１４の充放電を含めてキャパシタ１４が常に１回の充電と１回の放電を行うため、常に一定の電力を消費する。
従って、本実施形態の論理素子を用いた組み合わせ回路により暗号演算回路を実現した場合、暗号演算回路の消費電力が常に一定であることから、その消費電力を監視しても暗号演算回路の内部の秘密情報を特定することはできないので、ＤＰＡに対する耐性が大きく向上する。
【００４２】
本実施形態では、論理演算部１５において二つのｎＭＯＳトランジスタの直列回路と二つのｐＭＯＳトランジスタの直列回路を並列に接続したが、直列に接続されるｎＭＯＳトランジスタ及びｐＭＯＳトランジスタの数をさらに増やすことにより、三入力以上のＸＯＲ演算を行う論理素子を実現することも可能である。
【００４３】
（第２の実施形態）
第１の実施形態では、ＸＯＲ素子を例に説明したが、論理演算部の回路構成を変えることにより、他の論理素子を実現することが可能である。
図３は、本発明の第２の実施形態に係る演算素子である二入力のＮＡＮＤ演算素子を示している。論理演算部３０は、直列に接続された二つのｎＭＯＳトランジスタ３１，３２を有する。すなわち、トランジスタ３１のドレイン端子は充放電回路における第３のＭＯＳスイッチであるｐＭＯＳトランジスタ１２のソース端子に接続され、トランジスタ３１のソース端子はトランジスタ３２のドレイン端子に接続され、トランジスタ３２のソース端子はグランド２０に接続される。トランジスタ３１，３２のゲート端子は、入力信号線Ｉ１，Ｉ２にそれぞれ接続される。
【００４４】
論理演算部３０において、入力信号線３３，３４の電位Ｉ１，Ｉ２が共にハイレベルのときは、トランジスタ３１，３２が共に導通状態となるため、キャパシタ１４の電荷がトランジスタ３１，３２を介してグランド２０に放電され、出力信号線２５の電位は“Ｌ”レベルとなる。一方、入力信号線３３，３４の電位Ｉ１，Ｉ２の少なくとも一方が“Ｌ”レベルのときには、トランジスタ３１，３２の少なくとも一方が非導通状態となるため、キャパシタ１４の電荷は保持され、出力信号線２５は“Ｈ”レベルとなる。
【００４５】
このように本実施形態によると、論理演算部３０において二つのｎＭＯＳトランジスタ３１，３２を直列に接続することにより、二入力のＮＡＮＤ演算を行う論理素子を実現することが可能となる。論理演算部において直列に接続されるｎＭＯＳトランジスタの数をさらに増やすことにより、三入力以上のＮＡＮＤ演算を行う論理素子を実現することも可能である。
【００４６】
（第３の実施形態）
図４は、本発明の第３の実施形態に係る論理素子として、ＡＮＤ演算を行う論理素子を示している。論理演算部４０は、並列に接続された二つのｐＭＯＳトランジスタ４１，４２を有する。トランジスタ４１，４２のドレイン端子は充放電回路における第３のＭＯＳスイッチであるｐＭＯＳトランジスタ１２のソース端子に共通に接続され、トランジスタ４１，４２のソース端子はグランド２０に接続される。トランジスタ４１，４２のゲート端子は、入力信号線４３，４４にそれぞれ接続される。
【００４７】
論理演算部４０において、入力信号線４３，４４の電位Ｉ１，Ｉ２の少なくとも一方が“Ｌ”レベルのときは、トランジスタ４１，４２の少なくとも一方が導通状態となり、キャパシタ１４の電荷がトランジスタ４１，４２のうち導通状態のトランジスタを介してグランド２０に放電されるため、出力信号線２５は“Ｌ”レベルとなる。一方、入力信号線４３，４４の電位Ｉ１，Ｉ２が共に“Ｈ”レベルのときには、トランジスタ４１，４２は共に非導通状態となるため、キャパシタ１４の電荷は保持され、出力信号線２５は“Ｈ”レベルとなる。
【００４８】
このように本実施形態の論理素子によると、論理演算部４０において二つのｐＭＯＳトランジスタ４１，４２を並列に接続することにより、二入力のＡＮＤ演算を行うことが可能となる。論理演算部において並列に接続されるｐＭＯＳトランジスタの数をさらに増やすことにより、三入力以上のＡＮＤ演算を行う論理素子を実現することも可能であることはいうまでもない。
【００４９】
（第４の実施形態）
図５に、本発明の第４の実施形態に係る論理素子として、二入力のＮＯＲ演算を行う論理素子を示す。論理演算部５０は、並列に接続された二つのｎＭＯＳトランジスタ５１，５２を有する。トランジスタ５１，５２のドレイン端子は充放電回路における第３のＭＯＳスイッチであるｐＭＯＳトランジスタ１２のソース端子に共通に接続され、トランジスタ５１，５２のソース端子はグランド２０に接続される。トランジスタ５１，５２のゲート端子は、入力信号線５３，５４にそれぞれ接続される。
【００５０】
論理演算部５０において、入力信号線５３，５４の電位Ｉ１，Ｉ２の少なくとも一方が“Ｈ”レベルのときは、トランジスタ５１，５２の少なくとも一方が導通状態となり、キャパシタ１４の電荷がトランジスタ５１，５２のうち導通状態にあるトランジスタを介してグランド２０に放電されるため、出力信号線２５は“Ｌ”レベルとなる。一方、入力信号線５３，５４の電位Ｉ１，Ｉ２が共に“Ｌ”レベルのときには、トランジスタ５１，５２は共に非導通状態となるため、キャパシタ１４の電荷は保持され、出力信号線２５は“Ｈ”レベルとなる。
【００５１】
このように本実施形態の論理素子では、論理演算部５０において二つのｎＭＯＳトランジスタ５１，５２を並列に接続することによって、二入力のＮＯＲ演算を行うことが可能となる。論理演算部において並列に接続されるｎＭＯＳトランジスタの数をさらに増やすことによって、三入力以上のＮＯＲ演算を行う論理素子を実現することも可能である。
【００５２】
（第５の実施形態）
図６は、本発明の第５の実施形態に係る論理素子として、二入力のＯＲ演算を行う論理素子を示している。論理演算部６０は、直列に接続された二つのｐＭＯＳトランジスタ６１，６２を有する。トランジスタ６１のドレイン端子は充放電回路における第３のＭＯＳスイッチであるｐＭＯＳトランジスタ１２のソース端子に接続され、トランジスタ６１のソース端子はトランジスタ６２のドレイン端子に接続され、トランジスタ６２のソース端子はグランド２０に接続される。トランジスタ６１，６２のゲート端子は、入力信号線６３，６４にそれぞれ接続される。
【００５３】
論理演算部６０において、入力信号線６３，６４の電位Ｉ１，Ｉ２が共に“Ｌ”レベルのときは、トランジスタ６１，６２が共に導通状態となり、キャパシタ１４の電荷がトランジスタ６１，６２を通じてグランド２０に放電されるため、出力信号線２５は“Ｌ”レベルとなる。一方、入力信号線６３，６４の電位Ｉ１，Ｉ２の少なくとも一方が“Ｈ”レベルのときには、トランジスタ６１，６２の少なくとも一方が非導通状態となるため、キャパシタ１４の電荷は保持され、出力信号線２５は“Ｈ”レベルとなる。
【００５４】
本実施形態の論理素子では、論理演算部６０において二つのｐＭＯＳトランジスタ６１，６２を直列に接続することにより、二入力のＯＲ演算を行うことが可能となる。論理演算部において直列に接続されるｐＭＯＳトランジスタの数をさらに増やすことにより、三入力以上のＯＲ演算を行う論理素子を実現することも可能である。
【００５５】
（第６の実施形態）
図７は、本発明の第６の実施形態としてＮＯＴ演算を行う論理素子を示している。論理演算部７０は、一つのｎＭＯＳトランジスタ７１のみで構成され、トランジスタ７１のドレイン端子は充放電回路における第３のＭＯＳスイッチであるｐＭＯＳトランジスタ１２のソース端子に接続され、トランジスタ７１のソース端子はグランド２０に接続される。トランジスタ７１のゲート端子は、入力信号線７２に接続される。
【００５６】
論理演算部７０において、入力信号線７２の電位がＩ１が“Ｌ”レベルのときは、ＭＯＳトランジスタ７１が非導通状態であるため、キャパシタ１４の電荷は保持され、出力信号線２５は“Ｈ”レベルとなる。一方、入力信号線７２の電位Ｉ１が“Ｈ”レベルのときは、トランジスタ７１が共に導通状態となり、キャパシタ１４の電荷がトランジスタ７１を介してグランド２０に放電されるため、出力信号線２５は“Ｌ”レベルとなる。
このように論理演算部７０を一つのｎＭＯＳトランジスタ７１によって構成することにより、ＮＯＴ演算を行う論理素子を実現することができる。
【００５７】
以上の第２〜第６の実施形態において、充放電回路の動作は基本的に第１の実施形態と同様であり、論理演算部の動作に関係なくキャパシタ１４の充放電を一定周期で繰り返す。すなわち、充電制御信号線２１の電位φ１の立ち上がり時刻から放電制御信号線２２の電位φ２の立ち上がり時刻までの期間において、論理演算部の入力信号線の電位の遷移状態によらず、キャパシタ１４は常に１回の充電と１回の放電を行うことにより、論理素子は常に一定の電力を消費するように動作する。
【００５８】
【発明の効果】
以上説明したように、本発明による論理素子は、論理演算部の入力信号線の電位遷移によらず、出力信号線に接続されているキャパシタの充放電を一定周期で行うことにより、予め決められた期間において常に一定の電力を消費するように動作する。従って、本発明による論理素子を暗号演算回路の組み合わせ回路に適用することにより、暗号演算回路の消費電力を入力データに依存せずに常に一定に保ち、ＤＰＡに対して耐性を有する暗号演算回路を実現することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係るＸＯＲ演算を行う論理素子の構成を示す回路図
【図２】図１の論理素子の動作を説明するためのタイミングチャート
【図３】本発明の第２の実施形態に係るＮＡＮＤ演算を行う論理素子の構成を示す回路図
【図４】本発明の第３の実施形態に係るＡＮＤ演算を行う論理素子の構成を示す回路図
【図５】本発明の第４の実施形態に係るＮＯＲ演算を行う論理素子の構成を示す回路図
【図６】本発明の第５の実施形態に係るＯＲ演算を行う論理素子の構成を示す回路図
【図７】本発明の第６の実施形態に係るＮＯＴ演算を行う論理素子の構成を示す回路図
【図８】ＣＭＯＳデバイスを用いた一般的なＡＮＤ演算を行う論理素子の構成を示す回路図
【符号の説明】
１０…電源線（第１の電源線）
１１…ｎＭＯＳトランジスタ（第１のＭＯＳスイッチ）
１２…ｐＭＯＳトランジスタ（第２のＭＯＳスイッチ）
１３…ｎＭＯＳトランジスタ（第３のＭＯＳスイッチ）
１４…キャパシタ
１５…論理演算部
１６，１８…ｎＭＯＳトランジスタ
１７，１９…ｐＭＯＳトランジスタ
２０…グランド（第２の電源線）
２１…充電制御信号線（第１の制御信号線）
２２…放電制御信号線（第２の制御信号線）
２３…第１の入力信号線
２４…第２の入力信号線
２５…出力信号線
２６…タイミング制御回路
３０…論理演算部
３１，３２…ｎＭＯＳトランジスタ
３３，３４…第１及び第２の入力信号線
４０…論理演算部
４１，４２…ｎＭＯＳトランジスタ
４３，４４…第１及び第２の入力信号線
５０…論理演算部
５１，５２…ｎＭＯＳトランジスタ
５３，５４…第１及び第２の入力信号線
６０…論理演算部
６１…ｎＭＯＳトランジスタ
６３…入力信号線
７０…論理演算部
７１，７２…ｎＭＯＳトランジスタ
７３，７４…第１及び第２の入力信号線
【図１】
2004040244.tif 000003
【図２】
2004040244.tif 000004
【図３】
2004040244.tif 000005
【図４】
2004040244.tif 000006
【図５】
2004040244.tif 000007
【図６】
2004040244.tif 000008
【図７】
2004040244.tif 000009
【図８】
2004040244.tif 000010