WO2022153456A1 - 暗号化装置、暗号通信システム、暗号化方法およびプログラム - Google Patents

暗号化装置、暗号通信システム、暗号化方法およびプログラム Download PDF

Info

Publication number
WO2022153456A1
WO2022153456A1 PCT/JP2021/001112 JP2021001112W WO2022153456A1 WO 2022153456 A1 WO2022153456 A1 WO 2022153456A1 JP 2021001112 W JP2021001112 W JP 2021001112W WO 2022153456 A1 WO2022153456 A1 WO 2022153456A1
Authority
WO
WIPO (PCT)
Prior art keywords
encryption
key
public key
unit
calculation
Prior art date
Application number
PCT/JP2021/001112
Other languages
English (en)
French (fr)
Inventor
真奈 上野
鉄太郎 小林
啓造 村上
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to US18/258,932 priority Critical patent/US20240048362A1/en
Priority to JP2022574966A priority patent/JPWO2022153456A1/ja
Priority to PCT/JP2021/001112 priority patent/WO2022153456A1/ja
Publication of WO2022153456A1 publication Critical patent/WO2022153456A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters

Definitions

  • the present invention relates to an encryption device, an encryption communication system, an encryption method and a program.
  • Two encryption methods a common key cryptosystem and a public key cryptosystem, are known as methods for encrypting communication contents in online data communication. Further, a hybrid type cipher that combines two ciphers is known.
  • Non-Patent Document 1 discloses a method of encrypting communication contents by a common key cryptosystem and encrypting a key used in the common key cryptosystem by a public key cryptosystem.
  • This method corresponds to the fact that the encryption and decryption processes of the public key cryptosystem are very slow as compared with the common key cryptosystem.
  • the communication data is repeated as many times as the length of the communication data, it is encrypted using a high-speed common key encryption method, and the key to be delivered is the common key encryption.
  • encryption is performed using a public key cryptosystem.
  • Non-Patent Document 1 As described above, depending on the purpose of use of encrypted communication, it is necessary to encrypt not only the key to be delivered but also the communication data by using the public key cryptosystem instead of the common key cryptosystem as in Non-Patent Document 1. ..
  • the disclosed technology aims to speed up the encryption process using public key cryptography.
  • the disclosed technique is an encryption device including a key storage unit that stores a private key and a public key of a public key encryption method, and an encryption unit that encrypts communication data using the private key and the public key. Is.
  • FIG. It is a figure for demonstrating the encryption apparatus in the conventional public key cryptosystem. It is a figure for demonstrating the encryption apparatus in the public key cryptosystem which concerns on embodiment of this invention. It is a block diagram of the cryptographic communication system which concerns on Embodiment 1.
  • FIG. It is a sequence diagram which shows the encrypted communication processing which concerns on Embodiment 1.
  • FIG. It is a block diagram of the cryptographic communication system which concerns on Embodiment 2.
  • FIG. It is a sequence diagram which shows the encrypted communication processing which concerns on Embodiment 2.
  • FIG. It is a sequence diagram which shows the encrypted communication processing which concerns on Embodiment 4. It is a figure which shows the hardware configuration example of each apparatus.
  • the conventional encryption device when the conventional encryption device receives the input of the message M and the public key pk, the conventional encryption device encrypts the message M using the public key pk and outputs the ciphertext C.
  • the encryption process using the public key pk is not suitable for encrypted communication that requires real-time performance such as a video conference system because it takes time to calculate.
  • FIG. 2 is a diagram for explaining an encryption device in the public key cryptosystem according to the present embodiment.
  • the encryption device when the encryption device receives the input of the message M, the public key pk, and the private key sk, the encryption device uses the public key pk and the private key sk to use the message M. Is encrypted, and the ciphertext C is output. That is, it differs from the prior art in that the encryption device uses not only the public key pk but also the private key sk in the encryption process.
  • the message M is an example of communication data in encrypted communication.
  • the ciphertext C is an example of encrypted communication data.
  • Embodiment 1 of the present invention will be described with reference to the drawings.
  • the embodiments described below are merely examples, and the embodiments to which the present invention is applied are not limited to the following embodiments.
  • FIG. 3 is a configuration diagram of a cryptographic communication system according to the present embodiment.
  • the cryptographic communication system 1 includes an encryption device 10, a decryption device 20, and a key generation device 30.
  • the encryption device 10, the decryption device 20, and the key generation device 30 are connected to each other so as to be able to communicate with each other via a communication network or the like.
  • the key generation device 30 receives the input of the specified bit length data (1 l ), generates the public key pk and the private key sk of the public key cryptosystem, and converts the public key pk and the private key sk into the encryption device 10 and the private key sk. It is transmitted to the decoding device 20.
  • the encryption device 10 includes an encryption unit 11 and a key storage unit 12.
  • the key storage unit 12 stores the public key pk and the private key sk received from the key generation device 30.
  • the encryption unit 11 generates the ciphertext C by encrypting the input message M using the public key pk and the private key sk, and transmits the ciphertext C to the decryption device 20.
  • the decoding device 20 includes a key storage unit 22 and a decoding unit 21.
  • the key storage unit 22 stores the public key pk and the private key sk received from the key generation device 30.
  • the decryption unit 21 obtains the message M by decrypting the ciphertext C received from the encryption device 10 using the public key pk and the private key sk.
  • FIG. 4 is a sequence diagram showing the encrypted communication process according to the present embodiment.
  • the key generation device 30 receives input of bit length designated data (1 l ) by a user operation or the like (step S101). Then, the key generation device 30 executes a key generation process for generating a key having a specified bit length (step S102). Specifically, the key generation device 30 generates a public key pk and a private key sk of a public key cryptosystem.
  • the key generation device 30 transmits the public key pk and the private key sk to the encryption device 10 (step S103).
  • the key storage unit 12 of the encryption device 10 stores the received public key pk and private key sk.
  • the key generation device 30 transmits the public key pk and the private key sk to the decryption device 20 (step S104).
  • the key storage unit 22 of the decryption device 20 stores the received public key pk and private key sk.
  • the encryption device 10 receives the input of the message M by the user's operation or the like (step S105).
  • the encryption unit 11 executes the encryption process (step S106). Specifically, the encryption unit 11 encrypts the message M using the public key pk and the private key sk stored in the key storage unit 12 to generate the ciphertext C.
  • the encryption device 10 transmits the ciphertext C to the decryption device 20 (step S107).
  • the decoding unit 21 of the decoding device 20 executes the decoding process (step S108). Specifically, the decryption unit 21 decrypts the ciphertext C using both the public key pk and the private key sk to obtain the message M.
  • Example A of Embodiment 1 RSA encryption
  • Example A an example of encryption by RSA encryption is shown.
  • RSA cryptography is one of public key cryptography whose security is based on the fact that the problem of factoring a composite number with a large number of digits is difficult.
  • n and e obtained in (i-4) and above be the public key pk, and let d, p and q be the private key sk.
  • n a set of integers of 0 or more and less than n is represented by Zn.
  • Example B of Embodiment 1 Paillier cryptosystem
  • the Paillier cryptosystem is one of the public key cryptosystems that satisfies the property that the ciphertext of m1 + m2 can be calculated from the ciphertext of m1 and the ciphertext of m2 (additive quasi-identity).
  • the key generation device 30 may transmit the parameter k to the encryption device 10 together with the public key pk and the private key sk.
  • the operation of mod n 2 in (ii-2) can be performed using the Chinese Remainder Theorem. That is, the encryption unit 11 converts the bit length into a divisor and executes the remainder operation according to the Chinese Remainder Theorem. Therefore, the cost of calculation can be reduced and the encryption process can be speeded up.
  • the second embodiment will be described below with reference to the drawings.
  • the second embodiment is different from the first embodiment in that the encryption device 10 and the decryption device 20 include a pre-calculation unit and a pre-calculation table storage unit. Therefore, in the following description of the second embodiment, the differences from the first embodiment will be mainly described, and those having the same functional configuration as the first embodiment are used in the description of the first embodiment. A code similar to the code is assigned, and the description thereof will be omitted.
  • FIG. 5 is a configuration diagram of a cryptographic communication system according to the second embodiment.
  • the key generation device 30 receives the input of the system parameter Sys in addition to the bit length designated data (1 l ), and generates the public key pk and the private key sk of the public key cryptosystem. Then, the key generation device 30 transmits the public key pk, the private key sk, and the system parameter Sys to the encryption device 10 and the decryption device 20.
  • the encryption device 10 includes a pre-calculation unit 13 and a pre-calculation table storage unit 14 in addition to the encryption unit 11 and the key storage unit 12.
  • the key storage unit 12 stores the public key pk, the private key sk, and the system parameter Sys received from the key generation device 30.
  • the pre-calculation unit 13 performs pre-calculation.
  • the pre-calculation is an operation performed in advance before the encryption process, and can be performed at a stage where the data to be encrypted (message M, etc.) is not determined.
  • the pre-calculation unit 13 performs pre-calculation based on the public key pk and the system parameter Sys, generates a pre-calculation table TBL, and stores it in the pre-calculation table storage unit 14.
  • the encryption unit 11 generates the ciphertext C by encrypting the input message M using the system parameter Sys and the pre-calculation table TBL in addition to the public key pk and the private key sk, and the decryption device. Send to 20.
  • the decoding device 20 includes a pre-calculation unit 23 and a pre-calculation table storage unit 24 in addition to the decoding unit 21 and the key storage unit 22.
  • the key storage unit 22 stores the public key pk, the private key sk, and the system parameter Sys received from the key generation device 30.
  • the functions of the pre-calculation unit 23 and the pre-calculation table storage unit 24 included in the decryption device 20 are the same as those of the pre-calculation unit 13 and the pre-calculation table storage unit 14 included in the encryption device 10.
  • the decryption unit 21 obtains the message M by decrypting the ciphertext C received from the encryption device 10 by using the system parameter Sys and the pre-calculation table TBL in addition to the public key pk and the private key sk.
  • FIG. 6 is a sequence diagram showing the encrypted communication process according to the second embodiment.
  • step S103 the pre-calculation unit 13 of the encryption device 10 executes the pre-calculation process (step S201).
  • the pre-calculation unit 23 of the decoding device 20 executes the pre-calculation process (step S202).
  • Example C of Embodiment 2 ElGamal encryption
  • ElGamal encryption is one of the public key cryptography whose security is based on the fact that the discrete logarithm problem of a group with a large order is difficult.
  • (I-2) x is randomly selected from ⁇ 0,1,2, ..., q-1 ⁇ .
  • Step S201 Pre-calculation processing
  • the encryption unit 11 executes the following processing.
  • (Iii-1) r is randomly selected from ⁇ 0,1,2, ..., q-1 ⁇ .
  • the encryption unit 11 and the decryption unit 21 perform elliptical scalar multiplication with a fixed basis by using fixed-base expansion using the pre-calculation table TBL.
  • the pre-calculation table storage unit 24 does not need to have a pre-calculation table individually in the elliptical scalar multiplication of H, and can use the pre-calculation table based on G 0 .
  • the pre-calculation table Since the size of the pre-calculation table is related to the total calculation cost, making the pre-calculation table smaller contributes to the reduction of the overall calculation cost. Therefore, according to the configuration of the embodiment C, the table of the pre-calculation becomes smaller than the conventional one, the calculation cost can be reduced, and the encryption process can be speeded up.
  • Example D of Embodiment 2 KH-PKE
  • KH-PKE Keyed-Homomorphic Public-Key Encryption
  • Pre-calculation processing (FIG. 6: Step S201, Step S202)
  • Step S108 The decryption unit 21 obtains the message M by decrypting the ciphertext C using the pre-calculation table TBL.
  • the pre-calculation table TBL is used to execute the process specified in the following encryption algorithm for the message M to obtain the ciphertext C.
  • the size of the pre-calculation table in KH-PKE can be reduced by 50% or more as compared with the conventional method. Since the size of the pre-calculation table is related to the total operation cost, making the pre-operation table smaller contributes to the reduction of the total operation cost. Therefore, according to the configuration of the D embodiment, the table of the pre-calculation becomes small, the calculation cost can be reduced, and the encryption process can be speeded up.
  • the third embodiment will be described below with reference to the drawings.
  • the third embodiment is different from the second embodiment in that the pre-arithmetic logic unit is further provided. Therefore, in the following description of the third embodiment, the differences from the second embodiment will be mainly described, and those having the same functional configuration as the second embodiment are used in the description of the second embodiment. A code similar to the code is assigned, and the description thereof will be omitted.
  • FIG. 7 is a configuration diagram of a cryptographic communication system according to the third embodiment.
  • the cryptographic communication system 1 according to the present embodiment further includes a pre-arithmetic device 40 in addition to each device according to the second embodiment.
  • the pre-calculation device 40 receives the input of the system parameter Sys, generates the pre-calculation table TBL_System, and transmits it to the encryption device 10.
  • the pre-calculation unit 13 of the encryption device 10 generates the pre-calculation table TBL_pk based on the public key pk.
  • the pre-calculation table storage unit 14 stores TBL_System and TBL_pk.
  • the encryption unit 11 encrypts the message M based on the pk, sk and Sys stored in the key storage unit 12 and the TBL_Sys and TBL_pk stored in the pre-calculation table storage unit 14, thereby encrypting the ciphertext C. To generate.
  • FIG. 8 is a sequence diagram showing the encrypted communication process according to the third embodiment.
  • the pre-calculation device 40 receives the input of the system parameter Sys (step S301) and executes the pre-calculation process (step S302). Then, the pre-calculation device 40 transmits the generated pre-calculation table TBL_System to the encryption device 10 (step S303).
  • the pre-calculation unit 13 generates the pre-calculation table TBL_pk based on the public key pk.
  • Example E of Embodiment 3 KH-PKE
  • Example E an example of encryption by KH-PKE in the present embodiment is shown.
  • Pre-calculation processing (FIG. 8: step S201)
  • Pre-calculation processing (FIG. 8: step S302)
  • the pre-calculation amount may be smaller than that of the second embodiment. Therefore, the calculation cost of the encryption device 10 can be further reduced as compared with the second embodiment, and the encryption process can be further speeded up.
  • the fourth embodiment will be described below with reference to the drawings.
  • the fourth embodiment is different from the third embodiment in that the encryption device 10 does not include a pre-calculation unit. Therefore, in the following description of the fourth embodiment, the differences from the third embodiment will be mainly described, and those having the same functional configuration as the third embodiment are used in the description of the third embodiment. A code similar to the code is assigned, and the description thereof will be omitted.
  • FIG. 9 is a configuration diagram of the cryptographic communication system according to the fourth embodiment.
  • the encryption device 10 according to the present embodiment does not include the pre-calculation unit 13 according to the third embodiment. Therefore, the pre-calculation table storage unit 14 stores the pre-calculation table TBL_System based on the system parameter Sys. That is, the pre-calculation table storage unit 14 does not store the pre-calculation table TBL_pk based on the public key pk).
  • the encryption unit 11 generates the ciphertext C by encrypting the message M based on the pk, sk and Sys stored in the key storage unit 12 and the TBL_System stored in the pre-calculation table storage unit 14. do.
  • FIG. 10 is a sequence diagram showing the encrypted communication process according to the fourth embodiment.
  • the encryption device 10 does not execute the pre-calculation process (the process corresponding to step S201 in FIG. 8 does not exist in FIG. 10).
  • Example F of Embodiment 4 ElGamal encryption
  • Example F an example of encryption by ElGamal encryption in the present embodiment is shown. Details of each process using ElGamal encryption are as follows.
  • Pre-calculation processing (FIG. 10: step S302)
  • the encryption device 10 can be configured not to perform pre-calculation processing.
  • the encryption device 10 can be configured not to perform pre-calculation processing.
  • Example F and Example G since the encryption device 10 does not perform the pre-calculation processing, the calculation cost by the encryption device 10 can be further reduced.
  • the configuration of the fourth embodiment increases the load of the encryption process at the cost of reducing the load of the pre-calculation as compared with the configuration of the third embodiment. Therefore, when constructing the cryptographic communication system 1, a more appropriate configuration can be made by selecting either form in consideration of the trade-off between the two.
  • the encryption device 10, the decryption device 20, the key generation device 30, and the pre-arithmetic device 40 (these are collectively referred to as "devices") all provide, for example, a computer with the processing contents described in the present embodiment. This can be achieved by executing the written program.
  • the "computer” may be a physical machine or a virtual machine on the cloud. When using a virtual machine, the “hardware” described here is virtual hardware.
  • the above program can be recorded on a computer-readable recording medium (portable memory, etc.), saved, and distributed. It is also possible to provide the above program through a network such as the Internet or e-mail.
  • FIG. 11 is a diagram showing a hardware configuration example of the above computer.
  • the computer of FIG. 11 has a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, an output device 1008, and the like, each of which is connected to each other by a bus B.
  • the program that realizes the processing on the computer is provided by, for example, a recording medium 1001 such as a CD-ROM or a memory card.
  • a recording medium 1001 such as a CD-ROM or a memory card.
  • the program is installed in the auxiliary storage device 1002 from the recording medium 1001 via the drive device 1000.
  • the program does not necessarily have to be installed from the recording medium 1001, and may be downloaded from another computer via the network.
  • the auxiliary storage device 1002 stores the installed program and also stores necessary files, data, and the like.
  • the memory device 1003 reads and stores the program from the auxiliary storage device 1002 when the program is instructed to start.
  • the CPU 1004 realizes the function related to the device according to the program stored in the memory device 1003.
  • the interface device 1005 is used as an interface for connecting to a network.
  • the display device 1006 displays a programmatic GUI (Graphical User Interface) or the like.
  • the input device 1007 is composed of a keyboard, a mouse, buttons, a touch panel, and the like, and is used for inputting various operation instructions.
  • the output device 1008 outputs the calculation result.
  • the key generation device 30 generates the public key pk and the private key sk is shown, but the scope of the present invention is not limited to this, and the encryption device 10 or the decryption device 20 is the public key. You may generate a pk and a private key sk.
  • This specification describes at least the encryption device, the encryption communication system, the encryption method and the program described in each of the following sections.
  • (Section 1) A key storage unit that stores the private key and public key of public key cryptography, It includes an encryption unit that encrypts communication data using the private key and the public key.
  • Cryptographic device. The encryption unit encrypts the communication data by using a pre-calculation table generated by a device different from the encryption device. The encryption device according to paragraph 1.
  • (Section 3) The encryption unit encrypts the communication data by ElGamal encryption or KH-PKE.
  • the encryption unit converts the remainder into a divisor with a short bit length according to the Chinese Remainder Theorem and executes the remainder operation.
  • the encryption device according to any one of paragraphs 1 to 3.
  • the encryption unit encrypts the communication data by RSA encryption or Paillier encryption.
  • the encryption device according to item 4. (Section 6) A cryptographic communication system including an encryption device and a decryption device that perform cryptographic communication with each other.
  • the encryption device is A key storage unit that stores the private key and public key of public key cryptography, It is provided with an encryption unit that encrypts communication data using the private key and the public key.
  • the decoding device A key storage unit that stores the private key and the public key, A decryption unit that decrypts communication data encrypted by the encryption device using the private key.
  • Cryptographic communication system (Section 7) A method performed by an encryption device that stores the private key and public key of public key cryptography. A step of encrypting communication data using the private key and the public key. Encryption method. (Section 8) A program for making a computer function as each part in the encryption device according to any one of the items 1 to 5.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

