JP3137190B2 - メッセージ変換方法 - Google Patents

メッセージ変換方法

Info

Publication number
JP3137190B2
JP3137190B2 JP01024723A JP2472389A JP3137190B2 JP 3137190 B2 JP3137190 B2 JP 3137190B2 JP 01024723 A JP01024723 A JP 01024723A JP 2472389 A JP2472389 A JP 2472389A JP 3137190 B2 JP3137190 B2 JP 3137190B2
Authority
JP
Japan
Prior art keywords
mod
calculated
conversion
calculating
message
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.)
Expired - Fee Related
Application number
JP01024723A
Other languages
English (en)
Other versions
JPH02204768A (ja
Inventor
信一 川村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP01024723A priority Critical patent/JP3137190B2/ja
Priority to EP19900301126 priority patent/EP0381523A3/en
Priority to US07/474,404 priority patent/US5046094A/en
Publication of JPH02204768A publication Critical patent/JPH02204768A/ja
Application granted granted Critical
Publication of JP3137190B2 publication Critical patent/JP3137190B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、暗号を利用するデータ通信等に適用可能な
メッセージ変換方法に関する。
(従来の技術) 暗号が提供するセキュリティ・サービスを利用する場
合、鍵情報をいかに安全に利用者に配送するか、または
鍵情報をどのように保管するかは重要な問題である。
1978年にRivest等によって提案された公開鍵暗号RSA
(R.L.Rivest,A.Shamir and L.Adlman:“A method of o
btaining digital signatures and cryptosysytems",Co
mm.of ACM,pp.120−126″)はこのような鍵配送問題の
かなりの部分を解決できる暗号方式として注目される。
RSA暗号は本発明の基盤をなすので、ここで詳しく説明
する。
鍵生成 まず、任意の相異なる大きな素数pとqを生成する。
生成したpとqの積としてn=p・qを作る。また、
p、qよりL=λ(n)=LCM(p−1、q−1)を求
める。ここでλはカーマイケル関数を表し、LCM(p−
1、q−1)はp−1、q−1の間の最小公倍数を表
す。次にLと互いに素な適当な整数eを選び(3≦e≦
L−1)、法Lの下でのeの乗法逆元dを求める。
e・d≡1 mod L (1) このようにして生成された(e、n)が暗号化の鍵で
あり、復号化は(d、n)を用いて行うことができる。
暗号化と復号化 平文Mと暗号Cは共にn未満の整数である。暗号化は
次のようにして行う。
C=Memod.n (2) また、CからMは次のようにして求められる。
M=Cdmod.n (3) この復号化の変換は、受信者の秘密情報であるp、q
を利用すると高速化することができる。その方法につい
てはJ.J.Quisquater等による文献“Fast decipherment
algorithm for RSA publickey cryptosytem",Electron.
Lett.,18,21,pp,905−907(Oct.1982)に詳しく述べら
れている。
式(3)の値を計算するのに法nの下で直接求めるの
ではなく、まず、法pとqの下で計算を進めておき、得
られた結果から中国剰余定理を利用して平文を求めるの
である。(中国剰余定理については、たとえば池野・小
山著「現代暗号理論」電子通信学会編(p19)を参
照。) この方法を具体的に説明するために、C1、C2、d1
d2、m1、m2を次のように定義する。
C1=C mod.p、C2=C mod.q (4) d1=d mod.(p−1)、d2=d mod.(q−1)
(5) m1=M mod.p、m2=M mod.q (6) この時、次式が成立する。
m1=C1 d1mod.p (7) m2=C2 d2mod.q (8) これより平文Mは次の連立合同式の根として求められ
る。
M≡m1(mod.p) (9) M≡m2(mod.q) (10) RSA暗号は以上のような手続きで実現されるが、ここ
でのこの暗号の要点を整理すると、 A.各人ごと異なる公開鍵はe、nはリストのような形で
公開されており、だれでもアクセスできる。
B.秘密鍵d、p、q、λ(n)は個人の秘密であり、他
人に知られないように十分注意する必要がある。
C.暗号化機能のほかに署名機能がある。
D.RSA暗号の安全性を保障するためには秘密鍵p、qの
桁数を各々十進百桁程度の大きさに選ぶ必要がある。n
はこの場合、十進二百桁程度の数になり、RSAの暗号化
・復号化変換は膨大な処理量の計算となる。
多くの人が加入するネットワークでRSA暗号の利点を
最大限に引出せる運用法としては、各人に個別に鍵を発
行して、可搬の記憶媒体にその鍵を記憶させ、それを各
自が持ち歩くのがよい。この時、上記Bに述べた点は運
用上非常に重要である。Bの条件を満足させることので
きる個人の秘密鍵の格納媒体としては、ICカードが携帯
性のある個人対応の計算装置および記憶装置として最も
好適である。しかしながら、実際にICカードを利用した
RSA暗号のシステムを構築しようとすると次のような二
つの問題が生ずる。
ICカードに鍵を格納した場合、上記Bの要求から、理
想的にはICカード内でRSAの復号変換および署名作成を
行うのが良い。ICカードにはパスワード照合によるアク
セス制御機能があるので、ICカード内で変換を行えば
d、p、q、λ(n)がICカード外に洩れる心配はなく
なるからである。しかしながら、現状では上記Dに述べ
たことおよびICカードの計算力不足が理由でRSA暗号の
変換をICカードで行った場合に、実用上十分な処理速度
を達成することができない。これは前記Quisquater等の
高速化手法を用いても同様である。また、RSA専用の高
速演算LSIをICカードに実装することも考えられるが、
カードコストの増大は避けられない。
一方、ICカードを単にアクセス制御機能のある、鍵メ
モリとして利用することは容易である。手間のかかる暗
号変換は計算能力の高いICカード外の装置、たとえば端
末装置に行わせることによって実用的な処理速度を達成
可能である。しかし、この場合にはdを端末装置に渡す
ことになるので、端末装置の設計および維持管理に十分
な注意を怠ると、端末装置経由でdが他人に洩れる恐れ
がある。また、偽の端末装置によって知らぬ間にdを盗
まれるかもしれない。
このような二つの問題点を解決するために、最近、端
末装置には秘密鍵dに関する情報をもたらさずに、端末
装置の計算力のみを借りてICカードが効率よくRSAの暗
号変換を行える手段が提案された。これを提案者らにな
らって以下「依頼計算法」と呼ぶことにする。依頼計算
そのものはひろい概念であるが、これをRSA暗号の変換
に応用する手法で本発明と関連が深い方式は文献「安全
な計算依頼法について」(加藤、松本、今井、1988年
暗号と情報セキュリティ シンポジウム 資料F−3、
1988、2月)に示されている。以下、その方式を説明す
るとともに、第7図にその手順を概念的に示す。
準備として、まず次の関係式を満たすrp、rq、Rを求
める。
rp=R-1mod(p−1) (11) rq=R-1mod(q−1) (12) ただし、χ(r)=l(r)+w(r)−2と定義す
るとき、rp、rqは、 χ(rp)+χ(rq) (13) が小さい数であるように選ばれる。なお、l(r)はr
のビット長、w(r)はrのハミング重みを表わし、χ
(r)はrを指数とするべき乗剰余計算に要する剰余乗
算の回数を表わしている。
また、 wp=q(q-1 mod p)mod n、 wq=p(p-1 mod q)mod n (14) も計算しておく。ICカード内にはrp、rq、R、d、p、
q、λ(n)、n、wp、wqが記憶されている。
次にICカードはdの代わりに、 d′=d・R modλ(n) (15) を用いて、端末装置に対してCをd′で変換したM′の
計算を依頼する(ステップ701、702)。ただし、 M′=Cd′mod n. (16) 端末装置は計算したM′をICカードに送り返す(ステ
ップ703)。ICカードはこれを次式によって変換し、平
文Mを得る(ステップ704)。M={(M′mod p)rpmo
d p)wp+ (M′mod q)rqmod q)wp}mod n (17) (13)式が小さい値になるようなrp、rqを選んでいるの
で、(17)式に現れるべき乗剰余計算は計算力の比較的
小さなICカードでも効率よく計算することができる。ま
た、端末装置に対してはdを直接示すのではなく、(1
5)式による変換を施したd′を見せるだけなので安全
性は高くなる。このように依頼計算によれば、秘密鍵d
の機密性を増しつつ端末装置の計算力を借りて効率良く
復号変換を行うことができる。
さて、実用的なシステムに上記の依頼計算法を適用し
た場合を考察してみることにする。(15)式の変換は事
前に行うことができるので、復号変換開始以降、実際に
行わなければならないのは(16)、(17)式の変換のみ
である。(17)式の変換の右辺は(16)式で計算される
M′を含んでいるので、(17)式は(16)式の処理が終
わってからでないと実行できない。すなわち、復号変換
の処理時間は、(16)および(17)式の処理に要する演
算時間の和で定まることになる。一方、端末装置が行う
(16)式の変換は、たとえば汎用の高性能汎用16ビット
マイクロプロセッサである180286で実行してもnが512
ビット程度のときには約30秒の処理時間を要する。した
がって、外部計算装置をよほど高性能の専用マシンで実
現しない限り、ここで説明した依頼計算によって演算時
間を十分小さくすることは不可能である。
以上まとめると、まずRSA暗号は計算の手間が大きい
ので、ICカードのような計算力が比較的小さい装置で実
行させようとすると多大な計算時間を要する。また、RS
Aの計算を高速に行える外部装置を用意して、これを計
算させようとすると、復号変換やディジタル署名作成に
必要な秘密情報を外部装置に知られてしまい、不正使用
される恐れがあった。また「依頼計算」を用いて秘密情
報は外部装置にもらすことなく、外部装置の計算力のみ
を借りて効率よく変換を行う手法が提案されているが、
従来、提案されている方法では、確かにICカードが行う
べき処理の量は減らすことはできるものの、ICカードが
実行する計算と外部装置が行う計算とは同時に並列処理
することができず、外部装置が極めて高速な処理を行う
のでなければ、その効果は半減してしまう方式であっ
た。
(発明が解決しようとする課題) 以上の問題点に鑑み、本発明の目的は、端末装置の処
理とICカードの処理の大部分とを同時に行える方式を提
供することによって、依頼計算に要する処理時間を従来
方式に比べて大幅に短縮させ、さらに、端末装置および
ICカードの処理速度を過剰に速くする必要をなくし、端
末装置のコストおよびICカードのコストを押えることに
ある。
[発明の構成] (課題を解決するための手段) 本発明は、秘密指数d、及びCRmod nの計算量がCdmod
nの計算量よりも少なくなるように選定された乱数Rを
持つ第1の装置と、前記秘密指数dも前記乱数Rも持た
ない第2の装置とが分担して、メッセージブロックCを
メッセージブロックM=Cdmod nに変換するメッセージ
変換方法であって、 前記第1の装置が、 d′=(d−R)modλ(n) 但し{λ(n)はnのカーマイケル関数} に従って生成されたd′と、法nとを前記第2の装置へ
転送する過程と、 前記第2の装置が、この転送されたd′及びnと、前
記メッセージブロックCとから M′=Cd′mod n を計算する過程と、 前記第1の装置が、CRmod nの計算を、前記第2の装
置が前記M′を計算する過程が終了するのを待たずに開
始する過程と、 前記第1の装置もしくは前記第2の装置が、前記第1
の装置が計算した前記CRmod n及び前記第2の装置が計
算した前記M′を用い、 M=M′・CRmod n に従ってMを計算する過程とを具備することを特徴とす
る。
また、本発明は、秘密指数d、及びCRmod nの計算量
がCdmod nの計算量よりも少なくなるように選定された
乱数Rを持つ第1の装置と、前記秘密指数dも前記乱数
Rも持たない第2の装置とが分担して、メッセージブロ
ックCをメッセージブロックM=Cdmod nに変換するメ
ッセージ変換方法であって、 前記第1の装置が、 y=(x−R)modλ(n) 但し{λ(n)はnのカーマイケル関数} なるxからyへの変換と f(x)=x・R-1modλ(n) f(x)=(x−R)modλ(n) f(x)=(x+R)modλ(n) のいずれか一つ以上の変換fとを合成した変換に従って
dから生成されたd′と、法nとを前記第2の装置へ転
送する過程と、 前記第2の装置が、この転送されたd′及びnと、前
記メッセージブロックCとから M′=Cd′mod n を計算する過程と、 前記第1の装置が、CRmod nの計算を、前記第2の装
置が前記M′を計算する過程が終了するのを待たずに開
始する過程と、 前記第1の装置もしくは前記第2の装置が、前記第1
の装置が計算した前記CRmod nを用い、 y=x・CRmod n なるxからyへの変換と、 F(x)=xRmod n F(x)=x・CRmod n F(x)=x・C-Rmod n のいずれか一つ以上の、前記変換fに対応する変換Fと
を合成した変換に従って、前記第2の装置が計算した前
記M′からMを計算する過程とを具備することを特徴と
する。
(作用) このように構成されたメッセージ変換方法では、まず
第2装置が知るのは公知のd′とnとCおよびM′のみ
であり、特に秘密鍵dを直接知ることができないので、
第2の装置にdを持ち逃げするなどという不正な機能を
仕組もうとしても不可能となる。また、第1の装置が実
行する演算のうち、Xpi、XqiまたはXiを求める部分は、
第2の装置の演算とは独立に行える。また、乱数rpi、r
qiのビット長に制約をつければ、Xpi、Xqiを計算する演
算量も削減できる。
(実施例) 本発明の実施例を以下に述べる。説明の都合上、第1
図に示すように計算依頼側をICカード、計算請負側を端
末装置として以下説明するが、依頼側と請負側は独立な
装置、ソフトなど、この節での説明を越えない範囲で任
意である。また、実施例の説明では暗号文Cを平文Mに
戻す処理に関する依頼計算として説明するが、同一の変
換で実現されるディジタル署名の作成にも本発明は適用
である。
第2図はこのメッセージ変換方法に用いられる端末装
置2の斜視図である。
同図に示されるようにこの端末装置2は本体1、ディ
スプレイ3、キーボード5、リードライタ7を有してい
る。そしてリードライタ7にICカード9が挿入され、本
体1にフロッピィーディスク11が挿入される。
第3図はICカード9の構成を示すブロック図であり、
このICカード9はI/Oコンタクト13、CPU15、データメモ
リ17、プログラムメモリ19とを有する。
第4図は本体1の構成を示すブロック図であり、この
本体1はディスプレイコントローラ21、中央処理装置2
3、メインメモリ25、第1通信ポート27、第2通信ポー
ト29、フロッピィーディスクドライバ31、キーボード
(I/O)33とを有し、これらが内部データバス35で接続
される。ディスプレイコントローラ21はディスプレイ3
を制御する。中央処理装置23はこの端末装置2全体を制
御する。メインメモリ25はフロッピィーディスク11に記
憶されているデータの蓄積等を行う。
第1通信ポート27は通信回線12に接続され、この通信
回線12は他の端末装置2と接続されている。第2通信ポ
ート29はリードライタ7に接続されている。フロッピィ
ーディスクドライバ31はフロッピィーディスク11を駆動
する。キーボード(I/O)33はキーボード5と接続され
ている。
次にこの端末装置2とICカード9を用いてメッセージ
変換方法について説明する。
まず、準備として(11)、(12)によく似た式(1
8)、(19)を満たす適当な乱数の組rp、rq、Rを求め
る。
rp=R mod(p−1) (18) rq=R mod(q−1) (19) この時、従来技術と同様に、 χ(rp)+χ(rq) (20) が比較的小さい数であるという制約を課す。
(18)、(19)式の連立方程式は、rp、rqを適当に定
めてその後に求めるもので、解の存在条件および解法
は、たとえば、高木貞治:“初等整数論講義",共立出
版,pp.31−35に示されている。この連立方程式の解はL
=LCM(p−1、q−1)を法として唯一定まる。ま
た、必要に応じて、 wp=q(q-1mod p)mod n、 wq=p(p-1mod q)mod n (21) も計算しておく。後に述べるようにwp、wqは必ず用意し
なければならない定数ではない。本実施例においてはIC
カード内にはrp、rq、d、p、q、λ(n)、n、
d′、wp、wqが記憶されている。
本発明の最も単純で、かつ最もその効果が顕著な実施
例として、dからd′を求める変換を、 d′=(d−R)modλ(n) (22) と定義する場合を説明する。
端末装置2の処理フローを示したのが第5図である。
まず、ユーザは端末装置2に向かうとともに、自分の
ICカード9を端末装置2に接続されたICカード9のリー
ダ・ライタ7に挿入する(ステップ501)。
そして、端末装置2の適当なキーを叩き使用開始を端
末装置2に知らせる。この時、同時にリーダ・ライタ7
を介してICカード9にクロックおよび電源が供給され、
適当な初期化(ステップ502)の後にICカード9は通信
待ち状態となる。端末装置2はICカード9のユーザ確認
を行うために、ユーザに対してパスワードの入力を指示
する(ステップ503)。
パスワードが入力されない場合(スッテプ504),時
間をチェックし(ステップ505),時間切れの場合はタ
イムアウトとなり,そうでない場合はステップ503に戻
る。パスワードが入力されるとICカード9にパスワード
が転送され(ステップ506),このパスワードはICカー
ド9内に記憶されている登録パスワードと比較され、照
合結果が端末装置2に転送される(ステップ507)。照
合結果が一致していれば(ステップ508)、ICカード9
は使用可能状態となるが、一致いない場合にはICカード
は使用不能である。ユーザからのコマンド入力があると
(ステップ509)、終了コマンドであるかないかが判断
され(ステップ510),コマンドサブルーチンの実行が
行われる(ステップ511)。
次にコマンドサブルーチンの実行について述べる。
これ以降の手順は、第1図に示されている。
端末装置2はこの暗号文CをまずICカード9宛てに伝
送し(ステップ101)、同時にICカード9のメモリに書
込まれているd′とnを読み出す(ステップ102)。端
末装置2はこの二つの情報を用いて暗号文Cから、M′
を次式に従って計算する(ステップ103)。
M′=Cd′mod n (23) 端末装置2は計算したM′をICカード9に送る(ステ
ップ105)。
一方、ICカード9は端末装置2の計算と並行して、
(24)〜(26)式に従って定数Xを求める(ステップ10
4)。
Xp=(C mod p)rpmod p (24) Xq=(C mod q)rqmod q (25) を計算し、次式によってXを求める。
X={(Xp)rpmod p)wp +(Xq)rqmod q)wq}mod n (26) ここで、(24)〜(26)式について補足説明してお
く。
(24)、(25)式はXに関する連立方程式と見ること
ができるが、中国剰余定理よりこの2式を満たすXは一
意に定まる。そして、その一解法が(26)式の右辺であ
る。ここでは先に計算したwp、wqなる二つの補助変数を
用いてXを導出している。
しかし、(24)、(25)を満たすXの導出法はこれに
限らない。たとえば前出のJ.J.Quisquater等による文献
“Fast decipherment algorithm for RSA public−key
cryptosystem",Electron.Lett.,18,21,pp.905−907(Oc
t.1982)にはこの種の連立方程式の別な解法が示されて
いる。
したがって、(26)式によるXの導出および補助変数
wp、wqの使用は本質的ではなく、(24)、(25)を同時
に満たすXを求めることのみが本質である。それゆえ、
この実施例が本発明を実際に応用する場合のXの求め方
を限定するものではない。
さて、ICカード9が本来求めたかった平文Mは暗号文
Cを、 M=Cdmod n (27) と変換して得られるが、このMは端末装置2が計算した
M′とICカード9が計算したXとから次式によって求め
られる(ステップ106)。
M=(M′・X)mod n (28) この計算は、この例ではICカード9の内部で行われ
る。ICカードは得られたMを復号結果として端末装置2
に伝送する(ステップ107)。
端末装置2はこれをディスプレイに表示するととも
に、ユーザからの指示で補助記憶装置に書込んで一連の
復号化手続きを終了し、ユーザはリーダ・ライタ7から
ICカード9を抜き取り、作業を終了する。
ここで、本実施例において手続きの過程で知ることの
できる端末装置2はMとM′からXを容易に求められる
ので、(28)式の計算はICカード9で行わないで端末装
置2で行っても良いことを注意しておく。そのような手
順のときには端末装置2がICカード9にM′を伝送する
のではなく、ICカード9が端末装置2に対してXを伝送
することになる。
以上の手続きの中で、(28)式でMが正しく計算でき
ることは、以下のように説明される。
まず、(24)〜(26)より、 X=CRmod n (29) である。これは(従来の技術)でふれた中国剰余定理よ
り明らかである。
一方、 M′=Cd′mod n =C(d−R)modλ(n)mod n =Cd-Rmod n =CdC-Rmod n (30) (29)、(30)式より、 (M′・X)mod n=(CdC-R・CR)mod n =Cdmod n =M (31) これで(28)式が成立つことが示された。
次に、計算の手間について考察する。まず、(18)〜
(22)までの計算は変換を開始する以前に準備しておく
ことができる。暗号文Cが与えられ、初めて実行可能な
部分の計算のみを考慮すればよい。Cが与えられて以降
実行する手続きとして、 ICカード9が行う、(24)〜(26)式によってXを求
めること、 端末装置2が行う(23)式の計算、 ICカード9が行う(28)式の計算、 がある。このうち最も演算手段が多いのはの端末装置
2の計算である。具体的にはこの値はλ(d′)で表さ
れるが、nが512ビットの場合には、これは最悪で1024
回程度の512ビットのべき乗剰余計算になる。次に、演
算手数が多いのはである。のうち支配的なのは(2
4)、(25)の計算であり、それはχ(rp)+χ(rq
回の256ビットのべき乗剰余演算である。rp、rqを予め
小さく選んでおくことにより、この演算量が押えられ
る。また、ICカードが行うの演算は512ビットの剰余
乗算1回である。全体としての演算が支配的であ
る。さらに、本発明において特に注意すべきは、の手
続きとの手続きが独立であり、同時に並列処理できる
ということである。たとえば、の処理が汎用パソコン
で30秒かかるとするとき、rp、rqを適当なビット長に定
めてICカードでのの演算時間を30秒程度にすれば、復
号に要する総演算時間はほぼ30秒となる。〜の処理
に要する時間を各々T1、T2、T3で表すと、一般に総演算
時間Tは、 T=Max(T1、T2)+T3 ≒Max(T1、T2) (32) で表せることになる。ただし、Max(A、B)はA、B
のうち、大きい方を取る関数である。
第1の実施例において、M′と(Xp、Xq)の組、もし
くはこの組と等価な値を用いてMを導く手順はここに示
した方法に限らない。別の導出法を次に示す。
Mより次の2式から、 M′=M′mod p (33) M′=M′mod q (34) M′、M′を求めて、 Mp=M′・Xp mod p (35) Mq=M′・Xq mod q (36) を得る。(35)、(36)を連立させれば所望のMが得ら
れる。
本発明の第2の実施例として第6図に従って、dから
d′を求める変換を、 d′=(d+R)modλ(n) (37) と定義する場合を説明する。これ以降の実施例の説明で
は端末装置2の起動や、ICカード9の初期化に関する説
明は省略し、演算の手続きのみ順序を追って説明する。
Rは第1の実施例で用いたものと同じとする。第1の実
施例同様に、端末装置2は外部から与えられた暗号文C
をICカードに伝送し(ステップ601)、ICカードから
d′、nを受取る(ステップ602)。端末装置2は第1
の実施例同様、次式で与えられる、M′を計算する(ス
テップ603)。
M′=Cd′mod n (38) 端末装置2は計算したM′をICカード9に送り返す
(ステップ607)。
一方、ICカード9は、 Xp=(C mod p)rpmod p (39) Xq=(C mod q)rqmod q (40) を計算し(ステップ604)、次式によってXを求める
(ステップ605)。
X={(Xprpmod p)wp+ (Xq rqmod q)wq}mod n (41) さらに、方程式 X-1・X=1 mod n (42) を解いてX-1を求める(ステップ606)。この解法は拡張
ユークリッドの互除法と呼ばれ、詳細は、たとえば前出
の「現代暗号理論」を参照。
さて、ICカードが本来求めたかった値、Mは M=Cdmod n (43) であるが、これは端末装置2が計算したM′とICカード
が計算したX-1とから次式によって求められる(ステッ
プ608)。
M=(M′・X-1)mod n (44) ICカード9は得られた結果を端末装置2に伝送し処理
を終了する(ステップ609)。
(44)式でMが正しく計算できることは以下のように
説明される。
まず、(35)〜(38)および中国剰余定理より、 X-1=C-Rmod n (45) である。
一方、 M′=Cd′mod n =C(d+R)modλ(n)mod n =Cd+Rmod n =CdCRmod n (46) (29)、(30)式より、 (M′・X-1)mod n=(CdCR・C-R)mod n =Cdmod n =M (47) これで(28)式が成立つことが示された。
第2の実施例において、M′と(Xp、Xq)組もしくは
この組と等価な値を用いてMを導く手順はここに示した
方法に限らない。
たとえば、予めC-1を拡張ユークリッドの互除法によ
り計算しておけば、 Xp-1=(C-1mod p)rpmod p (48) Xq-1=(C-1mod q)rqmod q (49) が計算でき、これを用いてX-1を計算できる。Mの導出
は(40)式同様に行えば良い。
また、Mより次の2式から、 M′=M′mod p (50) M′=M′mod q (51) M′、M′を求めて、 Mp=M′・Xp -1mod p (52) Mq=M′・Xq -1mod q (53) を得る。(48)、(49)を連立させれば所望のMが得ら
れる。第2の実施例の効果も第1の実施例の説明の最後
に述べたことと同様である。
第3の実施例として、より一般化された方式を説明す
る。第1、第2の実施例では各々カーマイケル関数λ
(n)を法とする代数系の上で唯一の乱数Rを用いてい
た。第3の実施例ではm個の乱数Ri(i=1、…、m;m
≧1)を用いた一般形について説明する。まず、各乱数
Riは、各々次の方程式を満たしているとする。
Ri mod p=rip (54) Ri mod q=riq (55) なお、第1の実施例同様、 χ(rip)+χ(riq) (56) の大きさに適当な制約を付けるものとする。(54)〜
(56)式よりわかるように、先にrip、riqを定めて、そ
れからRiを求める。
このようにして求めたRiを用いて次のようなxからy
への変換fiをそれぞれ定める。
y=fi(Ri,x) (57) このように定めたm個の変換を合成した変換を用いて
dをd′に変換する。
d′=fm(Rm、…、f2(R2、f1(R1、d))…) (58) fiの具体的定義としては次の3種類を用いることがで
きる。
y=x・(Ri-1)modλ(n) (59) y=(x−Ri)modλ(n) (60) y=(x+Ri)modλ(n) (61) (59)式は従来の技術で述べた関数であり、(60)、
(61)式はそれぞれ、第1、第2の実施例で示した関数
である。これらの任意の組合わせを用いて依頼計算を実
現できる。
前の例と上に、(58)式で求めたd′をICカード9は
端末装置2に送る。端末装置2は、次式によりM′を求
める。
M′=Cd′mod n. (62) 端末装置2はM′をICカード9に送り返し、ICカード
9はこれを(58)式の変換手順によって定まるM導出の
手順に従ってM′からMを求める。前の例同様(60)
式、(61)式に対応する変換については、端末装置2で
の計算と平行して、 Xpi=(C mod p)r ipmod p (63) Xqi=(C mod q)r iqmod q (64) など、M′からMを求める変換に必要な値を計算するこ
とができる。本例で具体的にどうしてMを求めるかは従
来技術および第1、第2の実施例を繰返し適用するだけ
で容易に実現できるので、これ以上の説明は省略するこ
とにする。
[発明の効果] 以上説明したように本発明によれば、端末装置の処理
とICカードの処理の大部分を同時に行える方式を提供
し、依頼計算に要する処理時間を従来方式に比べて大幅
に短縮することができる。さらに、本発明によれば端末
装置およびICカードの処理速度を過剰に速くする必要が
なく、端末装置のコストおよびICカードコストを押える
ことができる。
【図面の簡単な説明】
第1図は本発明の実施例に係るメッセージ変換方法の処
理フローを示す図、第2図は端末装置2の斜視図、第3
図はICカード9の構成を示すブロック図、第4図は端末
装置2の構成を示すブロック図、第5図は端末装置2の
処理を示すフローチャート、第6図は他の実施例に係る
メッセージ変換方法の処理フローを示す図、第7図は従
来の処理フローを示す図である。 1……本体 9……ICカード 11……フロッピィーディク 15……CPU 23……中央処理装置 25……メインメモリ

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】秘密指数d、及びCRmod nの計算量がCdmod
    nの計算量よりも少なくなるように選定された乱数Rを
    持つ第1の装置と、前記秘密指数dも前記乱数Rも持た
    ない第2の装置とが分担して、メッセージブロックCを
    メッセージブロックM=Cdmod nに変換するメッセージ
    変換方法であって、 前記第1の装置が、 d′=(d−R)modλ(n) 但し{λ(n)はnのカーマイケル関数} に従って生成されたd′と、法nとを前記第2の装置へ
    転送する過程と、 前記第2の装置が、この転送されたd′及びnと、前記
    メッセージブロックCとから M′=Cd′mod n を計算する過程と、 前記第1の装置が、CRmod nの計算を、前記第2の装置
    が前記M′を計算する過程が終了するのを待たずに開始
    する過程と、 前記第1の装置もしくは前記第2の装置が、前記第1の
    装置が計算した前記CRmod n及び前記第2の装置が計算
    した前記M′を用い、 M=M′・CRmod n に従ってMを計算する過程とを具備することを特徴とす
    るメッセージ変換方法。
  2. 【請求項2】秘密指数d、及びCRmod nの計算量がCdmod
    nの計算量よりも少なくなるように選定された乱数Rを
    持つ第1の装置と、前記秘密指数dも前記乱数Rも持た
    ない第2の装置とが分担して、メッセージブロックCを
    メッセージブロックM=Cdmod nに変換するメッセージ
    変換方法であって、 前記第1の装置が、 y=(x−R)modλ(n) 但し{λ(n)はnのカーマイケル関数} なるxからyへの変換と f(x)=x・R-1modλ(n) f(x)=(x−R)modλ(n) f(x)=(x+R)modλ(n) のいずれか一つ以上の変換fとを合成した変換に従って
    dから生成されたd′と、法nとを前記第2の装置へ転
    送する過程と、 前記第2の装置が、この転送されたd′及びnと、前記
    メッセージブロックCとから M′=Cd′mod n を計算する過程と、 前記第1の装置が、CRmod nの計算を、前記第2の装置
    が前記M′を計算する過程が終了するのを待たずに開始
    する過程と、 前記第1の装置もしくは前記第2の装置が、前記第1の
    装置が計算した前記CRmod nを用い、 y=x・CRmod n なるxからyへの変換と、 F(x)=xRmod n F(x)=x・CRmod n F(x)=x・C-Rmod n のいずれか一つ以上の、前記変換fに対応する変換Fと
    を合成した変換に従って、前記第2の装置が計算した前
    記M′からMを計算する過程とを具備することを特徴と
    するメッセージ変換方法。
  3. 【請求項3】特許請求の範囲第1項もしくは第2項記載
    のメッセージ変換方法において、 法nの2つの素因数をp,qと表すとき、rpをべき指数、
    pを法とするべき乗剰余演算の演算量が少なくなるよう
    にrpを定め、rqをべき指数、qを法とするべき乗剰余演
    算の演算量が少なくなるようにrqを定め、これらrp及び
    rqから、 rp=R mod p−1 rq=R mod q−1 なる連立方程式を満たすように前記第1の装置が持つ乱
    数Rを定め、 前記第2の装置がCRmod nを計算する過程は、 pを法としてrpを用いて計算した第1の結果と、qを法
    としてrqを用いて計算した第2の結果とを用い、中国剰
    余定理に基づいてnを法とする結果を計算する過程を含
    むことを特徴とするメッセージ変換方法。
  4. 【請求項4】秘密指数d、及びC-Rmod nの計算量がCdmo
    d nの計算量よりも少なくなるように選定された乱数R
    を持つ第1の装置と、前記秘密指数dも前記乱数Rも持
    たない第2の装置とが分担して、メッセージブロックC
    をメッセージブロックM=Cdmod nに変換するメッセー
    ジ変換方法であって、 前記第1の装置が、 d′=(d+R)modλ(n) 但し{λ(n)はnのカーマイケル関数} に従って生成されたd′と、法nとを前記第2の装置へ
    転送する過程と、 前記第2の装置が、この転送されたd′及びnと、前記
    メッセージブロックCとから M′=Cd′mod n を計算する過程と、 前記第1の装置が、C-Rmod nの計算を、前記第2の装置
    が前記M′を計算する過程が終了するのを待たずに開始
    する過程と、 前記第1の装置もしくは前記第2の装置が、前記第1の
    装置が計算した前記C-Rmod n及び前記第2の装置が計算
    した前記M′を用い、 M=M′・C-Rmod n に従ってMを計算する過程とを具備することを特徴とす
    るメッセージ変換方法。
  5. 【請求項5】秘密指数d、及びC-Rmod nの計算量がCdmo
    d nの計算量よりも少なくなるように選定された乱数R
    を持つ第1の装置と、前記秘密指数dも前記乱数Rも持
    たない第2の装置とが分担して、メッセージブロックC
    をメッセージブロックM=Cdmod nに変換するメッセー
    ジ変換方法であって、 前記第1の装置が、 y=(x+R)modλ(n) 但し{λ(n)はnのカーマイケル関数} なるxからyへの変換と f(x)=x・R-1modλ(n) f(x)=(x−R)modλ(n) f(x)=(x+R)modλ(n) のいずれか一つ以上の変換fとを合成した変換に従って
    dから生成されたd′と、法nとを前記第2の装置へ転
    送する過程と、 前記第2の装置が、この転送されたd′及びnと、前記
    メッセージブロックCとから M′=Cd′mod n を計算する過程と、 前記第1の装置が、C-Rmod nの計算を、前記第2の装置
    が前記M′を計算する過程が終了するのを待たずに開始
    する過程と、 前記第1の装置もしくは前記第2の装置が、前記第1の
    装置が計算した前記C-Rmod nを用い、 y=x・C-Rmod n なるxからyへの変換と、 F(x)=xRmod n F(x)=x・CRmod n F(x)=x・C-Rmod n のいずれか一つ以上の、前記変換fに対応する変換Fと
    を合成した変換に従って、前記第2の装置が計算した前
    記M′からMを計算する過程とを具備することを特徴と
    するメッセージ変換方法。
  6. 【請求項6】特許請求の範囲第4項もしくは第5項記載
    のメッセージ変換方法において、 法nの2つの素因数をp,qと表すとき、rpをべき指数、
    pを法とするべき乗剰余演算の演算量が少なくなるよう
    にrpを定め、rqをべき指数、qを法とするべき乗剰余演
    算の演算量が少なくなるようにrqを定め、これらrp及び
    rqから、 rp=R mod p−1 rq=R mod q−1 なる連立方程式を満たすように第1の装置が持つ乱数R
    を定め、 第2の装置がC-Rmod nを計算する過程は、 pを法としてrpを用いて計算した第1の結果と、qを法
    としてrqを用いて計算した第2の結果とを用い、中国剰
    余定理に基づいてnを法とする結果を計算する過程を含
    むことを特徴とするメッセージ変換方法。
JP01024723A 1989-02-02 1989-02-02 メッセージ変換方法 Expired - Fee Related JP3137190B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP01024723A JP3137190B2 (ja) 1989-02-02 1989-02-02 メッセージ変換方法
EP19900301126 EP0381523A3 (en) 1989-02-02 1990-02-02 Server-aided computation method and distributed information processing unit
US07/474,404 US5046094A (en) 1989-02-02 1990-02-02 Server-aided computation method and distributed information processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01024723A JP3137190B2 (ja) 1989-02-02 1989-02-02 メッセージ変換方法

Publications (2)

Publication Number Publication Date
JPH02204768A JPH02204768A (ja) 1990-08-14
JP3137190B2 true JP3137190B2 (ja) 2001-02-19

Family

ID=12146081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01024723A Expired - Fee Related JP3137190B2 (ja) 1989-02-02 1989-02-02 メッセージ変換方法

Country Status (1)

Country Link
JP (1) JP3137190B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629869B1 (en) 1992-03-16 2003-10-07 Si Diamond Technology, Inc. Method of making flat panel displays having diamond thin film cathode

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2564576A1 (en) * 2004-04-26 2005-11-03 Trek 2000 International Ltd. Portable data storage device with encryption system
FR2877453A1 (fr) * 2004-11-04 2006-05-05 France Telecom Procede de delegation securisee de calcul d'une application bilineaire
JP5161177B2 (ja) * 2009-09-04 2013-03-13 日本電信電話株式会社 代理計算依頼装置、代理計算依頼方法、代理計算依頼プログラム、記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
電子情報通信学会春季全国大会 SA−8−3

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629869B1 (en) 1992-03-16 2003-10-07 Si Diamond Technology, Inc. Method of making flat panel displays having diamond thin film cathode

Also Published As

Publication number Publication date
JPH02204768A (ja) 1990-08-14

Similar Documents

Publication Publication Date Title
US4736423A (en) Technique for reducing RSA Crypto variable storage
US5581616A (en) Method and apparatus for digital signature authentication
US7961873B2 (en) Password protocols using XZ-elliptic curve cryptography
Albrecht et al. Implementing RLWE-based schemes using an RSA co-processor
CN109039640B (zh) 一种基于rsa密码算法的加解密硬件系统及方法
JP4137385B2 (ja) 公開鍵および秘密鍵による暗号化方法
JP2008252299A (ja) 暗号処理システム及び暗号処理方法
EP1552642A1 (en) Cryptography using finite fields of odd characteristic on binary hardware
JP3785044B2 (ja) べき乗剰余計算装置、べき乗剰余計算方法及び記録媒体
Rivest RSA chips (past/present/future)
JP3854226B2 (ja) 鍵ペア決定およびrsa鍵生成のための方法並びに装置
JP2003098962A (ja) 楕円曲線スカラー倍計算方法及び装置並びに記録媒体
US7050579B1 (en) Cryptographic methods and apparatus using word-wise montgomery multiplication
Pietiläinen Elliptic curve cryptography on smart cards
JP4945026B2 (ja) 減少した計算組を伴う認証または署名プロセス
JP3137190B2 (ja) メッセージ変換方法
JP4494965B2 (ja) 処理中の計算を容易にするための暗号化方法、及び装置
Casanova-Marqués et al. Implementation of Revocable Keyed-Verification Anonymous Credentials on Java Card
JPH0373990A (ja) 分散型情報処理装置
Gueron et al. Speed records for multi-prime RSA using AVX2 architectures
Harn A public-key based dynamic password scheme
Al-Tuwaijry et al. A high speed RSA processor
KR20030048631A (ko) 타원곡선 암호화 장치
JPH076025A (ja) 冪剰余演算方法および装置
JPH0372737A (ja) 依頼計算方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees