JP3043762B2 - 鍵生成装置 - Google Patents

鍵生成装置

Info

Publication number
JP3043762B2
JP3043762B2 JP1031086A JP3108689A JP3043762B2 JP 3043762 B2 JP3043762 B2 JP 3043762B2 JP 1031086 A JP1031086 A JP 1031086A JP 3108689 A JP3108689 A JP 3108689A JP 3043762 B2 JP3043762 B2 JP 3043762B2
Authority
JP
Japan
Prior art keywords
key
mod
user
calculation
size
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 - Lifetime
Application number
JP1031086A
Other languages
English (en)
Other versions
JPH02211491A (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 JP1031086A priority Critical patent/JP3043762B2/ja
Publication of JPH02211491A publication Critical patent/JPH02211491A/ja
Application granted granted Critical
Publication of JP3043762B2 publication Critical patent/JP3043762B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、RSA暗号を利用した情報通信システムに適
用され、特に、ディジタル署名や復号変換といった個人
の秘密変換が高速に実行できるような暗号方式に関す
る。
(従来の技術) 公開鍵暗号の代表であるRSA(Rivest−Shamir−Adlem
an)暗号は、ディジタル署名機能を実現できること、鍵
管理が容易になること等の優れた特徴を持ち、セキュリ
ティを必要とする情報通信システムへの応用が期待され
ている。しかしながら、RSA暗号の欠点としては処理の
演算量が多く、特に復号変換(および署名作成)の処理
量が大きくなることがあげられる。復号変換(および署
名作成)は、各ユ−ザが自分の秘密鍵を用いて処理を行
うために、通常、各ユ−ザの端末(汎用のパ−ソナル・
コンピュ−タ等)で実行するため、それほど処理能力の
大きな装置を期待することはできない。従って、復号変
換(および署名作成)の処理時間の高速化が課題であ
る。
RSA暗号の復号変換(および署名作成)を高速化する
方法としては、以下に示すような方法が知られている
(“Fast decipherment algorithm for RSA public−ke
y cryptosystem",Electronic Letters,18,21,pp.905−9
07あるいは“現代暗号理論",池野,小山,電子通信学会
編pp.117−119)。この方法を説明するために、まずRSA
暗号の鍵生成法から説明する。
(1) 10進100桁程度の大きな素数p,qを生成し、その
積をnとする。nは10進200桁程度の大きさとなる。
n=p*q (1) (2) (p−1)と(q−1)の最小公倍数を計算
し、Lとする。Lは10進200桁程度の大きさとなる。
L=LCM(P−1,q−1) (2) (3) 1<e<Lで、Lと互いに素な整数を選びeと
する。
(4) 次式を満たすようなdを計算する。dは10進20
0桁程度の大きさとなる。
e*d=1 mod L (3) 以上がRSA暗号の鍵生成法であり、eおよびnは公開
し、dは秘密に保持する。なお、(3)においてeは、
安全性を下げずに小さく選ぶことができる。
また、RSA暗号の復号変換(および署名作成)は次の
計算式で表される。この計算を高速化する方法を次に説
明する。
C=Md mod n (4) (1)(5),(6)式のdp、dqを求める。
dp=d mod p−1 (5) dq=d mod q−1 (6) (2)Mから(7),(8)式のMp,Mqを求める。
Mp=M mod p (7) Mq=M mod q (8) (3)Mp,Mq,dp,dq,p,qから(9),(10)式のCp,Cq
求める。
Cp=Mp d pmod p (9) Cq=Mq d qmod q (10) (4)Cp,Cqから中国剰余定理により、(11),(12)
式の連立合同式を解いてCを求める。
すなわち、xq=q-1 mod p (13) xp=p-1 mod q (14) とおくと、 C=CpqXq+CqpXpmod n(15)によりCが求められ
る。なお、(13),(14)式は拡張ユ−クリッドの互除
法と呼ばれるアルゴリズムを用いれば効率よく計算でき
る。なお、(13),(14)式の一方を計算するだけで
(15)式に相当するCを求めることもできる。また、
(13),(14),(5),(6)式の計算は、Mの値に
依存しないので、一度行っておけば毎回計算する必要は
ない。
従来の(4)式をそのまま計算することは、大きな整
数のべき乗剰余計算を行うことに相当する。大きな整数
のべき乗剰余計算は、取り扱う整数の桁数をbとする
と、b3オ−ダ−の処理時間を要する。高速化された計算
法の処理時間も(9),(10)式のべき乗剰余計算の処
理時間に相当し、取り扱う整数の桁数が(4)式の半分
となっているので、一つの式の計算が約8倍高速にな
る。(9),(10)式を計算機のソフト等で逐次的に行
う場合には、全体として約4倍高速化される。
以上説明した方式は、従来の計算法に比べて、計算機
のソフトによる実現で約4倍高速化できるが、それでも
まだ演算量としては大きすぎる場合が多い。例えば、ユ
−ザの使用する装置がICカ−ドのように計算力の乏しい
場合にはその傾向が顕著である。
(発明が解決しようとする課題) 以上述べてきたように、従来の計算方法ではRSA暗号
の復号変換(および署名作成)の処理時間は十分に高速
化されているとはいえない。特に、ユ−ザの使用する装
置がICカ−ドのように計算力の乏しい場合にはその傾向
が顕著である。
そこで、本発明は上記の点に鑑みてなされたものであ
り、法nの素因数分解に対する安全性は下げずにユ−ザ
が復号変換に用いる鍵の大きさに制約を加えることで、
復号変換(および署名作成)の高速化を実現するもので
ある。
[発明の構成] (課題を解決するための手段) 上記目的を達成するために本発明においては、ユ−ザ
が復号変換に用いる鍵の大きさに制約を加えることを特
徴とする。具体的には、ユ−ザが復号変換(および署名
作成)に用いる鍵であるdp,dqのサイズを素数p,qに比べ
て極めて小さいものを用いる。従って、RSA暗号の公開
鍵であるeは、dp,dqが小さいという条件から生成する
ことになる。このようにdp,dqを設定してもdのサイズ
は従来方式のままであり、dに対する総当り攻撃に対す
る安全性は劣化しない。
(作用) RSA暗号の高速復号変換の処理時間は、おおむねMp d p
modおよびMq d q mod qの計算時間に相当する。従来、鍵
に何も制約を付けない場合には、dp,dqのサイズは素数
p,qのサイズ(10進100桁程度)に一致し、べき乗剰余計
算に必要となる剰余乗算の回数が750回程度必要であ
り、このことが、処理時間を高速化できない原因であっ
た。本発明は、dp,dqのサイズに制約を加えるものであ
り、例えばdp,dqをそれぞれ32ビット(10進10桁程度)
に設定した場合には、べき乗剰余計算に必要となる剰余
乗算の回数が96回程度となり、従来の高速復号変換に比
べて約8倍高速化され、高速復号変換を用いない場合と
比べると約32倍高速化される。
(実施例) 以下、図面を参照して本発明の一実施例を説明する。
まず、第1図に本発明によるRSA暗号を利用した情報通
信システムの一構成を示す、同図において、100はユ−
ザiの保持する演算装置、200はユ−ザjの保持する演
算装置、110はユ−ザiの利用する端末、210ユ−ザjの
利用する端末、500ユ−ザi,j間の通信路である。110や2
10の端末は、100や200の演算装置よりも計算力に優れて
いる。実際には、100,200はICカ−ド、110,210はパ−ソ
ナル・コンピュ−タ等の装置構成となる。演算装置100
内には、ユ−ザiの秘密鍵が記憶されており、演算装置
200内には、ユ−ザjの秘密鍵が記憶されている。各ユ
−ザの公開鍵は100や210の各端末に記憶されている。
ユ−ザiからjへ、ユ−ザiの署名文を送信する場
合、演算装置100でユ−ザiの署名が作成され、端末110
を通して、ユ−ザjの利用する端末210へ送信される。
署名の検査は端末210で行う。ユ−ザiからjへRSA暗号
を利用して暗号通信を行う場合には、ユ−ザiの利用す
る端末110で、ユ−ザjの公開鍵を用いて暗号化を行
い、端末210に暗号文を送信する。端末210は、演算装置
200に暗号文を送り、復号は演算装置200内で行う。
第2図は、本発明によるRSA暗号の鍵生成手順を示し
たものである。まず、10進100桁程度の大きさの素数を
2つ生成し、p,qとする(ステップ21)。この2数の積
をnとする(ステップ22)。また、p−1とq−1の最
大公約数(GCD)を計算し、これをgとする(ステップ2
3)。さらに、p−1とq−1の最小公倍数(LCM)を求
めこれをLとする(ステップ24)。次に、予め制限した
大きさの乱数を2つ生成し、dp,dqとする(ステップ2
5)。このdp,dqが法をgとする代数系の上で合同である
か確認する。合同でない場合には(ステップ25)へ戻
り、別のdp,dqを生成する(ステップ26)。次に、dp
p−1の最大公約数(GCD)を計算する。同様にdqとq
−1の最大公約数(GCD)を計算する。この2つのGCDの
どちらかが1でない場合には、(ステップ25)へ戻り、
別のdp,dqを生成する(ステップ27)。次に、(16)式
の連立方程式を解く(ステップ28)。
d=dpmod p−1 d=dqmod q−1 (16) 連立方程式の解法は、例えば、高木貞治:“初等整数
論議義",共立出版,pp.31−35に示されている。(16)式
の解は、L=LCM(p−1,q−1)としてただ一つ定ま
り、これをdとする。最後に、法Lの上でのdの逆元を
計算し、eとする(29)。
以上の手順により、10進で200桁程度のn,e,dが生成さ
れる。但し、dp,dqは条件設定により任意に小さくで
き、dの代わりにdp,dqを用いることでRSA暗号の復号変
換(および署名作成)が高速になる。n,eは公開する。d
p,dq,p,qは秘密に演算装置内に記憶させる。演算装置は
パスワ−ド検査等の手段で十分にアクセス制御されてい
るものとする。なお、eの値は、従来方式では安全性を
下げずに十分小さく選ぶことができたが、本発明では10
進で200桁程度の大きさになるため、暗号変換は従来方
式に比べてかなり演算量が多くなる。しかし、暗号変換
は公開の鍵を利用するので演算能力の大きな汎用パ−ソ
ナル・コンピュ−タやワ−クステ−ションに実行させる
ことができ、暗号変換の演算量の多さはあまり問題とな
らない。
第3図に、復号変換(および署名作成)の処理手順を
示す。計算したいものはMdmod nである。まず、Mを外
部から入力する(ステップ31)。次に、(17),(18)
式のxp,xqを求める(ステップ32)。
xq=q-1mod p (17) xp=p-1mod q (18) なお、このxp,xqは一度計算しておけば、その値を記
憶しておくことで毎回用いることができる。次に、(1
9),(20)式のMp,Mqを求める。(ステップ33)。
Mp=M mod p (19) Mq=M mod q (20) 次に、(21),(22)式のべき乗剰余計算によりCp,C
qを求める(ステップ34)。
Cp=Mpdpmod p (21) Cq=Mqdqmod q (22) 最後に、(23)式の計算によりCを求める。(ステッ
プ35)。
C=Cpqxq+Cqpxpmod n (23) Cを出力して、復号変換(および署名作成)処理は終
了する(ステップ36)。
第4図に、ユ−ザが複合変換に用いる鍵のサイズに制
約を加える別の方法の鍵生成手順を示す。まず、10進10
0桁程度の大きさの素数を2つ生成し、p,qとする41)。
この2数の積をnとする(ステップ42)。また、p−1
とq−1の最少公倍数(LCM)を求め、これをLとする
(ステップ43)。次に、予め制限した大きさの乱数を生
成し、dとする(ステップ44)。このdとLの最大公約
数(GCD)を計算する。GCDが1でない場合には、(ステ
ップ43)へ戻り、別のdを生成する(ステップ44)。最
後に、法Lの上でのdの逆元を計算し、eとする(ステ
ップ45)。
この第4図に示した手順を第2図に示した手順と比較
する。第4図の方法の秘密鍵dをbビットと定めると、
秘密鍵dのサイズを小さくしたことにより、総当り的に
dを探索する攻撃に対して安全性が低下し、2b個の鍵を
探索すれば秘密鍵が発見されることになる。第2図の方
法でも、総当り的に秘密鍵を探索する攻撃に対しては、
同様に安全性が低下する。(16)式のdp,dqのビット数
をwビットすると、dp,dqの組み合わせである22w個の鍵
の組み合わせを探索すれば秘密鍵の組が発見される。こ
のような総当り攻撃に対する安全性を同程度に保つため
には、第4図の方法に対して定めたdのビット数(=b
ビット)の半分のサイズ(=b/2ビット)にdp,dqを設定
すればよい。第4図の方法に対して、復号変換の高速計
算法を用いる場合と、第2図の方法との処理量を比較す
る。法となるp,qのサイズは両方式で同じであるとし
て、さらに総当り攻撃に対して同程度の安全性になるよ
うに鍵のサイズを定めた場合を考える。通常、法p,qの
サイズに比べてbは小さいと考えてよい。従って、dp,d
qのサイズがそれぞれ半分になっているので第2図の方
法の処理量は第4図の方法の1/2になる。
第5図は、第2図に示した鍵生成手順を実現する鍵生
成装置50のブロック図である。21の素p,qの生成は素数
発生器51で行われ、p,qは外部に出力される。これらp,q
を用いたnの計算22は乗算器53で行われ、nは外部に出
力される。23,24のg,Lの計算GCD,LCM計算器52で行われ
る。25の乱数dp,dqの生成は55の乱数発生器で行われ、
これらdp,dqに対する26,27の判定は半定器54で行われ、
判定を通ったdp,dqは外部に出力される。これらdp,dq
対する連立合同式28の解法は56の連立合同式解法装置で
行われる。最後に、29のeの計算が、57の逆元計算器で
行われ、eは外部に出力され、鍵生成は終了する。
第6図は、第4図に示した鍵生成手順を実現する鍵生
成装置60のブロック図である。41の素数p,qの生成は素
数発生器61で行われ、p,qは外部に出力される。これら
p,qを用いたnの計算42は乗算器63で行われ、nは外部
に出力される。43のLの計算はLCM計算器62で行われ
る。44の乱数dの生成は65の乱数発生器で行われ、この
dに対する45の判定は判定器64で行われ、判定を通った
dは外部に出力される。最後に、46のeの計算が、66の
逆元計算器で行われ、eは外部に出力され、鍵生成は終
了する。
[発明の効果] 以上詳述してきたように、RSA暗号の高速復号変換の
処理時間は、おおむねMp d pmod qの計算時間に相当す
る。従来、鍵に何も制約を付けない場合には、dp,dq
サイズは法である素数p,qのサイズ(10進100桁程度)に
一致し、べき乗剰余計算に必要となる乗剰余乗算の回数
が750回程度必要であった。本発明は、dp,dqのサイズに
制約を加えるものであり、例えばdp,dqをそれぞれ32ビ
ット(10進10桁程度)に設定した場合には、べき乗剰余
計算に必要となるべき乗剰余計算の回数が96回程度とな
り、従来の高速復号変換に比べて約8倍高速化される。
このようにdp,dqを小さく選んでも、dの大きさはp,q程
度となり、dの総当り攻撃に対する安全性は劣化しな
い。
【図面の簡単な説明】
第1図は、本発明の一実施例である情報通信システムの
一構成図、第2図は、本発明の一実施例であるRSA暗号
の鍵生成手段を示した図、第3図は、復号変換の処理手
順を示した図、第4図は、本発明の別の実施例であるが
RSA暗号の鍵生成手順を示した図、第5図は、第2図の
鍵生成手順を実行する鍵生成装置のブロック図、第6図
は、第4図の鍵生成手順を実行する鍵生成装置のブロッ
ク図である。 100,200……演算装置、110,210……端末、500……通信
路、50,60……鍵生成装置、51,61……素数発生器、52…
…GCD,LCM計算器、62……LCM計算器、53,63……乗算
器、54,64……判定器、55,65……乱数発生器、56……連
立合同式解法装置、57,66……逆元計算器。
フロントページの続き (56)参考文献 R.L.Rivest,A.Sham ir and L.Adleman, “A Method for Obta ining Digital Sign atures and Public− Key Cryptosystem s,”Communications of ACM,Vol.21,No.2, (1978),pp.120−126 D.W.Davies and W. L.Price,上園忠弘監訳「ネット ワーク・セキュリティ」日経マグロウヒ ル,(昭和60年),pp.208−210 池野信一,小山謙二「現代暗号理論」 第2版,電子通信学会,pp.117−119 (58)調査した分野(Int.Cl.7,DB名) G09C 1/00 - 5/00 H04K 1/00 - 3/00 H04L 9/00 INSPEC(DIALOG) JICSTファイル(JOIS)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】RSA暗号に用いる秘密鍵dp及びdq、並びに
    第一の公開鍵n及び第二の公開鍵eを生成する鍵生成装
    置であって、 素数p及びqを生成する素数発生手段と、 このpとqの積を前記第一の公開鍵nとして出力する乗
    算手段と、 前記素数pより小さなビットサイズを有する前記dpと、
    前記素数qより小さなビットサイズを有する前記dqとを
    生成する乱数発生手段と、 前記素数p−1を法とする代数系の上では前記dpと合同
    であり前記素数q−1を法とする代数系の上では前記dq
    と合同であるような秘密鍵dに対応する、前記第二の公
    開鍵eを生成して出力する計算手段とを備えたことを特
    徴とする鍵生成装置。
