説明

論理演算装置、論理演算方法およびプログラム

【課題】任意のデータ長の変数に対してマスキング処理を施し、論理演算を安全に実装する。
【解決手段】ソフトウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行い、変数がマスク処理されたソフトウェアの処理に含まれる論理演算命令を変換する。そして、変換された論理演算命令に基づいて、論理演算を実行し、論理演算処理後に、マスクされた変数から元の変数を復元する。したがって、ソフトウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行うため、任意のデータ長の変数に対してマスキング処理を施し、論理演算を安全に実行することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、変数をマスキングして論理演算を行う論理演算装置、論理演算方法およびプログラムに関する。
【背景技術】
【0002】
従来より、暗号アルゴリズムをソフトウェア又はハードウェアとして実装する際には、メモリダンプや電力解析等に対するセキュリティを考慮する必要がある。これらの攻撃に対する対策の1つとして、処理されるデータを乱数によりマスキングし、実行ごとに異なるデータをメモリ又は回路に出現させる方法がある。
【0003】
一方で、処理結果の整合性を保つため、マスキングしたデータに対しては、もとの演算命令を適切に変換した命令で処理を行う必要がある。なお、マスキングした変数に対し、任意の論理演算を実現する手法として非特許文献に記載されている技術が提案されている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Joan Daemen,Michael Peeters,and Gilles Van Assche,"Bitslice Ciphers and Power Analysis Attacks,"Proc.of Fast Software Encryption (FSE2000),Lecture Notes in Computer Science 1978,pp.134−149, 2000.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献1に記載の方式では、マスキングの対象となる変数は、1ビットの変数に限られるという制約がある。このため、この手法を1バイトのデータ長をもつ変数に適用する場合は、この変数の各ビットを新たな1ビットの変数として定義する必要がある。このため、変換後のプログラム又は回路の実行効率が低下するという課題があった。
【0006】
そこで、本発明は、上述の課題に鑑みてなされたものであり、任意のデータ長の変数に対してマスキング処理を施し、論理演算を安全に実装する論理演算装置、論理演算方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、上記の課題を解決するために以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。
【0008】
(1)本発明は、ソフトウェアの論理演算を秘匿化して実行する論理演算装置であって、前記ソフトウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行うマスク処理手段(例えば、図1のマスク処理部110に相当)と、前記変数がマスク処理されたソフトウェアの処理に含まれる論理演算命令を変換する変換手段(例えば、図1の変換部120に相当)と、該変換された論理演算命令に基づいて、論理演算を実行する論理演算手段(例えば、図1の論理演算部130に相当)と、該論理演算処理後に、マスクされた変数から元の変数を復元する復元手段(例えば、図1の復元部140に相当)と、を備えたことを特徴とする論理演算装置を提案している。
【0009】
この発明によれば、マスク処理手段は、ソフトウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行う。変換手段は、変数がマスク処理されたソフトウェアの処理に含まれる論理演算命令を変換する。論理演算手段は、変換された論理演算命令に基づいて、論理演算を実行する。復元手段は、論理演算処理後に、マスクされた変数から元の変数を復元する。したがって、ソフトウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行うため、任意のデータ長の変数に対してマスキング処理を施し、論理演算を安全に実行することができる。
【0010】
(2)本発明は、(1)の論理演算装置について、前記マスク処理手段は、前記ソフトウェアの各変数のデータ長のマスク値を生成し、該各変数と該マスク値との排他的論理和を実行することにより、マスク処理を行うことを特徴とする論理演算装置を提案している。
【0011】
この発明によれば、マスク処理手段は、ソフトウェアの各変数のデータ長のマスク値を生成し、各変数とマスク値との排他的論理和を実行することにより、マスク処理を行う。したがって、排他的論理和演算によりマスク処理を行うため、小さな演算負荷でマスク処理を実行することができる。
【0012】
(3)本発明は、(1)の論理演算装置について、前記変換手段は、表1の規則(但し、x、yは、マスク対象の変数を、X、Yは、変数x、yの値をマスクした値を格納するための変数を、aは、マスクされていない式を示す)にしたがって、前記変数がマスク処理されたソフトウェアの処理に含まれる論理演算命令を変換することを特徴とする論理演算装置を提案している。
【0013】
この発明によれば、変換手段は、表1の規則(但し、x、yは、マスク対象の変数を、X、Yは、変数x、yの値をマスクした値を格納するための変数を、aは、マスクされていない式を示す)にしたがって、変数がマスク処理されたソフトウェアの処理に含まれる論理演算命令を変換する。したがって、通常の演算処理により、論理演算を秘匿化しつつ、安全に実行することができる。
【0014】
(4)本発明は、(2)の論理演算装置について、前記復元手段は、前記マスク処理された各変数と前記マスク処理手段が生成するマスク値との排他的論理和を実行することにより、復元処理を行うことを特徴とする論理演算装置を提案している。
【0015】
この発明によれば、復元手段は、マスク処理された各変数とマスク処理手段が生成するマスク値との排他的論理和を実行することにより、復元処理を行う。したがって、マスク処理された各変数とマスク処理手段が生成するマスク値との排他的論理和を実行することで復元が行えるため、小さな演算負荷で復元処理を実行することができる。
【0016】
(5)本発明は、ハードウェアの論理演算を秘匿化して実行する論理演算装置であって、前記ハードウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行うマスク処理回路(例えば、図3のマスク処理回路210に相当)と、前記変数がマスク処理されたハードウェアの処理に含まれる論理演算命令を変換する変換回路(例えば、図3の変換回路220に相当)と、該変換された論理演算命令に基づいて、論理演算を実行する論理演算回路(例えば、図3の論理演算回路230に相当)と、該論理演算処理後に、マスクされた変数から元の変数を復元する復元回路(例えば、図3の復元回路240に相当)と、を備えたことを特徴とする論理演算装置を提案している。
【0017】
この発明によれば、マスク処理回路は、ハードウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行う。変換回路は、変数がマスク処理されたハードウェアの処理に含まれる論理演算命令を変換する。論理演算回路は、変換された論理演算命令に基づいて、論理演算を実行する。復元回路は、論理演算処理後に、マスクされた変数から元の変数を復元する。したがって、ハードウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行うため、任意のデータ長の変数に対してマスキング処理を施し、論理演算を安全に実行することができる。
【0018】
(6)本発明は、(5)の論理演算装置について、前記マスク処理回路は、前記ハードウェアの各変数のデータ長のマスク値を生成し、該各変数と該マスク値との排他的論理和を実行することにより、マスク処理を行うことを特徴とする論理演算装置を提案している。
【0019】
この発明によれば、マスク処理回路は、ハードウェアの各変数のデータ長のマスク値を生成し、各変数とマスク値との排他的論理和を実行することにより、マスク処理を行う。したがって、排他的論理和演算によりマスク処理を行うため、小さな演算負荷でマスク処理を実行することができる。
【0020】
(7)本発明は、(5)の論理演算装置について、前記変換回路は、表2の規則(但し、x、yは、マスク対象の変数を、X、Yは、変数x、yの値をマスクした値を格納するための変数を、aは、マスクされていない式を示す)にしたがって、前記変数がマスク処理されたハードウェアの処理に含まれる論理演算命令を変換することを特徴とする論理演算装置を提案している。
【0021】
この発明によれば、変換回路は、表2の規則(但し、x、yは、マスク対象の変数を、X、Yは、変数x、yの値をマスクした値を格納するための変数を、aは、マスクされていない式を示す)にしたがって、変数がマスク処理されたハードウェアの処理に含まれる論理演算命令を変換する。したがって、通常の演算処理により、論理演算を秘匿化しつつ、安全に実行することができる。
【0022】
(8)本発明は、(6)の論理演算装置について、前記復元回路は、前記マスク処理された各変数と前記マスク処理手段が生成するマスク値との排他的論理和を実行することにより、復元処理を行うことを特徴とする請求項6に記載の論理演算装置を提案している。
【0023】
この発明によれば、復元回路は、マスク処理された各変数とマスク処理手段が生成するマスク値との排他的論理和を実行することにより、復元処理を行う。したがって、マスク処理された各変数とマスク処理手段が生成するマスク値との排他的論理和を実行することで復元が行えるため、小さな演算負荷で復元処理を実行することができる。
【0024】
(9)本発明は、ソフトウェアの論理演算を秘匿化して実行する論理演算方法であって、前記ソフトウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行う第1のステップ(例えば、図2のステップS101に相当)と、前記変数が(例えば、図2のステップS102に相当)マスク処理されたソフトウェアの処理に含まれる論理演算命令を変換する第2のステップと、該変換された論理演算命令に基づいて、論理演算を実行する第3のステップ(例えば、図2のステップS103に相当)と、該論理演算処理後に、マスクされた変数から元の変数を復元する第4のステップ(例えば、図2のステップS104に相当)と、を備えたことを特徴とする論理演算方法を提案している。
【0025】
この発明によれば、ソフトウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行い、変数がマスク処理されたソフトウェアの処理に含まれる論理演算命令を変換する。そして、変換された論理演算命令に基づいて、論理演算を実行し、論理演算処理後に、マスクされた変数から元の変数を復元する。したがって、ソフトウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行うため、任意のデータ長の変数に対してマスキング処理を施し、論理演算を安全に実行することができる。
【0026】
(10)本発明は、ハードウェアの論理演算を秘匿化して実行する論理演算方法であって、前記ハードウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行う第1のステップ(例えば、図4のステップS201に相当)と、前記変数がマスク処理されたハードウェアの処理に含まれる論理演算命令を変換する第2のステップ(例えば、図4のステップS202に相当)と、該変換された論理演算命令に基づいて、論理演算を実行する第3のステップ(例えば、図4のステップS203に相当)と、該論理演算処理後に、マスクされた変数から元の変数を復元する第4のステップ(例えば、図4のステップS204に相当)と、を備えたことを特徴とする論理演算方法を提案している。
【0027】
この発明によれば、ハードウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行い、変数がマスク処理されたハードウェアの処理に含まれる論理演算命令を変換する。そして、変換された論理演算命令に基づいて、論理演算を実行し、論理演算処理後に、マスクされた変数から元の変数を復元する。したがって、ハードウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行うため、任意のデータ長の変数に対してマスキング処理を施し、論理演算を安全に実行することができる。
【0028】
(11)本発明は、ソフトウェアの論理演算を秘匿化して実行する論理演算方法をコンピュータに実行させるためのプログラムであって、前記ソフトウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行う第1のステップ(例えば、図2のステップS101に相当)と、前記変数がマスク処理されたソフトウェアの処理に含まれる論理演算命令を変換する第2のステップ(例えば、図2のステップS102に相当)と、該変換された論理演算命令に基づいて、論理演算を実行する第3のステップ(例えば、図2のステップS103に相当)と、該論理演算処理後に、マスクされた変数から元の変数を復元する第4のステップ(例えば、図2のステップS104に相当)と、をコンピュータに実行させるためのプログラムを提案している。
【0029】
この発明によれば、ソフトウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行い、変数がマスク処理されたソフトウェアの処理に含まれる論理演算命令を変換する。そして、変換された論理演算命令に基づいて、論理演算を実行し、論理演算処理後に、マスクされた変数から元の変数を復元する。したがって、ソフトウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行うため、任意のデータ長の変数に対してマスキング処理を施し、論理演算を安全に実行することができる。
【0030】
(12)本発明は、ハードウェアの論理演算を秘匿化して実行する論理演算方法をコンピュータに実行させるためのプログラムであって、前記ハードウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行う第1のステップ(例えば、図4のステップS201に相当)と、前記変数がマスク処理されたハードウェアの処理に含まれる論理演算命令を変換する第2のステップ(例えば、図4のステップS202に相当)と、該変換された論理演算命令に基づいて、論理演算を実行する第3のステップ(例えば、図4のステップS203に相当)と、該論理演算処理後に、マスクされた変数から元の変数を復元する第4のステップ(例えば、図4のステップS204に相当)と、をコンピュータに実行させるためのプログラムを提案している。
【0031】
この発明によれば、ハードウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行い、変数がマスク処理されたハードウェアの処理に含まれる論理演算命令を変換する。そして、変換された論理演算命令に基づいて、論理演算を実行し、論理演算処理後に、マスクされた変数から元の変数を復元する。したがって、ハードウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行うため、任意のデータ長の変数に対してマスキング処理を施し、論理演算を安全に実行することができる。
【発明の効果】
【0032】
本発明によれば、任意のデータ長の変数に対する論理演算の保護が可能となり、暗号アルゴリズム等を、ハードウェア又はソフトウェアで、安全かつ効率的に実装できるという効果がある。
【図面の簡単な説明】
【0033】
【図1】本発明の第1の実施形態に係る論理演算装置の構成を示す図である。
【図2】本発明の第1の実施形態に係る論理演算装置の処理を示す図である。
【図3】本発明の第2の実施形態に係る論理演算装置の構成を示す図である。
【図4】本発明の第2の実施形態に係る論理演算装置の処理を示す図である。
【発明を実施するための形態】
【0034】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0035】
<第1の実施形態>
図1および図2を用いて、本発明の第1の実施形態について説明する。なお、本実施形態は、ソフトウェアにより論理演算処理を行う論理演算装置に関するものである。
【0036】
<論理演算装置の構成>
図1に示すように、本実施形態に係る論理演算装置は、マスク処理部110と、変換部120と、論理演算部130と、復元部140とから構成されている。
【0037】
マスク処理部110は、ソフトウェアの先頭に設けられ、ソフトウェアの各変数のデータ長と同一のデータ長を有するマスク値を生成し、このマスク値により、各変数のマスク処理を行う。なお、各変数をマスクする処理を追加する変数のマスクには、排他的論理和演算を用いる。例えば、変数x、yに格納されている値は、数1に示すように、マスク値Mとの排他的論理和を取り、変数X、Yに格納する。
【0038】
【数1】