公開鍵暗号方式の秘密鍵および公開鍵を記憶する鍵記憶部と、前記秘密鍵および前記公開鍵を用いて、通信データを暗号化する暗号化部と、を備える暗号化装置である。

Description

暗号化装置、暗号通信システム、暗号化方法およびプログラム
 本発明は、暗号化装置、暗号通信システム、暗号化方法およびプログラムに関する。
 オンラインデータ通信における通信内容の暗号化の方式として、共通鍵暗号方式および公開鍵暗号方式の2つの暗号方式が知られている。また、2つの暗号方式を組み合わせたハイブリッド型の暗号が知られている。
 例えば、非特許文献1には、通信内容を共通鍵暗号方式で暗号化し、共通鍵暗号方式で用いた鍵を公開鍵暗号方式で暗号化する方法が開示されている。この方法は、公開鍵暗号方式の暗号化および復号の処理が共通鍵暗号方式と比較して非常に遅いことに対応する方法である。具体的には、この方法では、通信データについては、通信データの長さに応じた回数分繰り返されるために、高速な共通鍵暗号方式を用いて暗号化し、配送する鍵については、共通鍵暗号方式に生じる鍵配送問題を解決するために、公開鍵暗号方式を用いて暗号化する。
森山大輔,西巻陵,岡本龍明,「公開鍵暗号の数理」,共立出版株式会社,2011年,p.147-154
 オンライン会議システムでは、少ない通信帯域で通信を行うため、各端末から収集した音声などのデータをサービス提供サーバで合成(加算)して各端末に送信する方式がある。また、サービス提供者に対しても通信内容を秘匿するエンドツーエンド暗号化通信を実現したいという要望がある。
 暗号化された通信内容の加算などの処理を行うにはサービス提供サーバで一度平文に直すことが考えられる。しかし、その場合、サービス提供者に対して通信内容を秘匿することができず、エンドツーエンド暗号化通信を実現できない。
 そこで、サービス提供者に対しても通信内容を秘匿する完全なエンドツーエンド暗号化は、暗号化したままサーバ上で加算できる準同型性を持つ特別な暗号を使用することによって実現される。そして、これまでの研究において、準同型性はElGamal暗号などに代表される公開鍵暗号方式にあることがわかっている。
 このように、暗号通信の利用目的によっては、配送する鍵だけではなく、通信データについても非特許文献1のような共通鍵暗号方式ではなく、公開鍵暗号方式を用いて暗号化する必要がある。
 しかしながら、従来の公開鍵暗号方式による暗号化処理は非常に遅く、テレビ会議システムなどのリアルタイム通信における処理には使用できないという問題がある。
 開示の技術は、公開鍵暗号方式を用いた暗号化処理を高速化させることを目的とする。
 開示の技術は、公開鍵暗号方式の秘密鍵および公開鍵を記憶する鍵記憶部と、前記秘密鍵および前記公開鍵を用いて、通信データを暗号化する暗号化部と、を備える暗号化装置である。
 公開鍵暗号方式を用いた暗号化処理を高速化させることができる。
