JPH02211491A - 鍵生成装置 - Google Patents

鍵生成装置

Info

Publication number
JPH02211491A
JPH02211491A JP3108689A JP3108689A JPH02211491A JP H02211491 A JPH02211491 A JP H02211491A JP 3108689 A JP3108689 A JP 3108689A JP 3108689 A JP3108689 A JP 3108689A JP H02211491 A JPH02211491 A JP H02211491A
Authority
JP
Japan
Prior art keywords
key
calculation
size
keys
conversion
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.)
Granted
Application number
JP3108689A
Other languages
English (en)
Other versions
JP3043762B2 (ja
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 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

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、RSA暗号を利用した情報通信システムに適
用され、特に、ディジタル署1名や復号変換といった個
人の秘密変換が高速に実行できるような暗号方式に関す
る。
(従来の技術) 公開鍵暗号の代表であるR S A (Rlvest−
8hamlr−Adles+an)暗号は、ディジタル
署名機能を実現できること、鍵管理が容易になること等
の優れた特徴を持ち、セキュリティを必要とする情報通
信システムへの応用が期待されている。しかしながら、
R8A暗号の欠点としては処理の演算量が多く、特に復
号変換(および署名作成)の処理量が大きくなることが
あげられる。復号変換(および署名作成)は、各ユーザ
が自分の秘密鍵を用いて処理を行うために、通常、各ユ
ーザの端末(汎用のパーソナル・コンピュータ等)で実
行するため、それほど処理能力の大きな装置を期待する
ことはできない。従って、復号変換(および署名作成)
の処理時間の高速化が課題である。
RSA暗号の復号変換(および署名作成)を高速化する
方法としては、以下に示すような方法が知られている(
Fastdectpherment81gorithm
 for R8A public−key crypt
osystesElectronlcs Letter
s、18,21.pp、905−907あるいは“現代
暗号論理”、池野、小山、電子通信学会編pp、117
−119)。この方法を説明するために、まずR9A暗
号の鍵生成法から説明する。
(1)10進100桁程度の大きな素数p、qを生成し
、その積をnとする。nは10進200桁程度の大きさ
となる。
n纏p * q             (1)(2
)  (p−1)と(q−1)の最小公倍数を計算し、
Lとする。Lは10進200桁程度の大きさとなる。
L −L CM (P−1,Q−1)        
(2)(3)  l < e < Lで、Lと互いに素
な整数を選びeとする。
(4)次式を満たすようなdを計算する。dは10進2
00桁程度の大きさとなる。
sod−1sod  L        (3)以上が
RSA暗号の鍵生成法であり、eおよびnは公開し、d
は秘密に保持する。なお、(3)においてeは、安全性
を下げずに小さく選ぶことができる。
また、RSA暗号の復号変換(および署名作成)は次の
計算式で表される。この計算を高速化する方法を次に説
明する。
C−M   sod  n         (4)(
1) (5)、(6)式のd  、d  を求める。
q d  −d  sod  p−1(5)d  −d  
sod  q−1(B)(2)Mから(7)、(8)式
のM  、M  を求める。
q M  −M  ■od  p        (7)M
  −M  sod  q        (8)(3
)M 1M9.d 、d 、p、qから(9)。
p           p     qC−M   
  modq         (10)q     
q   q (4)C,Cqから中国剰余定理により、(11)。
(12)式の連立合同式を解いてCを求める。
x−T;’   Mod  q     (14)とお
くと、 C−C,qX9+C9pX、sod n  (15)に
よりCが求められる。なお、(13)、(14)式は拡
張ユークリッドの互除法と呼ばれるアルゴリズムを用い
れば効率よく計算できる。なお、(13)、(14)式
の一方を計算するだけで(15)式に相当するCを求め
ることもできる。また、(18)、(14)、(5)、
(8)式の計算は、Mの値に依存しないので、−度行っ
ておけば毎回計算する必要はない。
従来の(4)式をそのまま計算することは、大きな整数
のべき乗剰余計算を行うことに相当する。
大きな整数のべき乗剰余計算は、取り扱う整数の桁数を
bとすると、b3オーダーの処理時間を要する。高速化
された計算法の処理時間も(9) 、 (10)式のべ
き乗剰余計算の処理時間に相当し、取り扱う整数の桁数
が(4)式の半分となっているので、一つの式の計算が
約8倍高速になる。(9)、(10)式を計算機のソフ
ト等で逐次的に行う場合には、全体として約4倍高速化
される。
以上説明した方式は、従来の計算法に比べて、計算機の
ソフトによる実現で約4倍高速化できるが、それでもま
だ演算量としては大きすぎる場合が多い。例えば、ユー
ザの使用する装置がICカードのように計算力の乏しい
場合にはその傾向が顕著である。
(発明が解決しようとする課題) 以上述べてきたように、従来の計算方法ではRSA暗号
の復号変換(および署名作成)の処理時間は十分に高速
化されているとはいえない。特に、ユーザの使用する装
置がICカードのように計算力の乏しい場合にはその傾
向が顕著である。
そこで、本発明は上記の点に鑑みてなされたものであり
、法nの素因数分解に対する安全性は下げずにユーザが
復号変換に用いる鍵の大きさに制約を加えることで、復
号変換(および署名作成)の高速化を実現するものであ
る。
[発明の構成] (課題を解決するための手段) 上記目的を達成するために本発明においては、ユーザが
復号変換に用いる鍵の大きさに制約を加えることを特徴
とする。具体的には、ユーザが復号変換(および署名作
成)に用いる鍵であるd 。
d のサイズを素数p、qに比べて極めて小さいものを
用いる。従って、R8A暗号の公開鍵であるeは、d 
 、d  が小さいという条件から生成q することになる。このようにd  、d  を設定q してもdのサイズは従来方式のままであり、dに対する
総当り攻撃に対する安全性は劣化しない。
(作  用) R3A暗号の高速復号変換の処理時間は、d     
           dおおむねM    sodお
よびM    sod qの計pp         
     qq算待時間相当する。従来、鍵に何も制約
を付けない場合には、d  、d  のサイズは素数p
、qのq サイズ(10進100桁程度)に一致し、べき乗刹余計
算に必要となる剰余乗算の回数が75050回程要であ
り、このことが、処理時間を高速化できない原因であっ
た。本発明は、d  、d  のq サイズに制約を加えるものであり、例えばd 。
d をそれぞれ32ビツト(10進10桁程度)に設定
した場合には、べき乗剰余計算に必要となる剰余乗算の
回数が96回程度となり、従来の高速復号変換に比べて
約8倍高速化され、高速復号変換を用いない場合と比べ
ると約32倍高速化される。
(実施例) 以下、図面を参照して本発明の一実施例を説明する。ま
ず、第1図に本発明によるRSA暗号を利用した情報通
信システムの一構成を示す、同図において、100はユ
ーザ1の保持する演算装置、200はユーザjの保持す
る演算装置、110はユーザiの利用する端末、210
ユーザjの利用する端末、500ユーザ’r  J間の
通信路である。110や210の端末は、100や20
0の演算装置よりも計算力に優れている。実際には、1
00.20.0はICカード、110゜210はパーソ
ナル会コンピュータ等の装置構成となる。演算装置10
0内には、ユーザiの秘密鍵が記憶されており、演算装
置200内には、ユーザjの秘密鍵が記憶されている。
各ユーザの公開鍵は110や210の各端末に記憶され
ている。
ユーザlからjへ、ユーザlの署名文を送信する場合、
演算装置100でユーザiの署名が作成され、端末11
0を通して、ユーザjの利用する端末210へ送信され
る。署名の検査は端末210で行う。ユーザiからjへ
R8A暗号を利用して暗号通信を行う場合には、ユーザ
iの利用する端末110で、ユーザjの公開鍵を用いて
暗号化を行い、端末210に暗号文を送信する。端末2
10は、演算装置200に暗号文を送り、復号は演算装
置200内で行う。
第2図は、本発明によるRSA暗号の鍵生成手順を示し
たものである。まず、10進100桁程度の大きさの素
数を2つ生成し、p、qとする(ステップ21)。この
2数の積をnとする(ステップ22)。また、p−1と
q−1の最大公約数(G CD)を計算し、これをgと
する(ステップ23)。さらに、p−tとQ−1の最小
公倍数(LCM)を求めこれをLとする(ステップ24
)。次に、予め制限した大きさの乱数を2つ生成し、d
、、d  とする(ステップ25)  このd 。
p     q                  
                pd が法をgとす
・る代数系の上で合同であるか確認する。合同でない場
合には(ステップ25)へ戻り、別のd  、d  を
生成する(ステップ2G)。
次に、d とp−1の最大公約数(G CD)を計算す
る。同様にd とQ−1の最大公約数(GCD)を計算
する。この2つのC,CDのどちらかが1でない場合に
は、(ステップ25)へ戻り、別のd  、d  を生
成する(ステップ27)。次に、(ステップ1B)式の
連立方程式を解く (ステップ28)。
d=D   5odp−1 p d=D  5odQ−1(1B) 連立方程式の解法は、例えば、高木貞治: “初等整数
輪講義”、共立出版、 99.31−35に示されてい
る。(1B)式の解は、L−LCM (p−1,q−1
)としてただ一つ定まり、これをdとする。最後に、法
りの上でのdの送元を計算し、eとする(29)。
以上の手順により、10進で200桁程度のn。
e、dが生成される。但し、d  、d  は条件設q 定により任意に小さくでき、dの代わりにd、。
d を用いることでR5A暗号の復号変換(および署名
作成)が高速になる。n、eは公開する。
dp、dq、p、qは秘密に演算装置内に記憶させる。
演算装置はパスワード検査等の手段で十分にアクセス制
御されているものとする。なお、eの値は、従来方式で
は安全性を下げずに十分小さく選ぶことができたが、本
発明では10進で200桁程度の大きさになるため、暗
号変換は従来方式に比べてかなり演算量が多くなる。し
かし、暗号変換は公開の鍵を利用するので演算能力の大
きな汎用パーソナル・コンピュータやワークステーショ
ンに実行させることができ、暗号変換の演算量の多さは
あまり問題とならない。
第3図に、復号変換(および署名作成)の処理手順を示
す。計算したいものはM’ sod nである。
まず、Mを外部から入力する(ステップ31)。次に、
(17)、 (1B)式のx  、x  を求める(ス
テラq ブ32)。
x  −q−’sod  p         (17
)x  =p−1sod  q         (1
8)なお、このX  、X  は−度計算しておけば、
そq の値を記憶しておくことで毎回用いることができる。次
に、(19) 、 (20)式のM  、M  を求め
る。
q (ステップ33)。
M  −M  5hod  p         (1
9)M   −M   sod   q       
     (20)次に、(21)、(22)式のべき
乗剰余計算によりC。
C−M      sod   p        (
22)q 最後に、(23)式の計算によりCを求める。(ステッ
プ35)。
C−Cqx  +Cpx  modn  (23)qq
p Cを出力して、復号変換(および署名作成)処理は終了
する(ステップ36)。
第4図に、ユーザが復号変換に用いる鍵のサイズに制約
を加える別な方法の鍵生成手順を示す。
まず、10進100桁程度の大きさの素数を2つ・生成
し、p、qとする41)。この2数の積をnとする(ス
テップ42)。また、p−1とq−1の最少公倍数(L
CM)を求め、これをLとする(ステップ43)。次に
、予め制限した大きさの乱数を生成し、dとする(ステ
ップ44)。このdとLの最大公約数(G CD)を計
算する。GCDが1でない場合には、(ステップ43)
へ戻り、別のdを生成する(ステップ44)。最後に、
法りの上でのdの送元を計算し、eとする(ステップ4
5)。
この第4図に示した手順を第2図に示した手順と比較す
る。第4図の方法の秘密鍵dをbビットと定めると、秘
密鍵dのサイズを小さくしたことにより、総当り的にd
を探索する攻撃に対して安全性が低下し、2b個の鍵を
探索すれば秘密鍵が発見されることになる。第2図の方
法でも、総当り的に秘密鍵を探索する攻撃に対しては、
同様に安全性が低下する。(16)式のd  、d  
のビットq 数をWビットすると、d  、d  の組み合わせでq ある22V個の鍵の組み合わせを探索すれば秘密鍵の組
が発見される。このような総当り攻撃に対する安全性を
同程度に保った・めには、第4図の方法に対して定めた
dのビット数(−bビット)の半分のサイズ(−b/2
ビット)にd  、d  を設q 定すればよい。第4図の方法に対して、復号変換の高速
計算法を用いる場合と、第2図の方法との処理量を比較
する。法となるp、qのサイズは両方式で同じであると
して、さらに総当り攻撃に対して同程度の安全性になる
ように鍵のサイズを定めた場合を考える。通常、法p、
qのサイズに比べてbは小さいと考えてよい。従って、
d 。
d のサイズがそれぞれ半分になっているので第2図の
方法の処理量は′M4図の方法の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の乱数
d  、d9の生成は55の乱数発生器で行われ、これ
らd、、d  に対する26.27の判定は判定器54
で行われ、判定を通ったd  、d  は外部に出q 力される。これらd  、d  に対する連立合同式2
8の解法は56の連立合同式解法装置で行われる。最後
に、29のeの計算が、57の逆元計算器で行われ、e
は外部に出力され、鍵生成は終了する。
第6図は、第4図に示した鍵生成手順を実現する鍵生成
装置60のブロック図である。41の素数p、qの生成
は素数発生器61で行われ、p。
qは外部に出力される。これらp、Qを用いたnの計算
42は乗算器63で行われ、nは外部に出力される。4
3のしの計算はLCM計算器62で行われる。44の乱
数dの生成は65の乱数発生器で行われ、このdに対す
る45の判定は判定器64で行われ、判定を通ったdは
外部に出力される。最後に、46のeの計算が、66の
逆元計算器で行われ、eは外部に出力され、鍵生成は終
了する。
[発明の効果] 以上詳述してきたように、RSA暗号の高速復計算時間
に相当する。従来、鍵に何も制約を付けない場合には、
d  、d  のサイズは法である素数p、qのサイズ
(10進100桁程度)に一致し、べき乗剰余計算に必
要となる乗剰余乗算の回数が75050回程要であった
。本発明は、d 。
d のサイズに制約を加えるものであり、例えばd  
、d  をそれぞれ32ビツト(10進10桁q 程度)に設定した場合には、べき乗剰余計算に必要とな
るべき乗剰余計算の回数が96回程度となり、従来の高
速復号変換に比べて約8倍高速化される。このようにd
  、d  を小さく選んでも、q dの大きさはp、q程度となり、dの総当り攻撃に対す