【0039】
変換部120は、ソフトウェアの処理に含まれる論理演算命令を、数2に従い置き換える。ここで、xとyはマスク対象の変数であり、aはマスクされていない式を意味する。また、変数XおよびYは、それぞれ変数xおよびyの値をマスクした値を格納するための変数である。
【0040】
【数2】

【0041】
論理演算部130は、変換された論理演算命令に基づいて、論理演算を実行する。
【0042】
復元部140は、ソフトウェアの末尾に設けられ、論理演算処理後に、マスクされた変数から元の変数を復元する。つまり、マスクされた変数の値とマスク値の排他的論理和をとることで、元の変数の値を復元できる。例えば、変数X、Yに格納されているマスクされた値からは、数3の手順で元の変数x、yの値が復元できる。
【0043】
【数3】

【0044】
<論理演算装置の処理>
図2を用いて、本実施形態に係る論理演算装置の処理について説明する。
まず、マスク処理部110がソフトウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行う(ステップS101)。変換部120は、変数がマスク処理されたソフトウェアの処理に含まれる論理演算命令を変換する(ステップS102)。
【0045】
論理演算部130は、変換された論理演算命令に基づいて、論理演算を実行する(ステップS103)。そして、復元部140は、論理演算処理後に、マスクされた変数から元の変数を復元する(ステップS104)。
【0046】
以上、説明したように、本実施形態によれば、ソフトウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行うため、任意のデータ長の変数に対してマスキング処理を施し、論理演算を安全に実行することができる。
【0047】
<第2の実施形態>
図3および図4を用いて、本発明の第2の実施形態について説明する。なお、本実施形態は、ハードウェアにより論理演算処理を行う論理演算装置に関するものである。
【0048】
<論理演算装置の構成>
図3に示すように、本実施形態に係る論理演算装置は、マスク処理回路210と、変換回路220と、論理演算回路230と、復元回路240とから構成されている。
【0049】
マスク処理回路210は、ハードウェアの先頭に設けられ、ハードウェアの各変数のデータ長と同一のデータ長を有するマスク値を生成し、このマスク値により、各変数のマスク処理を行う。なお、各変数をマスクする処理を追加する変数のマスクには、排他的論理和演算を用いる。例えば、変数x、yに格納されている値は、数4に示すように、マスク値Mとの排他的論理和を取り、変数X、Yに格納する。
【0050】
【数4】

