[go: up one dir, main page]

JP2003005638A - Public key encryption communication method - Google Patents

Public key encryption communication method

Info

Publication number
JP2003005638A
JP2003005638A JP2002107849A JP2002107849A JP2003005638A JP 2003005638 A JP2003005638 A JP 2003005638A JP 2002107849 A JP2002107849 A JP 2002107849A JP 2002107849 A JP2002107849 A JP 2002107849A JP 2003005638 A JP2003005638 A JP 2003005638A
Authority
JP
Japan
Prior art keywords
receiver
public key
key
recipient
communication method
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
JP2002107849A
Other languages
Japanese (ja)
Other versions
JP4230162B2 (en
JP2003005638A5 (en
Inventor
Genji Nishioka
玄次 西岡
Yoichi Seto
洋一 瀬戸
Hisanobu Sato
尚宜 佐藤
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002107849A priority Critical patent/JP4230162B2/en
Publication of JP2003005638A publication Critical patent/JP2003005638A/en
Publication of JP2003005638A5 publication Critical patent/JP2003005638A5/ja
Application granted granted Critical
Publication of JP4230162B2 publication Critical patent/JP4230162B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a public key encryption communication technology capable of certifying security. SOLUTION: In a Rabin encryption, a composite number N as the public key is selected as p<d> q (p, q are prime numbers and d is more than 1). A hash function is combined with an OAEP by using uniqueness for decrypting. The security can be certified on conditions of a rapidly decrypting process and difficulty for factoring N into prime numbers. (The security shows strong concealment against an attack of adaptively selecting encrypted texts). The security against the attack of selecting the encrypted texts can be certified and the public key encryption communication technology capable of rapidly processing decryption can be provided. The public key encryption communication technology can also reduce a computational load when a transmitted data is encrypted and decrypted and certify as an IND-CCA2 on a condition of difficulty for computing an inverse function of one-way substitution (e.g. difficulty for factoring into prime numbers).

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、暗号通信技術に関
し、特に、適応的選択暗号文攻撃に対して強秘匿である
ことが証明可能な公開鍵暗号を用いた通信通信技術に関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cryptographic communication technique, and more particularly to a communication communication technique using public key cryptography that can be proved to be confidential to an adaptive selection ciphertext attack.

【0002】[0002]

【従来の技術】従来より、様々な公開鍵暗号方法が提案
されている。なかでも、「R.L. Rivest, A. Shamir, L.
Adleman : A Method for Obtaining Digital Signatur
es andPublic-Key Cryptosystems, Commun. of the AC
M, Vol.21, No.2, pp.120-126,1978.」(以下、文献1
と呼ぶ)に掲載されている方法が有名であり、最も普及
している公開鍵暗号方法である。
2. Description of the Related Art Conventionally, various public key cryptographic methods have been proposed. Among them, `` RL Rivest, A. Shamir, L.
Adleman: A Method for Obtaining Digital Signatur
es andPublic-Key Cryptosystems, Commun. of the AC
M, Vol.21, No.2, pp.120-126,1978. "(Hereinafter referred to as Reference 1
Is called) is the most popular public key encryption method.

【0003】その他には、「V.S. Miller : Use of Ell
iptic Curves in Cryptography, Proc. of Crypto'85,
LNCS218, Springer-Verlag, pp.417-426 (1985)」(以
下、文献2と呼ぶ)や、「N. Koblitz : Elliptic Curv
e Cryptosystems, Math. Comp., 48, 177, pp.203-209
(1987)」(以下、文献3と呼ぶ)などに記載の楕円曲線
を用いた公開鍵暗号方法が知られている。
In addition, "VS Miller: Use of Ell
iptic Curves in Cryptography, Proc. of Crypto'85,
LNCS218, Springer-Verlag, pp.417-426 (1985) "(hereinafter referred to as Reference 2) and" N. Koblitz: Elliptic Curv.
e Cryptosystems, Math.Comp., 48, 177, pp.203-209
(1987) ”(hereinafter referred to as Document 3) and the like, a public key encryption method using an elliptic curve is known.

【0004】また、選択平文攻撃に対して安全性証明可
能な公開鍵暗号方法として、「M.O.Rabin : Digital Si
gnatures and Public-Key Encryptions as Intractable
asFactorization, MIT, Technical Report, MIT/LCS/T
R-212 (1979)」(以下、文献4と呼ぶ)に記載されてい
る公開鍵暗号方法や、「T. El Gamal : A Public Key C
ryptosystem and a Signature Scheme Based on Discre
te Logarithms, IEEE Trans. On Information Theory,
IT-31, 4, pp.469-472(1985)」(以下、文献5と呼ぶ)
に記載されている公開鍵暗号方法や、「S. Goldwasser
and S. Micali : Probabilistic Encryption, JCSS, 2
8, 2, pp.270-299 (1984)」(以下、文献6と呼ぶ)に
記載されている公開鍵暗号方法や、「M. Blum and S. G
oldwasser : An Efficient Probabilistic Public-Key
Encryption Scheme which HidesAll Partial Informati
on, Proc. of Crypto'84, LNCS196, Springer-Verlag,
pp.289-299 (1985)」(以下、文献7と呼ぶ)に記載さ
れている公開鍵暗号方法や、「S. Goldwasser and M. B
ellare : Lecture Notes on Cryptography, http:/www-
cse.ucsd.edu/users/ mihir/ (1997)」(以下、文献8
と呼ぶ)に記載されている公開鍵暗号方法や、「T. Oka
moto and S. Uchiyama : A New Public-KeyCryptosyste
m as Secure as Factoring, Proc. of Eurocrypt'98, L
NCS1403, Springer Verlag, pp.308-318 (1998)」(以
下、文献9と呼ぶ)に記載されている公開鍵暗号方法な
どが知られている。
Further, as a public key encryption method capable of certifying the security against a selected plaintext attack, "MORabin: Digital Si
gnatures and Public-Key Encryptions as Intractable
asFactorization, MIT, Technical Report, MIT / LCS / T
R-212 (1979) ”(hereinafter referred to as Reference 4) and the public key encryption method described in“ T. El Gamal: A Public Key C ”.
ryptosystem and a Signature Scheme Based on Discre
te Logarithms, IEEE Trans. On Information Theory,
IT-31, 4, pp.469-472 (1985) "(hereinafter referred to as reference 5)
The public key encryption method described in, and "S. Goldwasser
and S. Micali: Probabilistic Encryption, JCSS, 2
8, 2, pp.270-299 (1984) ”(hereinafter referred to as Reference 6), and the public key encryption method described in“ M. Blum and S. G ”
oldwasser: An Efficient Probabilistic Public-Key
Encryption Scheme which HidesAll Partial Informati
on, Proc. of Crypto'84, LNCS196, Springer-Verlag,
pp.289-299 (1985) "(hereinafter referred to as Reference 7), and the public key encryption method described in" S. Goldwasser and M.B. "
ellare: Lecture Notes on Cryptography, http: / www-
cse.ucsd.edu/users/ mihir / (1997) ”(hereinafter referred to as Reference 8
Public key encryption method described in "T. Oka
moto and S. Uchiyama: A New Public-KeyCryptosyste
m as Secure as Factoring, Proc. of Eurocrypt'98, L
NCS1403, Springer Verlag, pp.308-318 (1998) "(hereinafter referred to as Document 9) is known.

【0005】また、選択暗号文攻撃に対して安全性証明
可能な公開鍵暗号方法として、「D.Dolve, C. Dwork an
d M. Naor : Non-Malleable Cryptography, In 23rd An
nual ACM Symposium on Theory of Computing, pp.542-
552 (1991)」(以下、文献10と呼ぶ)に記載されてい
る公開鍵暗号方法や、「M. Naor and M. Yung : Public
-Key Cryptosystems Provably Secure against Chosen
Ciphertext Attacks, Proc. of STOC, ACM Press, pp.4
27-437 (1990)」(以下、文献11と呼ぶ)に記載され
ている公開鍵暗号方法や、「R. Cramer and V. Shoup :
A PracticalPublic Key Cryptosystem Provably Secur
e against Adaptive Chosen Ciphertext Attack, Proc.
of Crypto98, LNCS1462, Springer-Verlag, pp.13-25
(1998)」(以下、文献12と呼ぶ)に記載されている公
開鍵暗号方法などが知られている。
Further, as a public key cryptographic method capable of certifying the security against a selected ciphertext attack, "D. Dolve, C. Dwork an
d M. Naor: Non-Malleable Cryptography, In 23 rd An
nual ACM Symposium on Theory of Computing, pp.542-
552 (1991) "(hereinafter referred to as Reference 10), and the public key encryption method and" M. Naor and M. Yung: Public.
-Key Cryptosystems Provably Secure against Chosen
Ciphertext Attacks, Proc. Of STOC, ACM Press, pp.4
27-437 (1990) "(hereinafter referred to as Reference 11), and the public key encryption method and" R. Cramer and V. Shoup:
A Practical Public Key Cryptosystem Provably Secur
e against Adaptive Chosen Ciphertext Attack, Proc.
of Crypto98, LNCS1462, Springer-Verlag, pp.13-25
(1998) ”(hereinafter referred to as Reference 12) and the like are known.

【0006】また、「M. Bellare, A. Desai, D. Point
cheval and P. Rogaway : Relations Among Notions of
Security for Public-Key Encryption Schemes, Proc.
ofCrypto'98, LNCS1462, Springer Verlag, pp.26-45
(1998)」(以下、文献13と呼ぶ)では、IND-CCA2(適
応的選択暗号文攻撃に対して強秘匿であること)と、NM-
CCA2(適応的選択暗号文攻撃に対して頑強であること)と
の等価性が示されている。現在、この条件を満たす公開
鍵暗号方法が最も安全な暗号方法であると考えられてい
る。
In addition, "M. Bellare, A. Desai, D. Point
cheval and P. Rogaway: Relations Among Notions of
Security for Public-Key Encryption Schemes, Proc.
ofCrypto'98, LNCS1462, Springer Verlag, pp.26-45
(1998) ”(hereinafter referred to as Reference 13), IND-CCA2 (Keep secret against adaptive selected ciphertext attack) and NM-
Equivalence with CCA2 (robustness against adaptive choice ciphertext attack) is shown. At present, the public key cryptosystem that satisfies this condition is considered to be the most secure cryptosystem.

【0007】なお、「M. Bellare and P. Rogaway : Op
timal Asymmetric Encryption Howto Encrypt with RS
A, Proc. of Eurocrypt'94, LNCS950, Springer Verla
g, pp.92-111 (1994)」(以下、文献14と呼ぶ)に記
載されている公開鍵暗号方法が、一方向性置換の逆関数
を計算することの困難性を前提に、適応的選択暗号文攻
撃に対して強秘匿であると考えられてきた。しかし、最
近、「V. Shoup : OAEP Reconsidered. Available on t
he e-print library (2000/060), November 2000」(以
下、文献15と呼ぶ)にて、その問題点および一般的な
見地からは安全性の証明が不十分であることが指摘さ
れ、その解決方法も提案されている。
[M. Bellare and P. Rogaway: Op
timal Asymmetric Encryption Howto Encrypt with RS
A, Proc. Of Eurocrypt'94, LNCS950, Springer Verla
g, pp.92-111 (1994) ”(hereinafter referred to as reference 14), the public key cryptographic method is adaptive on the assumption that it is difficult to calculate the inverse function of one-way permutation. It has been considered to be a strong secret against selective ciphertext attacks. However, recently, `` V. Shoup: OAEP Reconsidered. Available on t
"He e-print library (2000/060), November 2000" (hereinafter referred to as Reference 15) pointed out that the proof of safety was insufficient from the point of view and the general point of view. A solution is also proposed.

【0008】[0008]

【発明が解決しようとする課題】さて、文献4に記載さ
れている公開鍵暗号方法は、選択平文攻撃に対して一方
向であることが当該文献において証明されている。この
ことは、文献4に記載されている公開鍵暗号方法が選択
暗号文攻撃に弱いことを意味している。また、文献4に
記載されている公開鍵暗号方法は、暗号化処理の高速性
に優れているが、高速な復号化処理は期待できないとい
う問題がある。
By the way, it is proved in the document that the public key encryption method described in the document 4 is one-way against a selective plaintext attack. This means that the public key encryption method described in Document 4 is weak against the selected ciphertext attack. Further, the public key encryption method described in Document 4 is excellent in high-speed encryption processing, but has a problem that high-speed decryption processing cannot be expected.

【0009】また、一般に、暗号通信では、共通鍵暗号
を用いて送信データを暗号化し、この送信データの暗号
化に用いた共通鍵を、公開鍵暗号を用いて暗号化するこ
とが多い。上記の各文献に記載されている公開鍵暗号方
法では、一度に暗号化処理できる平文の長さが短く且つ
鍵長に比例して制限されるためである。
In general, in encrypted communication, transmission data is often encrypted using common key encryption, and the common key used to encrypt this transmission data is often encrypted using public key encryption. This is because in the public key encryption method described in each of the above documents, the length of plaintext that can be encrypted at one time is short and is limited in proportion to the key length.

【0010】例えば、文献1に記載の公開鍵暗号方法で
は、鍵長が1024ビットの場合、一度に暗号化処理で
きる平文の長さは1024ビットである。また、文献3
に記載の公開鍵暗号方法では、底pが160ビットの場
合、一度に暗号化処理できる平文の長さは160ビット
である。
For example, in the public key encryption method described in Document 1, when the key length is 1024 bits, the length of plaintext that can be encrypted at one time is 1024 bits. Also, reference 3
In the public key encryption method described in (1), when the base p is 160 bits, the length of plaintext that can be encrypted at one time is 160 bits.

【0011】しかし、実用的な暗号通信システムでは、
共通鍵の他にユーザの識別情報(ID情報)等をも一緒に
送ることが多い。また、計算機能力の進歩に伴って、送
信すべき鍵長は長くなる一方である。このため、一度に
暗号化処理できる平文の長さが短いと、複数回に分けて
暗号化する必要が生じる。複数回に分けた場合、各暗号
文の平文との対応の正当性を保証する必要が生じる。こ
のため、余計な手間がかかる。このようなことから、よ
り長い平文を一度に暗号化することが可能な、安全性を
証明可能な暗号方法が望まれている。
However, in a practical cryptographic communication system,
In addition to the common key, user identification information (ID information) and the like are often sent together. Also, the key length to be transmitted is becoming longer with the progress of computing power. For this reason, if the length of plaintext that can be encrypted at one time is short, it is necessary to perform encryption in multiple times. When divided into multiple times, it becomes necessary to guarantee the correctness of the correspondence between each ciphertext and the plaintext. Therefore, extra work is required. For this reason, there is a demand for a cryptographic method capable of certifying the security that can encrypt a longer plaintext at one time.

【0012】本発明は、上記事情に鑑みてなされたもの
であり、安全性を証明可能な公開鍵暗号通信技術を提供
することにある。
The present invention has been made in view of the above circumstances, and it is an object of the present invention to provide a public key cryptographic communication technique capable of certifying the security.

【0013】例えば、選択暗号文攻撃に対して安全性を
証明可能であり、且つ、高速な復号化処理が可能な公開
鍵暗号通信技術を提供する。
For example, there is provided a public key cryptographic communication technique capable of proving security against a selected ciphertext attack and capable of high-speed decryption processing.

【0014】また、送信データを暗復号化する際の計算
負荷を小さくすることが可能な公開鍵暗号通信技術を提
供する。
Also, a public key cryptographic communication technique capable of reducing the calculation load when encrypting and decrypting transmission data is provided.

【0015】また、一方向性置換の逆関数を計算するこ
との困難性(例えば素因数分解問題の困難性)を前提
に、IND-CCA2であることが証明可能な公開鍵暗号通信技
術を提供する。
Further, on the assumption that it is difficult to calculate the inverse function of unidirectional permutation (for example, the difficulty of the prime factorization problem), a public key cryptographic communication technique that can prove that it is IND-CCA2 is provided. .

【0016】[0016]

【課題を解決するための手段】上記課題を解決するため
に本発明の公開鍵暗号通信方法は、以下のとおりであ
る。
The public key cryptographic communication method of the present invention for solving the above problems is as follows.

【0017】本発明の一態様では、上記の文献4に記載
されている公開鍵暗号方法をベースとし、選択暗号文攻
撃に対して安全性を証明可能であり、且つ、高速な復号
化処理が可能な公開鍵暗号通信方法を提供する。
According to one aspect of the present invention, based on the public key cryptographic method described in the above-mentioned document 4, the security can be proved against a selected ciphertext attack, and a high-speed decryption process can be performed. A possible public key cryptographic communication method is provided.

【0018】上記の文献4に記載されている公開鍵暗号
方法では、公開鍵である合成数NをN=pqと選ぶのに対し
て、本態様では、合成数NをN=pdq(d>1)とする。これ
により、高速な復号化処理を可能とする。
In the public key encryption method described in the above-mentioned document 4, the composite number N which is a public key is selected as N = pq, whereas in this embodiment, the composite number N is N = p d q ( d> 1). This enables high-speed decoding processing.

【0019】また、上記の文献14や文献15に記載さ
れている公開鍵暗号方法は、落し戸付き一方向性置換を
利用することを前提としている。しかし、暗号化関数と
してx2 mod N(Nは合成数)を用いる場合は一方向性置
換にならない。この点について、本態様では、ハッシュ
関数を復号化一意性に利用しながら、文献14に記載さ
れている公開鍵暗号方法と組み合わせている。これによ
り、選択暗号文攻撃に対する安全性を強化した。
Further, the public key encryption methods described in the above Documents 14 and 15 are based on the premise that trapdoor-equipped unidirectional replacement is used. However, when x 2 mod N (N is a composite number) is used as the encryption function, it does not become unidirectional replacement. With respect to this point, in this aspect, the hash function is used for decryption uniqueness, and is combined with the public key encryption method described in Document 14. This enhances the security against selective ciphertext attacks.

【0020】本態様の公開鍵暗号通信方法の具体例は次
のとおりである。
A specific example of the public key cryptographic communication method according to this aspect is as follows.

【0021】すなわち、送信者側の装置が受信者の公開
鍵を用いて送信データを暗号化し、受信者側の装置へ送
信する公開鍵暗号通信方法であって、
That is, a public-key cryptographic communication method in which a device on the sender side encrypts transmission data using the public key of the receiver and transmits the encrypted data to the device on the receiver side.

【0022】[0022]

【数161】 [Expression 161]

【0023】を受信者の秘密鍵(p,q)とし、Let be the recipient's private key (p, q),

【0024】[0024]

【数162】 [Equation 162]

【0025】を受信者の公開鍵(N,k,G,H)として、
(1)前記送信者側の装置において、平文x(x∈{0,1}n)
に対して乱数r∈{0,1}k0を選び、この乱数rと受信者
の公開鍵とを用いて、
Is the public key (N, k, G, H) of the receiver,
(1) In the sender-side device, plaintext x (x ∈ {0,1} n )
, A random number r ∈ {0,1} k0 is selected, and using this random number r and the public key of the recipient,

【0026】[0026]

【数163】 [Expression 163]

【0027】を計算し(但し、n+k0+k1=k)、その結果s,t
を用いて、
Is calculated (where n + k 0 + k 1 = k), and the result s, t
Using,

【0028】[0028]

【数164】 [Equation 164]

【0029】を計算し、さらにその結果wと受信者の公
開鍵とを用いて、
And using the result w and the recipient's public key,

【0030】[0030]

【数165】 [Equation 165]

【0031】を計算し、その結果yを暗号文として、前
記受信者側の装置に送信し、(2)前記受信者側の装置に
おいて、受信者の秘密鍵を用いて、前記送信者側の装置
より受信した暗号文yから、
[Mathematical formula-see original document] and sends the result y as a ciphertext to the device on the receiver side, and (2) the device on the receiver side uses the secret key of the receiver to transmit data on the sender side. From the ciphertext y received from the device,

【0032】[0032]

【数166】 [Equation 166]

【0033】を計算し、その結果を用いて、Is calculated, and the result is used as

【0034】[0034]

【数167】 [167]

【0035】を計算し、また、And calculate

【0036】[0036]

【数168】 [Equation 168]

【0037】を計算し、それから、φ(xp,xq),φ(-xp,x
q),φ(xp,-xq),φ(-xp,-xq)の各々(但し、φは中国人の
剰余定理によるZ/(p)×Z/(q)からZ/(pq)への環同型写像
を表す)について、
And then φ (x p , x q ), φ (-x p , x
q ), φ (x p , -x q ), φ (-x p , -x q ) (where φ is Z / (p) × Z / (q) to Z / (representing a homomorphic map to (pq)),

【0038】[0038]

【数169】 [Equation 169]

【0039】に示すように置いて、Place it as shown in

【0040】[0040]

【数170】 [Equation 170]

【0041】を計算することで、By calculating

【0042】[0042]

【数171】 [Expression 171]

【0043】に示す復号化結果を算出する。The decoding result shown in is calculated.

【0044】ある暗号文に対して、復号化結果が「*」
である場合、それは正しい復号ができなかったことを意
味する。この場合、その暗号文が攻撃のためのものであ
る可能性がある。そこで、前記受信者側の装置におい
て、復号化結果が「*」の場合、この暗号文を拒否する
ものとする。つまり、前記受信者側の装置は、選択暗号
文攻撃を不可能とするために、暗号文の復号を拒否し、
復号化結果である平文を出力しない。このとき、前記受
信者側の装置は、復号化結果を何も出力しない構成にし
てもよいし、あるいは、復号できなかった旨を操作者に
通知する構成にしてもよい。
For a certain ciphertext, the decryption result is "*"
, It means that the correct decoding could not be performed. In this case, the ciphertext may be for an attack. Therefore, if the decryption result is "*", the device on the receiver side rejects the ciphertext. That is, the device on the receiver side refuses to decrypt the ciphertext in order to make the selected ciphertext attack impossible,
Do not output the plaintext that is the decryption result. At this time, the device on the receiver side may be configured not to output any decryption result, or may be configured to notify the operator that the decryption result could not be obtained.

【0045】また、本発明の別の態様は、以下のとおり
である。
Another aspect of the present invention is as follows.

【0046】すなわち、送信者側の装置が受信者の公開
鍵を用いて送信データを暗号化し、受信者側の装置へ送
信する公開鍵暗号通信方法であって、
That is, a public-key cryptographic communication method in which the sender device encrypts transmission data using the recipient's public key and sends it to the recipient device.

【0047】[0047]

【数172】 [Expression 172]

【0048】を受信者の公開鍵とし、Let be the recipient's public key,

【0049】[0049]

【数173】 [Numerical Expression 173]

【0050】を受信者の秘密鍵(但し、k=k0+k1+n)とし
て、(1)前記送信者側の装置において、平文x(x∈{0,
1}n)に対して乱数r∈{0,1}k0を選び、この乱数rと受
信者の公開鍵とを用いて、
Is a secret key of the receiver (where k = k 0 + k 1 + n), and (1) the plaintext x (x∈ {0,
1} n ) for a random number r ∈ {0,1} k0 , and using this random number r and the public key of the recipient,

【0051】[0051]

【数174】 [Expression 174]

【0052】を計算し、その結果s,tと受信者の公開鍵
とを用いて、
And using the result s, t and the recipient's public key,

【0053】[0053]

【数175】 [Expression 175]

【0054】を計算し、その結果y1,y2を暗号文として
前記受信者の装置に送信し、(2)前記受信者側の装置
において、受信者の秘密鍵を用いて、前記送信者側の装
置より受信した暗号文y1,y2から、
Then, y 1 and y 2 are calculated and sent as ciphertext to the device of the recipient, and (2) the device of the receiver uses the secret key of the receiver to send the sender. From the ciphertext y 1 , y 2 received from the device on the side,

【0055】[0055]

【数176】 [Expression 176]

【0056】を計算し、その結果を用いて、Is calculated, and using the result,

【0057】[0057]

【数177】 [Equation 177]

【0058】を計算し、さらにその結果を用いて、Then, using the result,

【0059】[0059]

【数178】 [Expression 178]

【0060】に示す復号化結果(但し、復号化結果が
「*」の場合、この暗号文を拒否するものとする。ま
た、[a]nおよび[a]nは、それぞれaの上位および下位nビ
ットを表す)を算出する。
Decryption result shown in (However, if the decryption result is "*", this ciphertext is rejected. Also, [a] n and [a] n are the high order and low order of a, respectively. (representing n bits).

【0061】ある暗号文に対して、復号化結果が「*」
である場合、それは正しい復号ができなかったことを意
味する。この場合、その暗号文が攻撃のためのものであ
る可能性がある。そこで、前記受信者側の装置におい
て、復号化結果が「*」の場合、この暗号文を拒否する
ものとする。つまり、前記受信者側の装置は、選択暗号
文攻撃を不可能とするために、暗号文の復号を拒否し、
復号化結果である平文を出力しない。このとき、前記受
信者側の装置は、復号化結果を何も出力しない構成にし
てもよいし、あるいは、復号できなかった旨を操作者に
通知する構成にしてもよい。
For a certain ciphertext, the decryption result is "*"
, It means that the correct decoding could not be performed. In this case, the ciphertext may be for an attack. Therefore, if the decryption result is "*", the device on the receiver side rejects the ciphertext. That is, the device on the receiver side refuses to decrypt the ciphertext in order to make the selected ciphertext attack impossible,
Do not output the plaintext that is the decryption result. At this time, the device on the receiver side may be configured not to output any decryption result, or may be configured to notify the operator that the decryption result could not be obtained.

【0062】本態様の公開鍵暗号通信方法の具体例は次
のとおりである。
A specific example of the public key cryptographic communication method according to this aspect is as follows.

【0063】すなわち、送信者側の装置が受信者の公開
鍵を用いて送信データを暗号化し、受信者側の装置へ送
信する公開鍵暗号通信方法であって、
That is, it is a public key cryptographic communication method in which the device on the sender side encrypts the transmission data using the public key of the receiver, and transmits it to the device on the receiver side.

【0064】[0064]

【数179】 [Equation 179]

【0065】を受信者の秘密鍵(p,q)とし、Let be the recipient's secret key (p, q),

【0066】[0066]

【数180】 [Equation 180]

【0067】を受信者の公開鍵(N,k,G,H)として、
(1)前記送信者側の装置において、平文x(x∈{0,1}n)
に対して乱数r∈{0,1}k0を選び、この乱数rと受信者
の公開鍵とを用いて、
Is the recipient's public key (N, k, G, H),
(1) In the sender-side device, plaintext x (x ∈ {0,1} n )
, A random number r ∈ {0,1} k0 is selected, and using this random number r and the public key of the recipient,

【0068】[0068]

【数181】 [Formula 181]

【0069】を計算し(但し、n+k0+k1<k-2)、その結果
s,tと受信者の公開鍵とを用いて、
Is calculated (where n + k 0 + k 1 <k-2) and the result is
Using s, t and the recipient's public key,

【0070】[0070]

【数182】 [Equation 182]

【0071】を計算し(但し、a=(m/N)はJacobi記号を
表す)、その結果y1,y2,y3を暗号文として、前記受信者
の装置に送信し、(2)前記受信者側の装置において、
受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号文y1,y2,y3から、
(Where a = (m / N) represents a Jacobi symbol), and as a result, y 1 , y 2 and y 3 are transmitted as ciphertexts to the recipient's device, and (2) In the device on the receiver side,
Using the private key of the receiver, from the ciphertext y 1 , y 2 , y 3 received from the device on the sender side,

【0072】[0072]

【数183】 [Equation 183]

【0073】を計算し、それから、φ(x1,p,x1,q),φ(-
x1,p,x1,q),φ(x1,p,-x1,q),φ(-x1 ,p,-x1,q)のうち(但
し、φは中国人の剰余定理によるZ/(p)×Z/(q)からZ/(p
q)への環同型写像を表す)、(x/N)=y3かつ0<x<2k-2を満
たすものをs'として、
And then φ (x 1, p , x 1, q ), φ (-
x 1, p , x 1, q ), φ (x 1, p , -x 1, q ), φ (-x 1 , p , -x 1, q ), where φ is the Chinese surplus Theorem Z / (p) × Z / (q) to Z / (p
(representing a ring isomorphism map to q)), (x / N) = y 3 and 0 <x <2 k-2 , where s'

【0074】[0074]

【数184】 [Formula 184]

【0075】を計算することで、By calculating

【0076】[0076]

【数185】 [Equation 185]

【0077】に示す復号化結果(但し、復号化結果が
「*」の場合、この暗号文を拒否するものとする。ま
た、[a]nおよび[a]nは、それぞれaの上位および下位nビ
ットを表す)を算出する。
Decryption result shown in (However, if the decryption result is "*", this ciphertext is rejected. Also, [a] n and [a] n are the upper and lower bits of a, respectively. (representing n bits).

【0078】本態様は、安全性の証明が可能であり、且
つ、従来の公開鍵暗号方法(安全性証明が可能であるも
の)と比べて、効率よく平文空間を大きくすることが可
能である。つまり、より長い平文を1回の暗号化で処理
でき、したがって、効率的な処理が可能となる。
In this embodiment, the security can be proved, and the plaintext space can be efficiently enlarged as compared with the conventional public key encryption method (which can be security proved). . That is, a longer plaintext can be processed with one encryption, and therefore, efficient processing can be performed.

【0079】なお、本発明において、暗号化対象となる
平文(メッセージともいう)は、文字列のみならず、画像
や音、あるいは、送信データの暗号化のために使用する
共通鍵など、あらゆるディジタルデータが該当する。
In the present invention, the plain text (also referred to as a message) to be encrypted is not limited to a character string, but any digital such as a common key used for encrypting images, sounds, or transmission data. The data applies.

【0080】なお、本明細書および図面において、
“+”を円で囲んだ記号は、排他的論理和を示してい
る。
In this specification and the drawings,
A symbol in which "+" is enclosed in a circle indicates an exclusive OR.

【0081】[0081]

【発明の実施の形態】以下に、本発明の実施の形態につ
いて説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below.

【0082】まず、以下の各実施形態に共通する公開鍵
暗号通信システムの構成について説明する。
First, the configuration of a public key cryptographic communication system common to the following embodiments will be described.

【0083】図1は、本発明の各実施形態に共通する公
開鍵暗号通信システムの概略構成図である。図示するよ
うに、公開鍵暗号通信システムは、暗号化処理を行なっ
て暗号文を作成する送信者側装置100と、復号化処理
を行なって平文を復元する受信者側装置200とが、通
信回線300を介して接続された構成を有している。
FIG. 1 is a schematic configuration diagram of a public key encryption communication system common to each embodiment of the present invention. As shown in the figure, the public-key cryptographic communication system includes a sender-side device 100 that performs an encryption process to create a ciphertext and a receiver-side device 200 that performs a decryption process to restore a plaintext. It has the structure connected via 300.

【0084】図2は、図1に示す送信者側装置100の
概略構成図である。図示するように、暗号化対象の平文
を含む各種情報の入力を受け付ける入力部107と、乱
数生成部101と、べき乗算部102と、演算部103
と、剰余演算部104と、記憶部105と、暗号化部1
08と、通信回線300を介して受信者側装置200と
通信を行なう通信部106と、を備えている。
FIG. 2 is a schematic block diagram of the sender-side device 100 shown in FIG. As illustrated, an input unit 107 that receives various types of information including plaintext to be encrypted, a random number generation unit 101, a power multiplication unit 102, and a calculation unit 103.
, Remainder calculation unit 104, storage unit 105, and encryption unit 1
08, and a communication unit 106 that communicates with the receiver-side device 200 via the communication line 300.

【0085】図3は、図1に示す受信者側装置200の
概略構成図である。図示するように、通信回線300を
介して送信者側装置100と通信を行なう通信部206
と、鍵生成部201と、べき乗算部202と、演算部2
03と、剰余演算部204と、記憶部205と、復号化
部208と、復号結果を含む各種情報を出力する出力部
207と、を備えている。
FIG. 3 is a schematic block diagram of the receiver-side device 200 shown in FIG. As illustrated, a communication unit 206 that communicates with the sender-side device 100 via the communication line 300.
, Key generation unit 201, power multiplication unit 202, and operation unit 2
03, a remainder calculation unit 204, a storage unit 205, a decoding unit 208, and an output unit 207 that outputs various kinds of information including the decoding result.

【0086】上記構成の送信者側装置100および受信
者側装置200は、図4に示すような、CPU401
と、メモリ402と、HDD等の外部記憶装置403
と、CD-ROMやDVD-ROM等の可搬性を有する記
憶媒体404から情報を読み出す読取装置405と、キ
ーボードやマウスなどの入力装置406と、ディスプレ
イなどの出力装置407と、通信回線300を介して相
手装置と通信を行なうための通信装置408と、を備え
た一般的なコンピュータシステムにおいて、CPU40
1がメモリ402上にロードされた所定のプログラムを
実行することにより実現することができる。
The sender-side device 100 and the receiver-side device 200 having the above-described configurations each have a CPU 401 as shown in FIG.
And a memory 402 and an external storage device 403 such as an HDD
A reading device 405 that reads information from a portable storage medium 404 such as a CD-ROM or a DVD-ROM; an input device 406 such as a keyboard or a mouse; an output device 407 such as a display; and a communication line 300. In a general computer system including a communication device 408 for communicating with a partner device, the CPU 40
1 can be realized by executing a predetermined program loaded on the memory 402.

【0087】この所定のプログラムは、読取装置405
を介して記憶媒体404から、あるいは、通信装置40
8を介して通信回線300から、外部記憶装置403に
ダウンロードされ、それから、メモリ402上にロード
されてCPU401により実行されるようにしてもよ
い。また、読取装置405を介して記憶媒体404か
ら、あるいは、通信装置408を介して通信回線300
から、メモリ402上に直接ロードされ、CPU401
により実行されるようにしてもよい。
This predetermined program is read by the reading device 405.
From the storage medium 404 via the communication device 40
Alternatively, it may be downloaded from the communication line 300 to the external storage device 403 via 8, then loaded on the memory 402 and executed by the CPU 401. In addition, the communication line 300 is read from the storage medium 404 via the reader 405 or via the communication device 408.
Directly loaded on the memory 402 from the CPU 401
May be executed by.

【0088】(第1実施形態)次に、本発明の第1実施
形態について、送信者が受信者に対して、送信データと
なるメッセージ(長さn)を暗号通信によって送信する
場合を例にとり説明する。図5は、本発明の第1実施形
態の動作手順を説明するための図である。
(First Embodiment) Next, in the first embodiment of the present invention, an example will be given in which the sender transmits a message (length n) as transmission data to the receiver by cipher communication. explain. FIG. 5 is a diagram for explaining the operation procedure of the first embodiment of the present invention.

【0089】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の秘密鍵(p,q)
と、受信者の公開鍵(N,k,G,H)とを、それぞれ数18
6、数187により生成する。そして、生成情報を記憶
部205に記憶する(ST1100)。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instruction from the operator (recipient) and the secret key (p, q) of the receiver.
And the recipient's public key (N, k, G, H)
6, generated by equation 187. Then, the generation information is stored in the storage unit 205 (ST1100).

【0090】[0090]

【数186】 [Expression 186]

【0091】[0091]

【数187】 [Equation 187]

【0092】ここで、n+k0+k1=kである。また、dの値
は、本システムの管理者あるいは受信者が、予めまたは
必要に応じて決定するものとし、鍵生成部201は、こ
の決定されたdの値を取り込んで、受信者の秘密鍵およ
び公開鍵の生成を行なうものとする。
Here, n + k 0 + k 1 = k. Also, the value of d shall be decided by the administrator or receiver of this system in advance or when necessary, and the key generation unit 201 takes in the decided value of d and secret key of the recipient. And public key generation.

【0093】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(N,k,G,H)を含
む公開情報を、送信者(送信者側装置100の操作者)
に知らせる(ST1101)。例えば、受信者側装置2
00において、鍵生成部201は、受信者よりの指示に
従い、公開情報を、通信部206を介して送信者側装置
100へ送信する。あるいは、受信者は、例えば第3者
(公開情報管理機関)への登録などの周知の方法により、
公開情報を公開する。この公開情報は、送信者側装置1
00の記憶部105に記憶される。
Next, the receiver sends the public information including the public key (N, k, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (sender side device). 100 operators)
(ST1101). For example, the receiver device 2
In 00, the key generation unit 201 transmits the public information to the sender-side device 100 via the communication unit 206 according to the instruction from the receiver. Alternatively, the recipient is, for example, a third party
By well-known methods such as registration with (public information management organization),
Make public information public. This public information is sent to the sender device 1
00 is stored in the storage unit 105.

【0094】なお、秘密鍵(p,q)は、これらとは別の
素数p',q'から、p=2p'+1,q=2q'+1となる素数を選ぶこと
により作成することも可能である。
The secret key (p, q) should be created by selecting a prime number such that p = 2p '+ 1 and q = 2q' + 1 from other prime numbers p'and q '. Is also possible.

【0095】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)よりメッセージx(x∈{0,1}n)の入力を受け付
ける(ST1200)。これを受けて、乱数生成部10
1は、メッセージxに対して乱数r∈{0,1}k0を選ぶ。そ
れから、演算部103は、この乱数rと、予め記憶部1
05に記憶しておいた受信者の公開鍵(N,k,G,H)とを用
いて、べき乗算部102を利用して数188を計算する
(ST1201)。
2. In the encryption processing sender device 100, the input unit 107 receives an input of the message x (xε {0,1} n ) from the operator (sender) (ST1200). In response to this, the random number generator 10
1 selects a random number rε {0,1} k0 for the message x. Then, the calculation unit 103 uses the random number r and the storage unit 1 in advance.
Using the public key (N, k, G, H) of the receiver stored in 05, the exponentiation unit 102 is used to calculate the number 188 (ST1201).

【0096】[0096]

【数188】 [Formula 188]

【0097】次に、演算部103は、数188の計算結
果s,tを用いて、数189を計算する(ST120
2)。
Next, arithmetic section 103 calculates equation 189 using calculation results s and t of equation 188 (ST120
2).

【0098】[0098]

【数189】 [Formula 189]

【0099】さらに、演算部103は、数189の計算
結果wと受信者の公開鍵とを用いて、べき乗算部102
および剰余演算部104を利用して数190を計算する
(ST1203)。
Further, the calculation unit 103 uses the calculation result w of the formula 189 and the public key of the receiver to calculate the power multiplication unit 102.
The number 190 is calculated by using the remainder calculation unit 104 (ST1203).

【0100】[0100]

【数190】 [Formula 190]

【0101】通信部106は、数190の計算結果y
を、メッセージxの暗号文として、通信回線300を介
して、受信者側装置200に送信する(ST120
4)。
The communication unit 106 calculates the calculation result y
Is transmitted to the receiver-side device 200 via the communication line 300 as the ciphertext of the message x (ST120
4).

【0102】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号文yを受
け取り、これを記憶部205に記憶する。さて、演算部
203は、操作者(送信者)よりの指示に従い、べき乗
算部202および剰余演算部204を利用して、記憶部
205に記憶されている受信者の秘密鍵(p,q)を用い
て、記憶部205に記憶されている暗号文yから数19
1を計算する。
3. In the decryption processing recipient device 200, the communication unit 206 receives the ciphertext y from the sender device 100 via the communication line 300, and stores it in the storage unit 205. Now, the calculation unit 203 uses the exponentiation unit 202 and the remainder calculation unit 204 according to the instruction from the operator (sender), and the secret key (p, q) of the receiver stored in the storage unit 205. From the ciphertext y stored in the storage unit 205 using
Calculate 1.

【0103】[0103]

【数191】 [Formula 191]

【0104】次に、演算部203は、数191の計算結
果を用いて、べき乗算部202および剰余演算部204
を利用して、数192および数193を計算する(ST
1300)。
Next, the arithmetic unit 203 uses the calculation result of the equation 191 to calculate the power multiplication unit 202 and the remainder arithmetic unit 204.
Mathematical formulas 192 and 193 are calculated using
1300).

【0105】[0105]

【数192】 [Formula 192]

【0106】[0106]

【数193】 [Formula 193]

【0107】それから、演算部203は、φ(xp,xq),φ
(-xp,xq),φ(xp,-xq),φ(-xp,-xq)の各々(但し、φは中
国人の剰余定理によるZ/(p)×Z/(q)からZ/(pq)への環同
型写像を表す)について、数194に示すように置く
(ST1301、ST1302)。
Then, the arithmetic unit 203 determines that φ (x p , x q ), φ
(-x p , x q ), φ (x p , -x q ), φ (-x p , -x q ) (where φ is Z / (p) × Z / according to Chinese Remainder Theorem (representing a ring isomorphism map from (q) to Z / (pq)) is set as shown in Formula 194 (ST1301 and ST1302).

【0108】[0108]

【数194】 [Formula 194]

【0109】次に、演算部203は、数195を計算す
ることで(ST1303)、数196に示す暗号文yの
復号結果x'(つまりメッセージx)を算出する(ST1
304)。
Next, arithmetic section 203 calculates equation 195 (ST1303) to calculate decryption result x '(that is, message x) of ciphertext y shown in equation 196 (ST1).
304).

【0110】[0110]

【数195】 [Formula 195]

【0111】[0111]

【数196】 [Expression 196]

【0112】それから、演算部203は、復号結果x'を
出力部207から出力する。但し、復号化結果が「*」
の場合、演算部203は、この暗号文yの復号を拒否
し、その旨を出力部207から出力する(ST130
5)。
Then, the arithmetic section 203 outputs the decoding result x ′ from the output section 207. However, the decryption result is "*"
In the case of, the arithmetic unit 203 refuses to decrypt the ciphertext y, and outputs the fact to the output unit 207 (ST130).
5).

【0113】本実施形態において、上述のd(d≧1)の値
は変更可能である。例えば、メッセージのビット長が常
に小さい場合、上述のNの素因数分解が困難である範囲
においてdの値を大きくすることにより、復号化処理を
高速にすることが可能である。
In the present embodiment, the value of d (d ≧ 1) described above can be changed. For example, when the bit length of the message is always small, it is possible to speed up the decoding process by increasing the value of d in the range where it is difficult to factorize the above N.

【0114】また、本実施形態では、上述のNの素因数
分解問題の困難性を前提にして、選択暗号文攻撃に対し
て強秘匿であることが証明できる(IND-CCA2)。証明の
アウトラインを以下に示す。
Further, in the present embodiment, it is possible to prove that it is strong confidentiality against the selected ciphertext attack on the premise of the difficulty of the above-mentioned N prime factorization problem (IND-CCA2). The proof outline is shown below.

【0115】適応的選択暗号文攻撃における強秘匿性の
意味において、本実施形態の公開鍵暗号通信方法を破る
ことができるアルゴリズムが存在したと仮定する(その
定義は、例えば文献14に記載されている)。このアル
ゴリズムを用いて、Nの素因数分解を行うアルゴリズム
を構築できる。これより、本実施形態による公開鍵暗号
通信方法は、素因数分解問題の困難性を前提として、IN
D-CCA2であることが証明できる。
In the sense of strong confidentiality in the adaptive selection ciphertext attack, it is assumed that there is an algorithm capable of breaking the public key cryptographic communication method of this embodiment (the definition is described in, for example, Document 14). Exist). Using this algorithm, we can construct an algorithm that performs a factorization of N. From this, the public-key cryptographic communication method according to the present embodiment is based on the difficulty of the prime factorization problem.
It can be proved to be D-CCA2.

【0116】本実施形態において、上述のwの値およびN
/2の値の大小関係を表わす情報(例えばwの値がN/2より
も小さい場合は−1、大きい場合は1とする情報)を、
送信者側装置100は、公開するかあるいは受信者側装
置200に送信するようにしてもよい。受信者側装置2
00が復号化処理において上記の情報を用いることによ
り、4個のφ(xp,xq),φ(-xp,xq),φ(xp,-xq),φ(-xp,-
xq)のうちの2つに限定して、復号化を行なうことがで
きる。
In the present embodiment, the above-mentioned value of w and N
Information that indicates the magnitude relationship of the value of / 2 (for example, the information that sets -1 when the value of w is smaller than N / 2 and 1 when it is large) is
The sender device 100 may be made public or may be transmitted to the receiver device 200. Receiver side device 2
00 uses the above information in the decoding process to obtain four φ (x p , x q ), φ (-x p , x q ), φ (x p , -x q ), φ (-x p ,-
Only two of x x) can be decrypted.

【0117】また、上述のdの値が奇数の場合、送信者
側装置100がJacobi記号(w/N)を公開または受信者側
装置200に送信することにより、φ(xp,xq),φ(-xp,x
q),φ(xp,-xq),φ(-xp,-xq)のJacobi記号の値を計算す
ることにより、これらのうちの2つに限定して、復号化
を行なうことができる。
When the value of d is an odd number, the sender device 100 publishes the Jacobi symbol (w / N) or sends it to the receiver device 200, so that φ (x p , x q ) , φ (-x p , x
q ), φ (x p , -x q ), φ (-x p , -x q ) By calculating the value of the Jacobi symbol, the decoding is limited to two of these. You can

【0118】このような工夫により、復号化処理におけ
る効率性を向上させることができる。
With such a device, the efficiency of the decoding process can be improved.

【0119】なお、Jacobi記号の定義および計算方法に
ついては、例えば「A.J. Menezes,P.C. van Oorschot,
S.A. Vanstone: Jacobi Symbol: Definition & Algorit
hm,Handbook of Applied Cryptography, CRC Press, p
p.73, 1996」(以下、文献16と呼ぶ)や、「H. Cohe
n: Jacobi Symbol : Definition & Algorithm, A Cours
e in Computational Algebraic Number Theory, Gradua
te Texts in Math. 138, Springer-Verlag, New York,
pp.27-31, 1993」(以下、文献17と呼ぶ)に記載され
ている。
For the definition and calculation method of the Jacobi symbol, see, for example, “AJ Menezes, PC van Oorschot,
SA Vanstone: Jacobi Symbol: Definition & Algorit
hm, Handbook of Applied Cryptography, CRC Press, p
p.73, 1996 "(hereinafter referred to as Reference 16) and" H. Cohe
n: Jacobi Symbol: Definition & Algorithm, A Cours
e in Computational Algebraic Number Theory, Gradua
te Texts in Math. 138, Springer-Verlag, New York,
pp.27-31, 1993 "(hereinafter referred to as reference 17).

【0120】また、本実施形態において、暗号文yから
φ(xp,xq),φ(-xp,xq),φ(xp,-xq),φ(-xp,-xq)を計算
する方法は、n=pdqを法として平方根を求める高速な計
算方法もある。この計算方法は、n=pdqを法として平方
根(またはm乗根)を求める計算を行う他システムへ適用
可能である。これにより、高速な累乗根の計算が可能と
なる。
Further, in the present embodiment, from ciphertext y, φ (x p , x q ), φ (-x p , x q ), φ (x p , -x q ), φ (-x p ,- As a method of calculating (x q ), there is also a high-speed calculation method of obtaining a square root by using n = p d q as a modulus. This calculation method can be applied to other systems that calculate the square root (or mth root) modulo n = p d q. This enables high-speed calculation of the power root.

【0121】ところで、本実施形態の公開鍵暗号通信方
法は、共通鍵暗号におけるデータ暗号化鍵の配送を目的
として、共通鍵暗号と一緒に使用することも可能であ
る。この場合、メッセージxの代わりに、データ暗号化
鍵(共通鍵)K(K∈{0,1}n)が、上述の暗復号化対象とな
る。そして、このデータ暗号化鍵Kを用いて、送信デー
タmの暗復号化が行なわれる。つまり、送信者側装置1
00は、データ暗号化鍵Kにより暗号化した暗号文cを、
データ暗号化鍵Kに対する公開鍵暗号結果と共に、受信
者側装置200へ送信する。受信者側装置200は、公
開鍵暗号結果の復号結果(つまりデータ暗号化鍵K)を
用いて暗号文cを復号化して送信データmを得る。
By the way, the public key cryptographic communication method of this embodiment can be used together with common key cryptography for the purpose of delivering the data encryption key in the common key cryptography. In this case, instead of the message x, the data encryption key (common key) K (Kε {0,1} n ) is the encryption / decryption target. Then, the data encryption key K is used to encrypt / decrypt the transmission data m. That is, the sender device 1
00 is a ciphertext c encrypted with the data encryption key K,
The data encryption key K and the public key encryption result for the data encryption key K are transmitted to the recipient device 200. The recipient device 200 decrypts the ciphertext c using the decryption result of the public key encryption result (that is, the data encryption key K) to obtain the transmission data m.

【0122】(第2実施形態)次に、本発明の第2実施
形態について、送信者が受信者に対して、送信データと
なるメッセージを暗号通信によって送信する場合を例に
とり説明する。本実施形態は、上記の第1実施形態の変
形例である。図6は、本発明の第2実施形態の動作手順
を説明するための図である。
(Second Embodiment) Next, a second embodiment of the present invention will be described by taking as an example a case where a sender transmits a message as transmission data to a receiver by cipher communication. The present embodiment is a modification of the first embodiment described above. FIG. 6 is a diagram for explaining the operation procedure of the second embodiment of the present invention.

【0123】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の秘密鍵(p,q)
と、受信者の公開鍵(N,k,G,H,H')とを、それぞれ数19
7、数198により生成する。そして、生成情報を記憶
部205に記憶する(ST2100)。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instruction from the operator (recipient) and the secret key (p, q) of the receiver.
And the recipient's public key (N, k, G, H, H ')
7, generated by the number 198. Then, the generation information is stored in the storage unit 205 (ST2100).

【0124】[0124]

【数197】 [Formula 197]

【0125】[0125]

【数198】 [Number 198]

【0126】ここで、n+k0+k1=kである。また、dの値
は、本システムの管理者あるいは受信者が、予めまたは
必要に応じて決定するものとし、鍵生成部201は、こ
の決定されたdの値を取り込んで、受信者の秘密鍵およ
び公開鍵の生成を行なうものとする。
Here, n + k 0 + k 1 = k. Also, the value of d shall be decided by the administrator or receiver of the present system in advance or as necessary, and the key generation unit 201 takes in the decided value of d and secret key of the recipient. And public key generation.

【0127】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(N,k,G,H,H')を
含む公開情報を、送信者(送信者側装置100の操作
者)に知らせる(ST2101)。例えば、受信者側装
置200において、鍵生成部201は、受信者よりの指
示に従い、公開情報を、通信部206を介して送信者側
装置100へ送信する。あるいは、受信者は、例えば第
3者(公開情報管理機関)への登録などの周知の方法によ
り、公開情報を公開する。この公開情報は、送信者側装
置100の記憶部105に記憶される。
Next, the receiver sends the public information including the public key (N, k, G, H, H ') of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (transmission). The operator of the person-side device 100) is notified (ST2101). For example, in the receiver-side device 200, the key generation unit 201 transmits public information to the sender-side device 100 via the communication unit 206 according to an instruction from the receiver. Alternatively, the recipient publishes the public information by a known method such as registration with a third party (public information management organization). This public information is stored in the storage unit 105 of the sender device 100.

【0128】なお、秘密鍵(p,q)は、これらとは別の
素数p',q'から、p=2p'+1,q=2q'+1となる素数を選ぶこと
により作成することも可能である。
The secret key (p, q) should be created by selecting a prime number such that p = 2p '+ 1, q = 2q' + 1 from other prime numbers p ', q'. Is also possible.

【0129】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)よりメッセージx(x∈{0,1}n)の入力を受け付
ける(ST2200)。これを受けて、乱数生成部10
1は、メッセージxに対して乱数r∈{0,1}k0を選ぶ。そ
れから、演算部103は、この乱数rと、予め記憶部1
05に記憶しておいた受信者の公開鍵(N,k,G,H,H')とを
用いて、数199を計算する(ST2201)。
2. In the encryption processing sender device 100, the input unit 107 accepts the input of the message x (xε {0,1} n ) from the operator (sender) (ST2200). In response to this, the random number generator 10
1 selects a random number rε {0,1} k0 for the message x. Then, the calculation unit 103 uses the random number r and the storage unit 1 in advance.
Using the public key (N, k, G, H, H ') of the receiver stored in 05, the number 199 is calculated (ST2201).

【0130】[0130]

【数199】 [Numerical formula 199]

【0131】次に、演算部103は、数199の計算結
果s,tを用いて、数200を計算する(ST220
2)。
Next, arithmetic section 103 calculates equation 200 using calculation results s and t of equation 199 (ST220).
2).

【0132】[0132]

【数200】 [Equation 200]

【0133】さらに、演算部103は、数200の計算
結果wと受信者の公開鍵とを用いて、べき乗算部102
および剰余演算部104を利用して数201を計算する
(ST2203)。
Further, the calculation unit 103 uses the calculation result w of the equation 200 and the public key of the receiver to calculate the power multiplication unit 102.
And the number 201 is calculated using the remainder calculation unit 104 (ST2203).

【0134】[0134]

【数201】 [Equation 201]

【0135】通信部106は、数201の計算結果y
を、メッセージxの暗号文として、通信回線300を介
して、受信者側装置200に送信する(ST220
4)。
The communication unit 106 calculates the calculation result y of the equation 201.
Is transmitted to the receiver-side device 200 via the communication line 300 as the ciphertext of the message x (ST220).
4).

【0136】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号文yを受
け取り、これを記憶部205に記憶する。さて、演算部
203は、操作者(送信者)よりの指示に従い、べき乗
算部202および剰余演算部204を利用して、記憶部
205に記憶されている受信者の秘密鍵(p,q)を用い
て、記憶部205に記憶されている暗号文yから数20
2を計算する。
3. In the decryption processing recipient device 200, the communication unit 206 receives the ciphertext y from the sender device 100 via the communication line 300, and stores it in the storage unit 205. Now, the calculation unit 203 uses the exponentiation unit 202 and the remainder calculation unit 204 according to the instruction from the operator (sender), and the secret key (p, q) of the receiver stored in the storage unit 205. From the ciphertext y stored in the storage unit 205 using
Calculate 2.

【0137】[0137]

【数202】 [Equation 202]

【0138】次に、演算部203は、数202の計算結
果を用いて、べき乗算部202および剰余演算部204
を利用して、数203および数204を計算する(ST
2300)。
Next, the arithmetic unit 203 uses the calculation result of the equation 202 to calculate the power multiplication unit 202 and the remainder arithmetic unit 204.
To calculate the number 203 and the number 204 (ST
2300).

【0139】[0139]

【数203】 [Equation 203]

【0140】[0140]

【数204】 [Equation 204]

【0141】それから、演算部203は、φ(xp,xq),φ
(-xp,xq),φ(xp,-xq),φ(-xp,-xq)の各々(但し、φは中
国人の剰余定理によるZ/(p)×Z/(q)からZ/(pq)への環同
型写像を表す)について、数205に示すように置く
(ST2301、ST2302)。
Then, the arithmetic unit 203 determines that φ (x p , x q ), φ
(-x p , x q ), φ (x p , -x q ), φ (-x p , -x q ) (where φ is Z / (p) × Z / according to Chinese Remainder Theorem (representing a ring isomorphism map from (q) to Z / (pq)) is set as shown in Formula 205 (ST2301, ST2302).

【0142】[0142]

【数205】 [Equation 205]

【0143】次に、演算部203は、数206を計算す
ることで(ST2303)、数207に示す暗号文yの
復号結果x'(つまりメッセージx)を算出する(ST2
304)。
Next, arithmetic section 203 calculates decryption result x '(that is, message x) of ciphertext y shown in Formula 207 by calculating Formula 206 (ST2303) (ST2).
304).

【0144】[0144]

【数206】 [Equation 206]

【0145】[0145]

【数207】 [Equation 207]

【0146】それから、演算部203は、復号結果x'を
出力部207から出力する。但し、復号化結果が「*」
の場合、演算部203は、この暗号文yの復号を拒否
し、その旨を出力部207から出力する(ST230
5)。
Then, the arithmetic unit 203 outputs the decoding result x ′ from the output unit 207. However, the decryption result is "*"
In the case of, the arithmetic unit 203 refuses to decrypt the ciphertext y, and outputs the fact to the output unit 207 (ST230).
5).

【0147】本実施形態において、上述のd(d≧1)の値
は変更可能である。例えば、メッセージのビット長が常
に小さい場合、上述のNの素因数分解が困難である範囲
においてdの値を大きくすることにより、復号化処理を
高速にすることが可能である。
In the present embodiment, the above-mentioned value of d (d ≧ 1) can be changed. For example, when the bit length of the message is always small, it is possible to speed up the decoding process by increasing the value of d in the range where it is difficult to factorize the prime number of N described above.

【0148】また、本実施形態は、上述の第1実施形態
と同様に、Nの素因数分解問題の困難性を前提にしてIND
-CCA2であることが証明できる。
In addition, this embodiment is similar to the above-described first embodiment in that it is premised on the difficulty of the N factorization problem.
-Can prove to be CCA2.

【0149】また、本実施形態は、上記の第1実施形態
の場合と同様に、復号化処理において、φ(xp,xq),φ(-
xp,xq),φ(xp,-xq),φ(-xp,-xq)を限定することを目的
として、Jacobi記号(w/N)の値を公開または送信した
り、あるいは、wの値とN/2の値との大小関係を表わす情
報を公開または送信することも可能である。
Further, in the present embodiment, similarly to the case of the above-mentioned first embodiment, in the decoding process, φ (x p , x q ), φ (-
For the purpose of limiting x p , x q ), φ (x p , -x q ), φ (-x p , -x q ), publish or send the value of the Jacobi symbol (w / N). Alternatively, it is also possible to publish or transmit information indicating the magnitude relationship between the value of w and the value of N / 2.

【0150】また、本実施形態の公開鍵暗号通信方法
は、上記の第1実施形態と同様に、共通鍵暗号における
データ暗号化鍵の配送を目的として、共通鍵暗号と一緒
に使用することも可能である。
Further, the public key cryptographic communication method of this embodiment can be used together with common key cryptography for the purpose of delivering a data encryption key in common key cryptography, as in the first embodiment. It is possible.

【0151】(第3実施形態)次に、本発明の第3実施
形態について、送信者が受信者に対して、送信データと
なるメッセージを暗号通信によって送信する場合を例に
とり説明する。図7は、本発明の第3実施形態の動作手
順を説明するための図である。
(Third Embodiment) Next, a third embodiment of the present invention will be described by taking as an example a case where a sender sends a message as transmission data to a receiver by cipher communication. FIG. 7 is a diagram for explaining the operation procedure of the third embodiment of the present invention.

【0152】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の公開鍵(f,G,
H)と受信者の秘密鍵とを、それぞれ数208、数209
により生成する。そして、生成情報を記憶部205に記
憶する(ST3100)。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instructions from the operator (recipient) and the public key (f, G,
H) and the recipient's private key are the number 208 and the number 209, respectively.
Generated by. Then, the generation information is stored in the storage unit 205 (ST3100).

【0153】[0153]

【数208】 [Equation 208]

【0154】[0154]

【数209】 [Equation 209]

【0155】ここで、n+k0+k1=kである。Here, n + k 0 + k 1 = k.

【0156】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(f,G,H)を含む
公開情報を、送信者(送信者側装置100の操作者)に
知らせる(ST3101)。例えば、受信者側装置20
0において、鍵生成部201は、受信者よりの指示に従
い、公開情報を、通信部206を介して送信者側装置1
00へ送信する。あるいは、受信者は、例えば第3者
(公開情報管理機関)への登録などの周知の方法により、
公開情報を公開する。この公開情報は、送信者側装置1
00の記憶部105に記憶される。
Next, the receiver sends the public information including the public key (f, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (sender side device 100 Notify the operator) (ST3101). For example, the receiver device 20
0, the key generation unit 201 sends public information via the communication unit 206 to the sender-side device 1 according to an instruction from the receiver.
Send to 00. Alternatively, the recipient is, for example, a third party
By well-known methods such as registration with (public information management organization),
Make public information public. This public information is sent to the sender device 1
00 is stored in the storage unit 105.

【0157】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)よりメッセージx(x∈{0,1}n)の入力を受け付
ける(ST3200)。これを受けて、乱数生成部10
1は、メッセージxに対して乱数r∈{0,1}k0を選ぶ。そ
れから、演算部103は、この乱数rと、予め記憶部1
05に記憶しておいた受信者の公開鍵(f,G,H)とを用い
て、べき乗算部102を利用して数210を計算する
(ST3201)。
2. In the encryption processing sender device 100, the input unit 107 receives an input of the message x (xε {0,1} n ) from the operator (sender) (ST3200). In response to this, the random number generator 10
1 selects a random number rε {0,1} k0 for the message x. Then, the calculation unit 103 uses the random number r and the storage unit 1 in advance.
Using the public key (f, G, H) of the recipient stored in 05, the power multiplication unit 102 is used to calculate the number 210 (ST3201).

【0158】[0158]

【数210】 [Equation 210]

【0159】次に、演算部103は、数210の計算結
果s,tを用いて、数211を計算する(ST320
2)。
Next, arithmetic section 103 calculates expression 211 using calculation results s, t of expression 210 (ST320).
2).

