JPH08254949A - Rsa暗号方式の暗号化器及び復号器に使用する高速ベキ乗剰余演算法 - Google Patents

Rsa暗号方式の暗号化器及び復号器に使用する高速ベキ乗剰余演算法

Info

Publication number
JPH08254949A
JPH08254949A JP5059565A JP5956593A JPH08254949A JP H08254949 A JPH08254949 A JP H08254949A JP 5059565 A JP5059565 A JP 5059565A JP 5956593 A JP5956593 A JP 5956593A JP H08254949 A JPH08254949 A JP H08254949A
Authority
JP
Japan
Prior art keywords
digits
calculation
denotes
value
encryption
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
JP5059565A
Other languages
English (en)
Inventor
Kenji Satake
賢治 佐竹
Masao Kasahara
正雄 笠原
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.)
JONAN DENKI KOGYOSHO KK
Original Assignee
JONAN DENKI KOGYOSHO KK
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 JONAN DENKI KOGYOSHO KK filed Critical JONAN DENKI KOGYOSHO KK
Priority to JP5059565A priority Critical patent/JPH08254949A/ja
Publication of JPH08254949A publication Critical patent/JPH08254949A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 (修正有) 【目的】 RSA暗号方式の暗号化装置による平文の暗
号化と復号装置による暗号文の復号化を従来法と同様の
安全性を確保して高速処理可能ならしめる。 【構成】 下記(迅速計算方式)で示されるRSA暗号
方式の暗号化装置内のMe modRx −y及び復合装置
内のCd modRx −yの演算を実行する際に、通常の
指数演算法を使用して、該演算法の第iステツプのCi 2
modRx −yのベキ乗剰余演算をyにy<Rx/2 の制
限を加えることによつて従来の除数の桁数に比例した処
理時間を要する除算を使用することなく、Ci 2≡Ci (2)
・y+Ci (1)なる演算式で示される演算を2回繰り返し
実行することによつて上記のベキ乗剰余演算を高速処理
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、RSA暗号方式を用い
た暗号化装置及び復号装置の各装置内のベキ乗剰余演算
部の処理を高速にする方法に関するものである。
【0002】
【従来の技術】情報通信技術の発展に伴い通信路(伝送
路、メモリ等)を使用したデ−タ通信の秘密保護として
暗号化技術は情報分野にとどまらす電子送金、シヨツビ
ング、レジヤ−等の様々な分野に使用されるようになつ
た。この様なネツトワ−ク型社会にふさわしい暗号化方
式として従来より、公開鍵暗号方式が存在する。この公
開鍵暗号方式は各人(或いは各端末)が暗号化鍵と復号
化鍵とを一つづつ作成し暗号化鍵を公開し復号化鍵を秘
密に保持する方式であり、例えばAという人宛に暗号文
を送信したい人は誰でもAが公開した暗号化鍵を使用し
て、Me modnなる演算を実行し、平文Mを暗号文C
に変換する。従つて鍵配送の必要がないため利点が大き
い。公開鍵暗号方式の中でもRSA暗号方式は1978年R
IVEST,SHAMIR,ADLEMANの3人によ
つて発明されて多大な注目を集め実用化されるに至つ
た。
【0003】
【発明が解決しようとする課題】RSA暗号方式は多大
の注目を集め実用化されているものの、この暗号方式は
暗号化装置による平文の暗号化、復号装置による暗号文
の復号を実行処理する際、各装置内でベキ乗演算及び剰
余演算を繰り返し使用するため暗号化及び復号に膨大な
計算時間が必要になるという解決すべき課題がある。本
発明は、法nを特別な形に設定することで公開鍵nの制
約条件が大きな2つの素数の積であるという条件のみを
有する従来方式と同様な安全性を確保して、なおかつ高
速処理可能なRSA暗号方式を提供することを目的とす
るものである。この場合における平文の暗号化通信の手
順は従来のRSA暗号方式と同じである。
【0004】
【課題を解決するための手段】本発明の第1は〔図1〕
で示されるRSA暗号方式の暗号化装置内のMe mod
Rx −y及び復号装置内のCd modRx −yなる演算
を実行する際に、通常の指数演算法を使用して、該演算
法の第iステツプCi 2modRx −yのベキ乗 剰余演算をyにy<R2 の制限を加えることによつて従
来の除数の桁数に比例した処理時間を要する除算を使用
することなく、Ci 2≡Ci (2).y+Ci (1)なる演算式を
を2回繰り返し実行することによつて上記ベキ乗剰余演
算を高速処理するRSA暗号方式の暗号化器及び複合器
に使用される高速ベキ乗剰余演算法を(手法Aという)
である。
【0005】
【図1】
【0006】更に手法Aについて詳細説明すれば、一般
に合成数nはRx −yの形で表される。ここで、このy
の桁数に適切な制限を加えれば、法演算が除算を用いず
に乗算と加算で置き換えることが可能であり、通常の除
算で必要な除数の桁数に比例したステツプ数の削減が可
能になる。指数乗算法によりMのベキ乗を求める場合の
第iステツプにおける値をCi とする。第iステツプに
おいてnを法とした自乗の演算を遂行する際、第i+1
ステツプにおける中間値Ci+1 は Ci 2modn─→Ci+1 (1) として求められる。ここで (x,yは正の整数) とし、Ci 2のRx 以上の部分をCi (2)、Rx 未満の部分
をCi (1)とする。即ち、 Ci 2 = Ci (2)・Rx + Ci (1) (3) とする。このようにすると明らかに Ci 2 ≡ Ci (2)・y+Ci (1)modn (4) の関係が成立する。
【0007】 式(4) の右辺の形はnより大であり、且つRx+2 +1より
小である。従つてこれをあらためて Ci (4)・Rx + Ci (3) (5) とおくと、 Ci 2 ≡ Ci (4)・y+Ci (3)modn (6) となる。以上により、nによる除算はnが式(2) を満足
する限り2ステツプの乗算、加算により式(1) が遂行さ
れることが判る。ただし、ここでは乗算は並列処理によ
り高速化を行うものとする。
【0008】本発明の第2は〔図1〕で示されるRSA
暗号方式の暗号化装置内のMe modRx −y及び複合
装置内のcd modRx −yなる演算を実行する際、通
常の指数演算法を使用して、該演算法の第iステツプの
Ci 2modRx −yなるベキ に制限をし、従来の除数の桁数に比例した処理時間を要
する除算を使用することなく、Ci 2=Ci (3)・y2 +C
i 2・y+Ci (1)なる形の演算式を1回実行することで上
記ベキ乗剰余演算を高速処理する暗号方式の暗号化器及
び複合器に使用する高速ベキ乗剰余演算法(手法Bとい
う)である。
【0009】
【図1】
【0010】ここに、Ci 3はCi 2のR2x以上の部分をR
2xで割つた値である。更に手法Bについて詳細説明すれ
ば、一般に合成数nはRx −yの形で表される。ここ
で、このyの桁数に適切な制限を加えれば、法演算が除
算を用いずに乗算と加算で置き換えることが可能であ
り、通常の除算で必要な除数の桁数に比例したステツプ
数の削減が可能になる。指数乗算法によりMのベキ乗を
求める場合の第iステツプにおける値をCi とする。第
iステツプにおいてnを法とした自乗の演算を遂行する
際、第i+1ステツプにおける中間値Ci+1 はCi 2mo
dn→Ci+1 として求まる。
【0011】ここで、Ci 2のRx 以上の部分をCi (2),
Rx 未満の部分をCi (1)とすると、 Ci 2 = Ci (2)・Rx + Ci (1) ≡ Ci (2)・y + Ci (1) (7) となる。ここで乗算は並列処理により高速化を行うもの
とする。次にC2 i+1のR2x以上の部分をCi+1 (3)、R2x
未満Rx 以上の部分をCi+1 (2)、Rx 未満の部分をC
i+1 (1)とすると、 Ci+1 2=Ci+1 (3)・R2x+Ci+1 (2)・Rx +Ci+1 (1) ≡Ci+1 (3)・y2 +Ci+1 (2)・y +Ci+1 (1) (8) となる。そして高速化を計るために、式(8) の右辺がn
桁以上の場合でもCi 2と同様、これをそのまま次のC
i+2 2の計算ステツプで用いる。通常、…→Ci 2→Ci+1 2
→Ci+2 2→…のステツプにおいて桁数は自乗計算を実行
するたびに増加するがCi+1 (3)・y2 の桁数がCi+1 (2)
・yの桁数を越えないようにyの桁数Yに制限を加えれ
ば、最終のステツプでの桁数をある値以下に制限するこ
とが可能になる。以下において、このことを検討しよ
う。
【0012】ここで、 A : n の桁数 B : Ci+1 (2)・y の桁数 C : Ci+1 (3)・y2 の桁数 D : Ci+1 (3) の桁数 Y : y の桁数 とすると、 B = Y+A (9) D = 2・(B+1)−2・A (10) C = D+2・Y (11) である。なる条件より Y+A≧2・(Y+A+1)−2・A+2・Y (13) である。従つて として、最終ステツプの桁数をB+1以下に制限し得る
yの桁数の制限範囲が求まる。なお、安全性の立場から
yの値は式(14)を満たす範囲でできる限り大であること
が望ましい。
【0013】ここで、以下のことを付記する。 (イ) 数ステツプに1回程度の法演算を許容すれば、式(1
4)のyの桁に関する制約条件を更に大きくすることが可
能であること。 (ロ) 高速演算に適した形をRx −yとしたが、Rx +y
の形にしても同様の高速演算が可能であること。 (ハ) RSA暗号方式の暗号化器及び復号器以外のベキ乗
剰余演算を使用するものにも有効である。
【0014】
【作用】上記の発明が解決すべき手段によるRSA暗号
方式を用いたデ−タ暗号通信は、平文Mの暗号化及び暗
号文Cの復号に使用する法演算が除算を用いずに乗算器
と加算器で置き換えることが可能であり、そのために通
常の除算で必要な除数の桁数に比例した演算ステツプ数
の削減が可能になつた。また、本発明方法の法nを使用
すれば、公開鍵をいわゆる“電話帳”に10進表現で掲
載することを例に取れば公開鍵nの制約条件が大きな2
つの素数の積であるという条件のみを有する従来の方式
では法nを全桁数数字掲載する必要があり非常に長いも
のになるのに対し、共通鍵の掲載は、連続する9以外の
ランダムな数字の部分のみ掲載すればよいことになると
いう利点がある。
【0015】
【表1】
【0016】
【表2】
【0017】次に本発明を実施例によつて説明する。
【実施例1】RSA暗号方式において〔図1〕の平文M
の暗号化を実行する式は、 Me ≡ Cmodn (15) であり暗号文Cの復号を実行する式は、 Cd ≡ Mmodn (16) である。但し、M : メツセ−ジ C : 暗号文 e : 公開鍵 d : 秘密鍵 n : p・q
【0018】
【図1】 また一般にRSA暗号方式では2<e<<dと選ばれる
ことが多いが、本発明の高速ベキ乗剰余演算法ではe及
びdには上記のような制約はない。本発明方式による暗
号通信システムの構成原理図を〔図1〕に示す。ここで
用いられる上記式(15)及び式(16)を実行する際、一般的
に指数演算法が用いられる〔図2〕。即ち、この演算法
の第iステツプに手法Aを用いる。これをハ−ドウエア
構成とした場合のブロツク図を〔図3〕に示す。この
〔図3〕の回路は計算で取り扱うパラメ−タM、e、y
を記憶するためのレジスタと、R進乗算器I、II、III
と、R進加算器で構成されている。乗算器III に依存す
べき前段の処理として乗算器I,IIの結果のみである。
即ち、直列処理を必要とする部分はこの3つの部分のみ
である。よつて、指数演算法の1ステツプにあたるa・
bmodnなる計算は、この3つの直列処理部分に要す
るクロツク数で計算可能になる。
【0019】
【実施例2】RSA暗号方式において〔図1〕の平文M
の暗号化を実行する式は、 Me = Cmodn (15) であり暗号文Cの復号を実行する式は、 Cd ≡ Mmodn (16) である。但し、 M : メツセ−ジ C : 暗号文 e : 公開鍵 d : 秘密鍵 n : p・q p,q : 大きな素数(秘密)
【0020】
【図1】 また一般にRSA暗号では2<e<<dと選ばれること
が多いが、本発明の高速ベキ乗剰余演算法ではe及びd
にはこのような制約はない。本発明方式による暗号通信
システムの構成原理図を〔図1〕に示す。ここで用いら
れる上記式(15)及び式(16)を実行する際、一般的に指数
演算法が用いられる〔図2〕。即ち、この演算法の第i
ステツプにし手法Bを用いる。これをハ−ドウエア構成
した場合のブロツク図を〔図4〕に示す。この〔図4〕
の回路は計算で取り扱うパラメ−タM、e、y、y2 を
記憶するためのレジスタと、R進乗算器I、II、III
と、R進加算器で構成されている。この回路の乗算器I
I、III は並列計算可能であり、乗算器II、III に依存
すべき前段の処理として乗算器Iの結果のみである。即
ち、直列処理を必要とする部分はこの2つの部分のみで
ある。よつて、指数演算法の1ステツプにあたるa・b
modnなる計算は、この2つの直列処理部分に要する
クロツク数で計算可能になる。
【0021】
【発明の効果】本発明の効果を纏めると次の通りであ
る。 (1) 本発明によつてRSA暗号方式を使用した暗号通信
における平文の暗号化と復号にかかる時間の著しい短縮
が従来のRSA暗号方式と同程度の安全性を確保したう
え可能となつた。即ち、多大の計算ステツプを必要とす
るベキ乗剰余演算を1ステツプで処理することが可能に
なつた。 (2) 本発明の法nを使用することによつて公開鍵の管理
用メモリ(いわゆる電話帳)の節約が可能となつた。あ
わせて公開鍵を暗号化装置又は、復号装置に手入力する
ことも可能である。
【図面の簡単な説明】
【図1】迅速計算システム示す構成原理図。
【図2】指数乗算法のアルゴリズムのフロ−チヤ−ト。
【図3】図2に従つてハ−ドウエア構成を取らしめた場
合の自乗剰余回路を示す一実施例。
【図4】図2に従つてハ−ドウエア構成を取らしめた場
合の自乗剰余回路を示す他の一実施例。
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成8年1月12日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【書類名】 明細書
【発明の名称】 RSA暗号方式の暗号化器及び復号
器に使用する高速ベキ乗剰余演算法
【特許請求の範囲】
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、RSA暗号方式を用い
た暗号化装置及び復号装置の各装置内のベキ乗剰余演算
部の処理を高速にする方法に関するものである。
【0002】
【従来の技術】情報通信技術の発展に伴い通信路(伝送
路、メモリ等)を使用したデータ通信の秘密保護として
暗号化技術は情報分野にとどまらす電子送金、シヨツビ
ング、レジヤー等の様々な分野に使用されるようになつ
た。この様なネツトワーク型社会にふさわしい暗号化方
式として従来より、公開鍵暗号方式が存在する。この公
開鍵暗号方式は各人(或いは各端末)が暗号化鍵と復号
化鍵とを一つづつ作成し暗号化鍵を公開し復号化鍵を秘
密に保持する方式であり、例えばAという人宛に暗号文
を送信したい人は誰でもAが公開した暗号化鍵を使用し
て、Memodnなる演算を実行し、平文Mを暗号文C
に変換する。従つて鍵配送の必要がないため利点が大き
い。公開鍵暗号方式の中でもRSA暗号方式は1978
年RIVEST,SHAMIR,ADLEMANの3人
によつて発明されて多大な注目を集め実用化されるに至
つた。
【0003】
【発明が解決しようとする課題】RSA暗号方式は多大
の注目を集め実用化されているものの、この暗号方式は
暗号化装置による平文の暗号化、復号装置による暗号文
の復号を実行処理する際、各装置内でベキ乗演算及び剰
余演算を繰り返し使用するため暗号化及び復号に膨大な
計算時間が必要になるという解決すべき課題がある。本
発明は、法nを特別な形に設定することで公開鍵nの制
約条件が大きな2つの素数の積であるという条件のみを
有する従来方式と同様な安全性を確保して、なおかつ高
速処理可能なRSA暗号方式を提供することを目的とす
るものである。この場合における平文の暗号化通信の手
順は従来のRSA暗号方式と同じである。
【0004】
【課題を解決するための手段】本発明の第1は下記(迅
速計算方式)で示されるRSA暗号方式の暗号化装置内
のMemodRx−y及び復号装置内のCdmodRx
−yなる演算を実行する際に、通常の指数演算法を梗用
して、該演算法の第iステツプCi 2modRx−yの
べキ乗剰余演算をyにy<Rx/2の制限を加えること
によつて従来の除数の桁数に比例した処理時間を要する
除算を使用することなく、Ci 2≡Ci (2).y+C
i (1)なる演算式をを2回繰り返し実行することによ
つて上記ベキ乗剰余演算を高速処理するRSA暗号方式
の暗号化器及び複合器に使用される高速ベキ乗剰余演算
法を(手法Aという)である。
【0005】 ここに、M:平文(メツセージ) e:公開鍵 Rx−y:公開鍵、n[R,x(nの桁数),yは小さ
くない整数] c:暗号文 d:秘密鍵 Ci:指数演算法で使用される第iステツプにおける値 Ci (1):Ci 2のRx未満の部分の値 Ci(2):Ci 2のRx以上の部分をRxで割つた値
【0006】更に手法Aについて詳細説明すれば、一般
に合成数nはRx−yの形で表される。ここで、このy
の桁数に適切な制限を加えれば、法演算が除算を用いず
に乗算と加算で置き換えることが可能であり、通常の除
算で必要な除数の桁数に比例したステツプ数の削減が可
能になる。指数乗算法によりMのべキ乗を求める場合の
第iステツプにおける値をCiとする。第iステツプに
おいてnを法とした自乗の演算を遂行する際、第i+1
ステツプにおけ牽中間値Ci+1は Ci 2modn−→Ci+1(1) として求められる。ここで n = Rx−y y < Rx/2 (2) (x,yは正の整数) とし、Ci 2のRx以上の部分をCi (2)、Rx未満
の部分をCi(1)とする。即ち、 Ci 2 =
Ci (2)・Rx+Ci (1) (3) とする。このようにすると明らかに Ci 2 ≡ Ci (2)・y+Ci (1)modn (4) の関係が成立する。
【0007】式(4)の右辺の形はnより大であり、且
つRx+x/2+1より小である。従つてこれをあらた
めて Ci (4)・Rx+ Ci (3) (5) とおくと、 Ci 2≡Ci (4)・y+Ci (3)modn (6) となる。以上により、nによる除算はnが式(2)を満
足する限り2ステツプの乗算、加算により式(1)が遂
行されることが判る。ただし、ここでは乗算は並列処理
により高速休を行うものとする。
【0008】本発明の第2は下記(迅速計算方式)で示
されるRSA暗号方式の暗号化装置のMemodRx−
y及び複合装置内のcdmodRx−yなる演算を実行
する際、通常の指数演算法を使用して、該演算法の第i
ステツプのCi 2modRx に制限をし、従来の除数の桁数に比例した処理時間を要
する除算を使用することなく、Ci 2=Ci (3)・y
2+Ci 2・y+Ci (1)なる形の演算式を1回実行
することで上記ベキ乗剰余演算を高速処理する暗号方式
の暗号化器及び複合器に使用する高速ベキ乗剰余演算法
(手法Bという)である。
【0009】 ここに、M,e,Rx−y,C,d,Ciは上記第1の
場合と同一である。 Ci (2):Ci 2のRx以上R2x未満の部分をRx
で割つた値 Ci (3):Ci 2のR2x以上の部分をR2Xで割つ
た値
【0010】こごに、Ci 3はCi 2のR2X以上の部
分をR2Xで割つた値である。更に手法Bについて詳細
説明すれば、一般に合成数nはRX−yの形で表され
る。ここで、このyの桁数に適切な制限を加えれば、法
演算が除算を用いずに乗算と加算で置き換えることが可
能であり、通常の除算で必要な除数の桁数に比例したス
テツプ数の削減が可能になる。指数乗算法によりMのベ
キ乗を求める場合の第iステツプにおける値をCiとす
る。第iステツプにおいてnを法とした自乗の演算を遂
行する際、第i+1ステツプにおける中間値Ci i+1
はCi 2modn→Ci+1として求まる。
【0011】ここで、Ci 2のRX以上の部分をCi
(2),RX未満の部分をCi (1)とすると、
Ci 2 = Ci (2)・RX+ Ci (1)≡Ci
(2)・y+Ci (1) (7)となる。ここで乗算
は並列処理により高速化を行うものとする。次にC2
i+1のR2x以上の部分をCi+1 (3)、R2X未
満RX以上の部分をCi+1 (2)、RX未満の部分を
Ci+1 (1)とすると、Ci+1 2=Ci+1 (3)
・R2x+Ci+Ci+1 (1) =Ci+1
(3)・y2+Ci+1 (2)・y +Ci+1 (1)
(8)となる。そして高速化を計るために、式(8)の
右辺がn桁以上の場合でもCi 2と同様、これをそのま
ま次のCi+2 2の計算ステツプで用いる。通常、…→
Ci 2→Ci+1 2→Ci+2 2→…のステツプにおい
て桁数は自乗計算を実行するたびに増加するがCi+1
(3)・y2の桁数がCi+1 (2)・yの桁数を越え
ないようにyの桁数Yに制限を加えれば、最終のステツ
プでの桁数をある値以下に制限することが可能になる。
以下において、このことを検討しよう。
【0012】ここで、 A :n の桁数 B : Ci+1 (2)・y の桁数 C : Ci+1 (3)・y2の桁数 D : Ci+1 (3) の桁数 Y:y の桁数 とすると、 B = Y+A (9) D = 2・ (B+1)−2・A (10) C = D+2・Y (11) である。 B ≧ C (12) なる条件より Y+A≧2・ (Y+A+1)−2・A+2・Y (13) である。従つて として、最終ステツプの桁数をB+1以下に制限し得る
yの桁数の制限範囲が求まる。なお、安全性の立場から
yの値は式(14)を満たす範囲でできる限り大である
ことが望ましい。
【0013】ここで、以下のことを付記する。 (イ)数ステツプに1回程度の法演算を許容すれば、式
(14)のyの桁に関する制約条件を更に木きくするこ
とが可能であること。 (ロ)高速演算に適した形をRx−yとしたが、Rx+
yの形にしても同様の高速演算が可能であること。 (ハ)RSA暗号方式の暗号化器及び復号器以外のベキ
乗剰余演算を使用するものにも有効である。
【0014】
【作用】上記の発明が解決すべき手段によるRSA暗号
方式を用いたデータ暗号通信は、平文Mの暗号化及び暗
号文Cの復号に使用する法演算が除算を用いずに乗算器
と加算器で置き換えることが可能であり、そのために通
常の除算で必要な除数の桁数に比例した演算ステツプ数
の削減が可能になつた。また、本発明方法の法nを使用
すれば、公開鍵をいわゆる“電話帳”に10進表現で掲
載することを例に取れば公開鍵nの制約条件が大きな2
つの素数の積であるという条件のみを有する従来の方式
では法nを全桁数数字掲載する必要があり非常に長いも
のになるのに対し、共通鍵の掲載は、連続する9以外の
ランダムな数字の部分のみ掲載すればよいことになると
いう利点がある。
【0015】
【表1】
【0016】
【表2】
【0017】次に本発明を実施例によつて説明する。1
【実施例1】RSA暗号方式において下記(迅速計算方
式)の平文Mの暗号化を実行する式は、 Me≡Cmodn (15) であり暗号文Cの復号を実行する式は、 Cd≡Mmodn (16) である。但し、 M: メツセージ C: 暗号文 e: 公開鍵 d: 秘密鍵 n:p・q p,q : 大きな素数(秘密)
【0018】 こごに、M:平文(メツセージ) e:公開鍵 Rx−y:公開鍵、n[R,x(nの桁数),yは小さ
くない整数] c:暗号文 d:秘密鍵 Ci:指数演算法で使用される第iステツプにおける値 Ci (1):のCi 2のRx未満の部分の値 Ci (2):Ci 2のRx以上の部分をRxで割つた値
【0019】また一般にRSA暗号方式では2<e<<
dと選ばれることが多いが、本発明高速ベキ乗剰余演算
法ではe及びdには上記のような制約はない。本発明方
式による暗号通信システムの構成原理図を上記(迅速計
算方式)に示す。ここで用いられる上記式(15)及び
式(16)を実行する際、一般的に指数演算法が用いら
れる〔図1〕。即ち、この演算法の第iステツプに手法
Aを用いる。これをハードウエア構成とした場合のブロ
ツク図を〔図2〕に示す。この〔図2〕の回路は計算で
取り扱うパラメータM、e、yを記憶するためのレジス
タと、R進乗算器I、II、IIIと、R進加算器で構
成されている。乗算器IIIに依存すべき前段の処理と
して乗算器I,IIの結果のみである。即ち、直列処理
を必要とする部分はこの3つの部分のみである。よつ
て、指数演算法の1ステツプにあたるa・bmodnな
る計算は、この3つの直列処理部分に要するクロツク数
で計算可能になる。
【0020】
【図1】
【0021】
【図2】
【0022】
【実施例2】RSA暗号方式において下記(迅速計算方
式)の平文Mの暗号化を実行する式は、 Me= Cmodn (15) であり暗号文Cの復号を実行する式は、 Cd= Mmodn (16) である。但し、 M: メツセージ C: 暗号文 e: 公開鍵 d: 秘密鍵 n:p・q p,q : 大きな素数(秘密) また一般にRSA暗号では2<e<<dと選ばれること
が多いが、本発明の高速ベキ乗剰余演算法ではe及びd
にはこのような制約はない。本発明方式による暗号通信
システムの構成原理図を下記(迅速計算方式)に示す。
ここで用いられる上記式(15)及び式(16)を実行
する際、一般的に指数演算法が用いられる〔図1〕。即
ち、この演算法の第iステツプにし手法Bを用いる。こ
れをハードウエア構成した場合のブロツク図を〔図3]
に示す。この〔図3]の回路は計算で取り扱うパラメー
タM、e、y、y2を記憶するためのレジスタと、R進
乗算器I、II、IIIと、R進加算器で構成されてい
る。この回路の乗算器II、IIIは並列計算可能であ
り、乗算器II1、IIIに依存すべき前段の処理とし
て乗算器Iの結果のみである。即ち、直列処理を必要と
する部分はこの2つの部分のみである。よつて、指数演
算法の1ステツプにあたるa・bmodnなる計算は、
この2つの直列処理部分に要するクロツク数で計算可能
になる。
【0023】
【図3】
【0024】 ここに、M,e,Rx−y,C,d,Ciは実施例1の
場合と同一である。 Ci (2):Ci 2のRX以上R2x未満の部分をRX
で割つた値 Ci (3):Ci 2のR2x以上の部分をR2xで割つ
た値
【0025】
【発明の効果】本発明の効果を纏めると次の通りであ
る。 (1)本発明によつてRSA暗号方式を使用した暗号通
信における平文の暗号化と復号にかかる時間の著しい短
縮が従来のRSA暗号方式と同程度の安全性を確保した
うえ可能となつた。即ち、多大の計算ステツプを必要と
するベキ乗剰余演算を1ステツプで処理することが可能
になつた。 (2)本発明の法nを使用することによつて公開鍵の管
理用メモリ(いわゆる電話帳)の節約が可能となつた。
あわせて公開鍵を暗号化装置又は、復号装置に手入力す
ることも可能である。
【図面の簡単な説明】
【図1】指数乗算法のアルゴリズムのフローチヤート。
【図2】図1に従つてハードウエア構成を取らしめた場
合の自乗剰余回路を示す一実施例。
【図3】図1に従つてハードウエア構成を取らしめた場
合の自乗剰余回路を示す他の一実施例。
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【図1】
【図2】
【図3】

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 下記〔図1〕で示されるRSA暗号方式
    の暗号化装置内のMe modRx −y及び複合装置内の
    Cd modRx −yの演算を実行する際に、通常の指数
    演算法を使用して、該演算法の第iステツプのCi 2 m
    odRx −y のベキ乗剰余演算をyにy<R2 の制限を加えることに
    よつて従来の除数の桁数に比例した処理時間を要する除
    算を使用することなく、Ci 2≡Ci (2).y+Ci ( 1)なる
    演算式で示される演算を2回繰り返し実行することによ
    つて上記のベキ乗剰余演算を高速処理することを特徴と
    するRSA暗号方式の暗号化器び複合器に使用される高
    速ベキ乗剰余演算法。 【図1】(迅速計算方式) ここに、M:平文(メツセ−ジ) e:公開鍵 Rx −y:公開鍵、n〔R,x(nの桁数),yは小さ
    くない整数〕 c:暗号文 d:秘密鍵 Ci :指数演算法で使用される第iステツプにおける値 Ci (1):Ci 2のRx 未満の部分の値 Ci (2):Ci 2のRx 以上の部分をRx で割つた値 を示す。
  2. 【請求項2】 〔図1〕で示されるRSA暗号方式の暗
    号化装置内のMe modRx −y及び複合装置内のCd
    modRx −yなる演算を実行する際、通常の指数演算
    法を使用して、該演算処理の第iステツプのCi 2mod
    Rx −yなる 例した処理時間を要する除算を使用することなく、Ci 2
    =Ci (3)・y2 +Ci (2)・y+Ci (1)なる形の演算式を
    1回実行することで上記ベキ乗剰余演算を高速処理する
    ことを特徴とするRSA暗号方式の暗号化器及び複合器
    に使用される高速ベキ乗剰余演算法。 【図1】ここに、M,e,Rx −y,C,d,Ci は実
    施例1の場合と同一である。 Ci (2):Ci 2のRx 以上R2x未満の部分をRx で割つた
    値 Ci (3):Ci 2のR2x以上の部分をR2xで割つた値 を示す。
