演算回路から連続して出力される出力信号を入力し、入力した出力信号を遅延させ、遅延後の出力信号を遅延信号として出力する遅延部と、前記演算回路から出力信号を入力するとともに、前記演算回路からの出力信号の入力に並行して前記遅延部から遅延信号を入力し、同じタイミングで入力した出力信号と遅延信号との間で信号値を比較し、比較した出力信号と遅延信号の信号値が一致していることを通知する一致信号及び比較した出力信号と遅延信号の信号値が不一致であることを通知する不一致信号のいずれかを比較結果信号として出力する比較部と、クロック信号を入力するとともに、クロック信号の入力に並行して前記比較部から比較結果信号を入力し、クロックの立ち上がりタイミング及びクロックの立ち下がりタイミングの少なくともいずれかである判別タイミングが到来する度に、判別タイミングにおいて並行して入力した比較結果信号が一致信号及び不一致信号のいずれであるかを判別する判別部と、前記演算回路から出力信号を入力するとともに、前記判別部が判別タイミングにおいて一致信号を入力している場合は、前記演算回路からの出力信号を出力し、前記判別部が判別タイミングにおいて不一致信号を入力した後は、前記演算回路からの出力信号に代えて特定の固定値を出力する出力部とを有することを特徴とする信号処理装置。前記遅延部は、同じ信号値が維持されている確定状態の出力信号と信号値が一定していない不確定状態の出力信号とを前記演算回路から入力し、前記比較部が前記演算回路から確定状態の出力信号を入力している間に確定状態の出力信号の遅延信号を並行して入力できる遅延量にて、前記演算回路からの出力信号を遅延させ、前記比較部は、前記演算回路からの確定状態の出力信号の入力に並行して前記遅延部から確定状態の出力信号の遅延信号を入力しているときは、前記演算回路からの確定状態の出力信号の信号値と前記遅延部からの確定状態の出力信号の遅延信号の信号値とが一致し、前記比較結果信号として一致信号を出力することを特徴とする請求項1に記載の信号処理装置。前記判別部は、正常なクロック周期に従った正常クロックの判別タイミングにおいて、前記演算回路からの確定状態の出力信号の入力に並行して前記遅延部から確定状態の出力信号の遅延信号を入力した結果、前記比較部が出力した一致信号を入力し、正常なクロック周期から外れた不正クロックの判別タイミングにおいて、前記演算回路からの確定状態の出力信号又は不確定状態の出力信号の入力に並行して前記遅延部から不確定状態の出力信号の遅延信号を入力した結果、前記比較部が出力した不一致信号、及び、前記演算回路からの不確定状態の出力信号の入力に並行して前記遅延部から確定状態の出力信号の遅延信号を入力した結果、前記比較部が出力した不一致信号のいずれかを入力し、前記出力部は、前記判別部が入力するクロック信号において正常クロックが維持されている結果、前記判別部が判別タイミングにおいて一致信号を入力している間は、前記演算回路からの出力信号を出力し、前記判別部が入力するクロック信号に異常が発生した結果、前記判別部が判別タイミングにおいて不一致信号を入力した後は、前記固定値を出力することを特徴とする請求項2に記載の信号処理装置。前記出力部は、前記判別部が判別タイミングにおいて不一致信号を入力した後は、前記演算回路が演算を完了するまで、前記固定値の出力を継続することを特徴とする請求項3に記載の信号処理装置。前記信号処理装置は、更に、前記判別部における状態を通知する状態信号を前記出力部に出力する状態通知部であって、前記判別部が入力するクロック信号において正常クロックが維持されている結果、前記判別部が判別タイミングにおいて一致信号を入力している間は、正常状態を通知する状態信号を前記出力部に出力し、前記判別部が入力するクロック信号に異常が発生した結果、前記判別部が判別タイミングにおいて不一致信号を入力した場合に、異常状態を通知する状態信号を前記出力部に出力し、前記演算回路が演算を完了するまで、前記異常状態を通知する状態信号の出力を保持する状態通知部を有し、前記出力部は、前記状態通知部から前記正常状態を通知する状態信号を入力している間は、前記演算回路からの出力信号を出力し、前記状態通知部から前記異常状態を通知する状態信号を入力している間は、前記固定値を出力することを特徴とする請求項4に記載の信号処理装置。前記比較部は、前記演算回路と前記遅延部に接続され、前記演算回路から複数ビットの出力信号を入力するとともに、前記演算回路からの出力信号の入力に並行して前記遅延部から複数ビットの遅延信号を入力し、同じタイミングで入力した複数ビットの出力信号と複数ビットの遅延信号との間で信号値を比較し、比較した出力信号と遅延信号の信号値が全てのビットで一致している場合に一致信号を出力し、比較した出力信号と遅延信号の信号値が1ビットでも不一致である場合に不一致信号を出力するXOReXclusiveOR素子であり、前記判別部は、前記XOR素子に接続され、前記クロック信号の入力に並行して前記XOR素子から比較結果信号を入力し、判別タイミングにおいて並行して入力した比較結果信号が不一致信号である場合に有効信号を出力する第1のフリップフロップであり、前記状態通知部は、前記第1のフリップフロップに接続され、前記第1のフリップフロップから有効信号を入力するまでは前記正常状態を通知する状態信号として有効信号を出力し続け、前記第1のフリップフロップから有効信号を入力した後は前記異常状態を通知する状態信号として無効信号を出力し続ける第2のフリップフロップであり、前記出力部は、前記演算回路と前記第2のフリップフロップに接続され、前記演算回路から複数ビットの出力信号を入力し、前記第2のフリップフロップから状態信号を入力し、前記第2のフリップフロップからの状態信号が有効信号であれば、前記演算回路からの複数ビットの出力信号を出力し、前記第2のフリップフロップからの状態信号が無効信号であれば、前記第2のフリップフロップからの無効信号を前記固定値として出力するAND素子と、前記AND素子に接続され、前記クロック信号に同期して、前記演算回路からの出力信号又は前記無効信号を出力する第3のフリップフロップとであることを特徴とする請求項5に記載の信号処理装置。前記演算回路における演算の種類によって前記出力信号において確定状態が持続する時間が異なり、前記遅延部は、前記出力信号において確定状態が持続する時間のうち最短の時間から、前記第3のフリップフロップのセットアップ時間とホールド時間とを減じた時間の遅延量にて、前記演算回路からの出力信号を遅延させることを特徴とする請求項6に記載の信号処理装置。前記遅延部と前記比較部と前記出力部は、データと秘密データとを組み合わせて演算する演算回路からの出力信号を入力することを特徴とする請求項1に記載の信号処理装置。特許文献1の信号処理回路は、論理的に見て同じ処理を行う複数の回路で構成されているので、回路規模が増大するという課題がある。この発明は、上記のような課題点を解決することを主な目的としており、簡易な構成により、異常なクロックによって不確定な状態の信号が出力することを防止することを主な目的とする。本発明に係る信号処理装置は、演算回路から連続して出力される出力信号を入力し、入力した出力信号を遅延させ、遅延後の出力信号を遅延信号として出力する遅延部と、前記演算回路から出力信号を入力するとともに、前記演算回路からの出力信号の入力に並行して前記遅延部から遅延信号を入力し、同じタイミングで入力した出力信号と遅延信号との間で信号値を比較し、比較した出力信号と遅延信号の信号値が一致していることを通知する一致信号及び比較した出力信号と遅延信号の信号値が不一致であることを通知する不一致信号のいずれかを比較結果信号として出力する比較部と、クロック信号を入力するとともに、クロック信号の入力に並行して前記比較部から比較結果信号を入力し、クロックの立ち上がりタイミング及びクロックの立ち下がりタイミングの少なくともいずれかである判別タイミングが到来する度に、判別タイミングにおいて並行して入力した比較結果信号が一致信号及び不一致信号のいずれであるかを判別する判別部と、前記演算回路から出力信号を入力するとともに、前記判別部が判別タイミングにおいて一致信号を入力している場合は、前記演算回路からの出力信号を出力し、前記判別部が判別タイミングにおいて不一致信号を入力した後は、前記演算回路からの出力信号に代えて特定の固定値を出力する出力部とを有することを特徴とする。本発明では、出力信号と遅延信号とが一致している場合のみ出力信号を出力し、出力信号と遅延信号とが一致しない場合は固定値を出力する。確定状態の出力信号と確定状態の遅延信号が比較された場合のみ、出力信号と遅延信号とが一致するので、異常なクロックの発生によって出力信号と遅延信号とが一致しない場合でも、不確定状態の出力信号が出力されることがない。実施の形態1.本実施の形態では、追加回路を抑えた構成において、異常なクロックによる故障データの出力を防止する。以下では、まず、一般的な信号処理回路を説明し、その後、本実施の形態に係る信号処理装置を説明する。図4は、一般的な信号処理回路の構成を示す図である。図4において、太い線の接続線は複数ビットの信号が入出力されることを表し、細い線の接続線は1ビットの信号が入出力されることを表している。図4の信号処理回路は、入力データDIと鍵データKを入力として演算を行い、その結果を出力データDOとして出力する。図4の信号処理回路は、演算回路11とフリップフロップ16で構成される。入力データDIと鍵データKは、演算回路11に入力され、その結果が複数ビットのバスに複数ビットの出力信号Dtとして出力される。入力データDIと鍵データKは、演算回路11に入力され、演算結果が出力信号Dtとして出力される。演算回路11は回路遅延のため、データが確定するまでに時間を要する。つまり、図7に例示するように、演算回路1の出力信号Dtでは、信号値が一定していない不確定状態710と同じ信号値が維持されている確定状態720とが存在する。確定状態720は、次の入力データDI及び鍵データKが演算回路11に入力されるまで持続する。不確定状態710の時間、換言すると、確定状態720が持続する時間は、演算の種類によって異なる。演算回路11では、入力データDIと鍵データKの組合せに応じて、複数種の演算が行われる。演算完了までに要する時間は演算の種類により様々であり、演算完了までに長時間を要する演算の場合は、不確定状態710の時間が長く、従って、確定状態720が持続する時間は短くなる。次に、この信号処理回路の動作を、図5を用いて説明する。図5は、フリップフロップ16のタイミング図である。図5では、このデータが不確定な不確定状態をハッチングでバス表示している。また、確定状態は、数字を入れたバス表示とした。フリップフロップ16は、クロック信号CKの立ち上がりタイミングで出力信号Dtをラッチするので、DOは1クロック遅れてデータが確定する。このようにして、確定状態の信号のみが後段に送られる。次に、異常なクロックが入力された場合のタイミング図を図6に示す。図6のようなクロック信号CKであると、フリップフロップ16は時刻T0異常なクロックで不確定なバス不確定状態の出力信号Dtをラッチするので、その出力DOは不確定なバスをラッチした異常データとなる。そして、この不確定なバスをラッチした異常データが最終的に演算結果として出力される。図1は、本実施の形態に係る回路構成を示す。図1において、太い線の接続線は複数ビットの信号が入出力されることを表し、細い線の接続線は1ビットの信号が入出力されることを表している。本実施の形態では、演算回路1が、入力データDIと鍵データKを入力として演算を行い、信号処理装置100が演算結果を出力データDOとして出力する。なお、図1に示す演算回路1と信号処理装置100とを併せてセキュア演算装置ともいう。入力データDIと鍵データKは、演算回路1に入力され、演算結果が複数ビットのバスに複数ビットの出力信号Dtとして出力される。なお、演算回路1の出力信号Dtには、図4に示した演算回路11と同様に、信号値が一定していない不確定状態710と同じ信号値が維持されている確定状態720とがある。信号処理装置100は、遅延素子3、XOReXclusiveOR素子4、AND素子5、フリップフロップ6、フリップフロップ61、セット付フリップフロップ7で構成される。バスDtは遅延素子3とXOR素子4に接続されている。遅延素子3は、演算回路1から連続して出力される複数ビットの出力信号Dtを入力し、入力した出力信号Dtを遅延させ、遅延後の出力信号Dtを遅延信号Ddとして出力する。遅延素子3の出力はXOR素子4の他方の入力端子に接続されており、遅延信号DdはXOR素子4に入力される。遅延素子3は、遅延部の例に相当する。XOR素子4の出力は1ビットで、入力されるバスの対応するビットの値がすべて一致すれば0を、対応するビットの値が1ビットでも異なっていれば1を出力する。XOR素子4は、比較部の例に相当する。XOR素子4は、演算回路1から複数ビットの出力信号Dtを入力するとともに、演算回路1からの出力信号Dtの入力に並行して遅延素子3から複数ビットの遅延信号Ddを入力し、同じタイミングで入力した複数ビットの出力信号Dtと複数ビットの遅延信号Ddとの間で信号値を比較する。そして、出力信号Dtと遅延信号Ddの信号値が全ビットで一致していれば、出力信号Dtと遅延信号Ddの信号値が一致していることを通知する一致信号信号値0をXORout信号比較結果信号として出力する。一方、1ビットでも信号値が異なっていれば、出力信号Dtと遅延信号Ddの信号値が不一致であることを通知する不一致信号信号値1をXORout信号比較結果信号として出力する。確定状態720の出力信号Dtと確定状態720の遅延信号Ddを比較した場合のみ、出力信号Dtと遅延信号Ddの全ビットの信号値が一致する。つまり、XOR素子4は、演算回路1からの確定状態720の出力信号Dtの入力に並行して遅延素子3から確定状態720の遅延信号Ddを入力しているときは、出力信号Dtの信号値と遅延信号Ddの信号値とが全ビットで一致し、XORout信号として一致信号信号値0を出力する。一方、演算回路1からの確定状態720の出力信号Dt又は不確定状態710の出力信号Dtの入力に並行して遅延素子3から不確定状態710の遅延信号Ddを入力した場合は、出力信号Dtの信号値と遅延信号Ddの信号値が一致せず、XOR素子4は、XORout信号として不一致信号信号値1を出力する。更に、演算回路1からの不確定状態710の出力信号Dtの入力に並行して遅延素子3から確定状態720の遅延信号Ddを入力した場合は、出力信号Dtの信号値と遅延信号Ddの信号値が一致せず、XOR素子4は、XORout信号として不一致信号信号値1を出力する。XOR素子4の1ビット出力XORout信号は、フリップフロップ61のD端子に接続され、クロック信号CKのクロックのタイミングで保持され、Q端子よりXORout1信号1ビットとして出力される。つまり、フリップフロップ61は、クロック信号CKを入力するとともに、クロック信号CKの入力に並行してXOR素子4からXORout信号比較結果信号を入力し、クロックの立ち上がりごとに、クロック立ち上がり時に並行して入力したXORout信号比較結果信号が一致信号信号値0、不一致信号信号値1のいずれであるかを判別する。フリップフロップ61は、クロック立ち上がり時に並行して入力したXORout信号比較結果信号が不一致信号信号値1である場合にXORout1信号の有効信号信号値1を出力する。一方、フリップフロップ61は、クロック立ち上がり時に並行して入力したXORout信号比較結果信号が一致信号信号値0である場合にXORout1信号の無効信号信号値0を出力する。フリップフロップ61は、判別部の例であり、また、第1のフリップフロップに相当する。なお、本実施の形態に係るフリップフロップ61は、クロック立ち上がりタイミングを判別タイミングとしており、本実施の形態では、フリップフロップ61が、クロック立ち上がり時に並行して入力したXORout信号比較結果信号が一致信号信号値0、不一致信号信号値1のいずれであるかを判別する例を説明する。しかしながら、クロック立ち下がりタイミングを判別タイミングとしてもよく、フリップフロップ61は、クロック立ち下がり時に並行して入力したXORout信号比較結果信号が一致信号信号値0、不一致信号信号値1のいずれであるかを判別するようにしてもよい。更に、クロック立ち上がりタイミング及びクロック立ち下がりタイミングの両者を判別タイミングとしてもよく、フリップフロップ61は、クロック立ち上がり時及びクロック立ち下がり時において、並行して入力したXORout信号比較結果信号が一致信号信号値0、不一致信号信号値1のいずれであるかを判別するようにしてもよい。XORout1信号は、セット付フリップフロップ7のクロック端子に入力される。また、信号Sはセット付フリップフロップ7のセット端子に入力され、演算回路1における一連の演算が開始される直前にセットされるように制御する信号である。セット付フリップフロップ7は、フリップフロップ61からXORout1信号の有効信号信号値1を入力するまでは、正常状態を通知する状態信号としてSel信号の有効信号信号値1を出力し続ける。そして、フリップフロップ61からXORout1信号の有効信号信号値1した後は、セット付フリップフロップ7は、異常状態を通知する状態信号としてSel信号の無効信号信号値0を出力し続ける。セット付フリップフロップ7は、状態通知部の例であり、また、第2のフリップフロップに相当する。セット付フリップフロップ7の出力であるSel信号1ビットはAND素子5に入力される。AND素子5では、演算回路1のバス出力との論理積が出力される。つまり、AND素子5は、演算回路1から複数ビットの出力信号Dtを入力し、セット付フリップフロップ7からSel信号を入力し、Sel信号が有効信号信号値1であれば、演算回路1からの出力信号Dtを出力する。一方、Sel信号が無効信号信号値0であれば、AND素子5は、演算回路1からの出力信号Dtに代えて、セット付フリップフロップ7からのSel信号信号値0を固定値としてフリップフロップ6に出力する。AND素子5は、フリップフロップ6とともに出力部の例である。フリップフロップ6では、クロック信号CKのクロックのタイミングでAND素子5からの出力が保持され、出力DOとなる。つまり、フリップフロップ6は、クロック信号CKに同期して、演算回路1からの出力信号Dt又は固定値を出力D0として出力する。フリップフロップ6は、AND素子5とともに出力部の例であり、第3のフリップフロップに相当する。なお、図1では、セット付フリップフロップ7の出力がAND素子5に入力されている場合を示しているが、代わりに、AND素子5と同様な機能を有する素子に入力してもよい。また、遅延素子3の遅延量は、演算回路1の出力が確定する最小時間から、フリップフロップ6の回路のセットアップ時間とホールド時間を引いた時間とする。換言すれば、XOR素子4が演算回路1から確定状態の出力信号Dtを入力している間に確定状態の出力信号Dtの遅延信号Dd並行して入力できる遅延量である。前述したように、出力信号Dtにおいて確定状態720が持続する時間は演算の種類によって異なる。遅延素子3は、出力信号Dtにおいて確定状態720が持続する時間のうち最短の時間から、フリップフロップ6のセットアップ時間とホールド時間とを減じた時間の遅延量にて、演算回路1からの出力信号Dtを遅延させる。次に、動作について説明する。図2は、本実施の形態に係るフリップフロップ6等のタイミング図である。図2でも、不確定状態をハッチングでバス表示している。また、確定状態は、数字を入れたバス表示としている。図2では、時刻T0において異常なクロックが入力された場合を示している。XOR素子4は、前述したように、比較した出力信号Dtと遅延信号Ddの全ビットが一致したときに0のXORout信号を、1ビットでも異なれば1のXORout信号を出力する。フリップフロップ61は、このXORout信号を、クロック信号CKのクロックの立ち上がりタイミングで保持するので、フリップフロップ61の出力XORout1は図2のようになる。異常なクロックが入力されたT0のタイミングでは、XOR素子4では不確定状態の出力信号Dtと不確定状態の遅延信号Ddを比較しているので、XORout信号は1である。このため、フリップフロップ61の出力XORout1は、異常なクロックの立ち上がり時に0から1に変化する。この変化を受けてセット付フリップフロップ7の出力Selは、1から0に変化し、以後信号Sがセット指示を出すまで、Sel信号は0固定となる。Sel信号は、AND素子5の入力であるので、AND素子5の出力は固定値0となる。この状態は、信号Sがセット指示を出すまで持続する。この結果、フリップフロップ6の出力は、異常なクロック時刻T0以降は、出力信号Dtの状態いかんにかかわらず、固定値0となる。つまり、フリップフロップ61においてクロック立ち上がり時のXORout信号の信号値が一度でも1になれば、固定値0が出力され続ける。また、図3は、本実施の形態の信号処理装置100において正常なクロック信号CKが入力された場合のフリップフロップ6等のタイミング図である。ここで、遅延素子3の遅延量を、演算回路1の出力が確定する最小時間から、フリップフロップ6のセットアップ時間とホールド時間を引いた時間とする理由を説明する。XOR素子4には、確定状態720の出力信号Dtと確定状態720の遅延信号Dtが並行して入力されなければならない。図2では、出力信号Dtと遅延信号Ddの<1>の区間が重なる区間がなければならない。遅延素子3の遅延量を、確定状態720の最小時間にすると、出力信号Dtと遅延信号Ddの<1>の区間が重なる区間が無くなってしまう可能性がある。出力信号Dtと遅延信号Ddの確定状態720の時間とが重なるためには、遅延素子3の遅延量は、確定状態720の最小時間よりも短い時間とする必要がある。一方で、フリップフロップ6の適正動作のためにはセットアップ時間とホールド時間とを確保する必要があり、遅延量に、フリップフロップ6のセットアップ時間とホールド時間を反映させる必要がある。このような要請から、遅延素子3の遅延量は、確定状態720の最小時間からフリップフロップ6のセットアップ時間とホールド時間を引いた時間としている。以上、本実施の形態に係るセキュア演算装置では、演算回路の出力信号を遅延させ、出力信号と遅延信号の一致不一致を判定し、不一致の判定結果は持続保持するようにしている。つまり、図2において、クロック立ち上がり時に信号値1のXORout信号がフリップフロップ61に入力されると、Sel信号が0で固定される。このため、異常なクロックが発生しても、不確定状態の出力信号が出力されることがなく、代わりに固定値が出力される。つまり、確定状態の出力信号と確定状態の遅延信号が比較された場合のみ、出力信号と遅延信号とが一致するので、異常なクロックの発生によって出力信号と遅延信号とが一致しない場合でも、不確定状態の出力信号が出力されることがない。このため、本実施の形態のセキュア演算装置は、異常クロックを誘発させ、回路内部の故障状態に基づく故障データを出力させて、秘密情報を導き出す故障誘導攻撃に対して耐性を有する。以上、本実施の形態では、演算装置においてデータと秘密データを組み合わせて演算された演算結果と、演算結果を遅延させた遅延信号とを比較し、両者が不一致の場合、演算結果に代えて固定値を出力するセキュア演算装置を説明した。また、本実施の形態に係るセキュア演算装置は、演算結果と遅延信号が不一致の場合、不一致状態を一連の演算が終了するまで保持し、演算結果に代えて固定値を出力することを説明した。また、本実施の形態に係るセキュア演算装置は、演算回路の出力が確定する最小時間からフリップフロップのセットアップ時間及びホールド時間を引いた遅延量を有する遅延素子を使用することを説明した。