【0160】[0160]

【数211】 [Equation 211]

【0161】通信部106は、数211の計算結果y1,y
2を、メッセージxの暗号文として、通信回線300を介
して、受信者側装置200に送信する(ST320
4)。
The communication unit 106 calculates the calculation result y 1 , y of the equation 211.
2 as the ciphertext of the message x is transmitted to the receiver-side device 200 via the communication line 300 (ST320).
4).

【0162】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号文y1,y2
を受け取り、これを記憶部205に記憶する。さて、演
算部203は、操作者(送信者)よりの指示に従い、べ
き乗算部202および剰余演算部204を利用して、記
憶部205に記憶されている受信者の秘密鍵を用いて、
記憶部205に記憶されている暗号文y1,y2から数21
2を計算する(ST3300)。
3. In the decryption processing receiver device 200, the communication unit 206 transmits the ciphertexts y 1 and y 2 from the sender device 100 via the communication line 300.
Is received and stored in the storage unit 205. Now, the calculation unit 203 uses the power multiplication unit 202 and the remainder calculation unit 204 in accordance with the instruction from the operator (sender), using the secret key of the receiver stored in the storage unit 205,
From the ciphertext y 1 , y 2 stored in the storage unit 205,
2 is calculated (ST3300).

【0163】[0163]

【数212】 [Equation 212]

【0164】次に、演算部203は、数212の計算結
果を用いて、数213を計算する(ST3301)。
Next, arithmetic section 203 calculates equation 213 using the calculation result of equation 212 (ST3301).

【0165】[0165]

【数213】 [Equation 213]

【0166】次に、演算部203は、数213の計算結
果を用いて、べき乗算部202を利用して数214に示
す復号化結果を計算する。なお、[a]nおよび[a]nは、そ
れぞれaの上位および下位nビットを表す(S330
2)。
Next, the arithmetic section 203 uses the calculation result of the equation 213 to calculate the decoding result shown in the equation 214 using the power multiplication section 202. [A] n and [a] n represent the upper and lower n bits of a, respectively (S330).
2).

【0167】[0167]

【数214】 [Equation 214]

【0168】それから、演算部203は、復号結果x'を
出力部207から出力する。但し、復号化結果が「*」
の場合、演算部203はこの暗号文y1,y2の復号を拒否
し、その旨を出力部207から出力する(ST330
3)。
Then, the arithmetic section 203 outputs the decoding result x ′ from the output section 207. However, the decryption result is "*"
In the case of, the arithmetic unit 203 refuses to decrypt the ciphertexts y 1 and y 2 , and outputs a message to that effect from the output unit 207 (ST330).
3).

【0169】本実施形態では、一方向性置換fの逆関数
を求めることが困難であることを前提にして、選択暗号
文攻撃に対して強秘匿であることが証明できる(IND-CC
A2)。証明のアウトラインを以下に示す。
In this embodiment, on the assumption that it is difficult to find the inverse function of the one-way permutation f, it can be proved that the ciphertext is strongly confidential to the selected ciphertext attack (IND-CC).
A2). The proof outline is shown below.

【0170】適応的選択暗号文攻撃における強秘匿性の
意味において、本実施形態の公開鍵暗号通信方法を破ろ
うとする敵(この定義は、例えば文献15に記載されて
いる)が、復号化オラクルから情報を得るためには、質
問である暗号文y1,y2に対する元のメッセージxを知る必
要がある。すなわち、敵は、復号化オラクルから新たな
情報を得ることができない。また、文献14に記載の公
開鍵暗号方法と同様の方法ににより、本実施形態の公開
鍵暗号通信方法がIND-CPA(選択平文攻撃に対して強秘
匿)であること容易に示せる。これより、本実施形態の
公開鍵暗号通信方法は、IND-CCA2であることが証明でき
る。
In the sense of strong confidentiality in the adaptive selection ciphertext attack, an enemy who attempts to break the public key cryptographic communication method of the present embodiment (this definition is described in, for example, Reference 15) is a decryption oracle. In order to get information from, we need to know the original message x for the question ciphertext y 1 , y 2 . That is, the adversary cannot obtain new information from the decryption oracle. Further, by the same method as the public key encryption method described in Document 14, it can be easily shown that the public key encryption communication method of the present embodiment is IND-CPA (confidential against selected plaintext attack). From this, it can be proved that the public key cryptographic communication method of this embodiment is IND-CCA2.

【0171】また、本実施形態によれば、文献15にて
指摘されている文献14の問題点(fの逆関数を計算す
ることの困難性を前提として安全性の証明が不十分)を
解決できる。また、本実施形態によると、安全性を保ち
つつも、平文空間を大きくとることが可能となる。
Further, according to this embodiment, the problem of the document 14 pointed out in the document 15 (the proof of the safety is insufficient on the assumption that it is difficult to calculate the inverse function of f) is solved. it can. Further, according to this embodiment, it is possible to secure a large plaintext space while maintaining safety.

【0172】(第4実施形態)次に、上記の第3実施形
態の具体例を、本発明の第4実施形態として説明する。
図8は、本発明の第4実施形態の動作手順を説明するた
めの図である。
(Fourth Embodiment) Next, a specific example of the third embodiment will be described as a fourth embodiment of the present invention.
FIG. 8 is a diagram for explaining the operation procedure of the fourth embodiment of the present invention.

【0173】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の秘密鍵(p,q)
と、受信者の公開鍵(N,k,G,H)とを、それぞれ数21
5、数216により生成する。そして、生成情報を記憶
部205に記憶する(ST4100)。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instruction from the operator (recipient) and the secret key (p, q) of the receiver.
, And the recipient's public key (N, k, G, H)
5, which is generated by the equation 216. Then, the generation information is stored in the storage unit 205 (ST4100).

【0174】[0174]

【数215】 [Equation 215]

【0175】[0175]

【数216】 [Expression 216]

【0176】ここで、dの値は、本システムの管理者あ
るいは受信者が、予めまたは必要に応じて決定するもの
とし、鍵生成部201は、この決定されたdの値を取り
込んで、受信者の秘密鍵および公開鍵の生成を行なうも
のとする。
Here, the value of d is determined by the administrator or receiver of this system in advance or when necessary, and the key generation unit 201 takes in the determined value of d and receives it. The private key and public key of the person are to be generated.

【0177】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(N,k,G,H)を含
む公開情報を、送信者(送信者側装置100の操作者)
に知らせる(ST4101)。例えば、受信者側装置2
00において、鍵生成部201は、受信者よりの指示に
従い、公開情報を、通信部206を介して送信者側装置
100へ送信する。あるいは、受信者は、例えば第3者
(公開情報管理機関)への登録などの周知の方法により、
公開情報を公開する。この公開情報は、送信者側装置1
00の記憶部105に記憶される。
Next, the receiver sends the public information including the public key (N, k, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (sender side device). 100 operators)
(ST4101). For example, the receiver device 2
In 00, the key generation unit 201 transmits the public information to the sender-side device 100 via the communication unit 206 according to the instruction from the receiver. Alternatively, the recipient is, for example, a third party
By well-known methods such as registration with (public information management organization),
Make public information public. This public information is sent to the sender device 1
00 is stored in the storage unit 105.

【0178】なお、秘密鍵(p,q)は、これらとは別の
素数p',q'から、p=2p'+1,q=2q'+1となる素数を選ぶこと
により作成することも可能である。
The secret key (p, q) should be created by selecting a prime number such that p = 2p '+ 1, q = 2q' + 1 from other prime numbers p ', q'. Is also possible.

【0179】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)よりメッセージx(x∈{0,1}n)の入力を受け付
ける(ST4200)。これを受けて、乱数生成部10
1は、メッセージxに対して乱数r∈{0,1}k0を選ぶ。そ
れから、演算部103は、この乱数rと、予め記憶部1
05に記憶しておいた受信者の公開鍵(N,k,G,H)とを用
いて、べき乗算部102を利用して数217を計算する
(ST4201)。
2. In the encryption processing sender device 100, the input unit 107 receives an input of the message x (xε {0,1} n ) from the operator (sender) (ST4200). In response to this, the random number generator 10
1 selects a random number rε {0,1} k0 for the message x. Then, the calculation unit 103 uses the random number r and the storage unit 1 in advance.
Using the public key (N, k, G, H) of the receiver stored in 05, the power multiplication unit 102 is used to calculate the number 217 (ST4201).

【0180】[0180]

【数217】 [Expression 217]

【0181】ここで、n+k0+k1<k-2である。次に、演算
部103は、数217の計算結果s,tを用いて、べき乗
算部102および剰余演算部104を利用して数218
を計算する(ST4202)。
Here, n + k 0 + k 1 <k-2. Next, the calculation unit 103 uses the calculation results s, t of Expression 217 and uses the power multiplication unit 102 and the remainder calculation unit 104 to calculate Expression 218.
Is calculated (ST4202).

【0182】[0182]

【数218】 [Equation 218]

【0183】ここで、a=(m/N)はJacobi記号を表す。次
に、通信部106は、数218の計算結果y1,y2,y3を、
メッセージxの暗号文として、通信回線300を介し
て、受信者側装置200に送信する(ST4203)。
Here, a = (m / N) represents the Jacobi symbol. Next, the communication unit 106 uses the calculation results y 1 , y 2 , y 3 of Equation 218 as
The ciphertext of the message x is transmitted to the receiver device 200 via the communication line 300 (ST4203).

【0184】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号文y1,y2,
y3を受け取って記憶部205に記憶する。さて、演算部
203は、操作者(送信者)よりの指示に従い、べき乗
算部202および剰余演算部204を利用して、記憶部
205に記憶されている受信者の秘密鍵(p,q)を用い
て、記憶部205に記憶されている暗号文y1,y2,y3から
数219を計算する(ST4300)。
3. In the decryption processing receiver side device 200, the communication unit 206 receives the ciphertexts y 1 , y 2 , from the sender side device 100 via the communication line 300.
It receives y 3 and stores it in the storage unit 205. Now, the calculation unit 203 uses the exponentiation unit 202 and the remainder calculation unit 204 according to the instruction from the operator (sender), and the secret key (p, q) of the receiver stored in the storage unit 205. Using, the equation 219 is calculated from the ciphertext y 1 , y 2 , y 3 stored in the storage unit 205 (ST4300).

【0185】[0185]

【数219】 [Formula 219]

【0186】それから、演算部203は、φ(x1,p,
x1,q),φ(-x1,p,x1,q),φ(x1,p,-x1,q),φ(-x1,p,-
x1,q)のうち(但し、φは中国人の剰余定理によるZ/(p)
×Z/(q)からZ/(pq)への環同型写像を表す)、(x/N)=y3
つ0<x<2k-2を満たすものをs'として、数220を計算す
る(ST4301〜ST4303)。
Then, the arithmetic unit 203 determines that φ (x 1, p ,
x 1, q ), φ (-x 1, p , x 1, q ), φ (x 1, p , -x 1, q ), φ (-x 1, p ,-
x 1, q ) (where φ is Z / (p) according to the Chinese Remainder Theorem
× Z / (q) to Z / (pq) is represented as a homomorphic map), and (x / N) = y 3 and 0 <x <2 k-2 is defined as s', and Formula 220 is calculated. (ST4301 to ST4303).