JP5059565A 1993-02-23 1993-02-23 Rsa暗号方式の暗号化器及び復号器に使用する高速ベキ乗剰余演算法 Pending JPH08254949A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5059565A JPH08254949A (ja) 1993-02-23 1993-02-23 Rsa暗号方式の暗号化器及び復号器に使用する高速ベキ乗剰余演算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5059565A JPH08254949A (ja) 1993-02-23 1993-02-23 Rsa暗号方式の暗号化器及び復号器に使用する高速ベキ乗剰余演算法

Publications (1)

Publication Number Publication Date
JPH08254949A true JPH08254949A (ja) 1996-10-01

Family

ID=13116897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5059565A Pending JPH08254949A (ja) 1993-02-23 1993-02-23 Rsa暗号方式の暗号化器及び復号器に使用する高速ベキ乗剰余演算法

Country Status (1)

Country Link
JP (1) JPH08254949A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011253018A (ja) * 2010-06-02 2011-12-15 National Institute Of Advanced Industrial & Technology 公開鍵暗号技術におけるドメインパラメータの生成

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011253018A (ja) * 2010-06-02 2011-12-15 National Institute Of Advanced Industrial & Technology 公開鍵暗号技術におけるドメインパラメータの生成

Similar Documents

Publication Publication Date Title
US5499299A (en) Modular arithmetic operation system
CN109039640B (zh) 一种基于rsa密码算法的加解密硬件系统及方法
US5581616A (en) Method and apparatus for digital signature authentication
US7024560B2 (en) Power-residue calculating unit using Montgomery algorithm
US6480606B1 (en) Elliptic curve encryption method and system
US6959091B1 (en) Cryptography private key storage and recovery method and apparatus
US7050579B1 (en) Cryptographic methods and apparatus using word-wise montgomery multiplication
EP1708081B1 (en) Method and device for calculating a Montgomery conversion parameter
EP1304829B1 (en) A numerical array output device, a numerical array output method, an encryption device, and a decryption device
US20040258240A1 (en) Cryptosystems
US6477556B1 (en) Method and apparatus for arithmetic operation and recording medium of method of operation
KR100330510B1 (ko) 고속의 모듈라 멱승 연산기
EP1600852B1 (en) Method and apparatus for calculating a modular inverse
CN111614465A (zh) 基于超奇异同源秘钥封装协议的公钥生成方法和装置
US7403965B2 (en) Encryption/decryption system for calculating effective lower bits of a parameter for Montgomery modular multiplication
JPH07129085A (ja) Rsa暗号方式の暗号化器及び復号器に使用する高速ベキ乗剰余演算法
Rao et al. A novel modular multiplication algorithm and its application to RSA decryption
KR100406138B1 (ko) 엔티알유 암/복호화 장치
US20260064365A1 (en) Multiplier for masking-based modular multiplication operation, encryption device including the same and method
KR100451570B1 (ko) 에스피에이에 견디는 타원 곡선 암호화 알고리즘을구현하는 방법 및 장치
JPH0798563A (ja) 楕円曲線による署名、認証及び秘密通信方式
Al-Tuwaijry et al. A high speed RSA processor
Kak Exponentiation modulo a polynomial for data security
JPH0766322B2 (ja) 素数判定器
Bosselaers et al. RSA