JPH0372737A - 依頼計算方式 - Google Patents

依頼計算方式

Info

Publication number
JPH0372737A
JPH0372737A JP1323926A JP32392689A JPH0372737A JP H0372737 A JPH0372737 A JP H0372737A JP 1323926 A JP1323926 A JP 1323926A JP 32392689 A JP32392689 A JP 32392689A JP H0372737 A JPH0372737 A JP H0372737A
Authority
JP
Japan
Prior art keywords
card
terminal
calculation
mod
equation
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
Application number
JP1323926A
Other languages
English (en)
Inventor
Shinichi Kawamura
信一 川村
Atsushi Shinpo
淳 新保
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 US07/474,404 priority Critical patent/US5046094A/en
Publication of JPH0372737A publication Critical patent/JPH0372737A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の目的〕 (産業上の利用分野) 本発明は、演算の主体となる計算装置内の秘密情報を漏
らさずに複数の装置が分散して計算を行う依頼計算方式
に関する。
(従来の技術) 社会の情報化・ネットワーク化の進展によシ我我の生活
や仕事はよシ効率化され、便利になシつつある。
しかし、その一方で情報の悪用やプライバシーの侵害な
ど新たな問題もクローズアップされている。プライバシ
ーを保護するためには、ネクトワークを介して様々なサ
ービスが提供されるとき、そのサービスを受けようとす
る個人がサービス提供者に対して自分の秘密を漏らすこ
となくサービスを受けるという技術が重要となってくる
と考えられる。
例えば、プライバシーを守ることを第一とするならば、
データベースの検索では個人がどのデータにアクセスし
たのかサービス提供者に分からないほうが良い。
また、コンピュータを協同利用する場合には、ユーザが
例を計算したのかはコンピュータの提供者に分からせる
必要も本来ない。
このような“秘密を漏らさずサービスを受ける方法を論
じた文献としては例えば、「秘密を漏らさずにサービス
を依頼する方法について」(松本、今井: 1989年
、暗号と情報セキュリティシンポジウム資料11−1.
1989年2月)がある。
具体的には、公開鍵暗号R8Aの変換を秘密情報やメツ
セージ内容を演算装置に漏らさずに実行するもの、行列
A、Hの内容を漏らさずにその積を計算する方法、線形
方程式の根を相手に知られないようにしながら相手の力
を借りて求める方法などが提案されている。
これらのうち、その特徴が最も端的に分か91かつ本発
明と係わルの深いものとして、R8A暗号の変換を行う
依頼計算方式を説明する。
R8A暗号は1978年にRivest等ニヨッテ提案
された公開鍵暗号である(文献: R,L、Rives
t、A。
Shamir and L、Adlman : A m
ethod of obtainingdigital
 signatures and cryptosys
tems ” C0mm。
ofAcM、pp、120−126 ’)。
R8A暗号では暗号化の鍵として正の整数eとnを用い
、復号化の鍵として同じく正の整数dとnを用いる(但
し、nは大きな二つの素数p、qの積である)。なか、
これら鍵情報の具体的選び方は前記文献に示されている
平文Mと暗号文Cは共に公開の法n未満の整数である。
c = fmod n    (1) また、復号化は次のようにして実行する。
M=♂mod n    (21 R8A暗号の変換には、(1)式のように公開鍵e、n
を用いた公開変換(暗号文の生成釦よび署名文のチエツ
ク)と、(2)式のように秘密鍵dとnを用いた秘密変
換(暗号文の復号および署名文の作#C)とがある。
前者は、eを予め小さい値に選べるので、ICカードの
ように比較的計算力が小さい装置(8ピツトまたは16
ビツトのCPU)でも短時間に行うことができ、実装上
の問題は生じない。
一方、後者の変換はdが大きくて(例えば10進200
桁程度の数)、かつdの値は秘密に保持しなければいけ
ないので、以下に述べるように実装置の問題を生ずる。
ここで、この暗号の重点を整理すると、■各・人ごと異
なる公開鍵e、nは、リストのような形で公開されてお
り、だれでもアクセスできる。
■秘密鍵d 、p−qtλ(n)= I Cm (p−
1、q−1)(ここで1cm(a、b)はaとbの間の
最小公倍数を表す)は、個人の秘密であう、他人に知ら
れないように十分注意する必要がある。
■暗号化機能のほかに署名機能がある。
■R8A暗号の安全性を保障するためには、秘密鍵p、
qの桁数を各々10進100桁程度の大きさに選ぶ必要
がある。nはこの場合IO進200桁程度の数になシ、
R8Aの暗号化・復号化変換は膨大な処理量の計算とな
る。
さて、多くの人が加入するネットワークでR8A暗号の
利点を最大限に引き出せる運用法としては、各人に個別
に鍵を発行して、if搬の記憶媒体にその鍵を記憶させ
、それを各自が持ち歩くのがよい。
このとき、上記要点に述べた点は運用上非常に重要であ
る。
要点■の条件を満足させることのできる個人の秘密鍵の
格納媒体としては、ICカード(cPUとメモリを内蔵
したプラスチイック・カード)が携帯性のある個人対応
の計算装置および記憶装置として最も好適である。
第5図は、このようなICカードシステムの外観を示す
図である。
同図にかいて、lはICカードを示しておシ、2はIC
カードlが用いられる装置を示している。
この装置2は、端末3、デイスプレィ4、キーボード5
、リーダ・ライタ6、フロッピィディスク7などから構
成される。
ICカード1は、第6図に示すように、統括的制御を行
うCPU8.CPU8の動作に必要なプログラムを記憶
するプログラムメモリ(ROM)9、データを記憶する
データメモリ(EEPROM)10゜入出力のインタフ
ェースであるI10コンタクト11などから構成される
端末3は、第7図に示すように、内部データバス12を
介し、デイスプレィコントローラ13、中央処理装置1
4、メインメモリ15、通信ボート16.17、フロッ
ピィディスクドライバ18、キーボードl1019など
が接続された構成を有する。
ICカードは、本発明を適用できる重要なシステムなの
で、ここでその代表的な利用手順を説明しておく。
第8図は端末3の処理フローを示したものである。
lず、ユーザは端末3に向かうと共に、自分のICカー
ド1を端末3に接続されたICカード1のリーダ・ライ
タ6に挿入する。
そして、キーボード5の適当なキーを叩き使用開始を端
末に知らせる(ステップ801)。このとき、同時にリ
ーダ・ライタ6を介してICカード1にクロックおよび
電源が供給され、適当な初期化の後にICカードlは通
信待ち状態となる(ステップ803)。
端末3は、ICカード1のユーザ確認を行うために、ユ
ーザに対してパスワードの入力を指示する(ステップ8
04)。ユーザが入力したパスワードは、ICカード1
内に記憶されている登録パスワードと比較され、一致す
ればICカード1は使用不能状態となるが、一致しない
場合にはICカード1は使用不能状態となる(ステップ
807〜809)。
これ以後、ユーザは、コマンドの形で端末3に指示を与
える(ステップ811,812)。
必要な手続きが終われば処理の終了を端末3に入力して
作業を終える(ステップ810〜813)。
このようにして利用されるICカードに、R8A暗号の
秘密鍵を格納した場合、上記要点■の要求から、理想的
にはICカード内でR8Aの復号変換および署名作成を
行うのが良い。
何故ならば、ICカードにはパスワード照合によるアク
セス制御機能があるので、ICカード内で変換を行えば
djiP、q、λ(n)がICカード外に洩れる心配は
筐ず無くなるからである。
しかしながら、現状では上記要点■に述べたことおよび
ICカードの計算力不足が理由によシ、R8A暗号の変
換をICカードで行った場合、実用上十分な処理速度を
達成することができない、筐た、R8A専用の高速演算
LSIをICカードに実装することも考えられるが、カ
ードコストの増大は避けられない。
一方、ICカードを単にアクセス制御機能のある鍵メモ
リとして利用することは容易である。
第9図に示すように、手間のかかる暗号変換は計算能力
の高いICカード外の装置、例えば端末に行わせること
によって実用的な処理速度を達成可能である。
具体的な計算手順を以下に示す。
〔手順1〕 ■ICカードは、メツセージMとdjirfを端末に伝
送する。
■端末は、8 = M mod Hを計算しICカード
に送シ返す。
しかし、この場合には、dを端末に渡すことになるので
、端末装置の設計pよび維持管理に十分な注意を怠ると
、端末や伝送路経由でdが他人に洩れる恐れがある。
また、偽の端末によって知らぬ間にdを盗まれるかもし
れない。
このような処理の尚速比と秘密情報の保護という二つの
問題を解決する方法として、端末には秘密鍵dに関する
情報をもらさずに、端末の計算力のみを借すてICカー
ドが効率よ(R8Aの暗号変換を行える依頼計算法が前
記文献「秘密を漏らさずにサービスを依頼する方法につ
いて」(松本、今井: 1989年暗号と情報・セキュ
リイシンポジウム資料11−1.1989年2月)ほか
幾つかの文献に開示されている。
また、前記文献とは別のR8A暗号の依頼計算法が「I
Cカードシステムに釦ける依頼計算について」(用村、
新保、電子情報通信学会春季全国大会、1989.3月
)に開示されている。
ここでは、この二つの方式を説明する。
まず、「秘密を漏らさずにサービスを依頼する方法につ
いて」(松本、今井: 1989年暗号と情報セキュリ
ティシンポジウム資料11−1.1989年2月)に示
されている二つの方式を説明する。
〔プロトコル1〕(第10図) 与えられたR8A暗号の秘密指数dを次式のように分解
する。
d三ft +dt +ft・da + ・・−−1−f、、・drrl(modλ(n) ) 
  (3)この式の右辺に現れる2種類の整数の組を各
々整数ベクトルD=[dl、 dji 、・・・、d 
]、F=[fI、 fa 。
・・・、f□〕と表すことにする。
FはICカードの秘密である。
■ICカードはM 、 n 、 Dを端末に転送。
■端末は y i = M” mod n        (41
ヲ’ = 1 t・・・2mについて計算し、ICカー
ドに転送。
■ICカードは次式によってSを計算。
f    f2f S=y、 lx ’Ih  X−X Y  ”modn
    (5)こうして求めたSはM mod nに等
しい。
ここでFをバイナリベクトル(各要素が0會たは1のベ
クトル)とすると、(5)式のfiによるベキ乗は事実
上不要となる。
〔プロトコル2〕(第11図) 与えられたR8A暗号の秘密指数dを法nの二つの素因
数p、qを法として次式のように分解する。
d三f1・dji −)−f、・dji+・+ fm・
dm(mod p )(6) d三り1dl十g2・d2 + ”’ + gm・dm
(mOdq)(7) この式の右辺に現れる3種類の整数の組を各々整数ベク
トルD=[dl 、ct、 ””’dm]、F−[f、
 、f2゜”・= ’n1〕、G=〔g19g2.・・
・2gm〕  と表すことにする。F、GはICカード
の秘密である。
■ICカードは、M 、 n 、 l)を端末に転送。
■端末は、 i y・= M  mod n        (81をi
 = 1 、・・・9mについて言1算し、lCカード
に転送する。
■iCカードは、次式によって8を計算する。
ff         f 8p=11” X y2” X・−X y;、 m m
od p   (91g+ 5q=ylXy2×・・・×)IrrlgmmodqQ
o)■次の連立方程式を満たすSを求める。
解法については、例えば、高木貞治二“初等整数輪講義
”、共立出版に示されている。すなわち、Sp三Smo
dp            QυSq三8 mod 
q            Hとなる。
こうして求めたSは、Mdmodnに等しい。
ここでF、Gをバイナリベクトルとすると(9)。
01式の’i + giよるベキ乗は事実上不要となる
次に、本発明者等によるl’−ICカードシステムにお
ける依頼計算について」(用村、新保、電子情報通信学
会春季全国大会、1989.3月)に示された方式を説
明する。な訃、ここでは、計算依頼側をICカード、計
算請負側を端末とする。
〔プロトコル3〕(第12図) まず、準備として以下の(13) 、 (14)を満た
す適当な乱数の組rp j rq 、 Rを求める。
rp= Rmod (pl )          (
13rq= Rmod (q−1)         
QJただし、x (r)= t (r) + w (r
) −2と定義するとき、rp r rqは、 x(r)+x(r、)           (L勾が
小さい数であるように選ばれる。なお、t(r)はrの
ビット長、w(r)はrのハミング重みを表わし、x 
(r)4d rを指数とするべき乗剰余計算に要する剰
余乗算の回数の回数を表わしている。
0、α4式の連立方程式は、’p l ’qを適当に定
めてその後にRを求めるもので、解の存在条件および解
法は、例えば、′高木貞治:″初等整数輪講義”共立出
版、 Pp、31−35 ”  に示されている。この
連立方程式の解はL = 1 cm (p−1、Q−1
) を法として唯一つ定理る。
また、必要に応じて、 W、=q (Q−1mod p ) mod nW9=
p(p−1modq)modn     ’   (l
f9も計算しておく。
後に述べるようにW、Wは必ず用意しなければ   q ならない定数ではない。
ICカード内にはrp t rq l dt p + 
q tλ(n)。
n v d’ t W、 、W9カ記憶サレテイル。
dを変形してdiを求める変換を d’ =(d−R)modλ(fl)        
 αηと定義する。
第12図はこれ以降の演算の手順を示すものである。
端末はこの暗号文Cf:まずICカード宛てに伝送しく
ステップ1201)、同時にICカードのメモリに書き
込1れているdlとnを読み出す(ステップ1202)
端末はこの二つの情報を用いて暗号文Cから、Mを次式
に従って計算する(ステップ120.11 )。
M’ = C”mod n           H端
末は計算したMlをICカードに送る(ステップ120
5)。
一方、ICカードは端末の計算と並行して、四〜(2υ
式に従って定数Xを求める(ステップ1204)。
を計算し、次式によってXを求める。
ここで、(11−(2a式について補足説明をして訃〈
(11、(イ)式はXに関する連立方程式と見ることが
できるが、中国剰余定理(例えば、高木貞治:“初等整
数輪講義”、共立出版参照)より、この2式を満たすX
は一意に定理る。
そして、その−解法が09式の右辺である。
ここでは、先に計算したW、Wなる二つの補助   q 変数を用いてXを導出している。ただし、(11,(至
)を満たすXの導出法はこれに限らない。例えば、J 
、J 、Quisquater等による文献”l;’a
st decipher−ment algorith
m for R8A public−keycrypt
osysterr&”Electron、Lett 、
、 18,21.pI)、905−907(Oct 、
1982 )には、この種の連立方程式の別な解法が示
されている。
したがって、(2D式によるXの導出ふ・よび補助変数
W、 、 Wの使用は本質的ではなく弐α1.CAを同
時に満たすXを求めることのみが本質である。
さて、ICカードが本来求めたかった平文Mは暗号文C
を、 M= Cdmod n           (23と
変換して得られるが、とのMは端末が計算したMlとI
Cカードが計算したXとから次式によって求められる(
ステップ1206)。
M = CM’s X)mod n         
HICカードは得られたMを復号結果として端末に伝送
する(ステップ1207)。
以上の手続きの中で、(至)式でMが正しく計算できる
ことは、以下のように説明される。
先ず、αI−0υより、 X = CRmod n          C24)
である。これは中国剰余定理よシ明らかである。
一方、 M=♂’mod n = C(d−R)modλ”’m□d H= C(d”
)mod n =♂♂□od n         (至)(財)、 
(251式より1 (M’ −X)mod n=(cdC”−♂)modn
= Cdmod n 2M             (4)これで(2)式
が或シ立つことが示された。
次に、プロトコル2とプロトコル3の処理時間特性を検
討する。
R8A暗号に用いる場合、プロトコル1は同じ安全性を
保障できるプロトコル2と比べて常に計算時間が掛かる
ので比較の対象としない。
具体的パラメータとして、法nが512ビツトである場
合を解析すると、各々次のような性徴を持つことが分か
る。
プロトコル2は端末が極めて高速であるときに有効であ
シ、プロトコル3は端末速度が比較的小さいときに有効
である。
ICカードが512ビツトの剰余乗算を行う場合の処理
速度を1と正規化したときの、端末の相対速度をVで現
すものとする。
概ねV≦4の場合には、依頼計算を行わずICカード単
体で行うのが最も処理時間が短い。
また、概ね1000≦Vでは、プロトコル2を用いるの
が最も処理時間が短い。
また、4≦V≦1000の範囲ではプロトコル3の依頼
計算を用いるのが最も処理時間が短い。
なか、このとき、4≦V≦20の範囲ではVの増加に伴
って処理時間は短くなって行くが、20≦Vの範囲では
処理時間は一定である。
以上の様子を定性的に示したのが第13図のグラフであ
る。
このグラフは処理時間の傾向を示すが必ずしも正確では
ないことを注意してかく。
概ね4≦V≦1000の中間の領域では端末を高速化し
てもトータルの処理時間は改善されず効率が悪い。
したがって、この領域でも適切なパラメータ設定をする
ことによって処理時間の改善が図れるような依頼計算法
が有れば有意義であることが分かる。
(発明が解決しようとする課題) 以上をまとめると、筐ずR8A暗号のように秘密の情報
に係る計算を行う場合において、計算を行う装置そのも
のにとっては計算の手間が膨大なときには、演算時間が
過度にかかってしまうという問題を生ずる。
例えばICカードのような計算力が比較的小さい装置で
実行させようとすると多大な計算時間を要する。
會た、計算主体となる装置だけでなくこれを補助する装
置を用意して、これらが分担して秘密情報に係る計算を
分担して行うことによって演算時間を削減することが考
えられるが、このとき秘密情報を補助装置に直接示すと
補助装置や第三者によりこの秘密情報を盗lれて悪用さ
れる恐れがある。
例えば1(8A暗号の計算を高速に行える外部装置を用
意してこれにdを示して計算させようとすると、復号変
換やディジタル署名作成に必要な秘密情報を外部装置に
知られてし筐い不正使用される恐れがある。
これに対して「依頼計算」を用いて秘密情報は外部装置
に漏らすこと無く、外部装置の計算力を借りて効率よく
変換を行う手法が提案されている。
しかしながら、従来提案されている方法は端末の速度が
比較的低い場合や端末速度が極めて大きい場合には効果
が大きいが、その中間の速度を有する端末に対しては余
シ効率的な方法とはいえなかった。
本発明は以上の問題点に鑑み威されたもので、整数を法
とするベキ乗剰余演算において秘密となる指数を計算の
請負側に漏らすことなく、しかも請負側の計算力を借υ
て効率よく実行する依頼計算方式に訃いて、従来提案さ
れている方式では十分端末の計算力を利用できなかった
場合でもパラメータを適切に選択することによって処理
速度を改善できる方式を提供することを目的としている
〔発明の構成〕
(課題を解決するための手段) 本発明は、演算主体となる主装置と、この主装置の行う
演算を補助する少なくとも一つの補助装置から構成され
、与えられた正の素数管たは合成数値nを法とする代数
系に従って、前記補助装置に秘密の正整数dによシ与え
られた整数n未満の正整数Mを、べき乗した値S=Md
mod nを計算するシステムにおいて、 (a)前記整数nを、k個(k≧1)の互いに素な正整
数nj(j=1.・・・、k)に分割する。
(b)前記正整数dを、k組の式 %式% )) d≡dj0+fj1.・・・、に1  λ(nj)は正
整数nのカーマイケル関数) を満たす、 前記主装置のみの秘密情報である(m+1)×k個の非
負整数のD’ =〔djO” jl # fjm ’ 
”” ’jm〕と、3 前記補助装置に知らされるm x k個の正整数の組D
2j=〔djl、dj2.・・・、djm)(J=1.
・、k )に分割する。
(c)前記補助装置は、Yj4=Mdjimod nt
−1=1、−、・m、 j =l 、・・・、kについ
て計算して前記主装置に送る。
(d)前記主装置は、該主装置が計算したに個の値であ
るY・=M j’mod n  と前記YjiとからO f。
・・・×YjmJmrr10dnj (但しj=1.・・・、k) を計算し、これらに個のSに関する連立方程式を満たす
値として結果Sを得る。
ことを特徴とするものである。
本発明は、前記整数nが素数である場合に適用できる。
また、本発明は整数nが二つの素数の積である場合に適
用できる。
(作用) 本発明では、主装置を補助する補助装置にはり、が秘密
なので補助装置は総当たb法以外に正整数dを知ること
ができず、秘密情報dを補助装置に漏らすことなく計算
を行うことができる。
また、補助装置が十分高速ならば主装置単独で計算を行
うよりも高速に計算を終了することができる。
本発明の特殊な場合として、m×k個の非負整数のfj
l、 fjm、・・・、fjmを各々1筐たはOに選べ
ば、主装置の計算の手間を削減することができる。
また、少なくとも一組の整数の対(i、j)(u、v)
(但し、1≦i、u≦に、1≦j、72m)Kついて、
dij=duvなる条件を満たすようにdijO値を定
めるという条件を課せば、補助装置はMd1j〜d・を
行えばd−〜d・を行う必要はなくなシ全体として処理
量を減らすことができる。
(実施例) 以下、本発明の実施例の詳細を図面に基づいて説明する
本発明はR8A暗号筐たは一般に整数nを法とするべき
乗剰余演算を行う場合に適用できる。
本実施例では、主装置としてIC’カード、補助装置と
して1台のPO8装置を想定して説明する。
システム構成としては、従来例の第5図〜第7図に示し
たものと同様であり、演算部分に着目すると第1図に示
すようになる。ただし、主装置、補助装置がそれぞれ具
体的に何であるかは本発明を制限するものではない。
さて、第1図に示すように、ICカード1には次式を満
たす複数の正整数の組D1= [do 、 f、 、 
f、。
・・・”m ]が、公開情報記憶部1bにはDl −〔
dt 。
d2.・・・、d  )がそれぞれ記憶されている。
d三d。+f1・d1+ fs・d2十・・・+f□・
dm(mOdλ(n) )   (31)DlはICカ
ード1の秘密情報でアシ、通常はカード外には読み出せ
ないように設定されている。
ICカード1のユーザはICカード1と端末3を利用し
てディジタル情報Mから次の式で表されるべき乗剰余値
を作成したい。
8 = Mdmod n           (32
)これはR8A暗号のディジタル署名である。
本実施例では、このディジタル著名の作成を例にとって
説明する。
以下、計算の手順を第2図に従って説明する。
ユーザはICカード1を端末3のリーダ・ライタ6に差
し込んで所定の手続きに従って機器の使用開始を指示し
、メツセージMを入力する(ステップ201〜204)
メツセージは例えば買い物の明細である。
ICカード1はDz =Cdt 、 4 、・・・、d
〕と法の値nを端末3に転送する(ステップ205,2
24)。
端末3は計算部3a、〜3amにより受信したDlnを
用いてm個のyiを次式のように計算する。
i ’J−=M  mod n  (n=1 +−+m) 
    (33)そして、yit−ICカード1に転送
する(ステップ225,207)。
一方、ICカード1は計算部ICにより秘密情報doを
用いてy。を次式によって求める。
0 y(、= M mod n           (3
4)更にICカード1は端末3から受信したy、 1・
・・、y□とy。を用いて次式によυ署名Sを得る(ス
テップ208)。
5=yoxy、 ” x y2×・−xy□”modn
(35) これをICカード1は端末3に転送しくステップ209
)、端末3はこれを記録して署名作成を終了する。
本実施例でfl +・・・、f をバイナリ(0捷たは
1)に選ぶと、(35)式に見掛上現れているべき乗計
算は不要になるのでICカード1の行う演算量を削減す
ることができる。
本実施例における主要な効果は次の3点である。
■端末3に対してdを直接見せていないので、ICカー
ド1の秘密情報dを端末3に知られないで済む。筐た、
ICカード1と端末3間の通信を盗聴する第3者に対し
てもdを秘密に保つことができる。
■十分高速な端末3を用いることによって、ICカード
1単独でべき乗剰余計算を行うのに比べて処理時間を短
縮することができる。
■ICカード1の秘密情報を適切に選ぶことによって、
従来の同様の方法(従来技術でのプロトコル2とプロト
コル3)に比べて処理時間を短縮することができる。こ
の効果は特にdo≧2かつ’1 y ・・・  f□ 
をバイナリとした場合に顕著である。
なに1本実施例は、Di f f ie −He l 
1manの鍵共有方式にも利用可能である。この場合に
は、nは素数pとなりλ(n)=p−1であることだけ
が異なる。
次に、本発明に基づく他の実施例を説明する。
本実施例にかいても上述した実施例と同様に、ICカー
ド・システムでR8A暗号をディジタル署名作成する場
合を例に説明する。なTh、R8A暗号ではnは大きい
二つの素数p、qの積であシ、n=p@qと書けること
に先ず注意する。
本実施例では、ICカード1には次式を満たす複数の正
整数の組D11 =〔dlo r ’11 t ”’ 
e ’1rrl]、D12=〔d2゜t ’21 #・
・・、f□〕およびり、 =[cll、 dh1]が記
憶されている。
d: djio+ f、、・dji + f1□・d2
十”・十f1m・dm(mod p−1)   (36
)d三d2゜+’21・d1+f2□・d2−)−−+
 f2In−dm(mod Q−1)   (37)D
ll とD1□はICカード1の秘密情報であシ、通常
はカード外には読み出せないように設定されている。
ICカード1のユーザは、ICカード1と端末3を利用
してディジタル情報Mから上述した実施例と同様に次式
で表されるべき乗剰余値を作成したい。
8 = Mdmod n          (3s)
第3図に本実施例に釦いて署名Sを計算する処理ステッ
プを示す。
ステップ304のべき乗剰余計算部分以外は最初の実施
例と共通なのでステップ304の部分についてのみ説明
する。
先ず、ICカード1は端末3に公開情報D2を転送する
(ステップ305,334)。
端末3は受信したり、、nを用いてm個のYiを次yi
=MdimOdn(i=1.・・・2m)(39)そし
て、yiをICカード1に転送する(ステップ335,
307)。
一方、ICカード1はカードの秘密情報d□。。
d2゜を用いてy□。、y2゜を次式によって求める(
ステップ308)。
ァ=Md・・−d p        (40)0 y2゜=Md2’ mod q        (41
)更にICカード1は端末3から受信したyt 。
・・・l yrrlとyl。、y2゜を用いて次式によ
’) St 、 Stを計算する(ステップ308)。
p、qは互いに素だから中国剰余定理よ9次式(31) を満たすn未満の数8は唯一定1す、それが所望のディ
ジタル署名Sである。
S、 = 8 mod p            (
44)S2= S mod q           
 (45)この方程式を解く方法は種々あるが、 W、= q (q  mod p )        
 (46)W9= p (p ’ mod q )  
      (47)を満たすW、、W9 を予め計算
してICカード1内に記憶させておけば、次式によシS
を計算できる。
5=(S8・W2+S2・W9)ITlodn(48)
これをICカードlは端末3に転送しくステップ309
)、端末3はこれを記録して署名作成を終了する(ステ
ップ336〜338)。
本実施例においても上述した実施例で説明した■〜■と
同様の効果が得られる。峙に■の効果はdl。≧21 
d20≧2かつfll 1 ・・’ l ’1mおよび
’211 ”’f2mをバイナリとした場合に顕著であ
る。
次に、S3図の手順にかいてパラメータf、i。
f2i(i=112.・・・、 m )を全てランダム
に設定したものと仮定すると、計算補助装置が不正演算
を行(32) うと主装置の公開情報nが素因数分解される可能性があ
ることを説明する。R8A暗号においては公開情報nの
素因数p、qが知られると全ての秘密情報が計算可能と
なり1暗号システムが破綻する。
補助装置の不正は第3図中のステップ335で次の操作
を行うことによる。まず、m項のうちからランダムに一
項を選び、その項に対して次の演算を行う。ここでは仮
に第り項を選んだものとする。
yh= −M’h mod n         (4
9)その他の項は正当な演算を行う。
d。
y、 = M  mod n   (但し、14h) 
    (50)このようにするとステップ308で主
装置に得られる署名結果Sは次式を満たすものとなる。
S三(−1)”h−Mdmod p=±Mdmod p
    (51)f        d S三(−1)2h11MdmOdq=±M mod q
   (52)法n上の値SはflhT f2bが奇数
であるか偶数であるかにより以下の4通りに場合分けさ
れる。
■f1h:偶数、’2h :偶数の場合S = M’ 
mod nとなう、結果Sは正しい演算結果と一致する
■f1h:奇数、’zh”奇数の場合 8 = −Mdmod n となう、結果Sは正しくな
いが後に示すnの素因数分解には結び付かない。
■’1h ”偶数、 f2h:奇数の場合U1= W 
−W mod nとおくと、5=U1・Mdmodn 
  q となる。このとき後に示すようにnは素因数分解される
■f1.:奇数、 f :偶数の場合 U* = −W +W mod nとおくと、5−U2
・J   q mod n となる。このとき後に示すようにnは素因
数分解される。
以下では、■の状態になったと仮定する。ステップ33
6で上記の8を受信した補助装置は次のようにするとn
の素因数分解が求められる。まず、次式を計算する。こ
こで凡SA暗号の公開指数eは奇数であること、W @
W = Qmod n 、 W =W mod npq
      p  p (k=1+=0なる任意の整数)なる性質が或す立つこ
とに注意する。
Semod n = (We−We) −M    q =(W−W)・M    q = Ul・M mod n           (5
3)次に、Se十MmOdn  を求メル。
Se+ Mmod n = (U1+ 1 ) ・M=
2WM = 2・M・(q modp)・qIT)Odn(54
) ここで、仮にGCD(M、n)=pとすルト、GCD計
算はユークリッドの互除法と呼ばれる計算アルゴリズム
によって簡単に計算できるため、メツセージM及び公開
鍵nだけからnの素因数分解が求められる。但し、メツ
セージMをランダムに選んだ場合、GCD(M、rl)
=pとなる確率は1/qである。R8A暗号の場合、q
のサイズは10進100桁程度の大きさになるのでこの
ような状況になることは極めて希である。
一方、GCD(M、n)4p とすると、(qmodn
)はpよシ小さいこと、GCD(2,I))”’1であ
るこ(35) とに注意すると、2・M・(q  mod p )はp
の倍数ではないことが分かる。従って、GCD(n、♂
+Mmod n ) = qとなるのでユークリッドの
互除法によりnの素因数qが得られ、pはn/qによシ
得られる。
■の状態では同様の操作によl) GC,D(n 、 
S −1−M mod n ) = pが得られる。
以上説明したように、仮にパラメータ設定i + ’2
i(i=1 、2 、・・・、 m )  を全てラン
ダムに設定したものとすると確率1/2でnの素因数分
解が成功する。
上記攻撃法の対策としては、ステップ308で主装置に
得られる署名結果Sが必ず上記の■か■のどちらかにな
るようにパラメータ設定すればよい。例えば、次の2つ
の設定が有効である。
+11パラメータf。、f21(i=1.2.・・・2
m)の全てを偶数にする。
(2)パラメータの組み(f、□、f21 ) 、 (
f1□r ’22 ) +・・・* ”1m t ’K
n )の全ての組みについて奇数・偶数を合わせる。
補助装置が不正をはたらく項を複数にしても、(36) (1)にすると、必ず■の正しい結果が得られる。
方、(2)にすると■もしくは■のどちらかの結果にな
る。
+11の設定を行うには、R8A暗号の秘密鍵dが奇数
であること、λ(p)、λ(q)は共に偶数になること
に注意すると、dl。及びd2゜を共に奇数に設定しな
ければならない。従来技術として説明したプロトコル2
(第11図)の計算方式は、dl。==d2゜=0 の
場合に相当するのでこのようにパラメータ設定すること
は不可能である。今回、提案の方式(第3図)には可能
。なお、(2)の設定は、従来技術として説明したプロ
トコル2(第11図)の計算方式及び今回、提案の方式
(第3図)のどちらに対しても可能である。
lた、(f) 、 (21の設定をR8A暗号の秘密変
換について一般化すると次のようになる。秘密鍵dの分
割は次式のように行われる。
d三d1o+ fl、・d1□+f1□・d□2+・・
・+f1m−dir11mOdp−1d三d2゜十’2
1・d21+f2□・d2□+・・・+f、・dji關
dq−sfij全てを偶数に設定するのが(1)の設定
の一般化であシ、dij=dLIvなる”ij p f
uv )  の組みのそれぞれに対し、奇数・偶数を合
わせ、残すのdijは全て偶数に設定するのが(2)の
設定の一般化である。
以上の述べてきたように今回提案の方式及び従来技術の
一方式に対し、パラメータの設定に制約を設けることで
、公開鍵nを素因数分解する攻撃を防止できる。
最後に、後の実施例における処理時間短縮の効果を第4
図に示す。
グラフの縦軸は処理時間の相対値(ICカード単独で署
名作成した場合の処理時間を1としている)、縦軸は端
末速度の相対′値v(ICカードの演算速度を1とした
場合の端末の速度)である。
概ね20≦V≦1000の範囲では本方式がこれまで提
案されている方式のうち最も処理時間が短いことが分か
る。
〔発明の効果〕
以上述べたように本発明によれば、ICカードなど計算
主体となる主装置の秘密情報を、補助装置に漏らすこと
なく、かつ補助装置の計算力を借すて、主装置単独で処
理を行うよシも短時間に処理することができる。しかも
従来方式よりも処理時間を短縮することが可能である。
また、本発明をR8A暗号に適用した場合、本発明によ
るパラメータ設定の制約条件を用いれば補助装置による
公開鍵nの素因数分解攻撃を防止することができる。
【図面の簡単な説明】
第1図はこの発明の特徴となる演算部分と装置のブロッ
ク構成を示す図、第2図と第3図は本発明をICカード
と端末とで構成した場合の処理手順を示す図、第4図は
本発明の効果を示す処理時間特性のグラフ、第5図はI
Cカードを利用できる端末構成の斜視図、第6図はIC
カードの構成の機能ブロック図、第7図は第5図に示し
た端末の機能ブロック図、第8図は第5図に示したIC
’カード利用端末の動作を規定する制御フロー、第9図
はICカードが秘密の指数dを端末に直接示して端末が
ディジタル署名を計算する従来方式を示す図、第10図
〜第12図は各々従来の依頼計(39) 糞力式におけるICカード端末間の情報の流れを示す図
、第13図は従来の依頼計算方式を用いた場合の処理時
間特性を示す図である。 1・・・ICカードを示してお9.3・・・端末、4・
・・デイスプレィ、5・・・キーボード、6・・・リー
ダ・ライタ、7・・・フロッピィディスク、8・・・C
PU。 9・・・プログラムメモリ(ROM)、10・・・デー
タメモリ(EBPROM)、11・・・I10コンタク
ト、12、・・内部f−タハス、13・・・デイスプレ
ィコントローラ、14・・・中央処理装置、15・・・
メインメモ1ハ16.17・・・通信ポート、18・・
・フロッピィディスクドライバ、19・・・キーボード
エ10゜(40)