【0051】
変換回路220は、ハードウェアの処理に含まれる論理演算命令を、数5に従い置き換える。ここで、xとyはマスク対象の変数であり、aはマスクされていない式を意味する。また、変数XおよびYは、それぞれ変数xおよびyの値をマスクした値を格納するための変数である。
【0052】
【数5】

【0053】
論理演算回路230は、変換された論理演算命令に基づいて、論理演算を実行する。
【0054】
復元回路240は、ハードウェアの末尾に設けられ、論理演算処理後に、マスクされた変数から元の変数を復元する。つまり、マスクされた変数の値とマスク値の排他的論理和をとることで、元の変数の値を復元できる。例えば、変数X、Yに格納されているマスクされた値からは、数6の手順で元の変数x、yの値が復元できる。
【0055】
【数6】

【0056】
<論理演算装置の処理>
図4を用いて、本実施形態に係る論理演算装置の処理について説明する。
まず、マスク処理回路210がハードウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行う(ステップS201)。変換回路220は、変数がマスク処理されたハードウェアの処理に含まれる論理演算命令を変換する(ステップS202)。
【0057】
論理演算回路230は、変換された論理演算命令に基づいて、論理演算を実行する(ステップS203)。そして、復元回路240は、論理演算処理後に、マスクされた変数から元の変数を復元する(ステップS204)。
【0058】
以上、説明したように、本実施形態によれば、ハードウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行うため、任意のデータ長の変数に対してマスキング処理を施し、論理演算を安全に実行することができる。
【0059】
<実施例>
以下に、数7の命令を変換する例について説明する。なお、ここで、xとyの双方をマスクの対象とする。
【0060】
【数7】

【0061】
数8の変換規則を用いると、まず、数7は、排他的論理和の可換性により、数9に変形される。
【0062】
【数8】

【0063】
【数9】

【0064】
次に、数8の規則番号9を適用して、数9が数10に変換される。
【0065】
【数10】

【0066】
さらに、数8の規則番号11を適用して、数10が数11に変換される。
【0067】
【数11】

【0068】
そして、マスク処理および復元処理を追加すると、数12に示す命令列が得られる。
【0069】
【数12】

【0070】
なお、論理演算装置の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを論理演算装置に読み込ませ、実行することによって本発明の論理演算装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
【0071】
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0072】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0073】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0074】
110;マスク処理部
120;変換部
130;論理演算部
140;復元部
210;マスク処理回路
220;変換回路
230;論理演算回路
240;復元回路

【特許請求の範囲】
【請求項1】
ソフトウェアの論理演算を秘匿化して実行する論理演算装置であって、
前記ソフトウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行うマスク処理手段と、
前記変数がマスク処理されたソフトウェアの処理に含まれる論理演算命令を変換する変換手段と、
該変換された論理演算命令に基づいて、論理演算を実行する論理演算手段と、
該論理演算処理後に、マスクされた変数から元の変数を復元する復元手段と、
を備えたことを特徴とする論理演算装置。
【請求項2】
前記マスク処理手段は、前記ソフトウェアの各変数のデータ長のマスク値を生成し、該各変数と該マスク値との排他的論理和を実行することにより、マスク処理を行うことを特徴とする請求項1に記載の論理演算装置。
【請求項3】
前記変換手段は、表1の規則(但し、x、yは、マスク対象の変数を、X、Yは、変数x、yの値をマスクした値を格納するための変数を、aは、マスクされていない式を示す)にしたがって、前記変数がマスク処理されたソフトウェアの処理に含まれる論理演算命令を変換することを特徴とする請求項1に記載の論理演算装置。
【表1】

