JPH0756506A - 楕円曲線に基づく暗号の鍵生成装置 - Google Patents

楕円曲線に基づく暗号の鍵生成装置

Info

Publication number
JPH0756506A
JPH0756506A JP19957093A JP19957093A JPH0756506A JP H0756506 A JPH0756506 A JP H0756506A JP 19957093 A JP19957093 A JP 19957093A JP 19957093 A JP19957093 A JP 19957093A JP H0756506 A JPH0756506 A JP H0756506A
Authority
JP
Japan
Prior art keywords
storage unit
integer
satisfying
stored
elliptic curve
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
JP19957093A
Other languages
English (en)
Inventor
Shusuke Kuwakado
秀典 桑門
Kenji Koyama
謙二 小山
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.)
NTT Inc
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 JP19957093A priority Critical patent/JPH0756506A/ja
Publication of JPH0756506A publication Critical patent/JPH0756506A/ja
Pending 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)【要約】 【目的】 鍵の生成に必要とするp=u2 −uv+v2
を満たす整数u,vを複素整数の演算を行うことなく求
め、加減乗除算の回数を削減し、鍵生成時間を短かくす
る。 【構成】 素数pを記憶部25に記憶し、k2 ≡p−3
(modp)かつk<p/2をみたす整数kを記憶部2
6に記憶し、平方根計算器27で√pを超えない最大の
整数wを求めて記憶部28に記憶する。記憶部26から
読出した値をtとし、記憶部28の値wと比較器31で
比較する。記憶部25,26から読出した値をそれぞれ
s,tとして剰余計算器29でr=smodtの演算を
行い、そのt,rをそれぞれ、記憶部25,26に記憶
して、これらを読出して剰余計算器29へ供給すること
をt<wとなるまで繰返す。t<wとなった時のtを用
いて√{(p−t2 )/3}=mを計算し、u=t+
m,v=2mを求める。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は楕円曲線に基づく暗号
方式に用いられる暗号化鍵及び復号化鍵を生成する装置
に関する。
【0002】
【従来の技術】まず、楕円曲線に関する記号の説明をす
る。素数pと係数a,bに対し、y2≡x3 +ax+b
(modp)を満たす点(x,y)の集合に無限遠点O
を加えた集合を楕円曲線Ep (a,b)と呼ぶ。E
p (a,b)は有限群をなし、その位数を#Ep (a,
b)と書く。楕円曲線Ep (a,b)を暗号に利用する
際、位数#Ep (a,b)は鍵生成に利用される。
【0003】楕円曲線に基づく暗号方式を簡単に述べ
る。(詳細は、H.Kuwakadoand K.Ko
yama,“An extension of ell
iptic curve cryptosystems
over a ringZn ”,Tech.Rep.
of IEICE,ISEC93−5,(1993) に
示されている。)p≡1(mod3) をみたす素数pを
パラメータとしてもつ楕円曲線Ep (0,b)の位数#
p (0,b)は、次のように表現できる。
【0004】 ここで、uとvは p=u2 −uv+v2 (1) をみたす整数である。q≡1(mod3) をみたし、か
つpとは異なる素数qに対しても、 q=u′2 −u′v′+v′2 となる。p+1±(2u−v)とp+1±(−u−v)
とp+1±(−u+2v)とq+1±(2u′−v′)
とq+1±(−u′−v′)とq+1±(−u′+2
v′)の最小公倍数をn0 とする。このとき暗号化鍵e
は、n0 と互いに素な整数とし、復号化鍵dは、 e・d≡1(modn0 ) をみたす整数である。平文M=(mx ,my )∈E
pq(0,b)に対して、楕円曲線Epq(0,b)上でM
をe倍することが暗号化であり、そのe倍して得られた
点C=(cx ,cy )が暗号文である。暗号文C=(c
x ,cy )∈Epq(0,b)に対して、楕円曲線E
pq(0,b)上でCをd倍することが復号化であり、そ
のd倍して得られた点M=(mx ,my )が平文であ
る。
【0005】暗号化鍵eと復号化鍵dを計算するために
は、式(1) をみたすuとvを求める必要がある。式
(1) をみたすuとvを求める従来の計算方式は、“初
等整数論講義”(高木貞治著,共立出版)に記載されて
いる。この従来の計算方法を簡単に説明する。素数pと
2 ≡p−3(modp)をみたす整数kに対して、p
とk−1−2wの最大公約数を計算すると、u+vwが
得られる。ここで、w=(−1+√(−3) )/2であ
る。pとk−1−2wの最大公約数を計算するために
は、複素整数の加減乗除算を行なわなければならない。
複素整数α=a1 +b1 wとβ=a2 +b2 wの加算と
乗算を例にあげる。
【0006】 α+β=(a1 +b1 w)+(a2 +b2 w) =(a1 +a2 )+(b1 +b2 )w α・β=(a1 +b1 w)・(a2 +b2 w) =(a1 2 −b1 2 )+(a1 2 +a2 1 −b
1 2 )w 1回の複素整数の加算には2回の整数の加算が必要であ
り、1回の複素整数の乗算には4回の整数の乗算と3回
の整数の加減算が必要であることがわかる。つまり、1
回の複素整数の加算にかかる時間は整数の加算にかかる
時間の2倍であり、1回の複素整数の乗算の時間は整数
の乗算にかかる時間の4倍以上である。したがって、複
素整数の加減乗除算に基づく従来の計算方式を用いて暗
号化鍵と復号化鍵を求めようとすると、多くの計算時間
が必要であった。
【0007】
【発明が解決しようとする課題】式(1)をみたすuと
vを求める従来の計算方式は、複素整数の演算を行なう
ので、多くの計算時間が必要とされた。しかし、暗号に
おいて暗号化鍵と複号化鍵はできるだけ高速に計算する
必要があるので、式(1) をみたすuとvを高速に求め
る計算装置が要望されていた。
【0008】
【課題を解決するための手段】この発明によれば、g
(g=p又はq)がsとして第1記憶部に記憶され、k
2 ≡g−3(modg)かつk<g/2をみたす整数k
がtとして第2記憶部に記憶され、√gを超えない最大
の整数wが平方根計算器で計算され、そのwが第3記憶
部に記憶され、第1記憶部から読出されたsと第2記憶
部から読出されたtについて、剰余計算手段でr=sm
odtが計算され、第2記憶部から読出されたtと第3
記憶部のwとの大小関係が比較手段で比較され、この比
較結果がt<wとなるまで、tをsとして第1記憶部に
記憶し、rをtとして第2記憶部に記憶し、これら記憶
したs,tを上記剰余計算手段へ供給することが制御手
段により繰返される。t<wとなった時のtとgとから
m=√{(g−t2 )/3}が演算され、更にt+m=
u″、v″=2m(ここでu″=u又はu′、v″=v
又はv′)が計算されて出力される。
【0009】このようにこの発明では、複素整数の概念
を用いずに、整数の剰余計算の単純な繰り返しによって
式(1) をみたすuとvを求め、暗号化鍵と復号化鍵を
計算することを特徴とする。この発明装置で行う、整数
の剰余計算の単純な繰り返しによって式(1) をみたす
uとvを求める手順を示すと次のようになる。なお、:
=の記号は右辺の値を左辺に代入することを意味する。
【0010】入力g≡1(mod3) をみたす素数gと
2 ≡g−3(modg)かつk<g/2をみたす整数
kを入力とする。 Step1s:=g,t:=k,w:=(√gを超えな
い最大の整数)とする。 Step2もしtwならば、u:=t+1,v:=2
とし出力へ行く。
【0011】Step3r:=smodtとする。 Step4s:=t,t:=rとする。 Step5もしt>wならば、Step3へ行く。 Step6m:=√{(g−t2 )/3} Step7u:=t+m,v:=2mとする。
【0012】出力uとvを出力する。本発明は、式
(1) をみたすuとvを整数の剰余計算の繰り返しによ
り求めているため、複素整数の演算を必要とした従来の
計算方式より加減乗除算の回数が少なくなり、暗号化鍵
と復号化鍵を計算するための時間が短くてすむ。
【0013】
【実施例】図1にこの発明の鍵生成装置の構成例を示
す。素数pと、kp 2 ≡p−3(modp)かつkp
p/2をみたす整数kp と、素数qと、kq 2 ≡q−3
(modq)かつkq <q/2をみたす整数kq とをパ
ラメータ生成部11に入力すると、パラメータ生成部1
1は後述するように演算されて整数n0 を出力する。そ
のn0 は互素数生成器12に入力され、n0 と互いに素
な整数の1個eが出力される。このeと前記n0 とがユ
ークリッド互除法計算器13に入力され、ed≡1(m
odn0 )をみたす整数dがユークリッド互除法を用い
て計算されてdが出力される。鍵生成装置の出力はeと
dである。
【0014】パラメータ生成部11の構成例を図2に示
す。素数pと前記整数kp とが繰り返し剰余計算器16
に入力され、後述のように演算されて整数tp が出力さ
れる。そのtp とpが第1平方根計算器17に入力され
て、mp =√{(p−t2 )/3}が計算され、その結
果mp とtp とpとが第1加算器18に入力されて、 u=tp +mp v=2mpp1 + =p+1+(2u−v) np1 - =p+1−(2u−v) np2 + =p+1+(−u−v) np2 - =p+1−(−u−v) np3 + =p+1+(−u+2v) np3 - =p+1−(−u+2v) が計算され、np1 + ,np1 - ,np2 + ,np2 -
p3 + ,np3 - が出力される。同様に素数qと前記整数
q とが繰り返し剰余計算器19に入力されて、tq
計算され、そのtq とqが第1平方根計算器21に入力
されて、mq が計算され、更にmq とtq とqとが第1
加算器22に入力されて、nq1 + ,nq1 - ,nq2 + ,n
q2 - ,nq3 + ,nq3 - が計算されて出力される。最小公
倍数計算器23はnp1 + ,np1 - ,np2 + ,np2 - ,n
p3 + ,np3 - ,nq1 + ,nq1 - ,nq2 + ,nq2 - ,nq3
+ ,nq3 - を入力としてこれらの最小公倍数n0 を求
め、パラメーター生成部11の出力とする。
【0015】図2中の繰り返し剰余計算器16の構成例
を図3に示す。素数pとk2 ≡p−3(modp)かつ
k<p/2をみたす整数kを入力とし、pが第1記憶部
25に記憶され、kが第2記憶部26に記憶され、pは
第2平方根計算器27にも入力され、√pを超えない最
大の整数が計算され、その結果が第3記憶部28に記憶
される。そして、第1記憶部25から読み出された値を
sとし、第2記憶部26から読み出された値をtとし
て、剰余計算器29でr=smodtが計算され、tと
rが出力され、そのtが第1記憶部25に記憶され、r
が第2記憶部26に記憶される。第2記憶部26から読
み出されたtは、第3記憶部28に記憶されている値w
との大小関係が比較器31で比較され、第2記憶部26
から読み出された値tが第3記憶部28に記憶されてい
る値wより小さくなるまで、第1記憶部25、第2記憶
部26の読み出し、そのs,tについての剰余計算器2
9での計算、その結果についての第1、第2記憶部2
5,26への記憶が制御部32で繰り返される。比較器
31の比較結果がt<wとなると第2記憶部26から読
み出された値tが繰り返し剰余計算器16の出力とされ
る。
【0016】繰り返し剰余計算器19も同様に構成され
る。上述の各種演算は電子計算機で行ってもよい。
【0017】
【発明の効果】複素整数は実部と虚部をもつので、複素
整数の加減乗除算は整数の加減乗除算の数倍の時間がか
かる。したがって、複素整数の加減乗除算に基づく従来
の計算方式を用いると、暗号化鍵と復号化鍵を計算する
ために多くの時間が必要であった。しかしこの発明で
は、式(1) をみたすuとvを整数の剰余計算の繰り返
しにより求めているため、複素整数の演算を必要とした
従来の計算方式と比較して、整数の加減乗除算の回数を
大幅に削減できるので、暗号化鍵と復号化鍵を計算する
ための時間が短くてすむ。
【0018】例えば、pを79とし、k2 ≡p−3(m
odp)かつk<p/2をみたすkを32とすると、 入力p:=79, k:=32 Step1 s:=p=79,t:=k=32,w=8
(√79を超えない最大の整数) Step2 t=32>w=8 Step3 r:=smodt=79mod32=15 Step4 s:=32,t:=15 Step5 t=15>w=8 Step3 r:=smodt=32mod15=2 Step4 s:=15,t:=2 Step5 t=2<w=8 Step6 m:=√{(79−22 )/3}=5 Step7 u:=t+m=2+5=7,v:=2m=
2×5=10 出力 u=7,v=10 一方、従来方式を用いて、p=79と、k2 ≡p−3
(modp)をみたすk=32に対してpとk−1−2
wとの最大公約数、つまりged(79,32−1−2
w)の計算は、以下のようなZ[w]上の剰余計算の繰
り返しで実現される。
【0019】 入力α:=p=79,β:=32−1−2w Step1α:=79,β:=31−2w Step2γ:=αmodβ=79mod(31−2
w)=−14+6w Step3α:=31−2w,β:=−14+6w Step4β≠0 Step2γ:=αmod β=31−2wmod(−14+6
w)=−3−10w Step3α:=−14+6w,β:=−3−10w Step4β≠0 Step2γ:=αmod β=14+6wmod(−3−
10w)=0 Step3α:=−3−10w,β:=0w Step4β=0 出力α=−3−10w つまりu=−3,v=−10を出力する。
【0020】ここで式(1) をみたすuとvは6通りの
解が存在するため、前記この発明により求めたu=7,
v=10と異なったものとなった。この例によればこの
発明では整数の剰余演算は2回で済んだが、従来方法で
は複素整数の剰余演算を3回必要とし、複素整数の剰余
演算は整数の剰余演算よりも計算に時間がかかるため、
この発明によれば従来よりも短い計算時間で鍵を生成す
ることができる。
【図面の簡単な説明】
【図1】この発明による鍵生成装置の構成例を示すブロ
ック図。
【図2】図1中のパラメータ生成器11の構成例を示す
ブロック図。
【図3】この発明の要部である図2中の繰り返し剰余計
算器16の構成例を示すブロック図。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 p≡1(mod3) をみたす素数pに対
    しp=u2 −uv+v2 をみたす整数u,vを求め、こ
    れらとpとからpをパラメータとしてもつ楕円曲線Ep
    (0,b)の位数を求め、またq≡1(mod3) をみ
    たし、かつpと異なる素数qに対しq=u′2 −u′
    v′+v′2 をみたす整数u′,v′を求め、これらと
    qとからqをパラメータとしてもつ楕円曲線Eq (0,
    b)の位数を求め、上記両位数から、楕円曲線に基づく
    暗号の鍵を生成する装置において、 g(gは上記p又はq)をsとして記憶する第1記憶部
    と、 k2 ≡g−3(modg)かつk<g/2をみたす整数
    kをtとして記憶する第2記憶部と、 √gを超えない最大の整数wを計算する平方根計算器
    と、 上記整数wを記憶する第3記憶部と、 上記第1記憶部から読出されたsと、上記第2記憶部か
    ら読出されたtについてr=smodtを計算する剰余
    計算手段と、 上記第2記憶部から読出されたtと上記第3記憶部のw
    との大小関係を比較する比較手段と、 その比較結果がt<wとなるまで、上記tをsとして上
    記第1記憶部に記憶し、上記rをtとして上記第2記憶
    部に記憶し、これら記憶したs,tを上記剰余計算手段
    へ供給することを繰返す手段と、 上記t<wとなった時の上記tとgとからm=√{(g
    −t2 )/3}を演算する手段と、 t+m=u″、v″=2m(u″はu又はu′、v″は
    v又はv′)を計算して出力する手段と、 を具備することを特徴とする楕円曲線に基づく暗号の鍵
    生成装置。
