(57)【特許請求の範囲】
【請求項１】
マスクｍによりマスクされる変数ｘを提供する少なくとも１つのレジスタＲ（２２）を含む、暗号回路であって、前記マスクされる変数は第１の換字ボックスＳ（１）によって周期的な方式で暗号化され、前記回路は、各周期において、変形関数（４１、６１）により前記マスクｍに変形されるマスクｍｔを送達するマスクレジスタＭ（２３）を含み、このマスクｍは第２の換字ボックスＳ’（２１）により暗号化され、新しいマスクｍ’は前記変数ｘをマスクするために使用されるこのボックスＳ’（２１）からの出力時に得られることを特徴とする、暗号回路。
【請求項２】
前記マスクｍ’ｔは、前記第２の換字ボックスＳ’（２１）からの出力時に前記変形関数（４１，６１）とは逆の変形（４２，６２）が施された後に前記マスクレジスタＭに導入されることを特徴とする、請求項１に記載の回路。
【請求項３】
前記変形は、前記マスクｍｔが前記レジスタＭに格納され、前記換字ボックスに適用される前記マスクｍはＢ（ｍｔ）に等しく、かつ、前記レジスタに格納される前記新しい数値はＢー１（ｍ’）であり、ｍ’は前記第２の換字ボックスＳ’（２１）からの前記出力であるような全単射（４１）Ｂであることを特徴とする、請求項１または２に記載の回路。
【請求項４】
前記全単射Ｂは、前記マスクｍの前記Ｈａｍｍｉｎｇ重量が前記全単射Ｂ（ｍ）下におけるその画像の前記Ｈａｍｍｉｎｇ重量と常に同一とは限らないことを特徴とする、請求項１〜３のいずれか１項に記載の回路。
【請求項５】
前記マスクｍの前記変形は、ｍ＝ｍ１θｍ２になるように、第１のサブマスクｍ１と第２のサブマスクｍ２とに分解することにより実施され、ここでθは群合成法則であり、前記第１のサブマスクｍ１は第１のマスクレジスタＭ１（２３１）に格納され、かつ、前記第２のサブマスクｍ２は第２のマスクレジスタＭ２（２３２）に格納され、前記レジスタＭ１に格納される新しい数値はｍ’１＝ｍ’θ−１ｍ’２であり、かつ、格納される新しい数値はｍ’２であり、ｍ’は、前記第２の換字ボックスＳ’（２１）からの出力時の前記マスクｍの前記数値であることを特徴とする、請求項１〜２のいずれか１項に記載の回路。
【請求項６】
前記合成法則はＸＯＲ「排他的論理和」演算であることを特徴とする、請求項５に記載の回路。
【請求項７】
前記合成法則は加算演算であることを特徴とする、請求項５に記載の回路。
【請求項８】
前記合成法則は乗算演算であることを特徴とする、請求項５に記載の回路。
【請求項９】
前記合成法則は、＊が乗算および＋が加算である、ｓ＝ａ＊ｂ＋（ａ＋ｂ）／２タイプの演算であることを特徴とする、請求項５に記載の回路。
【請求項１０】
前記合成法則は、非ゼロの、２つの連続する第２のサブマスクｍ２間の１つの周期から別の周期までのＨａｍｍｉｎｇ距離Δｍ２を有することを特徴とする、請求項５に記載の回路。
【請求項１１】
前記第１のサブマスクｍ１、前記第２のサブマスクｍ２は偶数のビットを有し、前記群合成法則（α）は、
‐２ビットの群毎に、Δｍ２＝１、
‐ｍ２ＭＳＢ＝１ならば、
0005776113.tif 000054
またはｍ２ＭＳＢ＝０ならば、ｍ＝ｍ１、
を満たす前記第１のサブマスクｍ１、前記第２のサブマスクｍ２に基づき前記マスクｍを得ることを可能とし、
ｍ２ＭＳＢ、ｍ２ＬＳＢはそれぞれ前記第２のサブマスクｍ２の高次および低次のビットである、
ことを特徴とする、請求項１０に記載の回路。
【請求項１２】
ランダム数値発生器（７１）を含み、前記発生器は前記新しい数値ｍ’２を送達することを特徴とする、請求項５、６、７、８、９、１０、１１のいずれか１項に記載の回路。
【請求項１３】
前記第１のマスクレジスタＭ１から生じるこの第１のサブマスクｍ１は暗号化を行う最後の周期に前記第２のマスクレジスタＭ２に保存され、前記第１のレジスタＭ１は前記新しい完全なマスクｍ’＝ｍ’１θｍ’２を再構築するためにその部分のために前記新しいマスクｍ’１を受容することを特徴とする、請求項５に記載の回路。
【請求項１４】
前記回路の暗号化用アルゴリズムはＤＥＳタイプのものであり、前記変数ｘと前記マスクｍのパスは２つの部分、左（９１、２２１）と右（９２、２２２）とに分割され、前記回路は、前記左のマスクレジスタＭＬ（９１）と前記右のマスクレジスタＭＲ（９２）に加えて、第３のマスクレジスタＭ（９３）を含み、前記レジスタＭＲは前記右のサブマスクｍｒ１を含み、および前記レジスタＭＬは前記左のサブマスクｍｌ２を含み、前記レジスタＭはサブマスクｍｌ１と前記サブマスクｍｌ１に等しいサブマスクｍｒ２を含み、前記右のマスクｍｒおよび前記左のマスクｍｌの実効値は、
ｍｒ＝ｍｒｌθｍｒ２
ｍｌ＝ｍｌ１θｍｌ２
であることを特徴とする、請求項１、２、５、６、７、８、９、１０、１１、１２、１３のいずれか１項に記載の回路。
【請求項１５】
前記第２の換字ボックスＳ’（２１）は、前記第１の換字ボックスＳ（１）を２つと、２つのＸＯＲゲート（１１１、１１２）を含み、前記２つの第１の換字ボックス（１）の出力が前記新しいマスクｍ’を送達するＸＯＲゲート（１１２）に接続され、マスクされる変数
0005776113.tif 000055
は前記２つの第１の換字ボックス（１）に入り、かつ、その他の入力が前記マスクｍを受容するもう１つのＸＯＲゲート（１１１）にて、このゲート（１１１）の出力が前記２つの第１の換字ボックス（１）の一方に入ることを特徴とする、請求項１〜１４のいずれか１項に記載の回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、観測攻撃から保護される暗号回路に関する。特にマスキングに基づく実装に対する高次の観測攻撃から暗号回路を保護するために適用される。
【背景技術】
【０００２】
暗号の目的は、特に、
−暗号化および双対演算すなわち復号化という手段による情報の項目の機密性か、
−または署名および検証の演算による、署名の演算および署名の検証による、情報の項目の認証性のみ、を保護することである。
【０００３】
暗号では、システムの安全化につながることが実証されている数学的なプロシージャを使用する。
例えば、公開されている最新の知識において、可能な限りすべての鍵を試すことに相当する総当たり攻撃よりも極めて速い攻撃のいかなるプロシージャも存在しないことが証明されている場合に、暗号化は安全であると想定される。
【０００４】
概して、暗号化プロシージャには、システムのセキュリティのために必要とされる複雑な計算を伴う。
この複雑性はコンピュータにいかなる特定の問題も生じさせることはないが、一般に低コストの「８ビット」マイクロプロセッサで動く、高い計算力を有しないデバイスの場合には大きな障害となる。結果的には、
−適切な使用への障害、典型的な例は、請求書の署名に数分かかる銀行のカード、
−サービスの否認、典型的な例は、配信された情報のスループットが追従できない従量料金制のテレビデコーダ、などのいくつかの種類がある。
【０００５】
システムの価格を増加させることなくこの問題を緩和するために、使用されるデバイスの中心ユニットを支援するためのシステムを暗号専用のコプロセッサの形態で付加することが通例である。
【０００６】
しかしながら、中心ユニットによって、または専門のコプロセッサによって実装されるにしてもいずれにせよ、暗号アルゴリズムは現在では電子的なタイプの物理的デバイスによって実装される。
これらの物理的デバイスは電気の基本法則に固有の特性に関して、避けることのできない不完全性を呈する。
【０００７】
したがって、数学的な観点から安全な暗号システムは、アルゴリズムを実装する物理的システムの固有の不完全性を利用することにより攻撃されうる。したがって、
−計算の時間はデータの値、特に速度を最適化したソフトウェアシステムに依存し、これが特に非特許文献１に記載されている「タイミング攻撃」タイプの攻撃を誘発させている。
これらの攻撃は、特定の場合において、実行時間の簡単な測定値に基づき秘密鍵全体を取り出すことを可能とする。
−瞬間消費もまたデータに依存する。これが、以下のものなどの一連の攻撃を誘発する。
−特に、非特許文献２に記載されているＳＰＡ（Ｓｉｍｐｌｅ  Ｐｏｗｅｒ  Ａｎａｌｙｓｉｓ）攻撃。この攻撃は暗号演算時に測定されるその消費電力の測定値に基づき中心ユニットにより実行される演算を識別しようと試みるものである。
−特に、非特許文献３に記載されているＤＰＡ（Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｏｗｅｒ  Ａｎａｌｙｓｉｓ）攻撃。この攻撃は、鍵の限定された部分について行われた想定を有効または無効にするために、ランダムメッセージに対して、および一定の鍵を用いた暗号演算時に実施される、消費電力の多数の測定値に対する統計的演算を使用する。
−導体内を流れるあらゆる電流は電磁界を生成し、その測定値が、消費電力に関する攻撃とその原理が同一であるＥＭＡ（ＥｌｅｃｔｒｏＭａｇｎｅｔｉｃ  Ａｔｔａｃｋ）タイプの攻撃を誘発しうる。
−特定の攻撃では、システムの秘密を取り出すため、誤った結果を利用するようシステムの動作を故意に乱す。これらの攻撃は障害注入攻撃という用語で知られている。
【０００８】
暗号アルゴリズムを実装し、かつ、デバイスのメモリに保持されている秘密に関する情報を漏洩しやすい物理的デバイスのあらゆる不完全性は隠しチャネルと呼ばれる。
【０００９】
これらの隠しチャネルへの攻撃に対しては、特に、
−この例では秘密とは無関係の漏えいを一定にすることを伴う秘匿と、
−漏えいをランダムにし、予測不能に、したがって利用不可能とすることを伴う、マスキング、に基づく保護が提案されている。
【００１０】
これらの２つの技法により情報の取得を狙った攻撃の困難さを増すことが可能となるが、それらはそれでもなお実装欠陥から利益を得ようとする攻撃に対しては依然脆弱である。潜在的なまたは実証された脆弱性の例は数多く存在する。例えば、
−差分論理（ＷＤＤＬなどの）に基づく秘匿は、計算フェーズと評価フェーズとのうちの１つまたはもう１つと、プリチャージフェーズとの間の累積した組み合わせのずれの差に対する攻撃に脆弱となる場合がある。
−マスキングはＨＯ−ＤＰＡと呼ばれる高次の攻撃に敏感な場合がある。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】Ｐ．Ｋｏｃｈｅｒらによる文献、Ｔｉｍｉｎｇ  Ａｔｔａｃｋ  ｏｎ  Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ｏｆ  Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ，ＲＳＡ，ＤＳＳ  ａｎｄ  ｏｔｈｅｒ  ｓｙｓｔｅｍｓ，Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＣＲＹＰＴＯ’９６，ｖｏｌｕｍｅ  １１０９  ｏｆ  ＬＮＣＳ，ｐａｇｅｓ１０４−１１３，Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ，１９９６
【非特許文献２】Ｔｈｏｍａｓ  Ｓ．  Ｍｅｓｓｅｒｇｅｓらによる文献、Ｉｎｖｅｓｔｉｇａｔｉｏｎｓ  ｏｆ  Ｐｏｗｅｒ  Ａｎａｌｙｓｉｓ  Ａｔｔａｃｋｓ  ｏｎ  Ｓｍａｒｔｃａｒｄｓ，Ｉｎ  ＵＳＥＮＩＸ−Ｓｍａｒｔｃａｒｄ’９９，ｐａｇｅｓ  １５１−１６２，Ｍａｙ  １０−１１，１９９９，Ｃｈｉｃａｇｏ  ＵＳＡ
【非特許文献３】Ｓ．Ｇｕｉｌｌｅｙらによる文献、Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｏｗｅｒ  Ａｎａｌｙｓｉｓ  Ｍｏｄｅｌ  ａｎｄ  ｓｏｍｅ  Ｒｅｓｕｌｔｓ，  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＷＣＣ／ＣＡＲＤＩＳ，ｐａｇｅｓ  １２７−１４２，Ａｕｇ  ２００４，Ｔｏｕｌｏｕｓｅ，Ｆｒａｎｃｅ
【非特許文献４】Ｊ．Ｂｌｏｍｅｒらによる文献、Ｐｒｏｖａｂｌｙ  Ｓｅｃｕｒｅ  Ｍａｓｋｉｎｇ  ｏｆ  ＡＥＳ，Ｉｎ  ＬＮＣＳ，ｅｄｉｔｏｒ，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＳＡＣ’０４，ｖｏｌｕｍｅ  ３３５７，ｐａｇｅｓ  ６９−８３，Ｓｐｒｉｎｇｅｒ，Ａｕｇｕｓｔ  ２００４，Ｗａｔｅｒｌｏｏ，Ｃａｎａｄａ
【非特許文献５】Ｍ．Ａｋｋａｒらによる文献、Ａ  ｇｅｎｅｒｉｃ  ｐｒｏｔｅｃｔｉｏｎ  ａｇａｉｎｓｔ  Ｈｉｇｈ−ｏｄｅｒ  ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｏｗｅｒ  Ａｎａｌｙｓｉｓ，Ｉｎ  ＬＮＣＳ，ｅｄｉｔｏｒ，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＦＳＥ’０３，ｖｏｌｕｍｅ  ２８８７  ｏｆ  ＬＮＣＳ，Ｓｐｒｉｎｇｅｒ，２００３，Ｂｅｒｌｉｎ
【非特許文献６】Ｊ．Ｌｖらによる文献、Ｅｎｈａｎｃｅｄ  ＤＥＳ  ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ｓｅｃｕｒｅ  ａｇａｉｎｓｔ  ｄｉｆｆｅｒｅｎｔｉａｌ  ｐｏｗｅｒ  ａｎａｌｙｓｉｓ  ｉｎ  ｓｍａｒｔ−ｃａｒｄｓ，Ｉｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｃｕｒｉｔｙ  ａｎｄ  Ｐｒｉｖａｃｙ，１０ｔｈ  Ａｕｓｔｒａｌａｓｉａｎ  Ｃｏｎｆｅｒｅｎｃｅ，ｖｏｌｕｍｅ  ３５７４  ｏｆ  ＬＮＣＳ，ｐａｇｅｓ  １９５−２０６，Ｂｒｉｓｂａｎｅ，Ｊｕｌｙ  ２００５，Ｓｐｒｉｎｇｅｒ  Ｖｅｒｌａｇ
【非特許文献７】Ｆ−Ｘ．Ｓｔａｎｄａｅｒｔらによる文献、ＦＰＧＡ  Ｉｍｐｌｅｍｅｎｔａｔｉｏｎｓ  ｏｆ  ｔｈｅ  ＤＥＳ  ａｎｄ  Ｔｒｉｐｌｅ−ＤＥＳ  Ｍａｓｋｅｄ  Ａｇａｉｎｓｔ  Ｐｏｗｅｒ  Ａｎａｌｙｓｉｓ  Ａｔｔａｃｋ，Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＦＰＬ  ２００６，Ａｕｇｕｓｔ  ２００６，Ｍａｄｒｉｄ
【非特許文献８】Ｅ．Ｐｅｅｔｅｒｓらによる文献、Ｉｍｐｒｏｖｅｄ  Ｈｉｇｈｅｒ−Ｏｒｄｅｒ  Ｓｉｄｅ−Ｃｈａｎｎｅｌ  Ａｔｔａｃｋｓ  ｗｉｔｈ  ＦＰＧＡ  Ｅｘｐｅｒｉｍｅｎｔｓ，  Ｉｎ  ＣＨＥＳ，  ｖｏｌｕｍｅ  ３６５９  ｏｆ  ＬＮＣＳ，  ｐａｇｅｓ  ３０９−３２３，  Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ，  ２００５
【非特許文献９】Ｇ．Ｐｉｒｅｔらによる文献、Ｓｅｃｕｒｉｔｙ  Ａｎａｌｙｓｉｓ  ｏｆ  Ｈｉｇｈｅｒ−Ｏｒｄｅｒ  Ｂｏｏｌｅａｎ  Ｍａｓｋｉｎｇ  Ｓｃｈｅｍｅｓ  ｆｏｒ  Ｂｌｏｃｋ  Ｃｉｐｈｅｒｓ，ＩＥＴ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｃｕｒｉｔｙ，２（１）：１−１１，２００８
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明の目的は、特に高次の観測攻撃に対して効果的な保護を可能にすることである。
【課題を解決するための手段】
【００１３】
この目的のため、本発明の対象はマスク変数ｍによりマスクされる変数ｘを提供する少なくとも１つのレジスタＲを含む暗号回路であって、前記マスクされる変数は、第１の換字ボックスＳによって周期的な方式で暗号化され、前記回路は、各周期において変形関数で変換されるマスクｍに等しい変換マスクｍｔを送達するマスクレジスタＭを含み、このマスクｍは第２の換字ボックスＳ’により暗号化され、このボックスＳ’からの出力で得られる新しいマスクｍ’は変数をマスクするために使用されることを特徴とする。
【００１４】
新しい変換マスクｍ’ｔは、例えば、第２の換字ボックスＳ’からの出力において逆変形が施された後にマスクレジスタＭに導入される。
【００１５】
第１の可能な実装の態様において、変形は、変換マスクｍｔがレジスタＭに格納され、換字ボックスに適用されるマスクｍがＢ（ｍｔ）に等しく、かつ、レジスタに格納される新しい数値がＢ−１（ｍ’）であり、ｍ’は第２の換字ボックスＳ’（２１）からの出力であるような全単射Ｂであってもよい。
【００１６】
全単射Ｂは、例えば、マスクｍのＨａｍｍｉｎｇ重量が全単射Ｂ（ｍ）下におけるその画像のＨａｍｍｉｎｇ重量と常に同一であるとは限らない。
【００１７】
第２の可能な実装の態様では、マスクｍの変形は、ｍ＝ｍ１θｍ２となるように、２つのサブマスクｍ１とｍ２とに分解することによって実施されてもよく、ここで、θは群合成法則であり、第１のサブマスクｍ１は第１のマスクレジスタＭ１に格納され、および第２のサブマスクｍ２は第２のマスクレジスタＭ２に格納され、レジスタＭ１に格納される新しい数値はｍ’１＝ｍ’θ−１ｍ’２であり、かつ、格納される新しい数値はｍ’２であり、ｍ’は第２の換字ボックスＳ’からの出力時のマスクの数値である。
【００１８】
合成法則は、例えば、ＸＯＲ「排他的論理和」演算、加算演算、乗算演算、または＊が乗算であり、＋が加算である、ｓ＝ａ＊ｂ＋（ａ＋ｂ）／２タイプの他の演算である。
【００１９】
その合成は、例えば、非ゼロである、１つの周期から別の周期への２つの連続するサブマスクｍ２間のＨａｍｍｉｎｇ距離Δｍ２を有する。
【００２０】
サブマスクｍ１、ｍ２は偶数のビットを有し、群合成法則（α）は、例えば、
−２ビットの群毎に、Δｍ２＝１、
−ｍ２ＭＳＢ＝１ならば、
0005776113.tif 000002
または、ｍ２ＭＳＢ＝０ならば、ｍ＝ｍ１、
を満たすサブマスクｍ１、ｍ２に基づきマスクｍを得ることを可能とし、
ｍ２ＭＳＢ、ｍ２ＬＳＢはそれぞれサブマスクｍ２の高次および低次のビットである。
【００２１】
回路は、例えば、ランダム数値発生器を含み、前記発生器は第２のサブマスクｍ’２の数値を送達する。
【００２２】
第１のマスクレジスタＭ１から生じるこのサブマスクｍ１は、周期の最後で第２のマスクレジスタＭ２に保存され、第１のレジスタＭ１はその部分において新しい完全なマスクｍ’＝ｍ’１θｍ’２を再構築するために新しいマスクｍ’１を受容してもよい。
【００２３】
暗号化用アルゴリズムは、データｘ、ｍのパスが左と右の２つの部分に分割される、ＤＥＳタイプのものであり、前記回路は、例えば、左のマスクレジスタＭＬと右のマスクレジスタＭＲに加えて、第３のマスクレジスタＭを含み、レジスタＭＲは右のサブマスクｍｒ１を含み、およびレジスタＭＬは左のサブマスクｍｌ２を含み、レジスタＭはサブマスクｍｌ１に等しいサブマスクｍｒ２を含み、右のマスクｍｒおよび左のマスクｍｌの実効値は、
−ｍｒ＝ｍｒｌθｍｒ２
−ｍｌ＝ｍｌ１θｍｌ２
である。
【００２４】
第２の換字ボックスＳ’は、例えば、第１の換字ボックスＳと同一の２つのボックスと、２つのＸＯＲゲートとを含み、２つのボックスの出力は、その出力が新しいマスクｍ’を送達するＸＯＲゲートに接続され、マスクされる変数
0005776113.tif 000003
は、ボックスおよびその別の入力がマスクｍを受容する別のＸＯＲゲートに入り、このゲートの出力が別のボックスに入る。
【００２５】
ＲＯＭメモリが、例えば、ＸＯＲゲートの論理およびボックスの換字を実行する。
【００２６】
本発明の他の特性および利点が、添付の図面に関連して以下に提供される記載の支援で明らかになる。
【図面の簡単な説明】
【００２７】
【図１ａ】換字ボックスのマスキングの原理の図である。
【図１ｂ】換字ボックスのマスキングの原理の図である。
【図２】換字ボックスのレベルにおけるマスキングの図である。
【図３】レジスタの変数ｘの２つの連続するワード間のＨａｍｍｉｎｇ距離の様々な数値の、レジスタの出力における活動の分布の例を示す図である。
【図４】本発明による回路内におけるマスクのパスの可能な変形の第１の態様の図である。
【図５】前の態様に対応する活動分布を示す図である。
【図６】本発明による回路内におけるマスクのパスの第２の可能な実施形態の図である。
【図７】前の態様に対応する活動分布を示す図である。
【図８】乱数生成器を使用せずにマスクを分解した変形の例である。
【図９】ＤＥＳアルゴリズムを使用する場合の、本発明によるマスキングを例示的に実現する図である。
【図１０】本発明による回路内において使用される群合成法則を例示的に実現する図である。
【図１１ａ】本発明による回路内において使用される第２の換字ボックスの例示的な実施形態の図である。
【図１１ｂ】本発明による回路内において使用される第２の換字ボックスの例示的な実施形態の図である。
【図１１ｃ】本発明による回路内において使用される第２の換字ボックスの例示的な実施形態の図である。
【発明を実施するための形態】
【００２８】
図１ａおよび１ｂは、定数マスクｍを用いた、一般に「Ｓ−ｂｏｘ」と呼ばれる換字ボックス１のマスキングの原理を示す。Ｓ−ｂｏｘはメッセージに非線形関数を適用し、その目的は特にＳ−ｂｏｘからの出力時にメッセージをエントロピー化するためである。
【００２９】
図１ａにおいて、データｘはＳ−ｂｏｘ１への入力時に暗号鍵ｋと組み合わされる。  この例において、データと鍵とは、ｘｏｒとも呼ばれ、
0005776113.tif 000004
で表される「排他的論理和」論理演算により組み合わされる。
図１ａの場合、例えば、ｎビットでコード化されるメッセージ
0005776113.tif 000005
は、したがって、Ｓ−ｂｏｘの入力となる。
それに対応して出力メッセージは
0005776113.tif 000006
である。
【００３０】
図１ｂは、定数マスクｍを用いたＳ−ｂｏｘのマスキングを示す。マスキングの技法は秘密に敏感に依存する内部変数をマスクｍによって判読不能にすることによる。図１ａおよび１ｂの例においては、ｘがそのような変数である。ｍは攻撃者から予測されないと仮定すると、漏えいしたものはｘへの直接攻撃の枠組み内では利用不可能である。変数ｘはもはやそのようには存在せずに、信号（ｍ、ｘｍ）の対を通じて再構築されてもよく、ここでｘｍ＝ｘθｍはマスクされる変数であり、かつ、θは特に論理的または数学的な群演算子であってもよい。図１ｂの例において、マスキングはｘｏｒ関数、すなわち
0005776113.tif 000007
を使用する。
【００３１】
このタイプのマスキングは特に線形の演算が２進数フィールドで実施されるＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）およびＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）アルゴリズムの保護に適する。マスクは一般にビット、ワード、暗号関数のベクトルである内部変数に適用されてもよい。ワードのレベルでのマスキングによってソフトウェア実装とハードウェア実装との両方に適用させることができる。マスクされる変数が適用される関数
0005776113.tif 000008
が群法則の関数として線形、すなわち
0005776113.tif 000009
である場合、マスキングの実現は容易である。
【００３２】
0005776113.tif 000010
の値は
0005776113.tif 000011
およびｍに基づき再構築されてもよい。
0005776113.tif 000012
はしたがって変数ｘから出る情報の漏えいを回避するためにアルゴリズムのまさに最後で抽出される。
ｍがｘと相関関係にないｘθｍの計算では、秘密の直接漏えいはない。
【００３３】
関数
0005776113.tif 000013
が非線形の場合、
0005776113.tif 000014
は、
0005776113.tif 000015
に基づき数学的に再生成できないため、マスキングメカニズムはより複雑になる。対称暗号化アルゴリズムでは、非線形の部分は換字ボックスすなわちＳ−ｂｏｘ、したがって例えば図１ａおよび１ｂのＳ−ｂｏｘ１に相当する。一般的なソフトウェア技術ではＳ−ｂｏｘの非線形関数を生成するＲＯＭメモリが使用されており、Ｓｍで表されるこの関数は、
0005776113.tif 000016
であり、Ｓはマスキング前のＳ−ｂｏｘの関数である。
【００３４】
したがって、メモリのサイズはＳの２ｎからＳｍの２２ｎに及ぶ。ｎはマスクのビット数である。図１ａおよび１ｂはこの変化を示す。
【００３５】
これを実現したものを、暗号化アルゴリズムの繰り返しがクロックサイクルで実施されるハードウェア実装に用いるのは安全ではない。この場合、レジスタのレベルにおける転送がデータを自動的にデマスクする。実際、演算子
0005776113.tif 000017
を例として考えると、転送は以下の関係で説明される。
0005776113.tif 000018
【００３６】
この関係の項
0005776113.tif 000019
はＳ−ｂｏｘ  Ｓｍへの入力時の初期値であり、項
0005776113.tif 000020
はＳ−ｂｏｘからの出力時の最終値であり、これら２つの項間の演算子
0005776113.tif 000021
は遷移を示す。上の関係は事実、遷移の結果
0005776113.tif 000022
はマスクｍと無関係であることを示す。
【００３７】
特に、非特許文献４に示されるように、マスキングにより付与される有効性は、内部変数ｘのみを考慮する１次攻撃に対して立証されうる。マスキング回路から出る情報の漏えいは、しかしながら、２次攻撃、または実際にはさらに高次のものにさらされる。
【００３８】
２次攻撃では２つの変数ｘ１およびｘ２が考慮される。例えば、ｘ１とｘ２が同じマスクでマスクされる場合、２次攻撃では
0005776113.tif 000023
という事実が利用される。
【００３９】
特に、非特許文献５に示されるように、高次の攻撃に打ち勝つための実装が研究されている。この文献では定数マスクが使用されている。
しかしながら、顕著な有効性を得るためには複雑性を大幅に増す必要がある。
例として、このプロシージャで高次の攻撃に対する耐性を持つためには、非特許文献６に示されるように、ＤＥＳアルゴリズムは各Ｓ−ｂｏｘに少なくとも３つの異なるマスクと６つの追加のＳ−ｂｏｘを必要とすることが実証されている。
【００４０】
別の公知のプロシージャでは、新しいマスクｍが各繰り返しにおいて計算される。  このプロシージャについては、特に非特許文献７に記載されている。レジスタＲのマスクされる変数
0005776113.tif 000024
は各ラウンドにおいてレジスタＭから生じる新しいマスクｍと関連づけられる。したがってラウンドの最後において、変数
0005776113.tif 000025
は
0005776113.tif 000026
に変換され、そこで新しいマスクｍ’が、関数Ｓ’を用いる新しいＳ−の支援で、ｍおよび
0005776113.tif 000027
の関数として計算される。このプロシージャにより複雑性の良好な妥協案がもたらされる。
その理由はそれが各既存のＳ−ｂｏｘ  Ｓに１つの新しいＳ−ｂｏｘ  Ｓ’のみを関連づけるためである。
【００４１】
この実装は、しかしながら、特に非特許文献８に示されるように依然２次攻撃を受けやすい。
【００４２】
図２はＳ−ｂｏｘ  ＳおよびＳ’の実装を示す。Ｒで表されるレジスタ２２が、例えば、マスクされる変数
0005776113.tif 000028
を提供し、それは例えばＸＯＲゲート２４によって鍵ｋと組み合わされ、Ｓ−ｂｏｘ１への入力時に、関数Ｓを用いて、レジスタ２２、Ｒの入力にループ状に戻る変数
0005776113.tif 000029
を出力として送達する。並列して、Ｍで表されるレジスタ２３はＳ−ｂｏｘ２１に入るマスクｍを提供し、関数Ｓ’により、後者のもう１つの入力はＳ−ｂｏｘ１の入力と共通する。Ｓ−ｂｏｘ２１、Ｓ’の出力は新しいマスクｍ’を送達し、レジスタＭの入力にループ状に戻る。
この新しいマスクはレジスタＲによって送達される変数ｘをマスクするために使用される。残りの記載全体を通して、マスクレジスタ２３およびＳ−ｂｏｘ２１、Ｓ’を含むマスクループ２０により生成されるマスクは変数ｘをマスクするために使用される。
【００４３】
レジスタＲおよびＭへのループバックはそれぞれクロック数で行われる。簡略化の理由のため、図２の描写ではＤＥＳアルゴリズム特有の拡張関数および置換関数は無視される。
【００４４】
Ｐｅｅｔｅｒｓらにより記載されたＨＯ−ＤＰＡ攻撃はレジスタから生じる変数
0005776113.tif 000030
およびｍに関係する。この原理は変数ｘの様々な数値について、レジスタの出力における活動の分布を研究することにある。ＣＭＯＳロジックでは、Ａで表される活動のモデルはＤＨで表される２つの連続するワード間のＨａｍｍｉｎｇ距離であってもよい。特に、
0005776113.tif 000031
であり、
ＰＨはＨａｍｍｉｎｇ重量に、およびΔｘは変数ｘの２つの連続するワードｘｉ、ｘｉ−１間のＨａｍｍｉｎｇ距離に一致する。
【００４５】
ｘとｍが単一ビットを有する場合、活動は２に該当する。Δｘ＝０ならば、ＰＨ（Δｍ）である。
【００４６】
Δｘ＝１ならば、活動は
0005776113.tif 000032
に該当し、かつ、常に１に等しい。
【００４７】
したがって、各Δｘの消費の分布の知識は、消費分布を観測することによって、およびそれらを変数ｘに含まれる鍵ｋに関する想定について予測した活動と比較することによって、ＨＯ−ＤＰＡ攻撃を構築することを可能とする。
【００４８】
ｘおよびｍが４ビットでコード化される場合、Ｈａｍｍｉｎｇ重量ＰＨは５つの数値０、１、２、３、４をとることができる。したがって、活動
0005776113.tif 000033
は９つの数値０、１、２、３、４、５、６、７、８をとることができる。
【００４９】
図３は可能なΔｘの様々な数値における４ビットのマスクの活動Ａの分布を示す。Δｘはこの場合、２４の数値、０、１、２、３、４、５、６、７、８、９、１０、１１、１２、１３、１４、１５をとる。図３には、したがってΔｘの数値の組の５つの異なる分布、３１、３２、３３、３４、３５を示す。各分布３１では、Δｘの数値が９つの数値、０、１、２、３、４、５、６、７および８をとることができる活動の関数として分布するまたは割り当てられる。これらの分布間にかなりの差があることは明らかであり、これらの差はＨＯ−ＤＰＡ攻撃により利用される可能性がある。
【００５０】
様々なマスキングの解決策の有効性を比較するため、分布３１、３２、３３、３４、３５の比較に、公知の検定、Χ２検定より生じたメトリック量を使用することが可能であり、以下の関係により定義される。
0005776113.tif 000034
ここで、
−Ｃは分布のクラス数を示し、例えばＣ＝９は４ビットでコード化されるマスクを用いた活動分布である。Ｃ−１はΧ２法の自由度を示す。
−Ｎは標本の合計数である。
−Ｐｉは観測されたクラスｉの要素を有する確率であり、Ｐｉはまた
0005776113.tif 000035
に等しい。Ｎｉはクラスｉの観測された要素の数である。
−Ｐｉｒｅｆはクラスｉの要素を有する参照確率であり、Ｐｉｒｅｆはまた
0005776113.tif 000036
に等しい。Ｎｉｒｅｆはクラスｉの予想される要素の数である。
【００５１】
参照分布はマスクが４ビットでコード化された場合にΔｘの全数値で得られる１６分布の平均値であると考えられる。この場合におけるΧ２の数値は全分布の等質性を判定することを可能とする。参照として、Χ２は４ビットのマスクを用いた分布では２１．８９に等しい。この数値はＨＯ−ＤＰＡ攻撃で利用されやすい分布３１、３２、３３、３４、３５間の識別を避けるために可能な限り小さくなければならない。明示されない限り、このΧ２の数値はＨＯ−ＤＰＡ攻撃に対して防御するために可能な限り小さくなければならない。
【００５２】
本発明は、高次のものを含め、そのような観測攻撃に対して同一のマスクの活動の様々な分布間の相違または差を減らすことによって防御することを可能とする。例として、４ビットでコード化されるマスクが以下で考慮される。
【００５３】
特に、例えば図２を参照すると、本発明はマスクｍを含むレジスタＭの活動を、マスクされる変数
0005776113.tif 000037
を含むレジスタＲの活動と独立にする。変数ｘがこれら２つのレジスタ２２、２３に特有の消費の分布に影響を与えないとすれば、Ｐｅｅｔｅｒｓらによる文献に記載されているようなＨＯ−ＤＰＡ攻撃を成功裏に行うことはもはや不可能である。
平衡は、マスクされる変数のパスに触れることなく、マスクのパスの構成を変形することによって攻撃されうる。
提案された変形は、マスクを変換することにより空間において、またはマスクの発展を変化させることにより時間において行われる。有利には、本発明はマスクの変換に関する。
本発明によればいくつかのマスクの変形が可能である。
【００５４】
図４はマスクの第１の変形可能性、全単射による変形を示す。この場合、Ｂで表される全単射変換４１が、マスクレジスタ２３（レジスタＭ）と、Ｓ−ｂｏｘ２１との間に関数Ｓ’を用いて挿入される。Ｂ−１で表される逆全単射変換４２はＳ−ｂｏｘの出力において適用される。したがって、Ｓ−ｂｏｘ  Ｓ’により送達されるマスクｍ’はレジスタＭに格納される前に全単射変換Ｂ−１を経る。全単射は変数
0005776113.tif 000038
とＢ（ｍ）との間の活動の相関を変更するために、ｍとその画像Ｂ（ｍ）との間のＨａｍｍｉｎｇ距離が必ずしもゼロであるとは限らない。全単射Ｂの実装は既定のテーブルを通じて行うことができる。
【００５５】
Ｓ−ｂｏｘ  Ｓ’からの出力時のマスクｍ’は実際マスクされる変数により使用される。図４はマスクのパスを示す。
【００５６】
図５は図４により示されるような全単射によるマスクの変換後に得られる、図３の場合のように４ビットで、したがって０から８まで変化することができる同様の活動数値でコード化されるマスクの１６数値のΔｘの１６の分布５１を示す。これらの分布５１は図３の分布との対比においてわずかな相互差を示す。活動の分布はよりずっと等質であり、これはこの全単射変換で、図３の分布に該当する２１．８９という数値と比較して、平均値１．８５が得られるΧ２検定によって確認されている。
【００５７】
図６は本発明による別の変形可能性を示す。それは分解によるマスクの変形を伴う。この場合、マスクｍは、
ｍ＝ｍ１θｍ２
となるように、２つのサブマスクｍ１とｍ２とに分解される。
θは前述の演算子θのような群内部の合成法則を実現する。θは群演算子であり、それは逆演算子θ−１を容認する。
【００５８】
前の図のレジスタＭは、したがって２つのレジスタ２３１、２３２と交換できる。１つのレジスタＭ１は数値ｍ１を含み、および１つのレジスタＭ２は数値ｍ２を含む。これらのレジスタの出力は合成法則θを実現する回路６１に接続される。特に図２および４に示される前のパスのように、この演算子６１からの出力時、マスクｍはＳ−ｂｏｘ  Ｓ’、２１により新しいマスクｍ’に変換される前に演算ｍ＝ｍ１θｍ２により再構成される。
【００５９】
逆演算θ−１はＳ−ｂｏｘ  Ｓ’２１の出力に配置される演算子６２により実施される。この演算子はｍ’１＝ｍ’θ−１ｍ’２になるようにマスクｍ’をｍ’１とｍ’２とに分離することを可能とする。マスクｍ’２は図６に示されるような乱数生成器ＲＮＧにより生成されてもよい。暗号化アルゴリズムの各繰り返しにおいて、ｍ２を含むレジスタＭ２は乱数生成器７１で作り出された新しい数値ｍ’２をとる。ｍ１を含むレジスタＭ１は新しい数値ｍ’１＝ｍ’θ−１ｍ’２をとり、この数値は、Ｓ−ｂｏｘ２１により提供される入力データｍ’および乱数生成器７１により提供される入力データｍ’２に基づき群演算θ−１を実施する演算子６２により送達される。
【００６０】
マスクされる変数
0005776113.tif 000039
を含むレジスタＲならびに２つのレジスタＭ１およびＭ２のレベルにおける活動Ａはしたがって、
0005776113.tif 000040
になる。
【００６１】
この活動モデルを考慮すると、Χ２検定は様々な法則θに適用され、その結果は例として以下の表で示される。
【００６２】
【表１】
0005776113.tif 000041
【００６３】
この表は平衡分布を得るために加算＋および乗算＊のような簡単な演算子が使用されてもよいことを示し、得られる結果はそれぞれ０．３１と０．３６であり、それによって分布間を識別するために取得される極めて大きい数の消費トレースに対する攻撃を阻止する。全単射Ｂによる変換は１．８５という結果を得ることを可能とする。
【００６４】
有利には、続いて記載される法則αはゼロΧ２、つまり考えられる活動モデルという点において完全に同一の分布を有することを可能とし、したがって高次の攻撃に耐性がある。
【００６５】
図７は４ビット変数を用いたおよび法則αを考慮した１６の可能な分布７０を示す。
【００６６】
ＸＯＲ論理演算子で得られる分布ではΧ２の数値を十分に減少できない。その理由は、それらがＨａｍｍｉｎｇ重量Δｘの等価の関数、
0005776113.tif 000042
として２つの大きな分布のクラスを発生させるためである。Δｘが偶数ならば、活動は常に偶数の数値を有するが、Δｘが奇数ならば、活動は常に偶数の数値を有する。
【００６７】
図８は前の解決策と類似しているが、計算を初期設定すること以外には乱数生成器を使用せずに結果を得る例示的な実装を示す。各周期において乱数生成器の使用に関するオーバーヘッドを避けるために、２つのサブマスクのうち１つは前の例で生成された確率変数を置き換えることができる。例えば、レジスタＭ１、２３１から生じるサブマスクを使用することが可能である。レジスタＭ１から生じるこのサブマスクはレジスタＭ２、２３２に保存され、周期の最後に、レジスタＭ１は完全なマスクを再構築するために新しいマスクｍ’１をその部分で受容する。したがって、各周期において生成される新しいマスクはｍ’＝ｍ’１θｍ１であり、次の周期において生成される新しいマスクはｍ’’＝ｍ’’１θｍ’１等々である。
【００６８】
図９はＤＥＳアルゴリズムのマスキングの例を示す。この図では、可読性の目的のため拡張関数および置換関数は無視されている。
【００６９】
ＤＥＳアルゴリズムについては、あらゆるＦｅｉｓｔｅｌ方式のようにデータパスは２つの部分、左と右とに分割される。
特に、前の例のマスクされる変数レジスタ２２は２つのレジスタ、左のレジスタ２２１と右のレジスタ２２２とに分割される。
【００７０】
マスキング部分については、１つが右のレジスタＭＲおよびもう１つが左のレジスタＭＬである２つのマスクレジスタ９１、９２に加えて、２つのマスクを左と右とに分解するために、Ｍで表される第３のレジスタ９３が付加される。ＤＥＳアルゴリズムの実装では図７および８に関して前に示された解決策が、各周期において乱数生成器を使用せずに、しかし３つの連鎖したレジスタを使用することにより利用される。レジスタＭＲはサブマスクｍｒ１を含み、レジスタＭＬはサブマスクｍｌ２を含む。レジスタＭはサブマスクｍｌ１に等しいサブマスクｍｒ２を含む。右のｍｒおよび左のｍｌマスクの実効値はそれぞれレジスタＭＲおよびＭＬに含まれ、以下の関係によって得られる。
−ｍｒ＝ｍｒ１θｍｒ２
−ｍｌ＝ｍｌ１θｍｌ２
【００７１】
群関係θを実行する演算子６１１、６１２が上の２つの演算を実施するためにレジスタＭＲ、Ｍ、ＭＬの出力に配置される。右のマスクｍｒはＳ−ｂｏｘ  Ｓ’、２１により新しい右のマスクｍ’ｒに変換され、後に暗号化されるＳ−ｂｏｘ２１のもう１つの入力はマスクされる変数
0005776113.tif 000043
であり、右のレジスタＲ２２２から来る。新しい右のマスクｍ’ｒはマスクｍｌと組み合わされて演算θ−１を実行する演算子６２への入力時に
0005776113.tif 000044
を行う。後者は
0005776113.tif 000045
をｍ’ｒ２と組み合わせる。図８の例に類似する方式において、演算子６２への入力時のサブマスクｍ’ｒ２は乱数生成器によって提供されないが、レジスタＭＲにより送達されるサブマスクｍｒｌに等しい。各レジスタ２２１、２２２、９１、９２、９３は初期数値９４、９５、９６、９７を受容する。
【００７２】
以下の表に、後３つのカラムにおいてはマスクレジスタ９１、９２、９３で、および前の２つのカラムにおいてはマスクされる変数レジスタ２２１、２２２で同程度によく使用されるマスクが３つの連続するラウンドについて示される。
【００７３】
【表２】
0005776113.tif 000046
【００７４】
この表はマスクレジスタで使用されるマスクとマスクされる変数レジスタで使用されるものとは異なり、したがって特にＨＯ−ＤＰＡタイプの攻撃の回避を可能とすることを示す。
【００７５】
関数αの実装により平衡分布を有することが可能となり、したがって、Χ２０．１が図１０で示される。
【００７６】
この法則はΔｍ２が決してゼロにならないという事実に依存する。実際、ｍの変分、Δｍ＝Δｍ２＝０ならば、Δｍ１は０にも等しいことを群法則θは示唆している。この場合、前の式（４）により得られる活動はΔｘがゼロの場合にのみゼロとなりうる。ゼロ活動を得るためのΔｘの他の数値が存在しないため、これは活動がΔｘの全数値において決して完全に平衡しないことを示す。一方、Δｍ２の数値が非ゼロならば、活動分布の完全な平衡を満たすこと、およびしたがってΧ２＝０を得ることを可能とする法則が存在しうる。マスキングの不可能性の証明に関しては、特にＧ．Ｐｉｒｅｔらによる文献、Ｓｅｃｕｒｉｔｙ  Ａｎａｌｙｓｉｓ  ｏｆ  Ｈｉｇｈｅｒ−Ｏｒｄｅｒ  Ｂｏｏｌｅａｎ  Ｍａｓｋｉｎｇ  Ｓｃｈｅｍｅｓ  ｆｏｒ  Ｂｌｏｃｋ  Ｃｉｐｈｅｒｓ，  ＩＥＴ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｃｕｒｉｔｙ，  ２（１）：１−１１，  ２００８で想定されるように、本発明は２つのマスクｍ１とｍ２との間に接続関係を提供し、これはＧ．Ｐｉｒｅｔらによる文献では考慮されていない。
【００７７】
例として２ビットの連続パケット毎のサブマスクを考慮すると、したがってよくあるように偶数のビットを有するこのマスクは、αと呼ばれる以下の法則によりΔｘの数値が何であっても平衡分布を得ることを可能とする。ｍ２ＭＳＢで表される、サブマスクｍ２の高次のビットおよびｍ２ＬＳＢで表される低次のビットで形成される２ビットの群は、法則αによるマスクの生成に以下の方式で条件を設ける。
−２ビットの群毎、Δｍ２＝１
−ｍ２ＭＳＢ＝１ならば、
0005776113.tif 000047
または、ｍ２ＭＳＢ＝０ならば、ｍ＝ｍ１
【００７８】
この法則αはインボリュート形式であり、Ｓ−ｂｏｘ２１への入力時に演算子６１により実装される。
【００７９】
図１０は、Ｓ−ｂｏｘ２１の出力に位置して、２つのマスクビットの群のために関数ｍ’１＝ｍ’α−１ｍ’２を実装する、演算子６２の可能とされる例示的な実装１００をさらに示す。
【００８０】
回路１００では乱数生成器１０１を使用してサブマスクｍ２を生成する。この発生器１０１によって生成される確率変数は、ｍ’２ＭＳＢおよびｍ’２ＬＳＢを入力として受容する符号器１０２において、条件Δｍ’２＝１を確実にするためにＧｒａｙコード化される（または交番２進コード）レジスタＭ２において増分または減分のどちらかを選択する。Ｓ−ｂｏｘ２１により生成されるマスクｍ’から開始され、演算子６２はその高次のビットｍ’１ＭＳＢが
0005776113.tif 000048
に等しいサブマスクｍ’１を送達する。ｍ’ＭＳＢは、符号器１０２への入力時に生成される確率変数に従って数値０または１をとるｍ’およびｍ’２ＭＳＢの高次のビットである。低次のビットｍ’ｌＬＳＢはｍ’２ＭＳＢの数値がそれぞれ０または１に等しい場合、ｍ’ＭＳＢまたは
0005776113.tif 000049
に等しい。
【００８１】
図１１ａ、１１ｂおよび１１ｃには新しいマスクｍ’を生成する換字ボックスＳ’、２１を生成するための可能な改良物が示される。
ボックスＳ’はいくつかの頑強性および複雑性のレベルによりＸＯＲゲートとＲＯＭメモリとを混合して生成してもよい。
【００８２】
図１１ａには、非マスク化情報ｘおよび新しいマスクｍ’を再構築するために２つのボックスＳ、１および２つのＸＯＲゲート１１０、１１１を使用する第１の解決策が示される。したがって、第１のゲート１１１を介して
0005776113.tif 000050
が得られ、第２のゲート１１２は
0005776113.tif 000051
を用いて新しいマスクｍ’をボックスＳ’からの出力として送達する。
【００８３】
図１１ｂにより示される第２の解決策では、ＸＯＲゲートの論理および図１１ａの配列のボックスＳの換字を実行するためにＲＯＭメモリ１１３を使用する。メモリはしたがって２つのワード、ｍおよび
0005776113.tif 000052
を受容する。
【００８４】
図１１ｃでは、ランダムレジスタ７１無しの空間的な分解に適用されうる第３の解決策が示される。この解決策では３ワード、
0005776113.tif 000053
と、ｍ１と、ｍ２とを受容するＲＯＭメモリ１１４が使用される。このメモリは論理と、図１１ｂの解決策のメモリ１１３によって実行される関数１１５と、関数１１５への入力時にマスクｍを再構築するための群法則θと、例えばこの関数１１５からの出力時の逆群法則θ−１（ｉｎｖｅｒｓｅ  ｇｒｏｕｐ  ｌａｗ）とを一体化する。
【図１ａ】
0005776113.tif 000056
【図１ｂ】
0005776113.tif 000057
【図２】
0005776113.tif 000058
【図３】
0005776113.tif 000059
【図４】
0005776113.tif 000060
【図５】
0005776113.tif 000061
【図６】
0005776113.tif 000062
【図７】
0005776113.tif 000063
【図８】
0005776113.tif 000064
【図９】
0005776113.tif 000065
【図１０】
0005776113.tif 000066
【図１１ａ】
0005776113.tif 000067
【図１１ｂ】
0005776113.tif 000068
【図１１ｃ】
0005776113.tif 000069