JPH06282226A - 楕円曲線に基づく公開鍵暗号方式 - Google Patents
楕円曲線に基づく公開鍵暗号方式Info
- Publication number
- JPH06282226A JPH06282226A JP5070436A JP7043693A JPH06282226A JP H06282226 A JPH06282226 A JP H06282226A JP 5070436 A JP5070436 A JP 5070436A JP 7043693 A JP7043693 A JP 7043693A JP H06282226 A JPH06282226 A JP H06282226A
- Authority
- JP
- Japan
- Prior art keywords
- elliptic curve
- decryption key
- decryption
- prime number
- mod
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
Abstract
(57)【要約】
【目的】 本発明の目的は、パラメータの素数の制限を
なくすことにより安全性を一層高めた楕円曲線に基づく
公開暗号方式を提供することである。 【構成】 本発明は、任意の素数を選び、素数に対応し
た暗号化鍵を公開ファイル装置に登録し、素数、暗号鍵
に対応する復号鍵表により生成し、素数と共に復号鍵表
を復号装置に記憶しておく。暗号化装置は公開ファイル
装置より受信者(復号装置)の公開鍵を入手し、平文を
楕円曲線上で乗算し、その値を暗号文として復号装置に
送信する。復号装置は暗号文から楕円曲線のパラメータ
を計算し、復号鍵表を用いてパラメータに対応する復号
鍵を選び、暗号文をを楕円曲線で乗算した値から中国剰
余定理を用いて平文を得る。
なくすことにより安全性を一層高めた楕円曲線に基づく
公開暗号方式を提供することである。 【構成】 本発明は、任意の素数を選び、素数に対応し
た暗号化鍵を公開ファイル装置に登録し、素数、暗号鍵
に対応する復号鍵表により生成し、素数と共に復号鍵表
を復号装置に記憶しておく。暗号化装置は公開ファイル
装置より受信者(復号装置)の公開鍵を入手し、平文を
楕円曲線上で乗算し、その値を暗号文として復号装置に
送信する。復号装置は暗号文から楕円曲線のパラメータ
を計算し、復号鍵表を用いてパラメータに対応する復号
鍵を選び、暗号文をを楕円曲線で乗算した値から中国剰
余定理を用いて平文を得る。
Description
【0001】
【産業上の利用分野】本発明は、楕円曲線に基づく公開
鍵暗号方式に係り、特に、ディジタル化された文書を伝
送する際の暗号方式における有限のモノイド上の楕円曲
線に基づく暗号方式及び暗号方式に用いられる鍵生成装
置、暗号化装置及び復号装置における楕円曲線に基づく
公開鍵暗号方式に関する。
鍵暗号方式に係り、特に、ディジタル化された文書を伝
送する際の暗号方式における有限のモノイド上の楕円曲
線に基づく暗号方式及び暗号方式に用いられる鍵生成装
置、暗号化装置及び復号装置における楕円曲線に基づく
公開鍵暗号方式に関する。
【0002】
【従来の技術】1990年に楕円曲線に基づく公開鍵暗
号(KMOV方式)が提案されている。このKMOV方
式はパラメータn(=pq)の素因数分解の困難さに安
全性の根拠をおいているものである。KMOV方式は、
パラメータの素数p,qがp≡q≡2(mod 3)また
は、p≡q≡3(mod 4)でなければならないという制
限がある。
号(KMOV方式)が提案されている。このKMOV方
式はパラメータn(=pq)の素因数分解の困難さに安
全性の根拠をおいているものである。KMOV方式は、
パラメータの素数p,qがp≡q≡2(mod 3)また
は、p≡q≡3(mod 4)でなければならないという制
限がある。
【0003】
【発明が解決しようとする課題】しかしながら、従来の
公開鍵暗号方式にはKMOV方式を用いた方式により暗
号方式を用いていたが、法のnの素因数に制限があるた
め、この制限内で暗号方式を適用すると鍵の安全性に問
題がある。
公開鍵暗号方式にはKMOV方式を用いた方式により暗
号方式を用いていたが、法のnの素因数に制限があるた
め、この制限内で暗号方式を適用すると鍵の安全性に問
題がある。
【0004】本発明は、上記の点に鑑みなされたもの
で、パラメータの素数の制限をなくすことにより安全性
を一層高めた楕円曲線に基づく公開暗号方式を提供する
ことを目的とする。
で、パラメータの素数の制限をなくすことにより安全性
を一層高めた楕円曲線に基づく公開暗号方式を提供する
ことを目的とする。
【0005】
【課題を解決するための手段】図1は本発明の原理構成
図を示す。本発明は、受信者により5以上の任意の素数
p,qを選択し、素数p,qに対応する公開鍵e,nを
登録する公開ファイル装置10と、素数p,qに対して
楕円曲線Ep (0,b):y2 ≡x3 +bp (mod
p),Eq (0,b):y2 ≡x3 +bq (mod q)の
位数bp ,bq とパラメータbとの関係を示す識別子と
位数の対応を示す位数表を生成する位数表生成手段21
と、素数p,qと位数表生成手段21により生成された
位数表から復号鍵を計算し、復号鍵と位数表の識別子と
の対応を示す復号鍵表を生成する復号鍵表生成手段24
とを含む鍵生成装置20と、平文Mと受信者の公開鍵
e,nが入力され、平文Mを楕円曲線En (0,
bM ):y2 ≡x3 +bM (mod n)上で公開鍵eに基
づいて乗算する楕円曲線乗算手段31を含み、暗号文を
出力する暗号化装置30と、該鍵生成装置20から受け
取った素数p,qと復号鍵表を記憶する記憶手段41
と、暗号化装置30からの暗号文Cと素数p,qから楕
円曲線Ep (0,bp):y2 ≡x3 +bp (mod
p),Eq (0,bq ):y2 ≡x3 +bq (modq)
のパラメータbp ,bq を計算する係数計算手段42
と、記憶手段41に記憶されている復号鍵表より楕円曲
線のパラメータに対応する復号鍵dp ,dq を検索する
復号鍵検索手段と、暗号化装置30から入力された暗号
文Cを楕円曲線Ep (0,bp ),Eq (0,bq )上
で復号鍵dp ,dq に基づいて乗算する楕円曲線乗算手
段45と、楕円曲線乗算手段45により求められた値M
p ,Mqと、素数p,qから平文Mを中国剰余定理に基
づいて計算し出力する中国剰余定理計算手段46とを含
む復号装置を有する。
図を示す。本発明は、受信者により5以上の任意の素数
p,qを選択し、素数p,qに対応する公開鍵e,nを
登録する公開ファイル装置10と、素数p,qに対して
楕円曲線Ep (0,b):y2 ≡x3 +bp (mod
p),Eq (0,b):y2 ≡x3 +bq (mod q)の
位数bp ,bq とパラメータbとの関係を示す識別子と
位数の対応を示す位数表を生成する位数表生成手段21
と、素数p,qと位数表生成手段21により生成された
位数表から復号鍵を計算し、復号鍵と位数表の識別子と
の対応を示す復号鍵表を生成する復号鍵表生成手段24
とを含む鍵生成装置20と、平文Mと受信者の公開鍵
e,nが入力され、平文Mを楕円曲線En (0,
bM ):y2 ≡x3 +bM (mod n)上で公開鍵eに基
づいて乗算する楕円曲線乗算手段31を含み、暗号文を
出力する暗号化装置30と、該鍵生成装置20から受け
取った素数p,qと復号鍵表を記憶する記憶手段41
と、暗号化装置30からの暗号文Cと素数p,qから楕
円曲線Ep (0,bp):y2 ≡x3 +bp (mod
p),Eq (0,bq ):y2 ≡x3 +bq (modq)
のパラメータbp ,bq を計算する係数計算手段42
と、記憶手段41に記憶されている復号鍵表より楕円曲
線のパラメータに対応する復号鍵dp ,dq を検索する
復号鍵検索手段と、暗号化装置30から入力された暗号
文Cを楕円曲線Ep (0,bp ),Eq (0,bq )上
で復号鍵dp ,dq に基づいて乗算する楕円曲線乗算手
段45と、楕円曲線乗算手段45により求められた値M
p ,Mqと、素数p,qから平文Mを中国剰余定理に基
づいて計算し出力する中国剰余定理計算手段46とを含
む復号装置を有する。
【0006】
【作用】本発明は、5以上の任意の素数p,qを選び、
p,qに対応した暗号化鍵e,nを公開ファイル装置1
0に登録し、p,q,eに対応する復号鍵表を生成し、
素数p,qと共に復号鍵表を復号装置に記憶しておく。
送信者(暗号化装置)は公開ファイル装置10より受信
者(復号装置)の公開鍵e,nを入手し、平文M=(m
x ,my )を楕円曲線En (0,bM ):y2 ≡x3 +
bM (mod n)上でe倍した点Cを暗号文Cとして受信
者(復号装置)に送信する。受信者(復号装置)は暗号
文Cから楕円曲線Ep (0,bp ):y2 ≡x3 +bp
(mod p),Eq (0,bq ):y2 ≡x3 +bq (mo
d q)のパラメータbp ,bq を計算し、復号鍵表を用
いてパラメータbp ,bq を計算し、復号装置側で予め
記憶されている復号鍵表を用いてパラメータbp ,bq
に対応する復号鍵dp ,dqを選び、暗号文Cを楕円曲
線でdp ,dq 倍した点Mp ,Mq とから中国剰余定理
を用いて平文Mを得る。これにより、公開鍵暗号方式と
して、従来のKMOV方式に代わり有限モノイド上の楕
円曲線に基づいており、用いる素数に制限がないため、
素因数分解がKMOV方式よりも難解になり、安全性が
高くなる。
p,qに対応した暗号化鍵e,nを公開ファイル装置1
0に登録し、p,q,eに対応する復号鍵表を生成し、
素数p,qと共に復号鍵表を復号装置に記憶しておく。
送信者(暗号化装置)は公開ファイル装置10より受信
者(復号装置)の公開鍵e,nを入手し、平文M=(m
x ,my )を楕円曲線En (0,bM ):y2 ≡x3 +
bM (mod n)上でe倍した点Cを暗号文Cとして受信
者(復号装置)に送信する。受信者(復号装置)は暗号
文Cから楕円曲線Ep (0,bp ):y2 ≡x3 +bp
(mod p),Eq (0,bq ):y2 ≡x3 +bq (mo
d q)のパラメータbp ,bq を計算し、復号鍵表を用
いてパラメータbp ,bq を計算し、復号装置側で予め
記憶されている復号鍵表を用いてパラメータbp ,bq
に対応する復号鍵dp ,dqを選び、暗号文Cを楕円曲
線でdp ,dq 倍した点Mp ,Mq とから中国剰余定理
を用いて平文Mを得る。これにより、公開鍵暗号方式と
して、従来のKMOV方式に代わり有限モノイド上の楕
円曲線に基づいており、用いる素数に制限がないため、
素因数分解がKMOV方式よりも難解になり、安全性が
高くなる。
【0007】
【実施例】以下、図面と共に本発明の実施例を説明す
る。
る。
【0008】図2は本発明の一実施例のシステム構成を
示す。同図のシステムは、公開鍵e,nを登録しておく
公開ファイル装置10、公開鍵e,n及び、復号鍵
dp ,dq を生成する鍵生成装置20、入力された平文
Mを公開ファイル装置10からの公開鍵e,nにより平
文Mを暗号化し、暗号文Cを作成し、出力する暗号化装
置30と、暗号化装置30から入力された暗号文Cを楕
円曲線を用いて復号し,平文Mを出力する復号装置40
から構成される。
示す。同図のシステムは、公開鍵e,nを登録しておく
公開ファイル装置10、公開鍵e,n及び、復号鍵
dp ,dq を生成する鍵生成装置20、入力された平文
Mを公開ファイル装置10からの公開鍵e,nにより平
文Mを暗号化し、暗号文Cを作成し、出力する暗号化装
置30と、暗号化装置30から入力された暗号文Cを楕
円曲線を用いて復号し,平文Mを出力する復号装置40
から構成される。
【0009】以下、実施例を説明するにあたり、本発明
の公開鍵暗号方式における前提条件を説明する。本発明
における公開鍵暗号方式は、有限モノイド上の楕円曲線
に基づいており、用いる素数に制限のないものである。
の公開鍵暗号方式における前提条件を説明する。本発明
における公開鍵暗号方式は、有限モノイド上の楕円曲線
に基づいており、用いる素数に制限のないものである。
【0010】まず、楕円曲線に関する記号の説明をす
る。素数pとパラメータa,bに対しし、 y2 ≡x3 +ax+b(mod p) を満たす点の集合に無限遠点Οを加えた集合を楕円曲線
En (a,b)と呼ぶ。本発明の実施例ではパラメータ
aが零(a=0)の楕円曲線En (0,b)を用いる。
る。素数pとパラメータa,bに対しし、 y2 ≡x3 +ax+b(mod p) を満たす点の集合に無限遠点Οを加えた集合を楕円曲線
En (a,b)と呼ぶ。本発明の実施例ではパラメータ
aが零(a=0)の楕円曲線En (0,b)を用いる。
【0011】以下に本発明の一実施例の各装置について
説明する。 1.公開ファイル装置 公開ファイル装置10は、受信者(復号装置)により5
以上の任意の素数p,qが選択され、この素数に対応し
た暗号化鍵(公開鍵)e,nが登録される。
説明する。 1.公開ファイル装置 公開ファイル装置10は、受信者(復号装置)により5
以上の任意の素数p,qが選択され、この素数に対応し
た暗号化鍵(公開鍵)e,nが登録される。
【0012】2.鍵生成装置 図3は本発明の一実施例の鍵生成装置の構成を示す。同
図に示す復号鍵生成装置24は、素数生成器241、位
数表生成装置242、243及び復号鍵表生成装置24
4から構成される。素数生成器241は素数p,qを生
成し、素数pを位数表生成装置242に、素数qを位数
表生成装置243に入力する。
図に示す復号鍵生成装置24は、素数生成器241、位
数表生成装置242、243及び復号鍵表生成装置24
4から構成される。素数生成器241は素数p,qを生
成し、素数pを位数表生成装置242に、素数qを位数
表生成装置243に入力する。
【0013】(1)位数表生成装置 ここで、各位数表生成装置242、243は、素数生成
器241から素数p,qにより位数表を作成する。位数
表生成装置242は、素数pに対して楕円曲線 Ep (0,b):y2 ≡x3 +b(mod p) の位数とパラメータbとの関係を示す識別子と位数の対
応を示す位数表を生成する。もし、素数pが p≡2(mod 3) であれば、位数表生成装置242が生成する位数表は、
器241から素数p,qにより位数表を作成する。位数
表生成装置242は、素数pに対して楕円曲線 Ep (0,b):y2 ≡x3 +b(mod p) の位数とパラメータbとの関係を示す識別子と位数の対
応を示す位数表を生成する。もし、素数pが p≡2(mod 3) であれば、位数表生成装置242が生成する位数表は、
【0014】
【表1】
【0015】となる。位数表生成装置242は、この位
数表を復号鍵表生成装置245に出力する。
数表を復号鍵表生成装置245に出力する。
【0016】また、位数表生成装置243は素数qに対
して楕円曲線 Eq (0,b):y2 ≡x3 +b(mod q ) の位数とパラメータbとの関係を示す識別子と位数の対
応を示す位数表を生成する。もし、素数qが、 q≡2(mod 3) であれば、位数表生成装置243が生成する位数表は、
して楕円曲線 Eq (0,b):y2 ≡x3 +b(mod q ) の位数とパラメータbとの関係を示す識別子と位数の対
応を示す位数表を生成する。もし、素数qが、 q≡2(mod 3) であれば、位数表生成装置243が生成する位数表は、
【0017】
【表2】
【0018】となり、位数表生成装置243はこの位数
表を復号鍵生成装置245に出力する。
表を復号鍵生成装置245に出力する。
【0019】ここで、位数表生成装置242、243は p=ππ’かつ、π≡2(mod 3) を満たす二次体Z[ω]上の整数 π=αーβω を求める。この時、位数表生成装置242、243は以
下に示す位数表を生成する。
下に示す位数表を生成する。
【0020】
【表3】
【0021】位数表生成装置242、243は、この位
数表を復号鍵生成装置245に出力し、動作を終了す
る。
数表を復号鍵生成装置245に出力し、動作を終了す
る。
【0022】(2)復号鍵表生成装置 次に、復号鍵表生成装置245は、2つの素数p,qと
各素数の位数表から公開鍵e,nを計算し、復号鍵表を
生成し、公開鍵e,n及び復号鍵表を出力する。
各素数の位数表から公開鍵e,nを計算し、復号鍵表を
生成し、公開鍵e,n及び復号鍵表を出力する。
【0023】図4は本発明の一実施例の鍵生成装置の復
号鍵表生成装置を説明するための図である。復号鍵表生
成装置245は、素数p,qの入力により使用する復号
鍵生成装置1〜3を使い分ける。
号鍵表生成装置を説明するための図である。復号鍵表生
成装置245は、素数p,qの入力により使用する復号
鍵生成装置1〜3を使い分ける。
【0024】まず、素数p,qが、 p≡q≡2(mod 3) であれば、復号鍵生成装置1に素数p,qとそれらの位
数表を入力し、復号鍵生成装置1の出力をそのまま、復
号鍵生成装置245の出力とし、処理を終了する。
数表を入力し、復号鍵生成装置1の出力をそのまま、復
号鍵生成装置245の出力とし、処理を終了する。
【0025】詳しくは、復号鍵生成装置1は、入力とし
て素数p,qと、当該素数p,qの位数表が与えられ
る。ここで、復号鍵生成装置1は、 gcd(e,p+1)=gcd(e,q+1)=1 となる公開鍵eをランダムに設定する。そして、以下の
式を満たす復号鍵dp0,dq0を計算する。 e・dp0≡1(mod p), e・dq0≡1(mod
q). これにより、復号鍵生成装置1が出力する復号鍵表は、
て素数p,qと、当該素数p,qの位数表が与えられ
る。ここで、復号鍵生成装置1は、 gcd(e,p+1)=gcd(e,q+1)=1 となる公開鍵eをランダムに設定する。そして、以下の
式を満たす復号鍵dp0,dq0を計算する。 e・dp0≡1(mod p), e・dq0≡1(mod
q). これにより、復号鍵生成装置1が出力する復号鍵表は、
【0026】
【表4】
【0027】とする。但し、これらの表において、左の
列の項は識別子を表し、右の列の項はその識別子に対応
する復号鍵を表す。これにより復号鍵生成装置1は暗号
化鍵e,nと復号鍵表を出力する。
列の項は識別子を表し、右の列の項はその識別子に対応
する復号鍵を表す。これにより復号鍵生成装置1は暗号
化鍵e,nと復号鍵表を出力する。
【0028】次に、素数p,qが、 p≡1(mod 3),q≡2(mod 3) であれば、復号鍵表生成装置2に素数p,qとそれらの
位数表を入力し、復号鍵表生成装置2の出力をそのまま
復号鍵表生成装置245の出力とし、処理を終了する。
位数表を入力し、復号鍵表生成装置2の出力をそのまま
復号鍵表生成装置245の出力とし、処理を終了する。
【0029】詳しくは、復号鍵生成装置2は、入力とし
て素数p,qと、当該素数p,qの位数表が与えられ
る。ここで、復号鍵生成装置1は、 gcd(e,Np0)=gcd(e,Np0) =gcd(e,Np1) =gcd(e,Np2) =gcd(e,Np3) =(e,q+1) =1 となる公開鍵eをランダムに設定する。そして、以下の
式を満たす復号鍵dpi(i=0〜3)、dq0を計算す
る。
て素数p,qと、当該素数p,qの位数表が与えられ
る。ここで、復号鍵生成装置1は、 gcd(e,Np0)=gcd(e,Np0) =gcd(e,Np1) =gcd(e,Np2) =gcd(e,Np3) =(e,q+1) =1 となる公開鍵eをランダムに設定する。そして、以下の
式を満たす復号鍵dpi(i=0〜3)、dq0を計算す
る。
【0030】e・dpi≡1(mod p)(i=0〜3), e・dq0≡1(mod q). これにより、復号鍵生成装置2が出力する復号鍵表は、
【0031】
【表5】
【0032】とする。但し、これらの表において、左の
列の項は識別子を表し、右の列の項はその識別子に対応
する復号鍵を表す。これにより復号鍵生成装置2は暗号
化鍵e,nと復号鍵表を出力する。
列の項は識別子を表し、右の列の項はその識別子に対応
する復号鍵を表す。これにより復号鍵生成装置2は暗号
化鍵e,nと復号鍵表を出力する。
【0033】さらに、素数p,qが p≡q≡1(mod 3) ならば、復号鍵表生成装置3に素数p,qとそれらの位
数表を入力し、復号鍵表生成装置245の出力とし、処
理を終了する。
数表を入力し、復号鍵表生成装置245の出力とし、処
理を終了する。
【0034】詳しくは、復号鍵生成装置3は、入力とし
て素数p,qと、当該素数p,qの位数表が与えられ
る。ここで、復号鍵生成装置1は、 gcd(e,Npi)=gcd(e,Npi) =1(i=0〜3) となる公開鍵eをランダムに設定する。そして、以下の
式を満たす復号鍵dpi、dqiを計算する。
て素数p,qと、当該素数p,qの位数表が与えられ
る。ここで、復号鍵生成装置1は、 gcd(e,Npi)=gcd(e,Npi) =1(i=0〜3) となる公開鍵eをランダムに設定する。そして、以下の
式を満たす復号鍵dpi、dqiを計算する。
【0035】e・dpi≡1(mod p) e・dqi≡1(mod q)(i=0〜3). これにより、復号鍵生成装置3が出力する復号鍵表は、
【0036】
【表6】
【0037】とする。但し、これらの表において、左の
列の項は識別子を表し、右の列の項はその識別子に対応
する復号鍵を表す。
列の項は識別子を表し、右の列の項はその識別子に対応
する復号鍵を表す。
【0038】これにより復号鍵生成装置3は暗号化鍵
e,nと復号鍵表を公開ファイル装置10または、復号
装置40に出力する。
e,nと復号鍵表を公開ファイル装置10または、復号
装置40に出力する。
【0039】(3)暗号化装置 図5は本発明の一実施例の暗号化装置の構成を示す。暗
号化装置30は楕円曲線En (0,bM )上において入
力された平文Mに公開鍵e分を乗算する楕円曲線乗算器
31を有する。
号化装置30は楕円曲線En (0,bM )上において入
力された平文Mに公開鍵e分を乗算する楕円曲線乗算器
31を有する。
【0040】暗号化装置30は、入力として、公開鍵
e,nと平文M=(mx ,my )が与えられる。但し、 0<mx ,my <n and gcd(mx ,n)=g
cd(my ,n)=1 とする。
e,nと平文M=(mx ,my )が与えられる。但し、 0<mx ,my <n and gcd(mx ,n)=g
cd(my ,n)=1 とする。
【0041】暗号化装置30は、楕円曲線En (0,b
M ):y2 ≡x3 +bM (mod n)上で、 e・m over En (0,bM ) を計算し、その計算結果を暗号文Cとする。そして、暗
号文Cを復号装置40に出力して処理を終了する。
M ):y2 ≡x3 +bM (mod n)上で、 e・m over En (0,bM ) を計算し、その計算結果を暗号文Cとする。そして、暗
号文Cを復号装置40に出力して処理を終了する。
【0042】(4)復号装置 図6は本発明の一実施例の復号装置の構成を示す。同図
において、復号装置40は、素数p記憶部410、素数
q記憶部411、第1、第2の係数計算器420、42
1、第1、第2の識別子計算器430、431、復号鍵
検索器440、441、第1、第2の楕円曲線乗算器4
50、451、pの復号鍵表記憶部470、qの復号鍵
記憶部471及び中国剰余定理計算器460より構成さ
れる。
において、復号装置40は、素数p記憶部410、素数
q記憶部411、第1、第2の係数計算器420、42
1、第1、第2の識別子計算器430、431、復号鍵
検索器440、441、第1、第2の楕円曲線乗算器4
50、451、pの復号鍵表記憶部470、qの復号鍵
記憶部471及び中国剰余定理計算器460より構成さ
れる。
【0043】復号装置40の素数p記憶部410は素数
pを記憶しておき、素数q記憶部411は素数qを記憶
しておく。
pを記憶しておき、素数q記憶部411は素数qを記憶
しておく。
【0044】第1の係数計算器420は、暗号化装置3
0から入力された暗号文Cと素数p記憶部410に記憶
されている素数pから楕円曲線 Ep (0,bp ):y2 ≡x3 +bp (mod p) のパラメータbp を計算する。
0から入力された暗号文Cと素数p記憶部410に記憶
されている素数pから楕円曲線 Ep (0,bp ):y2 ≡x3 +bp (mod p) のパラメータbp を計算する。
【0045】第2の係数計算器421は、暗号化装置3
0から入力された暗号文Cと素数q記憶部411に記憶
されている素数qから楕円曲線 Eq (0,bq ):y2 ≡x3 +bq (mod q) のパラメータbq を計算する。
0から入力された暗号文Cと素数q記憶部411に記憶
されている素数qから楕円曲線 Eq (0,bq ):y2 ≡x3 +bq (mod q) のパラメータbq を計算する。
【0046】第1の識別子計算器430は、楕円曲線の
パラメータbp と素数pから識別子τp を計算する。
パラメータbp と素数pから識別子τp を計算する。
【0047】第2の識別子計算器431は、楕円曲線の
パラメータbq と素数qから識別子τq を計算する。
パラメータbq と素数qから識別子τq を計算する。
【0048】pの復号鍵表記憶部470は、素数pの復
号鍵表を記憶し、qの復号鍵表記憶部471は素数qの
復号鍵表を記憶する。
号鍵表を記憶し、qの復号鍵表記憶部471は素数qの
復号鍵表を記憶する。
【0049】復号鍵検索器440はpの復号鍵表記憶部
470からの復号鍵表と第1の識別子計算器430から
識別子τp が入力されると、当該識別子τp により復号
鍵表を検索し、復号鍵dp を取得する。
470からの復号鍵表と第1の識別子計算器430から
識別子τp が入力されると、当該識別子τp により復号
鍵表を検索し、復号鍵dp を取得する。
【0050】復号鍵検索器441は識別子qが入力され
ると、当該識別子τq により復号鍵表を検索し、復号鍵
dq を取得する。
ると、当該識別子τq により復号鍵表を検索し、復号鍵
dq を取得する。
【0051】第1の楕円曲線乗算部450は、暗号化装
置30から入力された暗号文Cを楕円曲線Ep (0,b
p )上でdp 倍して、乗算された結果Mp を出力する。
置30から入力された暗号文Cを楕円曲線Ep (0,b
p )上でdp 倍して、乗算された結果Mp を出力する。
【0052】第2の楕円曲線乗算部451は、暗号化装
置30から入力された暗号文Cを楕円曲線Eq (0,b
q )上でdq 倍して、乗算された結果Mq を出力する。
置30から入力された暗号文Cを楕円曲線Eq (0,b
q )上でdq 倍して、乗算された結果Mq を出力する。
【0053】中国剰余定理計算器460は素数p記憶部
410からの素数pと素数q記憶部411からの素数q
と第1の楕円曲線乗算器450、第2の楕円曲線乗算器
451からMp ,Mq が入力されると、中国剰余定理に
より、平文Mを出力する。
410からの素数pと素数q記憶部411からの素数q
と第1の楕円曲線乗算器450、第2の楕円曲線乗算器
451からMp ,Mq が入力されると、中国剰余定理に
より、平文Mを出力する。
【0054】詳しくは、復号装置40は、入力として、
暗号化装置30から暗号文C=(c x ,cy )が与えら
れ、第1及び第2の係数計算器420、421では、パ
ラメータ bp =cy 2 −cx 3mod p, bq =cy 2 −cx 3 mod q を計算する。
暗号化装置30から暗号文C=(c x ,cy )が与えら
れ、第1及び第2の係数計算器420、421では、パ
ラメータ bp =cy 2 −cx 3mod p, bq =cy 2 −cx 3 mod q を計算する。
【0055】第1及び第2の識別子計算器430、43
1は、各パラメータbp 、bq と、各素数記憶部41
0、411から得られた素数によりもし、p≡q≡2
(mod 3)であれば、素数pに対する識別子を「*」、
素数qに対する識別子を「*」とする。また、p≡1
(mod 3),q≡2(mod 3)ならば、素数pに対する
識別子τp を、
1は、各パラメータbp 、bq と、各素数記憶部41
0、411から得られた素数によりもし、p≡q≡2
(mod 3)であれば、素数pに対する識別子を「*」、
素数qに対する識別子を「*」とする。また、p≡1
(mod 3),q≡2(mod 3)ならば、素数pに対する
識別子τp を、
【0056】
【数1】 の計算結果とし、素数qに対する識別子τq を、
【0057】
【数2】
【0058】とし、各々の計算結果を素数pに対する識
別子τp 、素数qに対する識別子τqとする。復号鍵検
索器440、441は、p,qの復号鍵表記録部47
0、471から復号鍵表を識別子τp ,τq により検索
し、復号鍵dp ,dq を得る。次に、第 1の楕円曲線乗
算器450、451は、楕円曲線 Ep (0,bp ):y2 ≡x3 +bp (mod p) Eq (0,bq ):y2 ≡x3 +bq (mod q) 上において、 dp ・C over Ep (0,bp ), dq ・C over Eq (0,bq ) を計算し、各々の計算結果をMp ,Mq とする。これに
より、中国剰余定理計算器460は中国剰余定理を用い
てMp ,Mq より平文Mを計算し、平文Mとして出力す
る。
別子τp 、素数qに対する識別子τqとする。復号鍵検
索器440、441は、p,qの復号鍵表記録部47
0、471から復号鍵表を識別子τp ,τq により検索
し、復号鍵dp ,dq を得る。次に、第 1の楕円曲線乗
算器450、451は、楕円曲線 Ep (0,bp ):y2 ≡x3 +bp (mod p) Eq (0,bq ):y2 ≡x3 +bq (mod q) 上において、 dp ・C over Ep (0,bp ), dq ・C over Eq (0,bq ) を計算し、各々の計算結果をMp ,Mq とする。これに
より、中国剰余定理計算器460は中国剰余定理を用い
てMp ,Mq より平文Mを計算し、平文Mとして出力す
る。
【0059】なお、上記実施例の中の説明で用いられて
いる素数p,qの桁数は、その積n(=pq)の素因数
分解の困難さを考慮して決められる。
いる素数p,qの桁数は、その積n(=pq)の素因数
分解の困難さを考慮して決められる。
【0060】
【発明の効果】上述のように本発明によれば、法nの素
因数p,qに制限がないため、その素因数分解がより難
しくり、素数p,qの大きさを同じにした場合に、KM
OV方式に比べてより安全である。これにより、安全な
公開鍵暗号方式を提供することができる。
因数p,qに制限がないため、その素因数分解がより難
しくり、素数p,qの大きさを同じにした場合に、KM
OV方式に比べてより安全である。これにより、安全な
公開鍵暗号方式を提供することができる。
【図1】本発明の原理構成図である。
【図2】本発明の一実施例のシステム構成図である。
【図3】本発明の一実施例の鍵生成装置の構成図であ
る。
る。
【図4】本発明の一実施例の復号鍵表生成装置を説明す
るための図である。
るための図である。
【図5】本発明の一実施例の暗号化装置の構成図であ
る。
る。
【図6】本発明の一実施例の復号装置の構成図である。
1,2,3 復号鍵生成装置 10 公開ファイル装置 20 鍵生成装置 21 位数表生成手段 24 復号鍵生成手段 30 暗号化装置 31,45 楕円曲線乗算手段 40 復号装置 41 記憶手段 42 係数計算手段 43 識別子計算手段 44 復号鍵検索手段 46 中国剰余定理計算手段 241 素数生成器 242,243 位数表生成装置 245 復号鍵表生成装置 410 素数p記憶部 411 素数q記憶部 420 第1の係数計算器 421 第2の係数計算器 430 第1の識別子計算器 431 第2の識別子計算器 440,441 復号鍵検索器 450 第1の楕円曲線乗算器 451 第2の楕円曲線乗算器 460 中国剰余定理計算器
【手続補正書】
【提出日】平成5年5月7日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
Claims (1)
- 【請求項1】 受信者により5以上の任意の素数を選択
し、該素数に対応する公開鍵を登録する公開ファイル装
置と、 素数に対して楕円曲線y2 ≡x3 +ax(mod n)の位
数とパラメータとの関係を示す識別子と該位数の対応を
示す位数表を生成する位数表生成手段と、該素数と該位
数表生成手段により生成された該位数表から復号鍵を計
算し、該復号鍵と該位数表の識別子との対応を示す復号
鍵表を生成する復号鍵表生成手段とを含む復号表生成装
置とを有する鍵生成装置と、 平文と公開鍵が入力され、該平文を楕円曲線y2 ≡x3
+ax(mod n)上で該公開鍵に基づいて乗算する楕円
曲線乗算手段を含み、暗号文を出力する暗号化装置と、 該素数と復号鍵表を予め記憶しておく記憶手段と、該暗
号化装置から取得した該暗号文と該素数から該楕円曲線
y2 ≡x3 +ax(mod n)のパラメータを計算する係
数計算手段と、該記憶手段に記憶されている該復号鍵表
より該楕円曲線y2 ≡x3 +ax(mod n)のパラメー
タに対応する復号鍵を検索する復号鍵検索手段と、該暗
号化装置から入力された該暗号文を該楕円曲線y2 ≡x
3 +ax(mod n)上で該復号鍵に基づいて乗算する楕
円曲線乗算手段と、該楕円曲線乗算手段により求められ
た値と該素数から平文を中国剰余定理に基づいて計算
し、出力する中国剰余定理計算手段とを含む復号装とを
有することを特徴とする楕円曲線に基づく公開鍵暗号方
式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5070436A JPH06282226A (ja) | 1993-03-29 | 1993-03-29 | 楕円曲線に基づく公開鍵暗号方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5070436A JPH06282226A (ja) | 1993-03-29 | 1993-03-29 | 楕円曲線に基づく公開鍵暗号方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06282226A true JPH06282226A (ja) | 1994-10-07 |
Family
ID=13431439
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5070436A Pending JPH06282226A (ja) | 1993-03-29 | 1993-03-29 | 楕円曲線に基づく公開鍵暗号方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06282226A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004252433A (ja) * | 2003-01-28 | 2004-09-09 | Matsushita Electric Ind Co Ltd | 故障利用攻撃に対抗できる楕円べき倍演算装置及び情報セキュリティ装置 |
| US7023990B1 (en) | 1999-08-27 | 2006-04-04 | Nec Corporation | Secure parameter generating device and parameter generating method in algebraic curve crytography |
| CN110247771A (zh) * | 2019-06-21 | 2019-09-17 | 恒宝股份有限公司 | 一种智能卡及其曲线参数密钥的管理方法 |
-
1993
- 1993-03-29 JP JP5070436A patent/JPH06282226A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7023990B1 (en) | 1999-08-27 | 2006-04-04 | Nec Corporation | Secure parameter generating device and parameter generating method in algebraic curve crytography |
| JP2004252433A (ja) * | 2003-01-28 | 2004-09-09 | Matsushita Electric Ind Co Ltd | 故障利用攻撃に対抗できる楕円べき倍演算装置及び情報セキュリティ装置 |
| CN110247771A (zh) * | 2019-06-21 | 2019-09-17 | 恒宝股份有限公司 | 一种智能卡及其曲线参数密钥的管理方法 |
| CN110247771B (zh) * | 2019-06-21 | 2022-10-25 | 恒宝股份有限公司 | 一种智能卡及其曲线参数密钥的管理方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3862500B2 (ja) | 直接埋め込み方式による高速楕円曲線暗号化の方法と装置 | |
| Merkle | A certified digital signature | |
| US6263081B1 (en) | Elliptic curve calculation apparatus capable of calculating multiples at high speed | |
| KR101861089B1 (ko) | 근사 복소수 연산을 지원하는 복수 개의 메시지의 동형 암호화 방법 | |
| EP0596945A1 (en) | Digital signature algorithm | |
| JP3292107B2 (ja) | 2重ベクトル加算装置、2重ベクトル2倍装置及び2重ベクトル整数倍装置 | |
| CN114172651B (zh) | 一种sm9公钥加密算法、解密算法的gpu加速实现方法 | |
| JP4875686B2 (ja) | 楕円曲線上の有限体演算の加速方法 | |
| US6337909B1 (en) | Generation of session keys for El Gamal-like protocols from low hamming weight integers | |
| JP3616897B2 (ja) | モンゴメリ法による乗算剰余計算装置 | |
| JP3551853B2 (ja) | αYa+βXb+1=0という形の定義方程式をもつ代数曲線暗号における安全なパラメータの生成装置、生成方法、および記録媒体 | |
| JPH06282226A (ja) | 楕円曲線に基づく公開鍵暗号方式 | |
| US6901513B1 (en) | Process for generating a digital signature and process for checking the signature | |
| JP3123820B2 (ja) | 有限可換群における演算器 | |
| JP4598269B2 (ja) | 楕円曲線上の高速有限体演算 | |
| JP2000132095A (ja) | 暗号化方法、復号化方法、認証方法、暗号化装置、復号化装置、認証装置、認証文送信者装置、認証文受信者装置、暗号通信システム及び認証システム | |
| JP3278790B2 (ja) | 公開鍵暗号方法及び公開鍵暗号システム | |
| EP0854603B1 (en) | Generation of session parameters for el gamal-like protocols | |
| JP4462511B2 (ja) | エルガマル・ライクなプロトコルのためのセッション・パラメータ生成方法 | |
| Rao et al. | A novel modular multiplication algorithm and its application to RSA decryption | |
| CN119788264B (zh) | 适用于密文加密的全同态加密方法、系统、装置及介质 | |
| JPH0713484A (ja) | 楕円曲線に基づく鍵生成装置、暗号化装置及び復号化装置 | |
| JPH06308882A (ja) | 楕円曲線に基づく公開鍵暗号システム、その鍵生成装置、その暗号化装置及びその復号化装置 | |
| JPH0798563A (ja) | 楕円曲線による署名、認証及び秘密通信方式 | |
| JP2002215024A (ja) | ナップサック型公開鍵暗号システム、その公開鍵生成方法、その装置、そのプログラム、及びその記録媒体 |