JP19957093A 1993-08-11 1993-08-11 楕円曲線に基づく暗号の鍵生成装置 Pending JPH0756506A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19957093A JPH0756506A (ja) 1993-08-11 1993-08-11 楕円曲線に基づく暗号の鍵生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19957093A JPH0756506A (ja) 1993-08-11 1993-08-11 楕円曲線に基づく暗号の鍵生成装置

Publications (1)

Publication Number Publication Date
JPH0756506A true JPH0756506A (ja) 1995-03-03

Family

ID=16410033

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19957093A Pending JPH0756506A (ja) 1993-08-11 1993-08-11 楕円曲線に基づく暗号の鍵生成装置

Country Status (1)

Country Link
JP (1) JPH0756506A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0952697A3 (en) * 1998-02-26 2003-05-14 Hitachi, Ltd. Elliptic curve encryption method and system
KR100399048B1 (ko) * 2001-06-18 2003-09-26 한국전자통신연구원 타원곡선 암호화 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0952697A3 (en) * 1998-02-26 2003-05-14 Hitachi, Ltd. Elliptic curve encryption method and system
KR100399048B1 (ko) * 2001-06-18 2003-09-26 한국전자통신연구원 타원곡선 암호화 장치

Similar Documents

Publication Publication Date Title
JP4662577B2 (ja) 楕円曲線上での暗号操作の速度を高める方法
US7995752B2 (en) Method for accelerating cryptographic operations on elliptic curves
US8504602B2 (en) Modular multiplication processing apparatus
US6266688B1 (en) Scheme for arithmetic operations in finite field and group operations over elliptic curves realizing improved computational speed
JP2000187438A (ja) 楕円曲線暗号実行方法及び装置並びに記録媒体
US8862651B2 (en) Method and apparatus for modulus reduction
EP3316125B1 (en) Method of generating an elliptic curve cryptographic key pair
EP0984357B1 (en) Apparatus and method for elliptic-curve multiplication and recording medium having recorded thereon a program for implementing the method
US6480606B1 (en) Elliptic curve encryption method and system
US7050579B1 (en) Cryptographic methods and apparatus using word-wise montgomery multiplication
JP3542278B2 (ja) モンゴメリ・リダクション装置及び記録媒体
Rososhek Modified matrix modular cryptosystems
CN108418687B (zh) 一种适合sm2算法的快速模约减方法和介质
US7092522B1 (en) Apparatus for solving system of equations on finite field and apparatus for inverting element of extension field
CN108347334B (zh) 生成加密密钥对的方法
JP3551853B2 (ja) αYa+βXb+1=0という形の定義方程式をもつ代数曲線暗号における安全なパラメータの生成装置、生成方法、および記録媒体
JP4423900B2 (ja) 楕円曲線暗号におけるスカラー倍計算方法と、その装置およびそのプログラム
Nitaj et al. A new attack on RSA with a composed decryption exponent
JP2004205870A (ja) 超楕円曲線スカラー倍演算方法及び装置
CN115242376B (zh) 数据处理方法、装置、处理器、芯片及电子设备
Raharinirina Use of Signed Permutations in Cryptography
JP4629972B2 (ja) ベクトル演算装置及び分割値演算装置及び楕円曲線スカラー倍演算装置及び楕円暗号演算装置及びベクトル演算方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3966714B2 (ja) 暗号処理方法、そのプログラム及びその記録媒体
JP3043762B2 (ja) 鍵生成装置
Kures et al. LoRi-TTM cryptosystem