Claims (4)

    【特許請求の範囲】
  1. (1)演算主体となる主装置と、この主装置の行う演算
    を補助する少なくとも一つの補助装置から構成され、与
    えられた正の素数または合成数値nを法とする代数系に
    従って、前記補助装置に秘密の正整数dにより与えられ
    た整数n未満の正整数Mを、べき乗した値S=M^dm
    odnを計算するシステムにおいて、 (a)前記整数nを、k個(k≧1)の互いに素な正整
    数n、(j=1、・・・、k)に分割し、(b)前記正
    整数dを、k組の式 d≡d_j_0+f_j_1・d_j_1+f_j_2
    ・d_j_2+・・・+f?_j_m・d_j_m(m
    odλ(n_j)) (但し、j=1、・・・、k、λ(n_j)は正整数n
    のカーマイケル関数) を満たす、 前記主装置のみの秘密情報である(m+1)×k個の非
    負整数のD_1_j=〔d_j_0、f_j_1、f_
    j_2、・・・、f_j_m〕と、前記補助装置に知ら
    されるm×k個の正整数の組D_2_j=〔d_j_1
    、d_j_2、・・・、d_j_m〕(j=1、・・・
    、k)に分割し、 (c)前記補助装置は、Y_j_i=M^d_j_im
    odnをi=1、・・・、m、j=1・・・、kについ
    て計算して前記主装置に送り、 (d)前記主装置は、該主装置が計算したk個の値であ
    るY_j_0=M^d_j_0modnと前記Y_j_
    iとからS=Y_j_0×Y_j_i^fj1×Y_j
    _2×・・・×Y_j_m^fjmmodn_j(但し
    j=1、・・・、k) を計算し、これらk個のSに関する連立方程式を満たす
    値として結果Sを得る ことを特徴とする依頼計算方式。
  2. (2)m×k個の非負整数のf_j_1、f_j_2、
    ・・・f_j_mは、各々1または0であることを特徴
    とする請求項1記載の依頼計算方式。
  3. (3)少なくとも一組の整数の対(i、j)、(u、v
    )(但し、1≦i、u≦k、1≦j、v≦m)について
    、d_i_j=d_u_vなる条件を満たすように、d
    _i_jの値を定めることを特徴とする請求項1記載の
    依頼計算方式。
  4. (4)請求項1記載のm×k個のパラメータf_j_i
    =1、2、・・・、k;i=1、2、・・・、m)全て
    を偶数に設定することを特徴とする請求項1記載の依頼
    計算方式。(5)少なくとも一つのj(1≦j≦m)に
    対して、d_j_1=d_j_2=・・・=d_j_k
    なる条件を満たすようにd_j_iの値を設定し、m個
    のパラメータf_j_1、f_j_2、・・・、f_j
    _kは全て法を2とする値が一致するように値を設定し
    、その他のf_h_i(h≠j;i=1、2、・・・、
    k)は全て偶数に設定することを特徴とする請求項1記
    載の依頼計算方式。