従来の公開鍵暗号方式における暗号化装置を説明するための図である。 本発明の実施の形態に係る公開鍵暗号方式における暗号化装置を説明するための図である。 実施の形態1に係る暗号通信システムの構成図である。 実施の形態1に係る暗号通信処理を示すシーケンス図である。 実施の形態2に係る暗号通信システムの構成図である。 実施の形態2に係る暗号通信処理を示すシーケンス図である。 実施の形態3に係る暗号通信システムの構成図である。 実施の形態3に係る暗号通信処理を示すシーケンス図である。 実施の形態4に係る暗号通信システムの構成図である。 実施の形態4に係る暗号通信処理を示すシーケンス図である。 各装置のハードウェア構成例を示す図である。
 以下、図面を参照して本発明の実施の形態を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
 本実施の形態に係る技術を説明する前に、まずは、本実施の形態の暗号化に関連する従来技術とその課題を説明する。
 (従来技術について)
 従来の公開鍵暗号方式について、図1を参照して説明する。
 図1に示すように、従来の暗号化装置は、メッセージMおよび公開鍵pkの入力を受けると、公開鍵pkを用いてメッセージMを暗号化し、暗号文Cを出力する。
 しかし、公開鍵pkを使用した暗号化処理は、演算に時間がかかるため、テレビ会議システム等のようなリアルタイム性が求められる暗号通信には適していない。
 以下、上記の課題を解決する本実施の形態に係る技術を説明する。
 (本実施の形態の概要)
 まず、本実施の形態に係る技術の概要を説明する。図2は、本実施の形態に係る公開鍵暗号方式における暗号化装置を説明するための図である。
 本実施の形態に係る暗号方式では、図2に示すように、暗号化装置は、メッセージM、公開鍵pkおよび秘密鍵skの入力を受けると、公開鍵pkおよび秘密鍵skを用いてメッセージMを暗号化し、暗号文Cを出力する。すなわち、暗号化装置が、暗号化プロセスにおいて、公開鍵pkだけでなく、秘密鍵skを使う点が、従来技術と異なる。なお、メッセージMは、暗号通信における通信データの一例である。また、暗号文Cは、暗号化された通信データの一例である。
 (実施の形態1)
 以下、図面を参照して本発明の実施の形態1を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
 図3は、本実施の形態に係る暗号通信システムの構成図である。図3に示すように、暗号通信システム1は、暗号化装置10と、復号装置20と、鍵生成装置30と、を備える。暗号化装置10、復号装置20、および鍵生成装置30は、通信ネットワーク等を介して互いに通信可能に接続されている。
 鍵生成装置30は、ビット長の指定データ(1)の入力を受けて、公開鍵暗号方式の公開鍵pkおよび秘密鍵skを生成し、公開鍵pkおよび秘密鍵skを暗号化装置10および復号装置20に送信する。
 暗号化装置10は、暗号化部11と、鍵記憶部12と、を備える。鍵記憶部12は、鍵生成装置30から受信した公開鍵pkと秘密鍵skとを記憶する。暗号化部11は、入力されたメッセージMを、公開鍵pkおよび秘密鍵skを使用して暗号化することによって暗号文Cを生成し、復号装置20に送信する。
 復号装置20は、鍵記憶部22と、復号部21と、を備える。鍵記憶部22は、鍵生成装置30から受信した公開鍵pkと秘密鍵skとを記憶する。復号部21は、暗号化装置10から受信した暗号文Cを、公開鍵pkおよび秘密鍵skを使用して復号することによって、メッセージMを得る。
 次に、本実施の形態に係る暗号通信システム1の動作について説明する。図4は、本実施の形態に係る暗号通信処理を示すシーケンス図である。
 鍵生成装置30は、ユーザの操作等によって、ビット長の指定データ(1)の入力を受ける(ステップS101)。そして、鍵生成装置30は、指定されたビット長の鍵を生成する鍵生成処理を実行する(ステップS102)。具体的には、鍵生成装置30は、公開鍵暗号方式の公開鍵pkおよび秘密鍵skを生成する。
 次に、鍵生成装置30は、公開鍵pkおよび秘密鍵skを暗号化装置10に送信する(ステップS103)。暗号化装置10の鍵記憶部12は、受信した公開鍵pkおよび秘密鍵skを記憶する。同様に、鍵生成装置30は、公開鍵pkおよび秘密鍵skを復号装置20に送信する(ステップS104)。復号装置20の鍵記憶部22は、受信した公開鍵pkおよび秘密鍵skを記憶する。
 暗号化装置10は、ユーザの操作等によって、メッセージMの入力を受ける(ステップS105)。暗号化部11は、暗号化処理を実行する(ステップS106)。具体的には、暗号化部11は、鍵記憶部12に記憶された公開鍵pkおよび秘密鍵skを用いて、メッセージMを暗号化して暗号文Cを生成する。
 暗号化装置10は、暗号文Cを復号装置20に送信する(ステップS107)。復号装置20の復号部21は、復号処理を実行する(ステップS108)。具体的には、復号部21は、公開鍵pkと秘密鍵skの両方を用いて暗号文Cを復号し、メッセージMを得る。
 以下、本実施の形態に係る処理の詳細について、いくつかの実施例を説明する。
 (実施の形態1の実施例A:RSA暗号)
 実施例Aでは、RSA暗号によって暗号化する例を示す。RSA暗号は、桁数が大きい合成数の素因数分解問題が困難であることを安全性の根拠とした公開鍵暗号の一つである。
 RSA暗号を使用した各処理の詳細は以下である。
 (i)鍵生成処理(図4:ステップS102)
  鍵生成装置30は、1が入力されると、公開鍵pk=(n,e)と秘密鍵sk=(d,p,q)とを出力する。ここでp,qは、互いに同等程度のビット長の素数である。鍵生成装置30が実行する具体的な処理の詳細は以下の通りである。
  (i―1)p,qを同等程度のビット長の素数とし、n=pqとする。
  (i―2)φ(n)=(p-1)(q-1)とする。
  (i―3)eをφ(n)未満の正の整数でφ(n)と互いに素な数とする。また、dをφ(n)を法としたeの逆数とする。これらの数値の選択方法により、de≡1(mod φ(n))が成立する。
  (i―4)以上で得られたn,eを公開鍵pkとし、d,p,qを秘密鍵skとする。
 以下では、0以上n未満の整数の集合をZnで表す。
 (ii)暗号化処理(図4:ステップS106)
  メッセージMをZnの元とする。
  暗号化部11は、C=M mod nを計算し、暗号文Cを出力する。
 (iii)復号処理(図4:ステップS108)
  復号部21は、暗号文Cに対して以下の計算を行い、平文のメッセージMを得る。
  M=C mod n
 特に(ii)暗号化処理において、暗号化部11は、公開鍵pk=(n,e)に加えて、秘密鍵sk=(d,p,q)を使用できる。そして、暗号化部11は、中国の剰余定理によって、mod nをmod pとmod qの組み合わせに置き換えることができる。すなわち、暗号化部11は、中国の剰余定理によって、ビット長の短い除数に変換して剰余演算を実行する。したがって、演算のコストを減らし、暗号化処理を高速化させることができる。
 (実施の形態1の実施例B:Paillier暗号)
 実施例Bでは、Paillier暗号によって暗号化する例を示す。Paillier暗号は、m1の暗号文とm2の暗号文からm1+m2の暗号文を計算出来る(加法準同型性)という性質を満たす公開鍵暗号の一つである。
 Paillier暗号を使用した各処理の詳細は以下である。
 (i)鍵生成処理(図4:ステップS102)
  鍵生成装置30が実行する具体的な処理の詳細は以下の通りである。
  (i―1)2つの大きな素数p,qをランダムに選び、n=pqとする。
  (i―2)kをZnから任意に選び、g=1+kn mod nとする。
  (i―3)公開鍵pk=(n,g)、秘密鍵sk=(p,q)とする。
 (ii)暗号化処理(図4:ステップS106)
  (ii-1)暗号化部11は、
Figure JPOXMLDOC01-appb-M000001
 からランダムにrを選ぶ。
  (ii-2)C=g・r mod nが暗号文である。
 (iii)復号処理(図4:ステップS108)
  (iii-1)λ=lcm(p-1,q-1)とする。
  (iii-1)復号部21は、M=L(Cλ mod n)/L(gλ mod n) mod nを計算し、元のメッセージを得る。
 特に(ii)暗号化処理において、暗号化部11は、公開鍵pk=(n,g)に加えて、秘密鍵sk=(p,q)と、鍵生成過程で生じたパラメータkと、を使用できる。なお、鍵生成装置30は、公開鍵pkおよび秘密鍵skとともに、パラメータkを暗号化装置10に送信しておけば良い。これによって、(ii-2)におけるmod nの演算を中国の剰余定理を用いて行うことができる。すなわち、暗号化部11は、中国の剰余定理によって、ビット長の短い除数に変換して剰余演算を実行する。したがって、演算のコストを減らし、暗号化処理を高速化させることができる。
 (実施の形態2)
 以下に図面を参照して、実施の形態2について説明する。実施の形態2は、暗号化装置10および復号装置20が事前演算部と事前演算テーブル記憶部を備える点が、実施の形態1と相違する。よって、以下の実施の形態2の説明では、実施の形態1との相違点を中心に説明し、実施の形態1と同様の機能構成を有するものには、実施の形態1の説明で用いた符号と同様の符号を付与し、その説明を省略する。
 図5は、実施の形態2に係る暗号通信システムの構成図である。本実施の形態に係る鍵生成装置30は、ビット長の指定データ(1)に加えて、システムパラメータSysの入力を受けて、公開鍵暗号方式の公開鍵pkおよび秘密鍵skを生成する。そして、鍵生成装置30は、公開鍵pk、秘密鍵skおよびシステムパラメータSysを、暗号化装置10および復号装置20に送信する。
 暗号化装置10は、暗号化部11および鍵記憶部12に加えて、事前演算部13と、事前演算テーブル記憶部14と、を備える。鍵記憶部12は、鍵生成装置30から受信した公開鍵pkと秘密鍵skとシステムパラメータSysとを記憶する。
 事前演算部13は、事前演算を行う。事前演算は、暗号化処理の前にあらかじめ行う演算であって、暗号化の対象データ(メッセージM等)が決定しない段階で行うことのできる演算である。具体的には、事前演算部13は、公開鍵pkおよびシステムパラメータSysに基づいて、事前演算を行い、事前演算テーブルTBLを生成し、事前演算テーブル記憶部14に格納する。
 暗号化部11は、入力されたメッセージMを、公開鍵pkおよび秘密鍵skに加えて、システムパラメータSysおよび事前演算テーブルTBLを使用して暗号化することによって暗号文Cを生成し、復号装置20に送信する。
 同様に、復号装置20は、復号部21および鍵記憶部22に加えて、事前演算部23と、事前演算テーブル記憶部24と、を備える。鍵記憶部22は、鍵生成装置30から受信した公開鍵pkと秘密鍵skとシステムパラメータSysとを記憶する。
 復号装置20が備える事前演算部23および事前演算テーブル記憶部24の機能は、暗号化装置10が備える事前演算部13および事前演算テーブル記憶部14と同様である。
 復号部21は、暗号化装置10から受信した暗号文Cを、公開鍵pkおよび秘密鍵skに加えて、システムパラメータSysおよび事前演算テーブルTBLを使用して復号することによって、メッセージMを得る。
 次に、本実施の形態に係る暗号通信システム1の動作について説明する。図6は、実施の形態2に係る暗号通信処理を示すシーケンス図である。
 本実施の形態に係る暗号通信処理においては、ステップS103に続いて、暗号化装置10の事前演算部13は事前演算処理を実行する(ステップS201)。同様に、ステップS104に続いて、復号装置20の事前演算部23は、事前演算処理を実行する(ステップS202)。
 以下、本実施の形態に係る処理の詳細について、いくつかの実施例を説明する。
 (実施の形態2の実施例C:ElGamal暗号)
 実施例Cでは、ElGamal暗号によって暗号化する例を示す。ElGamal暗号は、位数が大きな群の離散対数問題が困難であることを安全性の根拠とした公開鍵暗号の一つである。
 ElGamal暗号を使用した各処理の詳細は以下である。
 (i)鍵生成処理(図6:ステップS102)
  鍵生成装置30は、1およびSys=(G,G)が入力されると、公開鍵pk=(q,H)と秘密鍵sk=xとシステムパラメータSys=(G,G)とを出力する。鍵生成装置30が実行する具体的な処理の詳細は以下の通りである。
  (i―1)巡回群Gで位数qが素数であり、かつqのビット数がkであるものを選ぶ。
  (i―2)xを{0,1,2,・・・,q-1}からランダムに選ぶ。
  (i―3)H=xGとする。
  (i―4)(q,H)を公開鍵pk、xを秘密鍵skとする。
 (ii)事前演算処理(図6:ステップS201,ステップS202)
  事前演算部13および事前演算部23は、pk=(q,H)およびSys=(G,G)に基づいて事前演算テーブルTBL=(G[0][0],G[0][1],G[0][2]・・・G[i][j])を生成する。
 (iii)暗号化処理(図6:ステップS106)
  Gの元Mを平文とする。
  暗号化部11は、以下の処理を実行する。
  (iii-1)rを{0,1,2,・・・,q-1}からランダムに選ぶ。
  (iii-2)C1=rG,C2=M+rHを計算する。
  (iii-3)(C1,C2)を暗号文とする。
 (iv)復号処理(図6:ステップS108)
  復号部21は、受け取った暗号文(C1,C2)を用いて以下の計算を行う。
  M=C2-xC1
 上記の暗号化処理および復号処理において、暗号化部11および復号部21は、基底の定まった楕円スカラー倍算を、事前演算テーブルTBLを利用したfixed-base exponentiationを用いて行う。
 特に(ii)暗号化処理において、公開鍵pk=(q,H)に加えて、秘密鍵sk=(x)を使用できることによって、暗号化部11は、HをxGにより演算することができる。これによって、事前演算テーブル記憶部24は、Hの楕円スカラー倍算においては個別に事前演算テーブルを所持する必要がなくなり、Gに基づく事前演算テーブルを利用することができる。
 事前演算テーブルの大きさは、全体の演算コストに関連するため、事前演算テーブルを小さくすることは全体の演算コストの削減に寄与する。したがって、実施例Cの構成によれば、従来よりも事前演算のテーブルが小さくなり、演算コストを削減し、暗号化処理を高速化させることができる。
 (実施の形態2の実施例D:KH-PKE)
 実施例Dでは、鍵付き準同型公開鍵暗号(Keyed-Homomorphic Public-Key Encryption;KH-PKE)によって暗号化する例を示す。KH-PKEは、下記の参考文献[1]に発表された暗号化方式である。
 [実施例Dの参考文献]