【0187】[0187]

【数220】 [Equation 220]

【0188】次に、演算部203は、数221に示す暗
号文y1,y2,y3の復号結果x'(つまりメッセージx)を算
出する(ST4304)。
[0188] Next, operation unit 203, the ciphertext y 1 of the equation 221, y 2, y 3 of the decoding results x 'is calculated (i.e. message x) (ST4304).

【0189】[0189]

【数221】 [Equation 221]

【0190】ここで、[a]nおよび[a]nは、それぞれaの
上位および下位nビットを表している。それから、演算
部203は、復号結果x'を出力部207から出力する。
但し、復号化結果が「*」の場合、演算部203は、こ
の暗号文y1,y2,y3の復号を拒否し、その旨を出力部20
7から出力する(ST4305)。
Here, [a] n and [a] n represent the upper and lower n bits of a, respectively. Then, the arithmetic unit 203 outputs the decoding result x ′ from the output unit 207.
However, when the decryption result is “*”, the arithmetic unit 203 rejects the decryption of the ciphertext y 1 , y 2 , y 3 and notifies the output unit 20 of that effect.
It outputs from 7 (ST4305).

【0191】本実施形態において、上述のd(d≧1)の値
は変更可能である。例えば、メッセージのビット長が常
に小さい場合、上述のNの素因数分解が困難である範囲
においてdの値を大きくすることで、復号化処理を高速
にすることが可能である。
In this embodiment, the value of d (d ≧ 1) described above can be changed. For example, when the bit length of the message is always small, it is possible to speed up the decoding process by increasing the value of d in the range where it is difficult to factorize the prime number of N described above.

【0192】また、本実施形態の公開鍵暗号通信方法で
は、例えばd=3の場合、Nの素因数分解問題の困難性を前
提として完全解読が不可能なことを示すことができる。
すなわち、Nの素因数分解問題を解くアルゴリズムが存
在すれば、そのアルゴリズムを利用して、本実施形態の
公開鍵暗号通信方法の完全解読を行うアルゴリズムを構
成することができる。また、本実施形態の公開鍵暗号通
信方法の完全解読を行うアルゴリズムが存在すれば、そ
のアルゴリズムを利用して、Nの素因数分解問題を解く
アルゴリズムを構成することができる。
Further, in the public key cryptographic communication method of the present embodiment, for example, when d = 3, it can be shown that complete decryption is impossible on the premise of the difficulty of the N factorization problem.
That is, if there is an algorithm for solving the prime factorization problem of N, the algorithm can be used to configure an algorithm for performing complete decryption of the public key cryptographic communication method of the present embodiment. Further, if there is an algorithm for performing complete decryption of the public key cryptographic communication method of the present embodiment, the algorithm can be used to construct an algorithm for solving the N factorization problem.

【0193】図9は、本実施形態(第4実施形態)によ
る公開鍵暗号通信方法と、従来技術の暗号方法(楕円曲
線暗号,RSA,OAEP+RSA)との平文空間の大きさ、およ
び、安全性の比較を表す図である(但し、k1=k0=128)。
本実施形態によれば、従来技術に比較して、安全性を保
ちつつも、平文空間を大きくとることが可能となること
が判る。
FIG. 9 shows the size of the plaintext space between the public key cryptographic communication method according to the present embodiment (fourth embodiment) and the conventional cryptographic methods (elliptic curve cryptography, RSA, OAEP + RSA), and it is a diagram illustrating a comparison of the safety (where, k 1 = k 0 = 128 ).
According to the present embodiment, it is understood that it is possible to secure a large plaintext space while maintaining safety, as compared with the conventional technique.

【0194】(第5実施形態)次に、上記の第4実施形
態の変形例を、本発明の第5実施形態として説明する。
図10は、本発明の第5実施形態の動作手順を説明する
ための図である。
(Fifth Embodiment) Next, a modification of the fourth embodiment will be described as a fifth embodiment of the present invention.
FIG. 10 is a diagram for explaining the operation procedure of the fifth embodiment of the present invention.

【0195】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の秘密鍵(p,q)
と、受信者の公開鍵(N,k,G,H)とを、それぞれ数22
2、数223により生成する。そして、生成情報を記憶
部205に記憶する(ST5100)。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instruction from the operator (recipient) and the secret key (p, q) of the receiver.
And the recipient's public key (N, k, G, H),
2, generated by the equation 223. Then, the generation information is stored in the storage unit 205 (ST5100).

【0196】[0196]

【数222】 [Equation 222]

【0197】[0197]

【数223】 [Equation 223]

【0198】ここで、dの値は、本システムの管理者あ
るいは受信者が、予めまたは必要に応じて決定するもの
とし、鍵生成部201は、この決定されたdの値を取り
込んで、受信者の秘密鍵および公開鍵の生成を行なうも
のとする。
Here, the value of d is determined by the administrator or receiver of the present system in advance or when necessary, and the key generation unit 201 takes in the determined value of d and receives it. The private key and public key of the person are to be generated.

【0199】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(N,k,G,H)を含
む公開情報を、送信者(送信者側装置100の操作者)
に知らせる(ST5101)。例えば、受信者側装置2
00において、鍵生成部201は、受信者よりの指示に
従い、公開情報を、通信部206を介して送信者側装置
100へ送信する。あるいは、受信者は、例えば第3者
(公開情報管理機関)への登録などの周知の方法により、
公開情報を公開する。この公開情報は、送信者側装置1
00の記憶部105に記憶される。
Next, the receiver sends the public information including the public key (N, k, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (sender side device). 100 operators)
(ST5101). For example, the receiver device 2
In 00, the key generation unit 201 transmits the public information to the sender-side device 100 via the communication unit 206 according to the instruction from the receiver. Alternatively, the recipient is, for example, a third party
By well-known methods such as registration with (public information management organization),
Make public information public. This public information is sent to the sender device 1
00 is stored in the storage unit 105.

【0200】なお、秘密鍵(p,q)は、これらとは別の
素数p',q'から、p=2p'+1,q=2q'+1となる素数を選ぶこと
により作成することも可能である。
The secret key (p, q) should be created by selecting a prime number such that p = 2p '+ 1, q = 2q' + 1 from other prime numbers p'and q '. Is also possible.

【0201】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)よりメッセージx(x∈{0,1}n)の入力を受け付
ける(ST5200)。これを受けて、乱数生成部10
1は、メッセージxに対して乱数r∈{0,1}k0を選ぶ。そ
れから、演算部103は、この乱数rと、予め記憶部1
05に記憶しておいた受信者の公開鍵(N,k,G,H)とを用
いて、べき乗算部102を利用して数224を計算する
(ST5201)。
2. In the encryption processing sender device 100, the input unit 107 receives an input of the message x (xε {0,1} n ) from the operator (sender) (ST5200). In response to this, the random number generator 10
1 selects a random number rε {0,1} k0 for the message x. Then, the calculation unit 103 uses the random number r and the storage unit 1 in advance.
Using the public key (N, k, G, H) of the receiver stored in 05, the exponent 224 is calculated using the exponentiation unit 102 (ST5201).

【0202】[0202]

【数224】 [Equation 224]

【0203】ここで、n+k0+k1<k-2である。次に、演算
部103は、数224の計算結果s,tを用いて、べき乗
算部102および剰余演算部104を利用して数225
を計算する(ST5202)。
Here, n + k 0 + k 1 <k-2. Next, the calculation unit 103 uses the calculation result s, t of Expression 224 and uses the power multiplication unit 102 and the remainder calculation unit 104 to calculate Expression 225.
Is calculated (ST5202).

【0204】[0204]

【数225】 [Equation 225]

【0205】次に、通信部106は、数225の計算結
果y1,y2を、メッセージxの暗号文として、通信回線30
0を介して、受信者側装置200に送信する(ST52
03)。
Next, the communication unit 106 uses the calculation results y 1 and y 2 of the equation 225 as the ciphertext of the message x and the communication line 30.
To the receiver-side device 200 via 0 (ST52
03).

【0206】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号文y1,y2
を受け取って記憶部205に記憶する。さて、演算部2
03は、操作者(送信者)よりの指示に従い、べき乗算
部202および剰余演算部204を利用して、記憶部2
05に記憶されている受信者の秘密鍵(p,q)を用いて、
記憶部205に記憶されている暗号文y1,y2から数22
6を計算する(ST5300)。
3. In the decryption processing receiver device 200, the communication unit 206 transmits the ciphertexts y 1 and y 2 from the sender device 100 via the communication line 300.
Is received and stored in the storage unit 205. Now, operation unit 2
03 uses the power multiplication unit 202 and the remainder calculation unit 204 in accordance with instructions from the operator (sender) to store the data in the storage unit 2
Using the recipient's private key (p, q) stored in 05,
From the ciphertext y 1 and y 2 stored in the storage unit 205,
6 is calculated (ST5300).

【0207】[0207]

【数226】 [Equation 226]

【0208】それから、演算部203は、φ(x1,p,
x1,q),φ(-x1,p,x1,q),φ(x1,p,-x1,q),φ(-x1,p,-
x1,q)のうち(但し、φは中国人の剰余定理によるZ/(p)
×Z/(q)からZ/(pq)への環同型写像を表す)、0<x<2k-2
満たすものをs'(s'は複数存在してもよい)として、数
227を計算する(ST5301〜ST5303)。
Then, the arithmetic unit 203 determines that φ (x 1, p ,
x 1, q ), φ (-x 1, p , x 1, q ), φ (x 1, p , -x 1, q ), φ (-x 1, p ,-
x 1, q ) (where φ is Z / (p) according to the Chinese Remainder Theorem
XZ / (q) to Z / (pq)), and s '(s' may exist more than once) that satisfies 0 <x <2 k-2 Is calculated (ST5301 to ST5303).

【0209】[0209]

【数227】 [Equation 227]

【0210】次に、演算部203は、数228に示す暗
号文y1,y2の復号結果x'(つまりメッセージx)を算出す
る(ST5304)。
Next, arithmetic section 203 calculates decryption result x '(that is, message x) of ciphertext y 1 and y 2 shown in Expression 228 (ST5304).

【0211】[0211]

【数228】 [Equation 228]

【0212】ここで、[a]nおよび[a]nは、それぞれaの
上位および下位nビットを表している。それから、演算
部203は、復号結果x'を出力部207から出力する。
但し、復号化結果が「*」の場合、演算部203は、こ
の暗号文y1,y2の復号を拒否し、その旨を出力部207
から出力する(ST5305)。
Here, [a] n and [a] n represent the upper and lower n bits of a, respectively. Then, the arithmetic unit 203 outputs the decoding result x ′ from the output unit 207.
However, when the decryption result is “*”, the arithmetic unit 203 rejects the decryption of the ciphertexts y 1 and y 2 , and outputs that effect to the output unit 207.
Is output (ST5305).

【0213】本実施形態において、上述のd(d≧1)の値
は変更可能である。例えば、メッセージのビット長が常
に小さい場合、上述のNの素因数分解が困難である範囲
においてdの値を大きくすることで、復号化処理を高速
にすることが可能である。
In this embodiment, the above-mentioned value of d (d ≧ 1) can be changed. For example, when the bit length of the message is always small, it is possible to speed up the decoding process by increasing the value of d in the range where it is difficult to factorize the prime number of N described above.

【0214】また、本実施形態の公開鍵暗号通信方法で
は、例えばd=3の場合、Nの素因数分解問題の困難性を前
提として完全解読が不可能なことを示すことができる。
すなわち、Nの素因数分解問題を解くアルゴリズムが存
在すれば、そのアルゴリズムを利用して、本実施形態の
公開鍵暗号通信方法の完全解読を行うアルゴリズムを構
成することができる。また、本実施形態の公開鍵暗号通
信方法の完全解読を行うアルゴリズムが存在すれば、そ
のアルゴリズムを利用して、Nの素因数分解問題を解く
アルゴリズムを構成することができる。
In the public key cryptographic communication method of this embodiment, for example, when d = 3, it can be shown that complete decryption is impossible on the premise of difficulty of the N factorization problem.
That is, if there is an algorithm for solving the prime factorization problem of N, the algorithm can be used to configure an algorithm for performing complete decryption of the public key cryptographic communication method of the present embodiment. Further, if there is an algorithm for performing complete decryption of the public key cryptographic communication method of the present embodiment, the algorithm can be used to construct an algorithm for solving the N factorization problem.

【0215】(第6実施形態)次に、上記の第4実施形
態の他の変形例を、本発明の第6実施形態として説明す
る。図11は、本発明の第6実施形態の動作手順を説明
するための図である。
(Sixth Embodiment) Next, another modification of the above-described fourth embodiment will be described as a sixth embodiment of the present invention. FIG. 11 is a diagram for explaining the operation procedure of the sixth embodiment of the present invention.

【0216】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の秘密鍵pi(1≦
i≦d)と、受信者の公開鍵(N,k,G,H)とを、それぞれ数2
29、数230により生成する。そして、生成情報を記
憶部205に記憶する(ST6100)。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instruction from the operator (recipient) and the secret key p i (1 ≦ 1) of the receiver.
i ≦ d) and the recipient's public key (N, k, G, H), respectively, in Equation 2
29, generated by the number 230. Then, the generation information is stored in storage section 205 (ST6100).

【0217】[0217]

【数229】 [Equation 229]

【0218】[0218]

【数230】 [Equation 230]

【0219】ここで、dの値は、本システムの管理者あ
るいは受信者が、予めまたは必要に応じて決定するもの
とし、鍵生成部201は、この決定されたdの値を取り
込んで、受信者の秘密鍵および公開鍵の生成を行なうも
のとする。
Here, the value of d is determined by the administrator or receiver of the present system in advance or when necessary, and the key generation unit 201 takes in the determined value of d and receives it. The private key and public key of the person are to be generated.

【0220】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(N,k,G,H)を含
む公開情報を、送信者(送信者側装置100の操作者)
に知らせる(ST6101)。例えば、受信者側装置2
00において、鍵生成部201は、受信者よりの指示に
従い、公開情報を、通信部206を介して送信者側装置
100へ送信する。あるいは、受信者は、例えば第3者
(公開情報管理機関)への登録などの周知の方法により、
公開情報を公開する。この公開情報は、送信者側装置1
00の記憶部105に記憶される。
Next, the receiver sends the public information including the public key (N, k, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (sender side device). 100 operators)
(ST6101). For example, the receiver device 2
In 00, the key generation unit 201 transmits the public information to the sender-side device 100 via the communication unit 206 according to the instruction from the receiver. Alternatively, the recipient is, for example, a third party
By well-known methods such as registration with (public information management organization),
Make public information public. This public information is sent to the sender device 1
00 is stored in the storage unit 105.

【0221】なお、秘密鍵piは、これらとは別の素数p'
から、p=2p'+1となる素数を選ぶことにより作成するこ
とも可能である。
The secret key p i is a prime number p ′ different from these.
Therefore, it is also possible to create it by selecting a prime number such that p = 2p '+ 1.

【0222】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)よりメッセージx(x∈{0,1}n)の入力を受け付
ける(ST6200)。これを受けて、乱数生成部10
1は、メッセージxに対して乱数r∈{0,1}k0を選ぶ。そ
れから、演算部103は、この乱数rと、予め記憶部1
05に記憶しておいた受信者の公開鍵(N,k,G,H)とを用
いて、べき乗算部102を利用して数231を計算する
(ST6201)。
2. In the encryption processing sender device 100, the input unit 107 receives an input of the message x (xε {0,1} n ) from the operator (sender) (ST6200). In response to this, the random number generator 10
1 selects a random number rε {0,1} k0 for the message x. Then, the calculation unit 103 uses the random number r and the storage unit 1 in advance.
Using the public key (N, k, G, H) of the receiver stored in 05, the exponentiation unit 102 is used to calculate the number 231 (ST6201).

【0223】[0223]

【数231】 [Expression 231]

【0224】ここで、n+k0+k1≦log2(N+1)である。次
に、演算部103は、数231の計算結果s,tを用い
て、べき乗算部102および剰余演算部104を利用し
て数232を計算する(ST6202)。
Here, n + k 0 + k 1 ≦ log 2 (N + 1). Next, arithmetic section 103 calculates mathematical expression 232 using power multiplication section 102 and remainder arithmetic section 104 using calculation results s, t of mathematical expression 231 (ST6202).

【0225】[0225]

【数232】 [Equation 232]

【0226】次に、通信部106は、数232の計算結
果y1,y2を、メッセージxの暗号文として、通信回線30
0を介して、受信者側装置200に送信する(ST62
03)。
Next, the communication unit 106 uses the calculation results y 1 and y 2 of the equation 232 as the ciphertext of the message x and the communication line 30.
To the receiver-side device 200 via 0 (ST62
03).

【0227】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号文y1,y2
を受け取って記憶部205に記憶する。さて、演算部2
03は、操作者(送信者)よりの指示に従い、べき乗算
部202および剰余演算部204を利用して、記憶部2
05に記憶されている受信者の秘密鍵piを用いて、記憶
部205に記憶されている暗号文y1,y2から数233を
計算する(ST6300)。
3. In the decryption processing receiver device 200, the communication unit 206 transmits the ciphertexts y 1 and y 2 from the sender device 100 via the communication line 300.
Is received and stored in the storage unit 205. Now, operation unit 2
03 uses the power multiplication unit 202 and the remainder calculation unit 204 in accordance with instructions from the operator (sender) to store the data in the storage unit 2
Using the secret key p i of the recipient stored in 05, the number 233 is calculated from the ciphertext y 1 and y 2 stored in the storage unit 205 (ST6300).

【0228】[0228]

【数233】 [Expression 233]

【0229】それから、演算部203は、2d個のφ(±x
1,p1,±x1,p2,...,±x1,pd)のうち(但し、φは中国
人の剰余定理によるZ/(p1)×Z/(q2)×...×Z/(qd)か
らZ/(N)への環同型写像を表す)、0<s'<N/2を満たすも
のをs'(s'は複数存在してもよい)として、数234を
計算する。
Then, the arithmetic unit 203 outputs 2 d φ (± x
1, p1 , ± x 1, p2,. . . , ± x 1, pd ) (where φ is Z / (p 1 ) × Z / (q 2 ) × ... × Z / (q d ) to Z / (N) according to the Chinese Remainder Theorem. (Representing a ring isomorphic map to), and s ′ (there may be a plurality of s ′) satisfying 0 <s ′ <N / 2, the equation 234 is calculated.

【0230】[0230]

【数234】 [Equation 234]

【0231】次に、演算部203は、数235に示す暗
号文y1,y2の復号結果x'(つまりメッセージx)を算出す
る(ST6303)。
Next, arithmetic section 203 calculates decryption result x ′ (that is, message x) of ciphertext y 1 and y 2 shown in Expression 235 (ST6303).

【0232】[0232]

【数235】 [Equation 235]

【0233】ここで、[a]nおよび[a]nは、それぞれaの
上位および下位nビットを表している。それから、演算
部203は、復号結果x'を出力部207から出力する。
但し、復号化結果が「*」の場合、演算部203は、こ
の暗号文y1,y2の復号を拒否し、その旨を出力部207
から出力する(ST6304)。
[A] n and [a] n represent the upper and lower n bits of a, respectively. Then, the arithmetic unit 203 outputs the decoding result x ′ from the output unit 207.
However, when the decryption result is “*”, the arithmetic unit 203 rejects the decryption of the ciphertexts y 1 and y 2 , and outputs that effect to the output unit 207.
Is output (ST6304).

【0234】本実施形態において、上述のd(d>1)の値
は変更可能である。また、本実施形態の公開鍵暗号通信
方法では、Nの素因数分解問題の困難性を前提として完
全解読が不可能なことを示すことができる。すなわち、
Nの素因数分解問題を解くアルゴリズムが存在すれば、
そのアルゴリズムを利用して、本実施形態の公開鍵暗号
通信方法の完全解読を行うアルゴリズムを構成すること
ができる。また、本実施形態の公開鍵暗号通信方法の完
全解読を行うアルゴリズムが存在すれば、そのアルゴリ
ズムを利用して、Nの素因数分解問題を解くアルゴリズ
ムを構成することができる。
In this embodiment, the value of d (d> 1) described above can be changed. Further, in the public key cryptographic communication method of the present embodiment, it can be shown that complete decryption is impossible on the assumption that the N factorization problem is difficult. That is,
If there is an algorithm that solves the N factorization problem,
Using the algorithm, an algorithm for performing complete decryption of the public key cryptographic communication method of this embodiment can be configured. Further, if there is an algorithm for performing complete decryption of the public key cryptographic communication method of the present embodiment, the algorithm can be used to construct an algorithm for solving the N factorization problem.

【0235】(第7実施形態)上記の第3実施形態の公
開鍵暗号通信方法を、共通鍵暗号におけるデータ暗号化
鍵の配送を目的として、既存の暗号方法(例えば共通鍵
暗号)と一緒に使用するようにした場合を、本発明の第
7実施形態として説明する。
(Seventh Embodiment) The public key encryption communication method of the third embodiment described above is used together with an existing encryption method (for example, common key encryption) for the purpose of delivering a data encryption key in common key encryption. A case in which it is used will be described as a seventh embodiment of the present invention.

【0236】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の公開鍵(f,G,
H)と受信者の秘密鍵とを、それぞれ数236、数237
により生成する。そして、生成情報を記憶部205に記
憶する。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instructions from the operator (recipient) and the public key (f, G,
H) and the recipient's private key, respectively
Generated by. Then, the generated information is stored in the storage unit 205.

【0237】[0237]

【数236】 [Equation 236]

【0238】[0238]

【数237】 [Equation 237]

【0239】ここで、n+k0+k1=kである。Here, n + k 0 + k 1 = k.

【0240】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(f,G,H)を含む
公開情報を、送信者(送信者側装置100の操作者)に
知らせる。例えば、受信者側装置200において、鍵生
成部201は、受信者よりの指示に従い、公開情報を、
通信部206を介して送信者側装置100へ送信する。
あるいは、受信者は、例えば第3者(公開情報管理機関)
への登録などの周知の方法により、公開情報を公開す
る。この公開情報は送信者側装置100の記憶部105
に記憶される。
Next, the receiver sends the public information including the public key (f, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (transmitter side device 100 Notify the operator). For example, in the receiver-side device 200, the key generation unit 201 stores public information according to an instruction from the receiver.
The data is transmitted to the sender-side device 100 via the communication unit 206.
Alternatively, the recipient is, for example, a third party (public information management organization).
Disclosure of public information by well-known methods such as registration to. This public information is stored in the storage unit 105 of the sender device 100.
Memorized in.

【0241】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)より送信メッセージmの入力を受け付ける
と、暗号化部108は、データ暗復号化鍵K(K∈{0,1}n)
を用いて、既存の暗号化方法によりメッセージmを暗号
化し、暗号文cを作成する。次に、乱数生成部101
は、データ暗復号化鍵Kに対して乱数r∈{0,1} k0を選
ぶ。それから、演算部103は、この乱数rと、予め記
憶部105に記憶しておいた受信者の公開鍵(f,G,H)と
を用いて、べき乗算部102を利用して数238を計算
する。
2. Encryption processing In the sender device 100, the input unit 107 is an operator
Accept input of sent message m from (sender)
Then, the encryption unit 108 uses the data encryption / decryption key K (K∈ {0,1}n)
Encrypt the message m using the existing encryption method using
And generate the ciphertext c. Next, the random number generation unit 101
Is a random number r ∈ {0,1} for the data encryption / decryption key K. k0Choose
Bu Then, the calculation unit 103 stores this random number r in advance.
The public key (f, G, H) of the recipient stored in the storage unit 105
And calculate the number 238 using the power multiplication unit 102
To do.

【0242】[0242]

【数238】 [Equation 238]

【0243】次に、演算部103は、数238の計算結
果s,tを用いて、数239を計算する。
Next, the arithmetic part 103 calculates the equation 239 using the calculation result s, t of the equation 238.

【0244】[0244]

【数239】 [Equation 239]

【0245】通信部106は、数239の暗号結果y1,y
2を、メッセージmの暗号文cと共に、通信回線300を
介して、受信者側装置200に送信する。
The communication unit 106 uses the cipher result y 1 , y
2 is transmitted to the receiver-side device 200 via the communication line 300 together with the ciphertext c of the message m.

【0246】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号結果y1,y
2を暗号文cと共に受け取り、これを記憶部205に記憶
する。さて、演算部203は、操作者(送信者)よりの
指示に従い、べき乗算部202を利用して、記憶部20
5に記憶されている受信者の秘密鍵を用いて、記憶部2
05に記憶されている暗号結果y1,y2から数240を計
算する。
3. In the decryption processing receiver side device 200, the communication unit 206 receives the encryption result y 1 , y from the sender side device 100 via the communication line 300.
2 is received together with the ciphertext c and stored in the storage unit 205. The calculation unit 203 uses the power multiplication unit 202 according to the instruction from the operator (sender) to store the data in the storage unit 20.
5, using the recipient's private key stored in
The formula 240 is calculated from the cipher results y 1 and y 2 stored in 05.

【0247】[0247]

【数240】 [Equation 240]

【0248】次に、演算部203は、数240の計算結
果を用いて、数241を計算する。
Next, the arithmetic unit 203 calculates the equation 241 using the calculation result of the equation 240.

【0249】[0249]

【数241】 [Formula 241]

【0250】次に、演算部203は、数241の計算結
果を用いて、べき乗算部202を利用して数242に示
す復号化結果を計算する。なお、[a]nおよび[a]nは、そ
れぞれaの上位および下位nビットを表す。
Next, the arithmetic unit 203 calculates the decoding result shown in Expression 242 using the power multiplication unit 202 using the calculation result of Expression 241. Note that [a] n and [a] n represent the upper and lower n bits of a, respectively.

【0251】[0251]

【数242】 [Equation 242]

【0252】但し、復号化結果が「*」の場合、演算部
203はこの暗号結果y1,y2の復号を拒否し、その旨を
出力部207から出力する。
However, when the decryption result is “*”, the arithmetic unit 203 rejects the decryption of the encryption results y 1 and y 2 , and outputs the fact to the output unit 207.

【0253】次に、復号化部208は、数242による
復号結果K'(つまり、データ暗復号化鍵K)を用いて、
記憶部205に記憶されている暗号文cを既存の暗号方
法により復号化する。そして、その復号結果(つまりメ
ッセージm)を出力部207から出力する。
Next, the decryption unit 208 uses the decryption result K '(that is, the data encryption / decryption key K) according to the equation 242,
The ciphertext c stored in the storage unit 205 is decrypted by the existing encryption method. Then, the decoding result (that is, the message m) is output from the output unit 207.

【0254】(第8実施形態)上記の第4実施形態の公
開鍵暗号通信方法を、共通鍵暗号におけるデータ暗号化
鍵の配送を目的として、既存の暗号方法(例えば共通鍵
暗号)と一緒に使用するようにした場合を、本発明の第
8実施形態として説明する。
(Eighth Embodiment) The public key cryptographic communication method of the fourth embodiment described above is used together with an existing cryptographic method (for example, common key cryptography) for the purpose of delivering a data encryption key in common key cryptography. The case where it is used will be described as an eighth embodiment of the present invention.

【0255】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の秘密鍵(p,q)
と、受信者の公開鍵(N,k,G,H)とを、それぞれ数24
3、数244により生成する。そして、生成情報を記憶
部205に記憶する。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instruction from the operator (recipient) and the secret key (p, q) of the receiver.
And the recipient's public key (N, k, G, H)
3, generated by the equation 244. Then, the generated information is stored in the storage unit 205.

【0256】[0256]

【数243】 [Numerical formula 243]

【0257】[0257]

【数244】 [Equation 244]

【0258】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(N,k,G,H)を含
む公開情報を、送信者(送信者側装置100の操作者)
に知らせる。例えば、受信者側装置200において、鍵
生成部201は、受信者よりの指示に従い、公開情報
を、通信部206を介して送信者側装置100へ送信す
る。あるいは、受信者は、例えば第3者(公開情報管理
機関)への登録などの周知の方法により、公開情報を公
開する。この公開情報は送信者側装置100の記憶部1
05に記憶される。
Next, the receiver sends the public information including the public key (N, k, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (sender side device). 100 operators)
Let us know. For example, in the receiver-side device 200, the key generation unit 201 transmits public information to the sender-side device 100 via the communication unit 206 according to an instruction from the receiver. Alternatively, the recipient publishes the public information by a known method such as registration with a third party (public information management organization). This public information is stored in the storage unit 1 of the sender device 100.
It is stored in 05.

【0259】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)より送信メッセージmの入力を受け付ける
と、暗号化部108は、データ暗復号化鍵K(K∈{0,1}n)
を用いて、既存の暗号化方法によりメッセージmを暗号
化し、暗号文cを作成する。次に、乱数生成部101
は、データ暗復号化鍵Kに対して乱数r∈{0,1} k0を選
ぶ。それから、演算部103は、この乱数rと、予め記
憶部105に記憶しておいた受信者の公開鍵(N,k,G,H)
とを用いて、べき乗算部102を利用して数245を計
算する。
2. Encryption processing In the sender device 100, the input unit 107 is an operator
Accept input of sent message m from (sender)
Then, the encryption unit 108 uses the data encryption / decryption key K (K∈ {0,1}n)
Encrypt the message m using the existing encryption method using
And generate the ciphertext c. Next, the random number generation unit 101
Is a random number r ∈ {0,1} for the data encryption / decryption key K. k0Choose
Bu Then, the calculation unit 103 stores this random number r in advance.
Recipient's public key (N, k, G, H) stored in memory 105
And using the power multiplication unit 102 to calculate the number 245.
Calculate

【0260】[0260]

【数245】 [Equation 245]

【0261】ここで、n+k0+k1<k-2である。Here, n + k 0 + k 1 <k-2.

【0262】次に、演算部103は、数245の計算結
果s,tを用いて、数246を計算する。
Next, the arithmetic part 103 calculates the expression 246 using the calculation result s, t of the expression 245.

【0263】[0263]

【数246】 [Equation 246]

【0264】ここで、a=(m/N)はJacobi記号を表す。Here, a = (m / N) represents the Jacobi symbol.

【0265】次に、通信部106は、数246の暗号結
果y1,y2,y3を、メッセージmの暗号文cと共に、通信回線
300を介して、受信者側装置200に送信する。
Next, the communication section 106 transmits the cipher results y 1 , y 2 , y 3 of the equation 246 together with the ciphertext c of the message m to the receiver side device 200 via the communication line 300.

【0266】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号結果y1,y
2,y3を暗号文cと共に受け取り、これを記憶部205に
記憶する。さて、演算部203は、操作者(送信者)よ
りの指示に従い、べき乗算部202および剰余演算部2
04を利用し、記憶部205に記憶されている受信者の
秘密鍵を用いて、記憶部205に記憶されている暗号結
果y1,y2,y3から数247を計算する。
3. In the decryption processing receiver side device 200, the communication unit 206 receives the encryption result y 1 , y from the sender side device 100 via the communication line 300.
2 and y 3 are received together with the ciphertext c and stored in the storage unit 205. By the way, the arithmetic unit 203 follows the instruction from the operator (transmitter) to calculate the power multiplication unit 202 and the remainder arithmetic unit 2.
By using 04, the secret key of the recipient stored in the storage unit 205 is used to calculate Expression 247 from the cipher results y 1 , y 2 , y 3 stored in the storage unit 205.

【0267】[0267]

【数247】 [Equation 247]

【0268】それから、演算部203は、φ(x1,p,
x1,q),φ(-x1,p,x1,q),φ(x1,p,-x1,q),φ(-x1,p,-
x1,q)のうち(但し、φは中国人の剰余定理によるZ/(p)
×Z/(q)からZ/(pq)への環同型写像を表す)、(x/N)=y3
つ0<x<2k-2を満たすものをs'として、数248を計算す
る。
Then, the arithmetic unit 203 outputs φ (x 1, p ,
x 1, q ), φ (-x 1, p , x 1, q ), φ (x 1, p , -x 1, q ), φ (-x 1, p ,-
x 1, q ) (where φ is Z / (p) according to the Chinese Remainder Theorem
X represents the homomorphic mapping from Z / (q) to Z / (pq)), and (x / N) = y 3 and 0 <x <2 k-2 is defined as s', and Equation 248 is calculated. To do.

【0269】[0269]

【数248】 [Equation 248]

【0270】次に、演算部203は、数248の計算結
果を用いて、べき乗算部202を利用して数249に示
す復号化結果を計算する。なお、[a]nおよび[a]nは、そ
れぞれaの上位および下位nビットを表す。
Next, the arithmetic unit 203 calculates the decoding result shown in Expression 249 using the power multiplication unit 202 using the calculation result of Expression 248. Note that [a] n and [a] n represent the upper and lower n bits of a, respectively.

【0271】[0271]

【数249】 [Equation 249]

【0272】但し、復号化結果が「*」の場合、演算部
203はこの暗号結果y1,y2,y3の復号を拒否し、その旨
を出力部207から出力する。
However, when the decryption result is “*”, the arithmetic unit 203 rejects the decryption of the encryption results y 1 , y 2 , y 3 and outputs the fact to the output unit 207.

【0273】次に、復号化部208は、数249による
復号結果K'(つまり、データ暗復号化鍵K)を用いて、
記憶部205に記憶されている暗号文cを既存の暗号方
法により復号化する。そして、その復号結果(つまりメ
ッセージm)を出力部207から出力する。
Next, the decryption unit 208 uses the decryption result K '(that is, the data encryption / decryption key K) according to the equation 249,
The ciphertext c stored in the storage unit 205 is decrypted by the existing encryption method. Then, the decoding result (that is, the message m) is output from the output unit 207.

【0274】(第9実施形態)上記の第5実施形態の公
開鍵暗号通信方法を、共通鍵暗号におけるデータ暗号化
鍵の配送を目的として、既存の暗号方法(例えば共通鍵
暗号)と一緒に使用するようにした場合を、本発明の第
9実施形態として説明する。
(Ninth Embodiment) The public key cryptographic communication method of the fifth embodiment described above is used together with an existing cryptographic method (for example, common key cryptography) for the purpose of delivering a data encryption key in common key cryptography. The case of using it will be described as a ninth embodiment of the present invention.

【0275】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の秘密鍵(p,q)
と、受信者の公開鍵(N,k,G,H)とを、それぞれ数25
0、数251により生成する。そして、生成情報を記憶
部205に記憶する。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instruction from the operator (recipient) and the secret key (p, q) of the receiver.
And the recipient's public key (N, k, G, H)
0 is generated by the number 251. Then, the generated information is stored in the storage unit 205.

【0276】[0276]

【数250】 [Equation 250]

【0277】[0277]

【数251】 [Formula 251]

【0278】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(N,k,G,H)を含
む公開情報を、送信者(送信者側装置100の操作者)
に知らせる。例えば、受信者側装置200において、鍵
生成部201は、受信者よりの指示に従い、公開情報
を、通信部206を介して送信者側装置100へ送信す
る。あるいは、受信者は、例えば第3者(公開情報管理
機関)への登録などの周知の方法により、公開情報を公
開する。この公開情報は送信者側装置100の記憶部1
05に記憶される。
Next, the receiver sends the public information including the public key (N, k, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (sender side device). 100 operators)
Let us know. For example, in the receiver-side device 200, the key generation unit 201 transmits public information to the sender-side device 100 via the communication unit 206 according to an instruction from the receiver. Alternatively, the recipient publishes the public information by a known method such as registration with a third party (public information management organization). This public information is stored in the storage unit 1 of the sender device 100.
It is stored in 05.

【0279】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)より送信メッセージmの入力を受け付ける
と、暗号化部108は、データ暗復号化鍵K(K∈{0,1}n)
を用いて、既存の暗号化方法によりメッセージmを暗号
化し、暗号文cを作成する。次に、乱数生成部101
は、データ暗復号化鍵Kに対して乱数r∈{0,1} k0を選
ぶ。それから、演算部103は、この乱数rと、予め記
憶部105に記憶しておいた受信者の公開鍵(N,k,G,H)
とを用いて、べき乗算部102を利用して数252を計
算する。
2. Encryption processing In the sender device 100, the input unit 107 is an operator
Accept input of sent message m from (sender)
Then, the encryption unit 108 uses the data encryption / decryption key K (K∈ {0,1}n)
Encrypt the message m using the existing encryption method using
And generate the ciphertext c. Next, the random number generation unit 101
Is a random number r ∈ {0,1} for the data encryption / decryption key K. k0Choose
Bu Then, the calculation unit 103 stores this random number r in advance.
Recipient's public key (N, k, G, H) stored in memory 105
Using and, the power multiplication unit 102 is used to calculate the number 252.
Calculate

【0280】[0280]

【数252】 [Expression 252]

【0281】ここで、n+k0+k1<k-2である。Here, n + k 0 + k 1 <k−2.

【0282】次に、演算部103は、数252の計算結
果s,tを用いて、べき乗算部102および剰余演算部1
04を利用して、数253を計算する。
Next, the arithmetic unit 103 uses the calculation result s, t of the equation 252 to calculate the power multiplication unit 102 and the remainder arithmetic unit 1.
The number 253 is calculated using 04.

【0283】[0283]

【数253】 [Equation 253]

【0284】次に、通信部106は、数253の暗号結
果y1,y2をメッセージmの暗号文cと共に、通信回線30
0を介して、受信者側装置200に送信する。
Next, the communication section 106 sends the cipher results y 1 and y 2 of the equation 253 together with the ciphertext c of the message m to the communication line 30.
It is transmitted to the receiver-side device 200 via 0.

【0285】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号結果y1,y
2を暗号文cと共に受け取り、これを記憶部205に記憶
する。さて、演算部203は、操作者(送信者)よりの
指示に従い、べき乗算部202および剰余演算部204
を利用し、記憶部205に記憶されている受信者の秘密
鍵を用いて、記憶部205に記憶されている暗号結果
y1,y2から数254を計算する。
3. In the decryption processing receiver side device 200, the communication unit 206 receives the encryption result y 1 , y from the sender side device 100 via the communication line 300.
2 is received together with the ciphertext c and stored in the storage unit 205. By the way, the calculation unit 203 follows the instruction from the operator (sender) and the power multiplication unit 202 and the remainder calculation unit 204.
Using the private key of the recipient stored in the storage unit 205, the encryption result stored in the storage unit 205
Mathematical formula 254 is calculated from y 1 and y 2 .

【0286】[0286]

【数254】 [Formula 254]

【0287】それから、演算部203は、φ(x1,p,
x1,q),φ(-x1,p,x1,q),φ(x1,p,-x1,q),φ(-x1,p,-
x1,q)のうち(但し、φは中国人の剰余定理によるZ/(p)
×Z/(q)からZ/(pq)への環同型写像を表す)、0<x<2k-2
満たすものをs'(s'は複数存在してもよい)として、数
255を計算する。
Then, the arithmetic unit 203 determines that φ (x 1, p ,
x 1, q ), φ (-x 1, p , x 1, q ), φ (x 1, p , -x 1, q ), φ (-x 1, p ,-
x 1, q ) (where φ is Z / (p) according to the Chinese Remainder Theorem
X represents a homomorphic mapping from Z / (q) to Z / (pq)), and s '(s' may exist more than one) that satisfies 0 <x <2 k-2 To calculate.

【0288】[0288]

【数255】 [Equation 255]

【0289】次に、演算部203は、数255の計算結
果を用いて、べき乗算部202を利用して数256に示
す復号化結果を計算する。なお、[a]nおよび[a]nは、そ
れぞれaの上位および下位nビットを表す。
Next, the arithmetic unit 203 calculates the decoding result shown in Expression 256 by using the exponentiation unit 202, using the calculation result in Expression 255. Note that [a] n and [a] n represent the upper and lower n bits of a, respectively.

【0290】[0290]

【数256】 [Equation 256]

【0291】但し、復号化結果が「*」の場合、演算部
203はこの暗号結果y1,y2の復号を拒否し、その旨を
出力部207から出力する。
However, when the decryption result is “*”, the arithmetic unit 203 rejects the decryption of the encryption results y 1 and y 2 , and outputs the fact to the output unit 207.

【0292】次に、復号化部208は、数256による
復号結果K'(つまり、データ暗復号化鍵K)を用いて、
記憶部205に記憶されている暗号文cを既存の暗号方
法により復号化する。そして、その復号結果(つまりメ
ッセージm)を出力部207から出力する。
Next, the decryption unit 208 uses the decryption result K '(that is, the data encryption / decryption key K) according to the equation 256,
The ciphertext c stored in the storage unit 205 is decrypted by the existing encryption method. Then, the decoding result (that is, the message m) is output from the output unit 207.

【0293】(第10実施形態)次に、上記の第4実施
形態の変形例を、共通鍵暗号におけるデータ暗号化鍵の
配送を目的として、既存の暗号方法(例えば共通鍵暗
号)と一緒に使用するようにした場合を、本発明の第1
0実施形態として説明する。
(Tenth Embodiment) Next, a modified example of the fourth embodiment will be described together with an existing encryption method (for example, common key encryption) for the purpose of delivering a data encryption key in common key encryption. The case of using the first of the present invention
0 embodiment will be described.

【0294】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の秘密鍵pi(1≦
i≦d)と、受信者の公開鍵(N,k,G,H)とを、それぞれ数2
57、数258により生成する。そして、生成情報を記
憶部205に記憶する。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instruction from the operator (recipient) and the secret key p i (1 ≦ 1) of the receiver.
i ≦ d) and the recipient's public key (N, k, G, H), respectively, in Equation 2
57 and the number 258. Then, the generated information is stored in the storage unit 205.

【0295】[0295]

【数257】 [Equation 257]

【0296】[0296]

【数258】 [Equation 258]

【0297】ここで、dの値は、本システムの管理者あ
るいは受信者が、予めまたは必要に応じて決定するもの
とし、鍵生成部201は、この決定されたdの値を取り
込んで、受信者の秘密鍵および公開鍵の生成を行なうも
のとする。
Here, the value of d is determined by the administrator or receiver of this system in advance or when necessary, and the key generation unit 201 takes in the determined value of d and receives it. The private key and public key of the person are to be generated.

【0298】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(N,k,G,H)を含
む公開情報を、送信者(送信者側装置100の操作者)
に知らせる。例えば、受信者側装置200において、鍵
生成部201は、受信者よりの指示に従い、公開情報
を、通信部206を介して送信者側装置100へ送信す
る。あるいは、受信者は、例えば第3者(公開情報管理
機関)への登録などの周知の方法により、公開情報を公
開する。この公開情報は、送信者側装置100の記憶部
105に記憶される。
Next, the receiver sends the public information including the public key (N, k, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (sender side device). 100 operators)
Let us know. For example, in the receiver-side device 200, the key generation unit 201 transmits public information to the sender-side device 100 via the communication unit 206 according to an instruction from the receiver. Alternatively, the recipient publishes the public information by a known method such as registration with a third party (public information management organization). This public information is stored in the storage unit 105 of the sender device 100.

【0299】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)より送信メッセージmの入力を受け付ける
と、暗号化部108は、データ暗復号化鍵K(K∈{0,1}n)
を用いて、既存の暗号化方法によりメッセージmを暗号
化し、暗号文cを作成する。次に、乱数生成部101
は、データ暗復号化鍵Kに対して乱数r∈{0,1} k0を選
ぶ。それから、演算部103は、この乱数rと、予め記
憶部105に記憶しておいた受信者の公開鍵(N,k,G,H)
とを用いて、べき乗算部102を利用して数259を計
算する。
2. Encryption processing In the sender device 100, the input unit 107 is an operator
Accept input of sent message m from (sender)
Then, the encryption unit 108 uses the data encryption / decryption key K (K∈ {0,1}n)
Encrypt the message m using the existing encryption method using
And generate the ciphertext c. Next, the random number generation unit 101
Is a random number r ∈ {0,1} for the data encryption / decryption key K. k0Choose
Bu Then, the calculation unit 103 stores this random number r in advance.
Recipient's public key (N, k, G, H) stored in memory 105
Using and, the power multiplication unit 102 is used to calculate the number 259.
Calculate

【0300】[0300]

【数259】 [Equation 259]

【0301】ここで、n+k0+k1≦log2(N+1)である。Here, n + k 0 + k 1 ≦ log 2 (N + 1).

【0302】次に、演算部103は、数259の計算結
果s,tを用いて、べき乗算部102および剰余演算部1
04を利用して、数260を計算する。
Next, the arithmetic unit 103 uses the calculation result s, t of the equation 259 to calculate the power multiplication unit 102 and the remainder arithmetic unit 1.
The number 260 is calculated using 04.

【0303】[0303]

【数260】 [Equation 260]

【0304】次に、通信部106は、数260の暗号結
果y1,y2をメッセージmの暗号文cと共に、通信回線30
0を介して受信者側装置200に送信する。
Next, the communication unit 106 sends the cipher texts y 1 and y 2 of Expression 260 together with the cipher text c of the message m to the communication line 30.
It is transmitted to the receiver side device 200 via 0.

【0305】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号結果y1,y
2を暗号文cと共に受け取り、これを記憶部205に記憶
する。さて、演算部203は、操作者(送信者)よりの
指示に従い、べき乗算部202および剰余演算部204
を利用し、記憶部205に記憶されている受信者の秘密
鍵を用いて、記憶部205に記憶されている暗号結果
y1,y2から数261を計算する。
3. In the decryption processing receiver side device 200, the communication unit 206 receives the encryption result y 1 , y from the sender side device 100 via the communication line 300.
2 is received together with the ciphertext c and stored in the storage unit 205. By the way, the calculation unit 203 follows the instruction from the operator (sender) and the power multiplication unit 202 and the remainder calculation unit 204.
Using the private key of the recipient stored in the storage unit 205, the encryption result stored in the storage unit 205
Expression 261 is calculated from y 1 and y 2 .

【0306】[0306]

【数261】 [Formula 261]

【0307】それから、演算部203は、2d個のφ(±x
1,p1,±x1,p2,...,±x1,pd)のうち(但し、φは中国
人の剰余定理によるZ/(p1)×Z/(q2)×...×Z/(qd)か
らZ/(N)への環同型写像を表す)、0<s'<N/2を満たすも
のをs'(s'は複数存在してもよい)として、数262を
計算する。
[0307] Then, the arithmetic unit 203 outputs 2 d φ (± x
1, p1 , ± x 1, p2,. . . , ± x 1, pd ) (where φ is Z / (p 1 ) × Z / (q 2 ) × ... × Z / (q d ) to Z / (N) according to the Chinese Remainder Theorem. (Representing a ring isomorphism map to), and s ′ (there may be a plurality of s ′) satisfying 0 <s ′ <N / 2, the equation 262 is calculated.

【0308】[0308]

【数262】 [Equation 262]

【0309】次に、演算部203は、数262の計算結
果を用いて、べき乗算部202を利用して数263に示
す復号化結果を計算する。なお、[a]nおよび[a]nは、そ
れぞれaの上位および下位nビットを表す。
Next, the arithmetic unit 203 calculates the decoding result shown in Expression 263 using the power multiplication unit 202, using the calculation result of Expression 262. Note that [a] n and [a] n represent the upper and lower n bits of a, respectively.

【0310】[0310]

【数263】 [Equation 263]

【0311】但し、復号化結果が「*」の場合、演算部
203はこの暗号結果y1,y2の復号を拒否し、その旨を
出力部207から出力する。
However, when the decryption result is “*”, the arithmetic unit 203 refuses to decrypt the encryption results y 1 and y 2 , and outputs the fact to the output unit 207.

【0312】次に、復号化部208は、数263による
復号結果K'(つまり、データ暗復号化鍵K)を用いて、
記憶部205に記憶されている暗号文cを既存の暗号方
法により復号化する。そして、その復号結果(つまりメ
ッセージm)を出力部207から出力する。
Next, the decryption unit 208 uses the decryption result K '(that is, the data encryption / decryption key K) according to the equation 263,
The ciphertext c stored in the storage unit 205 is decrypted by the existing encryption method. Then, the decoding result (that is, the message m) is output from the output unit 207.

【0313】(第11実施形態)次に、本発明の第11
実施形態について、送信者が受信者に対して、送信デー
タとなるメッセージを暗号通信によって送信する場合を
例にとり説明する。図12は、本発明の第11実施形態
の動作手順を説明するための図である。
(Eleventh Embodiment) Next, the eleventh embodiment of the present invention.
The embodiment will be described by taking as an example a case where a sender transmits a message as transmission data to a receiver by cipher communication. FIG. 12 is a diagram for explaining the operation procedure of the eleventh embodiment of the present invention.

【0314】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の公開鍵(f,G,
H)と受信者の秘密鍵とを、それぞれ数264、数265
により生成する。そして、生成情報を記憶部205に記
憶する(ST7100)。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instructions from the operator (recipient) and the public key (f, G,
H) and the recipient's private key are given in Eq. 264 and Eq. 265, respectively.
Generated by. Then, the generation information is stored in storage section 205 (ST7100).

【0315】[0315]

【数264】 [Equation 264]

【0316】[0316]

【数265】 [Equation 265]

【0317】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(f,G,H)を含む
公開情報を、送信者(送信者側装置100の操作者)に
知らせる(ST7101)。例えば、受信者側装置20
0において、鍵生成部201は、受信者よりの指示に従
い、公開情報を、通信部206を介して送信者側装置1
00へ送信する。あるいは、受信者は、例えば第3者
(公開情報管理機関)への登録などの周知の方法により、
公開情報を公開する。この公開情報は、送信者側装置1
00の記憶部105に記憶される。
Next, the receiver sends the public information including the public key (f, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (transmitter side device 100). Notify the operator) (ST7101). For example, the receiver device 20
0, the key generation unit 201 sends public information via the communication unit 206 to the sender-side device 1 according to an instruction from the receiver.
Send to 00. Alternatively, the recipient is, for example, a third party
By well-known methods such as registration with (public information management organization),
Make public information public. This public information is sent to the sender device 1
00 is stored in the storage unit 105.

【0318】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)よりメッセージx(x∈{0,1}n)の入力を受け付
ける(ST7200)。これを受けて、乱数生成部10
1は、メッセージxに対して乱数r∈{0,1}k0を選ぶ。そ
れから、演算部103は、この乱数rと、予め記憶部1
05に記憶しておいた受信者の公開鍵(f,G,H)とを用い
て、数266を計算する(ST7201)。
2. In the encryption processing sender device 100, the input unit 107 receives an input of a message x (xε {0,1} n ) from an operator (sender) (ST7200). In response to this, the random number generator 10
1 selects a random number rε {0,1} k0 for the message x. Then, the calculation unit 103 uses the random number r and the storage unit 1 in advance.
Using the public key (f, G, H) of the receiver stored in 05, the number 266 is calculated (ST7201).

【0319】[0319]

【数266】 [Equation 266]

【0320】次に、演算部103は、数266の計算結
果s,tを用いて、数267を計算する(ST720
2)。
Next, arithmetic section 103 calculates Expression 267 using calculation results s and t of Expression 266 (ST720).
2).

【0321】[0321]

【数267】 [Equation 267]

【0322】通信部106は、数267の計算結果y1,y
2を、メッセージxの暗号文として、通信回線300を介
して、受信者側装置200に送信する(ST720
3)。
The communication unit 106 calculates the calculation result y 1 , y of the equation 267.
2 is transmitted to the receiver-side device 200 via the communication line 300 as the ciphertext of the message x (ST720).
3).

【0323】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号文y1,y2
を受け取り、これを記憶部205に記憶する。さて、演
算部203は、操作者(送信者)よりの指示に従い、記
憶部205に記憶されている受信者の秘密鍵を用いて、
記憶部205に記憶されている暗号文y1,y2から数26
8を計算する(ST7300)。
3. In the decryption processing receiver device 200, the communication unit 206 transmits the ciphertexts y 1 and y 2 from the sender device 100 via the communication line 300.
Is received and stored in the storage unit 205. Now, the calculation unit 203 uses the recipient's private key stored in the storage unit 205 according to the instruction from the operator (sender),
From the ciphertext y 1 and y 2 stored in the storage unit 205,
8 is calculated (ST7300).

【0324】[0324]

【数268】 [Equation 268]

【0325】次に、演算部203は、数268の計算結
果を用いて、数269を計算する(ST7301)。
Next, arithmetic section 203 calculates Expression 269 using the calculation result of Expression 268 (ST7301).

【0326】[0326]

【数269】 [Equation 269]

【0327】但し、x'∈{0,1}n,r'∈{0,1}k0である。However, x′ε {0,1} n and r′ε {0,1} k0 .

【0328】次に、演算部203は、数269の計算結
果を用いて、数270に示す復号化結果を計算する(S
T7302)。
Next, the arithmetic unit 203 calculates the decoding result shown in Expression 270 using the calculation result of Expression 269 (S).
T7302).

【0329】[0329]

【数270】 [Equation 270]

【0330】それから、演算部203は、復号結果x'を
出力部207から出力する。但し、復号化結果が「*」
の場合、演算部203はこの暗号文y1,y2の復号を拒否
し、その旨を出力部207から出力する(ST730
3)。
Then, the arithmetic section 203 outputs the decoding result x ′ from the output section 207. However, the decryption result is "*"
In this case, arithmetic section 203 refuses to decrypt the ciphertexts y 1 and y 2 , and outputs a message to that effect from output section 207 (ST730).
3).

【0331】本実施形態の公開鍵暗号通信方法によれ
ば、上記の第3実施形態と同様に、一方向性置換fの逆
関数を求めることが困難であることを前提にして、選択
暗号文攻撃に対して強秘匿であることが証明できる。
According to the public key cryptographic communication method of the present embodiment, it is difficult to find the inverse function of the one-way permutation f, as in the third embodiment, and the selected ciphertext is used. It can be proved that the attack is confidential.

【0332】なお、本実施形態は、上記の第3実施形態
と比較して、メッセージの長さnを関数fに依らずに設
定することができる特徴を持つ。すなわち、nの値を送
信したいメッセージの長さに応じて、ユーザが勝手に設
定することが可能である。
The present embodiment has a feature that the message length n can be set independently of the function f, as compared with the third embodiment. That is, the user can arbitrarily set the value of n according to the length of the message to be transmitted.

【0333】(第12実施形態)次に、上記の第11実
施形態の具体例を、本発明の第12実施形態として説明
する。図13は、本発明の第12実施形態の動作手順を
説明するための図である。
(Twelfth Embodiment) Next, a specific example of the eleventh embodiment will be described as a twelfth embodiment of the present invention. FIG. 13 is a diagram for explaining the operation procedure of the twelfth embodiment of the present invention.

【0334】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の秘密鍵(p,q)
と受信者の公開鍵(N,k,G,H)とを、それぞれ数271、
数272により生成する。そして、生成情報を記憶部2
05に記憶する(ST8100)。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instruction from the operator (recipient) and the secret key (p, q) of the receiver.
And the recipient's public key (N, k, G, H),
It is generated by the equation 272. Then, the generated information is stored in the storage unit 2.
It is stored in 05 (ST8100).

【0335】[0335]

【数271】 [Formula 271]

【0336】[0336]

【数272】 [Formula 272]

【0337】ここで、dの値は、本システムの管理者あ
るいは受信者が、予めまたは必要に応じて決定するもの
とし、鍵生成部201は、この決定されたdの値を取り
込んで、受信者の秘密鍵および公開鍵の生成を行なうも
のとする。
Here, the value of d is determined by the administrator or receiver of this system in advance or when necessary, and the key generation unit 201 takes in the determined value of d and receives it. The private key and public key of the person are to be generated.

【0338】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(N,k,G,H)を含
む公開情報を、送信者(送信者側装置100の操作者)
に知らせる(ST8101)。例えば、受信者側装置2
00において、鍵生成部201は、受信者よりの指示に
従い、公開情報を、通信部206を介して送信者側装置
100へ送信する。あるいは、受信者は、例えば第3者
(公開情報管理機関)への登録などの周知の方法により、
公開情報を公開する。この公開情報は、送信者側装置1
00の記憶部105に記憶される。
Next, the receiver sends the public information including the public key (N, k, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (sender side device). 100 operators)
(ST8101). For example, the receiver device 2
In 00, the key generation unit 201 transmits the public information to the sender-side device 100 via the communication unit 206 according to the instruction from the receiver. Alternatively, the recipient is, for example, a third party
By well-known methods such as registration with (public information management organization),
Make public information public. This public information is sent to the sender device 1
00 is stored in the storage unit 105.

【0339】なお、秘密鍵(p,q)は、これらとは別の
素数p',q'から、p=2p'+1,q=2q'+1となる素数を選ぶこと
により作成することも可能である。
The secret key (p, q) should be created by selecting a prime number such that p = 2p '+ 1, q = 2q' + 1 from other prime numbers p ', q'. Is also possible.

【0340】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)よりメッセージx(x∈{0,1}n)の入力を受け付
ける(ST8200)。これを受けて、乱数生成部10
1は、メッセージxに対して乱数r∈{0,1}k0を選ぶ。そ
れから、演算部103は、この乱数rと、予め記憶部1
05に記憶しておいた受信者の公開鍵(N,k,G,H)とを用
いて、数273を計算する(ST8201)。
2. In the encryption processing sender device 100, the input unit 107 receives an input of the message x (xε {0,1} n ) from the operator (sender) (ST8200). In response to this, the random number generator 10
1 selects a random number rε {0,1} k0 for the message x. Then, the calculation unit 103 uses the random number r and the storage unit 1 in advance.
Using the public key (N, k, G, H) of the receiver stored in 05, the number 273 is calculated (ST8201).

【0341】[0341]

【数273】 [Numerical Expression 273]

【0342】次に、演算部103は、数273の計算結
果s,tを用いて、べき乗算部102および剰余演算部1
04を利用して数274を計算する(ST8202)。
Next, the arithmetic unit 103 uses the calculation result s, t of the equation 273 to calculate the power multiplication unit 102 and the remainder arithmetic unit 1.
The number 274 is calculated using 04 (ST8202).

【0343】[0343]

【数274】 [Formula 274]

【0344】ここで、a=(m/N)はJacobi記号を表す。次
に、通信部106は、数274の計算結果y1,y2,y3を、
メッセージxの暗号文として、通信回線300を介し
て、受信者側装置200に送信する(ST8203)。
Here, a = (m / N) represents the Jacobi symbol. Next, the communication unit 106 uses the calculation results y 1 , y 2 , y 3 of Equation 274 as
The ciphertext of the message x is transmitted to the receiver-side device 200 via the communication line 300 (ST8203).

【0345】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号文y1,y2,
y3を受け取り、これを記憶部205に記憶する。さて、
演算部203は、操作者(送信者)よりの指示に従い、
記憶部205に記憶されている受信者の秘密鍵を用い
て、べき乗算部102および剰余演算部104を利用し
て、記憶部205に記憶されている暗号文y1,y2,y3から
数275を計算する(ST8300)。
3. In the decryption processing receiver side device 200, the communication unit 206 receives the ciphertexts y 1 , y 2 , from the sender side device 100 via the communication line 300.
It receives y 3 and stores it in the storage unit 205. Now,
The calculation unit 203 follows the instruction from the operator (sender),
From the ciphertexts y 1 , y 2 , y 3 stored in the storage unit 205, by using the receiver's private key stored in the storage unit 205 and using the power multiplication unit 102 and the remainder calculation unit 104. The number 275 is calculated (ST8300).

【0346】[0346]

【数275】 [Equation 275]

【0347】それから、演算部203は、φ(x1,p,
x1,q),φ(-x1,p,x1,q),φ(x1,p,-x1,q),φ(-x1,p,-
x1,q)のうち(但し、φは中国人の剰余定理によるZ/(p)
×Z/(q)からZ/(pq)への環同型写像を表す)、(x/N)=y3
つ0<x<2k-2を満たすものをs'として、数276を計算す
る(ST8301〜ST8303)。
Then, the arithmetic unit 203 determines that φ (x 1, p ,
x 1, q ), φ (-x 1, p , x 1, q ), φ (x 1, p , -x 1, q ), φ (-x 1, p ,-
x 1, q ) (where φ is Z / (p) according to the Chinese Remainder Theorem
× Z / (q) to Z / (pq) represents a homomorphic map), and (x / N) = y 3 and 0 <x <2 k-2 is defined as s', and Equation 276 is calculated. (ST8301 to ST8303).

【0348】[0348]

【数276】 [Equation 276]

【0349】ここで、x'∈{0,1}n,r'∈{0,1}k0であ
る。
Here, x′ε {0,1} n and r′ε {0,1} k0 .

【0350】次に、演算部203は、数276の計算結
果を用いて、数277に示す復号化結果を計算する(S
T8304)。
Next, the arithmetic unit 203 calculates the decoding result shown in Expression 277 using the calculation result of Expression 276 (S).
T8304).

【0351】[0351]

【数277】 [Equation 277]

【0352】それから、演算部203は、復号結果x'を
出力部207から出力する。但し、復号化結果が「*」
の場合、演算部203はこの暗号文y1,y2,y3の復号を拒
否しその旨を出力部207から出力する(ST830
5)。
Then, the arithmetic unit 203 outputs the decoding result x ′ from the output unit 207. However, the decryption result is "*"
In the case of, the arithmetic unit 203 refuses to decrypt the ciphertext y 1 , y 2 , y 3 and outputs the fact to the output unit 207 (ST830).
5).

【0353】本実施形態において、上述のd(d≧1)の値
は変更可能である。例えば、メッセージのビット長が常
に小さい場合、上述のNの素因数分解が困難である範囲
においてdの値を大きくすることで、復号化処理を高速
にすることが可能である。
In this embodiment, the value of d (d ≧ 1) described above can be changed. For example, when the bit length of the message is always small, it is possible to speed up the decoding process by increasing the value of d in the range where it is difficult to factorize the prime number of N described above.

【0354】また、本実施形態の公開鍵暗号通信方法で
は、例えばd=3の場合、Nの素因数分解問題の困難性を前
提として完全解読が不可能なことを示すことができる。
すなわち、Nの素因数分解問題を解くアルゴリズムが存
在すれば、そのアルゴリズムを利用して、本実施形態の
公開鍵暗号通信方法の完全解読を行うアルゴリズムを構
成することができる。また、本実施形態の公開鍵暗号通
信方法の完全解読を行うアルゴリズムが存在すれば、そ
のアルゴリズムを利用して、Nの素因数分解問題を解く
アルゴリズムを構成することができる。
Further, in the public key cryptographic communication method of the present embodiment, for example, when d = 3, it can be shown that complete decipherment is impossible on the premise of the difficulty of the N factorization problem.
That is, if there is an algorithm for solving the prime factorization problem of N, the algorithm can be used to configure an algorithm for performing complete decryption of the public key cryptographic communication method of the present embodiment. Further, if there is an algorithm for performing complete decryption of the public key cryptographic communication method of the present embodiment, the algorithm can be used to construct an algorithm for solving the N factorization problem.

【0355】(第13実施形態)次に、上記の第12実
施形態の変形例を、本発明の第13実施形態として説明
する。図14は、本発明の第13実施形態の動作手順を
説明するための図である。
(Thirteenth Embodiment) Next, a modified example of the twelfth embodiment will be described as a thirteenth embodiment of the present invention. FIG. 14 is a diagram for explaining the operation procedure of the thirteenth embodiment of the present invention.

【0356】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の秘密鍵(p,q)
と受信者の公開鍵(N,k,G,H)とを、それぞれ数278、
数279により生成する。そして、生成情報を記憶部2
05に記憶する(ST9100)。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instruction from the operator (recipient) and the secret key (p, q) of the receiver.
And the recipient's public key (N, k, G, H), respectively, in the number 278,
It is generated by the equation 279. Then, the generated information is stored in the storage unit 2.
It is stored in 05 (ST9100).

【0357】[0357]

【数278】 [Equation 278]

【0358】[0358]

【数279】 [Equation 279]

【0359】ここで、dの値は、本システムの管理者あ
るいは受信者が、予めまたは必要に応じて決定するもの
とし、鍵生成部201は、この決定されたdの値を取り
込んで、受信者の秘密鍵および公開鍵の生成を行なうも
のとする。
Here, the value of d is determined by the administrator or receiver of this system in advance or when necessary, and the key generation unit 201 takes in the determined value of d and receives it. The private key and public key of the person are to be generated.

【0360】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(N,k,G,H)を含
む公開情報を、送信者(送信者側装置100の操作者)
に知らせる(ST9101)。例えば、受信者側装置2
00において、鍵生成部201は、受信者よりの指示に
従い、公開情報を、通信部206を介して送信者側装置
100へ送信する。あるいは、受信者は、例えば第3者
(公開情報管理機関)への登録などの周知の方法により、
公開情報を公開する。この公開情報は、送信者側装置1
00の記憶部105に記憶される。
Next, the receiver sends the public information including the public key (N, k, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (sender side device). 100 operators)
(ST9101). For example, the receiver device 2
In 00, the key generation unit 201 transmits the public information to the sender-side device 100 via the communication unit 206 according to the instruction from the receiver. Alternatively, the recipient is, for example, a third party
By well-known methods such as registration with (public information management organization),
Make public information public. This public information is sent to the sender device 1
00 is stored in the storage unit 105.

【0361】なお、秘密鍵(p,q)は、これらとは別の
素数p',q'から、p=2p'+1,q=2q'+1となる素数を選ぶこと
により作成することも可能である。
The secret key (p, q) should be created by selecting a prime number such that p = 2p '+ 1, q = 2q' + 1 from other prime numbers p ', q'. Is also possible.

【0362】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)よりメッセージx(x∈{0,1}n)の入力を受け付
ける(ST9200)。これを受けて、乱数生成部10
1は、メッセージxに対して乱数r∈{0,1}k0を選ぶ。そ
れから、演算部103は、この乱数rと、予め記憶部1
05に記憶しておいた受信者の公開鍵(N,k,G,H)とを用
いて、数280を計算する(ST9201)。
2. In the encryption processing sender device 100, the input unit 107 receives an input of the message x (xε {0,1} n ) from the operator (sender) (ST9200). In response to this, the random number generator 10
1 selects a random number rε {0,1} k0 for the message x. Then, the calculation unit 103 uses the random number r and the storage unit 1 in advance.
Using the public key (N, k, G, H) of the receiver stored in 05, the formula 280 is calculated (ST9201).

【0363】[0363]

【数280】 [Equation 280]

【0364】次に、演算部103は、数280の計算結
果s,tを用いて、べき乗算部102および剰余演算部1
04を利用して数281を計算する(ST9202)。
Next, the arithmetic unit 103 uses the calculation results s and t of Equation 280 to calculate the power multiplication unit 102 and the remainder arithmetic unit 1.
The number 281 is calculated using 04 (ST9202).

【0365】[0365]

【数281】 [Formula 281]

【0366】次に、通信部106は、数281の計算結
果y1,y2を、メッセージxの暗号文として、通信回線30
0を介して、受信者側装置200に送信する(ST92
03)。
Next, the communication unit 106 uses the calculation results y 1 and y 2 of the equation 281 as the ciphertext of the message x and the communication line 30.
To the receiver-side device 200 via 0 (ST92
03).

【0367】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号文y1,y2
を受け取り、これを記憶部205に記憶する。さて、演
算部203は、操作者(送信者)よりの指示に従い、記
憶部205に記憶されている受信者の秘密鍵を用いて、
べき乗算部102および剰余演算部104を利用して、
記憶部205に記憶されている暗号文y1,y2から数28
2を計算する(ST9300)。
3. In the decryption processing receiver device 200, the communication unit 206 transmits the ciphertexts y 1 and y 2 from the sender device 100 via the communication line 300.
Is received and stored in the storage unit 205. Now, the calculation unit 203 uses the recipient's private key stored in the storage unit 205 according to the instruction from the operator (sender),
Utilizing the power multiplication unit 102 and the remainder calculation unit 104,
From the ciphertext y 1 and y 2 stored in the storage unit 205,
Calculate 2 (ST9300).

【0368】[0368]

【数282】 [Equation 282]

【0369】それから、演算部203は、φ(x1,p,
x1,q),φ(-x1,p,x1,q),φ(x1,p,-x1,q),φ(-x1,p,-
x1,q)のうち(但し、φは中国人の剰余定理によるZ/(p)
×Z/(q)からZ/(pq)への環同型写像を表す)、0<x<2k-2
満たすものをs'(s'は複数存在してもよい)として、数
283を計算する(ST9301〜ST9303)。
Then, the arithmetic unit 203 outputs φ (x 1, p ,
x 1, q ), φ (-x 1, p , x 1, q ), φ (x 1, p , -x 1, q ), φ (-x 1, p ,-
x 1, q ) (where φ is Z / (p) according to the Chinese Remainder Theorem
XZ / (q) to Z / (pq)), and s '(s' may exist more than once) satisfying 0 <x <2 k-2. Is calculated (ST9301 to ST9303).

【0370】[0370]

【数283】 [Equation 283]

【0371】ここで、x'∈{0,1}n,r'∈{0,1}k0であ
る。
Here, x′ε {0,1} n and r′ε {0,1} k0 .

【0372】次に、演算部203は、数283の計算結
果を用いて、数284に示す復号化結果を計算する(S
T9304)。
Next, the arithmetic unit 203 calculates the decoding result shown in Expression 284 using the calculation result of Expression 283 (S).
T9304).

【0373】[0373]

【数284】 [Formula 284]

【0374】それから、演算部203は、復号結果x'を
出力部207から出力する。但し、復号化結果が「*」
の場合、演算部203はこの暗号文y1,y2の復号を拒否
しその旨を出力部207から出力する(ST930
5)。
Then, the arithmetic section 203 outputs the decoding result x ′ from the output section 207. However, the decryption result is "*"
In the case of, the arithmetic unit 203 refuses to decrypt the ciphertexts y 1 and y 2 and outputs a message to that effect from the output unit 207 (ST930).
5).

【0375】本実施形態において、上述のd(d≧1)の値
は変更可能である。例えば、メッセージのビット長が常
に小さい場合、上述のNの素因数分解が困難である範囲
においてdの値を大きくすることで、復号化処理を高速
にすることが可能である。
In this embodiment, the above-mentioned value of d (d ≧ 1) can be changed. For example, when the bit length of the message is always small, it is possible to speed up the decoding process by increasing the value of d in the range where it is difficult to factorize the prime number of N described above.

【0376】また、本実施形態の公開鍵暗号通信方法で
は、例えばd=3の場合、Nの素因数分解問題の困難性を前
提として完全解読が不可能なことを示すことができる。
すなわち、Nの素因数分解問題を解くアルゴリズムが存
在すれば、そのアルゴリズムを利用して、本実施形態の
公開鍵暗号通信方法の完全解読を行うアルゴリズムを構
成することができる。また、本実施形態の公開鍵暗号通
信方法の完全解読を行うアルゴリズムが存在すれば、そ
のアルゴリズムを利用して、Nの素因数分解問題を解く
アルゴリズムを構成することができる。
Further, in the public key cryptographic communication method of the present embodiment, for example, when d = 3, it can be shown that complete decryption is impossible on the premise of the difficulty of the factorization problem of N.
That is, if there is an algorithm for solving the prime factorization problem of N, the algorithm can be used to configure an algorithm for performing complete decryption of the public key cryptographic communication method of the present embodiment. Further, if there is an algorithm for performing complete decryption of the public key cryptographic communication method of the present embodiment, the algorithm can be used to construct an algorithm for solving the N factorization problem.

