JP2617091B2 - 暗号通信システム - Google Patents

暗号通信システム

Info

Publication number
JP2617091B2
JP2617091B2 JP6189260A JP18926094A JP2617091B2 JP 2617091 B2 JP2617091 B2 JP 2617091B2 JP 6189260 A JP6189260 A JP 6189260A JP 18926094 A JP18926094 A JP 18926094A JP 2617091 B2 JP2617091 B2 JP 2617091B2
Authority
JP
Japan
Prior art keywords
mod
elliptic curve
calculated
key
point
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
JP6189260A
Other languages
English (en)
Other versions
JPH0856219A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP6189260A priority Critical patent/JP2617091B2/ja
Publication of JPH0856219A publication Critical patent/JPH0856219A/ja
Application granted granted Critical
Publication of JP2617091B2 publication Critical patent/JP2617091B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、通信ネットワークを介
して伝送される通信の内容を秘密保持するための暗号通
信システムに関する。
【0002】
【従来の技術】公開鍵暗号方式とは利用者毎に予め生成
された暗号化鍵である公開鍵と復号鍵である秘密鍵とを
用いて暗号化及び復号を行なう暗号化方式である。通
常、公開鍵は通信ネットワーク上で公開され、秘密鍵は
鍵を生成した利用者自身により秘密とされる。
【0003】次に、この公開鍵暗号方式による暗号通信
の手順について説明する。 (i) 利用者は、利用者自身の公開鍵と秘密鍵とを生成
し、公開鍵を通信ネットワーク上、例えば公開ファイル
に登録する。 (ii)送信者は、通信ネットワーク上で公開される受信者
の公開鍵を用いて平文から暗号文を計算(暗号化)し、
通信路を介して暗号文を受信者に送信する。 (iii) 受信者は、この受信した暗号文と受信者自身の秘
密鍵とから平文を計算(復号)する。 従って、この公開鍵暗号方式において安全性が確保され
るためには、公開された情報から秘密鍵を求めるのが困
難であることが必須である。
【0004】一方、素因数分解の困難さに安全性の根拠
をおく公開鍵暗号方式の1つにRSA暗号系がある。こ
のRSA暗号系は、同報通信に用いた場合、low expone
nt attack (Hastad,"On using RSA with low exponent
in a public key network",Proc.of Crypto '85, pp.
403-408, 1985)と呼ばれる解読法が適用できることが知
られている。
【0005】この同報通信とは、平文mをk人の受信者
に対して暗号化して得られた異なる暗号文ci =me
mod ni (1≦i≦k)をそれぞれの受信者に送信
するものである。また、low exponent attack とは、公
開鍵eに対して決まるしきい値を越える個数の同報暗号
文から平文を計算する方法である。
【0006】このように解読法が存在するRSA暗号系
対して、環Zn 上の非特異な楕円曲線に基づくKMOV
暗号系(Koyama,Maurer,Okamoto,Vanstone:“New pub
lic-key schemes based on elliptic curves over the
ring Zn ”,Proc.of Crypto '91, pp.252-266,199
1)とDemytko暗号系(Demytko:“A new ellipticc
urve based analogue of RSA”,Proc.of Eurocry
pt'93, pp.39-48,1993)が提案されている。
【0007】
【発明が解決しようとする課題】しかしながら、従来提
案されているKMOV暗号系やDemytko暗号系は、鍵の
大きさを同程度にした場合、RSA暗号系に比べて暗号
化/復号の速度が遅く、そのため、より高速な暗号化方
式の出現が望まれていた。
【0008】本発明は、同報通信に用いた場合、RSA
暗号系に比べてより安全性に優れ、KMOV暗号系やD
emytko暗号系より高速な暗号通信システムを提供するこ
とを目的とする。
【0009】
【課題を解決するための手段】上記目的を達成するため
本願第1の発明は、通信文の受信側に置かれ、通信文の
送信側に対して公開する公開鍵と、この公開鍵に対応す
る秘密鍵を予め生成する鍵生成手段と、送信側に置か
れ、送信する平文を前記公開鍵を用いて暗号化して暗号
文を生成する暗号化手段と、受信側に置かれ、受信した
当該暗号文を前記秘密鍵を用いて復号化して元の平文を
生成する復号化手段とから構成される暗号通信システム
であって、前記暗号化は環Zn 上の特異な楕円曲線 y2 ≡x3 +bx2 (mod n);b≠0 に基づき、前記復号化は、暗号文に応じて、素体Fp
素体Fq 上のべき乗または二次体上のべき乗により行
い、かつ公開鍵としてのnが十分に大きな素数p,qの
積であることを要旨とする。
【0010】また、本願第2の発明は、素数p、パラメ
ータb;(b≠0)に対して、y2≡x3 +bx2
(mod p)を満たす点(x,y)の集合から特異点
(0,0)を除き、無限遠点Φを加えた集合である素体
p 上の楕円曲線Ens(Fp )上の二点に対して加算が
定義できて、いずれかの点が無限遠点Φの場合は、Φ+
1 =P1 +Φ=P1 となり、二点が共に無限遠点Φで
ない場合は、P1 =(x1 ,y1 ),P2 =(x2 ,y
2 )に対して、P3 =(x3 ,y3 )=P1 +P2 は、
1 ≠P2 のときλ=(y2 −y1 )/(x2
1 )、P1 =P2 のときλ=x1 (3x1 +2b)/
2y1 としたとき、x3 ,y3 をそれぞれ、x3=λ2
−b−x1 −x2 ,y3 =λ(x1 −x3 )−y1 と定
義し、環Zn 上の楕円曲線Ens(Zn )を用い、nは素
数p,qの積とし、p,qはnの素因数分解が困難とな
るよう大きな素数として予め定め、楕円曲線E
ns(Zn )上の加算は、楕円曲線Ens(Fp )と同様に
定義し、楕円曲線Ens(Zn )上の点Pのd倍点(d・
P)は、該加算を組み合わせて計算するものであり、前
記鍵生成手段は、素数p,qを選び、n=pqを計算
し、最小公倍数LCM(p−1,p+1,q−1,q+
1)と互いに素なeを選び、dp1=1/e (mod
p−1),dp2=1/e (mod p+1),dq1
1/e (mod q−1),dq2=1/e (mod
q+1)を計算する機能を有し、前記暗号化手段は、
前記鍵生成手段で作成した公開鍵e,n及び0<mx
y <nの範囲内の平文として前記楕円曲線E
ns(Zn )上の点M=(mx ,my )を入力し、点Mを
含む当該楕円曲線のパラメータb=(my 2 −mx 3
/mx 2 (mod n)を計算し、当該楕円曲線上で暗
号文C=(cx ,cy )=e・Mを計算し、暗号文Cを
生成し、前記復号手段は、前記鍵生成手段で作成した秘
密鍵p,q,dp1,dp2,dq1,dq2及び前記暗号化手
段で作成した暗号文C=(cx ,cy )を入力し、cxp
=cx mod p,cxq=cx mod q,cyq
y modp,cyp=cy mod qを計算し、b
p =(cyp 2 −cxp 3 )/cxp 2 (mod p),b
q =(cyq 2 −cxq 3 )/cxq 2 (mod q)を計
算し、bp がpの平方剰余のとき、rp =bp 1/2
(mod p)、vp =((cyp+rp xp)/(cyp
p xp))dp1 (mod p)、tp =(vp +1)
/(vp −1) (mod p)、xp =bp (tp 2
−1) (mod p)、yp =tp p p (mo
dp)を計算し、bp がpの平方非剰余のとき、fp
2cyp 2 /cxp 3 −1(mod p),gp =2cyp
xp 2 (mod p)、二次体Fp (√bp)の乗法
群のノルムが1であるような要素からなる部分群である
p 上の乗算を、f+g√bp を〈f,g〉で表したと
き、〈f1 ,g1 〉×〈f2 ,g2 〉=〈(f1 2
1 2 p ) mod p,(f1 2 +f2 1
modp〉、〈f1 ,g1 2 =〈(2f1 2 −1)
mod p,(2f1 1 )mod p〉と定義し、
p 上で〈up ,vp 〉=〈fp ,gp dp2 を計算
し、xp =2(up +1)/vp 2 (mod p),
p =2(up +1)2/vp 3 (mod p)を計
算し、bp がqの平方剰余のとき、rq =bq 1/ 2
(mod q)、vq =((cyq+rq xq)/(cyq
q xq))dq1 (mod q)、tq =(vq +1)
/(vq −1) (mod q)、xq =bq (tq 2
−1) (mod q),yq =tq q q (mo
d q)を計算し、bq がqの平方非剰余のとき、fq
=2cyq 2 /cxq 3 −1 (modq),gq =2cyq
/cxq 2 (mod q)、二次体Fq (√bq )の乗
法群のノルムが1であるような要素からなる部分群であ
るLq 上の乗算を、f+g√bq を〈f,g〉で表した
とき、〈f1 ,g1 〉×〈f2 ,g2 〉=〈(f1 2
+g1 2 q ) mod q,(f1 2 +f
2 1 ) mod q〉、〈f1 ,g1 2 =〈(2f
1 2 −1) mod q,(2f1 1 ) modq〉
と定義し、Lq 上で〈uq ,vq 〉=〈fq ,gq
dq2 を計算し、xq =2(uq +1)/vq 2 (mo
d q),yq =2(uq +1)2 /vq 3 (mod
q)を計算し、さらに、x=(q(xp /q mod
p)+p(xq /p mod q))mod pq,y=
(q(yp /q mod p)+p(yq /p mod
q))mod pqを計算し、平文M=(x,y)を生
成することを要旨とする。
【0011】
【作用】本発明の公開鍵暗号方式は環Zn 上の特異な楕
円曲線に基づいており、nの素因数分解の困難さに安全
性の根拠をおいている。ここで、素数p、パラメータ
b;(b≠0)に対して、y2 ≡x3 +bx2 (mod
p)を満たす点(x,y)の集合から特異点(0,
0)を除き、無限遠点Φを加えた集合を楕円曲線E
ns(Fp )(Menezes, A., J.: Elliptic Curve Public
key Cryptosystems, Kluwer Academic Publishers, 19
93) と呼ぶ。
【0012】楕円曲線Ens(Fp )上の2点P1 ,P2
に対して、加算P1 +P2 が定義できる。いずれかの点
が無限遠点Φの場合は、Φ+P1 =P1 +Φ=P1 とな
り、二点が共に無限遠点Φでない場合は、P3 =P1
2 は以下のように定義される。
【0013】
【数7】 但し、Pi =(xi ,yi )である。楕円曲線Ens(F
p )は上記の加算に対してアーベル群となり、位数#E
ns(Fp )(曲線上の点(x,y)の個数)はp−(b
/p)となる。但し、(b/p)はLegendre記号であ
る。整数kに対して楕円曲線Ens(Fp )上の点
(xp ,yp )のk倍(k・(xp ,yp ))は、楕円曲
線Ens(Fp )上の(1)式で示される加算を組み合わ
せて計算できる。
【0014】本発明の公開鍵暗号方式は環Zn 上の楕円
曲線Ens(Zn )を用いる。nは素数pと素数qとの積
であり、p,qのサイズはnの素因数分解の困難さを考
慮して決められる。また、Zn は整数環Zに対する商環
Z/nZであり、0からn−1までの整数の集合であ
る。さらに、Fp 、Fq はそれぞれp,q個の元からな
る体であり、Fp 、Fq はそれぞれ0からp−1まで、
0からq−1までの整数の集合である。なお、p(およ
びq)が素数の場合、Fp (およびFq )を素体と呼
ぶ。
【0015】楕円曲線Ens(Zn )上の点(x,y)
は、組[(xp ,yp ),(xq ,yq )]で表すこと
ができる。ここで(xp ,yp ),(xq ,yq )はそ
れぞれ楕円曲線Ens(Fp ),Ens(Fq )上の点であ
る。(xp ,yp ),(xq ,yq )は(x,y)から
以下のように計算できる。
【0016】 xp =x mod p,xq =x mod q, yp =y mod p,yq =y mod q また中国人剰余定理により以下のように(xp ,yp
と(xq ,yq )から上記の関係を満たす(x,y)を
計算できる。
【0017】
【数8】 楕円曲線Ens(Zn )上の点(x,y)のm倍を以下の
ように定義する。
【0018】
【数9】m・(x,y)=[m・(xp ,yp ),m・
(xq ,yq )] L=LCM(#Ens(Fp ),#Ens(Fq ))とおく
と、k≡1(mod L)なるkと(x,y)∈E
ns(Zn )に対して、以下の関係がなり立つ。
【0019】
【数10】 (x,y)=k・(x,y) over Ens(Zn ) (3) ここで、ed≡1(mod L)を満たすeとdを選
び、暗号化を楕円曲線Ens(Zn )上のe倍算、復号を
楕円曲線Ens(Zn )上のd倍算とすれば、楕円曲線E
ns(Zn )上の点(x,y)は暗号化と復号により元の
点(x,y)に戻る。以上が本発明の暗号化/復号の原
理である。
【0020】但し暗号化においては秘密鍵である素因数
p,qを知ることができないので、(1)式で示される
加算公式を用いて楕円曲線Ens(Zn )上でe倍を計算
する。復号手順は楕円曲線Ens(Fp )及び楕円曲線E
ns(Fq )上の定数倍で定義できる。尚、両者は同じ手
順であるので、本明細書では楕円曲線Ens(Fp )の場
合を例にして説明する。
【0021】本発明で用いる特異な楕円曲線E
ns(Fp )においては、(bp /p)=1の場合には楕
円曲線Ens(Fp )から素体Fp の乗法群への群同型写
像が存在し、また(bp /p)=−1の場合には楕円曲
線Ens(Fp )からLp への群同型写像が存在する。ま
た、Lp は二次体Fp (√bp )の乗法群のノルムが1
であるような要素からなる部分群である。
【0022】復号手順は楕円曲線上の定数倍計算で定義
されるが、上記の群同型写像を適用すると素体Fp の乗
法群またはLp 上のべき乗として計算できる。素体Fp
の乗法群,Lp 上のべき乗は共に、楕円曲線上の定数倍
より少ない演算回数で計算できる。従って、本発明では
楕円曲線上の定数倍計算で復号を行なうKMOV暗号系
やDemytko暗号系に比べてより高速である。
【0023】また、本発明の暗号方式にlow exponent a
ttack に相当する解読を適用するには、公開鍵eを同一
にした場合、RSA暗号系と比べてより多くの同報暗号
文を必要とする。このため、本発明の方式は同報通信に
用いた場合、RSA暗号系に比べて安全である。
【0024】
【実施例】次に、本発明に係る暗号通信システムの一実
施例の構成について図1を参照して説明する。図1に示
すように、本実施例の暗号通信システムは送信装置1と
受信装置3によって構成される。また、送信装置1はメ
モリ11、CPU13、公開鍵メモリ15及び送信部1
7で構成される暗号化装置10を具える。また、受信装
置3は、CPU21を有する鍵生成装置20と、秘密鍵
メモリ31、CPU33、受信部35及びメモリ37で
構成される復号装置30とを具える。但し、通常、通信
は双方向で行われることから、送信側、受信側双方共、
送信装置1と受信装置3とを具備するが、ここでは簡単
のため一方向側について説明する。
【0025】送信者Aの送信装置1から受信者Bの受信
装置3へ暗号通信を行なうためには、予め受信者Bの鍵
生成装置21で秘密鍵と公開鍵を生成しておく。送信者
Aは暗号化装置10により、受信者Bの公開鍵と平文M
から暗号文Cを計算し受信者Bへ送信する。受信者Bは
復号装置30により、受信した暗号文Cと秘密鍵から平
文Mを計算し出力する。
【0026】次に、鍵生成装置20における処理手順を
図2を参照して説明する。 ステップS11 大きな素数p,qを生成する。 ステップS13 n=pqを計算する。 ステップS15 最小公倍数L=LCM(p−1,p+
1,q−1,q+1)を計算する。 ステップS17 公開鍵として整数eを選ぶ。 ステップS19 eとLが互いに素でなければステップ
S17へ戻る。 ステップS21 秘密鍵dp1,dp2,dq1,dq2を次式
に従って計算する。
【数11】dp1=1/e (mod p−1),dp2
1/e (mod p+1) dq1=1/e (mod q−1),dq2=1/e
(mod q+1) ステップS23 秘密鍵(p,q,dp1,dp2,dq1
q2)を保持し、公開鍵(e,n)を公開する。
【0027】次に、暗号化装置10における処理手順を
図3を参照して説明する。ステップS31 公開鍵e,
n及び平文としてEns(Zn )上の点Mについて、M=
(mx ,my );(0<mx ,my <n) を入力する。 ステップS33 点Mを含む曲線の
【数12】 を計算する。ステップS35 楕円曲線Ens(Zn )上
で、 C=(cx ,cy )=e・M を計算する。 ステップS37 暗号文Cを出力する。
【0028】次に、復号装置30における処理手順を図
4を参照して説明する。 ステップS41 秘密鍵p,q,dp1,dp2,dq1,dq2及び 暗号文C=(cx ,cy )を入力する。 ステップS43 cxp=cx mod p,cxq=cx mod q, cyp=cy mod p,cyq=cy mod q を計算する。 ステップS45
【数13】 を計算する。 ステップS47 (bp /p)=1のとき、ステップS55へ制御を移し、 (bp /p)=−1のとき、ステップS49へ制御を移す。 ステップS55 rp =bp 1/2 (mod p)を計算する。 ステップS57 Fp 上のべき乗により、
【数14】 を計算する。 ステップS59
【数15】 を計算する。 ステップS61 xp =bp (tp 2 −1) (mod p), yp =tp p p (mod p) を計算し、ステップS63へ制御を移す。 ステップS49
【数16】 を計算する。 ステップS51 二次体Lp 上で〈up ,vp 〉=〈fp ,gp dp2 を計算 する。 但し、Lp ={a|a∈Fp (√bp ),Norm(a)=1} また、Lp 上の乗算は、 〈f1 ,g1 〉×〈f2 ,g2 〉 =〈(f1 2 +g1 2 p ) mod p,(f1 2
+f2 1 ) mod p〉 、〈f1 ,g1 2 =〈(2
1 2 −1) mod p,(2f1 1 ) modp〉
と定義される。 ステップS53
【数17】 を計算する。 ステップS63 (bq /q)=1のとき、ステップS71へ制御を移し、 (bq /q)=−1のとき、ステップS65へ制御を移す。 ステップS71 rq =bq 1/2 (mod q)を計算する。 ステップS73 Fq 上のべき乗により、
【数18】 を計算する。 ステップS75
【数19】 を計算する。 ステップS77 xq =bq (tq 2 −1) (mod q), yq =tq q q (mod q) を計算し、ステップS79へ制御を移す。 ステップS65
【数20】 を計算する。 ステップS67 二次体Lq 上で〈uq ,vq 〉=〈fq ,gq dq2 を計算 する。 但し、Lq ={a|a∈Fq (√bq ),Norm(a)=1} また、Lq 上の乗算は 〈f1 ,g1 〉×〈f2 ,g2 〉 =〈(f1 2 +g1 2 q ) mod q,(f1 2
+f2 1 ) mod q〉 、〈f1 ,g1 2 =〈(2
1 2 −1) mod q,(2f1 1 ) modq〉
と定義される。 ステップS69
【数21】 を計算する。 ステップS79
【数22】 を計算する。 ステップS81 復号された平文M=(x,y)を出力
する。
【0029】次に、具体的数値を使用して、本発明を用
いた数値例を示す。本実施例では説明を簡単にするため
に小さな値を使用するが、実際の運用時には素因数p,
qは素因数分解の困難さを考慮して二進数で256桁程
度の大きさとする。秘密鍵を、p=271,q=47,
p1=193,dp2=39,dq1=33,dq2=7、公
開鍵を、n=12737,e=7と設定する。平文を、
M=(x,y)=(3356,7445)とすると、楕
円曲線はy2 ≡x3 +12574x(mod 1273
7)と定まる。暗号化は、平文Mを上記の楕円曲線上で
7倍することで、暗号文C=7・M=(1685,88
30)と計算できる。
【0030】復号は以下のとおりである。まず、暗号文
Cから、 Cp =(cxp,cyp)=(59,158), Cq =(cxq,cyq)=(40,41) を求め、Cp ,Cq をそれぞれ楕円曲線Ens(Fp ):
2 ≡x3 +108x2(mod 271),楕円曲線
ns(Fq ):y2 ≡x3 +25x2 (mod47)上
で復号する。ここで、(bp /p)=(108/27
1)=−1であるのでCp はLp 上で復号される。群同
型写像ψにより、Cp =(59,158)は〈46,5
7〉に写される。二次体Lp 上で〈46,57〉をdp2
乗、すなわち39乗することで〈101,40〉が得ら
れる。さらに、Mp =ψ-1(〈101,40〉)=(1
3,128)となる。
【0031】また、(bq /q)=(25/47)=1
であるので、Cq はFq 上のべき乗で復号される。rq
=√25 (mod 47)=42より群同型写像φが
得られる。φによりCq =(40,41)は44に写さ
れる。
【0032】Fq 上のべき乗で44dq1 mod q=
4433 mod47=30を計算する。さらにMq =φ
-1(30)=(11,19)となる。よってMp ,Mq
から中国人剰余定理により平文M=(3536,744
5)が計算できる。
【0033】復号における主要な計算は以下のとおりで
ある。(bp /p)=1の場合、楕円曲線Ens(Fp
からFp への群同型写像を得るために、√bp (mo
dp)の計算が必要である。これは素数pをp≡3
(mod 4)を満たすように選ぶことで、√bp =b
p (p+1)/4 (mod p)と計算できる。また、楕円
曲線Ens(Fp )上のdp1倍に相当する素体Fp の乗法
群上のdp1乗の計算が必要である。
【0034】これらはともに、素体Fp の乗法群のべき
乗計算であり、べき指数の大きさはほぼpと同程度であ
る。べき乗計算にバイナリメソッドを用いると、平均
1.5log p回の剰余乗算を要する。
【0035】これらより、(bp /p)=1の場合には
平均3logp回の剰余乗算で復号できる。また(bp
/p)=−1の場合には、復号はLp 上のべき乗計算で
行なわれる。Lp 上のべき乗計算はバイナリメソッドに
よれば、log p回のLp上の2乗算と平均0.5l
og p回のLp 上の2乗でない乗算を要する。またL
p 上の2乗算及び、2乗でない乗算は剰余乗算をそれぞ
れ2回と5回要する。よって、(bp /p)=−1の場
合、復号には平均4.5log p回の剰余乗算を要す
る。法qの大きさはpと同程度とし、(bp /p)=1
となる確率、(bq /q)=1となる確率をそれぞれ1
/2とすると、本発明の暗号通信システムでは暗号文C
=(cx ,cy )の復号に平均7.5log p回の剰
余乗算を要する。法qにおける計算も同様である。
【0036】一方、従来の方式であるKMOV暗号系で
は以下のようになる。楕円曲線上の2倍算と(2倍算で
ない)加算にはそれぞれ10回、15回の剰余乗算が必
要である。バイナリメソッドによれば法pの楕円曲線上
の定数倍計算にはlog p回の楕円曲線上の2倍算
と、平均0.5log p回の楕円曲線上の2倍算でな
い加算を要する。よって平均で17.5log p回の
剰余乗算が必要である。またpとqの大きさを同程度と
すれば環Zn 上の楕円曲線上の定数倍による復号は35
log p回の剰余乗算を必要とする。以上より、本発
明の暗号方式は楕円曲線上の定数倍で復号を行なうKM
OV方式に比べてより高速であることが明らかである。
【0037】
【発明の効果】本発明は、同報通信に用いた場合、RS
A暗号系に比べて安全性に優れ、またKMOV暗号系や
Demytko暗号系に比べて、より高速とし得る等の効果を
奏する。
【図面の簡単な説明】
【図1】本発明に係る暗号通信システム全体の構成を示
すブロック図である。
【図2】本発明に係る鍵生成装置における処理手順を説
明するためのフローチャートである。
【図3】本発明に係る暗号化装置における処理手順を説
明するためのフローチャートである。
【図4】本発明に係る復号装置における処理手順を説明
するためのフローチャートである。
【図5】本発明に係る復号装置における処理手順を説明
するためのフローチャートである。
【図6】本発明に係る復号装置における処理手順を説明
するためのフローチャートである。
【符号の説明】
1 送信装置 3 受信装置 10 暗号化装置 11 メモリ 13 CPU 15 公開鍵メモリ 17 送信部 20 鍵生成装置 21 CPU 30 復号装置 31 秘密鍵メモリ 33 CPU 35 受信部 37 メモリ
フロントページの続き (56)参考文献 特開 平6−195025(JP,A) 小山、桑門、鶴岡「3次曲線に基づく 公開鍵暗号」NTT R&D,Vol. 44,No.10(1995),P.953−960 桑門、小山「3次曲線上のRSA型暗 号方式の同報通信における安全性」電子 情報通信学会技術研究報告ISEC94− 10(1994年7月11日),P.23−30 桑門、小山「Zn上の楕円暗号の拡 張」電子情報通信学会技術研究報告IS EC93−6(1993年5月14日),P.35 −46 境、笠原「楕円曲線上の暗号とその性 質に関する考察」電子情報通信学会技術 研究報告ISEC93−10(1993年7月12 日),P.9−14

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 通信文の受信側に置かれ、通信文の送信
    側に対して公開する公開鍵と、この公開鍵に対応する秘
    密鍵を予め生成する鍵生成手段と、送信側に置かれ、送
    信する平文を前記公開鍵を用いて暗号化して暗号文を生
    成する暗号化手段と、受信側に置かれ、受信した当該暗
    号文を前記秘密鍵を用いて復号化して元の平文を生成す
    る復号化手段とから構成される暗号通信システムであっ
    て、前記暗号化は環Zn 上の特異な楕円曲線 2 3 +bx 2 (mod n);b≠0 に基づき、前記復号化は、暗号文に応じて、素体F p 素体F q
    のべき乗または二次体上のべき乗により行い、かつ公開
    鍵としてのnが十分に大きな素数p,qの積であること
    を特徴とする暗号通信システム。
  2. 【請求項2】 素数p、パラメータb;(b≠0)に対
    して、y2 ≡x3 +bx2 (mod p)を満たす点
    (x,y)の集合から特異点(0,0)を除き、無限遠
    点Φを加えた集合である素体Fp 上の楕円曲線Ens(F
    p )上の二点に対して加算が定義できて、いずれかの点
    が無限遠点Φの場合は、Φ+P1 =P1 +Φ=P1 とな
    り、 二点が共に無限遠点Φでない場合は、P1 =(x1 ,y
    1 ),P2 =(x2 ,y2 )に対して、P3 =(x3
    3 )=P1 +P2 は、P1 ≠P2 のときλ=(y2
    1 )/(x2 −x1 )、P1 =P2 のときλ=x
    1 (3x1 +2b)/2y1 としたとき、x3 ,y3
    それぞれ、x3 =λ2 −b−x1 −x2 ,y3 =λ(x
    1 −x3 )−y1 と定義し、 環Zn 上の楕円曲線Ens(Zn )を用い、nは素数p,
    qの積とし、楕円曲線Ens(Zn )上の加算は、楕円曲
    線Ens(Fp )と同様に定義し、楕円曲線Ens(Zn
    上の点Pのd倍点(d・P)は、当該加算を組み合わせ
    て計算するものであり、 前記鍵生成手段は、素数p,qを前記nの素因数分解を
    困難とする程度に大きな値の素数を選び、n=pqを計
    算し、最小公倍数LCM(p−1,p+1,q−1,q
    +1)と互いに素であるeを選び、 dp1=1/e (mod p−1),dp2=1/e (mod p+1), dq1=1/e (mod q−1),dq2=1/e (mod q+1) を計算する機能を有し、 前記暗号化手段は、前記鍵生成手段で作成した公開鍵
    e,n及び0<mx ,my <nの範囲内の平文として前
    記楕円曲線Ens(Zn )上の点M=(mx ,my)を入
    力し、点Mを含む当該楕円曲線のパラメータb=(my
    2 −mx 3 )/mx 2 (mod n)を計算し、当該楕
    円曲線上で暗号文C=(cx ,cy )=e・Mを計算し
    て暗号文Cを生成し、 前記復号手段は、前記鍵生成手段で作成した秘密鍵p,
    q,dp1,dp2,dq1,dq2及び前記暗号化手段で作成
    した暗号文C=(cx ,cy )を入力し、 cxp=cx mod p, cxq=cx mod q, cyp=cy mod p, cyq=cy mod q を計算し、 bp =(cyp 2 −cxp 3 )/cxp 2 (mod p), bq =(cyq 2 −cxq 3 )/cxq 2 (mod q) を計算し、 bp がpの平方剰余のとき、 rp =bp 1/2 (mod p)、 vp =((cyp+rp xp)/(cyp−rp xp))dp1 (mod p)、 tp =(vp +1)/(vp −1) (mod p)、 xp =bp (tp 2 −1) (mod p)、 yp =tp p p (mod p) を計算し、 bp がpの平方非剰余のとき、 fp =2cyp 2 /cxp 3 −1 (mod p), gp =2cyp/cxp 2 (mod p)、 二次体Fp (√bp )の乗法群のノルムが1であるよう
    な要素からなる部分群であるLp 上の乗算を、f+g√
    p を<f,g>で表したとき、 〈f1 ,g1 〉×〈f2 ,g2 〉=〈(f1 2 +g1
    2 p ) mod p,(f1 2 +f2 1 ) m
    od p〉、 〈f1 ,g1 2 =〈(2f1 2 −1) mod p, (2f1 1 ) mod p〉 と定義し、Lp 上で、 〈up ,vp 〉=〈fp ,gp dp2 を計算し、 xp =2(up +1)/vp 2 (mod p), yp =2(up +1)2 /vp 3 (mod p) を計算し、 bp がqの平方剰余のとき、 rq =bq 1/2 (mod q)、 vq =((cyq+rq xq)/(cyq−rq xq))dq1 (mod q)、 tq =(vq +1)/(vq −1) (mod q)、 xq =bq (tq 2 −1) (mod q), yq =tq q q (mod q) を計算し、 bq がqの平方非剰余のとき、 fq =2cyq 2 /cxq 3 −1 (mod q), gq =2cyq/cxq 2 (mod q)、 二次体Fq (√bq )の乗法群のノルムが1であるよう
    な要素からなる部分群であるLq 上の乗算を、f+g√
    q を<f,g>で表したとき、 〈f1 ,g1 〉×〈f2 ,g2 〉=〈(f1 2 +g1
    2 q ) mod q,(f1 2 +f2 1 ) m
    od q〉、 〈f1 ,g1 2 =〈(2f1 2 −1) mod q, (2f1 1 ) mod q〉 と定義し、Lq 上で 〈uq ,vq 〉=〈fq ,gq dq2 を計算し、 xq =2(uq +1)/vq 2 (mod q), yq =2(uq +1)2 /vq 3 (mod q) を計算し、 さらに、 x=(q(xp /q mod p)+p(xq /p m
    od q))mod pq,y=(q(yp /q mod
    p)+p(yq /p mod q))mod pqを計
    算し、平文M=(x,y)を生成することを特徴とする
    請求項1記載の暗号通信システム。
JP6189260A 1994-08-11 1994-08-11 暗号通信システム Expired - Fee Related JP2617091B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6189260A JP2617091B2 (ja) 1994-08-11 1994-08-11 暗号通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6189260A JP2617091B2 (ja) 1994-08-11 1994-08-11 暗号通信システム

Publications (2)

Publication Number Publication Date
JPH0856219A JPH0856219A (ja) 1996-02-27
JP2617091B2 true JP2617091B2 (ja) 1997-06-04

Family

ID=16238330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6189260A Expired - Fee Related JP2617091B2 (ja) 1994-08-11 1994-08-11 暗号通信システム

Country Status (1)

Country Link
JP (1) JP2617091B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010000048A (ko) * 1999-11-18 2001-01-05 안병엽 m진법 방식을 이용한 타원곡선상 다중 점의 상수고속연산 방법
KR100419986B1 (ko) * 2002-01-07 2004-02-26 한국정보보호진흥원 타원곡선 암호알고리즘을 이용한 안전한 피코넷 형성 및유지 방법
JP2008306685A (ja) * 2007-06-11 2008-12-18 Fuji Electric Holdings Co Ltd セキュリティ情報設定システム、そのマスタ端末、一般端末、プログラム
US20120140921A1 (en) * 2010-12-01 2012-06-07 King Fahd University Of Petroleum And Minerals Rsa-analogous xz-elliptic curve cryptography system and method

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
境、笠原「楕円曲線上の暗号とその性質に関する考察」電子情報通信学会技術研究報告ISEC93−10(1993年7月12日),P.9−14
小山、桑門、鶴岡「3次曲線に基づく公開鍵暗号」NTT R&D,Vol.44,No.10(1995),P.953−960
桑門、小山「3次曲線上のRSA型暗号方式の同報通信における安全性」電子情報通信学会技術研究報告ISEC94−10(1994年7月11日),P.23−30
桑門、小山「Zn上の楕円暗号の拡張」電子情報通信学会技術研究報告ISEC93−6(1993年5月14日),P.35−46

Also Published As

Publication number Publication date
JPH0856219A (ja) 1996-02-27

Similar Documents

Publication Publication Date Title
Harn Public-key cryptosystem design based on factoring and discrete logarithms
EP0946018B1 (en) Scheme for fast realization of a decryption or an authentication
Tatebayashi et al. Key distribution protocol for digital mobile communication systems
JP2606419B2 (ja) 暗号通信システムと暗号通信方法
US20020041684A1 (en) Public-key encryption and key-sharing methods
Coron et al. New attacks on PKCS# 1 v1. 5 encryption
Kuwakado et al. A New RSA-Type Scheme Based on Singular Cubic Curves y 2< cd02261. gif> x 3+ bx 2 (mod n)
Joye et al. On the importance of securing your bins: The garbage-man-in-the-middle attack
JP2617091B2 (ja) 暗号通信システム
JPH11174955A (ja) 公開鍵暗号化装置、公開鍵暗号復号装置及び復号プログラム記録媒体
US7356140B2 (en) Encrypting device, decrypting device, cryptosystem including the same devices, encrypting method, and decrypting method
KR20030047148A (ko) Rsa를 이용한 클라이언트/서버 기반의 메신저 보안 방법
JP3041293B2 (ja) 暗号化方法、復号化方法、認証方法、暗号化装置、復号化装置、認証装置、認証文送信者装置、認証文受信者装置、暗号通信システム及び認証システム
Koyama et al. Elliptic Curve Cryptosytems and Their Applications
Kenekayoro Patrick One way functions and public key cryptography
JP2624634B2 (ja) 暗号装置および復号化装置および暗号・復号化装置および暗号システム
Zheng Signcryption or how to achieve cost (signature & encryption)<< cost (signature)+ cost (encryption)
EP1148675A1 (en) Public key cryptograph and key sharing method
Jena et al. A novel and efficient cryptosystem for long message encryption
JP4230162B2 (ja) 公開鍵暗号通信方法
JP2617092B2 (ja) 暗号通信システム
Nibir et al. A Variant of the RSA Cryptosystem with Smaller Keys
JP3870753B2 (ja) 第3のオラクルを考慮した公開鍵暗号方法
JP4304896B2 (ja) 公開鍵暗号通信方法
JP2002215019A (ja) 標準モデル上で適応的選択暗号文攻撃に対して安全な公開鍵暗号方法

Legal Events

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