[1] Emura, K., Hanaoka, G., Nuida, K. et al. Chosen ciphertext secure keyed-homomorphic public-key cryptosystems. Des. Codes Cryptogr. 86, 1623-1683 (2018). https://doi.org/10.1007/s10623-017-0417-6
 KH-PKEを使用した各処理の詳細は以下である。
 (i)鍵生成処理(図6:ステップS102)
  鍵生成装置30は、1およびSys=(G,G,G)が入力されると、公開鍵pk=Sおよび秘密鍵
Figure JPOXMLDOC01-appb-M000002
を生成する。
 (ii)事前演算処理(図6:ステップS201,ステップS202)
  事前演算部13および事前演算部23は、pk=SおよびSys=(G,G,G)に基づいて事前演算テーブルTBL=((G[0][0],G[0][1],G[0][2]・・・G[i][j]),(G[0][0],G[0][1],G[0][2]・・・G[i][j]),(S[0][0],S[0][1],S[0][2]・・・S[i][j]))を生成する。
 (iii)暗号化処理(図6:ステップS106)
  暗号化部11は、事前演算テーブルTBLを使用して、メッセージMに対して以下の暗号化アルゴリズムに規定された処理を実行し、暗号文Cを得る。
Figure JPOXMLDOC01-appb-M000003
 (iv)復号処理(図6:ステップS108)
  復号部21は、事前演算テーブルTBLを使用して暗号文Cを復号することによってメッセージMを得る。
 比較のために従来の方法について説明する。従来のKH-PKEでは、暗号化処理において秘密鍵skを使用しないため、事前演算テーブルTBLとして以下を使用する。