【0377】(第14実施形態)次に、上記の第12実
施形態の変形例を、本発明の第14実施形態として説明
する。図15は、本発明の第14実施形態の動作手順を
説明するための図である。
(Fourteenth Embodiment) Next, a modification of the twelfth embodiment will be described as a fourteenth embodiment of the present invention. FIG. 15 is a diagram for explaining the operation procedure of the fourteenth embodiment of the present invention.

【0378】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の秘密鍵pi(1≦
i≦d)と受信者の公開鍵(N,k,G,H)とを、それぞれ数28
5、数286により生成する。そして、生成情報を記憶
部205に記憶する(ST10100)。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instruction from the operator (recipient) and the secret key p i (1 ≦ 1) of the receiver.
i ≦ d) and the recipient's public key (N, k, G, H)
5, generated by the number 286. Then, the generation information is stored in storage section 205 (ST10100).

【0379】[0379]

【数285】 [Formula 285]

【0380】[0380]

【数286】 [Equation 286]

【0381】ここで、dの値は、本システムの管理者あ
るいは受信者が、予めまたは必要に応じて決定するもの
とし、鍵生成部201は、この決定されたdの値を取り
込んで、受信者の秘密鍵および公開鍵の生成を行なうも
のとする。
Here, the value of d is determined by the administrator or receiver of this system in advance or when necessary, and the key generation unit 201 takes in the determined value of d and receives it. The private key and public key of the person are to be generated.

【0382】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(N,k,G,H)を含
む公開情報を、送信者(送信者側装置100の操作者)
に知らせる(ST10101)。例えば、受信者側装置
200において、鍵生成部201は、受信者よりの指示
に従い、公開情報を、通信部206を介して送信者側装
置100へ送信する。あるいは、受信者は、例えば第3
者(公開情報管理機関)への登録などの周知の方法によ
り、公開情報を公開する。この公開情報は、送信者側装
置100の記憶部105に記憶される。
Next, the receiver sends the public information including the public key (N, k, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (sender side device). 100 operators)
(ST10101). For example, in the receiver-side device 200, the key generation unit 201 transmits public information to the sender-side device 100 via the communication unit 206 according to an instruction from the receiver. Alternatively, the recipient may be, for example, a third
Public information is disclosed by a well-known method such as registration with a person (public information management organization). This public information is stored in the storage unit 105 of the sender device 100.

【0383】なお、秘密鍵piは、これらとは別の素数p'
から、p=2p'+1となる素数を選ぶことにより作成するこ
とも可能である。
The secret key p i is a prime number p ′ different from these.
Therefore, it is also possible to create it by selecting a prime number such that p = 2p '+ 1.

【0384】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)よりメッセージx(x∈{0,1}n)の入力を受け付
ける(ST10200)。これを受けて、乱数生成部1
01は、メッセージxに対して乱数r∈{0,1}k0を選ぶ。
それから、演算部103は、この乱数rと、予め記憶部
105に記憶しておいた受信者の公開鍵(N,k,G,H)とを
用いて、数287を計算する(ST10201)。
2. In the encryption processing sender device 100, the input unit 107 receives an input of the message x (xε {0,1} n ) from the operator (sender) (ST10200). In response to this, the random number generator 1
01 selects a random number rε {0,1} k0 for the message x.
Then, arithmetic section 103 uses this random number r and the public key (N, k, G, H) of the receiver stored in storage section 105 in advance to calculate Equation 287 (ST10201).

【0385】[0385]

【数287】 [Formula 287]

【0386】ここで、k-1≦log2(N+1)である。Here, k−1 ≦ log 2 (N + 1).

【0387】次に、演算部103は、数287の計算結
果s,tを用いて、べき乗算部102および剰余演算部1
04を利用して数288を計算する(ST1020
2)。
Next, the arithmetic unit 103 uses the calculation result s, t of the equation 287 to calculate the power multiplication unit 102 and the remainder arithmetic unit 1.
The number 288 is calculated using 04 (ST1020
2).

【0388】[0388]

【数288】 [Equation 288]

【0389】次に、通信部106は、数288の計算結
果y1,y2を、メッセージxの暗号文として、通信回線30
0を介して、受信者側装置200に送信する(ST10
203)。
Next, the communication unit 106 uses the calculation results y 1 and y 2 of the equation 288 as the ciphertext of the message x and the communication line 30.
To the receiver-side device 200 via 0 (ST10
203).

【0390】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号文y1,y2
を受け取り、これを記憶部205に記憶する。さて、演
算部203は、操作者(送信者)よりの指示に従い、記
憶部205に記憶されている受信者の秘密鍵を用いて、
べき乗算部102および剰余演算部104を利用して、
記憶部205に記憶されている暗号文y1,y2から数28
9を計算する(ST10300)。
3. In the decryption processing receiver device 200, the communication unit 206 transmits the ciphertexts y 1 and y 2 from the sender device 100 via the communication line 300.
Is received and stored in the storage unit 205. Now, the calculation unit 203 uses the recipient's private key stored in the storage unit 205 according to the instruction from the operator (sender),
Utilizing the power multiplication unit 102 and the remainder calculation unit 104,
From the ciphertext y 1 and y 2 stored in the storage unit 205,
9 is calculated (ST10300).

【0391】[0391]

【数289】 [Equation 289]

【0392】それから、演算部203は、2d個のφ(±x
1,p1,±x1,p2,...,±x1,pd)のうち(但し、φは中国
人の剰余定理によるZ/(p1)×Z/(q2)×...×Z/(qd)か
らZ/(N)への環同型写像を表す)、0<s'<N/2を満たすも
のをs'(s'は複数存在してもよい)として、数290を
計算する(ST10301、ST10302)。
Then, the arithmetic unit 203 outputs 2 d φ (± x
1, p1 , ± x 1, p2,. . . , ± x 1, pd ) (where φ is Z / (p 1 ) × Z / (q 2 ) × ... × Z / (q d ) to Z / (N) according to the Chinese Remainder Theorem. (Representing a ring isomorphism map) to s ′ (there may be a plurality of s ′) satisfying 0 <s ′ <N / 2, the number 290 is calculated (ST10301, ST10302).

【0393】[0393]

【数290】 [Formula 290]

【0394】ここで、x'∈{0,1}n,r'∈{0,1}k0であ
る。
Here, x′ε {0,1} n and r′ε {0,1} k0 .

【0395】次に、演算部203は、数290の計算結
果を用いて、数291に示す復号化結果を計算する(S
T10303)。
Next, the arithmetic unit 203 calculates the decoding result shown in Expression 291 using the calculation result of Expression 290 (S).
T10303).

【0396】[0396]

【数291】 [Numeric 291]

【0397】それから、演算部203は、復号結果x'を
出力部207から出力する。但し、復号化結果が「*」
の場合、演算部203はこの暗号文y1,y2の復号を拒否
しその旨を出力部207から出力する(ST1030
4)。
Then, the arithmetic unit 203 outputs the decoding result x ′ from the output unit 207. However, the decryption result is "*"
In the case of, the arithmetic unit 203 refuses to decrypt the ciphertexts y 1 and y 2 , and outputs the fact to the output unit 207 (ST1030).
4).

【0398】本実施形態において、上述のd(d>1)の値
は変更可能である。本実施形態の公開鍵暗号通信方法で
は、例えばd=3の場合、Nの素因数分解問題の困難性を前
提として完全解読が不可能なことを示すことができる。
すなわち、Nの素因数分解問題を解くアルゴリズムが存
在すれば、そのアルゴリズムを利用して、本実施形態の
公開鍵暗号通信方法の完全解読を行うアルゴリズムを構
成することができる。また、本実施形態の公開鍵暗号通
信方法の完全解読を行うアルゴリズムが存在すれば、そ
のアルゴリズムを利用して、Nの素因数分解問題を解く
アルゴリズムを構成することができる。
In the present embodiment, the value of d (d> 1) described above can be changed. In the public key cryptographic communication method of the present embodiment, for example, when d = 3, it can be shown that complete decryption is impossible on the premise of difficulty of the N factorization problem.
That is, if there is an algorithm for solving the prime factorization problem of N, the algorithm can be used to configure an algorithm for performing complete decryption of the public key cryptographic communication method of the present embodiment. Further, if there is an algorithm for performing complete decryption of the public key cryptographic communication method of the present embodiment, the algorithm can be used to construct an algorithm for solving the N factorization problem.

【0399】(第15実施形態)次に、上記の第11実
施形態を、共通鍵暗号におけるデータ暗号化鍵の配送を
目的として、既存の暗号方法(例えば共通鍵暗号)と一
緒に使用するようにした場合を、本発明の第15実施形
態として説明する。
(Fifteenth Embodiment) Next, the eleventh embodiment described above should be used together with an existing encryption method (for example, common key encryption) for the purpose of delivering a data encryption key in common key encryption. This case will be described as a fifteenth embodiment of the present invention.

【0400】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の公開鍵(f,G,
H)と受信者の秘密鍵とを、それぞれ数292、数293
により生成する。そして、生成情報を記憶部205に記
憶する。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instructions from the operator (recipient) and the public key (f, G,
H) and the recipient's private key, respectively,
Generated by. Then, the generated information is stored in the storage unit 205.

【0401】[0401]

【数292】 [Equation 292]

【0402】[0402]

【数293】 [Numerical Expression 293]

【0403】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(f,G,H)を含む
公開情報を、送信者(送信者側装置100の操作者)に
知らせる。例えば受信者側装置200において、鍵生成
部201は、受信者よりの指示に従い、公開情報を通信
部206を介して送信者側装置100へ送信する。ある
いは、受信者は、例えば第3者(公開情報管理機関)への
登録などの周知の方法により、公開情報を公開する。こ
の公開情報は、送信者側装置100の記憶部105に記
憶される。
Next, the receiver sends the public information including the public key (f, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (transmitter side device 100). Notify the operator). For example, in the receiver-side device 200, the key generation unit 201 transmits public information to the sender-side device 100 via the communication unit 206 according to an instruction from the receiver. Alternatively, the recipient publishes the public information by a known method such as registration with a third party (public information management organization). This public information is stored in the storage unit 105 of the sender device 100.

【0404】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)より送信メッセージmの入力を受け付ける
と、暗号化部108は、データ暗復号化鍵K(K∈{0,1}n)
を用いて、既存の暗号化方法によりメッセージmを暗号
化し、暗号文cを作成する。次に、乱数生成部101
は、データ暗復号化鍵Kに対して乱数r∈{0,1} k0を選
ぶ。それから、演算部103は、この乱数rと、予め記
憶部105に記憶しておいた受信者の公開鍵(f,G,H)と
を用いて、数294を計算する。
2. Encryption processing In the sender device 100, the input unit 107 is an operator
Accept input of sent message m from (sender)
Then, the encryption unit 108 uses the data encryption / decryption key K (K∈ {0,1}n)
Encrypt the message m using the existing encryption method using
And generate the ciphertext c. Next, the random number generation unit 101
Is a random number r ∈ {0,1} for the data encryption / decryption key K. k0Choose
Bu Then, the calculation unit 103 stores this random number r in advance.
The public key (f, G, H) of the recipient stored in the storage unit 105
Is used to calculate the number 294.

【0405】[0405]

【数294】 [Numerical formula 294]

【0406】次に、演算部103は、数294の計算結
果s,tを用いて、数295を計算する。
Next, the arithmetic part 103 calculates the equation 295 using the calculation result s, t of the equation 294.

【0407】[0407]

【数295】 [Formula 295]

【0408】次に、通信部106は、数295の暗号結
果y1,y2をメッセージmの暗号文cと共に、通信回線30
0を介して受信者側装置200に送信する。
Next, the communication unit 106 sends the cipher results y 1 and y 2 of Equation 295 together with the ciphertext c of the message m to the communication line 30.
It is transmitted to the receiver side device 200 via 0.

【0409】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号結果y1,y
2を暗号文cと共に受け取り、これを記憶部205に記憶
する。さて、演算部203は、操作者(送信者)よりの
指示に従い、記憶部205に記憶されている受信者の秘
密鍵を用いて、記憶部205に記憶されている暗号結果
y1,y2から数296を計算する。
3. In the decryption processing receiver side device 200, the communication unit 206 receives the encryption result y 1 , y from the sender side device 100 via the communication line 300.
2 is received together with the ciphertext c and stored in the storage unit 205. Now, the calculation unit 203 uses the secret key of the receiver stored in the storage unit 205 according to the instruction from the operator (sender), and outputs the encryption result stored in the storage unit 205.
The number 296 is calculated from y 1 and y 2 .

【0410】[0410]

【数296】 [296]

【0411】次に、演算部203は、数296の計算結
果を用いて、数297を計算する。
Next, the arithmetic unit 203 calculates the equation 297 using the calculation result of the equation 296.

【0412】[0412]

【数297】 [Numerical Expression 297]

【0413】ここで、K'∈{0,1}n,r'∈{0,1}k0であ
る。次に、演算部203は、数297の計算結果を用い
て、数298に示す復号化結果を計算する。
Here, K′ε {0,1} n and r′ε {0,1} k0 . Next, the arithmetic unit 203 calculates the decoding result shown in Expression 298 using the calculation result of Expression 297.

【0414】[0414]

【数298】 [Equation 298]

【0415】但し、復号化結果が「*」の場合、演算部
203はこの暗号結果y1,y2の復号を拒否し、その旨を
出力部207から出力する。
However, when the decryption result is “*”, the arithmetic unit 203 rejects the decryption of the encryption results y 1 and y 2 , and outputs the fact to the output unit 207.

【0416】次に、復号化部208は、数298による
復号結果K'(つまり、データ暗復号化鍵K)を用いて、
記憶部205に記憶されている暗号文cを既存の暗号方
法により復号化する。そして、その復号結果(つまりメ
ッセージm)を出力部207から出力する。
Next, the decryption unit 208 uses the decryption result K '(that is, the data encryption / decryption key K) according to the equation 298,
The ciphertext c stored in the storage unit 205 is decrypted by the existing encryption method. Then, the decoding result (that is, the message m) is output from the output unit 207.

【0417】(第16実施形態)次に、上記の第12実
施形態を、共通鍵暗号におけるデータ暗号化鍵の配送を
目的として、既存の暗号方法(例えば共通鍵暗号)と一
緒に使用するようにした場合を、本発明の第16実施形
態として説明する。
(Sixteenth Embodiment) Next, the above twelfth embodiment should be used together with an existing encryption method (for example, common key encryption) for the purpose of delivering a data encryption key in common key encryption. This case will be described as a 16th embodiment of the present invention.

【0418】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の秘密鍵(p,q)
と受信者の公開鍵(N,k,G,H)とを、それぞれ数299、
数300により生成する。そして、生成情報を記憶部2
05に記憶する。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instruction from the operator (recipient) and the secret key (p, q) of the receiver.
And the recipient's public key (N, k, G, H),
It is generated by the number 300. Then, the generated information is stored in the storage unit 2.
Store in 05.

【0419】[0419]

【数299】 [Numerical formula 299]

【0420】[0420]

【数300】 [Equation 300]

【0421】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(N,k,G,H)を含
む公開情報を、送信者(送信者側装置100の操作者)
に知らせる。例えば受信者側装置200において、鍵生
成部201は、受信者よりの指示に従い、公開情報を通
信部206を介して送信者側装置100へ送信する。あ
るいは、受信者は、例えば第3者(公開情報管理機関)へ
の登録などの周知の方法により、公開情報を公開する。
この公開情報は送信者側装置100の記憶部105に記
憶される。
Next, the receiver sends the public information including the public key (N, k, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (sender side device). 100 operators)
Let us know. For example, in the receiver-side device 200, the key generation unit 201 transmits public information to the sender-side device 100 via the communication unit 206 according to an instruction from the receiver. Alternatively, the recipient publishes the public information by a known method such as registration with a third party (public information management organization).
This public information is stored in the storage unit 105 of the sender device 100.

【0422】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)より送信メッセージmの入力を受け付ける
と、暗号化部108は、データ暗復号化鍵K(K∈{0,1}n)
を用いて、既存の暗号化方法によりメッセージmを暗号
化し、暗号文cを作成する。次に、乱数生成部101
は、データ暗復号化鍵Kに対して乱数r∈{0,1} k0を選
ぶ。それから、演算部103は、この乱数rと、予め記
憶部105に記憶しておいた受信者の公開鍵(N,k,G,H)
とを用いて、数301を計算する。
2. Encryption processing In the sender device 100, the input unit 107 is an operator
Accept input of sent message m from (sender)
Then, the encryption unit 108 uses the data encryption / decryption key K (K∈ {0,1}n)
Encrypt the message m using the existing encryption method using
And generate the ciphertext c. Next, the random number generation unit 101
Is a random number r ∈ {0,1} for the data encryption / decryption key K. k0Choose
Bu Then, the calculation unit 103 stores this random number r in advance.
Recipient's public key (N, k, G, H) stored in memory 105
The number 301 is calculated using and.

【0423】[0423]

【数301】 [Equation 301]

【0424】次に、演算部103は、数301の計算結
果s,tを用いて、べき乗算部102および剰余演算部1
04を利用して数302を計算する。
Next, the arithmetic unit 103 uses the calculation result s, t of the equation 301 to calculate the power multiplication unit 102 and the remainder arithmetic unit 1.
The number 302 is calculated using 04.

【0425】[0425]

【数302】 [Equation 302]

【0426】ここで、a=(m/N)はJacobi記号を表す。次
に、通信部106は、数302の暗号結果y1,y2,y3を、
メッセージmの暗号文cと共に、通信回線300を介して
受信者側装置200に送信する。
Here, a = (m / N) represents the Jacobi symbol. Next, the communication unit 106 uses the cipher results y 1 , y 2 , y 3 of the equation 302 as
The ciphertext c of the message m is transmitted to the recipient device 200 via the communication line 300.

【0427】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号結果y1,y
2,y3を暗号文cと共に受け取り、これを記憶部205に
記憶する。さて、演算部203は、操作者(送信者)よ
りの指示に従い、記憶部205に記憶されている受信者
の秘密鍵を用いて、記憶部205に記憶されている暗号
結果y1,y2,y3から数303を計算する。
3. In the decryption processing receiver side device 200, the communication unit 206 receives the encryption result y 1 , y from the sender side device 100 via the communication line 300.
2 and y 3 are received together with the ciphertext c and stored in the storage unit 205. Now, the arithmetic unit 203 uses the recipient's private key stored in the storage unit 205 in accordance with the instruction from the operator (sender), and outputs the cipher results y 1 and y 2 stored in the storage unit 205. , y 3 is calculated as the number 303.

【0428】[0428]

【数303】 [Equation 303]

【0429】それから、演算部203は、φ(x1,p,
x1,q),φ(-x1,p,x1,q),φ(x1,p,-x1,q),φ(-x1,p,-
x1,q)のうち(但し、φは中国人の剰余定理によるZ/(p)
×Z/(q)からZ/(pq)への環同型写像を表す)、(x/N)=y3
つ0<x<2k-2を満たすものをs'として、数304を計算す
る。
Then, the arithmetic unit 203 determines that φ (x 1, p ,
x 1, q ), φ (-x 1, p , x 1, q ), φ (x 1, p , -x 1, q ), φ (-x 1, p ,-
x 1, q ) (where φ is Z / (p) according to the Chinese Remainder Theorem
× Z / (q) to Z / (pq) represents a homomorphic mapping), (x / N) = y 3 and 0 <x <2 k-2 To do.

【0430】[0430]

【数304】 [Equation 304]

【0431】ここで、k'∈{0,1}n,r'∈{0,1}k0であ
る。次に、演算部203は、数304の計算結果を用い
て、数305に示す復号化結果を計算する。
Here, k′ε {0,1} n and r′ε {0,1} k0 . Next, the arithmetic unit 203 calculates the decoding result shown in Expression 305 using the calculation result of Expression 304.

【0432】[0432]

【数305】 [Equation 305]

【0433】但し、復号化結果が「*」の場合、演算部
203はこの暗号結果y1,y2,y3の復号を拒否し、その旨
を出力部207から出力する。
However, when the decryption result is “*”, the arithmetic unit 203 rejects the decryption of the encryption results y 1 , y 2 , y 3 and outputs the fact to the output unit 207.

【0434】次に、復号化部208は、数305による
復号結果K'(つまり、データ暗復号化鍵K)を用いて、
記憶部205に記憶されている暗号文cを既存の暗号方
法により復号化する。そして、その復号結果(つまりメ
ッセージm)を出力部207から出力する。
Next, the decryption unit 208 uses the decryption result K '(that is, the data encryption / decryption key K) according to the equation 305,
The ciphertext c stored in the storage unit 205 is decrypted by the existing encryption method. Then, the decoding result (that is, the message m) is output from the output unit 207.

【0435】(第17実施形態)次に、上記の第13実
施形態を、共通鍵暗号におけるデータ暗号化鍵の配送を
目的として、既存の暗号方法(例えば共通鍵暗号)と一
緒に使用するようにした場合を、本発明の第17実施形
態として説明する。
(Seventeenth Embodiment) Next, the above thirteenth embodiment will be used together with an existing encryption method (for example, common key encryption) for the purpose of delivering a data encryption key in common key encryption. This case will be described as a 17th embodiment of the present invention.

【0436】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の秘密鍵(p,q)
と受信者の公開鍵(N,k,G,H)とを、それぞれ数306、
数307により生成する。そして、生成情報を記憶部2
05に記憶する。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instruction from the operator (recipient) and the secret key (p, q) of the receiver.
And the recipient's public key (N, k, G, H) as
It is generated by Equation 307. Then, the generated information is stored in the storage unit 2.
Store in 05.

【0437】[0437]

【数306】 [Equation 306]

【0438】[0438]

【数307】 [Formula 307]

【0439】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(N,k,G,H)を含
む公開情報を、送信者(送信者側装置100の操作者)
に知らせる。例えば受信者側装置200において、鍵生
成部201は、受信者よりの指示に従い、公開情報を通
信部206を介して送信者側装置100へ送信する。あ
るいは、受信者は、例えば第3者(公開情報管理機関)へ
の登録などの周知の方法により、公開情報を公開する。
この公開情報は送信者側装置100の記憶部105に記
憶される。
Next, the receiver sends the public information including the public key (N, k, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (sender side device). 100 operators)
Let us know. For example, in the receiver-side device 200, the key generation unit 201 transmits public information to the sender-side device 100 via the communication unit 206 according to an instruction from the receiver. Alternatively, the recipient publishes the public information by a known method such as registration with a third party (public information management organization).
This public information is stored in the storage unit 105 of the sender device 100.

【0440】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)より送信メッセージmの入力を受け付ける
と、暗号化部108は、データ暗復号化鍵K(K∈{0,1}n)
を用いて、既存の暗号化方法によりメッセージmを暗号
化し、暗号文cを作成する。次に、乱数生成部101
は、データ暗復号化鍵Kに対して乱数r∈{0,1} k0を選
ぶ。それから、演算部103は、この乱数rと、予め記
憶部105に記憶しておいた受信者の公開鍵(N,k,G,H)
とを用いて、数308を計算する。
2. Encryption processing In the sender device 100, the input unit 107 is an operator
Accept input of sent message m from (sender)
Then, the encryption unit 108 uses the data encryption / decryption key K (K∈ {0,1}n)
Encrypt the message m using the existing encryption method using
And generate the ciphertext c. Next, the random number generation unit 101
Is a random number r ∈ {0,1} for the data encryption / decryption key K. k0Choose
Bu Then, the calculation unit 103 stores this random number r in advance.
Recipient's public key (N, k, G, H) stored in memory 105
And are used to calculate the number 308.

【0441】[0441]

【数308】 [Equation 308]

【0442】次に、演算部103は、数308の計算結
果s,tを用いて、べき乗算部102および剰余演算部1
04を利用して数309を計算する。
Next, the arithmetic unit 103 uses the calculation results s, t of the equation 308 to calculate the power multiplication unit 102 and the remainder arithmetic unit 1.
The number 309 is calculated using 04.

【0443】[0443]

【数309】 [Formula 309]

【0444】次に、通信部106は、数309の暗号結
果y1,y2を、メッセージmの暗号文cと共に、通信回線3
00を介して受信者側装置200に送信する。
Next, the communication unit 106 sends the cipher results y 1 and y 2 of Equation 309 together with the ciphertext c of the message m to the communication line 3
00 to the receiver-side device 200.

【0445】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号結果y1,y
2を暗号文cと共に受け取り、これを記憶部205に記憶
する。さて、演算部203は、操作者(送信者)よりの
指示に従い、記憶部205に記憶されている受信者の秘
密鍵を用いて、べき乗算部202および剰余演算部20
4を利用して、記憶部205に記憶されている暗号結果
y1,y2から数310を計算する。
3. In the decryption processing receiver side device 200, the communication unit 206 receives the encryption result y 1 , y from the sender side device 100 via the communication line 300.
2 is received together with the ciphertext c and stored in the storage unit 205. Now, the calculation unit 203 uses the receiver's private key stored in the storage unit 205 in accordance with the instruction from the operator (sender), and the power multiplication unit 202 and the remainder calculation unit 20.
The encryption result stored in the storage unit 205 by using 4
The formula 310 is calculated from y 1 and y 2 .

【0446】[0446]

【数310】 [Equation 310]

【0447】それから、演算部203は、φ(x1,p,
x1,q),φ(-x1,p,x1,q),φ(x1,p,-x1,q),φ(-x1,p,-
x1,q)のうち(但し、φは中国人の剰余定理によるZ/(p)
×Z/(q)からZ/(pq)への環同型写像を表す)、0<x<2k-2
満たすものをs'(s'は複数存在してもよい)として、数
311を計算する。
Then, the arithmetic unit 203 outputs φ (x 1, p ,
x 1, q ), φ (-x 1, p , x 1, q ), φ (x 1, p , -x 1, q ), φ (-x 1, p ,-
x 1, q ) (where φ is Z / (p) according to the Chinese Remainder Theorem
X Z / (q) to Z / (pq) is represented as a ring homomorphic map), and one satisfying 0 <x <2 k-2 is defined as s '(s' may exist more than once), To calculate.

【0448】[0448]

【数311】 [Equation 311]

【0449】ここで、k'∈{0,1}n,r'∈{0,1}k0であ
る。次に、演算部203は、数311の計算結果を用い
て、数312に示す復号化結果を計算する。
Here, k′ε {0,1} n and r′ε {0,1} k0 . Next, the arithmetic unit 203 calculates the decoding result shown in Expression 312, using the calculation result of Expression 311.

【0450】[0450]

【数312】 [Equation 312]

【0451】但し、復号化結果が「*」の場合、演算部
203はこの暗号結果y1,y2の復号を拒否し、その旨を
出力部207から出力する。
However, when the decryption result is “*”, the arithmetic unit 203 rejects the decryption of the encryption results y 1 and y 2 , and outputs the fact to the output unit 207.

【0452】次に、復号化部208は、数312による
復号結果K'(つまり、データ暗復号化鍵K)を用いて、
記憶部205に記憶されている暗号文cを既存の暗号方
法により復号化する。そして、その復号結果(つまりメ
ッセージm)を出力部207から出力する。
Next, the decryption unit 208 uses the decryption result K '(that is, the data encryption / decryption key K) according to the equation 312,
The ciphertext c stored in the storage unit 205 is decrypted by the existing encryption method. Then, the decoding result (that is, the message m) is output from the output unit 207.

【0453】(第18実施形態)次に、上記の第12実
施形態の変形例を、共通鍵暗号におけるデータ暗号化鍵
の配送を目的として、既存の暗号方法(例えば共通鍵暗
号)と一緒に使用するようにした場合を、本発明の第1
8実施形態として説明する。
(Eighteenth Embodiment) Next, a modified example of the twelfth embodiment will be described together with an existing encryption method (for example, common key encryption) for the purpose of delivering a data encryption key in common key encryption. The case of using the first of the present invention
This will be described as an eighth embodiment.

【0454】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の秘密鍵pi(1≦
d)と受信者の公開鍵(N,k,G,H)とを、それぞれ数31
3、数314により生成する。そして、生成情報を記憶
部205に記憶する。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instruction from the operator (recipient) and the secret key p i (1 ≦ 1) of the receiver.
d) and the recipient's public key (N, k, G, H)
3 and 314 are generated. Then, the generated information is stored in the storage unit 205.

【0455】[0455]

【数313】 [Equation 313]

【0456】[0456]

【数314】 [Equation 314]

【0457】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(N,k,G,H)を含
む公開情報を、送信者(送信者側装置100の操作者)
に知らせる。例えば受信者側装置200において、鍵生
成部201は、受信者よりの指示に従い、公開情報を通
信部206を介して送信者側装置100へ送信する。あ
るいは、受信者は、例えば第3者(公開情報管理機関)へ
の登録などの周知の方法により、公開情報を公開する。
この公開情報は送信者側装置100の記憶部105に記
憶される。
Next, the receiver sends the public information including the public key (N, k, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (sender side device). 100 operators)
Let us know. For example, in the receiver-side device 200, the key generation unit 201 transmits public information to the sender-side device 100 via the communication unit 206 according to an instruction from the receiver. Alternatively, the recipient publishes the public information by a known method such as registration with a third party (public information management organization).
This public information is stored in the storage unit 105 of the sender device 100.

【0458】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)より送信メッセージmの入力を受け付ける
と、暗号化部108は、データ暗復号化鍵K(K∈{0,1}n)
を用いて、既存の暗号化方法によりメッセージmを暗号
化し、暗号文cを作成する。次に、乱数生成部101
は、データ暗復号化鍵Kに対して乱数r∈{0,1} k0を選
ぶ。それから、演算部103は、この乱数rと、予め記
憶部105に記憶しておいた受信者の公開鍵(N,k,G,H)
とを用いて、数315を計算する。
2. Encryption processing In the sender device 100, the input unit 107 is an operator
Accept input of sent message m from (sender)
Then, the encryption unit 108 uses the data encryption / decryption key K (K∈ {0,1}n)
Encrypt the message m using the existing encryption method using
And generate the ciphertext c. Next, the random number generation unit 101
Is a random number r ∈ {0,1} for the data encryption / decryption key K. k0Choose
Bu Then, the calculation unit 103 stores this random number r in advance.
Recipient's public key (N, k, G, H) stored in memory 105
The number 315 is calculated using and.

【0459】[0459]

【数315】 [Formula 315]

【0460】ここで、k-1≦log2(N+1)である。次に、演
算部103は、数315の計算結果s,tを用いて、べき
乗算部102および剰余演算部104を利用して数31
6を計算する。
Here, k−1 ≦ log 2 (N + 1). Next, the calculation unit 103 uses the calculation result s, t of Expression 315 and uses the power multiplication unit 102 and the remainder calculation unit 104 to calculate Expression 31.
Calculate 6.

【0461】[0461]

【数316】 [Formula 316]

【0462】次に、通信部106は、数316の暗号結
果y1,y2を、メッセージmの暗号文cと共に、通信回線3
00を介して受信者側装置200に送信する。
Next, the communication section 106 sends the cipher results y 1 and y 2 of the formula 316 together with the ciphertext c of the message m to the communication line 3
00 to the receiver-side device 200.

【0463】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号結果y1,y
2を暗号文cと共に受け取り、これを記憶部205に記憶
する。さて、演算部203は、操作者(送信者)よりの
指示に従い、記憶部205に記憶されている受信者の秘
密鍵を用いて、べき乗算部202および剰余演算部20
4を利用して、記憶部205に記憶されている暗号結果
y1,y2から数317を計算する。
3. In the decryption processing receiver side device 200, the communication unit 206 receives the encryption result y 1 , y from the sender side device 100 via the communication line 300.
2 is received together with the ciphertext c and stored in the storage unit 205. Now, the calculation unit 203 uses the receiver's private key stored in the storage unit 205 in accordance with the instruction from the operator (sender), and the power multiplication unit 202 and the remainder calculation unit 20.
The encryption result stored in the storage unit 205 by using 4
Equation 317 is calculated from y 1 and y 2 .

【0464】[0464]

【数317】 [Expression 317]

【0465】それから、演算部203は、2d個のφ(±x
1,p1,±x1,p2,...,±x1,pd)のうち(但し、φは中国
人の剰余定理によるZ/(p1)×Z/(q2)×...×Z/(qd)か
らZ/(N)への環同型写像を表す)、0<s'<N/2を満たすも
のをs'(s'は複数存在してもよい)として、数318を
計算する。
Then, the arithmetic unit 203 outputs 2 d φ (± x
1, p1 , ± x 1, p2,. . . , ± x 1, pd ) (where φ is Z / (p 1 ) × Z / (q 2 ) × ... × Z / (q d ) to Z / (N) according to the Chinese Remainder Theorem. (Representing a ring isomorphism map to), and s ′ (there may be a plurality of s ′) satisfying 0 <s ′ <N / 2, the equation 318 is calculated.

【0466】[0466]

【数318】 [Expression 318]

【0467】ここで、K'∈{0,1}n,r'∈{0,1}k0であ
る。次に、演算部203は、数318の計算結果を用い
て、数319に示す復号化結果を計算する。
Here, K′ε {0,1} n and r′ε {0,1} k0 . Next, the arithmetic unit 203 calculates the decoding result shown in Expression 319 using the calculation result of Expression 318.

【0468】[0468]

【数319】 [Formula 319]

【0469】但し、復号化結果が「*」の場合、演算部
203はこの暗号結果y1,y2の復号を拒否し、その旨を
出力部207から出力する。
However, when the decryption result is “*”, the arithmetic unit 203 rejects the decryption of the encryption results y 1 and y 2 , and outputs the fact to the output unit 207.

【0470】次に、復号化部208は、数319による
復号結果K'(つまり、データ暗復号化鍵K)を用いて、
記憶部205に記憶されている暗号文cを既存の暗号方
法により復号化する。そして、その復号結果(つまりメ
ッセージm)を出力部207から出力する。
Next, the decryption unit 208 uses the decryption result K '(that is, the data encryption / decryption key K) according to the equation 319,
The ciphertext c stored in the storage unit 205 is decrypted by the existing encryption method. Then, the decoding result (that is, the message m) is output from the output unit 207.

【0471】(第19実施形態)次に、本発明の第19
実施形態について、送信者が受信者に対して、送信デー
タとなるメッセージを暗号通信によって送信する場合を
例にとり説明する。図16は、本発明の第19実施形態
の動作手順を説明するための図である。
(19th Embodiment) The 19th embodiment of the present invention will now be described.
The embodiment will be described by taking as an example a case where a sender transmits a message as transmission data to a receiver by cipher communication. FIG. 16 is a diagram for explaining the operation procedure of the nineteenth embodiment of the present invention.

【0472】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の公開鍵(f,G,
H)と受信者の秘密鍵とを、それぞれ数320、数321
により生成する。そして、生成情報を記憶部205に記
憶する(ST11100)。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instructions from the operator (recipient) and the public key (f, G,
H) and the recipient's private key, respectively
Generated by. Then, the generation information is stored in the storage unit 205 (ST11100).

【0473】[0473]

【数320】 [Equation 320]

【0474】[0474]

【数321】 [Numerical Expression 321]

【0475】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(f,G,H)を含む
公開情報を、送信者(送信者側装置100の操作者)に
知らせる(ST11101)。例えば、受信者側装置2
00において、鍵生成部201は、受信者よりの指示に
従い、公開情報を、通信部206を介して送信者側装置
100へ送信する。あるいは、受信者は、例えば第3者
(公開情報管理機関)への登録などの周知の方法により、
公開情報を公開する。この公開情報は、送信者側装置1
00の記憶部105に記憶される。
Next, the receiver sends the public information including the public key (f, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (transmitter side device 100 Notify the operator (ST11101). For example, the receiver device 2
In 00, the key generation unit 201 transmits the public information to the sender-side device 100 via the communication unit 206 according to the instruction from the receiver. Alternatively, the recipient is, for example, a third party
By well-known methods such as registration with (public information management organization),
Make public information public. This public information is sent to the sender device 1
00 is stored in the storage unit 105.

【0476】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)よりメッセージx(x∈{0,1}n)の入力を受け付
ける(ST11200)。これを受けて、乱数生成部1
01は、メッセージxに対して乱数r∈{0,1}kを選ぶ。
それから、演算部103は、この乱数rと、予め記憶部
105に記憶しておいた受信者の公開鍵(f,G,H)とを用
いて、数322を計算する(ST7201)。
2. In the encryption processing sender device 100, the input unit 107 receives an input of the message x (xε {0,1} n ) from the operator (sender) (ST11200). In response to this, the random number generator 1
01 selects a random number rε {0,1} k for the message x.
Then, arithmetic section 103 calculates equation 322 using this random number r and the public key (f, G, H) of the receiver stored in storage section 105 in advance (ST7201).

【0477】[0477]

【数322】 [Equation 322]

【0478】通信部106は、数322の計算結果y1,y
2を、メッセージxの暗号文として、通信回線300を介
して、受信者側装置200に送信する(ST1120
2)。
The communication unit 106 calculates the calculation result y 1 , y of the equation 322.
2 as the ciphertext of the message x is transmitted to the receiver-side device 200 via the communication line 300 (ST1120).
2).

【0479】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号文y1,y2
を受け取り、これを記憶部205に記憶する。さて、演
算部203は、操作者(送信者)よりの指示に従い、記
憶部205に記憶されている受信者の秘密鍵を用いて、
記憶部205に記憶されている暗号文y1,y2から数32
3を計算する(ST11300)。
3. In the decryption processing receiver device 200, the communication unit 206 transmits the ciphertexts y 1 and y 2 from the sender device 100 via the communication line 300.
Is received and stored in the storage unit 205. Now, the calculation unit 203 uses the recipient's private key stored in the storage unit 205 according to the instruction from the operator (sender),
From the ciphertexts y 1 and y 2 stored in the storage unit 205, Equation 32
3 is calculated (ST11300).

【0480】[0480]

【数323】 [Expression 323]

【0481】次に、演算部203は、数323の計算結
果を用いて、数324を計算する(ST11301)。
Next, arithmetic section 203 calculates equation 324 using the calculation result of equation 323 (ST11301).

【0482】[0482]

【数324】 [Expression 324]

【0483】但し、x'∈{0,1}n,w'∈{0,1}k0である。However, x′ε {0,1} n and w′ε {0,1} k0 .

【0484】次に、演算部203は、数324の計算結
果を用いて、数325に示す復号化結果を計算する(S
T11302)。
Next, the arithmetic unit 203 calculates the decoding result shown in Expression 325 using the calculation result of Expression 324 (S).
T11302).