る安全性は劣化しない。また、dp、dq9に対する総
当り攻撃に対しては、DESと同程度の安全性を確保で
きる。
【図面の簡単な説明】
第1図は、本発明の一実施例である情報通信システムの
一構成図、第2図は、本発明の一実施例であるR8A暗
号の鍵生成手段を示した図、第3図は、復号変換の処理
手順を示した図、第4図は、本発明の別の実施例である
がRSA暗号の鍵生成手順を示した図、第5図は、第2
図の鍵生成手順を実行する鍵生成装置のブロック図、第
6図は、第4図の鍵生成手順を実行する鍵生成装置のブ
ロック図である。 100.200 ・・・演算装置、110.210 ・
・・端末、500 ・・・通信路、50.80・・・鍵
生成装置、51.61・・・素数発生器、52・・・G
CD、LCM計算器、62・・・LCM計算器、53.
63・・・乗算器、54.64・・・判定器、55.6
5・・・乱数発生器、5B・・・連立合同式解法装置、
57.68・・・逆元計算器。

Claims (2)

    【特許請求の範囲】
  1. (1)RSA暗号を利用する情報通信システムにおいて
    、秘密鍵dの大きさをある値の範囲内に制限して、前記
    秘密鍵dを生成する秘密鍵生成手段と、前記秘密鍵dか
    ら公開鍵eを生成する公開鍵生成手段とを具備し、前記
    秘密鍵dと前記公開鍵eを用いて暗号処理を行うことを
    特徴とする暗号方式。
  2. (2)RSA暗号を利用する情報通信システムにおいて
    、第一に、2つの素数p、qを生成し、このp、qの積
    を第1の公開鍵nとする公開鍵生成手段と、d_p、d
    _qの大きさをある値の範囲内に制限して、前記d_p
    、d_qを決め、 前記素数p−1を法とする代数系の上ではd_pと合同
    であり、また前記素数q−1を法とする代数系の上では
    d_qと合同であるような秘密鍵dを生成する秘密鍵生
    成手段と、 前記秘密鍵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 true JPH02211491A (ja) 1990-08-22
