(57)【要約】【課題】  消費電力が小さいＲＳＬ回路を用いた論理回路、暗号演算回路を実現する。【解決手段】  確率１／２で１または０の値をとる乱数に応じてＮＡＮＤ／ＮＯＲとして動作するＲＳＬ回路と、このＲＳＬ回路が電源およびＧＮＤとスイッチトランジスタを介して接続されるマスター部と、第１のインバータ回路が電源およびＧＮＤとスイッチトランジスタを介して接続され、当該スイッチトランジスタを制御信号を反転させた信号を用いて電源およびＧＮＤと導通状態または非導通状態に切り替えるスレーブ部と、マスター部とスレーブ部とを接続する第２のインバータ回路と、スレーブ部の出力をマスター部の出力に接続する手段とを備え、ＲＳＬ回路の入力信号が最終値に確定するまでの間は、マスター部のスイッチトランジスタが非導通状態、スレーブ部のスイッチトランジスタが導通状態になり、１クロック前のスレーブ部の出力を取り出す構成である。【選択図】        図１
2009253753.tif 000002
【特許請求の範囲】
【請求項１】
確率１／２で１または０の値をとる乱数に応じてＮＡＮＤ回路またはＮＯＲ回路として動作するＲＳＬ回路と、このＲＳＬ回路が電源およびＧＮＤとスイッチトランジスタを介して接続され、当該スイッチトランジスタを制御信号を用いて電源およびＧＮＤと導通状態または非導通状態に切り替えるマスター部と、
第１のインバータ回路が電源およびＧＮＤとスイッチトランジスタを介して接続され、当該スイッチトランジスタを前記制御信号を反転させた信号を用いて電源およびＧＮＤと導通状態または非導通状態に切り替えるスレーブ部と、
前記マスター部と前記スレーブ部とを接続する第２のインバータ回路と、
前記スレーブ部の出力を前記マスター部の出力に接続する手段とを備え、
前記ＲＳＬ回路の入力信号が最終値に確定するまでの間は、前記マスター部のスイッチトランジスタが非導通状態、前記スレーブ部のスイッチトランジスタが導通状態になり、前記ＲＳＬ回路の入力信号が最終値に確定した後は、前記マスター部のスイッチトランジスタが導通状態、前記スレーブ部のスイッチトランジスタが非導通状態になるように前記制御信号を設定し、前記マスター部のスイッチトランジスタが非導通状態のときに１クロック前の前記スレーブ部の出力を取り出す構成である
ことを特徴とする論理回路。
【請求項２】
請求項１に記載の論理回路を複数段接続して構成され、１クロックごとに前記乱数を生成する乱数生成器から各段の論理回路へ乱数を与える暗号演算回路であって、
前クロック時の乱数を保持するレジスタを有し、複数ラウンドの処理のために最終段の論理回路の出力を初段の論理回路に接続するとともに、２ラウンド目以降に新しい乱数と前記レジスタに保持された前クロック時の乱数との排他的論理和をとった値で乱数マスクを行う手段と、
最終ラウンドで最終段の論理回路の出力と最終ラウンドの乱数と排他的論理和をとって乱数マスクを除去した値を出力する手段と、
各段の論理回路ごとに、それぞれの出力値が最終値に確定した後に次段の論理回路のマスター部が導通状態となるように次段の論理回路に制御信号を与える制御信号生成部と
を備えたことを特徴とする暗号演算回路。  
【請求項３】
請求項１に記載の論理回路を偶数段または奇数段接続して構成され、１クロックごとに前記乱数を生成する乱数生成器から各段の論理回路へ乱数を与える暗号演算回路であって、
前記各段の論理回路へ前記乱数を与えるための乱数値保持用のラッチ回路を有し、奇数段の論理回路の制御信号および偶数段のラッチ回路の制御信号としてクロック信号を与え、偶数段の論理回路の制御信号および奇数段のラッチ回路の制御信号として反転クロック信号を与える手段と、
複数ラウンドの処理のために最終段の論理回路の出力を初段の論理回路に接続するとともに、２ラウンド目以降に新しい乱数と前記レジスタに保持された前クロック時の乱数との排他的論理和をとった値で乱数マスクを行う手段と、
最終ラウンドで最終段の論理回路の出力と最終段のラッチ回路の乱数と排他的論理和をとって乱数マスクを除去した値を出力する手段と
を備えたことを特徴とする暗号演算回路。  
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号演算回路の消費電力の差分を統計処理することで暗号を解読する電力解析（ＤＰＡ：Differential Power Analysis)攻撃を防ぐＲＳＬ(Random Switch Logic) 回路として用いられる論理回路および暗号演算回路に関する。
【背景技術】
【０００２】
近年、ＤＰＡ攻撃に対して種々の回路的な対策が提案されている。非特許文献１では、乱数を用いて論理回路の動作モードを切り替えることにより状態遷移確率の偏りをなくし、消費電力を暗号鍵に依存しないように均一化するＲＳＬ回路を提案している。ＲＳＬ回路は、秘密情報と消費電力パターンとの相関がなくなるため、ＤＰＡ攻撃に対して有効な対策とされている。
【０００３】
図６は、従来の論理回路（ＲＳＬ回路）の構成例を示す（非特許文献１）。ここに示す構成例は、ＣＭＯＳによる一般的な２入力ＮＡＮＤ回路と２入力ＮＯＲ回路を乱数ｒを用いて切り替えるＲＳＬ回路である。
【０００４】
ＮＡＮＤ回路は、電源ＶＤＤとＧＮＤとの間に電源側から順に、並列接続のＰＭＯＳトランジスタＰ１，Ｐ２と、ＰＭＯＳトランジスタＰ５と、直列接続のＮＭＯＳトランジスタＮ１，Ｎ２を接続して構成される。ＮＯＲ回路は、電源ＶＤＤとＧＮＤとの間に電源側から順に、直列接続のＰＭＯＳトランジスタＰ３，Ｐ４と、並列接続のＮＭＯＳトランジスタＮ３，Ｎ４と、ＮＭＯＳトランジスタＮ５を接続して構成される。Ｐ１，Ｎ１，Ｐ３，Ｎ３に入力信号Ａを入力し、Ｐ２，Ｎ２，Ｐ４，Ｎ４に入力信号Ｂを入力し、Ｐ５，Ｎ５に乱数ｒを入力し、Ｐ５とＮ１との間およびＰ４とＮ３，Ｎ４との間から共通の出力Ｚを取り出す。乱数ｒは、確率１／２で０（＝Ｌ）または１（＝Ｈ）の値をランダムにとることにより、Ｐ５とＮ５が相補的にオンになり、ｒ＝０でＮＡＮＤ回路、ｒ＝１でＮＯＲ回路となる。
【０００５】
また、電源側にＰＭＯＳトランジスタＰ６、出力端子とＧＮＤとの間にＮＭＯＳトランジスタＮ６を接続し、制御信号で相補的に導通、非導通を制御する。すなわち、論理回路へ入力する入力信号Ａ，Ｂおよび乱数ｒが確定するまでは制御信号をＨとし、Ｐ６を非導通状態にし，ＧＮＤ側のＮ６を導通状態にして論理回路の出力ＺをＬに固定する。入力信号Ａ，Ｂおよび乱数ｒが確定した後に制御信号をＨからＬに遷移させると、Ｐ６が導通状態になり，ＧＮＤ側のＮ６が非導通状態になり、論理回路が通常に動作して乱数ｒに応じた出力Ｚを得る。出力Ｚは、制御信号がＬのときに、
Ｚ＝ (ｘ1<+>ｒ)*(ｘ2<+>ｒ) <+>ｒ
となる。ここで、<+> は排他的論理和（ＥＸＯＲ）、* は論理積（ＡＮＤ）、下線は否定（ＮＯＴ）を示す。すなわち、制御信号がＬのときの出力Ｚは、乱数ｒに応じて
ｒ＝０：Ｚ＝ＮＡＮＤ（Ａ，Ｂ）
ｒ＝１：Ｚ＝  ＮＯＲ（Ａ，Ｂ）
となる。
【０００６】
このように、乱数ｒに応じて確率１／２でＮＡＮＤ回路またはＮＯＲ回路として動作するので、出力Ｚの遷移に偏りがなくなり、消費電力が均等化する。
【０００７】
また、制御信号は、入力信号Ａ，Ｂおよび乱数ｒが確定した後に、論理回路がアクティブになるように制御されるため、入力信号のマスク解除、論理値の演算、演算結果の再マスク化という一連の処理結果を中間的な段階を経ることなく出力Ｌが得られる。これにより、乱数ｒや入力信号Ａ，Ｂに過渡的な遷移がある場合でも、情報リークの要因となるグリッチやハザードの発生を回避し、情報リークを未然に防ぐことができる。次クロックでは、一旦制御信号をＨとすることにより出力ＺをＬに落とし、再び上記の動作を繰り返す。
【０００８】
また、ＤＰＡ攻撃に強い暗号演算回路は、１クロックごとに乱数を生成する乱数生成器と、レジスタ間に複数段の論理回路を備え、各段の論理回路として図６に示すＲＳＬ回路を適用する構成となる（非特許文献１，２）。
【非特許文献１】D.Suzuki, et al.,"Random Switching Logic: A New Countermeasure against DPA and Second-Order DPA at the Logic Level",IEICE TRANS. FUNDAMENTALS, vol.E90-A,No.1 January 2007,pp.160-168
【非特許文献２】鈴木大輔他、「遷移確率を考慮したＤＰＡ対策手法の提案」、情報処理学会研究報告、2004-CSEC-26(47)、2004/7/21 、pp.321-328
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、図６に示す従来のＲＳＬ回路では、出力ＺがＨであって、次クロックでも遷移せずにＨ状態になる場合、例えば２入力ＮＡＮＤ回路の入力信号（Ａ，Ｂ）が（Ｈ，Ｌ）から（Ｌ，Ｈ）に遷移する場合でも、上記のように１クロックごとに制御信号がＨとなる。そのため、ＧＮＤ側のＮ６が導通し、Ｎ６を介して電荷がＧＮＤに放電して出力ＺがＬとなり、電力が消費されていた。すなわち、従来のＲＳＬ回路は、ＤＰＡ攻撃への防御性はあるものの電力消費量が大きい問題があった。
【００１０】
また、論理回路を多段構成する暗号演算回路では、格段のＲＳＬ回路ごとにタイミングを微小にずらした制御信号を生成する必要があった。特に、論理段数の多い共通鍵暗号等の暗号演算回路では、微小な遅延時間差をもたせながら制御信号をきめ細かい粒度で生成する必要があった。そのため、制御信号生成のタイミング設計の難易度が高くなる問題があった。
【００１１】
本発明は、消費電力が小さいＲＳＬ回路を用いた論理回路、また消費電力が小さい暗号演算回路、また制御信号のタイミング設計が容易な暗号演算回路を提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１の発明の論理回路は、確率１／２で１または０の値をとる乱数に応じてＮＡＮＤ回路またはＮＯＲ回路として動作するＲＳＬ回路と、このＲＳＬ回路が電源およびＧＮＤとスイッチトランジスタを介して接続され、当該スイッチトランジスタを制御信号を用いて電源およびＧＮＤと導通状態または非導通状態に切り替えるマスター部と、第１のインバータ回路が電源およびＧＮＤとスイッチトランジスタを介して接続され、当該スイッチトランジスタを制御信号を反転させた信号を用いて電源およびＧＮＤと導通状態または非導通状態に切り替えるスレーブ部と、マスター部とスレーブ部とを接続する第２のインバータ回路と、スレーブ部の出力をマスター部の出力に接続する手段とを備え、ＲＳＬ回路の入力信号が最終値に確定するまでの間は、マスター部のスイッチトランジスタが非導通状態、スレーブ部のスイッチトランジスタが導通状態になり、ＲＳＬ回路の入力信号が最終値に確定した後は、マスター部のスイッチトランジスタが導通状態、スレーブ部のスイッチトランジスタが非導通状態になるように制御信号を設定し、マスター部のスイッチトランジスタが非導通状態のときに１クロック前のスレーブ部の出力を取り出す構成である。
【００１３】
第２の発明は、第１の発明の論理回路を複数段接続して構成され、１クロックごとに乱数を生成する乱数生成器から各段の論理回路へ乱数を与える暗号演算回路であって、前クロック時の乱数を保持するレジスタを有し、複数ラウンドの処理のために最終段の論理回路の出力を初段の論理回路に接続するとともに、２ラウンド目以降に新しい乱数とレジスタに保持された前クロック時の乱数との排他的論理和をとった値で乱数マスクを行う手段と、最終ラウンドで最終段の論理回路の出力と最終ラウンドの乱数と排他的論理和をとって乱数マスクを除去した値を出力する手段と、各段の論理回路ごとに、それぞれの出力値が最終値に確定した後に次段の論理回路のマスター部が導通状態となるように次段の論理回路に制御信号を与える制御信号生成部とを備える。
【００１４】
第３の発明は、第１の発明の論理回路を偶数段または奇数段接続して構成され、１クロックごとに乱数を生成する乱数生成器から各段の論理回路へ乱数を与える暗号演算回路であって、各段の論理回路へ乱数を与えるための乱数値保持用のラッチ回路を有し、奇数段の論理回路の制御信号および偶数段のラッチ回路の制御信号としてクロック信号を与え、偶数段の論理回路の制御信号および奇数段のラッチ回路の制御信号として反転クロック信号を与える手段と、複数ラウンドの処理のために最終段の論理回路の出力を初段の論理回路に接続するとともに、２ラウンド目以降に新しい乱数とレジスタに保持された前クロック時の乱数との排他的論理和をとった値で乱数マスクを行う手段と、最終ラウンドで最終段の論理回路の出力と最終段のラッチ回路の乱数と排他的論理和をとって乱数マスクを除去した値を出力する手段とを備える。
【発明の効果】
【００１５】
本発明の論理回路は、ＲＳＬ回路を含むマスター部とスレーブ部とを用いてデータ保持機能を実現し、論理回路の出力値がＨのまま変化しない場合に充放電動作を回避し、信号遷移に伴う無駄な電力消費を回避して消費電力を低減することができる。
【００１６】
また、本発明の論理回路を多段接続して暗号演算回路を構成することにより、各論理回路における信号遷移に伴う無駄な電力消費を回避し、暗号演算回路としての消費電力を低減することができる。
【００１７】
また、本発明の論理回路を多段接続し、さらに１ラウンド２相クロックを用いてパイプライン処理する暗号演算回路を構成することにより、消費電力の低減とともに、従来のＲＳＬ回路を用いた暗号演算回路で必要であったタイミング設計の難易度の高い複雑な制御信号生成回路が不要となり、設計難易度を下げて確実な動作が可能となる。
【発明を実施するための最良の形態】
【００１８】
（論理回路の実施形態）
図１は、本発明の論理回路の実施形態を示す。
図において、本実施形態の論理回路は、入力信号Ａ，Ｂおよび乱数ｒが確定した後のアクティブ時にＲＳＬ回路として動作するマスター部と、入力信号Ａ，Ｂおよび乱数ｒが確定するまでのスタンバイ時にマスター部の出力Ｚのデータ保持を行うスレーブ部から構成される。ここでは、ＣＭＯＳによる一般的な２入力ＮＡＮＤ回路と２入力ＮＯＲ回路を乱数ｒを用いて切り替えるＲＳＬ回路を例に説明する。
【００１９】
マスター部のＮＡＮＤ回路は、電源ＶＤＤとＧＮＤとの間に電源側から順に、並列接続のＰＭＯＳトランジスタＰ１，Ｐ２と、ＰＭＯＳトランジスタＰ５と、直列接続のＮＭＯＳトランジスタＮ１，Ｎ２を接続して構成される。ＮＯＲ回路は、電源ＶＤＤとＧＮＤとの間に電源側から順に、直列接続のＰＭＯＳトランジスタＰ３，Ｐ４と、並列接続のＮＭＯＳトランジスタＮ３，Ｎ４と、ＮＭＯＳトランジスタＮ５を接続して構成される。Ｐ１，Ｎ１，Ｐ３，Ｎ３に入力信号Ａを入力し、Ｐ２，Ｎ２，Ｐ４，Ｎ４に入力信号Ｂを入力し、Ｐ５，Ｎ５に乱数ｒを入力し、Ｐ５とＮ１との間およびＰ４とＮ３，Ｎ４との間から共通の出力Ｚを取り出す。乱数ｒは、確率１／２で０（＝Ｌ）または１（＝Ｈ）の値をランダムにとることにより、Ｐ５とＮ５が相補的にオンになり、ｒ＝０でＮＡＮＤ回路、ｒ＝１でＮＯＲ回路となる。以上の構成は、従来のＲＳＬ回路と共通である。
【００２０】
本実施形態のマスター部は、以上のＮＡＮＤ回路およびＮＯＲ回路と電源ＶＤＤとの間にＰＭＯＳトランジスタＰ６を接続し、ＧＮＤとの間にＮＭＯＳトランジスタＮ６を接続し、制御信号をＰ６のゲートに入力し、インバータ回路１で反転した制御信号をＮ６のゲートに入力し、制御信号のＨ，Ｌに応じてＰ６，Ｎ６を同時にオフまたはオンに設定する構成である。
【００２１】
マスター部は、入力信号Ａ，Ｂと乱数ｒが確定する前の過渡的状態では、制御信号をＨとしてＰ６，Ｎ６をオフとし、入力信号Ａ，Ｂと乱数ｒが過渡的に変化しても無駄なスイッチング電流が流れたりグリッチやハザードが発生することがないように制御する。また、入力信号Ａ，Ｂと乱数ｒが確定した後に制御信号をＬとし、Ｐ６，Ｎ６をオンにしてマスター部をアクティブにすることにより、乱数ｒに応じてＮＡＮＤ回路またはＮＯＲ回路として動作するＲＳＬ回路となる。
【００２２】
スレーブ部は、ＰＭＯＳトランジスタＰ７とＮＭＯＳトランジスタＮ７を接続した一般的なＣＭＯＳ構成のインバータ回路と、電源ＶＤＤとの間にＰＭＯＳトランジスタＰ８を接続し、ＧＮＤとの間にＮＭＯＳトランジスタＮ８を接続し、制御信号をＮ８のゲートに入力し、インバータ回路１で反転した制御信号をＰ８のゲートに入力し、制御信号のＨ，Ｌに応じてＰ８，Ｎ８を同時にオンまたはオフに設定する構成である。
【００２３】
マスター部の出力Ｚは、インバータ回路２を介してスレーブ部に接続され、スレーブ部の出力はマスター部の出力（インバータ回路２の入力）に接続されるとともに、本実施形態の論理回路の出力Ｚとして次段の論理回路の入力となる。
【００２４】
ここで、スレーブ部は、制御信号によってマスター部と逆相で制御される。すなわち、制御信号がＬで、Ｐ６，Ｎ６がオンでマスター部がアクティブ時は、Ｐ８，Ｎ８がオフでスレーブ部が非アクティブとなり、制御信号がＨで、Ｐ８，Ｎ８がオンでスレーブ部がアクティブ時は、Ｐ６，Ｎ６がオフでマスター部が非アクティブとなる。したがって、マスター部の入力信号Ａ，Ｂと乱数ｒが確定する前の過渡的状態でマスター部が非アクティブの時は、スレーブ部がアクティブで１クロック前のマスター部の出力を保持することにより、次クロックで同一値が出力される場合には、新たに電荷を充電することなく前クロックで出力した値を再度出力することができる。このような状況は、例えば２入力ＮＡＮＤ回路の入力信号（Ａ，Ｂ）が（Ｈ，Ｌ）から（Ｌ，Ｈ）に遷移する場合に発生するが、入力信号が変化しても出力信号はＬになることなくＨを維持することができる。このように、前クロック時に充電した電荷を次クロック時の演算結果出力として再利用することができるので、消費電力の削減が可能となる。
【００２５】
（暗号演算回路の第１の実施形態）
図２は、本発明の暗号演算回路の第１の実施形態を示す。ここでは、図１に示す論理回路１０を複数段接続し、暗号演算１ラウンドを１クロックで実行する暗号演算回路の例を示す。
【００２６】
図において、乱数生成器１１は、１クロックごとに１ビットの乱数を生成し、各段の論理回路１０へ入力する。レジスタ１２は１クロック前の乱数を保持する。入力信号（平文）は、セレクタ１３を介してＥＸＯＲ１４に入力され、乱数との排他的論理和により乱数マスクして初段の論理回路１０に入力され、以下各段の論理回路１０を介して最終段の論理回路１０に入力される。各段の論理回路１０には、制御信号生成部１５からそれぞれタイミング調整された制御信号e1〜enが入力する。なお、各段の論理回路１０は多面構成になっているが、ここでは簡略化して記載している。最終段の論理回路１０の出力は、ＥＸＯＲ１６を介してレジスタ１７に保持される。レジスタ１７の出力は、出力信号（暗号文）となるとともに、複数ラウンドの処理を行うためにセレクタ１３を介して初段の論理回路１０に入力する。このとき、２ラウンド目以降の新しい乱数とレジスタ１２に保持された前クロック時の乱数がＥＸＯＲ１８で排他的論理和がとられ、その値がＥＸＯＲ１４で乱数マスクに用いられる。セレクタ１３は、所定のラウンド数が終了するまでレジスタ１７の出力を選択する。最終ラウンド時は、ＡＮＤ１９を介して乱数がＥＸＯＲ１６に入力され、ＥＸＯＲ１６で最終段の論理回路１０の出力と乱数との排他的論理和をとって乱数マスクが除去された値が出力される。
【００２７】
図３は、本発明の暗号演算回路の第１の実施形態の動作例を示す。
従来のＲＳＬ回路を用いた暗号演算回路と同様に、１クロック内で、前段の論理回路（ＲＳＬ回路）の出力が最終値に確定しない間は、制御信号がＨでマスター部が非アクティブ、スレーブ部がアクティブな状態に制御される。マスター部が非アクティブであるため、入力信号の過渡的な遷移の影響はここで除去される。前段の論理回路の出力が最終値に確定後に制御信号がＬとなりマスター部がアクティブとなるよう制御される。次段の論理回路の制御信号も前段の値が確定した後Ｌとなるように一定の時間差をもって制御される。このように、従来と同じ制御信号を用いながら、各段の論理回路は１クロック前の値を保持できる。したがって、論理回路の出力値がＨのまま遷移しない場合は余分な電力を消費することがないので、従来のＲＳＬ回路を用いた暗号演算回路に比較して低消費電力化が可能となる。
【００２８】
（暗号演算回路の第２の実施形態）
図４は、本発明の暗号演算回路の第２の実施形態を示す。ここでは、図１に示す論理回路１０を複数段接続し、暗号演算１ラウンドを２相クロックを用いてパイプライン処理する暗号演算回路の例を示す。
【００２９】
図において、２ｎ段の論理回路１０、乱数生成器１１、セレクタ１３、ＥＸＯＲ１４，１６，１８、ＡＮＤ１９は、第１の実施形態と同様のものである。本実施形態では、暗号演算全体の論理段数が偶数段であるとしているが、奇数段であってもよい。第１の実施形態の場合と同様に、１ビットの乱数生成器１１で１クロック毎に乱数を新規に生成する。
【００３０】
本実施形態の構成では、偶数段または奇数段からなる論理回路１０に付随した乱数保持用のラッチ回路２１と、さらに最終段のラッチ回路に接続されるラッチ回路２２を備える。乱数は論理回路１０の演算値と並行して半クロックごとにラッチ回路２１，２２をシフト移動していく。論理回路１０に入力する乱数として、それぞれ対応するラッチ回路２１の値が用いられる。ここで、ラッチ回路２１とは、図１に示す論理回路１０のマスター部に通常のＣＭＯＳインバータ構成の回路を適用し、ラッチ機能を実現したものである。
【００３１】
図５は、本発明の暗号演算回路の第２の実施形態の動作例を示す。
論理回路および乱数保持用のラッチ回路のマスター部およびスレーブ部の動作を切替える制御信号として、クロック信号ＣＬＫ、反転クロック信号ＣＬＫを次のように用いる。奇数段の論理回路の制御信号としてクロック信号ＣＬＫを用い、偶数段の論理回路の制御信号として反転クロック信号ＣＬＫを用いる。また、奇数段のラッチ回路の制御信号として反転クロック信号ＣＬＫを用い、偶数段のラッチ回路の制御信号としてクロック信号ＣＬＫを用いる。このように制御信号を与えることにより、奇数段と偶数段はアクティブ状態と非アクティブ状態が半クロック時間で入れ替わるように動作し、半クロック周期で演算データと乱数が次段論理回路へシフトしていく。この際に、前段の論理回路の値が最終値に確定後に余裕をもって次段論理回路のマスター部がアクティブとなるよう、クロック周期（動作周波数）を設定する。
【００３２】
また、複数のラウンド処理を行えるよう最終段の論理回路出力は初段に戻る構成であり、２ラウンド目以降の新しい乱数と、最後のラッチ回路に保持された前ラウンド最終段の論理回路に用いられた乱数との排他的論理和をとった値が乱数マスクに用いられる。また、最終ラウンド時は、最終段の論理回路に用いられた乱数と排他的論理和をとって乱数マスクが除去された値が出力される。
【００３３】
第１の実施形態と同様に、論理回路の出力値が遷移しない場合は保持しておいた値を論理回路の出力値として用いることができるため、論理回路出力がＨの状態からＨの状態に遷移するようなケースにおいても、余分な電力を消費することがなく低消費電力化が可能となる。
【００３４】
さらに、本実施形態は、制御信号としてクロック信号とその反転信号の２相を利用できる構成である。このため、従来のＲＳＬ回路を用いた暗号演算回路、あるいは第１の実施形態の暗号演算回路のような１クロック内できめ細かい粒度で制御信号のタイミング設計を行うといった難易度の高い複雑な制御信号生成回路が不要となる。
【００３５】
なお、本実施形態では全体の論理段数が偶数段の論理の場合を示しているが、奇数段の場合も予備のラッチにクロックの反転信号を与える点以外は基本的に偶数段の場合と同じ構成となる。
【図面の簡単な説明】
【００３６】
【図１】本発明の論理回路の実施形態を示す図。
【図２】本発明の暗号演算回路の第１の実施形態を示す図。
【図３】本発明の暗号演算回路の第１の実施形態の動作例を示すタイムチャート。
【図４】本発明の暗号演算回路の第２の実施形態を示す図。
【図５】本発明の暗号演算回路の第２の実施形態の動作例を示すタイムチャート。
【図６】従来の論理回路（ＲＳＬ回路）の構成例を示す図。
【符号の説明】
【００３７】
Ｐ１〜Ｐ８  ＰＭＯＳトランジスタ
Ｎ１〜Ｎ８  ＮＭＯＳトランジスタ
１，２  インバータ回路
１０  論理回路
１１  乱数生成器
１２  レジスタ（乱数保持用）
１３  セレクタ
１４，１６，１８  ＥＸＯＲ
１５  制御信号生成部
１７  レジスタ
１９  ＡＮＤ
２１，２２  ラッチ回路
【図１】
2009253753.tif 000003
【図２】
2009253753.tif 000004
【図３】
2009253753.tif 000005
【図４】
2009253753.tif 000006
【図５】
2009253753.tif 000007
【図６】
2009253753.tif 000008