JP1323926A 1989-02-02 1989-12-15 依頼計算方式 Pending JPH0372737A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US07/474,404 US5046094A (en) 1989-02-02 1990-02-02 Server-aided computation method and distributed information processing unit

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1-139593 1989-05-31
JP13959389 1989-05-31

Publications (1)

Publication Number Publication Date
JPH0372737A true JPH0372737A (ja) 1991-03-27

Family

ID=15248883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1323926A Pending JPH0372737A (ja) 1989-02-02 1989-12-15 依頼計算方式

Country Status (1)

Country Link
JP (1) JPH0372737A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008519303A (ja) * 2004-11-04 2008-06-05 フランス テレコム 双線形アプリケーションの計算の安全化された委託方法
JP2008520145A (ja) * 2004-11-11 2008-06-12 サーティコム コーポレーション 汎用鍵導出関数サポートのための安全インタフェース
US8634562B2 (en) 2004-11-11 2014-01-21 Certicom Corp. Secure interface for versatile key derivation function support

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008519303A (ja) * 2004-11-04 2008-06-05 フランス テレコム 双線形アプリケーションの計算の安全化された委託方法
JP4740253B2 (ja) * 2004-11-04 2011-08-03 フランス・テレコム 双線形アプリケーションの計算の安全化された委託方法
JP2008520145A (ja) * 2004-11-11 2008-06-12 サーティコム コーポレーション 汎用鍵導出関数サポートのための安全インタフェース
US8634562B2 (en) 2004-11-11 2014-01-21 Certicom Corp. Secure interface for versatile key derivation function support