Figure JPOXMLDOC01-appb-M000004
 そして、暗号化処理においては、事前演算テーブルTBLを使用して、メッセージMに対して以下の暗号化アルゴリズムに規定された処理を実行し、暗号文Cを得る。
Figure JPOXMLDOC01-appb-M000005
 上述した実施例Dの方法によれば、KH-PKEにおける事前演算テーブルのサイズは、従来の方法に対して50%以上小さくすることができる。事前演算テーブルの大きさは、全体の演算コストに関連するため、事前演算テーブルを小さくすることは全体の演算コストの削減に寄与する。したがって、実施例Dの構成によれば、事前演算のテーブルが小さくなり、演算コストを削減し、暗号化処理を高速化させることができる。
 (実施の形態3)
 以下に図面を参照して、実施の形態3について説明する。実施の形態3は、事前演算装置をさらに備える点が、実施の形態2と相違する。よって、以下の実施の形態3の説明では、実施の形態2との相違点を中心に説明し、実施の形態2と同様の機能構成を有するものには、実施の形態2の説明で用いた符号と同様の符号を付与し、その説明を省略する。
 図7は、実施の形態3に係る暗号通信システムの構成図である。本実施の形態に係る暗号通信システム1は、実施の形態2に係る各装置に加えて、事前演算装置40をさらに備える。
 事前演算装置40は、システムパラメータSysの入力を受けて、事前演算テーブルTBL_Sysを生成し、暗号化装置10に送信する。
 暗号化装置10の事前演算部13は、公開鍵pkに基づく事前演算テーブルTBL_pkを生成する。事前演算テーブル記憶部14は、TBL_SysおよびTBL_pkを記憶する。
 暗号化部11は、鍵記憶部12が記憶するpk、skおよびSysと、事前演算テーブル記憶部14が記憶するTBL_SysおよびTBL_pkと、に基づいて、メッセージMを暗号化することによって、暗号文Cを生成する。
 次に、本実施の形態に係る暗号通信システム1の動作について説明する。図8は、実施の形態3に係る暗号通信処理を示すシーケンス図である。
 本実施の形態に係る暗号通信処理においては、事前演算装置40は、システムパラメータSysの入力を受けて(ステップS301)、事前演算処理を実行する(ステップS302)。そして、事前演算装置40は、生成された事前演算テーブルTBL_Sysを暗号化装置10に送信する(ステップS303)。
 また、ステップS201における事前演算処理では、事前演算部13は、公開鍵pkに基づく事前演算テーブルTBL_pkを生成する。
 (実施の形態3の実施例E:KH-PKE)
 実施例Eでは、本実施の形態においてKH-PKEによって暗号化する例を示す。
 (i)事前演算処理(図8:ステップS201)
  事前演算部13は、pk=Sに基づいて事前演算テーブルTBL_pk=(S[0][0],S[0][1],S[0][2]・・・S[i][j])を生成する。
を生成する。
 (ii)事前演算処理(図8:ステップS302)
  事前演算装置40は、Sys=(G,G,G)に基づいて、事前演算テーブルTBL_Sys=((G[0][0],G[0][1],G[0][2]・・・G[i][j]),(G[0][0],G[0][1],G[0][2]・・・G[i][j]))を生成する。
 (iii)暗号化処理(図8:ステップS106)
  暗号化部11は、メッセージMに対して、実施の形態2に係る暗号化アルゴリズムと同様の処理を実行し、暗号文Cを得る。
 本実施の形態に係る暗号通信システム1によれば、暗号化装置10は、システムパラメータSysに基づく事前演算を行わないため、実施の形態2と比較して、事前演算量が少なくて良い。したがって、暗号化装置10の演算コストを実施の形態2よりもさらに削減し、暗号化処理をさらに高速化させることができる。
 (実施の形態4)
 以下に図面を参照して、実施の形態4について説明する。実施の形態4は、暗号化装置10が事前演算部を備えていない点が、実施の形態3と相違する。よって、以下の実施の形態4の説明では、実施の形態3との相違点を中心に説明し、実施の形態3と同様の機能構成を有するものには、実施の形態3の説明で用いた符号と同様の符号を付与し、その説明を省略する。
 図9は、実施の形態4に係る暗号通信システムの構成図である。本実施の形態に係る暗号化装置10は、実施の形態3に係る事前演算部13を備えていない。したがって、事前演算テーブル記憶部14は、システムパラメータSysに基づく事前演算テーブルTBL_Sysを記憶する。すなわち、事前演算テーブル記憶部14は、公開鍵pkに基づく事前演算テーブルTBL_pkを記憶しない)。
 暗号化部11は、鍵記憶部12が記憶するpk、skおよびSysと、事前演算テーブル記憶部14が記憶するTBL_Sysと、に基づいて、メッセージMを暗号化することによって、暗号文Cを生成する。
 次に、本実施の形態に係る暗号通信システム1の動作について説明する。図10は、実施の形態4に係る暗号通信処理を示すシーケンス図である。
 本実施の形態に係る暗号通信処理においては、暗号化装置10は事前演算処理を実行しない(図8のステップS201に相当する処理が図10に存在しない)。
 (実施の形態4の実施例F:ElGamal暗号)
 実施例Fでは、本実施の形態においてElGamal暗号によって暗号化する例を示す。ElGamal暗号を使用した各処理の詳細は以下である。
 (ii)事前演算処理(図10:ステップS302)
  事前演算装置40は、Sys=(G,G)に基づいて事前演算テーブルTBL=(G[0][0],G[0][1],G[0][2]・・・G[i][j])を生成する。
 ElGamal暗号における暗号化部11は、skを利用した暗号化を行うため、システムパラメータSys=(G,G)に基づく事前演算テーブルTBL=(G[0][0],G[0][1],G[0][2]・・・G[i][j])を使用すれば足りる。これによって、暗号化装置10は、事前演算処理を行わない構成とすることができる。
 (実施の形態4の実施例G:KH-PKE)
 (i)事前演算処理(図10:ステップS302)
  事前演算装置40は、Sys=(G,G,G)に基づいて、事前演算テーブルTBL_Sys=((G[0][0],G[0][1],G[0][2]・・・G[i][j]),(G[0][0],G[0][1],G[0][2]・・・G[i][j]))を生成する。
 (iii)暗号化処理(図8:ステップS106)
  暗号化部11は、メッセージMに対して以下の暗号化アルゴリズムに規定された処理を実行し、暗号文Cを得る。
Figure JPOXMLDOC01-appb-M000006
 この暗号化アルゴリズムによれば、暗号化部11は、システムパラメータSys=(G,G,G)に基づく事前演算テーブルTBL_Sys=((G[0][0],G[0][1],G[0][2]・・・G[i][j]),(G[0][0],G[0][1],G[0][2]・・・G[i][j]))を用いて暗号化することができる。これによって、暗号化装置10は、事前演算処理を行わない構成とすることができる。
 上述した実施例Fおよび実施例Gの方法によれば、暗号化装置10が事前演算処理を行わないため、暗号化装置10による演算コストをさらに削減することができる。なお、実施の形態4の構成は、実施の形態3の構成と比較して、事前演算の負荷が削減する代わりに、暗号化処理の負荷が増加する。したがって、暗号通信システム1を構築する際は、両者のトレードオフを考慮して、いずれかの形態を選択することによって、より適切な構成とすることができる。
 (ハードウェア構成例)
 暗号化装置10、復号装置20、鍵生成装置30および事前演算装置40(これらを総称して「装置」と呼ぶ)は、いずれも、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。なお、この「コンピュータ」は、物理マシンであってもよいし、クラウド上の仮想マシンであってもよい。仮想マシンを使用する場合、ここで説明する「ハードウェア」は仮想的なハードウェアである。
 上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
 図11は、上記コンピュータのハードウェア構成例を示す図である。図11のコンピュータは、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。
 当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
 メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
 上述した各実施の形態において、鍵生成装置30が公開鍵pkおよび秘密鍵skを生成する例を示したが、本発明の範囲はこれに限られず、暗号化装置10または復号装置20が公開鍵pkおよび秘密鍵skを生成しても良い。
 (実施の形態のまとめ)
 本明細書には、少なくとも下記の各項に記載した暗号化装置、暗号通信システム、暗号化方法およびプログラムが記載されている。
(第1項)
 公開鍵暗号方式の秘密鍵および公開鍵を記憶する鍵記憶部と、
 前記秘密鍵および前記公開鍵を用いて、通信データを暗号化する暗号化部と、を備える、
 暗号化装置。
(第2項)
 前記暗号化部は、前記暗号化装置とは異なる装置で生成された事前演算テーブルを使用して、前記通信データを暗号化する、
 第1項に記載の暗号化装置。
(第3項)
 前記暗号化部は、ElGamal暗号またはKH-PKEによって前記通信データを暗号化する、
 第2項に記載の暗号化装置。
(第4項)
 前記暗号化部は、中国の剰余定理によってビット長の短い除数に変換して剰余演算を実行する、
 第1項から第3項のいずれか1項に記載の暗号化装置。
(第5項)
 前記暗号化部は、RSA暗号またはPaillier暗号によって前記通信データを暗号化する、
 第4項に記載の暗号化装置。
(第6項)
 互いに暗号通信を行う暗号化装置と復号装置とを備える暗号通信システムであって、
 前記暗号化装置は、
 公開鍵暗号方式の秘密鍵および公開鍵を記憶する鍵記憶部と、
 前記秘密鍵および前記公開鍵を用いて、通信データを暗号化する暗号化部と、を備え、
 前記復号装置は、
 前記秘密鍵および前記公開鍵を記憶する鍵記憶部と、
 前記暗号化装置によって暗号化された通信データを、前記秘密鍵を用いて復号する復号部と、を備える、
 暗号通信システム。
(第7項)
 公開鍵暗号方式の秘密鍵および公開鍵を記憶する暗号化装置が実行する方法であって、
 前記秘密鍵および前記公開鍵を用いて、通信データを暗号化するステップを備える、
 暗号化方法。
(第8項)
 コンピュータを第1項から第5項のいずれか1項に記載の暗号化装置における各部として機能させるためのプログラム。
 以上、各実施の形態について説明したが、本発明はかかる特定の実施の形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
 1 暗号通信システム
 10 暗号化装置
 11 暗号化部
 12 鍵記憶部
 13 事前演算部
 14 事前演算テーブル記憶部
 20 復号装置
 21 復号部
 22 鍵記憶部
 23 事前演算部
 24 事前演算テーブル記憶部
 30 鍵生成装置
 40 事前演算装置