【0485】[0485]

【数325】 [Expression 325]

【0486】それから、演算部203は、復号結果x'を
出力部207から出力する。但し、復号化結果が「*」
の場合、演算部203はこの暗号文y1,y2の復号を拒否
し、その旨を出力部207から出力する(ST1130
3)。
Then, the arithmetic section 203 outputs the decoding result x ′ from the output section 207. However, the decryption result is "*"
In the case of, the arithmetic unit 203 refuses to decrypt the ciphertexts y 1 and y 2 , and outputs a message to that effect from the output unit 207 (ST1130).
3).

【0487】本実施形態の公開鍵暗号通信方法によれ
ば、上記の第3実施形態と同様に、一方向性置換fの逆
関数を求めることが困難であることを前提にして、選択
暗号文攻撃に対して強秘匿であることが証明できる。
According to the public key cryptographic communication method of the present embodiment, it is difficult to find the inverse function of the one-way permutation f, similarly to the third embodiment, and the selected ciphertext is used. It can be proved that the attack is confidential.

【0488】なお、本実施形態は、上記の第3実施形態
および第11実施形態と比較して、暗号文の一部である
y1を前処理計算できる利点がある。すなわち、メッセー
ジxとは無関係にy1を計算できるため、前もって計算し
ておくことにより高速な暗号化処理が可能となる。
The present embodiment is a part of ciphertext, as compared with the third and eleventh embodiments.
There is an advantage that y 1 can be preprocessed. That is, since y 1 can be calculated independently of the message x, high-speed encryption can be performed by calculating in advance.

【0489】また、本実施形態は、上記の第11実施形
態と同様に、メッセージの長さnを関数fに依らずに設
定することができる利点がある。すなわち、nの値を送
信したいメッセージの長さに応じて、ユーザが勝手に設
定することが可能である。
Further, this embodiment has an advantage that the message length n can be set without depending on the function f, as in the eleventh embodiment. That is, the user can arbitrarily set the value of n according to the length of the message to be transmitted.

【0490】(第20実施形態)次に、上記の第19実
施形態の具体例を、本発明の第20実施形態として説明
する。図17は、本発明の第20実施形態の動作手順を
説明するための図である。
(Twentieth Embodiment) Next, a specific example of the nineteenth embodiment will be described as a twentieth embodiment of the present invention. FIG. 17 is a diagram for explaining the operation procedure of the twentieth embodiment of the present invention.

【0491】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の秘密鍵(p,q)
と受信者の公開鍵(N,k,G,H)とを、それぞれ数326、
数327により生成する。そして、生成情報を記憶部2
05に記憶する(ST12100)。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instruction from the operator (recipient) and the secret key (p, q) of the receiver.
And the recipient's public key (N, k, G, H), respectively, in the number 326,
It is generated by the equation 327. Then, the generated information is stored in the storage unit 2.
It is stored in 05 (ST12100).

【0492】[0492]

【数326】 [Expression 326]

【0493】[0493]

【数327】 [Expression 327]

【0494】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(N,k,G,H)を含
む公開情報を、送信者(送信者側装置100の操作者)
に知らせる(ST12101)。例えば、受信者側装置
200において、鍵生成部201は、受信者よりの指示
に従い、公開情報を、通信部206を介して送信者側装
置100へ送信する。あるいは、受信者は、例えば第3
者(公開情報管理機関)への登録などの周知の方法によ
り、公開情報を公開する。この公開情報は、送信者側装
置100の記憶部105に記憶される。
Next, the receiver sends the public information including the public key (N, k, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (sender side device). 100 operators)
(ST12101). For example, in the receiver-side device 200, the key generation unit 201 transmits public information to the sender-side device 100 via the communication unit 206 according to an instruction from the receiver. Alternatively, the recipient may be, for example, a third
Public information is disclosed by a well-known method such as registration with a person (public information management organization). This public information is stored in the storage unit 105 of the sender device 100.

【0495】なお、秘密鍵p,qは、これらとは別の素数
p',q'からp=2p'+1,q=2q'+1により作成することも可能で
ある。
The secret keys p and q are prime numbers different from these.
It is also possible to create from p ', q' by p = 2p '+ 1, q = 2q' + 1.

【0496】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)よりメッセージx(x∈{0,1}n)の入力を受け付
ける(ST12200)。これを受けて、乱数生成部1
01は、メッセージxに対して乱数r∈{0,1}k-2を選
ぶ。それから、演算部103は、この乱数rと、予め記
憶部105に記憶しておいた受信者の公開鍵(N,k,G,H)
とを用いて、べき乗算部102および剰余演算部104
を利用して、数328を計算する(ST12201)。
2. In the encryption processing sender device 100, the input unit 107 receives an input of a message x (xε {0,1} n ) from an operator (sender) (ST12200). In response to this, the random number generator 1
01 selects a random number rε {0,1} k−2 for the message x. Then, the calculation unit 103 uses the random number r and the public key (N, k, G, H) of the receiver stored in the storage unit 105 in advance.
And are used,
Using, the equation 328 is calculated (ST12201).

【0497】[0497]

【数328】 [Equation 328]

【0498】ここで、a=(m/N)はJacobi記号を表す。通
信部106は、数328の計算結果y 1,y2,y3を、メッセ
ージxの暗号文として、通信回線300を介して、受信
者側装置200に送信する(ST12202)。
Here, a = (m / N) represents the Jacobi symbol. Communication
The belief unit 106 calculates the calculation result y of Equation 328. 1, y2, y3The Messe
Received as ciphertext of page x via communication line 300
It is transmitted to the person-side device 200 (ST12202).

【0499】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号文y1,y2,
y3を受け取り、これを記憶部205に記憶する。さて、
演算部203は、操作者(送信者)よりの指示に従い、
記憶部205に記憶されている受信者の秘密鍵を用い
て、記憶部205に記憶されている暗号文y1,y2,y3から
数329を計算する(ST12300)。
3. In the decryption processing receiver side device 200, the communication unit 206 receives the ciphertexts y 1 , y 2 , from the sender side device 100 via the communication line 300.
It receives y 3 and stores it in the storage unit 205. Now,
The calculation unit 203 follows the instruction from the operator (sender),
Using the recipient's private key stored in storage unit 205, Equation 329 is calculated from ciphertext y 1 , y 2 , y 3 stored in storage unit 205 (ST12300).

【0500】[0500]

【数329】 [Numeric 329]

【0501】それから、演算部203は、φ(r1,p,
r1,q),φ(-r1,p,r1,q),φ(r1,p,-r1,q),φ(-r1,p,-
r1,q)のうち(但し、φは中国人の剰余定理によるZ/(p)
×Z/(q)からZ/(pq)への環同型写像を表す)、(r/N)=y3
つ0<r<2k-2を満たすものをr'として数330を計算する
(ST12301〜ST12303)。
Then, the arithmetic unit 203 determines that φ (r 1, p ,
r 1, q ), φ (-r 1, p , r 1, q ), φ (r 1, p , -r 1, q ), φ (-r 1, p ,-
r 1, q ) (where φ is Z / (p) according to Chinese Remainder Theorem
× represents a ring isomorphism from Z / (q) Z / into (pq)), calculates the (r / N) = y 3 and 0 <r <number 330 satisfies the 2 k-2 as r ' (ST12301 to ST12303).

【0502】[0502]

【数330】 [Equation 330]

【0503】ここで、x'∈{0,1}n,w'∈{0,1}k0であ
る。次に、演算部203は、数330の計算結果を用い
て、数331に示す復号化結果を計算する。
Here, x′ε {0,1} n and w′ε {0,1} k0 . Next, the arithmetic unit 203 calculates the decoding result shown in Expression 331 using the calculation result of Expression 330.

【0504】[0504]

【数331】 [Formula 331]

【0505】但し、復号化結果が「*」の場合、演算部
203はこの暗号結果y1,y2,y3の復号を拒否し、その旨
を出力部207から出力する。
However, when the decryption result is “*”, the arithmetic unit 203 rejects the decryption of the encryption results y 1 , y 2 , y 3 and outputs the fact to the output unit 207.

【0506】本実施形態において、上述のd(d≧1)の
値は変更可能である。例えば、メッセージのビット長が
常に小さい場合、上述のNの素因数分解が困難である範
囲においてdの値を大きくすることで、復号化処理を高
速にすることが可能である。
In this embodiment, the value of d (d ≧ 1) described above can be changed. For example, when the bit length of the message is always small, it is possible to speed up the decoding process by increasing the value of d in the range where it is difficult to factorize the prime number of N described above.

【0507】本実施形態の公開鍵暗号通信方法では、例
えばd=3の場合、Nの素因数分解問題の困難性を前提とし
て完全解読が不可能なことを示すことができる。すなわ
ち、Nの素因数分解問題を解くアルゴリズムが存在すれ
ば、そのアルゴリズムを利用して、本実施形態の公開鍵
暗号通信方法の完全解読を行うアルゴリズムを構成する
ことができる。また、本実施形態の公開鍵暗号通信方法
の完全解読を行うアルゴリズムが存在すれば、そのアル
ゴリズムを利用して、Nの素因数分解問題を解くアルゴ
リズムを構成することができる。
In the public key cryptographic communication method of this embodiment, for example, when d = 3, it can be shown that complete decryption is impossible on the premise of the difficulty of the factorization problem of N. That is, if there is an algorithm for solving the prime factorization problem of N, the algorithm can be used to configure an algorithm for performing complete decryption of the public key cryptographic communication method of the present embodiment. Further, if there is an algorithm for performing complete decryption of the public key cryptographic communication method of the present embodiment, the algorithm can be used to construct an algorithm for solving the N factorization problem.

【0508】(第21実施形態)次に、上記の第19実
施形態の変形例を、本発明の第21実施形態として説明
する。図18は、本発明の第21実施形態の動作手順を
説明するための図である。
(Twenty-first Embodiment) Next, a modification of the above-mentioned nineteenth embodiment will be described as a twenty-first embodiment of the present invention. FIG. 18 is a diagram for explaining the operation procedure of the twenty-first embodiment of the present invention.

【0509】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の秘密鍵(p,q)
と受信者の公開鍵(N,k,G,H)とを、それぞれ数332、
数333により生成する。そして、生成情報を記憶部2
05に記憶する(ST13100)。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instruction from the operator (recipient) and the secret key (p, q) of the receiver.
And the public key (N, k, G, H) of the recipient,
It is generated by the equation 333. Then, the generated information is stored in the storage unit 2.
It is stored in 05 (ST13100).

【0510】[0510]

【数332】 [Expression 332]

【0511】[0511]

【数333】 [Expression 333]

【0512】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(N,k,G,H)を含
む公開情報を、送信者(送信者側装置100の操作者)
に知らせる(ST13101)。例えば、受信者側装置
200において、鍵生成部201は、受信者よりの指示
に従い、公開情報を、通信部206を介して送信者側装
置100へ送信する。あるいは、受信者は、例えば第3
者(公開情報管理機関)への登録などの周知の方法によ
り、公開情報を公開する。この公開情報は、送信者側装
置100の記憶部105に記憶される。
Next, the receiver sends the public information including the public key (N, k, G, H) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (sender side device). 100 operators)
(ST13101). For example, in the receiver-side device 200, the key generation unit 201 transmits public information to the sender-side device 100 via the communication unit 206 according to an instruction from the receiver. Alternatively, the recipient may be, for example, a third
Public information is disclosed by a well-known method such as registration with a person (public information management organization). This public information is stored in the storage unit 105 of the sender device 100.

【0513】なお、秘密鍵p,qは、これらとは別の素数
p',q'からp=2p'+1,q=2q'+1により作成することも可能で
ある。
The private keys p and q are prime numbers different from these.
It is also possible to create from p ', q' by p = 2p '+ 1, q = 2q' + 1.

【0514】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)よりメッセージx(x∈{0,1}n)の入力を受け付
ける(ST13200)。これを受けて、乱数生成部1
01は、メッセージxに対して乱数r∈{0,1}k-2を選
ぶ。それから、演算部103は、この乱数rと、予め記
憶部105に記憶しておいた受信者の公開鍵(N,k,G,H)
とを用いて、べき乗算部102および剰余演算部104
を利用して、数334を計算する(ST13201)。
2. In the encryption processing sender device 100, the input unit 107 accepts the input of the message x (xε {0,1} n ) from the operator (sender) (ST13200). In response to this, the random number generator 1
01 selects a random number rε {0,1} k−2 for the message x. Then, the calculation unit 103 uses the random number r and the public key (N, k, G, H) of the receiver stored in the storage unit 105 in advance.
And are used to calculate the power multiplication unit 102 and the remainder calculation unit 104.
Is used to calculate the equation 334 (ST13201).

【0515】[0515]

【数334】 [Formula 334]

【0516】通信部106は、数334の計算結果y1,y
2を、メッセージxの暗号文として、通信回線300を介
して、受信者側装置200に送信する(ST1320
2)。
The communication unit 106 calculates the calculation result y 1 , y of the equation 334.
2 as the ciphertext of the message x is transmitted to the receiver-side device 200 via the communication line 300 (ST1320).
2).

【0517】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号文y1,y2
を受け取り、これを記憶部205に記憶する。さて、演
算部203は、操作者(送信者)よりの指示に従い、記
憶部205に記憶されている受信者の秘密鍵を用いて、
記憶部205に記憶されている暗号文y1,y2から数33
5を計算する(ST13300)。
3. In the decryption processing receiver device 200, the communication unit 206 transmits the ciphertexts y 1 and y 2 from the sender device 100 via the communication line 300.
Is received and stored in the storage unit 205. Now, the calculation unit 203 uses the recipient's private key stored in the storage unit 205 according to the instruction from the operator (sender),
From the ciphertext y 1 and y 2 stored in the storage unit 205,
5 is calculated (ST13300).

【0518】[0518]

【数335】 [Formula 335]

【0519】それから、演算部203は、φ(r1,p,
r1,q),φ(-r1,p,r1,q),φ(r1,p,-r1,q),φ(-r1,p,-
r1,q)のうち(但し、φは中国人の剰余定理によるZ/(p)
×Z/(q)からZ/(pq)への環同型写像を表す)、0<r<2k-2
満たすものをr'(r'は複数存在してもよい)として数3
36を計算する(ST13301〜ST13303)。
Then, the computing section 203 determines that φ (r 1, p ,
r 1, q ), φ (-r 1, p , r 1, q ), φ (r 1, p , -r 1, q ), φ (-r 1, p ,-
r 1, q ) (where φ is Z / (p) according to Chinese Remainder Theorem
X Z / (q) to Z / (pq) represents a homomorphic map), and the one satisfying 0 <r <2 k-2 is defined as r '(there may be a plurality of r's).
36 is calculated (ST13301 to ST13303).

【0520】[0520]

【数336】 [Formula 336]

【0521】ここで、x'∈{0,1}n,w'∈{0,1}k0であ
る。次に、演算部203は、数336の計算結果を用い
て、数337に示す復号化結果を計算する。
Here, x′ε {0,1} n and w′ε {0,1} k0 . Next, the arithmetic unit 203 calculates the decoding result shown in Expression 337 using the calculation result of Expression 336.

【0522】[0522]

【数337】 [Formula 337]

【0523】但し、復号化結果が「*」の場合、演算部
203はこの暗号結果y1,y2の復号を拒否し、その旨を
出力部207から出力する。
However, when the decryption result is “*”, the arithmetic unit 203 refuses to decrypt the encryption results y 1 and y 2 , and outputs the fact to the output unit 207.

【0524】本実施形態において、上述のd(d≧1)の値
は変更可能である。例えば、メッセージのビット長が常
に小さい場合、上述のNの素因数分解が困難である範囲
においてdの値を大きくすることで、復号化処理を高速
にすることが可能である。
In this embodiment, the value of d (d ≧ 1) described above can be changed. For example, when the bit length of the message is always small, it is possible to speed up the decoding process by increasing the value of d in the range where it is difficult to factorize the prime number of N described above.

【0525】本実施形態の公開鍵暗号通信方法では、例
えばd=3の場合、Nの素因数分解問題の困難性を前提とし
て完全解読が不可能なことを示すことができる。すなわ
ち、Nの素因数分解問題を解くアルゴリズムが存在すれ
ば、そのアルゴリズムを利用して、本実施形態の公開鍵
暗号通信方法の完全解読を行うアルゴリズムを構成する
ことができる。また、本実施形態の公開鍵暗号通信方法
の完全解読を行うアルゴリズムが存在すれば、そのアル
ゴリズムを利用して、Nの素因数分解問題を解くアルゴ
リズムを構成することができる。
In the public key cryptographic communication method of this embodiment, for example, when d = 3, it can be shown that complete decryption is impossible on the premise of the difficulty of the N factorization problem. That is, if there is an algorithm for solving the prime factorization problem of N, the algorithm can be used to configure an algorithm for performing complete decryption of the public key cryptographic communication method of the present embodiment. Further, if there is an algorithm for performing complete decryption of the public key cryptographic communication method of the present embodiment, the algorithm can be used to construct an algorithm for solving the N factorization problem.

【0526】(第22実施形態)次に、上記の第6実施
形態の変形例を、本発明の第22実施形態として説明す
る。
(Twenty-second Embodiment) Next, a modification of the sixth embodiment will be described as a twenty-second embodiment of the present invention.

【0527】1.鍵生成処理 受信者側装置200において、鍵生成部201は、操作
者(受信者)よりの指示に従い、受信者の秘密鍵pi(1≦
i≦d)と受信者の公開鍵(N,k,H1,H2)とを、それぞれ数3
38、数339により生成する。そして、生成情報を記
憶部205に記憶する。
1. Key Generation Processing In the receiver-side device 200, the key generation unit 201 follows the instruction from the operator (recipient) and the secret key p i (1 ≦ 1) of the receiver.
i ≦ d) and the recipient's public key (N, k, H 1 , H 2 ),
38, which is generated by the equation 339. Then, the generated information is stored in the storage unit 205.

【0528】[0528]

【数338】 [Formula 338]

【0529】[0529]

【数339】 [Formula 339]

【0530】次に、受信者は、受信者側装置200の鍵
生成部201が生成した受信者の公開鍵(N,k,H1,H2)を
含む公開情報を、送信者(送信者側装置100の操作
者)に知らせる。例えば、受信者側装置200におい
て、鍵生成部201は、受信者よりの指示に従い、公開
情報を、通信部206を介して送信者側装置100へ送
信する。あるいは、受信者は、例えば第3者(公開情報
管理機関)への登録などの周知の方法により、公開情報
を公開する。この公開情報は、送信者側装置100の記
憶部105に記憶される。
Next, the receiver sends the public information including the public key (N, k, H 1 , H 2 ) of the receiver generated by the key generation unit 201 of the receiver side device 200 to the sender (sender). The operator of the side device 100). For example, in the receiver-side device 200, the key generation unit 201 transmits public information to the sender-side device 100 via the communication unit 206 according to an instruction from the receiver. Alternatively, the recipient publishes the public information by a known method such as registration with a third party (public information management organization). This public information is stored in the storage unit 105 of the sender device 100.

【0531】なお、秘密鍵piは、これらとは別の素数p'
からp=2p'+1により作成することも可能である。
Note that the secret key p i is a prime number p ′ different from these.
It is also possible to create from p = 2p '+ 1.

【0532】2.暗号化処理 送信者側装置100において、入力部107は、操作者
(送信者)よりメッセージx(x∈{0,1}n)の入力を受け付
ける。これを受けて、乱数生成部101は、メッセージ
xに対して乱数r∈{0,1}k0を選ぶ。それから、演算部1
03は、この乱数rと、予め記憶部105に記憶してお
いた受信者の公開鍵(N,k,H1,H2)とを用いて、数340
を計算する。
2. In the encryption processing sender device 100, the input unit 107 receives an input of the message x (xε {0,1} n ) from the operator (sender). In response to this, the random number generation unit 101 causes the message
Choose a random number rε {0,1} k0 for x. Then, the arithmetic unit 1
03 uses this random number r and the recipient's public key (N, k, H 1 , H 2 ) stored in the storage unit 105 in advance,
To calculate.

【0533】[0533]

【数340】 [Expression 340]

【0534】ここで、n+k0+k1≦log2(N+1)である。次
に、演算部103は、数340の計算結果s,tを用い
て、べき乗算部102および剰余演算部104を利用し
て、数341を計算する。
Here, n + k 0 + k 1 ≦ log 2 (N + 1). Next, the calculation unit 103 calculates the formula 341 using the calculation results s, t of the formula 340 and the power multiplication unit 102 and the remainder calculation unit 104.

【0535】[0535]

【数341】 [Formula 341]

【0536】通信部106は、数341の計算結果y
1を、メッセージxの暗号文として、通信回線300を介
して、受信者側装置200に送信する。
The communication unit 106 determines the calculation result y of the equation 341.
1 is transmitted to the receiver-side device 200 via the communication line 300 as the ciphertext of the message x.

【0537】3.復号化処理 受信者側装置200において、通信部206は、通信回
線300を介して送信者側装置100より暗号文y1を受
け取り、これを記憶部205に記憶する。さて、演算部
203は、操作者(送信者)よりの指示に従い、記憶部
205に記憶されている受信者の秘密鍵を用いて、記憶
部205に記憶されている暗号文y1から数342を計算
する。
3. In the decryption processing recipient device 200, the communication unit 206 receives the ciphertext y 1 from the sender device 100 via the communication line 300 and stores it in the storage unit 205. Now, the arithmetic unit 203 uses the recipient's private key stored in the storage unit 205 according to the instruction from the operator (sender), and uses the secret text of the ciphertext y 1 stored in the storage unit 205 to calculate the number 342. To calculate.

【0538】[0538]

【数342】 [Formula 342]

【0539】それから、演算部203は、2d個のφ(±x
1,p1,±x1,p2,...,±x1,pd)のうち(但し、φは中国
人の剰余定理によるZ/(p1)×Z/(q2)×...×Z/(qd)か
らZ/(N)への環同型写像を表す)、0<w'<N/2を満たすも
のをw'(w'は複数存在してもよい)とし、さらに、w'=s
1'||s2'||t'(s1'∈{0,1}n,s2'∈{0,1}k1,t'∈{0,
1} k0)として、数343を計算する。
[0539] Then, the arithmetic unit 203dΦ (± x
1, p1, ± x1, p2,. . . , ± x1, pd(However, φ is China
Z / (p1) × Z / (q2) ×. . . × Z / (qd)
(Representing a homomorphic map to Z / (N)), 0 <w '<N / 2
Be w '(w' may exist more than once), and w '= s
1'|| s2'|| t' (s1'∈ {0,1}n, S2'∈ {0,1}k1, T'∈ {0,
1} k0), The number 343 is calculated.

【0540】[0540]

【数343】 [Formula 343]

【0541】次に、演算部203は、数343の計算結
果を用いて、数344に示す復号化結果を計算する。
Next, the arithmetic unit 203 calculates the decoding result shown in Expression 344 using the calculation result of Expression 343.

【0542】[0542]

【数344】 [Formula 344]

【0543】但し、復号化結果が「*」の場合、演算部
203はこの暗号結果y1の復号を拒否し、その旨を出力
部207から出力する。
However, when the decryption result is “*”, the arithmetic unit 203 refuses to decrypt the encryption result y 1 and outputs a message to that effect from the output unit 207.

【0544】本実施形態において、上述のd(d>1)の
値は変更可能である。本実施形態の公開鍵暗号通信方法
では、Nの素因数分解問題の困難性を前提として完全解
読が不可能なことを示すことができる。すなわち、Nの
素因数分解問題を解くアルゴリズムが存在すれば、その
アルゴリズムを利用して、本実施形態の公開鍵暗号通信
方法の完全解読を行うアルゴリズムを構成することがで
きる。また、本実施形態の公開鍵暗号通信方法の完全解
読を行うアルゴリズムが存在すれば、そのアルゴリズム
を利用して、Nの素因数分解問題を解くアルゴリズムを
構成することができる。
In the present embodiment, the value of d (d> 1) described above can be changed. In the public key cryptographic communication method of this embodiment, it is possible to show that complete decryption is impossible on the premise of the difficulty of the N factorization problem. That is, if there is an algorithm for solving the prime factorization problem of N, the algorithm can be used to configure an algorithm for performing complete decryption of the public key cryptographic communication method of the present embodiment. Further, if there is an algorithm for performing complete decryption of the public key cryptographic communication method of the present embodiment, the algorithm can be used to construct an algorithm for solving the N factorization problem.

【0545】以上、本発明の実施の形態について説明し
た。
The embodiments of the present invention have been described above.

【0546】なお、本発明は、上記の各実施形態に限定
されるものではなく、その要旨の範囲内で数々の変形が
可能である。
The present invention is not limited to the above-mentioned embodiments, and various modifications can be made within the scope of the gist thereof.

【0547】例えば、上記の各実施形態では、送信者と
受信者とが各々の装置を利用して暗号通信を行うという
一般的な通信システムを例にとり説明したが、本発明
は、様々なシステムに適用可能である。
For example, in each of the above-described embodiments, a general communication system in which a sender and a receiver perform cryptographic communication using their respective devices has been described as an example, but the present invention is applicable to various systems. Is applicable to.

【0548】例えば、電子ショッピングシステムでは、
送信者はユーザであり、送信者側装置はパソコンなどの
計算機であり、受信者は小売店であり、受信者側装置は
パソコンなどの計算機となる。この場合、ユーザの商品
等の注文書は、共通鍵暗号で暗号化されることが多く、
その際の暗号化鍵が本発明の公開鍵暗号通信方法により
暗号化されて、小売店側装置に送信される。
For example, in the electronic shopping system,
The sender is a user, the sender device is a computer such as a personal computer, the receiver is a retail store, and the receiver device is a computer such as a personal computer. In this case, the order form of the user's product or the like is often encrypted with common key encryption,
The encryption key at that time is encrypted by the public key encryption communication method of the present invention and transmitted to the retail store side device.

【0549】また、電子メールシステムでは、各々の装
置はパソコンなどの計算機であり、送信文(メール)は共
通鍵暗号で暗号化されることが多い。この場合は、共通
鍵が本発明の公開鍵暗号通信方法により暗号化されて、
受信者の計算機に送信される。
Further, in the electronic mail system, each device is a computer such as a personal computer, and the transmitted text (mail) is often encrypted by common key encryption. In this case, the common key is encrypted by the public key cryptographic communication method of the present invention,
Sent to the recipient's computer.

【0550】その他にも、従来の公開鍵暗号が使われて
いる様々なシステムに適用することが可能である。
Besides, it can be applied to various systems using the conventional public key encryption.

【0551】また、上記の各実施形態での各計算は、C
PUがメモリ上にロードされたプログラムを実行するこ
とにより行われるものとして説明した。しかし、プログ
ラムだけではない。いずれかの計算を行なう装置は、ハ
ードウエア化された演算装置であって、他の演算装置や
CPUとデータのやりとりを行うものであってもよい。
Further, each calculation in each of the above-described embodiments is C
It has been described as being performed by the PU executing the program loaded in the memory. But it's not just programs. The device that performs any of the calculations may be a hardware-based arithmetic device that exchanges data with another arithmetic device or a CPU.

【0552】[0552]

【発明の効果】以上説明したように、本発明によれば、
安全性を証明可能な公開鍵暗号通信技術を提供できる。
As described above, according to the present invention,
It is possible to provide a public-key cryptographic communication technology that can prove security.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の各実施形態に共通する公開鍵暗号通信
システムの概略構成図である。
FIG. 1 is a schematic configuration diagram of a public key cryptographic communication system common to each embodiment of the present invention.

【図2】図1に示す送信者側装置100の概略構成図で
ある。
FIG. 2 is a schematic configuration diagram of a sender-side device 100 shown in FIG.

【図3】図1に示す受信者側装置200の概略構成図で
ある。
3 is a schematic configuration diagram of a receiver-side device 200 shown in FIG.

【図4】送信者側装置100および受信者側装置200
のハードウエア構成例を示す図である。
FIG. 4 is a sender device 100 and a receiver device 200.
3 is a diagram showing an example of the hardware configuration of FIG.

【図5】本発明の第1実施形態の動作手順を説明するた
めの図である。
FIG. 5 is a diagram for explaining an operation procedure of the first embodiment of the present invention.

【図6】本発明の第2実施形態の動作手順を説明するた
めの図である。
FIG. 6 is a diagram for explaining an operation procedure of the second embodiment of the present invention.

【図7】本発明の第3実施形態の動作手順を説明するた
めの図である。
FIG. 7 is a diagram for explaining an operation procedure of the third embodiment of the present invention.

【図8】本発明の第4実施形態の動作手順を説明するた
めの図である。
FIG. 8 is a diagram for explaining an operation procedure of the fourth embodiment of the present invention.

【図9】本発明の第4実施形態による公開鍵暗号通信方
法と、従来技術の暗号方法(楕円曲線暗号,RSA,OAEP+R
SA)との平文空間の大きさ、および、安全性の比較を表
す図である
FIG. 9 is a public key cryptographic communication method according to a fourth embodiment of the present invention and a conventional cryptographic method (elliptic curve cryptography, RSA, OAEP + R).
It is a figure showing the size of the plaintext space with SA and the comparison of safety.

【図10】本発明の第5実施形態の動作手順を説明する
ための図である。
FIG. 10 is a diagram for explaining an operation procedure of the fifth embodiment of the present invention.

【図11】本発明の第6実施形態の動作手順を説明する
ための図である。
FIG. 11 is a diagram for explaining an operation procedure of the sixth embodiment of the present invention.

【図12】本発明の第11実施形態の動作手順を説明す
るための図である。
FIG. 12 is a diagram for explaining an operation procedure of the eleventh embodiment of the present invention.

【図13】本発明の第12実施形態の動作手順を説明す
るための図である。
FIG. 13 is a diagram for explaining the operation procedure of the twelfth embodiment of the present invention.

【図14】本発明の第13実施形態の動作手順を説明す
るための図である。
FIG. 14 is a diagram for explaining the operation procedure of the thirteenth embodiment of the present invention.

【図15】本発明の第14実施形態の動作手順を説明す
るための図である。
FIG. 15 is a diagram for explaining the operation procedure of the fourteenth embodiment of the present invention.

【図16】本発明の第19実施形態の動作手順を説明す
るための図である。
FIG. 16 is a diagram for explaining the operation procedure of the nineteenth embodiment of the present invention.

【図17】本発明の第20実施形態の動作手順を説明す
るための図である。
FIG. 17 is a diagram for explaining the operation procedure of the twentieth embodiment of the present invention.

【図18】本発明の第21実施形態の動作手順を説明す
るための図である。
FIG. 18 is a diagram for explaining an operation procedure of the twenty-first embodiment of the present invention.

【符号の説明】 100…送信者側装置、101…乱数生成部、102…
べき乗算部、103…演算部、104…剰余演算部、1
05…記憶部、106…通信部、107…入力部、10
8…暗号化部、200…受信者側装置、201…鍵生成
部、202…べき乗算部、203…剰余演算部、204
…演算部、205…記憶部、206…通信部、207…
復号化部、300…通信回線、401…CPU、402
…メモリ、403…外部記憶装置、404…記憶媒体、
405…読取装置、406…入力装置、407…出力装
置、408…通信装置、409…バス
[Explanation of Codes] 100 ... Sender-side device, 101 ... Random number generator, 102 ...
Power multiplication unit, 103 ... Arithmetic unit, 104 ... Modulo arithmetic unit, 1
05 ... storage unit, 106 ... communication unit, 107 ... input unit, 10
8 ... Encryption unit, 200 ... Recipient side device, 201 ... Key generation unit, 202 ... Exponentiation unit, 203 ... Remainder calculation unit, 204
... arithmetic unit, 205 ... storage unit, 206 ... communication unit, 207 ...
Decoding unit, 300 ... Communication line, 401 ... CPU, 402
... memory, 403 ... external storage device, 404 ... storage medium,
405 ... reading device, 406 ... input device, 407 ... output device, 408 ... communication device, 409 ... bus

───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐藤 尚宜 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 Fターム(参考) 5J104 AA22 EA04 EA28 EA32 JA23 JA27 NA02 NA12 NA18    ─────────────────────────────────────────────────── ─── Continued front page    (72) Inventor Naoki Sato             1099 Ozenji, Aso-ku, Kawasaki City, Kanagawa Prefecture             Ceremony company Hitachi Systems Development Laboratory F-term (reference) 5J104 AA22 EA04 EA28 EA32 JA23                       JA27 NA02 NA12 NA18

Claims (48)