【請求項4】
前記復元手段は、前記マスク処理された各変数と前記マスク処理手段が生成するマスク値との排他的論理和を実行することにより、復元処理を行うことを特徴とする請求項2に記載の論理演算装置。
【請求項5】
ハードウェアの論理演算を秘匿化して実行する論理演算装置であって、
前記ハードウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行うマスク処理回路と、
前記変数がマスク処理されたハードウェアの処理に含まれる論理演算命令を変換する変換回路と、
該変換された論理演算命令に基づいて、論理演算を実行する論理演算回路と、
該論理演算処理後に、マスクされた変数から元の変数を復元する復元回路と、
を備えたことを特徴とする論理演算装置。
【請求項6】
前記マスク処理回路は、前記ハードウェアの各変数のデータ長のマスク値を生成し、該各変数と該マスク値との排他的論理和を実行することにより、マスク処理を行うことを特徴とする請求項5に記載の論理演算装置。
【請求項7】
前記変換回路は、表2の規則(但し、x、yは、マスク対象の変数を、X、Yは、変数x、yの値をマスクした値を格納するための変数を、aは、マスクされていない式を示す)にしたがって、前記変数がマスク処理されたハードウェアの処理に含まれる論理演算命令を変換することを特徴とする請求項5に記載の論理演算装置。
【表2】