Similar Documents

Publication Publication Date Title
Liao et al. A secure dynamic ID based remote user authentication scheme for multi-server environment
US4964164A (en) RSA computation method for efficient batch processing
EP0202768B1 (en) Technique for reducing rsa crypto variable storage
US5046094A (en) Server-aided computation method and distributed information processing unit
JP2008252299A (ja) 暗号処理システム及び暗号処理方法
WO2021081542A2 (en) Optimized private biometric matching
JP2002535878A (ja) 公開鍵および秘密鍵による暗号化方法
De Santis et al. Enforcing the security of a time-bound hierarchical key assignment scheme
Harn et al. Integration of user authentication and access control
JPH0353367A (ja) 分散型情報処理システム
WO2016193731A1 (en) Authentication methods, systems, devices, servers and computer program products
Bala et al. Biometric inspired homomorphic encryption algorithm for secured cloud computing
EP0381523A2 (en) Server-aided computation method and distributed information processing unit
JPH0372737A (ja) 依頼計算方式
JPS613254A (ja) 利用者認証方式
Rihaczek Teletrust
JP4494965B2 (ja) 処理中の計算を容易にするための暗号化方法、及び装置
Chang et al. Remote scheme for password authentication based on theory of quadratic residues
Ahmed et al. A Cloud computing-based Advanced Encryption Standard
CN109787773B (zh) 基于私钥池和Elgamal的抗量子计算签密方法和系统
JPH0373990A (ja) 分散型情報処理装置
EP0356127B1 (en) A RSA computation method for efficient batch processing
JP3137190B2 (ja) メッセージ変換方法
Ezziri et al. A zero-knowledge identification scheme based on the discrete logarithm problem and elliptic curves
CN111614465A (zh) 基于超奇异同源秘钥封装协议的公钥生成方法和装置