JP1031086A 1989-02-13 1989-02-13 鍵生成装置 Expired - Lifetime JP3043762B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1031086A JP3043762B2 (ja) 1989-02-13 1989-02-13 鍵生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1031086A JP3043762B2 (ja) 1989-02-13 1989-02-13 鍵生成装置

Publications (2)

Publication Number Publication Date
JPH02211491A JPH02211491A (ja) 1990-08-22
JP3043762B2 true JP3043762B2 (ja) 2000-05-22

Family

ID=12321607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1031086A Expired - Lifetime JP3043762B2 (ja) 1989-02-13 1989-02-13 鍵生成装置

Country Status (1)

Country Link
JP (1) JP3043762B2 (ja)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
D.W.Davies and W.L.Price,上園忠弘監訳「ネットワーク・セキュリティ」日経マグロウヒル,(昭和60年),pp.208−210
R.L.Rivest,A.Shamir and L.Adleman,"A Method for Obtaining Digital Signatures and Public−Key Cryptosystems,"Communications of ACM,Vol.21,No.2,(1978),pp.120−126
池野信一,小山謙二「現代暗号理論」第2版,電子通信学会,pp.117−119

Also Published As

Publication number Publication date
JPH02211491A (ja) 1990-08-22

Similar Documents

Publication Publication Date Title
Matsumoto et al. Speeding up secret computations with insecure auxiliary devices
Fiat Batch rsa
US6751318B2 (en) Method and apparatus for digital signature authentication
Fiat Batch RSA.
US6252959B1 (en) Method and system for point multiplication in elliptic curve cryptosystem
US7379546B2 (en) Method for XZ-elliptic curve cryptography
JP2008252299A (ja) 暗号処理システム及び暗号処理方法
US6721771B1 (en) Method for efficient modular polynomial division in finite fields f(2{circumflex over ( )}m)
US6480606B1 (en) Elliptic curve encryption method and system
KR100737667B1 (ko) 암호 체계의 개인 키 저장 및 복원 방법과 장치
US6826586B2 (en) Method for efficient computation of point doubling operation of elliptic curve point scalar multiplication over finite fields F(2m)
JP4626148B2 (ja) 復号または署名作成におけるべき乗剰余算の計算方法
US20040258240A1 (en) Cryptosystems
Reddy RM-RSA algorithm
Asaduzzaman et al. A promising parallel algorithm to manage the RSA decryption complexity
JP3043762B2 (ja) 鍵生成装置
JP2005055488A (ja) 楕円曲線暗号におけるスカラー倍計算方法と、その装置およびそのプログラム
KR100326226B1 (ko) 행렬그룹공개키생성방법
JP4502817B2 (ja) 楕円曲線スカラー倍計算方法および装置
Yakubu et al. An improved RSA image encryption algorithm using 1-D logistic map
JP2510303B2 (ja) べき乗剰余演算装置
Haraty et al. Attacking ElGamal based cryptographic algorithms using Pollard's rho algorithm
KR100808953B1 (ko) 모듈러곱셈 방법 및 상기 곱셈방법을 수행할 수 있는스마트카드
Brent Computational Number Theory
Mandal et al. Modified trail division for implementation of rsa algorithm with large integers

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080310

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090310

Year of fee payment: 9

EXPY Cancellation because of completion of term