【請求項8】
前記復元回路は、前記マスク処理された各変数と前記マスク処理手段が生成するマスク値との排他的論理和を実行することにより、復元処理を行うことを特徴とする請求項6に記載の論理演算装置。
【請求項9】
ソフトウェアの論理演算を秘匿化して実行する論理演算方法であって、
前記ソフトウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行う第1のステップと、
前記変数がマスク処理されたソフトウェアの処理に含まれる論理演算命令を変換する第2のステップと、
該変換された論理演算命令に基づいて、論理演算を実行する第3のステップと、
該論理演算処理後に、マスクされた変数から元の変数を復元する第4のステップと、
を備えたことを特徴とする論理演算方法。
【請求項10】
ハードウェアの論理演算を秘匿化して実行する論理演算方法であって、
前記ハードウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行う第1のステップと、
前記変数がマスク処理されたハードウェアの処理に含まれる論理演算命令を変換する第2のステップと、
該変換された論理演算命令に基づいて、論理演算を実行する第3のステップと、
該論理演算処理後に、マスクされた変数から元の変数を復元する第4のステップと、
を備えたことを特徴とする論理演算方法。
【請求項11】
ソフトウェアの論理演算を秘匿化して実行する論理演算方法をコンピュータに実行させるためのプログラムであって、
前記ソフトウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行う第1のステップと、
前記変数がマスク処理されたソフトウェアの処理に含まれる論理演算命令を変換する第2のステップと、
該変換された論理演算命令に基づいて、論理演算を実行する第3のステップと、
該論理演算処理後に、マスクされた変数から元の変数を復元する第4のステップと、
をコンピュータに実行させるためのプログラム。
【請求項12】
ハードウェアの論理演算を秘匿化して実行する論理演算方法をコンピュータに実行させるためのプログラムであって、
前記ハードウェアの各変数のデータ長と同一のマスク値により、各変数のマスク処理を行う第1のステップと、
前記変数がマスク処理されたハードウェアの処理に含まれる論理演算命令を変換する第2のステップと、
該変換された論理演算命令に基づいて、論理演算を実行する第3のステップと、
該論理演算処理後に、マスクされた変数から元の変数を復元する第4のステップと、
をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2012−4888(P2012−4888A)
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願番号】特願2010−138395(P2010−138395)
【出願日】平成22年6月17日(2010.6.17)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】