【特許請求の範囲】[Claims] 【請求項1】送信者側の装置が受信者の公開鍵を用いて
送信データを暗号化し、受信者側の装置へ送信する公開
鍵暗号通信方法であって、 【数1】 を受信者の秘密鍵(p,q)とし、 【数2】 を受信者の公開鍵(N,k,G,H)として、(1)前記送信者
側の装置において、 平文x(x∈{0,1}n)に対して乱数r∈{0,1}k0を選び、 この乱数rと受信者の公開鍵とを用いて、 【数3】 を計算し(但し、n+k0+k1=k)、その結果s,tを用いて、 【数4】 を計算し、さらにその結果wと受信者の公開鍵とを用い
て、 【数5】 を計算し、その結果yを暗号文として、前記受信者側の
装置に送信し、(2)前記受信者側の装置において、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号文yから、 【数6】 を計算し、その結果を用いて、 【数7】 を計算し、また、 【数8】 を計算し、それから、φ(xp,xq),φ(-xp,xq),φ(xp,-
xq),φ(-xp,-xq)の各々(但し、φは中国人の剰余定理に
よるZ/(p)×Z/(q)からZ/(pq)への環同型写像を表す)に
ついて、 【数9】 に示すように置いて、 【数10】 を計算することで、 【数11】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号文を拒否するものとする)を算出することを特徴
とする公開鍵暗号通信方法。
1. A public key encryption communication method in which a device on the sender side encrypts transmission data using a public key of the receiver and transmits the encrypted data to the device on the receiver side, wherein: Let be the recipient's private key (p, q), and Is the public key (N, k, G, H) of the receiver, and (1) in the device on the sender side, a random number r∈ {0,1 for plaintext x (x∈ {0,1} n } k0 is selected, and using this random number r and the public key of the receiver, Is calculated (however, n + k 0 + k 1 = k), and using the results s and t, Then, using the result w and the recipient's public key, Is transmitted to the device on the receiver side as a ciphertext, and (2) the device on the receiver side uses the secret key of the receiver to receive from the device on the sender side. From the encrypted ciphertext y, Is calculated, and using the result, And calculate And φ (x p , x q ), φ (-x p , x q ), φ (x p ,-
x q ), φ (-x p , -x q ) (where φ is the convolution map from Z / (p) × Z / (q) to Z / (pq) according to the Chinese Remainder Theorem. (Representing) Place as shown in By calculating, A public key cryptographic communication method characterized by calculating the decryption result shown in (However, if the decryption result is "*", this ciphertext is rejected).
【請求項2】送信者側の装置が受信者の公開鍵を用いて
送信データを暗号化し、受信者側の装置へ送信する公開
鍵暗号通信方法であって、 【数12】 を受信者の秘密鍵(p,q)とし、 【数13】 を受信者の公開鍵(N,k,G,H,H')として、(1)前記送信
者側の装置において、 平文x(x∈{0,1}n)に対して乱数r∈{0,1}k0を選び、こ
の乱数rと受信者の公開鍵とを用いて、 【数14】 を計算し(但し、n+k0+k1=k)、その結果s,tを用いて、 【数15】 を計算し、さらにその結果wと受信者の公開鍵とを用い
て、 【数16】 を計算し、その結果yを暗号文として、前記受信者側の
装置に送信し、(2)前記受信者側の装置において、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号文yから、 【数17】 を計算し、その結果を用いて、 【数18】 を計算し、また、 【数19】 を計算し、それから、φ(xp,xq),φ(-xp,xq),φ(xp,-
xq),φ(-xp,-xq)の各々(但し、φは中国人の剰余定理に
よるZ/(p)×Z/(q)からZ/(pq)への環同型写像を表す)に
ついて、 【数20】 に示すように置いて、 【数21】 を計算することで、 【数22】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号文を拒否するものとする)を算出することを特徴
とする公開鍵暗号通信方法。
2. A public-key cryptographic communication method in which a device on the sender side encrypts transmission data using the public key of the receiver, and transmits the encrypted data to the device on the receiver side. Let be the recipient's private key (p, q), and As the public key (N, k, G, H, H ') of the receiver, (1) In the device on the sender side, a random number r∈ {for plaintext x (x∈ {0,1} n ) 0,1} k0 is selected, and using this random number r and the public key of the recipient, (Where n + k 0 + k 1 = k), and using the results s and t, Then, using the result w and the recipient's public key, Is transmitted to the device on the receiver side as a ciphertext, and (2) the device on the receiver side uses the secret key of the receiver to receive from the device on the sender side. From the ciphertext y Is calculated, and using the result, And calculate And φ (x p , x q ), φ (-x p , x q ), φ (x p ,-
x q ), φ (-x p , -x q ) (where φ is the convolution map from Z / (p) × Z / (q) to Z / (pq) according to the Chinese Remainder Theorem. (Representing) Put as shown in, and By calculating A public key cryptographic communication method characterized by calculating the decryption result shown in (However, if the decryption result is "*", this ciphertext is rejected).
【請求項3】請求項1または2記載の公開鍵暗号通信方
法であって、 前記送信者側の装置において、 Jacobi記号(w/N)を公開または前記受信者側の装置に送
信することを特徴とする公開鍵暗号通信方法。
3. The public key cryptographic communication method according to claim 1, wherein the device on the sender side publishes or transmits the Jacobi symbol (w / N) to the device on the receiver side. Characterized public key cryptographic communication method.
【請求項4】請求項1、2または3記載の公開鍵暗号通
信方法であって、 前記送信者側の装置において、 前記wの値と前記Nの半分の値N/2との大小関係を表わす
情報を公開または前記受信者側の装置に送信することを
特徴とする公開鍵暗号通信方法。
4. The public key cryptographic communication method according to claim 1, 2 or 3, wherein in the device on the sender side, a magnitude relationship between the value of w and a value N / 2 that is half of N is established. A public key cryptographic communication method, characterized in that the information is disclosed or transmitted to the device on the recipient side.
【請求項5】請求項1、2、3または4記載の公開鍵暗
号通信方法であって、 前記受信者の秘密鍵を構成する素数p,qとして、これと
は別の素数p',q'に対して2p'+1,2q'+1で表される素数を
選ぶことを特徴とする公開鍵暗号通信方法。
5. The public key cryptographic communication method according to claim 1, 2, 3 or 4, wherein the prime numbers p ', q different from the prime numbers p, q constituting the secret key of the receiver. A public key cryptographic communication method characterized in that a prime number represented by 2p '+ 1,2q' + 1 is selected for '.
【請求項6】請求項1、2、3、4または5記載の公開
鍵暗号通信方法であって、 前記d(d≧1)の値を可変とすることを特徴とする公開
鍵暗号通信方法。
6. The public key cryptographic communication method according to claim 1, wherein the value of d (d ≧ 1) is variable. .
【請求項7】請求項1、2、3、4、5または6記載の
公開鍵暗号通信方法であって、 前記受信者側の装置において、 前記公開情報を生成し公開することを特徴とする公開鍵
暗号通信方法。
7. The public key cryptographic communication method according to claim 1, 2, 3, 4, 5 or 6, wherein the device on the receiver side generates and publishes the public information. Public key cryptographic communication method.
【請求項8】送信者側の装置が受信者の公開鍵を用いて
送信データを暗号化し、受信者側の装置へ送信する公開
鍵暗号通信方法であって、 【数23】 を受信者の公開鍵とし、 【数24】 を受信者の秘密鍵(但し、k=k0+k1+n)として、(1)前
記送信者側の装置において、 平文x(x∈{0,1}n)に対して乱数r∈{0,1}k0を選び、 この乱数rと受信者の公開鍵とを用いて、 【数25】 を計算し、その結果s,tと受信者の公開鍵とを用いて、 【数26】 を計算し、その結果y1,y2を暗号文として前記受信者の
装置に送信し、(2)前記受信者側の装置において、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号文y1,y2から、 【数27】 を計算し、その結果を用いて、 【数28】 を計算し、さらにその結果を用いて、 【数29】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号文を拒否するものとする。また、[a]nおよび[a]n
は、それぞれaの上位および下位nビットを表す)を算出
することを特徴とする公開鍵暗号通信方法。
8. A public-key cryptographic communication method in which a device on the sender side encrypts transmission data using the public key of the receiver, and transmits the encrypted data to the device on the receiver side. Be the public key of the recipient, and Is the secret key of the receiver (however, k = k 0 + k 1 + n), and (1) in the device on the sender side, a random number r∈ for plaintext x (x∈ {0,1} n ) {0,1} k0 is selected, and using this random number r and the public key of the recipient, And the result s, t and the recipient's public key are used to calculate And transmit the results y 1 and y 2 as ciphertext to the device of the recipient, and (2) the device of the receiver uses the device of the sender using the secret key of the receiver. From the ciphertexts y 1 and y 2 received from Is calculated, and using the result, Then, using the result, Decryption result shown in (However, if the decryption result is "*", this ciphertext shall be rejected. Also, [a] n and [a] n
Represents the upper and lower n bits of a), respectively, in the public key cryptographic communication method.
【請求項9】送信者側の装置が受信者の公開鍵を用いて
送信データを暗号化し、受信者側の装置へ送信する公開
鍵暗号通信方法であって、 【数30】 を受信者の秘密鍵(p,q)とし、 【数31】 を受信者の公開鍵(N,k,G,H)として、(1)前記送信者
側の装置において、 平文x(x∈{0,1}n)に対して乱数r∈{0,1}k0を選び、 この乱数rと受信者の公開鍵とを用いて、 【数32】 を計算し(但し、n+k0+k1<k-2)、その結果s,tと受信者
の公開鍵とを用いて、 【数33】 を計算し(但し、a=(m/N)はJacobi記号を表す)、その
結果y1,y2,y3を暗号文として、前記受信者の装置に送信
し、(2)前記受信者側の装置において、 受信者の秘密鍵(p,q)を用いて、前記送信者側の装置よ
り受信した暗号文y1,y2,y3から、 【数34】 を計算し、それから、φ(x1,p,x1,q),φ(-x1,p,x1,q),
φ(x1,p,-x1,q),φ(-x1 ,p,-x1,q)のうち(但し、φは中
国人の剰余定理によるZ/(p)×Z/(q)からZ/(pq)への環同
型写像を表す)、(x/N)=y3かつ0<x<2k-2を満たすものを
s'として、 【数35】 を計算することで、 【数36】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号文を拒否するものとする。また、[a]nおよび[a]n
は、それぞれaの上位および下位nビットを表す)を算出
することを特徴とする公開鍵暗号通信方法。
9. A public-key cryptographic communication method in which a device on the sender side encrypts transmission data using a public key of the receiver, and transmits the encrypted data to the device on the receiver side. Let be the recipient's private key (p, q), and Is the public key (N, k, G, H) of the receiver, and (1) in the device on the sender side, a random number r∈ {0,1 for plaintext x (x∈ {0,1} n ). } k0 is selected, and using this random number r and the public key of the receiver, (Where n + k 0 + k 1 <k-2), and using the result s, t and the recipient's public key, (Where a = (m / N) represents the Jacobi symbol), and as a result, y 1 , y 2 and y 3 are transmitted as ciphertexts to the device of the recipient, and (2) the recipient. In the device on the side of the sender, using the secret key (p, q) of the receiver, from the ciphertext y 1 , y 2 , y 3 received from the device on the sender side, And φ (x 1, p , x 1, q ), φ (-x 1, p , x 1, q ),
Of φ (x 1, p , -x 1, q ), φ (-x 1 ,, p , -x 1, q ), where φ is Z / (p) × Z / (according to Chinese Remainder Theorem q) to Z / (pq), which satisfies (x / N) = y 3 and 0 <x <2 k-2
As s', By calculating Decryption result shown in (However, if the decryption result is "*", this ciphertext shall be rejected. Also, [a] n and [a] n
Represents the upper and lower n bits of a), respectively, in the public key cryptographic communication method.
【請求項10】送信者側の装置が受信者の公開鍵を用い
て送信データを暗号化し、受信者側の装置へ送信する公
開鍵暗号通信方法であって、 【数37】 を受信者の秘密鍵(p,q)とし、 【数38】 を受信者の公開鍵(N,k,G,H)として、(1)前記送信者
側の装置において、 平文x(x∈{0,1}n)に対して乱数r∈{0,1}k0を選び、 この乱数rと受信者の公開鍵とを用いて、 【数39】 を計算し(但し、n+k0+k1<k-2)、その結果s,tと受信者の
公開鍵とを用いて、 【数40】 を計算し、その結果y1,y2を暗号文として前記受信者の
装置に送信し、(2)前記受信者側の装置において、 受信者の秘密鍵(p,q)を用いて、前記送信者側の装置よ
り受信した暗号文y1,y2から、 【数41】 を計算し、それから、φ(x1,p,x1,q),φ(-x1,p,x1,q),
φ(x1,p,-x1,q),φ(-x1 ,p,-x1,q)のうち(但し、φは中
国人の剰余定理によるZ/(p)×Z/(q)からZ/(pq)への環同
型写像を表す)、0<x<2k-2を満たすものをs'(s'は複数
存在してもよい)として、 【数42】 を計算することで、 【数43】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号文を拒否するものとする。また、[a]nおよび[a]n
は、それぞれaの上位および下位nビットを表す)を算出
することを特徴とする公開鍵暗号通信方法。
10. A public-key cryptographic communication method in which a device on the sender side encrypts transmission data using the public key of the receiver and transmits the encrypted data to the device on the receiver side, wherein: Let be the recipient's secret key (p, q), and Is the public key (N, k, G, H) of the receiver, and (1) in the device on the sender side, a random number r∈ {0,1 for plaintext x (x∈ {0,1} n ). } k0 is selected, and using this random number r and the public key of the receiver, (Where n + k 0 + k 1 <k-2), and using the result s, t and the recipient's public key, And transmit the results y 1 and y 2 as ciphertext to the device of the recipient, and (2) in the device of the recipient, using the secret key (p, q) of the recipient, From the ciphertexts y 1 and y 2 received from the sender side device, And φ (x 1, p , x 1, q ), φ (-x 1, p , x 1, q ),
Of φ (x 1, p , -x 1, q ), φ (-x 1 ,, p , -x 1, q ), where φ is Z / (p) × Z / (according to Chinese Remainder Theorem (representing a ring isomorphism map from q) to Z / (pq)), and s '(s' may exist more than one) satisfying 0 <x <2 k-2 , By calculating Decryption result shown in (However, if the decryption result is "*", this ciphertext shall be rejected. Also, [a] n and [a] n
Represents the upper and lower n bits of a), respectively, in the public key cryptographic communication method.
【請求項11】請求項9または10記載の公開鍵暗号通
信方法であって、 前記受信者の秘密鍵を構成する素数p,qとして、これと
は別の素数p',q'に対して2p'+1,2q'+1で表される素数を
選ぶことを特徴とする公開鍵暗号通信方法。
11. The public key cryptographic communication method according to claim 9 or 10, wherein prime numbers p ', q'other than the prime numbers p, q constituting the secret key of the recipient are A public key cryptographic communication method characterized by selecting a prime number represented by 2p '+ 1, 2q' + 1.
【請求項12】送信者側の装置が受信者の公開鍵を用い
て送信データを暗号化し、受信者側の装置へ送信する公
開鍵暗号通信方法であって、 【数44】 を受信者の秘密鍵pi(1≦i≦d)とし、 【数45】 を受信者の公開鍵(N,k,G,H)として、(1)前記送信者
側の装置において、 平文x(x∈{0,1}n)に対して乱数r∈{0,1}k0を選び、 この乱数rと受信者の公開鍵とを用いて、 【数46】 を計算し(但し、n+k0+k1≦log2(N+1))、その結果s,tと
受信者の公開鍵とを用いて、 【数47】 を計算し、その結果y1,y2を暗号文として前記受信者の
装置に送信し、(2)前記受信者側の装置において、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号文y1,y2から、 【数48】 を計算し、それから、2d個のφ(±x1,p1
x1,p2,...,±x1,pd)のうち(但し、φは中国人の剰余
定理によるZ/(p1)×Z/(q2)×...×Z/(qd)からZ/(N)
への環同型写像を表す)、0<s'<N/2を満たすものをs'
(s'は複数存在してもよい)として、 【数49】 を計算することで、 【数50】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号文を拒否するものとする。また、[a]nおよび[a]n
は、それぞれaの上位および下位nビットを表す)を算出
することを特徴とする公開鍵暗号通信方法。
12. A public key cryptographic communication method in which a device on the sender side encrypts transmission data using a public key of the receiver and transmits the encrypted data to the device on the receiver side, wherein: Be the recipient's private key p i (1 ≦ i ≦ d), and Is the public key (N, k, G, H) of the receiver, and (1) in the device on the sender side, a random number r∈ {0,1 for plaintext x (x∈ {0,1} n } k0 is selected, and using this random number r and the public key of the receiver, (Where n + k 0 + k 1 ≦ log 2 (N + 1)), and using the result s, t and the recipient's public key, And transmit the results y 1 and y 2 as ciphertext to the device of the recipient, and (2) the device of the receiver uses the device of the sender using the secret key of the receiver. From the ciphertexts y 1 and y 2 received from And then 2 d φ (± x 1, p1,, ±
x 1, p2,. . . , ± x 1, pd ) (where φ is Z / (p 1 ) × Z / (q 2 ) × ... × Z / (q d ) to Z / (N) according to the Chinese Remainder Theorem.
, Which represents a ring isomorphism map to, s'that satisfies 0 <s'<N / 2
As (s ′ may exist more than once), By calculating Decryption result shown in (However, if the decryption result is "*", this ciphertext shall be rejected. Also, [a] n and [a] n
Represents the upper and lower n bits of a), respectively, in the public key cryptographic communication method.
【請求項13】請求項12記載の公開鍵暗号通信方法で
あって、 前記受信者の秘密鍵を構成する素数piとして、これとは
別の素数p'に対して2p'+1で表される素数を選ぶことを
特徴とする公開鍵暗号通信方法。
13. The public key cryptographic communication method according to claim 12, wherein the prime number p i constituting the secret key of the recipient is represented by 2p ′ + 1 with respect to another prime number p ′. A public key cryptographic communication method characterized in that a selected prime number is selected.
【請求項14】請求項9、10、11、12または13
記載の公開鍵暗号通信方法であって、前記d(d≧1)の
値を可変とすることを特徴とする公開鍵暗号通信方法。
14. The method according to claim 9, 10, 11, 12 or 13.
The disclosed public key cryptographic communication method, wherein the value of d (d ≧ 1) is variable.
【請求項15】請求項8、9、10、11、12、13
または14記載の公開鍵暗号通信方法であって、 前記受信者側の装置において、 前記公開情報を生成し公開することを特徴とする公開鍵
暗号通信方法。
15. The method according to claim 8, 9, 10, 11, 12, 13.
Or the public key cryptographic communication method according to Item 14, wherein the device on the recipient side generates and publishes the public information.
【請求項16】送信者側の装置が受信者の公開鍵を用い
てデータ暗号化鍵を暗号化し、受信者側の装置へ送信す
る公開鍵暗号通信方法であって、 【数51】 を受信者の公開鍵とし、 【数52】 を受信者の秘密鍵(但し、k=k0+k1+n)として、(1)前
記送信者側の装置において、 データ暗号化鍵K(K∈{0,1}n)を用いて送信データmを暗
号化して暗号文Cを作成すると共に、 データ暗号化鍵Kに対して乱数r∈{0,1}k0を選び、 この乱数rと受信者の公開鍵とを用いて、 【数53】 を計算し、その結果s,tと受信者の公開鍵とを用いて、 【数54】 を計算し、その結果y1,y2を、暗号文Cと共に、前記受信
者の装置に送信し、(2)前記受信者側の装置におい
て、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号結果y1,y2から、 【数55】 を計算し、その結果を用いて、 【数56】 を計算し、さらにその結果を用いて、 【数57】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号結果を拒否するものとする。また、[a]nおよび
[a]nは、それぞれaの上位および下位nビットを表す)を
算出し、 さらに、その算出結果K'を用いて、前記送信者側の装置
より受信した暗号文Cの復号化を行なうことを特徴とす
る公開鍵暗号通信方法。
16. A public-key cryptographic communication method in which a device on the sender side encrypts a data encryption key using the public key of the receiver, and transmits the encrypted data encryption key to the device on the receiver side. Let be the recipient's public key, and Is the recipient's private key (where k = k 0 + k 1 + n), and (1) the data encryption key K (K ∈ {0,1} n ) is used in the sender device. While encrypting the transmission data m to create the ciphertext C, a random number rε {0,1} k0 is selected for the data encryption key K, and using this random number r and the public key of the receiver, Number 53] And using the result s, t and the public key of the recipient, And send the results y 1 and y 2 together with the ciphertext C to the device of the recipient, and (2) the device of the receiver uses the secret key of the receiver to send the sender. From the cipher results y 1 and y 2 received from the device on the side, Is calculated, and using the result, Then, using the result, Decryption result shown in (However, if the decryption result is "*", this encryption result is rejected. Also, [a] n and
[a] n represents the upper and lower n bits of a, respectively, and further, using the calculation result K ′, decrypts the ciphertext C received from the sender-side device. A public key cryptographic communication method characterized by:
【請求項17】送信者側の装置が受信者の公開鍵を用い
てデータ暗号化鍵を暗号化し、受信者側の装置へ送信す
る公開鍵暗号通信方法であって、 【数58】 を受信者の秘密鍵(p,q)とし、 【数59】 を受信者の公開鍵(N,k,G,H)として(但し、n+k0+k1<k-
2)、(1)前記送信者側の装置において、 データ暗号化鍵K(K∈{0,1}n)を用いて送信データmを暗
号化して暗号文Cを作成すると共に、 データ暗号化鍵Kに対して乱数r∈{0,1}k0を選び、 この乱数rと受信者の公開鍵とを用いて、 【数60】 を計算し、その結果s,tと受信者の公開鍵とを用いて、 【数61】 を計算し(但し、a=(m/N)はJacobi記号を表す)、その結
果y1,y2,y3を、暗号文Cと共に、前記受信者の装置に送
信し、(2)前記受信者側の装置において、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号結果y1,y2,y3から、 【数62】 を計算し、それから、φ(x1,p,x1,q),φ(-x1,p,x1,q),
φ(x1,p,-x1,q),φ(-x1 ,p,-x1,q)のうち(但し、φは中
国人の剰余定理によるZ/(p)×Z/(q)からZ/(pq)への環同
型写像を表す)、(x/N)=y3かつ0<x<2k-2を満たすものを
s'として、 【数63】 を計算することで、 【数64】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号結果を拒否するものとする。また、[a]nおよび
[a]nは、それぞれaの上位および下位nビットを表す)を
算出し、 さらに、その算出結果K'を用いて、前記送信者側の装置
より受信した暗号文Cの復号化を行なうことを特徴とす
る公開鍵暗号通信方法。
17. A public key encryption communication method in which a device on the sender side encrypts a data encryption key using the public key of the receiver and transmits the encrypted data encryption key to the device on the receiver side. Let be the recipient's private key (p, q), and As the recipient's public key (N, k, G, H) (where n + k 0 + k 1 <k-
2), (1) In the sender device, the transmission data m is encrypted by using the data encryption key K (K ∈ {0,1} n ) to create the ciphertext C, and the data encryption is performed. A random number r ∈ {0,1} k0 is selected for the key K, and using this random number r and the public key of the recipient, Then, using s, t and the public key of the recipient, (Where a = (m / N) represents the Jacobi symbol), and as a result, y 1 , y 2 and y 3 are transmitted to the device of the recipient together with the ciphertext C, and (2) the above In the device on the receiver side, using the secret key of the receiver, from the cipher results y 1 , y 2 , y 3 received from the device on the sender side, And φ (x 1, p , x 1, q ), φ (-x 1, p , x 1, q ),
Of φ (x 1, p , -x 1, q ), φ (-x 1 ,, p , -x 1, q ), where φ is Z / (p) × Z / (according to Chinese Remainder Theorem q) to Z / (pq), which satisfies (x / N) = y 3 and 0 <x <2 k-2
As s', By calculating Decryption result shown in (However, if the decryption result is "*", this encryption result is rejected. Also, [a] n and
[a] n represents the upper and lower n bits of a, respectively, and further, using the calculation result K ′, decrypts the ciphertext C received from the sender-side device. A public key cryptographic communication method characterized by:
【請求項18】送信者側の装置が受信者の公開鍵を用い
てデータ暗号化鍵を暗号化し、受信者側の装置へ送信す
る公開鍵暗号通信方法であって、 【数65】 を受信者の秘密鍵(p,q)とし、 【数66】 を受信者の公開鍵(N,k,G,H)として(但し、n+k0+k1<k-
2)、(1)前記送信者側の装置において、 データ暗号化鍵K(K∈{0,1}n)を用いて送信データmを暗
号化して暗号文Cを作成すると共に、 データ暗号化鍵Kに対して乱数r∈{0,1}k0を選び、 この乱数rと受信者の公開鍵とを用いて、 【数67】 を計算し、その結果s,tと受信者の公開鍵とを用いて、 【数68】 を計算し、その結果y1,y2を、暗号文Cと共に、前記受信
者の装置に送信し、(2)前記受信者側の装置におい
て、受信者の秘密鍵(p,q)を用いて、前記送信者側の装
置より受信した暗号結果y1,y2から、 【数69】 を計算し、それから、φ(x1,p,x1,q),φ(-x1,p,x1,q),
φ(x1,p,-x1,q),φ(-x1 ,p,-x1,q)のうち(但し、φは中
国人の剰余定理によるZ/(p)×Z/(q)からZ/(pq)への環同
型写像を表す)、0<x<2k-2を満たすものをs'(s'は複数
存在してもよい)として、 【数70】 を計算することで、 【数71】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号結果を拒否するものとする。また、[a]nおよび
[a]nは、それぞれaの上位および下位nビットを表す)を
算出し、 さらに、その算出結果K'を用いて、前記送信者側の装置
より受信した暗号文Cの復号化を行なうことを特徴とす
る公開鍵暗号通信方法。
18. A public-key cryptographic communication method, in which a device on the sender side encrypts a data encryption key using the public key of the receiver, and transmits the encrypted data encryption key to the device on the receiver side. Let be the recipient's private key (p, q), and As the recipient's public key (N, k, G, H) (where n + k 0 + k 1 <k-
2), (1) In the sender side device, the transmission data m is encrypted by using the data encryption key K (K ∈ {0,1} n ) to create the ciphertext C, and the data encryption is performed. A random number r ∈ {0,1} k0 is selected for the key K, and using this random number r and the public key of the recipient, Then, using s, t and the public key of the recipient, And send the results y 1 and y 2 together with the ciphertext C to the recipient's device, and (2) the recipient's device uses the recipient's private key (p, q). Then, from the cipher results y 1 and y 2 received from the sender side device, And φ (x 1, p , x 1, q ), φ (-x 1, p , x 1, q ),
Of φ (x 1, p , -x 1, q ), φ (-x 1 ,, p , -x 1, q ), where φ is Z / (p) × Z / (according to Chinese Remainder Theorem (representing a ring isomorphism map from q) to Z / (pq)), and s '(s' may exist more than one) satisfying 0 <x <2 k-2 , By calculating Decryption result shown in (However, if the decryption result is "*", this encryption result is rejected. Also, [a] n and
[a] n represents the upper and lower n bits of a, respectively, and further, using the calculation result K ′, decrypts the ciphertext C received from the sender-side device. A public key cryptographic communication method characterized by:
【請求項19】請求項17または18記載の公開鍵暗号
通信方法であって、 前記受信者の秘密鍵を構成する素数p,qとして、これと
は別の素数p',q'に対して2p'+1,2q'+1で表される素数を
選ぶことを特徴とする公開鍵暗号通信方法。
19. The public key cryptographic communication method according to claim 17 or 18, wherein prime numbers p ', q'other than the prime numbers p, q constituting the secret key of the receiver are provided. A public key cryptographic communication method characterized by selecting a prime number represented by 2p '+ 1, 2q' + 1.
【請求項20】送信者側の装置が受信者の公開鍵を用い
てデータ暗号化鍵を暗号化し、受信者側の装置へ送信す
る公開鍵暗号通信方法であって、 【数72】 を受信者の秘密鍵pi(1≦i≦d)とし、 【数73】 を受信者の公開鍵(N,k,G,H)として(但し、n+k0+k1<k-
2)、(1)前記送信者側の装置において、 データ暗号化鍵K(K∈{0,1}n)を用いて送信データmを暗
号化して暗号文Cを作成すると共に、 データ暗号化鍵Kに対して乱数r∈{0,1}k0を選び、 この乱数rと受信者の公開鍵とを用いて、 【数74】 を計算し(但し、n+k0+k1≦log2(N+1))、その結果s,tと
受信者の公開鍵とを用いて、 【数75】 を計算し、その結果y1,y2を、暗号文Cと共に、前記受信
者の装置に送信し、(2)前記受信者側の装置におい
て、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号結果y1,y2から、 【数76】 を計算し、それから、2d個のφ(±x1,p1
x1,p2,...,±x1,pd)のうち(但し、φは中国人の剰余
定理によるZ/(p1)×Z/(q2)×...×Z/(qd)からZ/(N)
への環同型写像を表す)、0<s'<N/2を満たすものをs'
(s'は複数存在してもよい)として、 【数77】 を計算することで、 【数78】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号結果を拒否するものとする。また、[a]nおよび
[a]nは、それぞれaの上位および下位nビットを表す)を
算出し、 さらに、その算出結果K'を用いて、前記送信者側の装置
より受信した暗号文Cの復号化を行なうことを特徴とす
る公開鍵暗号通信方法。
20. A public-key cryptographic communication method in which a device on the sender side encrypts a data encryption key using the public key of the receiver and transmits the encrypted data encryption key to the device on the receiver side, wherein: Be the recipient's private key p i (1 ≦ i ≦ d), and As the recipient's public key (N, k, G, H) (where n + k 0 + k 1 <k-
2), (1) In the sender side device, the transmission data m is encrypted by using the data encryption key K (K ∈ {0,1} n ) to create the ciphertext C, and the data encryption is performed. A random number r ∈ {0,1} k0 is selected for the key K, and using this random number r and the public key of the receiver, (Where n + k 0 + k 1 ≦ log 2 (N + 1)), and using the result s, t and the recipient's public key, And send the results y 1 and y 2 together with the ciphertext C to the device of the recipient, and (2) the device of the receiver uses the secret key of the receiver to send the sender. From the cipher results y 1 and y 2 received from the device on the side, And then 2 d φ (± x 1, p1,, ±
x 1, p2,. . . , ± x 1, pd ) (where φ is Z / (p 1 ) × Z / (q 2 ) × ... × Z / (q d ) to Z / (N) according to the Chinese Remainder Theorem.
, Which represents a ring isomorphism map to, s'that satisfies 0 <s'<N / 2
As (s' may exist more than once), By calculating, Decryption result shown in (However, if the decryption result is "*", this encryption result is rejected. Also, [a] n and
[a] n represents the upper and lower n bits of a, respectively, and further, using the calculation result K ′, decrypts the ciphertext C received from the sender-side device. A public key cryptographic communication method characterized by:
【請求項21】請求項20記載の公開鍵暗号通信方法で
あって、 前記受信者の秘密鍵を構成する素数piとして、これとは
別の素数p'に対して2p'+1で表される素数を選ぶことを
特徴とする公開鍵暗号通信方法。
21. The public key cryptographic communication method according to claim 20, wherein the prime number p i constituting the secret key of the recipient is represented by 2p '+ 1 with respect to another prime number p'. A public key cryptographic communication method characterized in that a selected prime number is selected.
【請求項22】請求項17、18、19、20または2
1記載の公開鍵暗号通信方法であって、 前記d(d≧1)の値を可変とすることを特徴とする公開
鍵暗号通信方法。
22. A method according to claim 17, 18, 19, 20 or 2.
2. The public key cryptographic communication method according to 1, wherein the value of d (d ≧ 1) is variable.
【請求項23】請求項16、17、18、19、20、
21または22記載の公開鍵暗号通信方法であって、 前記受信者側の装置において、 前記公開情報を生成し公開することを特徴とする公開鍵
暗号通信方法。
23. A method according to claim 16, 17, 18, 19, 20,
23. The public key cryptographic communication method according to 21 or 22, wherein the device on the receiver side generates and publishes the public information.
【請求項24】送信者側の装置が受信者の公開鍵を用い
て送信データを暗号化し、受信者側の装置へ送信する公
開鍵暗号通信方法であって、 【数79】 を受信者の公開鍵とし、 【数80】 を受信者の秘密鍵として、(1)前記送信者側の装置に
おいて、 平文x(x∈{0,1}n)に対して乱数r∈{0,1}k0を選び、 この乱数rと受信者の公開鍵とを用いて、 【数81】 を計算し、その結果s,tと受信者の公開鍵とを用いて、 【数82】 を計算し、その結果y1,y2を暗号文として前記受信者の
装置に送信し、(2)前記受信者側の装置において、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号文y1,y2から、 【数83】 を計算し、その結果を用いて、 【数84】 を計算し(但し、x'∈{0,1}n,r'∈{0,1}k0)、その結果
を用いて、 【数85】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号文を拒否するものとする)を算出することを特徴
とする公開鍵暗号通信方法。
24. A public-key cryptographic communication method in which a device on the sender side encrypts transmission data using the public key of the receiver and transmits the encrypted data to the device on the receiver side. Let be the recipient's public key, and Is used as a secret key of the receiver, and (1) in the device on the sender side, a random number r∈ {0,1} k0 is selected for the plaintext x (x∈ {0,1} n ) and Using the recipient's public key, And using the result s, t and the public key of the recipient, And transmit the results y 1 and y 2 as ciphertext to the device of the recipient, and (2) the device of the receiver uses the device of the sender using the secret key of the receiver. From the ciphertexts y 1 and y 2 received from And calculate the result using (Where x ′ ∈ {0,1} n , r ′ ∈ {0,1} k0 ) and using the result, A public key cryptographic communication method characterized by calculating the decryption result shown in (However, if the decryption result is "*", this ciphertext is rejected).
【請求項25】送信者側の装置が受信者の公開鍵を用い
て送信データを暗号化し、受信者側の装置へ送信する公
開鍵暗号通信方法であって、 【数86】 を受信者の秘密鍵(p,q)とし、 【数87】 を受信者の公開鍵(N,k,G,H)として、(1)前記送信者
側の装置において、 平文x(x∈{0,1}n)に対して乱数r∈{0,1}k0を選び、こ
の乱数rと受信者の公開鍵とを用いて、 【数88】 を計算し、その結果s,tと受信者の公開鍵とを用いて、 【数89】 を計算し(但し、a=(m/N)はJacobi記号を表す)、その結
果y1,y2,y3を暗号文として前記受信者の装置に送信し、
(2)前記受信者側の装置において、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号文y1,y2,y3から、 【数90】 を計算し、それから、φ(x1,p,x1,q),φ(-x1,p,x1,q),
φ(x1,p,-x1,q),φ(-x1 ,p,-x1,q)のうち(但し、φは中
国人の剰余定理によるZ/(p)×Z/(q)からZ/(pq)への環同
型写像を表す)、(x/N)=y3かつ0<x<2k-2を満たすものを
s'として、 【数91】 を計算し(但し、x'∈{0,1}n,r'∈{0,1}k0)、その結果
を用いて、 【数92】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号文を拒否するものとする)を算出することを特徴
とする公開鍵暗号通信方法。
25. A public-key cryptographic communication method in which a device on the sender side encrypts transmission data using the public key of the receiver and transmits the encrypted data to the device on the receiver side, wherein: Let be the recipient's private key (p, q), and Is the public key (N, k, G, H) of the receiver, and (1) in the device on the sender side, a random number r∈ {0,1 for plaintext x (x∈ {0,1} n ). } k0 is selected, and using this random number r and the public key of the receiver, Then, using s, t and the recipient's public key, (Where a = (m / N) represents the Jacobi symbol), and as a result, y 1 , y 2 and y 3 are transmitted as ciphertexts to the device of the recipient,
(2) In the device on the receiver side, using the secret key of the receiver, from the ciphertext y 1 , y 2 , y 3 received from the device on the sender side, And φ (x 1, p , x 1, q ), φ (-x 1, p , x 1, q ),
Of φ (x 1, p , -x 1, q ), φ (-x 1 ,, p , -x 1, q ), where φ is Z / (p) × Z / (according to Chinese Remainder Theorem q) to Z / (pq), which satisfies (x / N) = y 3 and 0 <x <2 k-2
As s', (Where x ′ ∈ {0,1} n , r ′ ∈ {0,1} k0 ) and using the result, A public key cryptographic communication method characterized by calculating the decryption result shown in (However, if the decryption result is "*", this ciphertext is rejected).
【請求項26】送信者側の装置が受信者の公開鍵を用い
て送信データを暗号化し、受信者側の装置へ送信する公
開鍵暗号通信方法であって、 【数93】 を受信者の秘密鍵(p,q)とし、 【数94】 を受信者の公開鍵(N,k,G,H)として、(1)前記送信者
側の装置において、 平文x(x∈{0,1}n)に対して乱数r∈{0,1}k0を選び、 この乱数rと受信者の公開鍵とを用いて、 【数95】 を計算し、その結果s,tと受信者の公開鍵とを用いて、 【数96】 を計算し、その結果y1,y2を暗号文として前記受信者の
装置に送信し、(2)前記受信者側の装置において、受
信者の秘密鍵を用いて、前記送信者側の装置より受信し
た暗号文y1,y2から、 【数97】 を計算し、それから、φ(x1,p,x1,q),φ(-x1,p,x1,q),
φ(x1,p,-x1,q),φ(-x1 ,p,-x1,q)のうち(但し、φは中
国人の剰余定理によるZ/(p)×Z/(q)からZ/(pq)への環同
型写像を表す)、0<x<2k-2を満たすものをs'(s'は複数
存在してもよい)として、 【数98】 を計算し(但し、x'∈{0,1}n,r'∈{0,1}k0)、その結果
を用いて、 【数99】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号文を拒否するものとする)を算出することを特徴
とする公開鍵暗号通信方法。
26. A public-key cryptographic communication method, wherein a device on the sender side encrypts transmission data using a public key of the receiver and transmits the encrypted data to the device on the receiver side. Let be the recipient's private key (p, q), and Is the public key (N, k, G, H) of the receiver, and (1) in the device on the sender side, a random number r∈ {0,1 for plaintext x (x∈ {0,1} n } k0 is selected, and using this random number r and the public key of the receiver, Then, using s, t and the public key of the recipient, And send y 1 and y 2 as ciphertexts to the device of the recipient, and (2) the device of the recipient uses the device of the sender using the secret key of the recipient. From the ciphertexts y 1 and y 2 received from And φ (x 1, p , x 1, q ), φ (-x 1, p , x 1, q ),
Of φ (x 1, p , -x 1, q ), φ (-x 1 ,, p , -x 1, q ), where φ is Z / (p) × Z / (according to Chinese Remainder Theorem (representing a ring isomorphism map from q) to Z / (pq)), and s '(s' may exist more than one) satisfying 0 <x <2 k-2 , (Where x ′ ∈ {0,1} n , r ′ ∈ {0,1} k0 ), and using the result, A public key cryptographic communication method characterized by calculating the decryption result shown in (However, if the decryption result is "*", this ciphertext is rejected).
【請求項27】請求項25または26記載の公開鍵暗号
通信方法であって、 前記受信者の秘密鍵を構成する素数p,qとして、これと
は別の素数p',q'に対して2p'+1,2q'+1で表される素数を
選ぶことを特徴とする公開鍵暗号通信方法。
27. The public key cryptographic communication method according to claim 25 or 26, wherein prime numbers p ', q'other than the prime numbers p, q constituting the secret key of the receiver are provided. A public key cryptographic communication method characterized by selecting a prime number represented by 2p '+ 1, 2q' + 1.
【請求項28】送信者側の装置が受信者の公開鍵を用い
て送信データを暗号化し、受信者側の装置へ送信する公
開鍵暗号通信方法であって、 【数100】 を受信者の秘密鍵pi(1≦i≦d)とし、 【数101】 を受信者の公開鍵(N,k,G,H)として、(1)前記送信者
側の装置において、 平文x(x∈{0,1}n)に対して乱数r∈{0,1}k0を選び、 この乱数rと受信者の公開鍵とを用いて、 【数102】 を計算し(但し、k-1≦log2(N+1))、その結果s,tと受信
者の公開鍵とを用いて、 【数103】 を計算し、その結果y1,y2を暗号文として前記受信者の
装置に送信し、(2)前記受信者側の装置において、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号文y1,y2から、 【数104】 を計算し、それから、2d個のφ(±x1,p1
x1,p2,...,±x1,pd)のうち(但し、φは中国人の剰余
定理によるZ/(p1)×Z/(q2)×...×Z/(qd)からZ/(N)
への環同型写像を表す)、0<s'<N/2を満たすものをs'
(s'は複数存在してもよい)として、 【数105】 を計算することで(但し、x'∈{0,1}n,r'∈{0,1}k0)、 【数106】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号文を拒否するものとする)を算出することを特徴
とする公開鍵暗号通信方法。
28. A public-key cryptographic communication method in which a device on the sender side encrypts transmission data using the public key of the receiver and transmits the encrypted data to the device on the receiver side. Be the recipient's private key p i (1 ≦ i ≦ d), and Is the public key (N, k, G, H) of the receiver, and (1) in the device on the sender side, a random number r∈ {0,1 for plaintext x (x∈ {0,1} n } k0 is selected, and using this random number r and the public key of the receiver, (Where k−1 ≦ log 2 (N + 1)), and using s, t and the recipient's public key, And transmit the results y 1 and y 2 as ciphertext to the device of the recipient, and (2) the device of the receiver uses the device of the sender using the secret key of the receiver. From the ciphertexts y 1 and y 2 received from And then 2 d φ (± x 1, p1,, ±
x 1, p2,. . . , ± x 1, pd ) (where φ is Z / (p 1 ) × Z / (q 2 ) × ... × Z / (q d ) to Z / (N) according to the Chinese Remainder Theorem.
, Which represents a ring isomorphism map to, s'that satisfies 0 <s'<N / 2
As (s' may exist more than one), (Where x ′ ∈ {0,1} n and r ′ ∈ {0,1} k0 ), A public key cryptographic communication method characterized by calculating the decryption result shown in (However, if the decryption result is "*", this ciphertext is rejected).
【請求項29】請求項28記載の公開鍵暗号通信方法で
あって、 前記受信者の秘密鍵を構成する素数piとして、これとは
別の素数p'に対して2p'+1で表される素数を選ぶことを
特徴とする公開鍵暗号通信方法。
29. The public key cryptographic communication method according to claim 28, wherein the prime number p i constituting the secret key of the recipient is represented by 2p ′ + 1 with respect to another prime number p ′. A public key cryptographic communication method characterized in that a selected prime number is selected.
【請求項30】請求項25、26、27、28または2
9記載の公開鍵暗号通信方法であって、 前記d(d≧1)の値を可変とすることを特徴とする公開
鍵暗号通信方法。
30. 25, 26, 27, 28 or 2
10. The public key cryptographic communication method according to 9, wherein the value of d (d ≧ 1) is variable.
【請求項31】請求項24、25、26、27、28、
29または30記載の公開鍵暗号通信方法であって、 前記受信者側の装置において、 前記公開情報を生成し公開することを特徴とする公開鍵
暗号通信方法。
31. 24, 25, 26, 27, 28,
31. The public key cryptographic communication method according to 29 or 30, wherein the device on the receiver side generates and publishes the public information.
【請求項32】送信者側の装置が受信者の公開鍵を用い
てデータ暗号化鍵を暗号化し、受信者側の装置へ送信す
る公開鍵暗号通信方法であって、 【数107】 を受信者の公開鍵とし、 【数108】 を受信者の秘密鍵として、(1)前記送信者側の装置に
おいて、 データ暗号化鍵K(K∈{0,1}n)を用いて送信データmを暗
号化して暗号文Cを作成すると共に、 データ暗号化鍵Kに対して乱数r∈{0,1}k0を選び、 この乱数rと受信者の公開鍵とを用いて、 【数109】 を計算し、その結果s,tと受信者の公開鍵とを用いて、 【数110】 を計算し、その結果y1,y2を、暗号文Cと共に、前記受信
者の装置に送信し、(2)前記受信者側の装置におい
て、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号結果y1,y2から、 【数111】 を計算し、その結果を用いて、 【数112】 を計算し(但し、K'∈{0,1}n,r'∈{0,1}k0)、その結果
を用いて、 【数113】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号結果を拒否するものとする)を算出し、 さらに、その算出結果K'を用いて、前記送信者側の装置
より受信した暗号文Cの復号化を行なうことを特徴とす
る公開鍵暗号通信方法。
32. A public key cryptographic communication method, wherein a device on the sender side encrypts a data encryption key using the public key of the receiver, and transmits the encrypted data encryption key to the device on the receiver side. Be the public key of the receiver, and Is used as a recipient's private key, and (1) in the device on the sender side, the transmission data m is encrypted using the data encryption key K (K ∈ {0,1} n ) to create a ciphertext C. At the same time, a random number rε {0,1} k0 is selected for the data encryption key K, and using this random number r and the public key of the receiver, Then, using s, t and the public key of the recipient, And send the results y 1 and y 2 together with the ciphertext C to the device of the recipient, and (2) the device of the receiver uses the secret key of the receiver to send the sender. From the cipher results y 1 and y 2 received from the device on the side, And calculate the result using (Where K ′ ∈ {0,1} n , r '∈ {0,1} k0 ) and using the result, Calculate the decryption result shown in (However, if the decryption result is "*", the encryption result is rejected), and further, using the calculation result K ', from the device on the sender side. A public key cryptographic communication method characterized by decrypting a received ciphertext C.
【請求項33】送信者側の装置が受信者の公開鍵を用い
てデータ暗号化鍵を暗号化し、受信者側の装置へ送信す
る公開鍵暗号通信方法であって、 【数114】 を受信者の秘密鍵(p,q)とし、 【数115】 を受信者の公開鍵(N,k,G,H)として、(1)前記送信者
側の装置において、 データ暗号化鍵K(K∈{0,1}n)を用いて送信データmを暗
号化して暗号文Cを作成すると共に、 データ暗号化鍵Kに対して乱数r∈{0,1}k0を選び、この
乱数rと受信者の公開鍵とを用いて、 【数116】 を計算し、その結果s,tと受信者の公開鍵とを用いて、 【数117】 を計算し(但し、a=(m/N)はJacobi記号を表す)、その結
果y1,y2,y3を、暗号文Cと共に、前記受信者の装置に送
信し、(2)前記受信者側の装置において、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号結果y1,y2,y3から、 【数118】 を計算し、それから、φ(x1,p,x1,q),φ(-x1,p,x1,q),
φ(x1,p,-x1,q),φ(-x1 ,p,-x1,q)のうち(但し、φは中
国人の剰余定理によるZ/(p)×Z/(q)からZ/(pq)への環同
型写像を表す)、(x/N)=y3かつ0<x<2k-2を満たすものを
s'として、 【数119】 を計算し(但し、k'∈{0,1}n,r'∈{0,1}k0)、その結果
を用いて、 【数120】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号結果を拒否するものとする)を算出し、 さらに、その算出結果K'を用いて、前記送信者側の装置
より受信した暗号文Cの復号化を行なうことを特徴とす
る公開鍵暗号通信方法。
33. A public-key cryptographic communication method in which a device on the sender side encrypts a data encryption key using the public key of the receiver, and transmits the encrypted data encryption key to the device on the receiver side. Let be the recipient's private key (p, q), and Is the public key (N, k, G, H) of the receiver, and (1) in the device on the sender side, using the data encryption key K (K ∈ {0,1} n ), the transmission data m While encrypting to create the ciphertext C, a random number rε {0,1} k0 is selected for the data encryption key K, and using this random number r and the public key of the receiver, And the result s, t and the recipient's public key are used to calculate (Where a = (m / N) represents the Jacobi symbol), and as a result, y 1 , y 2 and y 3 are transmitted to the device of the recipient together with the ciphertext C, and (2) the above In the device on the receiver side, using the secret key of the receiver, from the cipher results y 1 , y 2 , y 3 received from the device on the sender side, And φ (x 1, p , x 1, q ), φ (-x 1, p , x 1, q ),
Of φ (x 1, p , -x 1, q ), φ (-x 1 ,, p , -x 1, q ), where φ is Z / (p) × Z / (according to Chinese Remainder Theorem q) to Z / (pq), which satisfies (x / N) = y 3 and 0 <x <2 k-2
As s', (Where k ′ ∈ {0,1} n , r ′ ∈ {0,1} k0 ) and using the result, Calculate the decryption result shown in (However, if the decryption result is "*", the encryption result is rejected), and further, using the calculation result K ', from the device on the sender side. A public key cryptographic communication method characterized by decrypting a received ciphertext C.
【請求項34】送信者側の装置が受信者の公開鍵を用い
てデータ暗号化鍵を暗号化し、受信者側の装置へ送信す
る公開鍵暗号通信方法であって、 【数121】 を受信者の秘密鍵(p,q)とし、 【数122】 を受信者の公開鍵(N,k,G,H)として、(1)前記送信者
側の装置において、 データ暗号化鍵K(K∈{0,1}n)を用いて送信データmを暗
号化して暗号文Cを作成すると共に、 データ暗号化鍵Kに対して乱数r∈{0,1}k0を選び、 この乱数rと受信者の公開鍵とを用いて、 【数123】 を計算し、その結果s,tと受信者の公開鍵とを用いて、 【数124】 を計算し、その結果y1,y2を、暗号文Cと共に、前記受信
者の装置に送信し、(2)前記受信者側の装置におい
て、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号結果y1,y2から、 【数125】 を計算し、それから、φ(x1,p,x1,q),φ(-x1,p,x1,q),
φ(x1,p,-x1,q),φ(-x1 ,p,-x1,q)のうち(但し、φは中
国人の剰余定理によるZ/(p)×Z/(q)からZ/(pq)への環同
型写像を表す)、0<x<2k-2を満たすものをs'(s'は複数
存在してもよい)として、 【数126】 を計算し(但し、k'∈{0,1}n,r'∈{0,1}k0)、その結果
を用いて、 【数127】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号結果を拒否するものとする)を算出し、 さらに、その算出結果K'を用いて、前記送信者側の装置
より受信した暗号文Cの復号化を行なうことを特徴とす
る公開鍵暗号通信方法。
34. A public-key cryptographic communication method in which a device on the sender side encrypts a data encryption key using the public key of the receiver and transmits the encrypted data encryption key to the device on the receiver side. Be the secret key (p, q) of the receiver, and Is the public key (N, k, G, H) of the receiver, and (1) in the device on the sender side, using the data encryption key K (K ∈ {0,1} n ), the transmission data m While encrypting to create the ciphertext C, a random number rε {0,1} k0 is selected for the data encryption key K, and using this random number r and the public key of the recipient, Then, using s, t and the public key of the recipient, And send the results y 1 and y 2 together with the ciphertext C to the device of the recipient, and (2) the device of the receiver uses the secret key of the receiver to send the sender. From the cipher results y 1 and y 2 received from the device on the side, And φ (x 1, p , x 1, q ), φ (-x 1, p , x 1, q ),
Of φ (x 1, p , -x 1, q ), φ (-x 1 ,, p , -x 1, q ), where φ is Z / (p) × Z / (according to Chinese Remainder Theorem (representing a ring isomorphism map from q) to Z / (pq)), and s '(s' may exist more than one) satisfying 0 <x <2 k-2 , (Where k ′ ∈ {0,1} n , r ′ ∈ {0,1} k0 ) and using the result, Calculate the decryption result shown in (However, if the decryption result is "*", the encryption result is rejected), and further, using the calculation result K ', from the device on the sender side. A public key cryptographic communication method characterized by decrypting a received ciphertext C.
【請求項35】請求項33または34記載の公開鍵暗号
通信方法であって、 前記受信者の秘密鍵を構成する素数p,qとして、これと
は別の素数p',q'に対して2p'+1,2q'+1で表される素数を
選ぶことを特徴とする公開鍵暗号通信方法。
35. The public key cryptographic communication method according to claim 33 or 34, wherein prime numbers p ', q'other than the prime numbers p, q constituting the secret key of the recipient are set. A public key cryptographic communication method characterized by selecting a prime number represented by 2p '+ 1, 2q' + 1.
【請求項36】送信者側の装置が受信者の公開鍵を用い
てデータ暗号化鍵を暗号化し、受信者側の装置へ送信す
る公開鍵暗号通信方法であって、 【数128】 を受信者の秘密鍵pi(1≦i≦d)とし、 【数129】 を受信者の公開鍵(N,k,G,H)として、(1)前記送信者
側の装置において、 データ暗号化鍵K(K∈{0,1}n)を用いて送信データmを暗
号化して暗号文Cを作成すると共に、 データ暗号化鍵Kに対して乱数r∈{0,1}k0を選び、 この乱数rと受信者の公開鍵とを用いて、 【数130】 を計算し(但し、k-1≦log2(N+1))、その結果s,tと受信
者の公開鍵とを用いて、 【数131】 を計算し、その結果y1,y2を、暗号文Cと共に、前記受信
者の装置に送信し、(2)前記受信者側の装置におい
て、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号結果y1,y2から、 【数132】 を計算し、それから、2d個のφ(±x1,p1
x1,p2,...,±x1,pd)のうち(但し、φは中国人の剰余
定理によるZ/(p1)×Z/(q2)×...×Z/(qd)からZ/(N)
への環同型写像を表す)、0<s'<N/2を満たすものをs'
(s'は複数存在してもよい)として、 【数133】 を計算し(但し、k'∈{0,1}n,r'∈{0,1}k0)、その結果
を用いて、 【数134】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号結果を拒否するものとする)を算出し、 さらに、その算出結果K'を用いて、前記送信者側の装置
より受信した暗号文Cの復号化を行なうことを特徴とす
る公開鍵暗号通信方法。
36. A public-key cryptographic communication method in which a device on the sender side encrypts a data encryption key using the public key of the receiver, and transmits the encrypted data encryption key to the device on the receiver side. Be the recipient's private key p i (1 ≦ i ≦ d), and Is the public key (N, k, G, H) of the receiver, and (1) in the device on the sender side, using the data encryption key K (K ∈ {0,1} n ), the transmission data m While encrypting to create the ciphertext C, a random number rε {0,1} k0 is selected for the data encryption key K, and using this random number r and the public key of the recipient, (Where k−1 ≦ log 2 (N + 1)), and using the result s, t and the public key of the recipient, And send the results y 1 and y 2 together with the ciphertext C to the device of the recipient, and (2) the device of the receiver uses the secret key of the receiver to send the sender. From the cipher results y 1 and y 2 received from the device on the side, And then 2 d φ (± x 1, p1,, ±
x 1, p2,. . . , ± x 1, pd ) (where φ is Z / (p 1 ) × Z / (q 2 ) × ... × Z / (q d ) to Z / (N) according to the Chinese Remainder Theorem.
, Which represents a ring isomorphism map to, s'that satisfies 0 <s'<N / 2
As (s ′ may exist more than once), (Where k ′ ∈ {0,1} n , r ′ ∈ {0,1} k0 ) and using the result, Calculate the decryption result shown in (However, if the decryption result is "*", the encryption result is rejected), and further, using the calculation result K ', from the device on the sender side. A public key cryptographic communication method characterized by decrypting a received ciphertext C.
【請求項37】請求項36記載の公開鍵暗号通信方法で
あって、 前記受信者の秘密鍵を構成する素数piとして、これとは
別の素数p'に対して2p'+1で表される素数を選ぶことを
特徴とする公開鍵暗号通信方法。
37. The public key cryptographic communication method according to claim 36, wherein the prime number p i constituting the secret key of the recipient is represented by 2p '+ 1 for another prime number p'. A public key cryptographic communication method characterized in that a selected prime number is selected.
【請求項38】請求項33、34、35、36または3
7記載の公開鍵暗号通信方法であって、 前記d(d≧1)の値を可変とすることを特徴とする公開
鍵暗号通信方法。
38. A method according to claim 33, 34, 35, 36 or 3.
8. The public key cryptographic communication method according to 7, wherein the value of d (d ≧ 1) is variable.
【請求項39】請求項32、33、34、35、36、
37または38記載の公開鍵暗号通信方法であって、 前記受信者側の装置において、 前記公開情報を生成し公開することを特徴とする公開鍵
暗号通信方法。
39. 32, 33, 34, 35, 36,
39. The public key cryptographic communication method according to 37 or 38, wherein the device on the receiver side generates and publishes the public information.
【請求項40】送信者側の装置が受信者の公開鍵を用い
て送信データを暗号化し、受信者側の装置へ送信する公
開鍵暗号通信方法であって、 【数135】 を受信者の公開鍵とし、 【数136】 を受信者の秘密鍵として、(1)前記送信者側の装置に
おいて、 平文x(x∈{0,1}n)に対して乱数r∈{0,1}kを選び、 この乱数rと受信者の公開鍵とを用いて、 【数137】 を計算し、その結果y1,y2を暗号文として前記受信者の
装置に送信し、(2)前記受信者側の装置において、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号文y1,y2から、 【数138】 を計算し、その結果を用いて、 【数139】 を計算し(但し、x'∈{0,1}n,w'∈{0,1}k0)、その結果
を用いて、 【数140】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号文を拒否するものとする)を算出することを特徴
とする公開鍵暗号通信方法。
40. A public-key cryptographic communication method in which a device on the sender side encrypts transmission data using the public key of the receiver, and transmits the encrypted data to the device on the receiver side. Be the public key of the receiver, and As a secret key of the receiver, (1) in the device on the sender side, a random number r∈ {0,1} k is selected for the plaintext x (x∈ {0,1} n ) and the random number r Using the recipient's public key, And transmit the results y 1 and y 2 as ciphertext to the device of the recipient, and (2) the device of the receiver uses the device of the sender using the secret key of the receiver. From the ciphertexts y 1 and y 2 received from Is calculated, and the result is used to calculate (Where x ′ ∈ {0,1} n and w ′ ∈ {0,1} k0 ), and using the result, A public key cryptographic communication method characterized by calculating the decryption result shown in (However, if the decryption result is "*", this ciphertext is rejected).
【請求項41】送信者側の装置が受信者の公開鍵を用い
て送信データを暗号化し、受信者側の装置へ送信する公
開鍵暗号通信方法であって、 【数141】 を受信者の秘密鍵(p,q)とし、 【数142】 を受信者の公開鍵(N,k,G,H)として、(1)前記送信者
側の装置において、 平文x(x∈{0,1}n)に対して乱数r∈{0,1}k-2を選び、 この乱数rと受信者の公開鍵とを用いて、 【数143】 を計算し(但し、a=(m/N)はJacobi記号を表す)、その結
果y1,y2,y3を暗号文として前記受信者の装置に送信し、
(2)前記受信者側の装置において、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号文y1,y2,y3から、 【数144】 を計算し、それから、φ(r1,p,r1,q),φ(-r1,p,r1,q),
φ(r1,p,-r1,q),φ(-r1 ,p,-r1,q)のうち(但し、φは中
国人の剰余定理によるZ/(p)×Z/(q)からZ/(pq)への環同
型写像を表す)、(r/N)=y3かつ0<r<2k-2を満たすものを
r'として、 【数145】 を計算し(但し、x'∈{0,1}n,w'∈{0,1}k0)、その結果
を用いて、 【数146】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号文を拒否するものとする)を算出することを特徴
とする公開鍵暗号通信方法。
41. A public-key cryptographic communication method, wherein a device on the sender side encrypts transmission data using the public key of the receiver, and transmits the encrypted data to the device on the receiver side. Let be the recipient's secret key (p, q), and Is the public key (N, k, G, H) of the receiver, and (1) in the device on the sender side, a random number r∈ {0,1 for plaintext x (x∈ {0,1} n } k−2 is selected, and using this random number r and the public key of the receiver, (Where a = (m / N) represents the Jacobi symbol), and as a result, y 1 , y 2 and y 3 are transmitted as ciphertexts to the device of the recipient,
(2) In the device on the receiver side, using the private key of the receiver, from the ciphertext y 1 , y 2 , y 3 received from the device on the sender side, And φ (r 1, p , r 1, q ), φ (-r 1, p , r 1, q ),
Of φ (r 1, p , -r 1, q ), φ (-r 1 , p , -r 1, q ), where φ is Z / (p) × Z / (according to Chinese Remainder Theorem (representing a ring isomorphism map from (q) to Z / (pq)), (r / N) = y 3 and 0 <r <2 k-2
As r ', (Where x ′ ∈ {0,1} n and w ′ ∈ {0,1} k0 ), and using the result, A public key cryptographic communication method characterized by calculating the decryption result shown in (However, if the decryption result is "*", this ciphertext is rejected).
【請求項42】送信者側の装置が受信者の公開鍵を用い
て送信データを暗号化し、受信者側の装置へ送信する公
開鍵暗号通信方法であって、 【数147】 を受信者の秘密鍵(p,q)とし、 【数148】 を受信者の公開鍵(N,k,G,H)として、(1)前記送信者
側の装置において、 平文x(x∈{0,1}n)に対して乱数r∈{0,1}kを選び、 この乱数rと受信者の公開鍵とを用いて、 【数149】 を計算し、その結果y1,y2を暗号文として前記受信者の
装置に送信し、(2)前記受信者側の装置において、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号文y1,y2から、 【数150】 を計算し、それから、φ(r1,p,r1,q),φ(-r1,p,r1,q),
φ(r1,p,-r1,q),φ(-r1 ,p,-r1,q)のうち(但し、φは中
国人の剰余定理によるZ/(p)×Z/(q)からZ/(pq)への環同
型写像を表す)、0<r<2k-2を満たすものをr'として、 【数151】 を計算し(但し、x'∈{0,1}n,w'∈{0,1}k0)、その結果
を用いて、 【数152】 に示す復号化結果(但し、復号化結果が「*」の場合、こ
の暗号文を拒否するものとする)を算出することを特徴
とする公開鍵暗号通信方法。
42. A public-key cryptographic communication method in which a device on the sender side encrypts transmission data using the public key of the receiver, and transmits the encrypted data to the device on the receiver side. Let be the recipient's private key (p, q), and Is the public key (N, k, G, H) of the receiver, and (1) in the device on the sender side, a random number r∈ {0,1 for plaintext x (x∈ {0,1} n ). } k , and using this random number r and the public key of the recipient, And transmit the results y 1 and y 2 as ciphertext to the device of the recipient, and (2) the device of the receiver uses the device of the sender using the secret key of the receiver. From the ciphertexts y 1 and y 2 received from And φ (r 1, p , r 1, q ), φ (-r 1, p , r 1, q ),
Of φ (r 1, p , -r 1, q ), φ (-r 1 , p , -r 1, q ), where φ is Z / (p) × Z / (according to Chinese Remainder Theorem (representing a ring isomorphism map from q) to Z / (pq)), and r'that satisfies 0 <r <2 k-2 , (Where x ′ ∈ {0,1} n , w ′ ∈ {0,1} k0 ), and using the result, A public key cryptographic communication method characterized by calculating the decryption result shown in (However, if the decryption result is "*", this ciphertext is rejected).
【請求項43】請求項8、24または40記載の公開鍵
暗号通信方法であって、 【数153】 を受信者の秘密鍵(p,q)とし、 【数154】 を受信者の公開鍵(N,k)として、(1)前記送信者側の
装置において、 平文x(x∈{0,1}k-2)に対して、受信者の公開鍵を用い
て、 【数155】 を計算し(但し、a=(m/N)はJacobi記号を表す)、その結
果y1,y2を暗号文として前記受信者の装置に送信し、
(2)前記受信者側の装置において、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号文y1,y2から、 【数156】 を計算し、それから、φ(x1,p,x1,q),φ(-x1,p,x1,q),
φ(x1,p,-x1,q),φ(-x1 ,p,-x1,q)のうち(但し、φは中
国人の剰余定理によるZ/(p)×Z/(q)からZ/(pq)への環同
型写像を表す)、(x/N)=y2かつ0<x<2k-2を満たすものを
復号結果とすることを特徴とする公開鍵暗号通信方法。
43. The public key cryptographic communication method according to claim 8, 24 or 40, wherein: Let be the recipient's private key (p, q), and Is the recipient's public key (N, k), and (1) the sender's device uses the recipient's public key for plaintext x (x ∈ {0,1} k-2 ). , Numeral 155 (Where a = (m / N) represents a Jacobi symbol), and as a result, y 1 and y 2 are transmitted as ciphertexts to the device of the recipient,
(2) In the device on the receiver side, using the secret key of the receiver, from the ciphertexts y 1 and y 2 received from the device on the sender side, And φ (x 1, p , x 1, q ), φ (-x 1, p , x 1, q ),
Of φ (x 1, p , -x 1, q ), φ (-x 1 ,, p , -x 1, q ), where φ is Z / (p) × Z / (according to Chinese Remainder Theorem (representing a ring homomorphic map from q) to Z / (pq)), public key cryptography characterized by using a decryption result that satisfies (x / N) = y 2 and 0 <x <2 k-2 Communication method.
【請求項44】請求項43記載の公開鍵暗号通信方法で
あって、 安全性を向上させる変換方法に応じて、前記平文、前記
送信者側の装置での処理、および、前記受信者側の装置
での処理において、Jacobi記号による制約条件を削除す
ることを特徴とする公開鍵暗号通信方法。
44. The public key cryptographic communication method according to claim 43, wherein the plaintext, the process in the device on the sender side, and the process on the receiver side according to the conversion method for improving security. A public-key cryptographic communication method characterized in that a constraint condition based on a Jacobi symbol is deleted in processing by a device.
【請求項45】請求項8、24または40記載の公開鍵
暗号通信方法であって、 【数157】 を受信者の秘密鍵pi(1≦i≦d)とし、 【数158】 を受信者の公開鍵(N,k)として、(1)前記送信者側の
装置において、 平文x(x∈{0,1}k)に対して、受信者の公開鍵を用いて、 【数159】 を計算し、その結果y1を暗号文として前記受信者の装置
に送信し、(2)前記受信者側の装置において、 受信者の秘密鍵を用いて、前記送信者側の装置より受信
した暗号文y1から、 【数160】 を計算し、そして、2d個のφ(±x1,p1,±x1,p2,...,
±x1,pd)のうち(但し、φは中国人の剰余定理によるZ/
(p1)×Z/(q2)×...×Z/(qd)からZ/(N)への環同型写
像を表す)、0<x'<N/2を満たすものから0より大きくN
/2より小さな定数を、暗号文からの復号化結果とするこ
とで、復号一意性を確保することを特徴とする公開鍵暗
号通信方法。
45. The public key cryptographic communication method according to claim 8, 24 or 40, wherein: Be the recipient's private key p i (1 ≦ i ≦ d), and Is the recipient's public key (N, k), and (1) the sender's device uses the recipient's public key for plaintext x (x ∈ {0,1} k ). Number 159] And the result y 1 is transmitted as a ciphertext to the device of the recipient, and (2) the device of the receiver receives it from the device of the sender using the private key of the receiver. From ciphertext y 1 , Is calculated, and 2 d φ (± x 1, p1 , ± x 1, p2 , ...,
± x 1, pd ) (where φ is Z /
(p 1 ) × Z / (q 2 ) ×. . . X Z / (q d ) represents a homomorphic mapping from Z / (N)), from 0 that satisfies 0 <x '<N / 2 to N greater than 0
A public key cryptographic communication method characterized by ensuring decryption uniqueness by using a constant smaller than / 2 as the decryption result from the ciphertext.
【請求項46】請求項40、41、42、43、44ま
たは45記載の公開鍵暗号通信方法であって、 前記受信者側の装置において、 前記公開情報を生成し公開することを特徴とする公開鍵
暗号通信方法。
46. The public key cryptographic communication method according to claim 40, 41, 42, 43, 44 or 45, wherein the public information is generated and published in the device on the receiver side. Public key cryptographic communication method.
【請求項47】情報処理装置で読み取り可能なプログラ
ムであって、 前記プログラムは、前記情報処理装置に、請求項1から
請求項46に記載のいずれか1つの公開鍵暗号通信方法
における送信者側の装置での処理を行なわせることを特
徴とするプログラム。
47. A program readable by an information processing device, wherein the program is transmitted to the information processing device in the public key encryption communication method according to any one of claims 1 to 46. A program characterized by causing the device to perform processing.
【請求項48】情報処理装置で読み取り可能なプログラ
ムであって、 前記プログラムは、前記情報処理装置に、請求項1から
請求項46に記載のいずれか1つの公開鍵暗号通信方法
における受信者側の装置での処理を行なわせることを特
徴とするプログラム。
48. A program readable by an information processing device, wherein the program is provided to the information processing device in the public key encryption communication method according to any one of claims 1 to 46. A program characterized by causing the device to perform processing.
JP2002107849A 2001-04-11 2002-04-10 Public key encryption communication method Expired - Fee Related JP4230162B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002107849A JP4230162B2 (en) 2001-04-11 2002-04-10 Public key encryption communication method

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2001112161 2001-04-11
JP2001-112161 2001-04-11
JP2001121969 2001-04-20
JP2001-121969 2001-04-20
JP2002107849A JP4230162B2 (en) 2001-04-11 2002-04-10 Public key encryption communication method