Claims (8)

  1.  公開鍵暗号方式の秘密鍵および公開鍵を記憶する鍵記憶部と、
     前記秘密鍵および前記公開鍵を用いて、通信データを暗号化する暗号化部と、を備える、
     暗号化装置。
  2.  前記暗号化部は、前記暗号化装置とは異なる装置で生成された事前演算テーブルを使用して、前記通信データを暗号化する、
     請求項1に記載の暗号化装置。
  3.  前記暗号化部は、ElGamal暗号またはKH-PKEによって前記通信データを暗号化する、
     請求項2に記載の暗号化装置。
  4.  前記暗号化部は、中国の剰余定理によってビット長の短い除数に変換して剰余演算を実行する、
     請求項1から3のいずれか1項に記載の暗号化装置。
  5.  前記暗号化部は、RSA暗号またはPaillier暗号によって前記通信データを暗号化する、
     請求項4に記載の暗号化装置。
  6.  互いに暗号通信を行う暗号化装置と復号装置とを備える暗号通信システムであって、
     前記暗号化装置は、
     公開鍵暗号方式の秘密鍵および公開鍵を記憶する鍵記憶部と、
     前記秘密鍵および前記公開鍵を用いて、通信データを暗号化する暗号化部と、を備え、
     前記復号装置は、
     前記秘密鍵および前記公開鍵を記憶する鍵記憶部と、
     前記暗号化装置によって暗号化された通信データを、前記秘密鍵を用いて復号する復号部と、を備える、
     暗号通信システム。
  7.  公開鍵暗号方式の秘密鍵および公開鍵を記憶する暗号化装置が実行する方法であって、
     前記秘密鍵および前記公開鍵を用いて、通信データを暗号化するステップを備える、
     暗号化方法。
  8.  コンピュータを請求項1から5のいずれか1項に記載の暗号化装置における各部として機能させるためのプログラム。
PCT/JP2021/001112 2021-01-14 2021-01-14 暗号化装置、暗号通信システム、暗号化方法およびプログラム WO2022153456A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US18/258,932 US20240048362A1 (en) 2021-01-14 2021-01-14 Encryption apparatus, cypher communication system, encryption method and program
JP2022574966A JPWO2022153456A1 (ja) 2021-01-14 2021-01-14
PCT/JP2021/001112 WO2022153456A1 (ja) 2021-01-14 2021-01-14 暗号化装置、暗号通信システム、暗号化方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/001112 WO2022153456A1 (ja) 2021-01-14 2021-01-14 暗号化装置、暗号通信システム、暗号化方法およびプログラム

Publications (1)

Publication Number Publication Date
WO2022153456A1 true WO2022153456A1 (ja) 2022-07-21

Family

ID=82448106

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/001112 WO2022153456A1 (ja) 2021-01-14 2021-01-14 暗号化装置、暗号通信システム、暗号化方法およびプログラム

Country Status (3)

Country Link
US (1) US20240048362A1 (ja)
JP (1) JPWO2022153456A1 (ja)
WO (1) WO2022153456A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132096A (ja) * 1998-10-27 2000-05-12 Fujitsu Ltd スカラー倍算方法およびその装置
JP2004246350A (ja) * 2003-01-24 2004-09-02 Sharp Corp 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
US20050002532A1 (en) * 2002-01-30 2005-01-06 Yongxin Zhou System and method of hiding cryptographic private keys
JP2017506362A (ja) * 2014-01-31 2017-03-02 グーグル インコーポレイテッド 関連付けられた秘密鍵部分を用いた高速公開鍵暗号化のためのシステムおよび方法
WO2018100740A1 (ja) * 2016-12-02 2018-06-07 日本電気株式会社 暗号文照合システム及び暗号文照合方法
WO2020188679A1 (ja) * 2019-03-18 2020-09-24 株式会社日立国際電気 通信システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132096A (ja) * 1998-10-27 2000-05-12 Fujitsu Ltd スカラー倍算方法およびその装置
US20050002532A1 (en) * 2002-01-30 2005-01-06 Yongxin Zhou System and method of hiding cryptographic private keys
JP2004246350A (ja) * 2003-01-24 2004-09-02 Sharp Corp 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
JP2017506362A (ja) * 2014-01-31 2017-03-02 グーグル インコーポレイテッド 関連付けられた秘密鍵部分を用いた高速公開鍵暗号化のためのシステムおよび方法
WO2018100740A1 (ja) * 2016-12-02 2018-06-07 日本電気株式会社 暗号文照合システム及び暗号文照合方法
WO2020188679A1 (ja) * 2019-03-18 2020-09-24 株式会社日立国際電気 通信システム

Also Published As

Publication number Publication date
JPWO2022153456A1 (ja) 2022-07-21
US20240048362A1 (en) 2024-02-08

Similar Documents

Publication Publication Date Title
JP4809598B2 (ja) 暗号システムの設計におけるアイソジャニの使用
KR101795771B1 (ko) 정수 기반 준동형 암호 기법에서 압축 암복호화를 제공하는 시스템 및 방법
JP4546231B2 (ja) Idベース署名及び暗号化システムおよび方法
US6898284B2 (en) Cryptographic identification and digital signature method using efficient elliptic curve
Mandal et al. Designing and performance analysis of a proposed symmetric cryptography algorithm
Hodowu et al. An enhancement of data security in cloud computing with an implementation of a two-level cryptographic technique, using AES and ECC algorithm
CA2742530C (en) Masking the output of random number generators in key generation protocols
US20060251248A1 (en) Public key cryptographic methods and systems with preprocessing
WO2022153456A1 (ja) 暗号化装置、暗号通信システム、暗号化方法およびプログラム
JP4485122B2 (ja) 公開鍵暗号システム,署名システム,暗号通信システム,秘密鍵生成器,公開鍵生成器及びコンピュータプログラム
US20020025034A1 (en) Cryptographic encryption method using efficient elliptic curve
JP4563037B2 (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
US20080019508A1 (en) Public key cryptographic methods and systems with rebalancing
JP2005176144A (ja) 端末装置、通信システム及び通信方法
Rivera et al. Hybrid cryptosystem using RSA, DSA, Elgamal, and AES
Anand et al. Real-time symmetric cryptography using quaternion julia set
JP2002023626A (ja) 公開鍵暗号方法および公開鍵暗号を用いた通信システム
JP5464341B2 (ja) 複数のナップザックを用いる公開鍵暗号方式による暗号システム、鍵生成装置、暗号化装置、復号装置、データ交換方法およびプログラム
Shepherd et al. The quadratic residue cipher and some notes on implementation
CN110912673A (zh) 具有双解密机制的加性同态加解密方法
JP3278790B2 (ja) 公開鍵暗号方法及び公開鍵暗号システム
JP4230162B2 (ja) 公開鍵暗号通信方法
Dhamodharan et al. Multifarious mapping schemes on Elliptic curve cryptography for IoT security
Ranasinghe et al. Novel improvement in RSA algorithm
JPH0856219A (ja) 暗号通信システム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21919349

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18258932

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2022574966

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21919349

Country of ref document: EP

Kind code of ref document: A1