JP3043762B2 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)

Also Published As

Publication number Publication date
JP3043762B2 (ja) 2000-05-22

Similar Documents

Publication Publication Date Title
US5805703A (en) Method and apparatus for digital signature authentication
EP1467512B1 (en) Encryption process employing chaotic maps and digital signature process
US5159632A (en) Method and apparatus for public key exchange in a cryptographic system
US6307935B1 (en) Method and apparatus for fast elliptic encryption with direct embedding
US7162033B1 (en) Countermeasure procedures in an electronic component implementing an elliptical curve type public key encryption algorithm
US20080240443A1 (en) Method and apparatus for securely processing secret data
US7054444B1 (en) Public and private key cryptographic method
US7218735B2 (en) Cryptography method on elliptic curves
US7286666B1 (en) Countermeasure method in an electric component implementing an elliptical curve type public key cryptography algorithm
Jeng et al. An efficient key-management scheme for hierarchical access control based on elliptic curve cryptosystem
Paar et al. The RSA cryptosystem
Strenzke A smart card implementation of the McEliece PKC
Dawson et al. An enhanced RSA algorithm using Gaussian interpolation formula
Wardlaw The RSA public key cryptosystem
KR100326226B1 (ko) 행렬그룹공개키생성방법
JPH02211491A (ja) 鍵生成装置
Haraty et al. A comparitive study of elgamal based cryptographic algorithms
Jnr et al. A Comparative Study of RSA and ELGAMAL Cryptosystems
EP0356127A2 (en) A RSA computation method for efficient batch processing
Haraty et al. Attacking ElGamal based cryptographic algorithms using Pollard's rho algorithm
Rohith et al. FPGA implementation of 16 bit RSA cryptosystem for text message
KR100406138B1 (ko) 엔티알유 암/복호화 장치
Priyatharshini et al. An Analysis of Public-Key Cryptography (PKC) Architecture for Hardware Security
Kayode et al. An improved RSA cryptosystem based on thread and CRT
TW202324967A (zh) 用大整數值進行編碼的白箱處理

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