Publications (3)

Publication Number Publication Date
JP2003005638A true JP2003005638A (en) 2003-01-08
JP2003005638A5 JP2003005638A5 (en) 2005-09-15
JP4230162B2 JP4230162B2 (en) 2009-02-25

Family

ID=27346511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002107849A Expired - Fee Related JP4230162B2 (en) 2001-04-11 2002-04-10 Public key encryption communication method

Country Status (1)

Country Link
JP (1) JP4230162B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007143062A (en) * 2005-11-22 2007-06-07 Fuji Xerox Co Ltd Information management system, information management method, and program
WO2008150553A3 (en) * 2007-01-09 2009-04-02 Microsoft Corp Content encryption schema for integrating digital rights management with encrypted multicast

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007143062A (en) * 2005-11-22 2007-06-07 Fuji Xerox Co Ltd Information management system, information management method, and program
WO2008150553A3 (en) * 2007-01-09 2009-04-02 Microsoft Corp Content encryption schema for integrating digital rights management with encrypted multicast
US7978848B2 (en) 2007-01-09 2011-07-12 Microsoft Corporation Content encryption schema for integrating digital rights management with encrypted multicast

Also Published As

Publication number Publication date
JP4230162B2 (en) 2009-02-25

Similar Documents

Publication Publication Date Title
JP4809598B2 (en) Use of isojani in the design of cryptographic systems
EP0503119B1 (en) Public key cryptographic system using elliptic curves over rings
Coron What is cryptography?
Hwang et al. An ElGamal-like cryptosystem for enciphering large messages
US20080063193A1 (en) Crypto-communication method, recipient-side device, key management center-side device and program
US7649991B2 (en) Method of a public key encryption and a cypher communication both secure against a chosen-ciphertext attack
US20020041684A1 (en) Public-key encryption and key-sharing methods
Vanstone et al. Elliptic curve cryptosystems using curves of smooth order over the ring Z/sub n
US8442219B2 (en) Public key cryptographic methods and systems
Zhong An overview of rsa and oaep padding
US20060026426A1 (en) Identifier-based signcryption with two trusted authorities
Liu et al. New efficient identity based encryption without pairings
JP2002023626A (en) Public key encryption method and communication system using public key encryption
JP4230162B2 (en) Public key encryption communication method
JP4284867B2 (en) A public-key cryptography method that is secure against adaptive choice ciphertext attacks on a standard model
EP1148675A1 (en) Public key cryptograph and key sharing method
Zheng Signcryption or how to achieve cost (signature & encryption)<< cost (signature)+ cost (encryption)
JP4304896B2 (en) Public key encryption communication method
JPH0856219A (en) Cryptographic communication system
JP2005321719A (en) COMMUNICATION SYSTEM, DECRYPTION DEVICE, RESTORE DEVICE, KEY GENERATION DEVICE, AND COMMUNICATION METHOD
JP2004126514A (en) Public key encryption communication method
Chen et al. Privacy protection in on-line shopping for electronic documents
JP3870753B2 (en) Public Key Cryptography Considering Third Oracle
Gunnala et al. An Attribute Involved Non deterministic Cryptosystem using Composite Residuosity Class Problem
Parthiban et al. Using modified stern series for digital signature authentication in elliptic curve cryptography

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050405

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050405

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080826

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081024

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081202

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081203

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

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees