JPH0798563A - 楕円曲線による署名、認証及び秘密通信方式 - Google Patents

楕円曲線による署名、認証及び秘密通信方式

Info

Publication number
JPH0798563A
JPH0798563A JP6134339A JP13433994A JPH0798563A JP H0798563 A JPH0798563 A JP H0798563A JP 6134339 A JP6134339 A JP 6134339A JP 13433994 A JP13433994 A JP 13433994A JP H0798563 A JPH0798563 A JP H0798563A
Authority
JP
Japan
Prior art keywords
elliptic curve
user
communication
prime
secret
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
JP6134339A
Other languages
English (en)
Other versions
JP3706398B2 (ja
Inventor
Mitsuko Miyaji
充子 宮地
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP13433994A priority Critical patent/JP3706398B2/ja
Publication of JPH0798563A publication Critical patent/JPH0798563A/ja
Application granted granted Critical
Publication of JP3706398B2 publication Critical patent/JP3706398B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)

Abstract

(57)【要約】 【目的】 楕円曲線を使用した安全、確実な署名、認証
及び秘密通信方式を提供する。 【構成】 楕円曲線は以下のものとする。 (1)楕円曲線の定義体である有限体GF(p)を、正
整数dが虚二次体Q{(−d)1/2 }の類数が小さくな
るようにとり、2t −αと表される(ここに、αは小さ
い数)素数pをp+1−a若しくはp+1+aが大きな
素数で割れ、更に上記整数aに対して、4p−a2 =d
・b2 と表されるようにとる。この有限体GF(p)
上、類多項式Hd (x)=0の根をj不変数にもつ楕円
曲線及び元を用いる。 (2)有限体GF(pr )を定義体に持つ楕円曲線
1 ,E2 ,…,En を、互いに同型ではないが元の個
数が等しくなるように構成し、使用する楕円曲線を適宜
変更する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は情報セキュリテイ技術と
しての暗号技術に関し、特に、楕円曲線を用いた暗号技
術に関する。
【0002】
【従来の技術】近年、一般に公開されたディジタル通信
回線網を使用して相互に通信を行ったり、有料で放送番
組を提供したりすることがさかんになってきている。と
ころで、一般に公開された通信回線網を使用する場合、
第三者による盗聴や詐称、あるいは送信者による送信先
の間違いを完全に防止することは困難である。このた
め、秘密通信方式並びに署名及び認証方式と呼ばれる通
信方式が重要なものとなっている。ここに、秘密通信方
式とは、特定の通信相手以外に通信内容を漏らすことな
く通信を行う方式である。また署名及び認証通信方式と
は、通信相手に通信内容の正当性を示したり、本人であ
ることを証明する通信方式である。この署名、認証及び
秘密通信方式には公開鍵暗号とよばれる通信方式があ
る。公開鍵暗号は通信相手が多数のとき、通信相手ごと
に異なる暗号鍵を容易に管理するための方式であり、多
数の通信相手と通信を行うのに不可欠な基盤技術であ
る。以下、これについて、歴史的な経緯もふまえて本発
明に関係する原理と手順とを簡単に説明する。なお、こ
の秘密通信方式等の一般技術については、池野信一,小
山謙二著「現代暗号理論」 電子通信学会発行 198
6年に詳しい。 (1)有限体上の離散対数問題を使用した秘密通信方
式。 (原理)pを素数、gをその一の原始根、uを任意の自
然数、αをgのu乗のpを法とする剰余とする。すなわ
ち、gu ≡α(mod p)とする。この場合、gとp
とuを与えられたときにαを求めるのは容易である。し
かし、pが140桁程度の素数となると、大型計算機の
発達した今日でも、gとpとαからuを求めるのは困難
である。これは丁度、2つの素数rとsがあるときrと
sからその積を求めるのは容易であるが、rとsが各1
40桁程度となれば、積は280桁となるため、これか
ら素因数分解によりrとsを求めるのは困難なことに似
る。
【0003】次に、vを他の任意の自然数とし、βをg
のv乗のpを法とする剰余とする。すなわち、gv ≡β
(mod p)とする。この場合、αのv乗のpを法と
する剰余とβのu乗のpを法とする剰余とは等しい。す
なわち、αv ≡(gu v ≡(gv u ≡βu (mod
p)である。 (手順)以下、図2を参照しつつ、この原理を利用した
有限体上の離散対数問題(整数論では法と剰余と原始根
から指数を求めることの困難性であるが、通信分野では
通常このように言われる。)を使用した秘密通信方式の
手順の一例として、共有鍵暗号方式といわれているもの
を示す。
【0004】通信網の提供者により、pとgが与えら
れ、各ユーザに通知される。ユーザUは、任意の自然数
uを選択し、gu ≡α(mod p)の演算によりαを
計算する。ユーザVは、同じくvを選択し、gv ≡β
(mod p)の演算によりβを計算する。
【0005】ユーザUは、uは秘密に保持した上でαを
公開通信網を使用してユーザBに通知し、一方ユーザV
はvを秘密に保持した上でβを公開通信網を使用してユ
ーザUに通知する。両者は、guvのpを法とする剰余k
uvを計算し、これを両者の共有鍵とし、また第三者には
秘密にしておく。
【0006】ここに kuv≡guv(mod p)であ
る。以上の手順を、理解の便宜のため小さな素数を例に
とって具体的に示す。p=11、g=2とする。今、ユ
ーザUがuとして4をとったとする。この場合、gu
4 =16であり、16の11を法とする剰余は5であ
るため、α=5となる。同じく、ユーザVがvとして8
をとったとする。この場合、gv =2 8 =256であ
り、256の11を法とする剰余は3であるため、β=
3となる。更に、αv =58 、βu =34 とも11を法
とする剰余は4(mod 11)であるため、kuv=4
となる。
【0007】ユーザUが通信文をユーザVに送信する場
合、ビット情報たる通信文をある定まった個数毎に区切
った上で、各区切れたビット情報毎にkuvと演算を行っ
て秘密化する。送信文を(010)とする。kuv=4、
これは2進数で(100)となる。このため、今演算を
排他的論理和とするならば、秘密化された送信文は
{(010)XOR(100)=}(110)となる。
【0008】この上で、ユーザVに送信する。一方、こ
れを受信したユーザVは、kuvを使用して復号すること
により本来の通信文を入手する。もし、受信した暗号文
が(110)ならば、復号後の通信文は{(110)X
OR(100)=}(010)となる。
【0009】勿論、上記演算はこの他、2進数とみなし
ての加算や引算、各対応するビットごとの他の論理演算
等としてもよい。本方式は、たとえ第三者がユーザUと
ユーザVが公開通信網を使用してαとβを相互に知らせ
あう際に、これらを盗聴等により知得しえても、u若し
くはvを知らない限りkuvを知ることは困難であること
を秘密性の根拠としている。
【0010】また、上記通信方法においては、受信した
ユーザVは、Kuvを知っているのはユーザUのみである
ため、復号した受信文が意味のある内容であるならば、
確かにユーザUから送られてきたものであるという確認
も得られることとなる。また、ユーザW,X等は各任意
の自然数w,x,…を選定し、例えばユーザUとユーザ
Wとはgu ・ w のpを法とする剰余を共有鍵として使用
する等多数のユーザに柔軟に対処しえるという利点があ
る。
【0011】更に、各ユーザU,V,W,…は、秘密に
保持する自然数u,v,w,…等を定期的に他の自然数
u’,v’,w’,…等に変更したり、特定のユーザU
が通信相手によって更に他の自然数u1 ,u2 ,…等を
使いわけたりもしえる。このため、企業等の組織体で使
用する場合には、組織変更に柔軟に対応しえる。なお、
実際の暗号通信に際しては、素数pのかわりに複数の充
分大きな素数p,q,r,…の積やpの2乗や3乗を使
用したり、また原始根gに換えて充分に位数の大きな自
然数が使用されたりすることもある。
【0012】しかしながら、近年の大型計算機の発達を
背景にして、数学の理論(類体論の高次相互律、分解法
則等)は、gとpとαとから比較的少ない計算量でuを
求める方法を種々開発しつつある。その対策の一として
は、素数pを140桁程度のものでなく200桁等充分
に大きいものとすることがあげられる。ただし、この場
合には、桁数が大きいだけに各種の必要な計算の絶対量
が多くなる等の不都合が生じえる。
【0013】これらのため、楕円曲線を使用した秘密通
信方式が開発された。以下これについて説明する。 (2)楕円曲線上の離散対数問題を使用した秘密通信方
式。 以下、楕円曲線上の離散対数問題について説明する。な
お、これはニール コブリッツ著「整数論と暗号表記法
の解説(意訳)」スプリンガー書店 1987年,(Ne
al koblitz , " A Course in Number Theory and Crypt
ography ",Springer-Verlag,1987)に詳しく述べられて
いる。また、楕円曲線の理論そのものは、日本語文献で
は、志村五郎,谷山豊著「近代的整数論」 共立出版
1957年をあげられる。 (楕円曲線そのものとその上での演算)楕円曲線とは、
1次元アーベル(Abel)多様体、あるいは既約で非
特異な種数1の射影代線曲線をいい、例えばY2 =X3
+aX+b等の形で表される。
【0014】さて、楕円曲線上の2点をBP1 ,BP2
としたとき、演算BP1 +BP2 は、以下のようにして
定義される。BP1 とBP2 を結ぶ直線がこの楕円曲線
と交わる第三の点BP3 のX軸に対して線対称な点をB
3 ’とする。このBP3 ’がBP1 +BP2 である。
図3にこの演算の内容を示す。なお、BP1 =BP2
あるならば、BP1 とBP2を結ぶ直線とは、BP1
おける接線をいう。
【0015】ところで、この楕円曲線をEとしたとき、
暗号化に使用されるのはE{GF(q)}である。ここ
に、qは素数べきであり、GF(q)は有限体(Galois
Field)とし、楕円曲線EのGF(q)上の元で生成され
る群がE{GF(q)}である。このE{GF(q)}
の簡単な例としては、Eがy2 =x3 +3x+2という
楕円曲線であり、q=5の場合に、その元として(1,
1)、(1,−1)、(2,1)、(2,−1)及び無
限遠点という5つの元からなる集合を挙げられる。 (原理)次にE{GF(q)}の性質、すなわち秘密通
信の根拠の原理について説明する。
【0016】E{GF(q)}の位数が大きな素数で割
れる元BPをベースポイント、dは任意の自然数とす
る。このとき、BPとdとからd・BPを計算する(B
Pをd回加える)のは容易である。しかし、E{GF
(q)}の与えられた元QとBPに対して、 Q=d・BP となる自然数dが存在するならばdを求めよという問題
は、計算機の発達した今日でもBPやq等が30桁程度
の自然数となるならば困難である。なお、ここにBP
は、pを法とする有限体GF(p)上でのgに相当する
役を担うものである。 (手順)前記有限体上の場合と基本的には異ならない。
【0017】すなわち、前記pに相当するのがE{GF
(q)}であり、gに相当するのがBPであり、uやv
に相当するのがdであり、またpを法とするgのu乗の
剰余を求める等のGF(p)での演算がE{GF
(q)}での演算となる。ただし、楕円曲線上の点は、
x軸とy軸の二次元座標で与えられ、この一方、通信文
は一次元である。このため、二次元座標値のうち、あら
かじめのユーザ同志の取極めでx座標値とy座標値のい
ずれか一方のみ使用するものとし、通信毎に任意に選択
したいずれか一方のみ使用し併せて別途いずれを使用し
たかを判別可能とするためのデータを送る等の手順が加
わる点が異なる。 (3)現時点における楕円曲線を使用した秘密通信方式
の発展の方向。
【0018】ところで、この楕円曲線上の離散対数問題
も、1991年に楕円曲線上の離散対数問題を有限体上
の離散対数問題に帰着させて比較的容易に解く解法が考
案された。ただし、これをのぞくとpの桁数に比較し
て、その対数程度の計算で解きえるサブイクスポーネン
シャルといわれている解法は存在しない。サブイクスポ
ーネンシャルな解法を用いると100ビット程度の大き
さの定義体上での通常の楕円曲線の離散対数問題は比較
的容易に解法される。1991年に考案されたこの解法
はMOV帰着法と呼ばれ、ア・メネゼス,エス・ヴァン
ストン,ティー・岡本著「楕円曲線における離散対数問
題を有限体における離散対数問題に帰着させる方法(意
訳)」STOC 1991年,(A.Menezes,S.Vanstone and
T. Okamoto,"Reducing Elliptic Curve Logarithm to
Logarithms in a Finite Field",STOC 91)に詳しく述
べられている。MOV帰着法では、qを素数べきとし、
有限体GF(q)上定義された楕円曲線をEとし、Eの
GF(q)上の元で構成される群をE{GF(q)}と
する。このときE(GF(q))∋BPをベースとする
楕円曲線上の離散対数問題は、BPの位数とqが互いに
素なときには、有限体GF(q)のある拡大体GF(q
r )上の離散対数問題に帰着させて解くものである。特
にEがスーパーシンギュラと呼ばれる楕円曲線の場合に
は、有限体GF(q)の高々6次拡大体GF(q6 )上
の離散対数問題に帰着して解くことができる。
【0019】そこで、上記MOV帰着法による解法を避
けるように楕円曲線を構成する研究が行われるようにな
った。この方法は種々あるが、例えば、ティー・ベス,
エス・シャッファー「公開鍵暗号システムにおける非ス
ーパーシンギュラーな楕円曲線(意訳)」エウロクリプ
ト91,1991年(T.Beth,F.Schaefer "Non Supers
ingular Elliptic Curves for Public Key Cryptosyste
ms",Eurocrypt 91,1991 )或いは宮地充子著「普通の楕
円曲線上の暗号システム(意訳)」アジアクリプトの要
約91,1991年("On ordinary elliptic curve cr
yptosystems",Asiacrypt'91,1991 )等に詳しく解説さ
れている。これらの方法を用いて構成すると、現時点で
はサブイクスポーネンシャルなアルゴリズム(ある目的
達成のための論理演算等の規則)を与える解法がないた
め、有限体上の離散対数問題と同程度の安全性ならばは
るかに小さな定義体で構成することができる。
【0020】ところが楕円曲線の場合、楕円曲線上の一
加算に12、3回の乗算を要求する。すなわち、楕円曲
線上のBP1 (x1,y1)、BP2 (x2,y2)とした場合
一般には、 BP1 +BP2 ={f1 (x1, y1, x2, y2),f2 (x
1, y , x2, y2)}, もしもBP1 =BP2 ならば、 2BP1 ={g1(x1,y1), g2(x ,y ) } と表わされるが、このときf1,f2,g1,g2はGF(p)上
の12.3回の演算のみの関数となる。このため、定義
体の大きさが小さくなってもあまり処理速度が速くなら
ない。そこでMOV帰着法を避けることと共に、さらに
処理速度を速くするための研究が行われるようになっ
た。以下、後者の研究について説明する。 (4)楕円曲線を用いた暗号の処理速度を速くする従来
の技術。
【0021】その一は、エヌ・コブリッツ著「秘密性の
良好なCM−曲線(意訳)」Crypto'91,1991年(N.
Koblitz, "CM-curves with good cryptographic prope
rties", Crypto'91, 1991 )に詳しく解説されている。
図4は、従来例における署名、認証及び秘密通信方式の
処理速度を高速にする楕円曲線の構成の手順の概略を示
すものである。
【0022】以下、同図を参照しながら従来例の手順を
説明する。 (S1)楕円曲線の候補の決定 次の二つのGF(2)を定義体にもつアノマラス(anom
alous )楕円曲線を考える。 E1:y2+xy=x3+x2+1 E2:y2+xy=x3+1 楕円曲線EのGF(2m )上の元で構成される群E{G
F(2m }とは次のような群である。
【0023】E1{GF( 2 m ) }={x,y ∈GF(2m ) |y2
+xy=x3+x2+1}∪{∞} E2{GF( 2 m ) }={x,y ∈GF(2m ) |y2+xy=x3
1}∪{∞} ここで∞は無限遠点を表わす。 (S2)適当な拡大次数mの決定 既述のごとく、公開鍵暗号の安全性の根拠となる上述の
楕円曲線の離散対数問題は、ベースポイントである元B
Pの位数が大きな素因数を持たなければ簡単に解けるこ
とが知られている。
【0024】位数が大きな素因数を持つ元BPが存在す
るための必要十分条件はE{GF(q)}の元の個数が
大きな素因数を持つことである。そこで、(S1)に述
べた楕円曲線Ei についてその元の個数#Ei {GF
(2m )}が大きな素因数で割り切れるようにmを求め
る。(ここに、i=1、2) なお、E{GF(2m )}等における各種楕円曲線の元
の個数は、m等が具体的に与えられればハッセ(Has
se)やデュー(Deu)等の研究により正確に計算可
能となっている。例えば、上記#Ei {GF(2m )}
では、大よそ2 m のオーダーである。 (S3)実際の楕円曲線の構成 30桁以上の素因数を持つということより、mは大よそ
〔30 log2 10〕となる。ここに〔 〕は、ガウ
ス(Gauss)の記号であり、記号内の数以下の最大
の整数を意味する。以下、基本的には試行錯誤によりか
かるmをいくつかとって、#Ei {GF(2m )}を与
える公式をもとに30桁以上の素因数を有するか否か判
断する。
【0025】楕円曲線Ei {GF(2m )}上の元で構
成される群Ei {GF(2m )}の元の個数を求め、そ
の素因数分解を行った結果 m=101のとき、#E1 {GF(2n )}=2×素数
1 m=131のとき、#E2 {GF(2m )}=4×素数
2 となることがわかった。また、MOV帰着法により埋め
込まれる有限体が十分大きくなることも確かめられる。
【0026】従ってE2 {GF(2 131)}上の位数が
素数p2 となる元をベースポイントBPとする楕円曲線
上の離散対数問題若しくはE1 {GF(2101 )}上の
位数が素数p1 となる元をベースポイントBPとする楕
円曲線上の離散対数問題を安全性の根拠にした公開鍵暗
号を構成すればよいことが結論づけられる。さて、アノ
マラスではTをE(x,y)からE(x2 ,y2 )への
写像とするとき〔2〕(2倍)=T−T2 となる。な
お、これについては、ジェイ・エッチ・シルバーマン著
「楕円曲線の数学(意訳)」スプリンガー書店 198
6年(J. H.Silverman, " The arithmetic of ellipti
c curves",Springer-Verlag,1986)に述べられている。
つまり、BP=(x,y)とするとき、2BP=(T−
2 )(x,y)=(x,y)−(x2 ,y2 )とな
る。このため、このように構成した楕円曲線は、2i
P={BP=(x,y);i =1、2、3、4}の計算
が次のように求められる。
【0027】2BP=BP+BP 4BP=2(T−T2 )=−T3 −T2 =−(x2 3,y2 3)−(x2 2,y2 2) 8BP=(−T3 −T2 )(T−T2 ) =−(x2 3,y2 3)+(x2 5,y2 5) 16BP=(T3 +T2 2 =T6 +2T5 +T4 =2
6 −T7 +T4 =T4 −T8 =(x2 4,y2 4)−(x2 8,y2 8) (ここに、上添え字中の^の意味であるが、2^3は2
3 を意味する。他も同様である。) 一方GF(2)の拡大体上の演算は、基底として正規基
底を用いると2乗の計算が巡回シフトでなされるのでハ
ードウエアで行なうときには、処理速度は無視できる。
よって、2i BP(i =1、2、3、4)の計算が2回
の楕円曲線の足し算で実行できることになり、高速化が
望める。また特にE2 では定義体GF(2131 )上の正
規基底は最適な正規基底となり、一回の乗算に必要とな
る論理積及び排他的論理和の回数が最小になるので、基
本演算(有限体の乗算)の高速化が望める。なお、ここ
に最適な正規基底とは、乗法関数の項数が2m−1とな
るものをいう。これは、アール・シー・ムリン他3名著
「GF(p)における最適な正規基底(意訳)」ディス
クリート アプライド マシマテックス22 149〜
161頁(R. C. Mullin他3名“Optimal normal bases
in GF(p a )”Discrete Applied Mathematics 22 P149
〜161 )等に詳しい。
【0028】しかし上記従来例においては、楕円曲線の
一回の加法が高速になるというわけではない。このた
め、より高速にするには、演算を高速にする条件{最適
な正規基底をもつ有限体GF(2m )}と安全で2i
点(i=1、2、3、4)が簡単になる楕円曲線の条件
(アノラマス楕円曲線でかつ元の個数が大きな素数で割
れる)の両方の条件を満たす楕円曲線を見つける必要が
ある。しかし両者の条件は包含関係にあるわけではない
ので、両者を満たす楕円曲線の数は少なくなる。 (6)楕円曲線の高速化を図る他の技術 (加法鎖)楕円曲線のkBPの計算を高速にする方法の
一つに加法鎖の研究がある。加法鎖とは、例えば7BP
を求めるのに単にBPを7回足すのではなく、2{2
(2BP)}−BPとして、1回の足算と3回の2倍算
とするがごとく、足し方を工夫するものであり、有限体
のgi の計算の加法鎖の研究と平行してなされる。これ
は、予備計算テーブルの持ち方及び計算の順序の工夫を
行う研究である。これについては、M. J. Coster, "Som
e algorithms on addition chains and theircomplexi
ty", Center for Mathematics and Computer Science R
eport CS-R9024 に詳しい。この方法を用いたk ・ BP
の計算と、上述の2i 倍点(i=1、2、3、4)が簡
単になる方法を用いたk ・ BPの計算では、加法鎖を用
いたほうが高速に実現される。 (有限体について)参考までに有限体を用いた暗号方式
について記すならば、これも様々な高速化の手法が提案
されている。しかし、有限体を用いるが故に解読防止の
面から秘密通信に使用する定義体が大きくなるという問
題がある。これについては、ディー・エム・ゴードン
「数体のふるい法を使用した有限体GF(p)の離散対
数問題(意訳)」離散数学のSIAM内の雑誌(D.M.Go
rdon, " Discrete logarithmsin GF(p) using the numb
er field sieve", to appear in SIAM Journal on Disc
rete Math. )を参照されたい。
【0029】
【発明が解決しようとする課題】しかしながら、上記楕
円曲線上の離散対数問題を安全性の根拠にした公開鍵暗
号は、高速な処理が求められる。従来例1のように特定
の自然数cに対しcBPが高速になるという方法の場
合、一般の自然数kに対しkBPを高速にする際、加法
鎖の方法と組み合わせて高速にするのが困難である。ま
た、特定のcに対してcBPが高速になるということか
らくる条件と基本演算が高速になる条件の両方を満たす
楕円曲線を構成すると定義体が大きくなる。このため、
定義体が小さく、一般の自然数に対してkBPの演算が
高速にしえ、加法鎖と組み合わせることが容易、かつ基
本演算が高速な楕円曲線を使用して署名、認証及び秘密
通信を行うことが望まれている。
【0030】また暗号システムの安全性を高めるために
は、一システムの安全性が損なわれた際に秘密通信を前
提として成り立っている取引等の全システムの安全性が
損なわれてしまう危険性あるいは一システムの安全性が
たまたま損なわれる確率を下げる必要性がある。このた
め、通信相手、通信目的等のシステム毎にもしくは同じ
システムであっても定期的に暗号のパラメータを変える
ことが望ましい。またこの際、変更量を最小限に抑える
こと及びシステム性能(速度、メモリサイズ等)が変わ
らないようにすることが要求される。これは、有限体で
いうならば、既述のごとく、pを定期的に変更するよう
なものである。
【0031】しかし上記従来例においては、GF(2)
上の楕円曲線をGF(2m )上に持ち上げる方法のた
め、システム性能を変えない楕円曲線を構成するのは困
難である。このため、システム毎に若しくは同じシステ
ムであっても必要な時期毎に暗号のパラメータを変更可
能かつこの際必要なメモリサイズ等の変更量が必要最小
限、しかも高速演算が可能な楕円曲線を使用しての署
名、認証及び秘密通信を行うことが望まれている。
【0032】更に、これらの場合に、楕円曲線にはMO
V帰着法が適用できないという条件がつくのは勿論であ
る。
【0033】
【課題を解決するための手段】本発明は、以上の目的を
達成するべくなされたものである。このため、請求項1
の発明においては、以下の手順からなる秘密通信方式と
している。 (1)秘密通信網の提供者は、秘密通信に使用するE
{GF(p)}と、そのベースポイントBPを通信網の
使用者たる各ユーザに提供する。 (2)E{GF(p)}とベースポイントBPの提供を
受けた各ユーザは、任意の自然数を秘密鍵として選定
し、この自然数回前記ベースポイントBPをE{GF
(p)}上で加算した値を求める。 (3)各ユーザは自分が任意に選択した自然数は秘密に
保持し、この一方、前記自然数回、BPをE{GF
(p)}上で加算した値は自己の公開鍵として通信を希
望する相手方のユーザに例えば通信網により相互に通知
する。 (4)相互に通信を行う2人のユーザは、相手方ユーザ
から通知されてきた公開鍵を各自が秘密に保持している
自分が選定した自然数回E{GF(p)}上で加算した
値を求め、これを両者の共有鍵とする。 (5)相互に通信を行う2人のユーザは、共有鍵を使用
してビット情報たる通信文(含,映像、音響情報)を暗
号化及び復号するに際して、共有鍵と通信文の秘密化、
復号に使用する演算の内容、例えば足し算、排他的論理
和等を取極める。 (6)一方のユーザが通信文を共有鍵を使用してその取
極めに従って秘密化した上で他方のユーザに公開通信網
を使用して送信する。 (7)秘密化された通信文を受信した他方のユーザは、
取極めに従って共有鍵を使用して復号する。
【0034】ここにE{GF(p)}は以下のものであ
る。正整数dを、虚二次体Q{(−d)1/2 }の類数が
小さくなるようにとる。素数pを、ある整数aに対して
4×p−a2 の素因数がd×平方数となりかつp+1−
aあるいはp+1+aの一方が30桁以上の大きい素数
で割れかつ、正整数t及び小さい正整数αに対して2t
±αと表せる素数とする。
【0035】楕円曲線Eはdにより定まる類多項式Hd
(x)=0のpを法とした解をj不変数にもつ有限体G
F(p)を定義体にもつ。請求項2の発明においては、
以下のようにしている。前記楕円曲線Eは有限体GF
(p)を定義体にもつ楕円曲線EのGF(p)上の元で
構成される群をE{GF(p)}とするとき、E{GF
(p)}の元の個数が30桁以上の大きな素数で割れ
る。
【0036】請求項3の発明においては、正整数αは、
2進数表記で2t/3ビット以下の大きさである。請求
項4の発明においては、pを素数、rを正整数とし、有
限体GF(pr )を定義体にもつ楕円曲線EのGF(p
r )上の元で構成される群をE{GF(p r )}とする
とき、有限体GF(pr )を定義体に持つ楕円曲線
1 ,E2 ,・・・,En を、互いに同型ではないが元
の個数が等しくなるように構成し、各システムごと、各
通信相手ごと、1システムかつ同一通信相手で例えば1
年等の一定時期経過後ごとの少なくも一により使用する
楕円曲線を変えるようにしている。
【0037】請求項5の発明においては、楕円曲線E
は、dにより定まる類多項式Hd (x)=0の次数をn
とし、pを法とした解をj1 、…、jn とするとき、こ
れらの根をj不変数にもつ有限体GF(p)を定義体に
もつ楕円曲線E1 、…、En である。請求項6の発明に
おいては、通信文を共有鍵を使用して取極めに従って秘
密化する際及び復号する際の演算において、2t ≡α
(mod p)若しくは2t ≡−α(mod p)という性質及び加
法鎖を使用するものとしている。
【0038】請求項7の発明においては、以下の手順か
らなる秘密通信方式としている。 (1)秘密通信網の提供者は、秘密通信に使用するE
{GF(p)}とそのベースポイントBPを各ユーザに
提供する。 (2)E{GF(p)}とベースポイントBPの提供を
受けた各ユーザは、任意の自然数を選定し、この自然数
回、前記ベースポイントBPをE{GF(p)}上で加
算した値を求める。 (3)各ユーザは自分が任意に選択した自然数は秘密に
保持し、この一方、前記自然数回、BPをE{GF
(p)}上で加算した値は自己の公開鍵として通信を希
望する相手方のユーザに通知する。 (4)2人のユーザは、通知された公開鍵と乱数を使用
しての通信文を暗号化及び復号するに際して、公開鍵と
乱数とを使用しての通信文の演算の内容の方法を取極め
る。 (5)公開鍵の通知を受けた他のユーザは、自分が所定
の手順で選定した乱数と相手方ユーザから通知されてき
た公開鍵をもとに、取極めに従って通信文をハード若し
くはソフト的な手段で暗号化する。 (6)ユーザは暗号化した通信文を、公開鍵を知らせて
きたユーザに送信する。 (7)受信した他方のユーザは、取極めに従って秘密化
された通信文を、ハード的若しくはソフト的な手段で復
号する。この際、自分が選定し秘密に保持している整数
を使用する。
【0039】ここにE{GF(p)}は以下のものであ
る。正整数dを、虚二次体Q{(−d)1/2 }の類数が
小さくなるようにとる。素数pを、ある整数aに対して
4×p−a2 の素因数がd×平方数となりかつ、p+1
−aあるいはp+1+aが30桁以上の大きい素数で割
れかつ、正整数t及び小さい正整数αに対して2t ±α
と表せる素数とする。
【0040】楕円曲線Eは、dにより定まる類多項式H
d (x)=0のpを法とした解をj不変数にもつ有限体
GF(p)を定義体にもつ。請求項8の発明においては
更に、前記楕円曲線Eは有限体GF(p)を定義体にも
つ楕円曲線EのGF(p)上の元で構成される群をE
{GF(p)}とするとき、E{GF(p)}の元の個
数が30桁以上の大きな素数で割れるようにしている。
【0041】請求項9の発明においては、正整数αは、
2t/3ビット以下の大きさとする。請求項10の発明
においては、pを素数、rを正整数とし、有限体GF
(pr)を定義体にもつ楕円曲線EのGF(pr )上の
元で構成される群をE{GF(pr )}とするとき、有
限体GF(pr )を定義体に持つ楕円曲線E1,2 ,・
・・,En を、互いに同型ではないが元の個数が等しく
なるように構成し、発注、購入、純粋な通信等の各シス
テムごと、客、官庁、本社等の各通信相手ごと、1シス
テムかつ同一通信相手で一定時期経過後ごとの少なくも
一により使用する楕円曲線を変えるようにしている。
【0042】請求項11の発明においては、楕円曲線E
は、dにより定まる類多項式Hd (x)=0の次数をn
とし、pを法とした解をj1 、…、jn とするとき、こ
れらの根をj不変数にもつ有限体GF(p)を定義体に
もつ楕円曲線E1 、…、Enである。請求項12の発明
においては、通信文を共有鍵を使用して取極めに従って
秘密化する際及び復号する際の演算において、2t ≡α
(mod n)若しくは2t ≡−α(mod p)という性質及び加
法鍵を使用するものとしている。
【0043】
【作用】上記構成により請求項1の発明においては、以
下の手順で秘密通信がなされる。 (1)秘密通信網の提供者は、秘密通信に使用するE
{GF(p)}とそのベースポイントBPを各ユーザに
公開通信網や郵送により提供する。 (2)E{GF(p)}とベースポイントBPの提供を
受けた各ユーザは、任意の自然数を選定し、この自然数
回前記ベースポイントBPをE{GF(p)}上で加算
した値を求める。 (3)各ユーザは自分が任意に選択した自然数は秘密に
保持し、この一方、前記自然数回、BPをE{GF
(p)}上で加算した値は自己の公開鍵として通信を希
望する相手方のユーザに相互に通知する。 (4)相互に通信を行う2人のユーザは、相手方ユーザ
から通知されてきた公開鍵を各自が秘密に保持している
自分が選定した自然数回E{GF(p)}上で加算した
値を求め、これを両者の共有鍵とする。 (5)相互に通信を行う2人のユーザは、共有鍵を使用
して通信文を暗号化及び復号するに際して、共有鍵と通
信文の演算の内容を別途取極める。 (6)一方のユーザが通信文を共有鍵を使用して取極め
に従って演算をすることにより秘密化した上で他方のユ
ーザに送信する。 (7)受信した他方のユーザは、取極めに従って共有鍵
を使用して逆演算、排他的論理和なら再度排他的論理和
等して復号する。
【0044】ここにE{GF(p)}は以下のものであ
る。正整数dを、虚二次体Q{(−d)1/2 }の類数が
小さくなるようにとる。素数pを、ある整数aに対して
4×p−a2 の素因数がd×平方数となりかつp+1−
aあるいはp+1+aが30桁以上の大きい素数で割れ
かつ、正整数t及び小さい正整数αに対して2t ±αと
表せる素数とする。
【0045】楕円曲線Eはdにより定まる類多項式Hd
(x)=0のpを法とした解をj不変数にもつ有限体G
F(p)を定義体にもつ。請求項2の発明においては、
前記楕円曲線Eは有限体GF(p)を定義体にもつ楕円
曲線EのGF(p)上の元で構成される群をE{GF
(p)}とするとき、E{GF(p)}の元の個数が3
0桁以上の大きな素数で割れるものとされている。
【0046】請求項3の発明においては、正整数αは、
2t/3ビット以下の大きさであるものとされている。
請求項4の発明においては、pを素数、rを正整数と
し、有限体GF(pr )を定義体にもつ楕円曲線EのG
F(pr )上の元で構成される群をE{GF(p r )}
とするとき、有限体GF(pr )を定義体に持つ楕円曲
線E1 ,E2 ,・・・,En を、互いに同型ではないが
元の個数が等しくなるように構成し、各システムごと、
各通信相手ごと、1システムかつ同一通信相手で一定時
期経過後ごとの少なくも一により使用する楕円曲線が変
更される。
【0047】請求項5の発明においては、楕円曲線E
は、dにより定まる類多項式Hd (x)=0の次数をn
とし、pを法とした解をj1 、…、jn とするとき、こ
れらの根をj不変数にもつ有限体GF(p)を定義体に
もつ楕円曲線E1 、…、En であるものとしている。請
求項6の発明においては、通信文を共有鍵を使用して取
極めに従って秘密化する際及び復号する際の演算におい
て、2t ≡α(mod p)若しくは2t ≡−α(mod p)とい
う性質及び加法鎖を使用することにより、秘密化と復号
の際の信号処理が高速になされる。
【0048】請求項7の発明においては、以下の手順に
て秘密通信がなされる。 (1)秘密通信網の提供者は、秘密通信に使用するE
{GF(p)}とそのベースポイントBPを各ユーザに
提供する。 (2)E{GF(p)}とベースポイントBPの提供を
受けた各ユーザは、任意の自然数を選定し、この自然数
回、前記ベースポイントBPをE{GF(p)}上で加
算した値を求める。 (3)各ユーザは自分が任意に選択した自然数は秘密に
保持し、この一方、前記自然数回、BPをE{GF
(p)}上で加算した値は自己の公開鍵として通信を希
望する相手方のユーザに通知する。 (4)2人のユーザは、通知された公開鍵と乱数を使用
しての通信文を暗号化及び復号するに際して、公開鍵と
乱数を使用しての通信文の演算の内容の方法例えば通信
文のブロック分割方法等を取極める。 (5)公開鍵の通知を受けた他のユーザは、自分が別途
のプログラム等により選定した乱数と相手方ユーザから
通知されてきた公開鍵をもとに、取極めに従って送信す
べき通信文を暗号化する。 (6)ユーザは暗号化した通信文を、公開鍵を知らせて
きたユーザに送信する。 (7)受信した他方のユーザは、取極めに従って秘密化
された通信文をハード的若しくはソフト的に復号する。
この際、自分が選定し秘密に保持している整数を使用す
る。
【0049】ここにE{GF(p)}は以下のものであ
る。正整数dを、虚二次体Q{(−d)1/2 }の類数が
小さくなるようにとる。素数pを、ある整数aに対して
4×p−a2 の素因数がd×平方数となりかつ、p+1
−aあるいはp+1+aが30桁以上の大きい素数で割
れかつ、正整数t及び小さい正整数αに対して2t ±α
と表せる素数とする。
【0050】楕円曲線Eは、dにより定まる類多項式H
d (x)=0のpを法とした解をj不変数にもつ有限体
GF(p)を定義体にもつ。請求項8の発明において
は、前記楕円曲線Eは有限体GF(p)を定義体にもつ
楕円曲線EのGF(p)上の元で構成される群をE{G
F(p)}とするとき、E{GF(p)}の元の個数が
30桁以上の大きな素数で割れるようにされている。
【0051】請求項9の発明においては、正整数αは、
2t/3ビット以下の大きさとされている。請求項10
の発明においては、pを素数、rを正整数とし、有限体
GF(pr)を定義体にもつ楕円曲線EのGF(pr
上の元で構成される群をE{GF(pr )}とすると
き、有限体GF(pr )を定義体に持つ楕円曲線E1,
2 ,・・・,En を、互いに同型ではないが元の個数が
等しくなるように構成し、各システムごと、各通信相手
ごと、1システムかつ同一通信相手で一定時期経過後ご
との少なくも一により使用する楕円曲線を変えるものと
している。
【0052】請求項11の発明においては、楕円曲線E
は、dにより定まる類多項式Hd (x)=0の次数をn
とし、pを法とした解をj1 、…、jn とするとき、こ
れらの根をj不変数にもつ有限体GF(p)を定義体に
もつ楕円曲線E1 、…、Enであるものとしている。請
求項12の発明においては、通信文を共有鍵を使用して
取極めに従って秘密化する際及び復号する際の演算にお
いて、2t ≡α(mod n)若しくは2t ≡−α(mod p)と
いう性質及び加法鍵を使用するものとしている。
【0053】
【実施例】以下、楕円曲線の作成とこの作成した楕円曲
線での信号処理並びに署名、認証及び秘密通信の手順と
に分けて本発明の実施例を説明する。 (第1実施例)図1に、本発明の署名、認証及び秘密通
信方式に使用する楕円曲線の作成手順の概略を示す。本
図のうち、Aは全体の基本的な流れを示し、Bはそのう
ちの一部、具体的には素数pの決定のステップの詳細を
示す。
【0054】以下、本図を参照しながら実施例の手順を
説明する。 (a1)自然数dの決定 自然数dを、虚二次体Q{(−d)1/2 }の類数が小さ
くなるようにとる。ここではd=3とする。ここに、d
=3としたのは、後に示すHd(x)=0のpを法とし
た根を求める計算が楽なことによる。なお虚二次体Q
{(−d)1/2 }及び類数については、前提のSilverma
n に詳しく述べられている。 (a2)素数pの生成 素数pを、aとbを自然数としたとき4p−a2 =d×
2 となりかつ、p+1−aあるいはp+1+aが大き
な素数で割れかつ、自然数t及び小さい自然数αに対し
t −αと表されるようにとる。
【0055】この選定手順は試行錯誤法によるが、これ
を本図のBを参照しつつ説明する。なお、この前に、本
手順の実現可能性に関係のある数学の理論について概略
紹介しておく。 (1)4p=a2 +d×b2 という形の方程式は、Pe
ll方程式といわれているものの特殊なものであり、p
が与えられた場合に、これを充たすaとbは連分数展開
で容易に求められる。
【0056】(2)素数定理により、ある自然数nのあ
たりには、ほぼlogn個に1個のわりで素数が存在し
ているのが証明されている。このため、2t −αという
形で表される30桁程度の自然数は、ほぼ100個に1
個が素数であるのがわかる。更に、2、3、5等小さな
素数の倍数は比較的容易に排除しえるため、これらを排
除すると素数である確率はうんと高くなる。従って2、
3、5等の小さな素数の倍数でない2t −αという自然
数が素数か否かは、現在の計算機と数学の理論(Mille
r,Cohen,Lenstra)で一層容易に確かめられる。
【0057】(3)ほとんどの自然数は、log lo
gn個程度の素因数を有する(Hardy-Ramanujan )。こ
のため、pが30桁程度の数ならば、p+1−a、p+
1+aの素因数の個数は多くの場合、4〜7個である。
従って、p+1−aあるいはp+1+aが充分大きい素
因数を有するか否かは、多くの場合容易に判定できる。
勿論、その自然数自身が素数であるのを確かめたりもで
きる。
【0058】次に、具体的なp,a,α,tの選定順序
を図4のBをもとに説明する。まず、tを選定した上で
初期設定としてi=0、α=〔2t/3〕とする(b
1)。次いで、αをα−iとする(b2)。p=2t
αを計算する(b3)。4pが、a2 +3b2 という形
に表しえるか否かを判定する(b4)。もし、表しえな
いならば、i=i+1とし(b5)、ステップb2へも
どる。
【0059】4pが、a2 +3b2 という形に表しえる
ならば、pが素数か否かを判定する(b6)。素数でな
いならば、ステップb5へもどる。pが素数であるなら
ば、p+1+a、p+1−aの一方は大きい素因数を有
するか否かを判別する(b7)。有しなければステップ
b5へもどる。大きな素数で割り切れば、終了する。
【0060】ここでは p=2t −α t=107 α=1 a=24 38789 23037 40815 ととる。
【0061】このとき、p+1+aは100ビットの素
数で割れる。 (a3)楕円曲線Eの決定 Eは、類多項式H3 (X)=Xのpを法とした根j=0
をもとにもとめられる。なお、この数学的な面について
は、前記Silverman の本に掲載されている。さて、有限
体GF(p)を定義体にもち、元の個数が丁度p+1+
a個になる楕円曲線Eのj不変数は0になるので、Eは
次で与えられる。
【0062】E:y2 =x3 +B B=625 このとき、#E{GF(p)}=p+1+aである。な
お、これは前記Silverman の本に示されている。このた
め、安全で高速な楕円曲線暗号が構成できる。上記のよ
うにして構成された楕円曲線Eを従来例2の楕円曲線上
の署名、認証及び秘密通信方式に用いると、ベースポイ
ントBPの位数が大きな素数で割れ、かつMOV帰着法
を避けることができるので安全な方式が実現される。
【0063】さらに方式の実現に要求される基本演算の
ひとつであるGF(p)上の乗法は、2t =αと置き換
えることによりpによる剰余を求めることなく次のよう
に実現できる。 ここに、si とsi+tは1又は0である。また従来例の
ように特定の自然数cに対してのみc・BPの計算が速
くなるというものではない。このため、一般の自然数k
に対してk・BPの計算を高速にする手法である加算鎖
の方法と組み合わせることにより、一層の高速化が可能
になる。またデータ量についても、定義体のデータとし
て信号処理用のスマートカードにpを覚える代わりにt
とαを覚えさせることができ、この場合tのビット数は
無視でき、αは〔2t/3〕ビット以下であるため、定
義体のデータ量が削減できる。また、演算の高速化にも
寄与する。
【0065】なお、上述の実施例は自然数dを3として
行ったが、これは素数pを求める計算が楽なことと虚二
次体Q{(−d)1/2 }の類数が小さく、この場合1と
なることによるものであり、他の虚二次体Q{(−d)
1/2 }の類数が小さくなるような自然数なら何でもよ
い。また、虚二次体Q{(−d1/2 )}の類数が小さい
のは、楕円曲線を求める演算が楽なことによるものであ
り、類数は1に限定されるものではない。なお、d<1
000ならば、演算が実用上充分可能である。参考まで
に記すならば、類数が1の虚二次体をつくるdとして
は、必ずしも全てが本発明の実施に適当とは限らない
が、他に1、2、7、11、19、43、67、163
の8個があり、同じく類数が2の虚二次体をつくるdと
しては、10、15、26、30等がある。また、dに
対して条件を満たす素数pは上述の実施例だけに限定さ
れるのでなく、本実施例に示したpに関する条件を満た
す素数なら何でもよい。蛇足ながら、pが30桁以上で
あるならば、近い将来においても、充分な安全性、すな
わち逆演算の困難性が維持されるであろう。 (第2実施例)本発明の署名、認証及び秘密通信方式に
使用する楕円曲線の他の作成手順の実施例を示す。本実
施例の作成手順も、基本的には図4に示すのと同じであ
る。以下、同図のAを流用しながら実施例の手順を説明
する。 (a1)自然数dの決定 自然数dを、虚二次体Q{(−d)1/2 }の類数が小さ
くなるようにとる。ここではd=24とする。 (a2)素数pの生成 素数pを、a,bを自然数としたとき4p−a2 =24
×b2 となりかつ、p+1−aあるいはp+1+aが大
きな素数で割れかつ、自然数t及び小さい自然数αに対
し2t −αと表されるようにとる。
【0066】ここでは p=2t −α t=127 α=1 a=10671 93179 31455 45219 ととる。このとき、p+1−aは124ビットの素数で
割れる。
【0067】なお、この際の詳細な手順も基本的には図
4のBに示すのと同じである。 (a3)楕円曲線Eの決定 類多項式H24(X)=X2 ー4834944X+146
70139392のpを法とした根は j1 =3 14934 62074 25766 39325 56096 j2 =1701 41183 46043 77382 69613 04605 19563 845
75 である。有限体GF(p)を定義体にもち、元の個数が
丁度p+1−a個になる楕円曲線Eのj不変数はj1
2 で与えられる。よってそれぞれをj不変数にもつ楕
円曲線は次で与えられる。
【0068】E1 :y2 =x3 +A1 x+B11 =915 03150 65123 53429 89289 36723 21130 5448
8 B1 =1177 15828 25431 33059 03422 01272 67034 049
01 E2 :y2 =x3 +A2 x+B22 =1400 68970 50479 08325 24538 34292 93927 226
73 B2 =366 65585 84970 41444 39129 79404 76337 7987
3 このとき、#E1 {GF(p)}=#E2 {GF
(p)}=p+1−aであるが、j不変数が異なるので
互いに同型でない。このためE1 による暗号方式が解読
されたところでE2 による暗号方式が解読されることは
ない。
【0069】暗号システムをより強固なものにするに
は、システム毎にもしくは同じシステムでも定期的に暗
号方式のパラメータを変更することが望ましい。この
際、基本演算(定義体のpと楕円曲線の元の個数Nを法
とした演算)は同一である方が変更を容易にする。上記
のように構成された楕円曲線E1 及びE2 は、基本演算
は同じであるが同型でない暗号方式、すなわち異なる暗
号を提供できる。よってE 1 とE2 を2つのシステムで
別々に用いる、あるいは一つのシステムにおいてE 1
らE2 に変更することにより容易に暗号システムを強固
にできる。さらに方式の実現に要求される基本演算の一
つであるGF(p)上の乗法は、p=2t ±αという形
から一般の有限体上の乗法に比較して高速に実現でき
る。また従来例のように特定の自然数cのみに対しc・
BPの計算が速くなるというものではない。このため、
一般の自然数kに対してk・BPの計算を高速にする手
法である加算鎖の方法と容易に組み合わせることにより
高速化が可能になる。またデータ量についても、定義体
のデータとしてpを記憶する代わりにtとαを記憶する
だけでよいので、定義体のデータ量は小さくなる。
【0070】なお、本実施例は正整数dを24として行
ったが、これは勿論他の虚二次体Q{(−d)1/2 }の
類数が小さくなるような正整数なら何でもよい。また、
dに対して条件を満たす素数pは上述の実施例だけに限
定されるのでなく先に示したpに関する条件を満たす素
数なら何でもよい。そして、これらのことは先の実施例
と同じである。
【0071】次に、上記第1実施例、第2実施例で示し
た手順で作成した楕円曲線を使用した離散対数問題を根
拠とする署名、認証及び秘密通信方式の実施例を説明す
る。 (第3実施例)本実施例は、先の第1実施例の楕円曲線
を使用した共有鍵暗号方式であり、図2に示す従来技術
の離散対数問題の困難性に基づくものと基本的な手順は
同じである。
【0072】すなわち、通信網の提供者がE{GF
(p)}とBPを全ユーザに公開し、各ユーザU,V,
W,…は、各々任意の自然数u,v,w,…を選定し、
これは秘密に保持する。この上で、各ユーザU,V,
W,…は各々u・BP,v・BP,w・BP…を相互に
知らせあう。任意の二人のユーザは、自分の秘密に保持
する自然数と通信相手から知らされた値との積を計算
し、これを両者の共有鍵とする。例えばユーザUとVな
らばユーザUは、自分の秘密に保持するuとVから知ら
されたv・BPとの積u・v・BPを計算する。同様
に、ユーザVは、vとu・BPとからv・u・BPを計
算する。ここに、当然u・v・BP=v・u・BPであ
る。この上で、両者は、u・v・BPを秘密に保持す
る。
【0073】さて、この場合、通信文は1次元の数値で
あり、u・v・BPはx座標値とy座標値を有する2次
元の数値であるため、通信文の暗号化及び復号にはx座
標値若しくはy座標値のいずれか一方のみ使用され、い
ずれを使用したかを知らすため、別途1ビットのデータ
C(u・v・BP)を知らせるものとする。この際、第
1実施例の楕円曲線ではp≡3(mod 4)であるた
め、以下の性質を利用している。
【0074】 (x3 +Ax+B)p-1 =1 (フェルマーの定理) y4=(x3 +Ax+B)2=(x3 +Ax+B)4S+2*(x3 +Ax+B)2 ここに、S=(p−3)/4 故に、y=±(x3+Ax+B)S+1 このため、C(u・v・Bp)=1のとき、y=−(x
3+Ax+B)、 C(u・v・Bp)=−1のとき、y=(x3+Ax+
B)とあらかじめ取極めておく。 (第4実施例)本実施例では、第3実施例と同じ原理の
秘密通信を行なうものであるが、ユーザUとユーザVと
の間に証人の役を担う仲介者Wが存在するものである。
【0075】最初、仲介者Wは、第2実施例にて示した
2つの楕円曲線E1 とE2 をもとに秘密通信に使用する
1 {GF(p)}及びそのベースポイントBPu 並び
にE 2 {GF(p)}及びそのベースポイントBPV
もとめる。この上で、ユーザWは、ユーザUに対しては
1 {GF(p)}と自己が選択したベースポイントB
u を知らせる。ここにBPu はE1 {GF(p)}の
零元でない元である。勿論ユーザVに対してはE1 {G
F(p)}もBPu も秘密にしておく。
【0076】ユーザVに対してはE2 {GF(p)}と
自己が選定したベースポイントBP V を知らせる。ここ
にBPV はE2 {GF(p)}の零元でない元である。
勿論ユーザUに対してはE2 {GF(p)}もBPV
秘密にしておく。しかる後、ユーザUは任意の整数du
を秘密に選定し、ユーザWに対する自分の識別情報Yu
を式Yu =du ・BPu により計算する。
【0077】ユーザWは任意の整数duwを秘密に選定
し、ユーザUに対する自分の識別情報Yuwを式Yuw=d
uw・BPu により計算する。この上で、ユーザUとユー
ザWとは相互にYu とYuwとを通知しあい、Kuw=du
・Yuw=duw・Yu を両者の共有鍵とする。この上でユ
ーザUからユーザWへ共有鍵Kuwを暗号化鍵及び復号化
鍵とする秘密鍵暗号通信方式により署名を希望する平文
Mを送信する。この場合の演算は例えば平文Mと共有鍵
との排他的論理和(暗号化時)及びその逆演算(復号
時)とすることができる。
【0078】尚、前記Yu 、Yuw及びKuwはユーザVは
勿論のこと、第三者にも秘密に保持される。次に、ユー
ザWは任意の整数dv を秘密に選定し、ユーザVに対す
る自分の識別情報Yv を式Yv =dv ・BPv により計
算する。ユーザWは任意の整数dvwを秘密に選定し、ユ
ーザVに対する自分の識別情報Yvw=dvw・BPv によ
り計算する。
【0079】この上でユーザVとユーザWは相互にYv
とYvwを通知しあい、Kvw=dvw・Yv =dv ・BPv
を両者の共有鍵とする。更に、ユーザVとユーザWとの
通信においては、この共有鍵Kvwを使用しての通信文の
秘密化の演算は排他的論理和ではなく、EXCLUSTIVE-NOR
が採用される。この場合にも、Yv 、Yvw及びKvwはユ
ーザUは勿論のこと第三者にも秘密に保持される。
【0080】ここで、ユーザUとユーザW及びユーザV
とユーザWとで採用する楕円曲線を変更しているのは、
ユーザUとユーザWの通信文の内容をユーザVに知得さ
れることとユーザVとユーザWの通信文の内容をユーア
Uに知得されることとを少しでも防ぐためである。また
秘密化そして復号の演算を変更しているのは、ユーザW
の過誤に対して少しでも安全性を増すためであり、また
その演算の具体的例として排他的論理和(EXCLUSIVE-O
R)、排他的論理和の反転(EXCLUSIVE-NOR )を採用し
ているのは、秘密化と復号の処理に要する時間がほぼ同
じであるため通信効率がよいことによる。
【0081】以上のもとで、ユーザUとユーザVとの通
信はユーザWを介在してなされることになる。この場
合、ユーザWは一方のユーザ(U又はV)から他方のユ
ーザ(V又はU)への通信文を介在する場合に、認証し
た旨の証明文とその受付日時、発信日時等をも付加す
る。これにより、ユーザUとユーザVとの秘密通信はユ
ーザWにより認証されたこととなる。
【0082】この場合、秘密性の向上のため異なる楕円
曲線E1 ,E2 を使用するが、定義体のpと楕円曲線の
元の個数Nを法とした演算が同じであるため、仲介者W
の処理も剰余演算ルーチンを共通化できる等種々便利と
なる。 (第5実施例)本実施例は第1実施例の楕円曲線を署
名、認証通信に使用したものである。図5は、その手順
を示したものである。
【0083】網提供者は、E{GF(p)}とBPとを
全ユーザに公開する。一方、秘密通信を希望するユーザ
UとユーザVとは、任意の整数u、vを秘密に作成し
(ステップ3)、網提供者から得た元BPを用いて、E
{GF(p)}上でYu =u・BP、Yv =v・BPを
計算する。そして、このYu 、Yv を公開通信網を使用
して相互に通知する。
【0084】次に、ユーザUからユーザVに平文Mを送
る場合であると、Uは秘密に整数である乱数ru を選
び、自分だけが知っているこの乱数ru とVの公開鍵Y
v を用いて次の2組の通信文C1 、C2 を作成する。 C1 =ru ・BP …〔2〕 C2 =M+ru ・Yv …〔3〕 そしてUはVにC1 、C2 を送る。
【0085】通信文C1 、C2 を受け取ったユーザVは
自分だけが知っているvを用いて次式を計算してMを得
る。 M=C2 −v・C1 …〔4〕 この場合、もしユーザUが通信先を誤って第三者である
他のユーザWに送信したとしても、このWはvを知り得
ないため、通信文の復号をなしえない。 (第6実施例)次に、通信文の信号処理について説明す
る。
【0086】発生させた乱数及び通信文の秘密化と復号
に通信毎にC1 =ru ・BP1 ,C 2 =M+x(ru
v )等の演算が必要とされる。この場合、例えば乱数
u をとるならば、これは2進数では1と0とのみから
なり、これが10進数で15ならば2進数では23 +2
2 +2+1と表記される。この際、E{GF(p)}上
でのru ・BP1 の演算にはあらかじめ求めていた23
BP1 ,22 BP1 ,2BP1 を使用するのにかえて2
4 BP1 −BP1が採用される。
【0087】更に、24 BP−BPの計算は、GF
(p)上の乗算を用いてできるので、2t ≡α(mod
p)又は2t ≡−α(mod p)という性質を利用する。
この他、値の如何によりRelated Artsで説明した加法鎖
も採用されるのは勿論である。以上、本発明を実施例に
もとづいて説明してきたが、本発明は何も上記実施例に
限定されるものではないのは勿論である。すなわち、例
えば (1)自然数dや類数は、素数や楕円曲線を求めるプロ
グラムや計算そのものの便宜のため、比較的小さな数と
したものとしている。しかしながら、外交、金融等秘密
の要請が高い場合には、計算費用は多少かかろうがより
桁数の高い値、例えば10000、50000、100
000前後等としてもよい。 (2)通信文の楕円曲線上でのBPとの演算を使用して
の暗号化等は、実施例では桁数が増加しないように論理
演算としたものであり、これに限定されない。具体的に
は、送信者と受信者の取極めで乱数を併用したり、通信
文をブロック分割し、この分割したブロックの入れ換え
に使用する等してもよい。なお、これらの場合には別途
使用した乱数の通知やブロック分割の仕方や入れ換え等
についての取極めがなされるのは勿論である。また、こ
れらについては、前揚の「現代暗号理論」に詳しい。 (3)楕円曲線E{GF(p)}上の点のx座標、y座
標の両方を交互にあるいは偶数日か奇数日かに応じて使
いわける等して通信文の暗号化に使用する。
【0088】
【発明の効果】以上説明してきたように、本発明では、
各種解法の存在しない、しかも比較的小さな楕円曲線上
の有限体を使用することにより秘密性の高いしかも信号
処理の迅速な署名、認証及び秘密通信方式を提供しえ
る。更に、この際、加法錠等の高速演算の併用も容易で
ある。
【0089】また、IC回路等に記憶させることが必要
な情報量も少なくてすむ。また秘密性向上のため定期的
に楕円曲線を変更する際にも、必要なハード等の変更は
最小限ですむ。
【図面の簡単な説明】
【図1】本発明における署名、認証及び秘密通信方式に
使用する楕円曲線を作成するフローチャートである。
【図2】有限体上での離散対数問題の困難性に根拠をお
く秘密通信方式の手順の内容を示した図である。
【図3】楕円曲線の演算の内容を示す図である。
【図4】従来の楕円曲線を見出す手順のフローチャート
である。
【図5】本発明における署名、認証及び秘密通信方式に
使用する楕円曲線を使用しての秘密送信の際の通信文の
暗号化と復号の手順の一例を示した図である。

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 以下の手順からなる秘密通信方式。 (1)秘密通信網の提供者は、秘密通信に使用するE
    {GF(p)}とそのベースポイントBPを各ユーザに
    提供する。 (2)E{GF(p)}とベースポイントBPの提供を
    受けた各ユーザは、任意の自然数を選定し、この自然数
    回前記ベースポイントBPをE{GF(p)}上で加算
    した値を求める。 (3)各ユーザは自分が任意に選択した自然数は秘密に
    保持し、この一方、前記自然数回、BPをE{GF
    (p)}上で加算した値は自己の公開鍵として通信を希
    望する相手方のユーザに相互に通知する。 (4)相互に通信を行う2人のユーザは、各自が秘密に
    保持している自分が選定した自然数回、相手方ユーザか
    ら通知されてきた公開鍵とE{GF(p)}上で加算し
    た値を求め、これを両者の共有鍵とする。 (5)相互に通信を行う2人のユーザは、共有鍵を使用
    して通信文を暗号化及び復号するに際して、共有鍵と通
    信文の演算の内容を取極める。 (6)一方のユーザが通信文を共有鍵を使用して取極め
    に従って秘密化した上で他方のユーザに送信する。 (7)受信した他方のユーザは、取極めに従って共有鍵
    を使用して復号する。 ここにE{GF(p)}は以下のものである。正整数d
    を、虚二次体Q{(−d)1/2 }の類数が小さくなるよ
    うにとる。素数pを、ある整数aに対して4×p−a2
    の素因数がd×平方数となりかつp+1−aあるいはp
    +1+aが30桁以上の大きい素数で割れかつ、正整数
    t及び小さい正整数αに対して2t ±αと表せる素数と
    する。楕円曲線Eはdにより定まる類多項式Hd (x)
    =0のpを法とした解をj不変数にもつ有限体GF
    (p)を定義体にもつ。
  2. 【請求項2】 請求項1において更に、 前記楕円曲線Eは有限体GF(p)を定義体にもつ楕円
    曲線EのGF(p)上の元で構成される群をE{GF
    (p)}とするとき、E{GF(p)}の元の個数が3
    0桁以上の大きな素数で割れる。
  3. 【請求項3】 請求項1若しくは請求項2において更
    に、 正整数αは、2t/3ビット以下の大きさである。
  4. 【請求項4】 請求項1若しくは請求項2若しくは請求
    項3において更に、 pを素数、rを正整数とし、有限体GF(pr )を定義
    体にもつ楕円曲線EのGF(pr )上の元で構成される
    群をE{GF(pr )}とするとき、有限体GF
    (pr )を定義体に持つ楕円曲線E1 ,E2 ,・・・,
    n を、互いに同型ではないが元の個数が等しくなるよ
    うに構成し、各システムごと、各通信相手ごと、1シス
    テムかつ同一通信相手で一定時期経過後ごとの少なくも
    一により使用する楕円曲線を変える。
  5. 【請求項5】 請求項1若しくは請求項2若しくは請求
    項3若しくは請求項4において更に、 楕円曲線Eは、dにより定まる類多項式Hd (x)=0
    の次数をnとし、pを法とした解をj1 、…、jn とす
    るとき、これらの根をj不変数にもつ有限体GF(p)
    を定義体にもつ楕円曲線E1 、…、En である。
  6. 【請求項6】 請求項1若しくは請求項2若しくは請求
    項3若しくは請求項4若しくは請求項5において更に、 通信文を共有鍵を使用して取極めに従って秘密化する際
    及び復号する際の演算において、2t ≡α(mod p)若し
    くは2t ≡−α(mod p)という性質及び加法鎖を使用す
    る。
  7. 【請求項7】 以下の手順からなる秘密通信方式。 (1)秘密通信網の提供者は、秘密通信に使用するE
    {GF(p)}とそのベースポイントBPを各ユーザに
    提供する。 (2)E{GF(p)}とベースポイントBPの提供を
    受けた各ユーザは、任意の自然数を選定し、この自然数
    回、前記ベースポイントBPをE{GF(p)}上で加
    算した値を求める。 (3)各ユーザは自分が任意に選択した自然数は秘密に
    保持し、この一方、前記自然数回、BPをE{GF
    (p)}上で加算した値は自己の公開鍵として通信を希
    望する相手方のユーザに通知する。 (4)2人のユーザは、通知された公開鍵と乱数を使用
    しての通信文を暗号化及び復号するに際して、公開鍵と
    乱数と通信文の演算の内容の方法を取極める。 (5)公開鍵の通知を受けた他のユーザは、自分が選定
    した乱数と相手方ユーザから通知されてきた公開鍵をも
    とに、取極めに従って通信文を暗号化する。 (6)ユーザは暗号化した通信文を、公開鍵を知らせて
    きたユーザに送信する。 (7)受信した他方のユーザは、取極めに従って秘密化
    された通信文を復号する。この際、自分が選定し秘密に
    保持している整数を使用する。 ここにE{GF(p)}は以下のものである。正整数d
    を、虚二次体Q{(−d)1/2 }の類数が小さくなるよ
    うにとる。素数pを、ある整数aに対して4×p−a2
    の素因数がd×平方数となりかつ、p+1−aあるいは
    p+1+aが30桁以上の大きい素数で割れかつ、正整
    数t及び小さい正整数αに対して2t ±αと表せる素数
    とする。楕円曲線Eは、dにより定まる類多項式H
    d (x)=0のpを法とした解をj不変数にもつ有限体
    GF(p)を定義体にもつ。
  8. 【請求項8】 請求項7において更に、 前記楕円曲線Eは有限体GF(p)を定義体にもつ楕円
    曲線EのGF(p)上の元で構成される群をE{GF
    (p)}とするとき、E{GF(p)}の元の個数が3
    0桁以上の大きな素数で割れる。
  9. 【請求項9】 請求項7若しくは請求項8において更
    に、 正整数αは、2t/3ビット以下の大きさとする。
  10. 【請求項10】 請求項7若しくは請求項8若しくは請
    求項9において更に、 pを素数、rを正整数とし、有限体GF(pr )を定義
    体にもつ楕円曲線EのGF(pr )上の元で構成される
    群をE{GF(pr )}とするとき、有限体GF
    (pr )を定義体に持つ楕円曲線E1,2 ,・・・,E
    n を、互いに同型ではないが元の個数が等しくなるよう
    に構成し、各システムごと、各通信相手ごと、1システ
    ムかつ同一通信相手で一定時期経過後ごとの少なくも一
    により使用する楕円曲線を変える。
  11. 【請求項11】 請求項7若しくは請求項8若しくは請
    求項9若しくは請求項10において更に、 楕円曲線Eは、dにより定まる類多項式Hd (x)=0
    の次数をnとし、pを法とした解をj1 、…、jn とす
    るとき、これらの根をj不変数にもつ有限体GF(p)
    を定義体にもつ楕円曲線E1 、…、En である。
  12. 【請求項12】 請求項7若しくは請求項8若しくは請
    求項9若しくは請求項10若しくは請求項11において
    更に、 通信文を共有鍵を使用して取極めに従って秘密化する際
    及び復号する際の演算において、2t ≡α(mod n)若し
    くは2t ≡−α(mod p)という性質及び加法鍵を使用す
    る。
JP13433994A 1993-06-18 1994-06-16 楕円曲線による署名、認証及び秘密通信方式 Expired - Lifetime JP3706398B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13433994A JP3706398B2 (ja) 1993-06-18 1994-06-16 楕円曲線による署名、認証及び秘密通信方式

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5-147334 1993-06-18
JP14733493 1993-06-18
JP13433994A JP3706398B2 (ja) 1993-06-18 1994-06-16 楕円曲線による署名、認証及び秘密通信方式

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003426428A Division JP2004139125A (ja) 1993-06-18 2003-12-24 楕円曲線による署名、認証及び秘密通信方式

Publications (2)

Publication Number Publication Date
JPH0798563A true JPH0798563A (ja) 1995-04-11
JP3706398B2 JP3706398B2 (ja) 2005-10-12

Family

ID=26468471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13433994A Expired - Lifetime JP3706398B2 (ja) 1993-06-18 1994-06-16 楕円曲線による署名、認証及び秘密通信方式

Country Status (1)

Country Link
JP (1) JP3706398B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284111A (ja) * 2004-03-30 2005-10-13 Japan Science & Technology Agency 楕円曲線暗号の高速演算処理方法および装置
US7431149B2 (en) 2004-03-17 2008-10-07 Sanki Engineering Co., Ltd. Belt junction conveyor
JP2011253018A (ja) * 2010-06-02 2011-12-15 National Institute Of Advanced Industrial & Technology 公開鍵暗号技術におけるドメインパラメータの生成
JP2012518331A (ja) * 2009-02-17 2012-08-09 アルカテル−ルーセント アイデンティティベースの認証鍵共有プロトコル

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7431149B2 (en) 2004-03-17 2008-10-07 Sanki Engineering Co., Ltd. Belt junction conveyor
JP2005284111A (ja) * 2004-03-30 2005-10-13 Japan Science & Technology Agency 楕円曲線暗号の高速演算処理方法および装置
JP2012518331A (ja) * 2009-02-17 2012-08-09 アルカテル−ルーセント アイデンティティベースの認証鍵共有プロトコル
US8510558B2 (en) 2009-02-17 2013-08-13 Alcatel Lucent Identity based authenticated key agreement protocol
US9106410B2 (en) 2009-02-17 2015-08-11 Alcatel Lucent Identity based authenticated key agreement protocol
JP2011253018A (ja) * 2010-06-02 2011-12-15 National Institute Of Advanced Industrial & Technology 公開鍵暗号技術におけるドメインパラメータの生成

Also Published As

Publication number Publication date
JP3706398B2 (ja) 2005-10-12

Similar Documents

Publication Publication Date Title
US5497423A (en) Method of implementing elliptic curve cryptosystems in digital signatures or verification and privacy communication
KR101098701B1 (ko) 암호체계의 설계를 위한 아이소지니의 사용
Paar et al. Introduction to public-key cryptography
US20080165955A1 (en) Password protocols using xz-elliptic curve cryptography
Gu et al. New public key cryptosystems based on non‐Abelian factorization problems
Vanstone et al. Elliptic curve cryptosystems using curves of smooth order over the ring Z/sub n
CN109756335A (zh) 一种阶为梅森素数的有限域乘法群的公钥加密解密方法
Hwu et al. An efficient identity-based cryptosystem for end-to-end mobile security
Mittal et al. A quantum secure ID-based cryptographic encryption based on group rings
Mikhail et al. Extension and application of El-Gamal encryption scheme
US20050135610A1 (en) Identifier-based signcryption
Jeng et al. An ECC-based blind signature scheme
JP3706398B2 (ja) 楕円曲線による署名、認証及び秘密通信方式
CN113872757B (zh) 一种基于sm2公钥加密算法的广播加密方法
Lizama-Perez Non-invertible key exchange protocol
Heß et al. The magic of elliptic curves and public-key cryptography
Vagle A gentle introduction to elliptic curve cryptography
Bashir et al. Cryptanalysis and improvement of an encryption scheme that uses elliptic curves over finite fields
Karim Cryptanalysis and Modification of Certificateless Blind Signature Scheme using Elliptic Curve Cryptography
Mohapatra et al. Signcryption schemes with forward secrecy based on elliptic curve cryptography
JP2004139125A (ja) 楕円曲線による署名、認証及び秘密通信方式
Dissanayake Identification of Fake Messages Using Two PKCs
Wang A Review of Threshold Digital Signature Schemes
Neelima et al. Data Security Architecture in Cloud Computing based on Elliptic Curve Cryptography with Special Focus on Lowering the Cipher Space
Zia et al. Cryptanalysis and improvement of an encryption scheme that uses elliptic curves over finite fields

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031224

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040128

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20040319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050622

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050729

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080805

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090805

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090805

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100805

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110805

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110805

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130805

Year of fee payment: 8

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term