JP3402441B2 - Public key encryption device, public key encryption / decryption device, and decryption program recording medium - Google Patents
Public key encryption device, public key encryption / decryption device, and decryption program recording mediumInfo
- Publication number
- JP3402441B2 JP3402441B2 JP34761397A JP34761397A JP3402441B2 JP 3402441 B2 JP3402441 B2 JP 3402441B2 JP 34761397 A JP34761397 A JP 34761397A JP 34761397 A JP34761397 A JP 34761397A JP 3402441 B2 JP3402441 B2 JP 3402441B2
- Authority
- JP
- Japan
- Prior art keywords
- public key
- mod
- elliptic curve
- computer
- decryption
- 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 - Lifetime
Links
Description
【0001】[0001]
【発明の属する技術分野】この発明は公開鍵暗号方式に
用いる暗号装置、復号装置、その処理プログラムを記録
した記録媒体に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an encryption device and a decryption device used for a public key cryptosystem, and a recording medium on which a processing program is recorded.
【0002】[0002]
【従来の技術】機密保持性のない通信回線を介してデー
タを送受信する場合、送受信のデータの盗聴防止に暗号
法が用いられる。一般に、暗号法は共通鍵暗号と公開鍵
暗号の二種類に区別できる。共通鍵暗号は暗号鍵と復号
鍵が同じなので、鍵を秘密に配送する必要がある。ま
た、通信の組合せ数と同じ数だけ鍵を必要とするので、
ネットワーク内の送受信局数が増加すると、秘密に管理
する鍵の数が急激に増加することが問題となる。2. Description of the Related Art When data is transmitted / received via a communication line having no confidentiality, an encryption method is used to prevent eavesdropping of the transmitted / received data. In general, cryptography can be classified into two types: common key cryptography and public key cryptography. In the common key encryption, the encryption key and the decryption key are the same, so the key must be delivered secretly. Also, since keys are required in the same number as the number of communication combinations,
As the number of transmitting and receiving stations in the network increases, the number of secretly managed keys rapidly increases.
【0003】一方、公開鍵暗号は、暗号鍵と復号鍵が異
なっており、暗号鍵を公開しても、暗号鍵から復号鍵を
算出することが計算量的に難しければ、秘密鍵の秘密性
は損なわれないので、暗号鍵の配送が不用である。ま
た、各送受信局は自分の復号鍵だけを秘密に管理するの
で、秘密に管理する鍵の問題も解決できる。即ち、公開
鍵暗号を利用すれば、共通鍵暗号を利用する時に問題で
あった鍵の管理の問題が解決される。また、共通鍵暗号
を使う時の一番大きな問題であった、鍵配送の問題が解
決出来る、即ち、鍵を秘密に配送する必要がない。ま
た、共通鍵暗号では、鍵が当時者間で共有されているた
め、共通の鍵で作成された暗号文は、同鍵を所有する二
人のうちいずれかが作成したかが特定することが出来な
い。一方、公開鍵暗号では、秘密鍵を有するものが唯一
であるため、同鍵で暗号化された文章を作成出来るの
は、同鍵を持つもの唯一であるという意味で、証拠性を
持ち得る。この性質を、ディジタル署名と言う。[0003] On the other hand, in public key cryptography, the encryption key and the decryption key are different, and if it is difficult to calculate the decryption key from the encryption key even if the encryption key is made public, the secret Is not compromised, so the distribution of encryption keys is unnecessary. In addition, since each transmitting / receiving station manages only its own decryption key secretly, the problem of the secretly managed key can be solved. That is, the use of public key cryptography solves the problem of key management that was a problem when using common key cryptography. Further, the problem of key distribution, which is the biggest problem when using symmetric key cryptography, can be solved. That is, there is no need to secretly distribute keys. Also, in symmetric key cryptography, since the key is shared between the parties at that time, it is possible to specify whether the ciphertext created with the common key was created by one of the two persons who own the key. Can not. On the other hand, in public key cryptography, since only one having a private key can be used, a document encrypted with the same key can be created, which means that only one having the same key can have evidentiality. This property is called a digital signature.
【0004】即ち、公開鍵暗号を用いれば、ディジタル
署名が実現出来、通信の相手を認証することに利用出来
る。公開鍵暗号は、一方向性落し戸関数と呼ばれるもの
を使えば実現できることが知られている。一方向性関数
とは、一方から他方への計算は簡単であるが、その逆を
計算することは、計算量的に難しい関数のことで、その
一方向性関数に「ある秘密を知っていれば、逆も簡単に
計算できる」というしかけをもたせたものを一方向性落
し戸関数と言い、そのしかけを「落し戸」と呼ぶ。現在
のところ、素因数分解問題(合成数を入力とし、その合
成数の素因子を出力する関数と、素因数分解することは
同一視することが出来る。以下、IFPと表す。以下に
あげる問題も、これと同様にある関数と同一視すること
が出来る)、有限体の乗法群における離散対数問題(例
えば、pを素数として、有限素体Fp の乗法群Fp * =
<g>において、その乗法群の元yが与えられていると
き、y=gx なる、整数xで0<x<pを満たすものを
求める問題、以下、DLPと表す。)、有限体上の楕円
曲線における離散対数問題(例えば、pを素数として、
有限素体Fp 上定義された楕円曲線EのFp −有理点全
体のなす群E(Fp)、その一つの点G、点Gで生成さ
れるE(Fp )の部分群の点Pが与えられている時、P
=mGを満たす整数mを求める問題、以下、ECDLP
と表す、但し、mGは、楕円曲線上の加法でGをm倍し
た点を表す。楕円曲線、及び楕円曲線暗号に関しては、
例えば、Menezes ,A.J.著“Elliptic Curve Public Ke
y Cryptosystems ”,Kluwer Academic Publishers(19
93)を参照。以下、この文献を文献1と称す)などが、
一方向性関数であろうと予想されているものの代表的な
ものであり、現在提案されている公開鍵暗号の中で、代
表的かつ実用的なものは、RSA暗号、Rabin 暗号、El
Gamal 暗号、楕円曲線暗号(楕円ElGamal 暗号)が挙げ
られると思われるが、RSA暗号、Rabin 暗号はIFP
の難しさ、ElGamal 暗号は、DLPの難しさ、楕円曲線
暗号は、有限体上の楕円曲線の点のなす群におけるElGa
mal 暗号で、これはECDLPの難しさに、それぞれ基
づくものである。[0004] In other words, the use of public key cryptography can realize a digital signature and can be used to authenticate a communication partner. It is known that public key cryptography can be realized by using what is called a one-way trapdoor function. A one-way function is a function that is easy to calculate from one side to the other, but calculating the opposite is a computationally difficult function. For example, the one-way trapdoor function is called a one-way trapdoor function, and the trick is called a trapdoor. At present, a prime factorization problem (a function that takes a composite number as an input and outputs a prime factor of the composite number can be regarded as the same as performing a prime factorization. In the following, this is expressed as IFP. This and can be equated with functions in the same manner), the discrete logarithm problem in the multiplicative group of a finite field (for example, as a prime p, finite element F multiplicative group of p F p * =
In <g>, when an element y of the multiplicative group is given, a problem of finding an integer x satisfying 0 < x <p, where y = g x, will be expressed as DLP. ), A discrete logarithm problem in an elliptic curve over a finite field (eg, p is a prime number,
Finite element F p on an elliptic curve defined E F p - rational point whole eggplant group E (F p), the one point G, point subgroup of E (F p) which is generated at point G When P is given, P
= Problem of finding an integer m that satisfies mG, ECDLP
Where mG represents a point obtained by multiplying G by m on an elliptic curve. For elliptic curves and elliptic curve cryptography,
For example, Menezes, AJ, “Elliptic Curve Public Ke
y Cryptosystems ”, Kluwer Academic Publishers (19
93). Hereinafter, this document is referred to as Document 1.)
A typical one that is expected to be a one-way function, and among the currently proposed public key cryptography, representative and practical ones are RSA cryptography, Rabin cryptography, El
Gamal cryptography and elliptic curve cryptography (elliptic ElGamal cryptography) may be cited, but RSA cryptography and Rabin cryptography are IFP
ElGamal cryptography is the difficulty of DLP. Elliptic curve cryptography is ElGamal in the group of elliptic curve points on a finite field.
The mal cipher, which is based on the difficulty of ECDLP, respectively.
【0005】RSA暗号については、Communication of
the ACM,vol.21,pp.120-126(1978)に、Rivest,R.L.
等によって、“A Method for Obtaining Digital Signa
tures and Public-Key Cryptosystems”と題して論及さ
れており(以下、この文献を文献2と称す)、Rabin 暗
号については、MIT ,Technical Report,MIT/LSC/TR-2
12(1979)にRabin ,M.O.によって、“Digital Signatur
es and Public-Key Functions as intractable as Fact
orization ”と題して論及されている(以下、この文献
を文献3と称す)、さらに、ElGamal 暗号についてはI
EEE Trans.on Information Theory,1T-31 ,4,p
p.469-472(1985)に、ElGamal T.によって、“A Publi
c-Key Cryptosystem and a Signature Scheme Based on
DiscreteLogarithms ”と題して論及されており(以
下、この文献を文献4と称す)、楕円曲線暗号について
は、Miller,V.S.とKoblitz ,N.によって、19
85年に独立に提案されたものであるが、Proc.of Cryp
to'85 ,LCNCS 218 ,Springer-Verlag ,pp.417-426(1
985)にMiller,V.S.によって“Use of EllipticCur
ves in Cryptography”と題して論及され(以下、この
文献を文献5と称す)、Math.Comp.,48,177 ,pp.203
-209(1987)にはKoblitz ,N.によって“Elliptic Cur
ve Cryptosystems”と題して論及されている(以下、こ
の文献を文献6と称す)。[0005] Regarding the RSA encryption, the Communication of
The ACM, vol.21, pp.120-126 (1978), Rivest, RL
"A Method for Obtaining Digital Signa
tures and Public-Key Cryptosystems ”(hereinafter, this document is referred to as Reference 2). For the Rabin encryption, MIT, Technical Report, MIT / LSC / TR-2
12 (1979) by Rabin, MO, “Digital Signatur
es and Public-Key Functions as intractable as Fact
orization "(hereinafter, this document is referred to as Reference 3).
EEE Trans.on Information Theory, 1T-31, 4, p
p.469-472 (1985), ElGamal T .; By “A Publi
c-Key Cryptosystem and a Signature Scheme Based on
DiscreteLogarithms "(this document is hereinafter referred to as Reference 4), and regarding elliptic curve cryptography, Miller, VS, and Koblitz, N., et al.
Although independently proposed in 1985, Proc.of Cryp
to'85, LCNCS 218, Springer-Verlag, pp. 417-426 (1
985). S. By “Use of EllipticCur
ves in Cryptography ”(hereinafter referred to as Reference 5), Math. Comp., 48, 177, pp. 203
Koblitz, N.-209 (1987). By “Elliptic Cur
ve Cryptosystems "(this document is hereinafter referred to as Document 6).
【0006】以下、具体的にこれらの暗号を紹介をし、
その性質について述べる。RSA暗号の構成法は次の通
りである。異なる奇素数p,qを選び、n,e,dを次
の式を満たすように取る。
n=pq,
GCD(e,LCM(p−1,q−1))=1,
ed≡1(mod LCM(p−1,q−1))
ここで、GCD(a,b)は、整数a,bの最大公約
数,LCM(a,b)は、整数a,bの最小公倍数を表
すものとする。Hereinafter, these ciphers will be introduced specifically,
We describe its properties. The configuration method of the RSA encryption is as follows. Different odd prime numbers p and q are selected, and n, e, and d are set so as to satisfy the following equation. n = pq, GCD (e, LCM (p−1, q−1)) = 1, ed≡1 (mod LCM (p−1, q−1)) where GCD (a, b) is an integer The greatest common divisor of a and b, LCM (a, b) shall represent the least common multiple of integers a and b.
【0007】(n,e)を公開鍵(d,p,q)を秘密
鍵として、暗号化処理(E1 )と復号処理(D1 )を
C≡E1 (M)≡Me (mod n) (1)
M≡D1 (C)≡Cd (mod n) (2)
で定義する。この時、Mが0<M<n−1を満たすなら
ば
D1 (E1 (M))=M (3)
が成り立つ。Using (n, e) as a public key (d, p, q) as a secret key, encryption processing (E 1 ) and decryption processing (D 1 ) are performed as follows: C≡E 1 (M) ≡M e (mod n) (1) M≡D 1 (C) ≡C d (mod n) (2) At this time, if M satisfies 0 < M < n-1, D 1 (E 1 (M)) = M (3) holds.
【0008】Rabin 暗号の構成法は次の通りである。
p,q,nを上述の通りに取り、さらに、0<b<nを
満たす整数bを取る。(n,b)を公開鍵、(p,q)
を秘密鍵として、暗号化処理(E2 )、復号処理
(D2 )を
C≡E2 (M)≡M(M+b)(mod n) (4)
M≡D2 (C)≡(−b±√(b2 +4C))/2(mod pかつmod q)(5)
で定義する。Rabin 暗号は、復号時に連立方程式を解く
ことになるが、二次方程式は二つの解を持つので、一般
には四つの解が現れてきて、上のままでは復号が一意に
出来ないという問題があった。これは、なんらかの付加
的な情報を付けて通信を行なう、即ち、運用上の問題と
して回避することも出来るし、一意に復号出来るように
改良もされている。これに関しては、電子情報通信学会
論文誌、Vol.J70-A ,No.11,pp.1632-1636(1987)
に、黒澤 馨等によって“素因数分解の困難さと同等の
強さを有する逆数を利用した公開鍵暗号”と題して論及
されている。(以下、この文献を文献7と称する)
また、ElGamal 暗号の構成は次の通りである。pを素
数、gを、pを法とした既約剰余類群(Z/pZ)* の
一つの生成元、即ち、位数がp−1の元とし、0<x<
pなる整数xを任意に取り、y≡gx (mod p )とお
く。この時、(y,g,p)を公開鍵、xを秘密鍵とし
て、暗号化処理(E3 )、復号処理(D3 )を
C=(C1 ,C2 )=E3 (M) (6)
C1 ≡gr (mod p) (7)
C2 ≡yr M(mod p) (8)
M≡D3 (C)≡C2 /Cp x mod p (9)
で定義する。ここで、rは、0<r<pなる任意の整数
とし、暗号化処理をするたびに選ぶものとする。The construction method of the Rabin encryption is as follows.
Take p, q, and n as described above, and take an integer b that satisfies 0 < b < n. (N, b) is the public key, (p, q)
The encryption process (E 2 ) and the decryption process (D 2 ) are performed using C as a secret key, and C≡E 2 (M) ≡M (M + b) (mod n) (4) M≡D 2 (C) ≡ (−b ± √ (b 2 + 4C)) / 2 (mod p and mod q) (5) The Rabin cipher solves simultaneous equations at the time of decryption, but quadratic equations have two solutions, so generally four solutions appear, and there is a problem that decryption cannot be performed uniquely with the above. Was. This can be performed with some additional information for communication, that is, can be avoided as an operational problem, and has been improved so that it can be uniquely decoded. In this regard, see IEICE Transactions, Vol.J70-A, No. 11, pp.1632-1636 (1987)
In addition, Kaoru Kurosawa et al. Discuss a subject entitled "Public key cryptography using reciprocals having the same strength as the difficulty of factorization." (Hereinafter, this document is referred to as Document 7.) The configuration of the ElGamal encryption is as follows. Let p be a prime number, g be one generator of the irreducible coset group (Z / pZ) * modulo p, that is, an element whose order is p-1, and 0 <x <
An integer x of p is arbitrarily taken and set as y≡g x (mod p). At this time, using (y, g, p) as a public key and x as a secret key, encryption processing (E 3 ) and decryption processing (D 3 ) are performed as follows: C = (C 1 , C 2 ) = E 3 (M) (6) defined by C 1 ≡g r (mod p) (7) C 2 ≡y r M (mod p) (8) M≡D 3 (C) ≡C 2 / C p x mod p (9) . Here, r is an arbitrary integer satisfying 0 <r <p, and is selected every time encryption processing is performed.
【0009】Mが0<M<pであれば、
M=D3 (E3 (M)) (10)
が成立する。楕円曲線暗号(楕円 ElGamal暗号)の構成
は次の通りである。pを素数、有限素体Fp 上の楕円曲
線E(a,b):y2 =x3 +ax+b(a,b∈
Fp ,4a3 +27b2 ≠0)、楕円曲線上のFp −有
理点Gで、その位数qが十分大きな素数を約数に持つも
のが取れるものとする。0<x<qなる任意の整数を取
り、E(a,b)上の加法でP=xGとする。この時、
(p,E(a,b),G,P,q)を公開鍵、xは秘密
鍵として暗号化処理(E4 )、復号処理(D4 )を
C=(C1 ,C2 )=E4 (M) (11)
C1 =rG1 (12)
C2 =rP+M (13)
M=D4 (C)=(C2 −xC1 のX−座標) (14)
で定める。ここで、rは0<r<qを満たす任意の整数
とし、暗号化処理のたびに選ぶものとする。また、rP
+Mは、X−座標がMとなる楕円曲線上の点と点rPと
の楕円曲線上での和を表すものとする。一般には、常に
MをX−座標に持つ点が、与えられた楕円曲線上に存在
するかどうかは分からないが(ここでの場合は、確率1
/2で点が存在する)、何らかの、システムに共通の規
則を定めてMにある程度の冗長情報を付加することによ
って、常に、冗長情報を付加したものをX−座標に持つ
ような点が取れるように出来る。If M is 0 <M <p, then M = D 3 (E 3 (M)) (10). The configuration of the elliptic curve cryptosystem (elliptical ElGamal cryptosystem) is as follows. prime number p, an elliptic curve over finite prime F p E (a, b) : y 2 = x 3 + ax + b (a, b∈
F p , 4a 3 + 27b 2 ≠ 0), and an F p -rational point G on the elliptic curve whose order q has a sufficiently large prime number as a divisor can be obtained. Taking an arbitrary integer of 0 <x <q, P = xG by addition on E (a, b). At this time,
(P, E (a, b), G, P, q) are public keys, x is a secret key, and encryption (E 4 ) and decryption (D 4 ) are C = (C 1 , C 2 ) = E 4 (M) (11) C 1 = rG 1 (12) C 2 = rP + M (13) M = D 4 (C) = (X−coordinate of C 2 −xC 1 ) (14) Here, r is an arbitrary integer that satisfies 0 <r <q, and is selected every time encryption processing is performed. Also, rP
+ M represents the sum of the point on the elliptic curve where the X-coordinate is M and the point rP on the elliptic curve. In general, it is not known whether or not a point having M at the X-coordinate always exists on a given elliptic curve (in this case, the probability is 1).
/ 2), a certain rule common to the system is determined and a certain amount of redundant information is added to M, so that a point having the redundant information added to the X-coordinate can always be obtained. I can do it.
【0010】次に、上述の暗号の計算量について述べ
る。RSA暗号の計算量は、暗号化処理、復号処理が共
にk3 のオーダーで実現されることが知られている。こ
こで、kは公開鍵nのビット数を表すとする。Rabin 暗
号の計算量は、暗号化処理はk 2 のオーダーで、復号処
理はk3 のオーダーで実現される。このkも公開鍵nの
ビット数を表すものとする。Next, the amount of calculation of the above cipher will be described.
You. The amount of calculation of the RSA encryption is the same for encryption and decryption.
To kThreeIt is known to be realized in the order of. This
Here, k represents the number of bits of the public key n. Rabin dark
The computational complexity of the signal is k for the encryption process. TwoIn the order of
Reason is kThreeIs realized in the order of This k is also the public key n
It represents the number of bits.
【0011】ElGamal 暗号の計算量は、暗号化処理、復
号処理共にk3 のオーダーで実現できる。ここで、k
は、公開鍵である素数pのビット数を表すものとする。
さらに、楕円曲線暗号の計算量は、暗号化処理、復号処
理共にk3 のオーダーで実現できることが知られてい
る。ここで、kは公開鍵である素数pのビット数である
とする。The calculation amount of the ElGamal encryption can be realized on the order of k 3 for both the encryption processing and the decryption processing. Where k
Represents the number of bits of the prime number p which is a public key.
Further, it is known that the calculation amount of the elliptic curve encryption can be realized in the order of k 3 for both the encryption processing and the decryption processing. Here, it is assumed that k is the number of bits of a prime number p which is a public key.
【0012】オーダーで比較するなら、上述の暗号は計
算量はあまり変わらないが、実装させると、差が出てく
ることは明らかである。実際、楕円曲線上の加法は、そ
の定義体である有限体における乗法の10倍程度時間が
かかることが知られている。次に、安全性について述べ
る。暗号は、攻撃者(盗聴者)に通信内容を隠して送る
ことを目的とするため、どの程度通信内容を隠している
かの度合が重要になる。即ち、秘匿性としては、完全解
読(暗号文から、平文が完全に求められる事)と部分解
読(暗号文から、平文の部分情報が求められる事)の二
種類に分類できる。次に、公開鍵暗号の攻撃者のタイプ
には、単に暗号通信を受信し、その情報だけから解読を
試みる受動的攻撃と、送信者に様々な質問とし(暗号文
を送り)、その回答(その復号結果)をもらうことが許
され、それらの情報をもとにして、目的とする暗号文を
解読するような能動的攻撃の二種類に分けられる。特
に、能動的攻撃の中でも、適応的選択暗号文攻撃(解読
者が任意に選んだ暗号文を真の受信者に復号させた後、
そこで得た情報と公開情報を用いて、別の暗号文を復号
する攻撃)がもっとも強力である。If the order is compared, it is clear that the above cipher does not change much in the amount of calculation, but a difference appears when implemented. In fact, it is known that the addition on an elliptic curve takes about ten times as long as the multiplication in a finite field which is its defining field. Next, safety will be described. Since the purpose of the encryption is to conceal and transmit the communication contents to an attacker (eavesdropper), the degree of concealing the communication contents is important. In other words, confidentiality can be classified into two types: complete decryption (a plaintext is completely obtained from a ciphertext) and partial decomposition (a partial information of a plaintext is obtained from a ciphertext). Next, the types of attackers of public key cryptography include passive attacks that simply receive encrypted communication and attempt to decipher only from the information, as well as asking the sender various questions (sending ciphertext) and answering ( It is permitted to receive the decryption result), and it is classified into two types of active attacks such as decrypting a target cipher text based on the information. In particular, among active attacks, adaptive selective ciphertext attacks (after decrypting a ciphertext arbitrarily selected by a reader to a true recipient,
The attack that decrypts another ciphertext using the information obtained and the public information is the most powerful.
【0013】さて、そこで、これらの分類を元に、上述
の代表的な公開鍵暗号の安全性について述べることにす
ると、RSA暗号、Rabin 暗号のようなIFPの難しさ
に基づく暗号は、公開鍵nを素因数分解出来れば、秘密
鍵である素数p,qが分かり、LCM(p−1,q−
1)が計算出来て、秘密鍵dが求められ、安全に解読さ
れてしまう、ここで、LCM(p−1,q−1)を、n
だけから求めようとすることは、nを素因数分解するこ
とと等価であることが証明されている。即ち、p,qが
分からないままで、LCM(p−1,q−1)を求める
ことは出来ない。しかし、RSA暗号は、公開鍵nを素
因数分解する以外の方法で完全解読出来る可能性が残っ
ているが、Rabin 暗号を完全解読する方法は、公開鍵n
を素因数分解する以外にないことが証明されている。即
ち、RSA暗号を解読することはIFPを解くことと等
価であるかどうかは未解決であるが、Rabin 暗号の完全
解読は、IFPを解くことと等価であることが証明され
ている。(上述の逆数暗号も、IFPと等価であること
が証明されている)このRabin の結果は、ある基本的な
問題(今の場合、IFP)が難しいであろうと仮定する
ことによって、暗号のある種の安全性が証明出来ること
を初めて示したものである。今の場合、上述の公開鍵暗
号の安全性で言えば、受動的攻撃に対して安全であるこ
とが、IFPの難しさを仮定した上で、証明されたこと
を意味している。部分解読に関しては、RSA暗号、Ra
bin 暗号共に、暗号文Cから、平文Mの最下位ビットを
求めることは、Cから、M全体を求めることと同じ位難
しいことが証明されている。また、さらに同様にMの最
下位よりlog k ビットの部分が同様の安全性を持つこと
が証明されている。この事実は、SIAM Journal of Comp
uting ,17,2,pp.449-457(1988)において、Alexi ,
W.等によって、“RSA and Rabin Functions:Cert
ain Patrs Are as Hard as the Whole”と題して論及さ
れている。(以下、この文献を文献8と称す)
次に、ElGamal 暗号の安全性についてであるが、これは
DLPの難しさに基づく暗号であるので、DLPが解け
れば、公開鍵(y,g,p)から、秘密鍵xが求めら
れ、解読されてしまう。しかし、ElGamal 暗号の解読が
DLPと同じ程度に難しいかどうかは証明されていな
い。同様に、楕円曲線暗号についても、ECDLPと同
じ程度に難しいかどうかは証明されていない。Now, based on these classifications, the security of the above-mentioned typical public key cryptosystem will be described. The cryptosystem based on the difficulty of IFP, such as RSA cryptosystem and Rabin cryptosystem, uses public key cryptosystem. If n can be factored, the prime numbers p and q, which are secret keys, are known, and LCM (p−1, q−
1) can be calculated, a secret key d is obtained and decrypted safely. Here, LCM (p-1, q-1) is replaced by n
It has been proved that trying to find from only n is equivalent to factoring n into prime factors. That is, LCM (p-1, q-1) cannot be obtained without knowing p and q. However, the RSA cipher still has the possibility that it can be completely deciphered by a method other than factoring the public key n, but the method of completely deciphering the Rabin cipher is based on the public key n
It has been proved that there is no other than factoring. That is, it is unclear whether decrypting the RSA encryption is equivalent to decrypting the IFP, but it has been proved that complete decryption of the Rabin encryption is equivalent to decrypting the IFP. (The reciprocal cipher described above has also been proven to be equivalent to IFP.) This Rabin result shows that some basic problems (in this case, IFP) may be difficult by assuming that it will be difficult. This is the first demonstration that species safety can be proven. In this case, in terms of the security of the above-mentioned public key cryptosystem, it means that security against a passive attack has been proved on the assumption that IFP is difficult. For partial decryption, RSA encryption, Ra
In both bin ciphers, finding the least significant bit of plaintext M from ciphertext C has proven to be as difficult as finding the entire M from C. Similarly, it has been proved that the log k bits from the least significant part of M have the same security. This fact is based on the SIAM Journal of Comp
uting, 17, 2, pp. 449-457 (1988), Alexi,
W. "RSA and Rabin Functions: Cert
ain Patrs Are as Hard as the Whole ”(this document is referred to as reference 8). Next, the security of ElGamal encryption is based on the difficulty of DLP. Since it is a cipher, if the DLP is decrypted, the secret key x is obtained from the public key (y, g, p) and decrypted.However, it is difficult to decipher the ElGamal cryptosystem as much as the DLP. Similarly, elliptic curve cryptography has not been proven to be as difficult as ECDLP.
【0014】以上、代表的かつ実用的な公開鍵暗号につ
いて説明したが、基本的な問題の難しさを仮定し、ある
種の安全性が証明出来る公開鍵暗号は、Rabin 暗号とそ
の変形位しか知られていない。つまり、実用性を考える
と、一方向性関数としてつかえるものは、IFP,DL
PとECDLP位しか知られてなく、これらを使って新
しい「落し戸」を作り、それを用いてある種の安全性の
証明のついた新しい公開鍵暗号システムを作ることは一
つの問題である。Although a typical and practical public key cryptosystem has been described above, assuming the difficulty of the basic problem, the public key cryptosystem which can prove a certain level of security is only the Rabin cryptosystem and its variants. unknown. In other words, considering practicality, the ones that can be used as one-way functions are IFP, DL
Only P and ECDLP ranks are known, and using them to create a new "trapdoor" and using it to create a new public key cryptosystem with some sort of security proof is a problem. .
【0015】[0015]
【発明が解決しようとする課題】上述のように、公開鍵
暗号は、従来からの共通鍵暗号と比較すれば、鍵管理の
問題を解決することが出来、ディジタル署名を実現する
ことが出来るが、実用的な公開鍵暗号を実現するには、
一方向性関数としてはIFP,DLPやECDLP位し
か知られてなく、これらを用いて「落し戸」を作る作り
方も本質的にこれ等位しか知られてなく、ましてや、あ
る種の安全性が証明されている暗号は、Rabin 暗号とそ
の変形だけである。As described above, the public key cryptography can solve the problem of key management and realize a digital signature as compared with the conventional common key cryptography. To achieve practical public key cryptography,
Only IFP, DLP and ECDLP positions are known as one-way functions, and how to make a “door trap” using these is essentially known only at this level, much less a certain level of security. The only proven ciphers are the Rabin cipher and its variants.
【0016】この発明の目的は、一方向性関数としては
IFPを用いながらも、新しい「落し戸」を用いて、I
FPが難しいであろうという仮定に基づき、受動的攻撃
に対して安全であることが証明できる公開鍵暗号装置を
提供することである。An object of the present invention is to use IFP as a one-way function and to use a new "door trap"
An object of the present invention is to provide a public key cryptographic device that can prove to be secure against a passive attack based on the assumption that FP will be difficult.
【0017】[0017]
【課題を解決するための手段】具体的には、この発明は
二種類の公開鍵暗号装置を提供する。p,qを二つの素
数として、n=p2 qとしたとき、nを法とした既約剰
余類群(Z/nZ)*上で構成されるものと、n=pq
としたとき、nを法とした剰余類環Z/nZ上で定義さ
れる楕円曲線En 上で構成される公開鍵暗号装置との二
つを提供する。以下、前者を「乗法群に基づく公開鍵暗
号装置」と呼び、後者を「楕円曲線に基づく公開鍵暗号
装置」と呼ぶことにする。Specifically, the present invention provides two types of public key encryption devices. Assuming that p and q are two prime numbers and n = p 2 q, one consisting of an irreducible remainder class group (Z / nZ) * modulo n and n = pq
And a public key cryptosystem constructed on an elliptic curve En defined on a coset ring Z / nZ modulo n . Hereinafter, the former will be referred to as a “public key cryptographic device based on a multiplicative group”, and the latter will be referred to as a “public key cryptographic device based on an elliptic curve”.
【0018】有限素体Fp 上の楕円曲線で、位数がpの
ものを anomalous楕円曲線と呼ぶことにする。この ano
malous楕円曲線上の離散対数問題が非常に効率良く計算
出来ることが、Smart,N.P.によって、“ The Discrete
Logarithm Problem on Elliptic Curves of Trace one,
preprint(September,1997)”において(以下、この文献
を文献9と称す)、佐藤考和等によって、“Fermat Quo
tient and the Polynomial Time Discrete Logarithm f
or Anomalous Elliptic Curves,preprint(September,19
97) ”において(以下、この文献を文献10と称す)、
それぞれ独立に論及されている。この anomalous楕円曲
線における離散対数問題を解くアルゴリズムを、以下で
はSSAアルゴリズムと呼ぶことにする。An elliptic curve on the finite prime field F p with order p is called anomalous elliptic curve. This ano
Smart, NP shows that the discrete logarithm problem on a malous elliptic curve can be calculated very efficiently.
Logarithm Problem on Elliptic Curves of Trace one,
preprint (September, 1997) "(hereinafter, this document is referred to as reference 9), by" Fermat Quo "
tient and the Polynomial Time Discrete Logarithm f
or Anomalous Elliptic Curves, preprint (September, 19
97) ”(hereinafter, this document is referred to as document 10).
Each is discussed independently. The algorithm for solving the discrete logarithm problem in the anomalous elliptic curve will be hereinafter referred to as an SSA algorithm.
【0019】特に、後者の論文中で示唆されていること
として、ある種の群のp-Sylow 部分群における離散対数
問題が、非常に効率良く解けるという事実がある。ここ
で、p-Sylow 部分群とは、例えば、有限群Hが与えられ
ているとき、Hの部分群の中で、位数がpの巾となるも
のの中で最も位数が大きなものをHのp-Sylow 部分群と
いう。この発明では、このある種の群のp-Sylow 部分群
における離散対数問題が非常に効率良く解けることを利
用して、ある種の安全性の証明がつけられる、新しい公
開鍵暗号を提供する。In particular, what is suggested in the latter paper is the fact that the discrete log problem in the p-Sylow subgroup of certain groups can be solved very efficiently. Here, the p-Sylow subgroup, e.g., when a finite group H is given, among the subgroup of H, most of order among those of order is width of p is a large H Called the p-Sylow subgroup of. The present invention provides a new public-key cryptosystem that has a certain security proof by utilizing the fact that the discrete logarithm problem in the p-Sylow subgroup of a certain group can be solved very efficiently.
【0020】pを奇素数として、p2 を法とした既約剰
余類群(Z/p2 Z)* において、そのp-Sylow 部分群
Γ、即ち、この場合は位数pの部分群になるが、これは
次のように書ける:
Γ={x∈(Z/p2 Z)* |x≡1(mod p)} (15)
(Z/p2 Z)* における離散対数問題は、現在のとこ
ろ、非常に難しい問題であると信じられていて、効率の
良いアルゴリズムはまだ発見されていない、しかし、Γ
における離散対数問題は非常に効率良く解ける。実際、
次のようなΓ上定義された関数を考える:
L(x)=(x−1)/p,x∈Γ (16)
この関数の値は、有限素体Fp になるとみなせる。する
と、この関数Lは、任意のa,b∈Γに対して
L(ab)=L(a)+L(b)mod p (17)
なる性質を持つことが簡単に分かり、この関数は、Γか
らFp への群としての同型写像を与えていることも分か
る。このLの計算量は、pのビット数をkとすればk2
のオーダーであることが簡単に分かる。従って、Γにお
ける離散対数問題、即ち、x∈Γ,mを0<m<pから
任意とり、y=xm とおいて、x,yからmを求める問
題については、式(17)から
L(y)=L(xm )=mL(x)mod p (18)
となるので、L(x)≠0mod pであれば
m=L(y)/L(x)mod p (19)
と、効率良く求めることが出来る。x,yから、mを求
める計算量は、pのビット数をkとすれば、k3 のオー
ダーで出来る。[0020] p is a odd prime, p 2 modulo and the irreducible coset group (Z / p 2 Z) at *, the p-Sylow subgroup gamma, i.e., this case is subgroup of order p Which can be written as: Γ = {x∈ (Z / p 2 Z) * | x≡1 (mod p)} (15) The discrete logarithm problem in (Z / p 2 Z) * is At the moment, it is believed to be a very difficult problem and an efficient algorithm has not been found yet, but
Can be solved very efficiently. In fact,
Given the above defined function Γ as follows: L (x) = (x -1) / p, x∈Γ (16) The value of this function, Rutominaseru such a finite element F p. Then, it is easily understood that this function L has a property of L (ab) = L (a) + L (b) mod p (17) for arbitrary a, b∈Γ. It can also be seen that they give the isomorphism as a group from to F p . If the number of bits of p is k, k 2
It is easy to see the order. Therefore, for the discrete logarithm problem in Γ, that is, the problem of obtaining m from x, y, where x∈Γ, m is arbitrarily taken from 0 <m <p and y = x m , y) = L (x m ) = mL (x) mod p (18) Therefore, if L (x) ≠ 0 mod p, m = L (y) / L (x) mod p (19) It can be obtained efficiently. x, the y, the calculation amount for obtaining the m is the number of bits of p if k, can be in the order of k 3.
【0021】この性質を用いれば、全く新しい「落し
戸」が構成出来、新しい公開鍵暗号が構成出来る。ま
ず、中国人剰余定理(中国人剰余定理は、例えば、岡本
・山本著、“現代暗号”、pp.15、産業図書(19
97)を参照。以下、この文献を文献11と称す)より
(Z/nZ) * 〜(Z/p2 Z)* ×(Z/qZ)* (20)
〜Γ×(Z/pZ)* ×(Z/qZ)* (21)
が成り立つので、「乗法群に基づく公開鍵暗号装置」
は、以下で定められる:g∈(Z/nZ)* でgp =g
p-1 mod p2 ∈ΓがL(g p )≠0mod pを満たすものを
取り、n,g,kを公開鍵とする。ここで、kは、素数
p,qのビット数とする。平文mを0<m<2k-1 から
取る自然数とすると、rをZ/nZから任意に取り、暗
号化を次で定める
C=gm+rn mod n (22)
復号は、CをΓの元に変換することが出来れば、nの素
因子pを知っているものは、上述の関数Lを用いて効率
良くその離散対数を求めることが出来、mは0<m<2
k-1 の範囲にあるので、mod pでは一意に定まり、した
がって、効率良く復号が出来る。CをΓの元に変換する
方法は、
Cp =Cp-1 mod p2 (23)
とすれば、Cp ∈Γとなり、上記L関数を用いて離散対
数を効率的に解くことができる。また、この公開鍵暗号
を解読することは、公開鍵nを素因数分解することと、
即ち、IFPと等価であることが証明できる。Using this property, a completely new "door trap" can be constructed, and a new public key cryptosystem can be constructed. First, the Chinese Remainder Theorem (Chinese Remainder Theorem is described in, for example, Okamoto and Yamamoto, “Modern Cryptography”, pp. 15, Industrial Books (19)
97). Hereinafter, (Z / nZ from this document referred to as Document 11)) * ~ (Z / p 2 Z) * × (Z / qZ) * (20) ~ Γ × (Z / pZ) * × (Z / qZ * Since (21) holds, "public key cryptosystem based on multiplicative group"
Is defined as: g∈ (Z / nZ) * and g p = g
Let p−1 mod p 2 } satisfy L (g p ) ≠ 0 mod p, and use n, g, and k as public keys. Here, k is the number of bits of the prime numbers p and q. Assuming that the plaintext m is a natural number taking from 0 <m <2 k−1 , r is arbitrarily taken from Z / nZ, and encryption is determined as follows: C = g m + rn mod n (22) If the elementary factor p of n is known, the discrete logarithm can be efficiently obtained using the function L described above, and m is 0 <m <2.
Since it is in the range of k-1 , it is uniquely determined by mod p, and therefore, decoding can be performed efficiently. The method of converting C into an element of Γ is C pれ ば if C p = C p -1 mod p 2 (23), and the discrete logarithm can be efficiently solved using the above L function. . Also, decrypting this public key cryptosystem involves decomposing the public key n into prime factors,
That is, it can be proved that it is equivalent to IFP.
【0022】この発明の「乗法群に基づく公開鍵暗号装
置」においては、暗号化装置は、平文と乱数を組み合わ
せて、法nで巾乗計算のための指数部分を生成する指数
生成部、mod nでの巾乗計算を行う、n−巾乗計算器か
らなり、n−巾乗計算器で生成された暗号文を通信回線
に送出する。一方、復号装置は、法p2 でのp−1乗計
算を行う、Γ−変換部とΓにおける離散対数問題を解い
て復号する、離散対数解法部からなる。In the "public key cryptosystem based on the multiplicative group" of the present invention, the cryptosystem combines an plaintext and a random number to generate an exponent part for the exponentiation calculation by the modulus n, mod It consists of an n-power calculator, which performs a power calculation with n, and sends out the ciphertext generated by the n-power calculator to the communication line. On the other hand, the decoding device includes a Γ-conversion unit and a discrete logarithm solving unit that solves and decodes the discrete logarithm problem in Γ, performing the p−1 power calculation with the modulus p 2 .
【0023】次に、この発明の「楕円曲線に基づく公開
鍵暗号装置」について述べる。これに対しても同様に、
二つの素数p,qを取り、n=pqとし、Fp 、Fq 上
の楕円曲線Ep 、Eq がそれぞれ次で与えられていると
する:
Ep :y2 =x3 +ap x+bp
(ap ,bp ∈Fp ,4ap 3 +27bp 2 ≠0), (24)
Eq :y2 =x3 +aq x+bq
(aq ,bq ∈Fq ,4aq 3 +27bq 2 ≠0), (25)
a=ap mod p、b=bp mod p、a=aq mod q、b
=bq mod qなるa、bは、中国人剰余定理よりmod n
で一意に定まり、Z/nZ上で定義された楕円曲線
En :y2 =x3 +ax+b(a,b∈Z/nZ,GCD(4a3
+27b2 ,n)=1) (26)
を得る。以下、特別にことわらない限りは、上述のよう
に中国人剰余定理を用いて得られる関係にあるものは
En =〔Ep ,Eq 〕,a=〔ap ,aq 〕,b=〔bp ,bq 〕 (27)
などと表すことにする。また、特に、法を強調したいと
きは
En =〔Ep mod p,Eq mod q〕 (28)
などともあらわすことにする。Next, the "public key cryptosystem based on the elliptic curve" of the present invention will be described. Again,
Two prime p, take q, and n = pq, F p, the elliptic curve E p over F q, E q respectively and are given in the following: E p: y 2 = x 3 + a p x + b p (a p, b p ∈F p, 4a p 3 + 27b p 2 ≠ 0), (24) E q: y 2 = x 3 + a q x + b q (a q, b q ∈F q, 4a q 3 + 27b q 2 ≠ 0), (25) a = a p mod p, b = b p mod p, a = a q mod q, b
= B q mod q a and b are mod n according to the Chinese Remainder Theorem.
In uniquely determined, Z / nZ on the elliptic curve defined by E n: y 2 = x 3 + ax + b (a, b∈Z / nZ, GCD (4a 3 + 27b 2, n) = 1) obtaining (26) . Hereinafter, unless otherwise specified in particular, what is the relationship obtained using the Chinese remainder theorem, as described above E n = [E p, E q], a = [a p, a q], b = [B p , b q ] (27) In particular, when it is desired to emphasize the law to be expressed also E n = [E p mod p, E q mod q ] (28) and the like.
【0024】今、Ep は anomalous楕円曲線、Eq は a
nomalousでない楕円曲線とする。このとき、上述の「乗
法群に基づく公開鍵暗号装置」と同様にn、En 、En
(Z/nZ)の点G,kを公開鍵としておく。但し、G
は十分大きな(例えばビット数がnと同じ)位数を持つ
ものとしておき、kは、素数p、qのビット数とする。
このとき、平文mを0<m<2k-1 から取ることにする
と、rをZ/nZから任意に取り、暗号化を次で定める
C=(m+rn)G∈En (Z/nZ) (29)
復号は、nの素因子pを知っているものは、この暗号文
の定義式をmod pとして、Ep (Fp )の点の間の関係
式に変換することが出来るので、上述のSSAアルゴリ
ズムを用いて効率良くその離散対数を求めることが出
来、したがって効率良く復号が出来る。また、この公開
鍵暗号を解読することは、公開鍵nと anomalous楕円曲
線と anomalousでない楕円曲線から中国人剰余定理を用
いて得られるZ/nZ上の楕円曲線En ,点Gが与えら
れたとき、これから、nを素因数分解することと等価で
あることが証明できる。即ち、このn、En と、その曲
線上の点Gが与えられたとき、nを素因数分解する問題
を、変形素因数分解問題(以下では、MIFPと表すこ
とにする)と呼ぶことにすると、この楕円曲線En を用
いた暗号を解読することは、MIFPと等価であること
が証明できる。[0024] Now, E p is anomalous elliptic curve, E q is a
Elliptic curves that are not nomalous. At this time, similarly to the "public key encryption system based on the multiplicative group" described above n, E n, E n
The points G and k of (Z / nZ) are set as public keys. Where G
Has a sufficiently large order (for example, the number of bits is the same as n), and k is the number of bits of the prime numbers p and q.
At this time, if the plaintext m is taken from 0 <m <2 k−1 , r is arbitrarily taken from Z / nZ, and encryption is determined as follows: C = (m + rn) G∈E n (Z / nZ) (29) In the decryption, those who know the prime factor p of n can be converted into a relational expression between the points of E p (F p ) by using the definition of this cipher text as mod p. The discrete logarithm can be efficiently obtained by using the above-described SSA algorithm, and thus decoding can be efficiently performed. Decryption of this public key cryptosystem is performed by giving the elliptic curve E n and the point G on Z / nZ obtained from the public key n, anomalous elliptic curve and non-anomalous elliptic curve using the Chinese remainder theorem. From this, it can be proved that this is equivalent to the factorization of n. That is, the n, and E n, when given the G point on the curve, the factoring problem n, deformation factorization problem (hereinafter, will be expressed as MIFP) When is referred to as, decrypting the encrypted using the elliptic curve E n can be demonstrated to be equivalent and MIFP.
【0025】この発明の「楕円曲線に基づく公開鍵暗号
装置」においては、暗号化装置は、平文と乱数を組み合
わせて、En (Z/nZ)における巾乗計算のための指
数部分を生成する指数生成部、En (Z/nZ)での巾
乗計算を行う、En- 巾乗計算器からなり、En- 巾乗計算
器で生成された暗号文を通信回線に送出する。一方、復
号装置は、En (Z/nZ)の点をEp (Fp )の点に
変換するmod p−還元器と、Ep (Fp )における離散
対数問題を解いて復号する、SSAアルゴリズム部から
なる。[0025] In "public key cryptography based on elliptic curve device" of the present invention, the encryption device combines the plaintext and the random number, and generates an exponent portion for an exponent calculation in E n (Z / nZ) exponent generating unit, performs the width <br/> power calculating at E n (Z / nZ), E n- an exponent consists calculator, a ciphertext generated by the E n-an exponent calculator to the communication line Send out. On the other hand, the decoding apparatus decodes by solving a mod p-reducing device for converting a point E n (Z / nZ) to a point E p (F p), the discrete logarithm problem in E p (F p), It consists of an SSA algorithm unit.
【0026】[0026]
【発明の実施の形態】はじめに、この発明による「乗法
群に基づく公開鍵暗号装置」、「楕円曲線に基づく公開
鍵暗号装置」それぞれの基本は機能構成を述べ、後に、
それぞれの各部における一実施例について説明する。ま
ずは、「乗法群に基づく公開鍵暗号装置」について、
(1)鍵の生成
奇素数p、qを任意に選び、n=p2 qとする。ただ
し、p、qのビット数は同じでkとする。また、GCD
(p,q−1)=1を満たしているとする。DESCRIPTION OF THE PREFERRED EMBODIMENTS First, the basics of the "public key cryptosystem based on the multiplicative group" and the "public key cryptosystem based on the elliptic curve" according to the present invention will be described.
An example in each section will be described. First, regarding the “public key cryptosystem based on the multiplicative group”, (1) The generated odd prime numbers p and q of the key are arbitrarily selected, and n = p 2 q. However, the number of bits of p and q is the same and k. Also, GCD
It is assumed that (p, q-1) = 1 is satisfied.
【0027】さらに、gを(Z/nZ)* の中から、g
p =gp-1 mod p2 が(Z/p2 Z)* の中での位数が
pとなるものを取る。すると、上述の関数LでL
(gp )≠0mod pが成立する。実際、(Z/p2 Z)
* の中での位数がpとなるものは1+kpmod p2 (k
はpで割れない)と表せ、したがってL(1+kp)=
((1+kp)−1)/p=k≠0mod pとなるからで
ある。また、具体的に、gを生成する方法としては、ラ
ンダムにgを(Z/nZ)* から選ぶと、L(gp )≠
0mod pとなる確率は1−(1/p)程度と考えられる
ので、無視出来ない確率で選ぶことが出来る。利用者
は、公開は出来ないが、システムパラメータの一つとし
てL(gp )-1mod pをあらかじめ計算しておくことに
する。Further, g is calculated from (Z / nZ) *
Let p = g p−1 mod p 2 be the one whose order in (Z / p 2 Z) * is p. Then, the function L
(G p ) ≠ 0 mod p holds. In fact, (Z / p 2 Z)
The order of * in * is 1 + kpmod p 2 (k
Is not broken by p), and therefore L (1 + kp) =
This is because ((1 + kp) -1) / p = k ≠ 0 mod p. Further, specifically, as a method of generating g, if g is randomly selected from (Z / nZ) * , L (g p ) ≠
Since the probability of 0 mod p is considered to be about 1- (1 / p), it can be selected with a probability that cannot be ignored. Although the user cannot disclose the information, L (g p ) -1 mod p is calculated in advance as one of the system parameters.
【0028】従って、(n,g,k)を公開鍵(p,
q)を秘密鍵とする。ここでL(gp)-1mod pも秘密
鍵と考えて良い。
(2)暗号化処理
平文m(但し、0<m<2k-1 )に対して、まず、乱数
rを0<r<nの範囲から選び、m+rnを計算し、暗
号文Cは以下のように計算する。Therefore, (n, g, k) is replaced with the public key (p,
q) is a secret key. Here, L (g p ) -1 mod p may be considered as a secret key. (2) For the encrypted plaintext m (where 0 <m <2 k−1 ), first, a random number r is selected from the range of 0 < r <n, and m + rn is calculated. Is calculated as follows.
【0029】
C=gm+rnmod n (30)
(3)復号処理
暗号文Cの定義式(30)の両辺を、それぞれp−1乗す
ると、mod nでの合同式は、勿論、mod p2 でも成立
し、gp mod p2 の位数はpであり、rnはpの倍数で
あってgp rn=1となるから、
Cp-1 =g(p-1)(m+rn) =gp m ×gp rnmod p2 =gp m mod p2
(31)
従って
Cp =Cp-1 mod p2 (32)
とおけば
Cp =gp m mod p2 (33)
Cp ,gp ∈Γであるから、上述で定義した関数Lを使
うと
L(Cp )=L(gp m )=mL(gp )mod p (34)
即ち
m=L(Cp )/L(gp )mod p (35)
となり、復号出来る。C = g m + rn mod n (30) (3) When both sides of the definition equation (30) of the decryption cipher text C are raised to the p−1 power, the congruence of mod n is, of course, mod Since p 2 holds, the order of g p mod p 2 is p, and rn is a multiple of p and g p rn = 1, so that C p-1 = g (p-1) (m + rn) = g p m × g p rn mod p 2 = g p m mod p 2 (31) Therefore, if C p = C p-1 mod p 2 (32), C p = g p m mod p 2 ( 33) Since C p and g p }, using the function L defined above, L (C p ) = L (g p m ) = mL (g p ) mod p (34) That is, m = L ( C p ) / L (g p ) mod p (35) and can be decoded.
【0030】従って、復号処理を整理すると、まず、暗
号文Cに対して、式(32)でCp を計算し、次にL(C
p )を計算し、最後にL(Cp )と、あらかじめ計算し
ておくことが出来るL(gp )-1mod pとのmod pでの
積を取って復号出来る。
(3)「乗法群に基づく公開鍵暗号装置」が、受動的攻
撃に対して安全であることの証明。Therefore, when the decryption processing is arranged, first, C p is calculated for the cipher text C by equation (32), and then L (C
p ) is calculated, and finally, the product of L (C p ) and L (g p ) -1 mod p, which can be calculated in advance, by taking the product of mod p, can be decoded. (3) Proof that the "public key cryptosystem based on the multiplicative group" is secure against passive attacks.
【0031】「乗法群に基づく公開鍵暗号装置」を解読
することと、nを素因数分解することが同値であること
を示す。nを無視できない確率で素因数分解するアルゴ
リズムが存在すれば、明らかに「乗法群に基づく公開鍵
暗号装置」を解読する平均的多項式時間アルゴリズムが
構成できるので、ここでは、次の事実のみを証明する:
“「乗法群に基づく公開鍵暗号装置」を無視できない確
率で解読するアルゴリズムA存在するならば、nを素因
数分解する平均的多項式時間アルゴリズムを構成出来
る”(ここで、上述の“nを無視できない確率で素因数
分解するアルゴリズム”という意味は、そのアルゴリズ
ムを入力nのビット数の多項式オーダー程度繰り返し適
用することによって、かならず素因数分解出来るアルゴ
リズムのことである。以下、同様の使い方をする。厳密
な定義は、文献11を参照)
実際、今、合成数n(=p2 q)が与えられているとす
ると、ランダムにg∈(Z/nZ)* を選んで、この発
明の公開鍵暗号装置のパラメータとして、無視できない
確率でとることが出来て、次に、xをZ/nZからラン
ダムに選ぶとき、xmod pLCM(p−1,q−1)の
分布と、この発明の公開鍵暗号装置における、暗号化処
理時の途中の計算に出てくる、m+rnに対する、m+
rn modpLCM(p−1,q−1)の分布の差は、無
視できる確率であることが証明できる。従って、Z/n
Zからランダムにxを選び、C=gx mod nで計算され
たCは、無視できない確率で暗号文だと、アルゴリズム
Aは認識し、Cに対応する平文x0 を出力する。今、x
が、x<2k-1 なる範囲の数となる確率は無視できるの
で、無視できない確率でx>2k-1 としてよく、する
と、x≡x0 (mod p)、また、x0 <2K-1 より、x
≡x0 (mod n)が不成立となり、したがって、GCD
(x−x0 ,n)を計算すると、この値はp,pq,p
2 のいずれかとなり、nを素因数分解することが出来
る。全体として、nのビット数の平均的多項式時間で素
因数分解出来る。つまりnを素因数分解することと同値
であって、受動的攻撃に対する安全性が高い。It is shown that decrypting the "public key cryptosystem based on the multiplicative group" is equivalent to decomposing n into prime factors. If there is an algorithm for factoring n with a probability that n cannot be ignored, an average polynomial time algorithm that can decipher the "public key cryptosystem based on the multiplicative group" can be constructed, so here we prove only the following facts :
"If there is an algorithm A that can decipher the" public key cryptosystem based on the multiplicative group "with a nonnegligible probability, an average polynomial time algorithm for factoring n can be constructed." The term "algorithm for probabilistic factorization" means an algorithm that can always be factored by repeatedly applying the algorithm to a polynomial order of the number of bits of the input n. The same usage will be used hereinafter. Actually, assuming that the composite number n (= p 2 q) is given, g∈ (Z / nZ) * is selected at random, and the public key encryption device of the present invention is As a parameter, it can be taken with a nonnegligible probability. Then, when x is randomly selected from Z / nZ, xmod pLCM (p−1, q− The distribution of 1) and m + rn with respect to m + rn appearing in the calculation during encryption processing in the public key cryptographic device of the present invention.
It can be proved that the difference between the distributions of rn modpLCM (p-1, q-1) is a negligible probability. Therefore, Z / n
Randomly selected x from Z, C = g x mod n C calculated by, when it ciphertext not negligible probability, the algorithm A will recognize, and outputs the plaintext x 0 corresponding to C. Now, x
However, since the probability that the number is in the range of x <2 k−1 can be ignored, x > 2 k−1 may be set as a non-negligible probability. Then, x≡x 0 (mod p) and x 0 <2 From K-1 , x
≡x 0 (mod n) is not satisfied, and therefore GCD
When (x−x 0 , n) is calculated, this value is p, pq, p
2 and n can be factored. As a whole, the prime factorization can be performed in the average polynomial time of n bits. In other words, this is equivalent to the factorization of n, and the security against passive attacks is high.
【0032】次に、「楕円曲線に基づく公開鍵暗号装
置」について、暗号の構成法、及び、変形素因数分解問
題と等価であることについて述べる。まず最初に、復号
に利用するSSAアルゴリズムについて述べる。有限素
体Fp 上の anomalous楕円曲線E上の離散対数問題と
は、そのFp −有理点G,Pが与えられたとき、P=m
Gとなるm∈Z/pZを求めることであるが、SSAア
ルゴリズムは、上でも述べたが、 anomalous楕円曲線上
の離散対数問題の解法を与えるアルゴリズムで、有限素
体Fp 上の anomalous楕円曲線であれば、pのビット数
をkとして、計算量はk3 のオーダーである効率的なア
ルゴリズムであって、具体的には次のような手順とな
る:SSAアルゴリズム
入力:(G,P,E)
出力:m手順1
EをZ上に持ち上げた楕円曲線E′で、E(F
p )からFp への写像λ E ′が、自明な写像にならない
ものを選ぶ。これは、pのビット数をkとすれば、k2
のオーダーで計算できる。手順2
手順1で構成した写像λE ′を使ってλE ′
(G),λE ′(P)を計算し(これはk3 のオーダー
で出来る)、m=λE ′(P)/λE ′(G)modpを
計算する(これは、k3 のオーダーで出来る)
いずれにしても、pのビット数をkとすれば、SSAア
ルゴリズムの計算量はk3 のオーダーである。この
λE ′は、E(Fp )からFp への群としての同型写像
をあたえる。なお、λE ′の構成方法など、詳しくは、
文献10を参照。またpが5以下であればSSAアルゴ
リズムを用いることなく効率的に解ける。
(1)鍵の生成
奇素数p、qを任意に選び、n=pqとする。ただし、
p、qのビット数は同じでkとする。次に、Fp 上の a
nomalous楕円曲線Ep ,Fq 上の anomalousでない楕円
曲線Eq を選ぶ:
Ep :y2 =x3 +ap x+bp
(ap ,bp ∈Fp ,4ap 3 +27bp 2 ≠0), (36)
Eq :y2 =x3 +aq x+bq
(aq ,bq ∈Fq ,4aq 3 +27bq 2 ≠0), (37)
但し、#Ep (Fp )=p,#Eq (Fq )=q ′=q
+1−t(−2√q<t<2√q,t≠1,q′≠p)
を満たすとする。#は集合の元(要素)の数を表わす。
期待する位数を持つ楕円曲線の構成方法は、虚数乗法論
を援用した比較的効率の良い生成方法が提案されてい
て、特に、 anomalous楕円曲線の生成については、例え
ば、IEICE Trans.Fundamentals,E76-A,1,pp.50-54(199
3) において、“Elliptic Curve Suitable for Cryptog
raphy”と題して、Miyaji, A.により論及されてい
る。(以下、この文献を文献12と称す)さらに、Ep
(Fp ),Eq (Fq )各々の点Gp ,Gq で、位数が
ord(Gp )=p,ord(Gq )=q′なるものを選ぶと仮
定する。ここで、Eq (Fq )は、一般には巡回群にな
るとは限らないが、ここでは簡単のためこう仮定してお
く。一般には、q′が十分大きな素因子をもつようなも
のにし、その大きな素数を位数とする点をGq と取って
良い。次に、中国人剰余定理を使って、Z/nZ上の楕
円曲線En を作る:
En :y2=x3+ax+b(a,b ∈Z/nZ,GCD(4a3+27b2,n)=1) (38)
すなわち、すでに定義した記号で書けば
En =〔Ep,Eq 〕,a=〔ap,aq 〕,b=〔bp,bq 〕 (39)
である。また
G=〔Gp ,Gq 〕 (40)
としておく。Next, "Public key cryptosystem based on elliptic curve"
”, The cryptographic construction method and the modified prime factorization
It is described that it is equivalent to the title. First, decrypt
The SSA algorithm used for will be described. Finite element
Body FpDiscrete logarithm problem on anomalous elliptic curve E on
Is the Fp-Given rational points G and P, P = m
To find m∈Z / pZ that gives G,
The algorithm is also mentioned above, but on the anomalous elliptic curve
Is an algorithm that solves the discrete logarithm problem of
Body FpIf the above anomalous elliptic curve, the number of bits of p
Is k, and the calculation amount is kThreeEfficient order
Algorithm, specifically, the following steps:
RU:SSA algorithm
Input: (G, P, E)
Output: mStep 1
An elliptic curve E ′ obtained by lifting E on Z gives E (F
p) To FpMapping λ to E′ Is not a trivial mapping
Choose one. This is given by k assuming that the number of bits of p is k.Two
Can be calculated in the order ofStep 2
Mapping λ constructed in step 1EUsing λE′
(G), λE'(P) (this is kThreeOrder
), M = λE'(P) / λE'(G) modp
Calculate (this is kThreeCan be ordered)
In any case, if the number of bits of p is k, the SSA address
The computational complexity of the algorithm is kThreeIt is an order. this
λE′ Is E (Fp) To FpIsomorphism as a group to
Give. Note that λE′
See reference 10. If p is 5 or less, SSA algo
Can be solved efficiently without using rhythm.
(1) Key generation
The odd prime numbers p and q are arbitrarily selected, and n = pq. However,
The number of bits of p and q is the same and k. Next, FpOn a
nomalous elliptic curve Ep, FqNon-anomalous ellipse on
Curve EqChoose:
Ep: YTwo= XThree+ Apx + bp
(ap, Bp∈Fp, 4ap Three+ 27bp Two≠ 0), (36)
Eq: YTwo= XThree+ Aqx + bq
(aq, Bq∈Fq, 4aq Three+ 27bq Two≠ 0), (37)
However, #Ep(Fp) = P, #Eq(Fq) =q'= Q
+ 1-t (-2√q<t<2√q, t ≠ 1, q '≠ p)
Suppose that # Represents the number of elements (elements) in the set.
The construction method of the elliptic curve with the expected order is imaginary multiplication theory
A relatively efficient generation method has been proposed with the help of
And especially for the generation of anomalous elliptic curves,
For example, IEICE Trans. Fundamentals, E76-A, 1, pp. 50-54 (199
3), “Elliptic Curve Suitable for Cryptog
raphy ”, which was discussed by Miyaji, A.
You. (Hereinafter, this document is referred to as Document 12.)p
(Fp), Eq(Fq) Each point Gp, GqAnd the order is
ord (Gp) = P, ord (Gq) = Q '
Set. Where Eq(Fq) Is generally a patrol group.
This is not always the case, but here we assume
Good. In general, if q 'has a sufficiently large prime factor,
And the point where the large prime number is the order is GqTake
good. Next, using the Chinese Remainder Theorem, the ellipse on Z / nZ
Circular curve Enmake:
En: yTwo= xThree+ ax + b (a, b ∈Z / nZ, GCD (4aThree+ 27bTwo, n) = 1) (38)
In other words, if you write with the symbols already defined
En= [Ep,Eq], A = [ap,aq], B = [bp,bq] (39)
It is. Also
G = [Gp, Gq] (40)
And keep it.
【0033】さらに、SSAアルゴリズムを用いて、公
開はせずに、システムパラメータの一つとしてあらかじ
めλEp′(Gp )-1mod pを計算しておく。これも秘密
鍵の一つとして考えて良い。以下、簡単のために、この
写像をλと書く。従って、(n,En ,G,k)を公開
鍵、(p,q)を秘密鍵とする。ここで、Ep ,Eq ,
Gp ,Gq ,λ(Gp )-1mod pも秘密鍵と考えてもよ
い。
(2)暗号化処理
平文m(但し、0<m<2k-1 )に対して、まず、乱数
rを0<r<nの範囲から選び、m+rnを計算し、暗
号文Cは以下のように計算する。Further, using the SSA algorithm, λ Ep ′ (G p ) −1 mod p is calculated in advance as one of the system parameters without disclosure. This can also be considered as one of the secret keys. Hereinafter, for the sake of simplicity, this mapping is written as λ. Therefore, the (n, E n, G, k) the public key, the private key (p, q). Where E p , E q ,
G p , G q , and λ (G p ) -1 mod p may also be considered as secret keys. (2) For the encrypted plaintext m (where 0 <m <2 k−1 ), first, a random number r is selected from the range of 0 < r <n, and m + rn is calculated. Is calculated as follows.
【0034】
C=(m+rn)G∈En (Z/nZ) (41)
但し、これは、楕円曲線En 上の加法を用いて、点Gを
m+rn倍したものであって、暗号文が楕円曲線上の点
であることに注意。すなわち、二つのZ/nZの元の組
である。(あえて書けば、C=(Cx,Cy),Cx,
Cy∈Z/nZ)
(3)復号処理
暗号文Cの定義式(41)の両辺を、それぞれmod pと
すると、rnはpの倍数であってrnG modp=0とな
るから、
Cp =(m+rn)Gp =mGp ∈Ep (Fp ) (42)
なる、anomalous 楕円曲線における離散対数問題に変換
される。ここで、C=[Cp ,Cq ]とおいた。[0034] C = (m + rn) G∈E n (Z / nZ) (41) However, this is by using the addition on the elliptic curve E n, be those points G and m + rn times, ciphertext Note that this is a point on the elliptic curve. That is, it is an original set of two Z / nZ. (Dare to write, C = (Cx, Cy), Cx,
Cy∈Z / nZ) (3) Assuming that both sides of the definition equation (41) of the decryption process cipher text C are mod p, rn is a multiple of p and rnG modp = 0, so that C p = ( m + rn) becomes G p = mG p ∈E p ( F p) (42), it is converted to the discrete logarithm problem in the anomalous elliptic curve. Here, C = [C p , C q ].
【0035】従ってSSAアルゴリズムを用いてmは求
められる。実際、λの準同型性により、
λ(Cp )=λ(mGp )=mλ(Gp )mod p (43)
即ち
m=λ(Cp )/λ(Gp )mod p (44)
となり、復号出来る。Accordingly, m is obtained using the SSA algorithm. In fact, due to the homomorphism of λ, λ (C p ) = λ (mG p ) = mλ (G p ) mod p (43), ie, m = λ (C p ) / λ (G p ) mod p (44) And can be decrypted.
【0036】従って、復号処理を整理すると、まず、暗
号文Cに対して、C=Cp mod pを計算し、次にλ(C
p )を計算し、最後にλ(Cp )と、あらかじめ計算し
ておくことが出来るλ(Gp )-1mod pとのmod pでの
積を取って復号出来る。
(3)「楕円曲線に基づく公開鍵暗号装置」が、受動的
攻撃に対して安全であることの証明。「楕円曲線に基づ
く公開鍵暗号装置」を解読することと、公開鍵(n,E
n ,G,k)という情報からnを素因数分解することが
同値であることを示す。即ち、変形素因数分解問題と同
値であることを示す。Therefore, when the decryption processing is arranged, first, for the ciphertext C, C = C p mod p is calculated, and then λ (C
p ) is calculated, and finally the product can be decoded by taking the product of λ (C p ) and λ (G p ) -1 mod p which can be calculated in advance by mod p. (3) Proof that the "public key cryptosystem based on elliptic curves" is secure against passive attacks. Decrypting the “public key cryptographic device based on elliptic curve” and the public key (n, E
n , G, k) indicates that it is the same value to perform a prime factorization of n. In other words, it is equivalent to the modified prime factorization problem.
【0037】nを無視できない確率で素因数分解するア
ルゴリズムが存在すれば、明らかに「楕円曲線に基づく
公開鍵暗号装置」を解読する平均的多項式時間アルゴリ
ズムが構成できるので、ここでは、次の事実のみを証明
する:“「楕円曲線に基づく公開鍵暗号装置」を無視で
きない確率で解読するアルゴリズムB存在するならば、
nを素因数分解する平均的多項式時間アルゴリズムを構
成出来る”(ここで、上述の“nを無視できない確率で
素因数分解するアルゴリズム”という意味は、そのアル
ゴリズムを入力nのビット数の多項式オーダー程度繰り
返し適用することによって、かならず素因数分解出来る
アルゴリズムのことである。以下、同様の使い方をす
る。厳密な定義は、文献11を参照)
実際、今、合成数n(=pq)が与えられているとする
と、zをZ/nZからランダムに選ぶとき、zmod LC
M(p−1,q−1)の分布と、我々の公開鍵暗号シス
テムにおける、暗号化処理時の途中の計算に出てくる、
m+rnに対する、m+rn modpq′の分布の差は、
無視できる確率であることが証明できる。従って、Z/
nZからランダムにzを選び、C=zG∈En (Z/n
Z)で計算されたCは、無視できない確率で暗号文だ
と、アルゴリズムBは認識し、Cに対する平文z0 を出
力する。今、zが、z<2k-1 なる範囲の数となる確率
は無視できるので、無視できない確率でz>2k-1 とし
てよく、すると、z≡z0 (mod p)、また、z0 <2
k-1 より、z≡z0 (mod n)が不成立となり、したが
って、GCD(z−z0 ,n)を計算すると、この値は
pとなり、nを素因数分解することが出来る。全体とし
て、nのビット数の平均的多項式時間で素因数分解出来
る。If there is an algorithm for factoring n with a probability that n cannot be ignored, an average polynomial time algorithm for decrypting a “public key cryptographic device based on an elliptic curve” can obviously be constructed. Proof: "If there is an algorithm B that decrypts the" public key cryptographic device based on an elliptic curve "with a nonnegligible probability,
An average polynomial time algorithm for factoring n can be constructed. ”(Here, the above-mentioned“ algorithm for factoring n with a nonnegligible probability ”means that the algorithm is repeatedly applied to the order of the polynomial of the number of bits of input n. This is an algorithm that can always be factored by using the following method. The same usage is used below. For a strict definition, see Reference 11.) In fact, if a composite number n (= pq) is given now , Z is randomly selected from Z / nZ, zmod LC
The distribution of M (p-1, q-1) and the calculation in the middle of the encryption process in our public key cryptosystem appear in
The difference in the distribution of m + rn modpq ′ with respect to m + rn is
It can be proved that the probability is negligible. Therefore, Z /
z is randomly selected from nZ, and C = zG∈E n (Z / n
C calculated in Z), when it ciphertext not negligible probability, the algorithm B recognizes outputs the plaintext z 0 for C. Now, since the probability that z becomes a number in the range of z <2 k−1 can be ignored, z > 2 k−1 may be set as a non-negligible probability. Then, z≡z 0 (mod p) and z 0 <2
From k−1 , z≡z 0 (mod n) is not satisfied. Therefore, when GCD (z−z 0 , n) is calculated, this value becomes p, and n can be factored. As a whole, the prime factorization can be performed in the average polynomial time of n bits.
【0038】次に、この発明の「乗法群における公開鍵
暗号装置」、「楕円曲線に基づく公開鍵暗号装置」それ
ぞれの、実施例について説明する。まずは、「乗法群に
おける公開鍵暗号装置」の一実施例について説明する。
図1に示すように、暗号装置100と復号装置200が
通信回線300により接続されている。暗号化装置10
0は、指数生成部110と法nでの巾乗計算器120を
有す。復号装置200は、Γ−変換器210と離散対数
解法部220を有する。Next, embodiments of the "public key cryptosystem in the multiplicative group" and the "public key cryptosystem based on the elliptic curve" of the present invention will be described. First, an embodiment of the “public key encryption device in the multiplicative group” will be described.
As shown in FIG. 1, an encryption device 100 and a decryption device 200 are connected by a communication line 300. Encryption device 10
0 has an exponent generator 110 and a power-of-power calculator 120 in mod n. The decoding device 200 has a Γ-transformer 210 and a discrete logarithmic solver 220.
【0039】まず、暗号化装置100での暗号化処理に
ついて説明する。暗号化装置100における指数生成部
110の詳細を図に示す。指数生成部110は、暗号化
装置100の利用者から平文(m)を受けとると、乱数
生成器111は乱数r∈Z/nZを発生させ、これを乗
算器112に入力して、rnを計算し、これを加算器1
13に入力してm+rnを計算し、この結果をn−巾乗
計算器120に入力して、暗号文C=gm+rnmod nを生
成する。First, the encryption processing in the encryption device 100 will be described. The figure shows the details of the exponent generator 110 in the encryption device 100. When the exponent generation unit 110 receives the plaintext (m) from the user of the encryption device 100, the random number generator 111 generates a random number r∈Z / nZ, inputs this to the multiplier 112, and calculates rn. And add this to adder 1
13 to calculate m + rn, and the result to an n-power calculator 120 to generate a ciphertext C = g m + rn mod n.
【0040】次に、復号装置200での復号処理につい
て説明する。復号装置200におけるΓ−変換器210
の詳細を図2Bに示す。また、離散対数解法部220の
詳細を図4に示す。復号装置200におけるΓ−変換部
210は、通信回線300から、暗号文(C)を受けと
ると、mod p2 −還元器211でCmod p2 を計算し、
この値をΓ−変換器212に入力して、Cp =Cp-1 mo
d p2 を計算し、Cpを離散対数解法部220に入力す
る。離散対数解法部220は、Γ−変換部210からC
p を受けとると、それを、対数計算機221に入力し、
L(Cp )を計算する。次に、これを、乗算器222に
入力しL(Cp )×L(gp )-1mod pを計算する。こ
の値を、離散対数解法部220は復号平文mとして出力
する。Next, the decoding process in the decoding device 200 will be described. Γ-converter 210 in decoding device 200
Is shown in FIG. 2B. FIG. 4 shows details of the discrete logarithmic solver 220. Γ- conversion unit 210 in the decoding device 200, from the communication line 300, when receiving the ciphertext (C), mod p 2 - Calculate the Cmod p 2 with a reducing unit 211,
This value is input to the Γ-converter 212, and C p = C p-1 mo
d p 2 is calculated, and C p is input to the discrete logarithmic solver 220. The discrete logarithmic solver 220 calculates the C
When p is received, it is input to a log calculator 221.
Calculate L (C p ). Next, this is input to the multiplier 222 to calculate L (C p ) × L (g p ) -1 mod p. The discrete logarithmic solver 220 outputs this value as a decrypted plaintext m.
【0041】次は、「楕円曲線に基づく公開鍵暗号装
置」の一実施例について説明する。図3にこの発明の一
実施例を示す。暗号装置400と復号装置500が通信
回線600により接続されている。暗号化装置400
は、指数生成部410とEn−巾乗計算器420を有
す。復号装置500は、mod p−還元器510とSSA
アルゴリズム部520を有する。Next, an embodiment of a "public key cryptographic device based on an elliptic curve" will be described. FIG. 3 shows an embodiment of the present invention. The encryption device 400 and the decryption device 500 are connected by a communication line 600. Encryption device 400
The exponent generation unit 410 and the E n - having a an exponent calculator 420. The decoding device 500 includes a mod p-reducer 510 and an SSA
An algorithm unit 520 is provided.
【0042】まず、暗号化装置400での暗号化処理に
ついて説明する。暗号化装置400における指数生成部
410の詳細を図4Aに示す。指数生成部410は、暗
号化装置400の利用者から平文(m)を受けとると、
乱数生成器411は乱数r∈Z/nZを発生させ、これ
を乗算器412に入力して、rnを計算し、これら加算
器413に入力してm+rnを計算し、この結果をEn
−巾乗計算器420に入力して、暗号文C=(m+r
n)Gを生成する。First, the encryption processing in the encryption device 400 will be described. FIG. 4A shows details of the exponent generation unit 410 in the encryption device 400. When receiving the plaintext (m) from the user of the encryption device 400, the exponent generation unit 410
Random number generator 411 generates a random number r ∈ Z / nZ, by entering it into the multiplier 412, the rn to calculate the m + rn calculated by entering the adders 413, E the results n
Input to the power calculator 420 to obtain the ciphertext C = (m + r
n) Generate G.
【0043】次に、復号装置500での復号処理につい
て説明する。復号装置500におけるSSAアルゴリズ
ム部520の詳細を図4Bに示す。復号装置500にお
けるmod p−還元器510は、通信回線600から、暗
号文(C)を受けとると、C p =Cmod p∈E
p (Fp )を計算し、Cp をSSAアルゴリズム部52
0に入力する。SSAアルゴリズム部520は、mod p
−還元器510からCp を受けとると、それを、対数計
算機521に入力し、λ(Cp )を計算する。次に、こ
れを、乗算器522に入力しλ(Cp )×λ(Gp )-1
mod pを計算する。この値を、SSAアルゴリズム部5
20は復号平文mとして出力する。Next, the decoding process in the decoding device 500 will be described.
Will be explained. SSA algorithm in decoding device 500
FIG. 4B shows details of the program section 520. In the decryption device 500
The mod p-reducer 510 from the communication line 600
When you receive the sentence (C), C p= Cmod p @ E
p(Fp) And calculate CpTo the SSA algorithm unit 52
Enter 0. The SSA algorithm unit 520 uses mod p
-Reducer 510 to CpWhen you receive it, log it
Input to the calculator 521, and λ (Cp) Is calculated. Next,
This is input to the multiplier 522 and λ (Cp) × λ (Gp)-1
Calculate mod p. This value is used in the SSA algorithm unit 5
20 is output as a decrypted plaintext m.
【0044】[0044]
【発明の効果】以上説明したように、この発明によれ
ば、素因数分解問題の困難さを仮定した上で、ある種の
安全性の証明のついた、今までにない新しい公開鍵暗号
システムを構成することが出来る。従って、現在ではn
が1024ビット程度であれば、nを素因数に分解する
ことは現実的には困難であるから、nを1024ビット
程度以上にしておけば十分安全なものとなる。As described above, according to the present invention, an unprecedented new public key cryptosystem with a certain security proof is provided, assuming the difficulty of the prime factorization problem. Can be configured. Therefore, at present n
Is about 1024 bits, it is practically difficult to decompose n into prime factors. Therefore, it is sufficiently safe to set n to about 1024 bits or more.
【0045】暗号化処理、復号処理の計算量は共に、k
3 のオーダーであって、現在までに知られている代表的
な公開鍵暗号と比べても同程度であり、非常に実用的な
暗号であるとも言える。さらに、受動的攻撃に対する安
全性が証明されているため、現在もっとも有力と考えら
れているRSA暗号よりも安全なことが保証される。The amount of calculation for both encryption and decryption is k
It is on the order of 3 and is comparable to typical public key cryptosystems known to date, and can be said to be a very practical cryptosystem. In addition, the proven security against passive attacks guarantees that it is more secure than the RSA cipher, which is currently considered the most promising.
【図1】この発明の「乗法群に基づく公開鍵暗号装置」
における暗号装置と復号装置の一実施例の機能構成を示
すブロック図。FIG. 1 is a “public key cryptosystem based on a multiplicative group” of the present invention.
FIG. 2 is a block diagram showing a functional configuration of an embodiment of an encryption device and a decryption device in FIG.
【図2】Aは図1中の指数生成部110の具体的機能構
成例を示すブロック図、Bは図1中のΓ−変換部210
の具体的機能構成例を示すブロック図、Cは図1中の離
散対数解法部220の具体的機能構成例を示すブロック
図である。FIG. 2A is a block diagram illustrating a specific functional configuration example of an exponent generation unit 110 in FIG. 1, and B is a Γ-conversion unit 210 in FIG.
FIG. 2C is a block diagram showing a specific functional configuration example of the discrete logarithmic solver 220 in FIG. 1;
【図3】この発明の「楕円曲線に基づく公開鍵暗号装
置」における暗号装置及び復号装置の各実施例の機能構
成を示すブロック図。FIG. 3 is a block diagram showing a functional configuration of each embodiment of an encryption device and a decryption device in a “public key encryption device based on an elliptic curve” of the present invention;
【図4】Aは図3中の指数生成部410の具体的機能構
成例を示すブロック図、Bは図3中のSSAアルゴリズ
ム部520の具体的機能構成例を示すブロック図であ
る。4A is a block diagram illustrating a specific functional configuration example of an index generation unit 410 in FIG. 3; and FIG. 4B is a block diagram illustrating a specific functional configuration example of an SSA algorithm unit 520 in FIG.
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G09C 1/00 620 JICSTファイル(JOIS)──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int. Cl. 7 , DB name) G09C 1/00 620 JICST file (JOIS)
Claims (8)
n=p 2 qを第1公開鍵とし、nを法とする既約剰余類
群(Z/nZ)* の中から、gp =gp-1 mod p2 が
(Z/p2 Z)* の中での位数がpとなるgを選んでそ
のgを第2公開鍵とし、 乱数rと上記第1公開鍵nを乗算し、その乗算結果に、
入力された平文を加算し指数を生成する指数生成手段
と、上記 第1公開鍵を法とした既約剰余類群において上記第
2公開鍵を上記指数で巾乗計算して暗号文を出力する巾
乗計算手段とを具備する公開鍵暗号化装置。1. A p, and an odd prime number same bits q,
From the irreducible remainder class group (Z / nZ) * where n = p 2 q is the first public key and modulo n, g p = g p−1 mod p 2 is (Z / p 2 Z) * And select g whose order is p.
Is used as a second public key, and the random number r is multiplied by the first public key n.
Exponent generating means for generating an addition to index the input plaintext, width of outputting the ciphertext said second public key in the irreducible residue class group modulo the first public key calculated multiplication width above index A public key encryption device comprising a power calculation means.
n=p2 qを第1公開鍵、pを第1秘密鍵とし、g p 、
nを法とする既約剰余類群(Z/nZ) * の元Cp を0
<gp ,Cp < p2 の範囲にある整数で、gp ≡Cp ≡
1(mod q)、gp ≠1(mod p 2 )を満し、((gp
−1)/p)-1 modpを第2秘密鍵とし、 0<C<nの範囲にある整数で、nと互いに素である入
力暗号文Cに対し、上記第1秘密鍵pを用いて、C mod
p2 ∈(Z/ p2 Z)* を計算する p2 −還元手段と、 その p2 −還元手段の計算結果C mod p2 に対し p2 を
法とするp−1の巾乗計算を行って上記元Cp を得る変
換手段と、 上記元Cp を入力してL(Cp )=(Cp −1)/pを
演算する対数計算手段と、 その演算結果L(Cp )と上記第2秘密鍵との積を上記
pを法として求めて復号平文を出力する乗算手段とを具
備する公開鍵暗号復号装置。Wherein p, as an odd prime number same bits q,
n = p 2 q is a first public key, p is a first secret key, g p ,
irreducible coset group of the n modulo (Z / nZ) * original C p 0
<G p , C p <p 2 is an integer in the range, and g p ≡C p ≡
1 (mod q ), g p ≠ 1 (mod p 2 ), and ((g p
-1) / p) and -1 modp a second secret key, 0 <C <integer in the range of n, input is relatively prime to n
Using the first secret key p , C mod
p 2 ∈ (Z / p 2 Z) * a calculating p 2 - and reducing unit, the p 2 - a an exponent computation of p-1 to a p 2 modulo to the calculation result C mod p 2 of the reducing means performing a conversion means for obtaining the original C p in, enter the original C p L (C p) = (C p -1) / logarithmic calculation means p for calculating a, the calculation result L (C p) Multiplying means for obtaining the product of the second secret key and the second secret key modulo p and outputting a decrypted plaintext.
Preparations for public key encryption and decryption devices.
コンピュータを機能させるためのプログラムを記録した
コンピュータ読み取り可能な記録媒体。3. The public key encryption device according to claim 1 ,
Recorded a program to operate the computer
Computer readable recording medium.
てコンピュータを機能させるためのプログラムを記録し
たコンピュータ読み取り可能な記録媒体。4. A public key encryption / decryption device according to claim 2 ,
A computer-readable recording medium on which a program for causing a computer to function is stored.
鍵とし、nを法とし た剰余類環で定義される楕円曲線E
n の点Gを第2公開鍵とし、 乱数rに上記第1公開鍵を乗算し、その結果に入力平文
mを加算して指数を生成する指数生成手段と、 上記楕円曲線における巾乗計算を、上記指数を指数とし
て上記第2公開鍵に対して行って暗号文を出力する巾乗
計算手段と を具備する第2公開鍵暗号化装置。 5. p and q are prime numbers, and n = pq is first publicly disclosed.
Elliptic curve E defined as a key and modulo n
The point G of n is used as the second public key, the random number r is multiplied by the first public key, and the result is input plaintext.
exponent generating means for generating an index by adding the m, a width multiplication calculation in the elliptic curve, the index and index
Power to output ciphertext by performing on the second public key
A second public key encryption device including a calculation unit .
上の楕円曲線でそのFp 有理点の個数がpとなるものと
し、このFp −有理点をGp ,Cp (どちらも無限遠点
でない)とし、楕円曲線E p (F p )から有限体F p への
写像関数をλとし、λ(Gp )-1mod pを秘密鍵とし、 入力された暗号文Cを、上記pを法として上記楕円曲線
E p (F p )の元Cp に変換する還元手段と、 上記元Cp と上記p、上記楕円曲線Ep 、上記関数λを
入力してλ(Cp )を計算する対数計算手段と、 上記λ(Cp )と、上記秘密鍵を入力して、両者の積を
上記pを法として求めて復号平文を出力する乗算手段と
を具備する公開鍵暗号復号装置。6. Let p be an odd prime (> 5) and Ep be a finite field F p
In the above elliptic curve, the number of the F p rational points is p, the F p -rational points are G p and C p (both are not infinity points), and the elliptic curve E p (F p ) to the finite field F p
Let λ be a mapping function, λ (G p ) -1 mod p be a secret key, and input ciphertext C be the above elliptic curve modulo p.
And reducing means for converting the original C p of E p (F p), and the original C p and the p, the elliptic curve E p, logarithm calculating means for calculating a lambda to input the function lambda (C p) the λ and (C p), and inputs the secret key, and multiplying means for the product of two outputs the decrypt plaintext seeking modulo the p
It includes a public key encryption decryption device.
してコンピュータを機能させるためのプログラムを記録
したコンピュータ読み取り可能な記録媒体。 7. The public key encryption device according to claim 5,
A computer-readable recording medium on which a program for causing a computer to function is recorded.
としてコンピュータを機能させるためのプログラムを記
録したコンピュータ読み取り可能な記録媒体。8. A public key encryption / decryption device according to claim 6.
A computer-readable recording medium that records a program for causing a computer to function as a computer .
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34761397A JP3402441B2 (en) | 1997-12-17 | 1997-12-17 | Public key encryption device, public key encryption / decryption device, and decryption program recording medium |
DE69840959T DE69840959D1 (en) | 1997-12-17 | 1998-12-16 | Encryption and decryption devices for public key cryptosystems and recording media having associated processing programs thereon. |
CA002256179A CA2256179C (en) | 1997-12-17 | 1998-12-16 | Encryption and decryption devices for public-key cryptosystems and recording medium with their processing programs recorded thereon |
EP98123917A EP0924895B1 (en) | 1997-12-17 | 1998-12-16 | Encryption and decryption devices for public-key cryptosystems and recording medium with their processing programs recorded thereon |
US09/213,927 US6480605B1 (en) | 1997-12-17 | 1998-12-17 | Encryption and decryption devices for public-key cryptosystems and recording medium with their processing programs recorded thereon |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34761397A JP3402441B2 (en) | 1997-12-17 | 1997-12-17 | Public key encryption device, public key encryption / decryption device, and decryption program recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11174955A JPH11174955A (en) | 1999-07-02 |
JP3402441B2 true JP3402441B2 (en) | 2003-05-06 |
Family
ID=18391413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34761397A Expired - Lifetime JP3402441B2 (en) | 1997-12-17 | 1997-12-17 | Public key encryption device, public key encryption / decryption device, and decryption program recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3402441B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2005098795A1 (en) * | 2004-03-31 | 2008-02-28 | 松下電器産業株式会社 | Computer system, computer program, and addition method |
US11849019B2 (en) | 2019-02-25 | 2023-12-19 | Nec Corporation | Encryption system, key generation apparatus, key generation method, key generation program, and homomorphic operation apparatus |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2267721C (en) | 1998-03-26 | 2002-07-30 | Nippon Telegraph And Telephone Corporation | Scheme for fast realization of encryption, decryption and authentication |
FR2802677B1 (en) * | 1999-12-17 | 2002-01-18 | Thomson Multimedia Sa | SECURE REMOTE GAME MANAGEMENT METHOD |
US7711763B2 (en) * | 2001-02-21 | 2010-05-04 | Mips Technologies, Inc. | Microprocessor instructions for performing polynomial arithmetic operations |
JP4629889B2 (en) * | 2001-03-13 | 2011-02-09 | 日本電信電話株式会社 | Verifiable encryption method, apparatus thereof, program thereof, and recording medium thereof |
WO2007074836A1 (en) | 2005-12-28 | 2007-07-05 | Matsushita Electric Industrial Co., Ltd. | Signature generating device, signature generating method and signature generating program |
JP5395449B2 (en) * | 2009-01-28 | 2014-01-22 | 日本電信電話株式会社 | Security system, information recording apparatus, security method, and program |
KR101382628B1 (en) * | 2012-04-30 | 2014-04-07 | 고려대학교 산학협력단 | System and method for database encryption |
JP5596835B2 (en) * | 2013-08-14 | 2014-09-24 | 日本電信電話株式会社 | Discrete logarithm calculation device, prior calculation device, discrete logarithm calculation method, prior calculation method, program |
-
1997
- 1997-12-17 JP JP34761397A patent/JP3402441B2/en not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
現代暗号,産業図書株式会社,1997年 6月30日,p.107−130 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2005098795A1 (en) * | 2004-03-31 | 2008-02-28 | 松下電器産業株式会社 | Computer system, computer program, and addition method |
US7434898B2 (en) | 2004-03-31 | 2008-10-14 | Matsushita Electric Industrial Co., Ltd. | Computer system, computer program, and addition method |
US11849019B2 (en) | 2019-02-25 | 2023-12-19 | Nec Corporation | Encryption system, key generation apparatus, key generation method, key generation program, and homomorphic operation apparatus |
Also Published As
Publication number | Publication date |
---|---|
JPH11174955A (en) | 1999-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6480605B1 (en) | Encryption and decryption devices for public-key cryptosystems and recording medium with their processing programs recorded thereon | |
CA2587618C (en) | Custom static diffie-hellman groups | |
Muhammad et al. | Cryptanalytic attacks on Rivest, Shamir, and Adleman (RSA) cryptosystem: issues and challenges | |
JP3402441B2 (en) | Public key encryption device, public key encryption / decryption device, and decryption program recording medium | |
Liu et al. | New efficient identity based encryption without pairings | |
JP2006210964A (en) | Method and device for transferring information by elgamal encryption | |
CA2742530C (en) | Masking the output of random number generators in key generation protocols | |
Zhong | An overview of rsa and oaep padding | |
Alvarez et al. | A matricial public key cryptosystem with digital signature | |
Mambo et al. | A note on the complexity of breaking Okamoto-Tanaka ID-based key exchange scheme | |
Alvarez et al. | A new public key cryptosystem based on matrices | |
Lizama-Perez | Non-invertible key exchange protocol | |
Shirur et al. | Design and Implementation of Synthesizable Two-Level Cryptosystem for High-Security enabled Applications | |
Zheng | Signcryption or how to achieve cost (signature & encryption)<< cost (signature)+ cost (encryption) | |
JP2002023626A (en) | Method for ciphering public key and communication system using public key cryptograph | |
JP4284867B2 (en) | A public-key cryptography method that is secure against adaptive choice ciphertext attacks on a standard model | |
JP4230162B2 (en) | Public key encryption communication method | |
JP3402444B2 (en) | Public key encryption device, public key encryption / decryption device, and program recording medium | |
KR20020003059A (en) | A Public Key Cryptosystem using Matrix which is composed of Integers and Polynomials | |
Alvarez et al. | A public key cryptosystem based on block upper triangular matrices | |
Pradhan et al. | A new design to improve the security aspects of RSA cryptosystem | |
JP3870753B2 (en) | Public Key Cryptography Considering Third Oracle | |
Porkodi et al. | Public key cryptosystem based on number theoretic transforms | |
Barakat et al. | Optimized security of WAP based on modification of encryption algorithm for PKQ cryptosystem in mobile networks | |
KR20050101003A (en) | Modular exponentiation operation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080229 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090228 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090228 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100228 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110228 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110228 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120229 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130228 Year of fee payment: 10 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |