JP2006217193A - 暗号処理装置および暗号処理方法 - Google Patents
暗号処理装置および暗号処理方法 Download PDFInfo
- Publication number
- JP2006217193A JP2006217193A JP2005027159A JP2005027159A JP2006217193A JP 2006217193 A JP2006217193 A JP 2006217193A JP 2005027159 A JP2005027159 A JP 2005027159A JP 2005027159 A JP2005027159 A JP 2005027159A JP 2006217193 A JP2006217193 A JP 2006217193A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- modulo
- data
- cryptographic processing
- remainder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】中国人剰余定理によるRSA処理を行う暗号処理装置で、消費電力と処理内容の関連性を減らすことでCRT再結合計算に対する消費電力解析を用いたアタックを困難にする。
【解決手段】2つの素数pとqと、その積Nと、(p-1)*(q-1)と互いに素である整数eと、(p-1)*(q-1)を法としたeの逆元dと、(p-1)を法としたdの剰余dpと、(q-1)を法としたdの剰余dqと、pを法としたqの逆元uのうち、(p, q, u, dp, dq)を秘密鍵に用いて暗号処理を行う暗号処理装置で、秘密鍵を格納する記憶手段と、メッセージMを外部より受信する通信手段と、暗号処理を行う情報処理手段を有し、べき乗剰余Cp=(Mp^dp) mod pとCq=(Mq^dp) mod qの計算処理と、uより小さい乱数r1の生成処理と、r2=u-r1の計算処理と、剰余C0=(Cp-Cq) mod pの計算処理と、乗算剰余C1 = (C0*r1) mod pとC2 = (C0*r2) mod pの計算処理と、Z1 = C1*qとZ2 = C2*qの計算処理と、Z=(Z1+Z2) mod N + Cqの計算処理を行いZを暗号処理結果とする。
【選択図】図6
【解決手段】2つの素数pとqと、その積Nと、(p-1)*(q-1)と互いに素である整数eと、(p-1)*(q-1)を法としたeの逆元dと、(p-1)を法としたdの剰余dpと、(q-1)を法としたdの剰余dqと、pを法としたqの逆元uのうち、(p, q, u, dp, dq)を秘密鍵に用いて暗号処理を行う暗号処理装置で、秘密鍵を格納する記憶手段と、メッセージMを外部より受信する通信手段と、暗号処理を行う情報処理手段を有し、べき乗剰余Cp=(Mp^dp) mod pとCq=(Mq^dp) mod qの計算処理と、uより小さい乱数r1の生成処理と、r2=u-r1の計算処理と、剰余C0=(Cp-Cq) mod pの計算処理と、乗算剰余C1 = (C0*r1) mod pとC2 = (C0*r2) mod pの計算処理と、Z1 = C1*qとZ2 = C2*qの計算処理と、Z=(Z1+Z2) mod N + Cqの計算処理を行いZを暗号処理結果とする。
【選択図】図6
Description
本発明は、ICカード等の暗号処理を行う暗号処理装置および情報処理方法に関する。
ICカードは、記憶装置、演算装置および外部入出力装置を内蔵しているICチップを搭載している。このICチップは、ICカード用のリーダライタから電力供給を受けることで動作し、リーダライタから受信したデータに基づいてICチップ内部で情報処理を行うことが可能である。また、ICカードはICチップ内部に格納している情報を、外部から容易に観察することができないといった特徴を有している。このため、ICカードは個人情報等の機密データを格納したり、ICカード内部で暗号処理を行うことで認証やデータ保護を行ったりするために用いられる。
ICカードで使用する暗号アルゴリズムとしては、RSAが広く用いられている。RSAは公開鍵暗号方式であり、データの暗号化と復号化、およびデジタル署名の作成と検証を行うことが可能である。RSAの詳細については非特許文献1に詳しい。また、RSAによるデータの復号化およびデジタル署名の作成を高速に演算するための手法として、中国人剰余定理(Chinese Remainder Theorem)を用いた計算アルゴリズムが広く知られている。
ICカードで使用する暗号アルゴリズムとしては、RSAが広く用いられている。RSAは公開鍵暗号方式であり、データの暗号化と復号化、およびデジタル署名の作成と検証を行うことが可能である。RSAの詳細については非特許文献1に詳しい。また、RSAによるデータの復号化およびデジタル署名の作成を高速に演算するための手法として、中国人剰余定理(Chinese Remainder Theorem)を用いた計算アルゴリズムが広く知られている。
図1に中国人剰余定理を用いたRSA計算の処理フローを示す。まず、ステップS1001で秘密鍵(p, q, u, dp, dq)を入力する。ここで、pとqは秘密素数、uは、pを法としたqの逆元、dpは秘密指数dの(p-1)を法とした剰余、dqは秘密指数dの(q-1)を法とした剰余である。次にステップS1002としてメッセージMを入力する。次にステップS1003として、pを法としたMの剰余Mpと、qを法としたMの剰余Mqを計算する。ここで数式 A mod BはBを法としたAの剰余を表す。次にステップS1004として、dpを指数かつpを法としたMpのべき乗剰余Cpと、dqを指数かつqを法としたMqのべき乗剰余Cqを計算する。ここで数式A^B mod CはBを指数かつCを法としたAのべき乗剰余を表す。次にステップS1005として、pを法とした(Cp-Cq)とuの乗算剰余Cを計算し、Cとqの乗算結果にCqを加算したものをZとする。ZはRSAによる復号結果あるいはRSAによるデジタル署名結果である。ここで以降の説明では、ステップS1005で行う処理をCRT再結合計算と呼ぶ。最後にステップS1006として、Zを出力する。
さて、ICカード内部で暗号処理を行う場合は、予め暗号処理用の秘密鍵をICカード内部の記憶装置に格納しておき、この秘密鍵を用いて暗号処理を行う。従来においては、ICカード内部で暗号処理した内容やICカード内部に格納している秘密鍵を解読する困難さは、暗号処理に用いる暗号アルゴリズムを解読する困難さと同等であり、RSA暗号などの安全な暗号アルゴリズムを用いれば、ICカード内部の機密データを保護できると考えられていた。
一方で、ICカードが有するICチップはトランジスタで構成された論理回路から構成され,トランジスタのゲートに電圧が加えられたときに電流が流れ,電力が消費される。この消費電力は,実行している演算と用いられているデータの値に関係する場合がある。このため、ICカードが暗号処理を行っている時の消費電力を観察して解析することで、暗号処理の内容や秘密鍵を推定できる可能性があることが、近年において分かってきている。ここで、消費電力の変化を直接解析に用いる方法を単純電力解析(SPA: Simple Power Analysis)と呼ぶ。
一方で、ICカードが有するICチップはトランジスタで構成された論理回路から構成され,トランジスタのゲートに電圧が加えられたときに電流が流れ,電力が消費される。この消費電力は,実行している演算と用いられているデータの値に関係する場合がある。このため、ICカードが暗号処理を行っている時の消費電力を観察して解析することで、暗号処理の内容や秘密鍵を推定できる可能性があることが、近年において分かってきている。ここで、消費電力の変化を直接解析に用いる方法を単純電力解析(SPA: Simple Power Analysis)と呼ぶ。
さらに、暗号処理の内容や秘密鍵の違いによる消費電力の変化が小さく,測定誤差やノイズなどから見分けることが困難であっても、繰り返し暗号処理を行わせ、大量の消費電力の測定値から平均を得ることで、測定誤差やノイズなどの影響を除去し、暗号処理の内容や秘密鍵の違いによる消費電力の変化のみを取り出す方法が考案されている。この解析方法は電力差分解析(DPA: Differential Power Analysis)と呼ばれている。DPAについては非特許文献2に詳しい。
岡本龍明「現代暗号」,産業図書, 1997, p110-p113
P. Kocher, J. Jaffe, B. Jun, "Differential Power Analysis", Advances in Cryptology: Proceedings of CRYPTO '99, Springer-Verlag, 1999, pp.388-397.
非特許文献2によると、中国人剰余定理を用いたRSAの計算アルゴリズムは、DPAによるアタックポイントが存在する。例えば図1のステップS1005で示したCRT再結合計算が一つのアタックポイントとなる。そこで、本発明の目的は、ICカード等の暗号処理装置で、中国人剰余定理を用いたRSA処理を行う場合に、消費電力と処理内容の関連性を減らすことで、CRT再結合計算に対する消費電力解析を用いたアタックを困難にする、暗号処理方法を提供することにある。
上記目的を実現するために、本発明に係わる暗号処理装置は、二つの素数pとqと、pとqの積Nと、(p-1)*(q-1)と互いに素である整数eと、(p-1)*(q-1)を法としたeの逆元dと、(p-1)を法としたdの剰余dpと、(q-1)を法としたdの剰余dqと、pを法としたqの逆元uのうち、(p, q, u, dp, dq)を秘密鍵に用いて暗号処理を行う機能を有する暗号処理装置であって、該暗号処理装置は、該秘密鍵を格納する記憶手段と、メッセージMを外部より受信する通信手段と、暗号処理を行う情報処理手段を有し、該情報処理手段は、dpを指数かつpを法としたMのべき乗剰余Cpと、dqを指数かつqを法としたMのべき乗剰余Cqを計算する処理と、値がuより小さい乱数r1を生成する処理と、uからr1を減算してr2を計算する処理と、CpからCqを減算した値のpを法とした剰余C0を計算する処理と、pを法としたC0とr1の乗算剰余C1と、C0とr2の乗算剰余C2を計算する処理と、C1とqの乗算Z1 と、C2とqの乗算Z2を計算する処理と、Z1とZ2を加算した値のNを法とした剰余 にCqを加算してZを計算する処理を行い、Zを暗号処理結果とする。
本発明によれば、ICカード等の暗号処理装置で、中国人剰余定理を用いたRSA処理を行う場合に、消費電力と処理内容の関連性を減らし、CRT再結合計算に対するDPAを用いたアタックを困難にする、暗号処理方法を提供することができる。
以下、本発明の実施形態について説明していく。
まず、図2に本実施形態に係わるICカードの構成を示す。図2において、101はICカードであり、ICチップ102と、アンテナ103を有する。ICチップ102は表面に接触端子を有し、接触型ICカード用リーダライタとの間で接触通信を行う。ここで、接触通信の仕様は、接触型ICカードの国際標準仕様であるISO/IEC7816に従うことが考えられる。あるいは他の通信方法に従っていても本発明の適用範囲である。またICチップ102は非接触通信機能を有しており、アンテナ103を介して、非接触型ICカード用リーダライタとの間で非接触通信を行うことが可能である。
まず、図2に本実施形態に係わるICカードの構成を示す。図2において、101はICカードであり、ICチップ102と、アンテナ103を有する。ICチップ102は表面に接触端子を有し、接触型ICカード用リーダライタとの間で接触通信を行う。ここで、接触通信の仕様は、接触型ICカードの国際標準仕様であるISO/IEC7816に従うことが考えられる。あるいは他の通信方法に従っていても本発明の適用範囲である。またICチップ102は非接触通信機能を有しており、アンテナ103を介して、非接触型ICカード用リーダライタとの間で非接触通信を行うことが可能である。
ここで、非接触通信の仕様は、非接触型ICカードの国際標準仕様であるISO/IEC14443に従うことが考えられる。あるいは他の通信方法に従っていても本発明の適用範囲である。なお、本実施例においては、ICチップ102は接触通信機能と非接触通信機能を有する構成になっているが、接触通信機能と非接触通信機能のいずれかを有している場合でも、本発明の適用範囲である。
次に、ICチップ102の内部構成を図3に示す。図3において、201は情報処理装置、202はコプロセッサ、203は乱数生成器、204は接触通信部、205は非接触通信部、206は記憶装置、207は内部バスである。情報処理装置201は、マイクロプロセッサ等を用い、記憶装置206に格納しているプログラムに基づいて、論理演算や算術演算を行ったり、内部バス209で接続されている周辺装置を制御したりし、接触通信部204あるいは非接触通信部205から受信したコマンドに対応する処理を行う。コプロセッサ202は、情報処理装置201と並列に、例えば512ビット長の多倍長整数を用いた算術演算を実行可能な装置である。
本実施例においては、コプロセッサ202は乗算器221と剰余乗算器222を備えている。ここで、コプロセッサ202が他の演算器を備えていても本発明の適用範囲である。乱数生成器203は、乱数を生成することが可能な装置であり、例えば電子回路の熱雑音により真の乱数を生成する機能を有することが考えられる。本実施例においては、乱数を生成するために乱数生成器203を用いることを想定しているが、情報処理装置201が算術演算を行うことで生成する擬似的な乱数を用いる場合でも本発明の適用範囲である。
接触通信部204はICチップ102表面の接触端子を介して外部と通信する機能を有し、例えば国際標準規格のISO/IEC7816に従うことが考えられる。あるいは他の通信方法に従っている場合でも、本発明の適用範囲である。非接触通信部205はアンテナ103を介して外部と無線通信を行う機能を有し、国際標準仕様であるISO/IEC14443に従うことが考えられる。あるいは他の通信方法に従っていても本発明の適用範囲である。記憶装置206はICチップ102が内蔵するプログラムやデータを一時的あるいは永続的に格納する機能を有し、ROM(Read Only Memory)、RAM(Random Access Memory)、EEPROM(Electrical Erasable Programmable Read Only Memory)等の半導体メモリから構成される。
記憶装置206は、プログラム格納部231と永続データ格納部232と一時データ格納部233から構成される。プログラム格納部231は情報処理装置201が実行するプログラムを格納し、例えばROMあるいはEEPROMを用いて実現することが考えられる。永続データ格納部232は、ICチップ102への電力供給が中断した後も、任意のデータを保持し続ける領域であり、例えばEEPROMを用いて実現することが考えられる。一時データ格納部233は、一時的なデータをICチップ102への電力供給が中断されるまで保持しておく領域であり、例えばRAMを用いて実現することが考えられる。内部バス207はICチップ102内の各装置を接続し、各装置が相互に通信を行うために使用する。
次に、ICカード101が、中国人剰余定理を用いたRSA計算を行う場合に、永続データ格納部232および一時データ格納部233に格納するデータの構成を図4に示す。図4に示すように、永続データ232には、秘密鍵(p, q, u, dp, dq)を格納しておく。ここでpとqは秘密素数、uは、pを法としたqの逆元、dpは秘密指数dの(p-1)を法とした剰余、dqは秘密指数dの(q-1)を法とした剰余である。これらの鍵データは外部に非公開にする秘密情報である。また、(p, q, u, dp, dq)の各データ長は同一であり、本実施例では512ビットとして説明していく。ここで(p, q, u, dp, dq)の各データ長が512ビット以外の値であっても本発明の適用範囲である。
次に一時データ格納部233に格納するデータについて説明する。一時データ格納部233には、9個のデータ (Mp, Mq, Cp, Cq, C0, C1, C2, r1, r2)と、4個のデータ(M, Z1, Z2, Z)を格納する。上記データのうち、MはRSA計算の入力データであり、ZがRSA計算の出力データである。また、その他のデータはRSA計算の中間データである。Mは暗号文あるいはデジタル署名を行うメッセージに相当し、ZはMの復号結果、あるいはMに対するデジタル署名に相当する。ここで、 (Mp, Mq, Cp, Cq, C0, C1, C2, r1, r2)の各データ長は同一であり、本実施例においては512ビットとして説明していくが、永続データ232に格納している(p, q, u, dp, dq)の各データ長と同じであれば、他の長さであっても本発明の適用範囲である。また、 (Mp, Mq, Cp, Cq, C0, C1, C2, r1, r2)の各データ長は同一であり、本実施例においては1024ビットとして説明していくが、(p, q, u, dp, dq)の各データ長の2倍の長さであれば、他の長さであっても本発明の適用範囲である。
次に、ICカード101が中国人剰余定理を用いたRSA計算を行う場合の処理フローを図5に示す。図5において、まずステップS2001として、入力データMを外部から受信し、一時データ格納部233に格納する。例えば、接触通信部204を用いて、ISO/IEC7816で規定されているAPDUコマンドフォーマットに基づいて、入力データMを外部から受信することが考えられる。あるいは他の方法で入力データMを外部から受信する場合でも本発明の適用範囲である。次に、ステップS2002として、永続データ格納部232に格納している秘密鍵(p, q, u, dp, dq)を用いて、一時データ格納部233に格納したMを入力データとしてRSA計算を行い、出力データであるZを計算して一時データ格納部233に格納する。
次に、ステップS2003として一時データ格納部233に格納しているZを外部に送信する。例えば接触通信部204を用いて、ISO/IEC7816で規定されているAPDUコマンドフォーマットに基づいて、出力データZを外部に送信することが考えられる。あるいは他の方法で出力データZを外部に送信する場合でも本発明の適用範囲である。あるいは、出力データZが非公開データであり、外部に送信しない場合でも、本発明の適用範囲である。
次に、図5に示したステップS2002で実施するRSA計算の詳細処理フローを図6に示す。まず、ステップS3001としてMのpを法とした剰余Mp=M mod pと、Mのqを法とした剰余Mq=M mod qを計算し、一時データ格納部233に格納する。その後dpを指数かつpを法としたMpのべき乗剰余Cp=(Mp^dp) mod pと、dqを指数かつqを法としたMqのべき乗剰余Cq=(Mq^dp) mod qを計算し、一時データ格納部233に格納する。ステップS2002で行う剰余計算とべき乗剰余計算を具体的に実装する方法としては、いずれもコプロセッサ202を用いることが考えられる。
べき乗剰余計算は、コプロセッサ202が有する剰余乗算器222を用いて、例えばアディション・チェイン方式と呼ばれる計算アルゴリズムを適用することで効率的に計算することができる。アディション・チェイン方式の詳細については、非特許文献「Handbook of Applied Cryptography, by A. Menezes, P. vanOorschot, and S. Vanstone, CRC Press, 1996, p620-623」に記載されている。なお、本発明においては、ステップS2002の実装方法については規定せず、ステップS2002をどのように実装した場合でも、本発明の適用範囲である。また、(M ^ dp) mod p = ((M mod p) ^ dp) mod p = (Mp ^ dp) mod p = Cpが成り立つので、Mpの値を計算することなくCpを求めたとしても、本発明の適用範囲である。同様にMqの値を計算することなくCqを求めたとしても、本発明の適用範囲である。
次に、ステップS3002として、乱数r1を、乱数生成器203を用いて生成し、一時データ格納部233に格納する。次にステップS3003として、r1の値を、uを法とするr1の剰余r1 mod uに更新する。ここでステップS3002とステップS3003では、uより小さい値の乱数を生成しており、uより小さい値の乱数を他の方法で生成した場合でも、本発明の適用範囲である。例えば、乱数生成器203を、uより小さい値の乱数が生成されるまで繰り返し動作させることが考えられる。あるいは他の方法であっても良い。
次に、ステップS3004として、uからr1を減算r2=u-r1を計算し、一時データ格納部233に格納する。次に、ステップS3005として、pを法としたCp-Cqの剰余C0=(Cp-Cq) mod pを計算し、一時データ格納部233に格納する。次に、ステップS3006として、pを法としたC0とr1の乗算剰余C1 = (C0*r1) mod pと、C0とr2の乗算剰余C2 = (C0*r2) mod pを計算する。次に、ステップS3007として、C1とqの乗算Z1 = C1*qと、C2とqの乗算Z2 = C2*qを計算し、一時データ格納部233に格納する。次に、ステップS3008として、pとqの乗算N = p*qを計算し、一時データ格納部233に格納する。
次に、ステップS3009として、Nを法としたZ1とZ2加算剰余 にCqを加算した(Z1+Z2) mod N + Cqを計算し、この計算結果をZとして、一時データ格納部233に格納する。ここで、ステップS3009の計算結果が、先に図1を用いて説明したステップS1005で行うCRT再結合計算の計算結果Zと等しくなることを以下に示す。まず、
(Z1+Z2) mod N + Cq = (C1*q + C2*q) mod N + Cq = ((C1 + C2)*q) mod (p*q) + Cq
と変形できる。また、公式「 (A*C) mod (B*C) = (A mod B)*C 」を用いて、
((C1 + C2)*q) mod (p*q) + Cq = ((C1+C2) mod p)*q + Cq
と変形できる。
さらに、公式「 (A mod C + B mod C) mod C = (A+B) mod C 」と、r1 + r2 = uとなることを用いて、
(C1+C2) mod p = ((C0*r1) mod p) + (C0*r2 mod p)) mod p = C0*(r1+r2) mod p
= (C0*u) mod p = ((Cp-Cq)*u) mod p = C
となる。
したがって、ステップS3009の計算結果(Z1+Z2) mod N + Cqが、先に図1を用いて説明したステップS1005の計算結果であるZ = C*q + Cqと等しくなることが導かれた。
(Z1+Z2) mod N + Cq = (C1*q + C2*q) mod N + Cq = ((C1 + C2)*q) mod (p*q) + Cq
と変形できる。また、公式「 (A*C) mod (B*C) = (A mod B)*C 」を用いて、
((C1 + C2)*q) mod (p*q) + Cq = ((C1+C2) mod p)*q + Cq
と変形できる。
さらに、公式「 (A mod C + B mod C) mod C = (A+B) mod C 」と、r1 + r2 = uとなることを用いて、
(C1+C2) mod p = ((C0*r1) mod p) + (C0*r2 mod p)) mod p = C0*(r1+r2) mod p
= (C0*u) mod p = ((Cp-Cq)*u) mod p = C
となる。
したがって、ステップS3009の計算結果(Z1+Z2) mod N + Cqが、先に図1を用いて説明したステップS1005の計算結果であるZ = C*q + Cqと等しくなることが導かれた。
以上説明したように、図5の処理ステップのうち、ステップS3002からステップS3009で、CRT再結合処理を行う。ここで図1のステップS1005に示した従来処理では、Z = C*q + Cqを直接計算するが、Cqの桁数はZの桁数の半分であるため、Zの上半分の値はC*qの上半分の値にほぼ等しくなる。また、Zの値は出力され、Cの値は秘密鍵(p,q,u,dp,dq)と入力メッセージMから一意に定まる。したがって、従来の方法でCRT再結合処理を行う場合、攻撃者がC*qの演算における消費電力を繰り返し観察することでDPAを行い、秘密鍵の一つであるqの値を推定できてしまう可能性がある。
本発明は、上記のDPAによるアタックを困難にするという特徴を有している。すなわち、図5のステップS3002からステップS3004で生成した乱数r1とr2を用いて、Cの値をステップS3006でC1とC2にランダムに分解する。そして、C*qを計算する代わりに、ステップS3007でZ1=C1*qとZ2=C2*qを計算する。そして最後にステップS3009でZ1とZ2を加算することで、C*qを計算する。また、乱数r1とr2の値は、RSA計算を行う度に異なった値となる。このように本発明では、C*qの演算に毎回異なる乱数値を含めることで、C*qの演算における消費電力を繰り返し観察して、qの値を推測することを困難にする。なお、本実施例においては、ICカード内部で行うRSA計算のセキュリティを強化することを想定しているが、暗号処理を行うことが可能なICカード以外の装置であっても、本発明の適用範囲である。
以上説明したように、本発明を用いることで、ICカード等の暗号処理装置で、中国人剰余定理を用いたRSA処理を行う場合に、消費電力と処理内容の関連性を減らし、CRT再結合計算に対するDPAを用いたアタックを困難にする、暗号処理方法を提供することが可能になる。
以上説明したように、本発明を用いることで、ICカード等の暗号処理装置で、中国人剰余定理を用いたRSA処理を行う場合に、消費電力と処理内容の関連性を減らし、CRT再結合計算に対するDPAを用いたアタックを困難にする、暗号処理方法を提供することが可能になる。
101…ICカード、102…ICチップ、103…アンテナ
201…情報処理装置、202…コプロセッサ
203…乱数生成器、204…接触通信部
205…非接触通信部、206…記憶装置、207…内部バス
201…情報処理装置、202…コプロセッサ
203…乱数生成器、204…接触通信部
205…非接触通信部、206…記憶装置、207…内部バス
Claims (4)
- 暗号処理を行う機能を有する暗号処理装置であって、
該暗号処理装置は、秘密鍵を格納する記憶手段と、メッセージを外部より受信する通信手段と、暗号処理を行う情報処理手段を有し、
該情報処理手段は、該通信手段で受信したメッセージと該秘密鍵から一意に決定される第1のデータを計算する処理と、該秘密鍵を構成する第2のデータより値が小さい第1の乱数と、該第2のデータから該第1の乱数を減算した第2の乱数を計算する処理と、該第1のデータと該第1の乱数から一意に決定される第3のデータを計算する処理と、該第1のデータと該第2の乱数から一意に決定される第4のデータを計算する処理と、該第3のデータと該第4のデータから、暗号処理結果を計算する処理を行うことを特徴とする暗号処理装置。 - 暗号処理を行う機能を有する暗号処理装置が行う暗号処理方法であって、
該暗号処理装置は、秘密鍵を格納する記憶手段と、メッセージを外部より受信する通信手段と、暗号処理を行う情報処理手段を有し、
該情報処理手段は、該通信手段で受信したメッセージと該秘密鍵から一意に決定される第1のデータを計算する処理と、該秘密鍵を構成する第2のデータより値が小さい第1の乱数と、該第2のデータから該第1の乱数を減算した第2の乱数を計算する処理と、該第1のデータと該第1の乱数から一意に決定される第3のデータを計算する処理と、該第1のデータと該第2の乱数から一意に決定される第4のデータを計算する処理と、該第3のデータと該第4のデータから、暗号処理結果を計算する処理を行うことを特徴とする暗号処理方法。 - 二つの素数pとqと、pとqの積Nと、(p-1)*(q-1)と互いに素である整数eと、(p-1)*(q-1)を法としたeの逆元dと、(p-1)を法としたdの剰余dpと、(q-1)を法としたdの剰余dqと、pを法としたqの逆元uのうち、(p, q, u, dp, dq)を秘密鍵に用いて暗号処理を行う機能を有する暗号処理装置であって、
該暗号処理装置は、該秘密鍵を格納する記憶手段と、メッセージMを外部より受信する通信手段と、暗号処理を行う情報処理手段を有し、
該情報処理手段は、dpを指数かつpを法としたMのべき乗剰余Cpと、dqを指数かつqを法としたMのべき乗剰余Cqを計算する処理と、値がuより小さい乱数r1を生成する処理と、uからr1を減算してr2を計算する処理と、pを法としCpからCqを減算した値の剰余C0を計算する処理と、pを法としたC0とr1の乗算剰余C1と、C0とr2の乗算剰余C2を計算する処理と、C1とqの乗算Z1 と、C2とqの乗算Z2を計算する処理と、Nを法としZ1とZ2を加算した値の剰余 にCqを加算してZを計算する処理を行い、Zを暗号処理結果とすることを特徴とした暗号処理装置。 - 二つの素数pとqと、pとqの積Nと、(p-1)*(q-1)と互いに素である整数eと、(p-1)*(q-1)を法としたeの逆元dと、(p-1)を法としたdの剰余dpと、(q-1)を法としたdの剰余dqと、pを法としたqの逆元uのうち、(p, q, u, dp, dq)を秘密鍵に用いて暗号処理を行う機能を有する暗号処理装置が実施する暗号処理方法であって、
該暗号処理装置は、該秘密鍵を格納する記憶手段と、メッセージMを外部より受信する通信手段と、暗号処理を行う情報処理手段を有し、
該情報処理手段は、dpを指数かつpを法としたMのべき乗剰余Cpと、dqを指数かつqを法としたMのべき乗剰余Cqを計算する処理と、値がuより小さい乱数r1を生成する処理と、uからr1を減算してr2を計算する処理と、CpからCqを減算した値のpを法とした剰余C0を計算する処理と、pを法としたC0とr1の乗算剰余C1と、C0とr2の乗算剰余C2を計算する処理と、C1とqの乗算Z1 と、C2とqの乗算Z2を計算する処理と、Z1とZ2を加算した値のNを法とした剰余 にCqを加算してZを計算する処理を行い、Zを暗号処理結果とすることを特徴とした暗号処理処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005027159A JP2006217193A (ja) | 2005-02-03 | 2005-02-03 | 暗号処理装置および暗号処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005027159A JP2006217193A (ja) | 2005-02-03 | 2005-02-03 | 暗号処理装置および暗号処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006217193A true JP2006217193A (ja) | 2006-08-17 |
Family
ID=36980042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005027159A Pending JP2006217193A (ja) | 2005-02-03 | 2005-02-03 | 暗号処理装置および暗号処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006217193A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8422671B2 (en) | 2010-03-08 | 2013-04-16 | Samsung Electronics Co., Ltd. | Methods of encryption and decryption using operand ordering and encryption systems using the same |
CN112653706A (zh) * | 2020-12-29 | 2021-04-13 | 杭州趣链科技有限公司 | 基于中国剩余定理的数据传输方法、装置和系统 |
-
2005
- 2005-02-03 JP JP2005027159A patent/JP2006217193A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8422671B2 (en) | 2010-03-08 | 2013-04-16 | Samsung Electronics Co., Ltd. | Methods of encryption and decryption using operand ordering and encryption systems using the same |
CN112653706A (zh) * | 2020-12-29 | 2021-04-13 | 杭州趣链科技有限公司 | 基于中国剩余定理的数据传输方法、装置和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1211977C (zh) | 具有通过密钥再分进行存取保护的便携式数据存储介质 | |
JP4671571B2 (ja) | 秘密情報の処理装置および秘密情報の処理プログラムを格納するメモリ | |
KR100720726B1 (ko) | Rsa 알고리즘을 이용한 보안유지시스템 및 그 방법 | |
US20010002486A1 (en) | Leak-resistant cryptographic method and apparatus | |
JP4986206B2 (ja) | 暗号処理方法及び暗号処理装置 | |
JP2008252299A (ja) | 暗号処理システム及び暗号処理方法 | |
WO2014075000A1 (en) | Methods and systems for glitch-resistant cryptographic discrete-log based signing | |
US7248700B2 (en) | Device and method for calculating a result of a modular exponentiation | |
US20200119918A1 (en) | Elliptic curve point multiplication device and method in a white-box context | |
WO2010015562A2 (en) | Zero divisors protecting exponentiation | |
JP2004304800A (ja) | データ処理装置におけるサイドチャネル攻撃防止 | |
CN103067164A (zh) | 使用rsa公开密钥加密算法的电子部件中的防攻击方法 | |
JP2010068135A (ja) | 不正操作検知回路、不正操作検知回路を備えた装置、及び不正操作検知方法 | |
US9780946B2 (en) | Elliptic curve encryption method comprising an error detection | |
WO2017114739A1 (en) | System and method for hiding a cryptographic secret using expansion | |
JP4626148B2 (ja) | 復号または署名作成におけるべき乗剰余算の計算方法 | |
JP2006217193A (ja) | 暗号処理装置および暗号処理方法 | |
Zhang et al. | Side‐Channel Attacks and Countermeasures for Identity‐Based Cryptographic Algorithm SM9 | |
EP1691501B1 (en) | Leak-resistant cryptography method an apparatus | |
Pietrzak | Provable security for physical cryptography | |
FR2818846A1 (fr) | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie | |
Prakash et al. | ENHANCING SECURITY IN CRYPTOGRAPHIC SMART CARDS THROUGH ELLIPTIC CURVE CRYPTOGRAPHY AND OPTIMIZED MODIFIED MATRIX ENCODING ALGORITHMS. | |
KR101677138B1 (ko) | 오프라인 토큰의 안전성을 보장할 수 있는 온라인/오프라인 전자서명 방법 | |
JP2004253950A (ja) | 事前計算による電子署名高速生成方法および装置 | |
JP4968443B2 (ja) | 暗号演算処理方法および暗号演算処理装置 |