JP2010141618A - Information processing apparatus, information processing method, and program - Google Patents
Information processing apparatus, information processing method, and program Download PDFInfo
- Publication number
- JP2010141618A JP2010141618A JP2008316289A JP2008316289A JP2010141618A JP 2010141618 A JP2010141618 A JP 2010141618A JP 2008316289 A JP2008316289 A JP 2008316289A JP 2008316289 A JP2008316289 A JP 2008316289A JP 2010141618 A JP2010141618 A JP 2010141618A
- Authority
- JP
- Japan
- Prior art keywords
- key
- parameter
- information processing
- processing apparatus
- function
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】暗号化処理量、暗号文サイズを抑制するようにすることが可能な情報処理装置、情報処理方法およびプログラムを提供する。
【解決手段】本発明に係る情報処理装置に、複数の鍵処理装置間で行われる複数受信者公開鍵暗号技術に基づく暗号化通信の際に利用される巡回群を生成する群選択部と、鍵処理装置で実行される処理に用いられ、複数の鍵処理装置それぞれに固有の秘密情報を含まず当該複数の鍵処理装置それぞれで共通して用いられるパラメータを含む複数のパラメータを選択するパラメータ選択部と、暗号文の生成または復号に関する処理に使用され、所定の写像を実現する関数を選択する関数選択部と、を設けた。
【選択図】図14
An information processing apparatus, an information processing method, and a program capable of suppressing an encryption processing amount and a ciphertext size are provided.
A group selection unit for generating a cyclic group used in encrypted communication based on a multi-recipient public key encryption technique performed between a plurality of key processing devices in an information processing device according to the present invention; Parameter selection that is used for processing executed by the key processing device and that does not include secret information unique to each of the plurality of key processing devices and includes a plurality of parameters that are commonly used by each of the plurality of key processing devices And a function selection unit that selects a function that is used for processing related to ciphertext generation or decryption and that realizes a predetermined mapping.
[Selection] Figure 14
Description
本発明は、情報処理装置、情報処理方法およびプログラムに関する。 The present invention relates to an information processing apparatus, an information processing method, and a program.
暗号方式には、共通鍵暗号方式と公開鍵暗号方式の二種類が存在する。共通鍵暗号方式は、通信のために事前の秘密共有が必要となるが、処理が速いという性質がある。他方、公開鍵暗号方式は、通信のための事前の秘密共有は不要であるが、処理が遅いという性質がある。このような性質の違いから、各暗号方式は、それぞれの状況にあった使用が望まれる。 There are two types of encryption methods: a common key encryption method and a public key encryption method. The common key cryptosystem requires a secret sharing in advance for communication, but has a property that processing is fast. On the other hand, the public key cryptosystem does not require prior secret sharing for communication, but has a property of slow processing. Due to the difference in properties, each encryption method is desired to be used in accordance with each situation.
例えば、自社の機器に予め秘密情報を埋め込むことが可能であり、自社の機器同士のみで通信を行う状況では、共通鍵暗号方式の使用が好まれる。また、例えば、インターネット上で赤の他人と秘密情報のやり取りをする場合には、事前の秘密共有ができていない状況も想定されるため、公開鍵暗号方式の使用が好まれる。 For example, it is possible to embed secret information in the company's devices in advance, and in a situation where communication is performed only between the devices of the company, the use of the common key cryptosystem is preferred. In addition, for example, when secret information is exchanged with others on the Internet on the Internet, it is assumed that secret sharing is not possible in advance, so use of a public key cryptosystem is preferred.
近年、インターネットのウェブアプリケーションの発達により、SNS、ネットショッピング、ネットオークション等のインターネットを介した個人ユーザ同士のコミュニケーションが増加している。上述のようなサービスにおいては、ユーザがプライベートな情報や価値のあるコンテンツを送信する状況も存在しうる。そのような状況では、一対一または一対多での暗号化通信が、ユーザの状況に応じて望まれる状況も考えられる。上述のようなインターネットを介した小規模な市場での一対一、一対多通信の両方に適した暗号方式として、複数受信者公開鍵暗号方式が存在する。この技術は、複数のユーザに暗号文を送信する際、単純にユーザごとの公開鍵暗号処理をするのではなく、共有できる処理をまとめて行なうことで効率化を図る方式である。 In recent years, with the development of Internet web applications, communication between individual users via the Internet, such as SNS, online shopping, and net auction, has increased. In the service as described above, there may be a situation where the user transmits private information or valuable content. In such a situation, there may be a situation in which one-to-one or one-to-many encrypted communication is desired depending on the user's situation. As an encryption method suitable for both one-to-one and one-to-many communication in a small market via the Internet as described above, there is a multiple recipient public key encryption method. This technique is a method for improving efficiency by collectively performing processes that can be shared, instead of simply performing public key encryption processing for each user when transmitting ciphertexts to a plurality of users.
ここで、通常、公開鍵暗号方式を用いる暗号方式では、公開鍵暗号方式のみを用いて通信を行なうことは少なく、公開鍵暗号方式を共通鍵暗号方式と組み合わせたハイブリッド暗号方式を用いることが多い。ハイブリッド暗号方式では、処理の速い共通鍵暗号方式で秘密鍵を用いて平文部を暗号化し、暗号化公開鍵暗号方式を用いて共通鍵暗号方式で用いる秘密鍵を暗号化する。このようにすることで、公開鍵暗号方式のみを用いるよりも処理の高速化が見込める。この場合、公開鍵暗号技術を用いて処理する部分を複数受信者鍵カプセル化メカニズム(Key Encapsulation Mechanism:KEM)と呼ぶこととする。また、共通鍵暗号技術を用いて処理する部分を、複数受信者データカプセル化メカニズム(Data Encapsulation Mechanism:DEM)と呼ぶこととする。 Here, usually, in an encryption method using a public key encryption method, communication is performed using only the public key encryption method, and a hybrid encryption method combining the public key encryption method with a common key encryption method is often used. . In the hybrid cryptosystem, the plaintext portion is encrypted using a secret key in a common key cryptosystem with high processing speed, and the secret key used in the common key cryptosystem is encrypted using an encrypted public key cryptosystem. By doing so, it is possible to speed up the processing compared to using only the public key cryptosystem. In this case, the part processed using the public key encryption technology is called a multiple recipient key encapsulation mechanism (KEM). Further, the part processed using the common key encryption technology is called a multi-recipient data encapsulation mechanism (DEM).
複数受信者KEMでは、安全性はもとより、公開鍵サイズ、秘密鍵サイズ、暗号化処理、復号処理、暗号文サイズ等が重要となってくる。このような観点から複数受信者KEMとして注目できる方式の一つに、非特許文献1に記載の方式を、既存の手法を用いて複数受信者KEMにした方式を挙げることができる。この方式は、安全性や効率のバランス面から、優れた方式であるといえる。
In the multi-recipient KEM, not only security but also public key size, secret key size, encryption processing, decryption processing, ciphertext size, etc. are important. From such a point of view, one of the methods that can be noticed as a multi-recipient KEM is a method in which the method described in Non-Patent
しかしながら、上述のような方式において、暗号化処理量および暗号文サイズの効率は、受信者数に比例して大きくなるという問題があった。 However, in the method as described above, there is a problem that the efficiency of the encryption processing amount and the ciphertext size increases in proportion to the number of recipients.
そこで、本発明は、このような問題に鑑みてなされたもので、暗号化処理量、暗号文サイズを抑制することが可能な、情報処理装置、情報処理方法およびプログラムを提供することにある。 Therefore, the present invention has been made in view of such problems, and it is an object of the present invention to provide an information processing apparatus, an information processing method, and a program capable of suppressing an encryption processing amount and a ciphertext size.
上記課題を解決するために、本発明のある観点によれば、複数の鍵処理装置間で行われる複数受信者公開鍵暗号技術に基づく暗号化通信の際に利用される巡回群を生成する群選択部と、前記暗号化通信の際に前記鍵処理装置で実行される処理に用いられ、前記複数の鍵処理装置それぞれに固有の秘密情報を含まず当該複数の鍵処理装置それぞれで共通して用いられるパラメータを含む複数のパラメータを選択するパラメータ選択部と、前記暗号化通信における暗号文の生成または復号に関する処理に使用され、所定の写像を実現する関数を選択する関数選択部と、前記群選択部により選択された巡回群と、前記パラメータ選択部により選択された複数のパラメータと、前記関数選択部により選択された関数と、を用いて、前記複数受信者公開鍵暗号技術に利用されるシステムパラメータを生成するシステムパラメータ生成部と、を備える情報処理装置が提供される。 In order to solve the above-described problem, according to an aspect of the present invention, a group for generating a cyclic group used in encrypted communication based on a multi-recipient public key encryption technique performed between a plurality of key processing devices. The selection unit is used for processing executed by the key processing device during the encrypted communication, and does not include secret information unique to each of the plurality of key processing devices, and is common to each of the plurality of key processing devices. A parameter selection unit that selects a plurality of parameters including parameters to be used; a function selection unit that is used for processing related to generation or decryption of ciphertext in the encrypted communication and that selects a function that realizes a predetermined mapping; and the group Using the cyclic group selected by the selection unit, the plurality of parameters selected by the parameter selection unit, and the function selected by the function selection unit, the plurality of recipients are disclosed. The information processing apparatus and a system parameter generation unit for generating a system parameter that is used in cryptography is provided.
かかる構成によれば、群選択部は、複数の鍵処理装置間で行われる複数受信者公開鍵暗号技術に基づく暗号化通信の際に利用される巡回群を生成する。また、パラメータ選択部は、暗号化通信の際に鍵処理装置で実行される処理に用いられ、複数の鍵処理装置それぞれに固有の秘密情報を含まず当該複数の鍵処理装置それぞれで共通して用いられるパラメータを含む複数のパラメータを選択する。また、関数選択部は、暗号化通信における暗号文の生成または復号に関する処理に使用され、所定の写像を実現する関数を選択する。また、システムパラメータ生成部は、群選択部により選択された巡回群と、パラメータ選択部により選択された複数のパラメータと、関数選択部により選択された関数と、を用いて、複数受信者公開鍵暗号技術に利用されるシステムパラメータを生成する。 According to such a configuration, the group selection unit generates a cyclic group that is used in encrypted communication based on a multi-recipient public key encryption technique performed between a plurality of key processing devices. The parameter selection unit is used for processing executed by the key processing device at the time of encrypted communication, and does not include secret information unique to each of the plurality of key processing devices, and is common to the plurality of key processing devices. Select a plurality of parameters, including the parameters to be used. The function selection unit is used for processing related to generation or decryption of ciphertext in encrypted communication, and selects a function that realizes a predetermined mapping. Further, the system parameter generation unit uses a cyclic group selected by the group selection unit, a plurality of parameters selected by the parameter selection unit, and a function selected by the function selection unit, and uses a plurality of recipient public keys. Generate system parameters used for cryptographic techniques.
前記暗号化通信の際に前記鍵処理装置で実行される処理に用いられ、前記複数の鍵処理装置それぞれに固有の秘密情報を含まず当該複数の鍵処理装置それぞれで共通して用いられるパラメータは、前記鍵処理装置において暗号文の検証処理で用いられる検証用パラメータを生成する際に利用されるパラメータであってもよい。 The parameters used in the process executed by the key processing device during the encrypted communication and not including secret information unique to each of the plurality of key processing devices are commonly used for each of the plurality of key processing devices. The key processing device may be a parameter used when generating a verification parameter used in ciphertext verification processing.
前記暗号化通信の際に前記鍵処理装置で実行される処理に用いられ、前記複数の鍵処理装置それぞれに固有の秘密情報を含まず当該複数の鍵処理装置それぞれで共通して用いられるパラメータは、前記鍵処理装置において暗号文を生成する際に用いられるセッション鍵を生成する際に利用されるパラメータであってもよい。 The parameters used in the process executed by the key processing device during the encrypted communication and not including secret information unique to each of the plurality of key processing devices are commonly used for each of the plurality of key processing devices. A parameter used when generating a session key used when generating a ciphertext in the key processing device may be used.
前記パラメータ選択部は、前記群選択部が選択した前記巡回群に属する第1のパラメータを更に選択し、前記第1のパラメータに対して所定の群演算のみを行なうことにより前記巡回群に属する第2のパラメータを生成してもよい。 The parameter selection unit further selects a first parameter belonging to the cyclic group selected by the group selection unit, and performs only a predetermined group operation on the first parameter to thereby change the first parameter belonging to the cyclic group. Two parameters may be generated.
前記パラメータ選択部は、前記群選択部が選択した前記巡回群に属する第1のパラメータを更に選択し、前記第1のパラメータを所定の関数に代入することにより得られた値を、前記巡回群に属する第2のパラメータとしてもよい。 The parameter selection unit further selects a first parameter belonging to the cyclic group selected by the group selection unit, and assigns a value obtained by substituting the first parameter to a predetermined function, the cyclic group. It is good also as the 2nd parameter which belongs to.
前記関数選択部は、所定の群に属する入力値に対して所定の群演算のみを行なっても出力値を生成することが困難である値に前記入力値を変換する変換関数を少なくとも一つ選択し、前記パラメータ選択部は、前記巡回群から選択された第1のパラメータと、前記変換関数とを用いて、更にパラメータを選択してもよい。 The function selection unit selects at least one conversion function that converts the input value to a value that is difficult to generate an output value even if only a predetermined group operation is performed on the input values belonging to the predetermined group. The parameter selection unit may further select a parameter using the first parameter selected from the cyclic group and the conversion function.
前記群選択部は、互いに異なる2つの群G1およびG2を選択し、選択された前記群G1および群G2には、群G1から群G2への写像を実現する同型写像が存在してもよい。 The group selection unit selects two groups G 1 and G 2 that are different from each other, and the selected group G 1 and group G 2 have an isomorphism mapping that realizes mapping from the group G 1 to the group G 2 . May be present.
前記関数選択部は、ターゲット衝突困難性を有する関数を選択することが好ましい。 It is preferable that the function selection unit selects a function having target collision difficulty.
前記関数選択部は、定義域から一様分布に入力値を選択すると、出力が値域で一様分布する関数を選択することが好ましい。 The function selection unit preferably selects a function whose output is uniformly distributed in the value range when the input value is selected from the definition range to be uniformly distributed.
上記課題を解決するために、本発明の別の観点によれば、他の情報処理装置との間で行われる複数受信者公開鍵暗号技術に基づく暗号化通信の際に用いられるセッション鍵を生成する複数受信者鍵カプセル化メカニズム部と、前記セッション鍵を用いて前記暗号化通信において送信される暗号文を生成するデータカプセル化メカニズム部と、を備え、前記複数受信者鍵カプセル化メカニズム部は、前記暗号化通信の際に用いられる自装置に固有の公開鍵および秘密鍵を、取得したシステムパラメータに基づいて生成する鍵生成部と、前記セッション鍵および前記暗号文の検証処理に用いられる検証用パラメータを、前記システムパラメータに基づいて生成する暗号化部と、前記セッション鍵に関する暗号文を取得して前記システムパラメータに基づいて復号する復号部と、を有し、前記システムパラメータは、前記暗号化通信の際に自装置で実行される処理に用いられ、自装置および他の情報処理装置それぞれに固有の秘密情報を含まず自装置および他の情報処理装置それぞれで共通して用いられるパラメータを含み、前記暗号化部は、前記複数受信者に共通する前記セッション鍵または前記検証用パラメータを生成する情報処理装置が提供される。 In order to solve the above-mentioned problem, according to another aspect of the present invention, a session key used for encrypted communication based on a multi-recipient public key encryption technology performed with another information processing apparatus is generated. A multi-recipient key encapsulation mechanism unit, and a data encapsulation mechanism unit that generates a ciphertext to be transmitted in the encrypted communication using the session key. , A key generation unit that generates a public key and a secret key unique to the device used in the encrypted communication based on the acquired system parameters, and verification used for the verification process of the session key and the ciphertext An encryption unit for generating a parameter for the system based on the system parameter; And the system parameter is used for processing executed by the own device at the time of the encrypted communication, and the secret information unique to each of the own device and the other information processing device. Provided by the information processing apparatus that includes the parameters commonly used by the own apparatus and other information processing apparatuses, and that generates the session key or the verification parameter common to the plurality of recipients. Is done.
前記暗号化通信の際に自装置で実行される処理に用いられ、前記自装置および他の情報処理装置それぞれに固有の秘密情報を含まず自装置および他の情報処理装置それぞれで共通して用いられるパラメータは、前記検証用パラメータを生成する際に利用されるパラメータであってもよい。 Used for processing executed by the own device during the encrypted communication, and does not include secret information unique to the own device and other information processing devices, and is used in common by the own device and other information processing devices. The parameter to be used may be a parameter used when generating the verification parameter.
前記暗号化通信の際に自装置で実行される処理に用いられ、前記自装置および他の情報処理装置それぞれに固有の秘密情報を含まず自装置および他の情報処理装置それぞれで共通して用いられるパラメータは、前記セッション鍵を生成する際に利用されるパラメータであってもよい。 Used for processing executed by the own device during the encrypted communication, and does not include secret information unique to the own device and other information processing devices, and is used in common by the own device and other information processing devices. The parameter to be used may be a parameter used when generating the session key.
上記課題を解決するために、本発明の更に別の観点によれば、複数の鍵処理装置間で行われる複数受信者公開鍵暗号技術に基づく暗号化通信の際に利用される巡回群を生成するステップと、前記暗号化通信の際に前記鍵処理装置で実行される処理に用いられ、前記複数の鍵処理装置それぞれに固有の秘密情報を含まず当該複数の鍵処理装置それぞれで共通して用いられるパラメータを含む複数のパラメータを選択するステップと、前記暗号化通信における暗号文の生成または復号に関する処理に使用され、所定の写像を実現する関数を選択するステップと、前記群選択部により選択された巡回群と、前記パラメータ選択部により選択された複数のパラメータと、前記関数選択部により選択された関数と、を用いて、前記複数受信者公開鍵暗号技術に利用されるシステムパラメータを生成するステップと、を含む情報処理方法が提供される。 In order to solve the above-described problem, according to still another aspect of the present invention, a cyclic group used in encrypted communication based on a multi-recipient public key encryption technique performed between a plurality of key processing devices is generated. And a step executed by the key processing device during the encrypted communication, and does not include secret information unique to each of the plurality of key processing devices, and is common to each of the plurality of key processing devices. A step of selecting a plurality of parameters including a parameter to be used; a step of selecting a function used to generate or decrypt a ciphertext in the encrypted communication and realizing a predetermined mapping; and a selection by the group selection unit The plurality of recipient public key encryptions using the selected cyclic group, the plurality of parameters selected by the parameter selection unit, and the function selected by the function selection unit Generating a system parameters used in surgery, an information processing method comprising is provided.
上記課題を解決するために、本発明の更に別の観点によれば、他の情報処理装置との間で行われる複数受信者公開鍵暗号技術に基づく暗号化通信の際に用いられる自装置に固有の公開鍵および秘密鍵を、取得したシステムパラメータに基づいて生成する鍵生成ステップと、前記暗号化通信の際に用いられるセッション鍵および暗号文の検証処理に用いられる検証用パラメータを、前記システムパラメータに基づいて生成する暗号化ステップと、前記セッション鍵に関する暗号文を取得して前記システムパラメータに基づいて復号する復号ステップと、を含み、前記システムパラメータは、前記暗号化通信の際に自装置で実行される処理に用いられ、自装置および他の情報処理装置それぞれに固有の秘密情報を含まず自装置および他の情報処理装置それぞれで共通して用いられるパラメータを含み、前記暗号化部は、前記複数受信者に共通する前記セッション鍵または前記検証用パラメータを生成する情報処理方法が提供される。 In order to solve the above-described problem, according to still another aspect of the present invention, there is provided a self-device used in encrypted communication based on a multi-recipient public key encryption technology performed with another information processing device. A key generation step for generating a unique public key and a secret key based on the acquired system parameters, and a verification key used for verification processing of a session key and ciphertext used in the encrypted communication, An encryption step that is generated based on the parameter, and a decryption step that obtains a ciphertext relating to the session key and decrypts it based on the system parameter. Used for processing executed in the system, and does not include secret information unique to each of its own device and other information processing devices. It includes a parameter used in common in each location, the encryption unit, an information processing method for generating the session key or the verification parameter common to the plurality recipient is provided.
上記課題を解決するために、本発明の更に別の観点によれば、コンピュータに、複数の鍵処理装置間で行われる複数受信者公開鍵暗号技術に基づく暗号化通信の際に利用される巡回群を生成する群選択機能と、前記暗号化通信の際に前記鍵処理装置で実行される処理に用いられ、前記複数の鍵処理装置それぞれに固有の秘密情報を含まず当該複数の鍵処理装置それぞれで共通して用いられるパラメータを含む複数のパラメータを選択するパラメータ選択機能と、前記暗号化通信における暗号文の生成または復号に関する処理に使用され、所定の写像を実現する関数を選択する関数選択機能と、前記群選択部により選択された巡回群と、前記パラメータ選択部により選択された複数のパラメータと、前記関数選択部により選択された関数と、を用いて、前記複数受信者公開鍵暗号技術に利用されるシステムパラメータを生成するシステムパラメータ生成機能と、を実現させるためのプログラムが提供される。 In order to solve the above-described problem, according to still another aspect of the present invention, a computer is used for cyclic communication that is performed during encrypted communication based on a multi-recipient public key encryption technique performed between a plurality of key processing devices. A group selection function for generating a group, and a process executed by the key processing device at the time of the encrypted communication. The plurality of key processing devices do not include secret information unique to each of the plurality of key processing devices. Parameter selection function for selecting a plurality of parameters including parameters used in common with each other, and function selection for selecting a function that realizes a predetermined mapping, which is used for processing related to ciphertext generation or decryption in the encrypted communication A function, a cyclic group selected by the group selection unit, a plurality of parameters selected by the parameter selection unit, and a function selected by the function selection unit. There are a program for implementing the, and the system parameter generation function of generating a system parameter that is used in the plurality recipients public key cryptography is provided.
上記課題を解決するために、本発明の更に別の観点によれば、他の情報処理装置との間で複数受信者公開鍵暗号技術に基づく暗号化通信を行うことが可能なコンピュータに、前記暗号化通信の際に自装置で実行される処理に用いられ、自装置および他の情報処理装置それぞれに固有の秘密情報を含まず自装置および他の情報処理装置それぞれで共通して用いられるパラメータを含むシステムパラメータに基づいて、前記暗号化通信の際に用いられる自装置に固有の公開鍵および秘密鍵を生成する機能と、前記暗号化通信の際に用いられるセッション鍵および暗号文の検証処理に用いられる検証用パラメータを、前記システムパラメータに基づいて生成する機能と、前記セッション鍵に関する暗号文を取得して前記システムパラメータに基づいて復号する機能と、を実現させるためのプログラムが提供される。 In order to solve the above-described problem, according to still another aspect of the present invention, a computer capable of performing encrypted communication with another information processing apparatus based on a multi-recipient public key encryption technique, Parameters that are used for processing executed by the own device during encrypted communication, do not include secret information unique to the own device and other information processing devices, and are used in common by the own device and other information processing devices A function for generating a public key and a private key unique to the device used in the encrypted communication based on a system parameter including the session key and ciphertext verification process used in the encrypted communication A function for generating verification parameters used in the system based on the system parameters, and obtaining ciphertext relating to the session key and based on the system parameters Program for realizing a function of decoding, is provided.
本発明によれば、暗号化処理量、暗号文サイズを抑制することが可能である。 According to the present invention, it is possible to suppress the encryption processing amount and the ciphertext size.
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。 Exemplary embodiments of the present invention will be described below in detail with reference to the accompanying drawings. In addition, in this specification and drawing, about the component which has the substantially same function structure, duplication description is abbreviate | omitted by attaching | subjecting the same code | symbol.
なお、説明は、以下の順序で行うものとする。
(1)目的
(2)本発明の基盤となる技術について
(3)第1の実施形態
(3−1)情報処理装置の構成について
(3−2)本実施形態に係る情報処理方法の基盤となる暗号処理方法について
(3−3)情報処理方法について
(3−4)暗号化時の計算量と暗号文のサイズについて
(3−5)第1変形例について
(4)第2の実施形態
(4−1)情報処理装置の構成について
(4−2)本実施形態に係る情報処理方法の基盤となる暗号処理方法について
(4−3)情報処理方法について
(4−4)暗号化時の計算量と暗号文のサイズについて
(4−5)第1変形例について
(4−6)暗号化時の計算量と暗号文のサイズについて
(5)第3の実施形態
(5−1)情報処理装置の構成について
(5−2)本実施形態に係る情報処理方法の基盤となる暗号処理方法について
(5−3)情報処理方法について
(5−4)暗号化時の計算量と暗号文のサイズについて
(6)第4の実施形態
(6−1)情報処理装置の構成について
(6−2)本実施形態に係る情報処理方法の基盤となる暗号処理方法について
(6−3)情報処理方法について
(6−4)第1変形例について
(7)本発明の各実施形態に係る情報処理装置のハードウェア構成について
(8)まとめ
The description will be made in the following order.
(1) Purpose (2) Technology underlying the present invention (3) First embodiment (3-1) Configuration of information processing apparatus (3-2) Information processing method according to the present embodiment (3-3) Information processing method (3-4) Calculation amount and ciphertext size during encryption (3-5) First modification (4) Second embodiment 4-1) Configuration of information processing apparatus (4-2) Encryption processing method that is the basis of the information processing method according to the present embodiment (4-3) Information processing method (4-4) Calculation at the time of encryption About the amount and the size of the ciphertext (4-5) About the first modification (4-6) About the calculation amount and the size of the ciphertext at the time of encryption (5) Third embodiment (5-1) Information processing device (5-2) Information processing method according to this embodiment (5-3) Information processing method (5-4) Computation amount and ciphertext size during encryption (6) Fourth embodiment (6-1) Information processing device (6-2) Cryptographic processing method that is the basis of the information processing method according to the present embodiment (6-3) Information processing method (6-4) First modification (7) Each of the present invention Hardware configuration of information processing apparatus according to embodiment (8) Summary
<目的>
以下で説明する本発明の各実施形態に係る情報処理装置および情報処理方法は、上述の複数受信者KEMに関するものである。本発明の各実施形態に係る情報処理装置および情報処理方法について説明するに先立ち、複数受信者公開鍵暗号方式が置かれている現状について説明しながら、本発明が目的とするところについて、詳細に説明する。
<Purpose>
An information processing apparatus and an information processing method according to each embodiment of the present invention described below relate to the above-described multiple recipients KEM. Prior to describing the information processing apparatus and the information processing method according to each embodiment of the present invention, the present invention will be described in detail while explaining the current situation where a multi-recipient public key cryptosystem is placed. explain.
本発明で着目している複数受信者公開鍵暗号方式は、複数のユーザに暗号文を送信する際、単純にユーザごとに公開鍵暗号処理をするのではなく、共有できる処理をまとめて行なうことで効率化を図った方式である。ここで、実行される処理の効率化を図るために、公開鍵暗号技術と共通鍵暗号技術とを組み合わせたハイブリッド型技術が用いられる。 The multi-recipient public key cryptosystem focused on in the present invention is not to simply perform public key cryptography processing for each user, but to perform processing that can be shared when sending ciphertext to a plurality of users. This is an efficient system. Here, in order to increase the efficiency of the processing to be executed, a hybrid type technology combining public key encryption technology and common key encryption technology is used.
なお、複数受信者公開鍵暗号技術と類似する技術として、public−key broadcast encryption schemeという技術が存在する。これらの技術は、想定している利用状況に違いがある。すなわち、public−key broadcast encryption schemeでは、システムの管理者に大きな負担がかかる大掛かりな大規模システムを想定している。他方、複数受信者公開鍵暗号技術では、システム構成後は管理者が不要となる、手軽な小規模システムを想定している。 As a technique similar to the multi-recipient public key encryption technique, there is a technique called public-key broadcast encryption scheme. These technologies differ in their assumed usage. That is, the public-key broadcast encryption scheme assumes a large-scale large-scale system that places a heavy burden on the system administrator. On the other hand, the multi-recipient public key encryption technology assumes a simple small-scale system that does not require an administrator after the system configuration.
public−key broadcast encryption schemeでは、基本的にユーザがシステムに加入するたびに、管理者が鍵生成を行い、生成した鍵をユーザに渡さなければならない。そのため、システムの管理者は、システム構成中はシステムを管理する必要がある。他方、複数受信者公開鍵暗号では、一度システムを構築してしまえば、ユーザは自分一人で鍵生成を行うことが可能であり、自由にシステムに加入できる。このことから、システムの管理者は、初めにシステムを構築してしまえば、管理の必要はない。ただし、複数受信者公開鍵暗号では、受信者が増えれば増える程システムの効率が低下するため、大多数に暗号文を送信するような状況には適さない。 In the public-key broadcast encryption scheme, an administrator must basically generate a key each time a user joins the system and pass the generated key to the user. Therefore, the system administrator needs to manage the system during the system configuration. On the other hand, in the multi-recipient public key cryptosystem, once the system is constructed, the user can generate the key by himself and can freely join the system. For this reason, the system administrator need not manage the system once the system is constructed. However, the multi-recipient public key cryptosystem is not suitable for a situation in which ciphertext is transmitted to the majority because the system efficiency decreases as the number of recipients increases.
そこで、本発明の各実施形態に係る情報処理装置および情報処理方法では、暗号化処理量を約半分程度に抑制し、暗号文サイズも半分程度に抑制することが可能な、情報処理装置、情報処理方法およびプログラムを提供することを目的とする。 Therefore, in the information processing apparatus and the information processing method according to each embodiment of the present invention, the information processing apparatus and information capable of suppressing the encryption processing amount to about half and suppressing the ciphertext size to about half. It is an object to provide a processing method and a program.
<本発明の基盤となる技術について>
まず、本発明に係る各実施形態について詳細なる説明をするに先立ち、図1〜図13を参照しながら、本発明の各実施形態を実現する上で基盤を成す技術的事項について述べる。なお、本発明の各実施形態は、以下に記載する基盤技術の上に改良を加えることにより、より顕著な効果を得ることができるように構成されたものである。従って、その改良に係る技術こそが本発明の各実施形態の特徴を成す部分である。つまり、本発明の各実施形態は、ここで述べる技術的事項の基礎概念を踏襲するが、その本質はむしろ改良部分に集約されており、その構成が明確に相違すると共に、その効果において基盤技術とは一線を画するものであることに注意されたい。
<Technology that is the basis of the present invention>
First, prior to detailed description of each embodiment according to the present invention, technical matters forming the basis for realizing each embodiment of the present invention will be described with reference to FIGS. In addition, each embodiment of this invention is comprised so that a more remarkable effect can be acquired by adding improvement on the fundamental technique described below. Therefore, the technology relating to the improvement is the only part that characterizes each embodiment of the present invention. That is, each embodiment of the present invention follows the basic concept of the technical matters described here, but the essence is rather concentrated in the improved portion, the configuration is clearly different, and the effect is the basic technology. Note that is a clear line.
[公開鍵暗号システムについて]
まず、図1〜図3を参照しながら、公開鍵暗号システムについて説明する。図1〜図3は、公開鍵暗号システムについて説明するための説明図である。
[About public key cryptosystem]
First, a public key cryptosystem will be described with reference to FIGS. 1 to 3 are explanatory diagrams for explaining a public key cryptosystem.
公開鍵暗号システムを用いる各ユーザは、例えば図1に示したように、各自でシステムパラメータと呼ばれる様々なパラメータを設定し、システムパラメータの設定後に各自が使用する秘密鍵および公開鍵を生成する。システムパラメータは、公開鍵暗号システムで用いられるハッシュ(hash)関数、および、各種の演算に用いられる群や双線形写像などの、ユーザの秘密情報を含まないパラメータである。続いて、公開鍵暗号システムに参加する各ユーザは、各自が決定したシステムパラメータと、公開鍵とを公開する。 As shown in FIG. 1, for example, each user who uses a public key encryption system sets various parameters called system parameters, and generates a private key and a public key used by each user after setting the system parameters. The system parameters are parameters that do not include user secret information, such as hash functions used in public key cryptosystems, groups used in various operations, and bilinear mapping. Subsequently, each user participating in the public key cryptosystem discloses the system parameters determined by the user and the public key.
例えば、図1に示した例では、ユーザ1は、システムパラメータI1を設定し、公開鍵pk1と、秘密鍵sk1とを生成する。秘密鍵sk1は、ユーザ1のみが知る鍵としてユーザ1が秘匿し、システムパラメータI1と、公開鍵pk1とを他のユーザに公開する。
For example, in the example shown in FIG. 1, the
同様に、ユーザ2は、システムパラメータI2、公開鍵pk2、秘密鍵sk2をそれぞれ設定し、システムパラメータI2および公開鍵pk2を公開する。また、ユーザ3は、システムパラメータI3、公開鍵pk3、秘密鍵sk3をそれぞれ設定し、システムパラメータI3および公開鍵pk3を公開する。
Similarly, the
また、公開鍵暗号システムを用いてメッセージを送信する際、メッセージの送信者は、受信者が公開している公開鍵とシステムパラメータとを用いて、送信したいメッセージを暗号化する。例えば、図1に示したように、ユーザ1がユーザ2およびユーザ3にメッセージを送信する場合を考える。ユーザ1は、ユーザ2が公開している公開鍵pk2とシステムパラメータI2とを用いてメッセージm2を暗号化し、ユーザ2に送信する。同様に、ユーザ1は、ユーザ3が公開している公開鍵pk3とシステムパラメータI3とを用いてメッセージm3を暗号化し、ユーザ3に送信する。なお、図1において、Enc(pk2、m2、I2)という表記は、メッセージm2を、公開鍵pk2およびシステムパラメータI2を用いて暗号化したものを表す。
Further, when a message is transmitted using the public key cryptosystem, the message sender encrypts the message to be transmitted using the public key and system parameters disclosed by the receiver. For example, as shown in FIG. 1, consider a case where
また、ユーザは、各自で公開鍵pkおよび秘密鍵skを生成できるため、新たにシステムに参加を希望するユーザは、任意のタイミングで公開鍵暗号システムに参加できる。例えば図2に示したように、ユーザ4が公開鍵暗号システムに参加を希望する場合には、ユーザ4自身がシステムパラメータI4を設定し、公開鍵pk4と秘密鍵sk4とを生成した上で、システムパラメータI4と公開鍵pk4とを公開する。ユーザ3がユーザ4に対してメッセージm4を送信する場合には、ユーザ3は、ユーザ4が公開している公開鍵pk4とシステムパラメータI4とを用いてメッセージm4を暗号化し、ユーザ4に送信する。
Moreover, since each user can generate the public key pk and the private key sk, the user who wishes to newly join the system can participate in the public key cryptosystem at an arbitrary timing. For example, as shown in FIG. 2, when the user 4 wishes to participate in the public key encryption system, the user 4 itself set the system parameters I 4, and generates a public key pk 4 and the secret key sk 4 The system parameter I 4 and the public key pk 4 are disclosed above. When the
また、公開鍵暗号システムで用いられるシステムパラメータは、ユーザの秘密情報を含まないパラメータであるため、ユーザ間で共有することが可能である。そのため、図3に示したように、公開鍵暗号システムで共通して用いられるシステムパラメータを生成する第三者をシステムパラメータ生成者として設定することができる。また、システムパラメータ生成者は、ユーザとして公開鍵暗号システムに参加することも可能である。 In addition, since the system parameters used in the public key cryptosystem are parameters that do not include user secret information, they can be shared among users. Therefore, as shown in FIG. 3, a third party that generates system parameters that are commonly used in the public key cryptosystem can be set as a system parameter generator. Further, the system parameter generator can participate in the public key cryptosystem as a user.
[複数受信者公開鍵暗号システムについて]
次に、図4〜図7を参照しながら、複数受信者公開鍵暗号システムについて説明する。図4〜図7は、複数受信者公開鍵暗号システムについて説明するための説明図である。
[About multi-recipient public key cryptosystem]
Next, the multiple recipient public key cryptosystem will be described with reference to FIGS. 4 to 7 are explanatory diagrams for explaining the multi-recipient public key cryptosystem.
複数受信者公開鍵暗号システム(multi−recipient public−key encryption system)は、例えば図4に示したように、システムパラメータ生成者が生成したシステムパラメータIを共有して用いる暗号システムである。 A multi-recipient public-key encryption system is a cryptographic system that shares and uses a system parameter I generated by a system parameter generator, for example, as shown in FIG.
複数受信者公開鍵暗号システムを用いる各ユーザは、例えば図4に示したように、公開されているシステムパラメータIを用いて、各自が使用する秘密鍵および公開鍵を生成する。続いて、複数受信者公開鍵暗号システムに参加する各ユーザは、各自が決定した公開鍵を公開する。 Each user who uses the multi-recipient public key encryption system generates a secret key and a public key to be used by each user by using a publicly available system parameter I as shown in FIG. Subsequently, each user participating in the multi-recipient public key cryptosystem discloses the public key determined by the user.
複数受信者公開鍵暗号システムでは、複数の受信者の公開鍵と共通のシステムパラメータとを用いて、送信したいメッセージを暗号化する。共通のシステムパラメータを利用することで、数人分の暗号化処理を、いっぺんに効率的に行うことが可能である。 In a multi-recipient public key cryptosystem, a message to be transmitted is encrypted using a public key of a plurality of recipients and common system parameters. By using common system parameters, it is possible to perform encryption processing for several people all at once.
例えば図5に示したように、ユーザ1がユーザ2およびユーザ3のそれぞれにメッセージを送信する場合を考える。この場合、ユーザ1は、ユーザ2およびユーザ3の公開鍵pk2、pk3と、共通のシステムパラメータIと、を用いて、ユーザ2およびユーザ3に送信するメッセージをいっぺんに暗号化する。なお、図5において、MEnc((pk2、pk3)、(m2、m3)、I)という表記は、メッセージm2およびメッセージm3を、公開鍵pk2、pk3およびシステムパラメータIを用いて暗号化し、複数受信者に一度に送信したものを表す。
For example, as shown in FIG. 5, consider a case where
また、複数受信者公開鍵暗号システムでは、m2=m3のように、複数の受信者に同じメッセージを送信する場合には、このような利用法に特化した、より効率的な暗号化方法を用いることが可能である。 Also, in the multi-recipient public key cryptosystem, when the same message is transmitted to a plurality of recipients, such as m 2 = m 3 , more efficient encryption specialized for such usage It is possible to use a method.
また、ユーザは、共通のシステムパラメータIを用いて各自で公開鍵pkおよび秘密鍵skを生成できるため、新たにシステムに参加を希望するユーザは、任意のタイミングで複数受信者公開鍵暗号システムに参加できる。例えば図6に示したように、ユーザ4が複数受信者公開鍵暗号システムに参加を希望する場合には、ユーザ4自身が公開鍵pk4と秘密鍵sk4とを生成した上で、公開鍵pk4とを公開する。ユーザ3がユーザ4に対してメッセージm4を送信する場合には、ユーザ3は、ユーザ4が公開している公開鍵pk4と共通のシステムパラメータIとを用いてメッセージm4を暗号化し、ユーザ4に送信する。
In addition, since the user can generate the public key pk and the secret key sk by using the common system parameter I, a user who wishes to newly join the system can enter the multi-recipient public key cryptosystem at an arbitrary timing. Can participate. For example, as shown in FIG. 6, when the user 4 wishes to participate in the multi-recipient public key cryptosystem, the user 4 himself / herself generates the public key pk 4 and the private key sk 4 and then uses the public key. pk 4 is released. When the
複数受信者公開鍵暗号システムの一例として、一対多通信を行う方式がある。この一対多通信方式の例として、複数の受信者にそれぞれ異なるメッセージを暗号化する方式と、複数の受信者に同一のメッセージを暗号化する方式とがある。 As an example of the multiple recipient public key cryptosystem, there is a method of performing one-to-many communication. Examples of this one-to-many communication method include a method of encrypting different messages for a plurality of recipients and a method of encrypting the same message for a plurality of recipients.
図7に示した例は、ElGamal暗号を基にした複数受信者公開鍵暗号システムである。この方式は、各ユーザが設定した公開鍵pki=(gi、yi)を用いて、メッセージmを暗号化する。しかしながら、この暗号化されたメッセージは、各受信者に宛てたメッセージ全てを含むものであるため、n人にメッセージを送信すると、1人にメッセージを送信した場合に比べてn倍の処理が必要となるという問題がある。 The example shown in FIG. 7 is a multi-recipient public key encryption system based on ElGamal encryption. In this method, the message m is encrypted using the public key pk i = (g i , y i ) set by each user. However, since this encrypted message includes all messages addressed to each recipient, sending a message to n people requires n times more processing than sending the message to one person. There is a problem.
[ハイブリッド暗号について]
続いて、図8〜図13を参照しながら、ハイブリッド暗号について、詳細に説明する。図8〜図13は、ハイブリッド暗号について説明するための説明図である。
[About hybrid encryption]
Subsequently, the hybrid encryption will be described in detail with reference to FIGS. 8-13 is explanatory drawing for demonstrating a hybrid encryption.
まず、図8を参照しながら、公開鍵暗号システムの長所と短所について説明する。公開鍵暗号システムは、通信を行うユーザ間で事前の秘密共有が不要であるという長所がある。公開鍵暗号システムでは、図8に示したように、公開鍵pkを用いて送信したい平文を暗号文にし、受信者へと送信する。暗号文を受信した受信者は、自身の秘密鍵skを用いて、暗号文を復号する。 First, the advantages and disadvantages of the public key cryptosystem will be described with reference to FIG. The public key cryptosystem has the advantage that no prior secret sharing is required between communicating users. In the public key cryptosystem, as shown in FIG. 8, the plaintext desired to be transmitted is converted into ciphertext using the public key pk and transmitted to the receiver. The recipient who has received the ciphertext decrypts the ciphertext using his / her private key sk.
しかしながら、大容量のデータを送信する場合には、処理すべきデータが大きいために、一層の処理時間が必要になるという短所がある。 However, when transmitting a large amount of data, there is a disadvantage that more processing time is required because the data to be processed is large.
他方、共通鍵暗号システムは、通信を行うユーザ間で事前の秘密共有が必要であるという短所はあるものの、暗号化処理が早いという長所が存在する。 On the other hand, the common key encryption system has an advantage that the encryption process is fast although there is a disadvantage that a secret sharing is necessary between users performing communication.
そこで、公開鍵暗号システムによる処理の内部で共通鍵暗号システムによる処理を行うハイブリッド暗号とすることで、処理の効率化を図ることが可能である。すなわち、共通鍵暗号処理を用いて大容量データを暗号文とするとともに、共通鍵暗号処理に用いる鍵を、公開鍵暗号処理を用いて暗号化する。ここで、公開鍵暗号処理を用いて暗号処理を行う処理部を、鍵カプセル化メカニズム部(以下、KEMとも称する。)と呼び、共通鍵暗号処理を用いて暗号処理を行う処理部を、データカプセル化メカニズム部(以下、DEMとも称する。)と呼ぶこととする。 Therefore, it is possible to improve the efficiency of processing by using a hybrid cipher that performs processing by the common key cryptosystem inside the processing by the public key cryptosystem. In other words, large-capacity data is converted into ciphertext using common key encryption processing, and a key used for common key encryption processing is encrypted using public key encryption processing. Here, a processing unit that performs cryptographic processing using public key cryptographic processing is referred to as a key encapsulation mechanism unit (hereinafter also referred to as KEM), and a processing unit that performs cryptographic processing using common key cryptographic processing is referred to as data It will be referred to as an encapsulation mechanism (hereinafter also referred to as DEM).
ハイブリッド暗号システムを図解すると、図9のようになる。
送信者は、セッション鍵dkを用いて、送信すべき大容量データをDEMの暗号化処理部(DEM.enc)により暗号化する。また、送信者は、セッション鍵dkを、公開鍵pkを用いてKEMの暗号化処理部(KEM.enc)により暗号化する。送信者は、セッション鍵dkを暗号化したφと、データを暗号化したχとを、暗号文として送信する。
The hybrid cryptosystem is illustrated in FIG.
The sender uses the session key dk to encrypt a large amount of data to be transmitted by the DEM encryption processing unit (DEM.enc). Further, the sender encrypts the session key dk using the public key pk by the KEM encryption processing unit (KEM.enc). The sender transmits φ that has encrypted the session key dk and χ that has encrypted the data as ciphertext.
暗号文の受信者は、暗号文に含まれるφを、秘密鍵skを用いてKEMの復号処理部(KEM.dec)により処理し、セッション鍵dkを生成する。また、暗号文に含まれるχを、生成したセッション鍵dkを用いてDEMの復号処理部(DEM.dec)により処理し、データを復号する。 The recipient of the ciphertext processes φ included in the ciphertext by the KEM decryption processing unit (KEM.dec) using the secret key sk, and generates a session key dk. Further, χ included in the ciphertext is processed by the decryption processing unit (DEM.dec) of the DEM using the generated session key dk to decrypt the data.
このように、公開鍵暗号システムをハイブリッド化するには、図10に示したように、装置内に、KEMとDEMとを設ける。KEMには、公開鍵pkが入力され、セッション鍵dkは、KEMのアルゴリズムの内部で生成される乱数を利用して、暗号文と一緒に生成される。また、DEMには、平文mが入力され、KEMにより生成されたセッション鍵dkを用いて暗号化される。 Thus, in order to hybridize the public key encryption system, as shown in FIG. 10, a KEM and a DEM are provided in the apparatus. The public key pk is input to the KEM, and the session key dk is generated together with the ciphertext using a random number generated inside the KEM algorithm. Also, plaintext m is input to the DEM and encrypted using the session key dk generated by the KEM.
なお、KEMは、ハイブリッド暗号を構成する際に、乱数であるセッション鍵を公開鍵暗号技術で暗号化する用途に特化した技術である。また、全ての公開鍵暗号はKEMとして利用可能であるが、全ての公開鍵暗号がKEMとして利用できるとは言えない。 Note that KEM is a technology specialized for use in encrypting a session key, which is a random number, with a public key encryption technology when configuring a hybrid encryption. Moreover, although all public key ciphers can be used as KEM, it cannot be said that all public key ciphers can be used as KEM.
上述のようなハイブリッド方式を、複数受信者公開鍵暗号システムに適用することが可能である。複数受信者公開鍵システムをハイブリッド化する場合には、図11〜図13に示したように、主に三種類の方法がある。 The hybrid method as described above can be applied to a multi-recipient public key encryption system. When hybridizing a multi-recipient public key system, there are mainly three types of methods as shown in FIGS.
第1の方法は、例えば図11に示したように、複数の受信者に対してそれぞれ異なるメッセージを暗号化して送信する複数受信者公開鍵暗号を、ハイブリッド化するものである。 In the first method, as shown in FIG. 11, for example, a multi-recipient public key cipher that encrypts and transmits different messages to a plurality of recipients is hybridized.
この第1の方法は、通常の公開鍵暗号方式をハイブリッド化する場合に導入したKEMの換わりに、以下で説明するmmKEM(multi−recipient multi−KEM)を設ける方法である。 The first method is a method of providing a mm-KEM (multi-recipient multi-KEM) described below instead of the KEM introduced when the normal public key cryptosystem is hybridized.
図11に示したように、mmKEMには、それぞれの受信者の公開鍵pk1〜pknが入力され、それぞれの受信者用のセッション鍵dk1〜dknと、セッション鍵dk1〜dknを暗号化したφ1〜φnが出力される。また、DEMは、それぞれの受信者に向けて送信されるメッセージm1〜mnを、対応するセッション鍵dk1〜dknを用いて暗号化し、χ1〜χnを出力する。送信者は、暗号文として、φ1〜φnと、χ1〜χnとを、一度に複数の受信者に向けて送信する。
As shown in FIG. 11, the MmKEM, is input the
第2および第3の方法は、例えば図12および図13に示したように、複数の受信者に対して共通のメッセージを暗号化して送信する複数受信者公開鍵暗号を、ハイブリッド化するものである。 In the second and third methods, as shown in FIGS. 12 and 13, for example, a multi-recipient public key cipher that encrypts and transmits a common message to a plurality of recipients is hybridized. is there.
第2の方法は、例えば図12に示したように、疑似乱数生成器(Pseudo Random Number Generator:PRNG)と、mmKEMと、DEMと、を用いて、それぞれの受信者用のセッション鍵dk1〜dknを暗号化する。 As shown in FIG. 12, for example, the second method uses a pseudo random number generator (PRNG), mmKEM, and DEM, and uses session keys dk 1 to dk 1 for each receiver. to encrypt the dk n.
より詳細には、PRNGから出力された一つのセッション鍵dkを、mmKEMから出力されたそれぞれの受信者用のセッション鍵dk1〜dknを利用してDEMにより共通鍵暗号化して、χ1〜χnを生成する。また、それぞれの受信者に共通して送信されるメッセージmを、PRNGから出力された一つのセッション鍵dkを用いて共通鍵暗号化し、暗号化されたメッセージχを生成する。送信者は、それぞれのセッション鍵dk1〜dknを暗号化したφ1〜φnと、共通鍵暗号化処理に用いたセッション鍵dkを暗号化したχ1〜χnと、暗号化されたメッセージχとを、一度に複数の受信者に向けて暗号文として送信する。
More specifically, one of the session key dk outputted from PRNG, common key encryption by DEM using the
第3の方法は、通常の公開鍵暗号方式をハイブリッド化する場合に導入したKEMの換わりに、以下で説明するmsKEM(multi−recipient single−KEM)を設ける方法である。 The third method is a method of providing ms-KEM (multi-recipient single-KEM), which will be described below, instead of the KEM introduced when a normal public key cryptosystem is hybridized.
図13に示したように、msKEMには、それぞれの受信者の公開鍵pk1〜pknが入力され、それぞれの受信者に共通のセッション鍵dkと、セッション鍵dkをそれぞれの受信者用に暗号化したφ1〜φnとが出力される。また、DEMは、それぞれの受信者に向けて送信される共通のメッセージmを、セッション鍵dkを用いて暗号化し、暗号化されたメッセージχを出力する。送信者は、暗号文として、φ1〜φnと、χとを、一度に複数の受信者に向けて送信する。 As shown in FIG. 13, the public keys pk 1 to pk n of the respective recipients are input to the msKEM, and the common session key dk and session key dk are assigned to each recipient. The encrypted φ 1 to φ n are output. In addition, the DEM encrypts the common message m transmitted to each receiver using the session key dk, and outputs an encrypted message χ. The sender transmits φ 1 to φ n and χ as ciphertexts to a plurality of recipients at a time.
このように、それぞれの受信者に対して異なるメッセージを送信するか、共通のメッセージを送信するかに応じて、上述の第1〜第3の方法を適宜選択することで、複数受信者公開鍵暗号システムをハイブリッド化することが可能である。 As described above, the multiple recipient public keys can be selected by appropriately selecting the first to third methods described above depending on whether a different message or a common message is sent to each recipient. It is possible to hybridize the cryptographic system.
[ラグランジュの補間公式について]
次に、ラグランジュの補間公式について、簡単に説明する。以下で説明する本発明の各実施形態では、二次関数に関するラグランジュの補間公式が用いられる。
[Lagrange interpolation formula]
Next, Lagrange's interpolation formula will be briefly described. In each embodiment of the present invention described below, a Lagrangian interpolation formula for a quadratic function is used.
一般に、任意の三点が与えられた場合に、これら三点を通る二次関数は、一意に定まる。より詳細には、(x1,f(x1))、(x2,f(x2))、(x3,f(x3))の三点が与えられたとき、二次関数f(x)は、以下の式1のように表せる。ここで、以下の式1で用いられるλは、以下の式2〜式4の通りである。
In general, when arbitrary three points are given, a quadratic function passing through these three points is uniquely determined. More specifically, given three points (x 1 , f (x 1 )), (x 2 , f (x 2 )), (x 3 , f (x 3 )), the quadratic function f (X) can be expressed as
すなわち、任意の三点が与えられることで、任意のxに対してf(x)を算出することが可能である。 That is, given any three points, f (x) can be calculated for any x.
このラグランジュの補間公式を、本発明の各実施形態では、以下のように適用する。すなわち、素数pを位数に持つ群の生成元をgとし、二次関数f(x)=a0+a1x+a2x2に対して、以下に示す内容が成立する。 This Lagrangian interpolation formula is applied as follows in each embodiment of the present invention. In other words, the generation content of the group having the prime p in the order is g, and the following contents hold for the quadratic function f (x) = a 0 + a 1 x + a 2 x 2 .
生成元gと、任意の三点(x1,gf(x1))、(x2,gf(x2))、(x3,gf(x3))とが与えられた場合に、生成元gの冪に二次関数の係数a0、a1、a2がそれぞれ乗った、以下の式5に示した値を算出することが可能である。 Generated when a generation source g and arbitrary three points (x 1 , g f (x 1 ) ), (x 2 , g f (x 2) ), (x 3 , g f ( x 3 ) ) are given It is possible to calculate the value shown in the following Expression 5 in which the coefficients a 0 , a 1 , and a 2 of the quadratic function are on the power of the element g.
[双線形群における双線形写像について]
続いて、双線形群上の双線形写像に関して説明する。G1、G2、Geを、それぞれ素数pを位数とする巡回群とする。双線形写像eとは、任意の生成元g1∈G1、g2∈G2およびa,b∈Zpに対して、以下の式6に示す双線形性と、以下の式7に示す非退化性の二つの性質を満たす写像のことをいう。なお、下記式7において、1eは、Geの単位元である。
[About bilinear mapping in bilinear groups]
Next, a bilinear map on the bilinear group will be described. The G 1, G 2, G e , and each cyclic group to position number prime p. The bilinear map e means that the bilinearity shown in the following equation 6 and the non-linearity shown in the following equation 7 for any generators g 1 ∈G 1 , g 2 ∈G 2 and a, b∈Zp. A map that satisfies the two properties of degeneracy. In the following
なお、双線形写像は、G1とG2との関係性から、大きく分けて以下の三種類に分類できる。 Incidentally, bilinear mapping from the relationship between G 1 and G 2, can be classified roughly into the following three types.
・G1,G2が同一の群である場合の双線形写像
・G1,G2は異なる群であるが、ψ:G1→G2という効率的な同型写像が存在する場合の双線形写像
・G1,G2は異なる群であり、ψ:G1→G2という効率的な同型写像が存在しない場合の双線形写像
Bilinear mapping when G 1 and G 2 are the same group Bilinear when G 1 and G 2 are different groups but there is an efficient isomorphic mapping ψ: G 1 → G 2 Mapping • G 1 and G 2 are different groups, and bilinear mapping when there is no efficient isomorphism of ψ: G 1 → G 2
以上説明したような基盤技術を踏まえながら、以下では、本発明の各実施形態に係る情報処理装置および情報処理方法について、詳細に説明する。 In the following, the information processing apparatus and the information processing method according to each embodiment of the present invention will be described in detail, based on the basic technology described above.
(第1の実施形態)
<情報処理装置の構成について>
以下に、図14〜図16を参照しながら、本発明の第1の実施形態に係る情報処理装置の構成について詳細に説明する。図14は、システムパラメータ生成装置として機能する本実施形態に係る情報処理装置の構成を説明するためのブロック図である。図15および図16は、鍵処理装置として機能する本実施形態に係る情報処理装置の構成を説明するためのブロック図である。
(First embodiment)
<Configuration of information processing device>
Hereinafter, the configuration of the information processing apparatus according to the first embodiment of the present invention will be described in detail with reference to FIGS. 14 to 16. FIG. 14 is a block diagram for explaining the configuration of the information processing apparatus according to the present embodiment that functions as a system parameter generation apparatus. 15 and 16 are block diagrams for explaining the configuration of the information processing apparatus according to the present embodiment that functions as a key processing apparatus.
[システムパラメータ生成装置の構成について]
まず、図14を参照しながら、システムパラメータ生成者が使用するシステムパラメータ生成装置として機能する本実施形態に係る情報処理装置10の構成について、詳細に説明する。
[Configuration of system parameter generator]
First, the configuration of the
本実施形態に係る情報処理装置10は、例えば、群選択部101と、関数選択部103と、パラメータ選択部105と、システムパラメータ生成部107と、システムパラメータ公開部109と、通信制御部111と、記憶部114と、を主に備える。
The
群選択部101は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等から構成されている。群選択部101は、入力されたセキュリティパラメータ1kに基づいて、kビットの素数pを、乱数等を用いて無作為に選択する。次に、群選択部101は、選択した素数pを位数とする群G1、G2、Geを選択する。また、群選択部101は、G1×G2→Geとなる双線形写像eをあわせて選択する。ここで、素数pのビット数は、必要とするセキュリティレベルに応じて任意の値を設定することが可能であるが、例えば、k=160と設定することができる。
The
ここで、群選択部101が選択する群は、双線形写像が実現できる群であれば、任意の群であってもよい。
Here, the group selected by the
群選択部101は、選択した素数p、群G1、G2、Ge、双線形写像eを、後述するシステムパラメータ生成部107に伝送する。また、群選択部101は、選択した双線形群G1、G2、Geと、決定した双線形写像eとを、後述する記憶部113に記録してもよい。
The
関数選択部103は、例えば、CPU、ROM、RAM等から構成されている。関数選択部103は、群選択部101が選択した群を用いて、後述する鍵処理装置が処理を実行する際に使用する各種の関数を選択する。より詳細には、関数選択部103は、関数選択部103は、例えば、G1→Zpという写像を実現する関数H1と、G1→{0,1}lという写像を実現する関数H2と、を選択する。ここで、lは、関数H2を用いた結果生成される値のビット長であり、必要とするセキュリティレベルに応じて任意の値を設定可能であるが、例えば、l=128(すなわち、128ビット)と設定することができる。
The
関数選択部103が選択する二種類の関数は、上述の写像を実現するものであれば、任意の関数を選択することが可能である。また、関数H1および関数H2が以下の性質を満たすものであれば、安全性を証明することが可能となる。
As the two types of functions selected by the
・関数H1が、ターゲット衝突困難性(target collision resistant)という性質を満たす関数TCRである。
・関数H2が、定義域から一様分布に入力値を選択すると、出力が値域で一様分布する関数Hである。
The function H 1 is a function TCR that satisfies the property of target collision resistance.
The function H 2 is a function H whose output is uniformly distributed in the range when the input value is selected from the domain to the uniform distribution.
関数選択部103は、選択した各種の関数を、後述するシステムパラメータ生成部107に伝送する。また、関数選択部103は、選択した各種の関数を、後述する記憶部113に記録してもよい。
The
パラメータ選択部105は、例えば、CPU、ROM、RAM等から構成されている。パラメータ選択部105は、本実施形態に係る情報処理装置10がシステムパラメータを生成するために用いる様々なパラメータを、所定の方法に基づいて選択する。パラメータ選択部105は、各種パラメータを選択する際に、例えば乱数等を利用して無作為に値を決定する。パラメータ選択部105は、選択した各種パラメータを、後述するシステムパラメータ生成部107に伝送する。また、パラメータ選択部105は、選択した各種パラメータを、後述する記憶部113に記録してもよい。
The
システムパラメータ生成部107は、例えば、CPU、ROM、RAM等から構成されている。システムパラメータ生成部107は、群選択部101、パラメータ選択部103および関数選択部105から伝送された各種データを利用して、複数受信者公開鍵暗号システムにおけるシステムパラメータを生成する。生成されたシステムパラメータは、HDDやセキュアモジュールを備えたメモリ等から構成される記憶部113に記録される。また、システムパラメータ生成部107は、生成したシステムパラメータを、後述するシステムパラメータ公開部109に伝送する。
The system
システムパラメータ公開部109は、例えば、CPU、ROM、RAM等から構成されている。システムパラメータ公開部109は、システムパラメータ生成部107が生成したシステムパラメータを、通信網3を介して鍵処理装置として機能する情報処理装置20に配布する。
The system
通信制御部111は、例えば、CPU、ROM、RAM、通信装置等から構成されている。通信制御部111は、システムパラメータ生成装置として機能する情報処理装置10と、鍵処理装置として機能する情報処理装置20との間で行われる通信を制御する。
The
記憶部113には、群選択部101が選択した素数p、群および双線形写像と、関数選択部103が選択した各種関数と、パラメータ選択部105が選択した各種パラメータと、が記録される。また、記憶部113は、これらの各種データ以外にも、情報処理装置10が、何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベース等を、適宜記憶することが可能である。この記憶部113は、群選択部101、関数選択部103、パラメータ選択部105、システムパラメータ生成部107、システムパラメータ公開部109、通信制御部111等が、自由に読み書きを行うことが可能である。
The
なお、情報処理装置10が接続可能な通信網3は、システムパラメータ生成装置として機能する情報処理装置10と、鍵処理装置として機能する情報処理装置20とを、双方向通信又は一方向通信可能に接続する通信回線網である。この通信網は、例えば、インターネット、電話回線網、衛星通信網、同報通信路等の公衆回線網や、WAN(Wide Area Network)、LAN(Local Area Network)、IP−VPN(Internet Protocol−Virtual Private Network)、ワイヤレスLAN等の専用回線網などで構成されており、有線/無線を問わない。
Note that the
以上、本実施形態に係る情報処理装置10の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
Heretofore, an example of the function of the
なお、上述のような本実施形態に係る情報処理装置の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。 It should be noted that a computer program for realizing each function of the information processing apparatus according to the present embodiment as described above can be produced and installed in a personal computer or the like. In addition, a computer-readable recording medium storing such a computer program can be provided. The recording medium is, for example, a magnetic disk, an optical disk, a magneto-optical disk, a flash memory, or the like. Further, the above computer program may be distributed via a network, for example, without using a recording medium.
[鍵処理装置の構成について]
次に、図15および図16を参照しながら、複数受信者公開鍵暗号システムを利用する各ユーザが使用する鍵処理装置として機能する本実施形態に係る情報処理装置20の構成について、詳細に説明する。
[Configuration of key processing device]
Next, the configuration of the
本実施形態に係る情報処理装置20は、例えば、複数受信者鍵カプセル化メカニズム部(mKEM)201と、データカプセル化メカニズム部(DEM)203と、通信制御部205と、記憶部207と、を主に備える。
The
mKEM201は、例えば、CPU、ROM、RAM等から構成されている。mKEM201は、メッセージの送信対象である受信者の公開鍵を用いて、公開鍵暗号処理に基づく演算を行い、送信するメッセージを暗号化するためのセッション鍵を生成する。また、mKEM201は、生成したセッション鍵を暗号化して、後述する通信制御部205を介して、送信者が使用している情報処理装置20に暗号化したセッション鍵を伝送する。また、mKEM201は、生成したセッション鍵を、後述するDEM203に伝送する。このmKEM201については、以下で改めて詳細に説明する。
The
DEM203は、例えば、CPU、ROM、RAM等から構成されている。DEM203は、mKEM201から伝送されたセッション鍵を用いて、受信者に送信するメッセージを、共通鍵暗号処理に基づいて暗号化する。また、DEM203は、暗号化されたメッセージを、後述する通信制御部205を介して、他の情報処理装置(鍵処理装置)20に伝送する。なお、DEM203で行われる共通鍵暗号処理としては、例えば、送信するメッセージ等の特性や各種の条件に応じて、任意の方法を選択することが可能である。
The
通信制御部205は、例えば、CPU、ROM、RAM、通信装置等から構成されている。通信制御部205は、システムパラメータ生成装置として機能する情報処理装置10との間で行われる通信を制御する。また、通信制御部205は、受信者が使用する他の情報処理装置20との間で行われる通信を制御する。
The
記憶部207には、システムパラメータ生成装置として機能する情報処理装置10が生成したシステムパラメータが、記録される。また、記憶部207は、システムパラメータ以外にも、情報処理装置20が、何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベース等を、適宜記憶することが可能である。この記憶部207は、mKEM201、DEM203、通信制御部205等が、自由に読み書きを行うことが可能である。
The
続いて、図16を参照しながら、本実施形態に係る情報処理装置20が備えるmKEM201について、詳細に説明する。
Next, the
本実施形態に係る情報処理装置20は、例えば図16に示したように、鍵生成部211と、暗号化部221と、復号部231と、を主に備える。
For example, as illustrated in FIG. 16, the
鍵生成部211は、例えば、CPU、ROM、RAM等から構成されている。鍵生成部211は、システムパラメータ生成装置として機能する情報処理装置10から取得したシステムパラメータを用いて、情報処理装置20を所持するユーザが使用する公開鍵pkと秘密鍵skとを生成する。この鍵生成部211は、パラメータ生成部213と、秘密鍵生成部215と、公開鍵生成部217と、公開鍵公開部219と、を更に備える。
The key generation unit 211 includes, for example, a CPU, a ROM, a RAM, and the like. The key generation unit 211 generates a public key pk and a secret key sk that are used by a user who possesses the
パラメータ生成部213は、例えば、CPU、ROM、RAM等から構成されている。パラメータ生成部213は、mKEM201が実行する複数受信者公開鍵暗号処理に規定されている鍵生成方法に則って、鍵生成処理に必要となる各種のパラメータを生成する。各種のパラメータの生成に際して、パラメータ生成部213は、記憶部207等に格納されているシステムパラメータを参照する。パラメータ生成部213は、生成した各種のパラメータを、後述する秘密鍵生成部215と、公開鍵生成部217とに伝送する。
The
秘密鍵生成部215は、例えば、CPU、ROM、RAM等から構成されている。秘密鍵生成部215は、パラメータ生成部213から伝送されたパラメータと、記憶部207等に格納されているシステムパラメータとを用い、mKEM201が実行する複数受信者公開鍵暗号処理に規定されている鍵生成方法に則って、秘密鍵skを生成する。秘密鍵生成部215は、生成した秘密鍵skを、記憶部207等に格納して秘匿する。
The secret
公開鍵生成部217は、例えば、CPU、ROM、RAM等から構成されている。公開鍵生成部217は、パラメータ生成部213から伝送されたパラメータと、記憶部207等に格納されているシステムパラメータとを用い、mKEM201が実行する複数受信者公開鍵暗号処理に規定されている鍵生成方法に則って、公開鍵pkを生成する。公開鍵生成部217は、生成した公開鍵pkを、記憶部207等に格納するとともに、後述する公開鍵公開部219に伝送する。
The public
公開鍵公開部219は、例えば、CPU、ROM、RAM等から構成されている。公開鍵公開部219は、公開鍵生成部217から伝送された公開鍵pkを、通信制御部205を介して、他の情報処理装置20に公開する。
The public key
暗号化部221は、例えば、CPU、ROM、RAM等から構成されている。暗号化部221は、システムパラメータ生成装置として機能する情報処理装置10から取得したシステムパラメータと、メッセージの受信者が所持している情報処理装置20が公開している公開鍵pkとを用いて、セッション鍵の生成および暗号化を行う。この暗号化部221は、パラメータ選択部223と、検証用パラメータ生成部225と、セッション鍵生成部227と、を更に備える。
The encryption unit 221 includes, for example, a CPU, a ROM, a RAM, and the like. The encryption unit 221 uses the system parameters acquired from the
パラメータ選択部223は、例えば、CPU、ROM、RAM等から構成されている。パラメータ選択部223は、mKEM201が実行する複数受信者公開鍵暗号処理に規定されている暗号化方法に則って、暗号化処理に必要となる各種のパラメータを選択および生成する。各種のパラメータの選択および生成に際して、パラメータ選択部223は、記憶部207等に格納されているシステムパラメータを参照する。パラメータ選択部223は、生成した各種のパラメータを、後述する検証用パラメータ生成部225と、セッション鍵生成部227とに伝送する。
The
検証用パラメータ生成部225は、例えば、CPU、ROM、RAM等から構成されている。検証用パラメータ生成部225は、mKEM201が実行する複数受信者公開鍵暗号処理に規定されている暗号化方法に則って、メッセージの受信者が復号処理において実行する検証処理に必要となる検証用パラメータを生成する。検証用パラメータ生成部225は、検証用パラメータの生成に際して、システムパラメータと、パラメータ選択部223から伝送されたパラメータとを利用し、メッセージの受信者が公開している公開鍵pkは利用しない。
The verification
セッション鍵生成部227は、例えば、CPU、ROM、RAM等から構成されている。セッション鍵生成部227は、mKEM201が実行する複数受信者公開鍵暗号処理に規定されている暗号化方法に則って、DEM203が実行する共通鍵暗号処理に用いられるセッション鍵を生成する。また、セッション鍵生成部227は、生成したセッション鍵を、DEM203に伝送する。
The session
暗号化部221は、生成した検証用パラメータと、セッション鍵とを、互いに関連づけて、DEM203で生成される暗号化されたメッセージとともに、通信制御部205を介して他の情報処理装置20に伝送する。すなわち、暗号化部221は、情報処理装置20の所有者がメッセージの送信者となる場合に利用される処理部である。
The encryption unit 221 associates the generated verification parameter and the session key with each other and transmits the encrypted message generated by the
復号部231は、例えば、CPU、ROM、RAM等から構成されている。復号部231は、システムパラメータ生成装置として機能する情報処理装置10から取得したシステムパラメータと、メッセージの送信者が所持している情報処理装置20から伝送された暗号文と、自身の秘密鍵skとを用いて、セッション鍵の復号を行う。この復号部231は、パラメータ算出部233と、検証部235と、セッション鍵算出部237と、を更に備える。
For example, the decoding unit 231 includes a CPU, a ROM, a RAM, and the like. The decryption unit 231 includes the system parameters acquired from the
パラメータ算出部233は、例えば、CPU、ROM、RAM等から構成されている。パラメータ算出部233は、mKEM201が実行する複数受信者公開鍵暗号処理に規定されている復号方法に則って、復号処理に必要となる各種のパラメータを算出する。各種のパラメータの算出に際して、パラメータ算出部233は、記憶部207等に格納されているシステムパラメータと、メッセージの送信者から送信された情報とを参照する。また、パラメータ算出部233は、パラメータの算出に際して、自身の秘密鍵skを用いることも可能である。パラメータ算出部233は、算出した各種のパラメータを、後述する検証部235と、セッション鍵算出部237とに伝送する。
The
検証部235は、例えば、CPU、ROM、RAM等から構成されている。検証部235は、mKEM201が実行する複数受信者公開鍵暗号処理に規定されている復号方法に則って、メッセージの送信者から送信された暗号文の検証処理(いわゆるvalidity check)を行う。検証部235は、検証の結果、メッセージの送信者から送信された暗号文が正当なものであると判断した場合には、その旨を後述するセッション鍵算出部237に伝送する。また、検証部235は、検証の結果、メッセージの送信者から送信された暗号文が正当なものではないと判断した場合には、エラーメッセージを出力し、復号処理を終了する。
The
セッション鍵算出部237は、例えば、CPU、ROM、RAM等から構成されている。セッション鍵算出部237は、検証部235から検証に成功した旨を示す情報が伝送されると、mKEM201が実行する複数受信者公開鍵暗号処理に規定されている復号方法に則って、DEM203による復号処理に必要となるセッション鍵を算出する。セッション鍵算出部237は、セッション鍵の算出に際して、自身の秘密鍵skと、記憶部207等に格納されているシステムパラメータと、メッセージの送信者から送信された情報とを利用する。セッション鍵算出部237は、算出したセッション鍵を、DEM203に伝送する。
The session
以上、本実施形態に係る情報処理装置20の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
Heretofore, an example of the function of the
なお、上述のような本実施形態に係る情報処理装置の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。 It should be noted that a computer program for realizing each function of the information processing apparatus according to the present embodiment as described above can be produced and installed in a personal computer or the like. In addition, a computer-readable recording medium storing such a computer program can be provided. The recording medium is, for example, a magnetic disk, an optical disk, a magneto-optical disk, a flash memory, or the like. Further, the above computer program may be distributed via a network, for example, without using a recording medium.
<本実施形態に係る情報処理方法の基盤となる暗号処理方法について>
続いて、本実施形態に係る情報処理方法について説明するに先立ち、本実施形態に係る情報処理方法の基盤となる暗号処理方法について、図17〜20を参照しながら、詳細に説明する。図17〜図20は、本実施形態に係る情報処理方法の基盤となる暗号処理方法について説明するための流れ図である。本実施形態に係る情報処理方法の基盤となる暗号処理方法は、非特許文献1に記載の暗号処理方法を複数受信者KEMに適用した方法である。
<Encryption Processing Method that is the Base of the Information Processing Method According to the Present Embodiment>
Subsequently, prior to describing the information processing method according to the present embodiment, an encryption processing method that is the basis of the information processing method according to the present embodiment will be described in detail with reference to FIGS. 17 to 20 are flowcharts for explaining an encryption processing method that is a basis of the information processing method according to the present embodiment. The cryptographic processing method that is the basis of the information processing method according to the present embodiment is a method in which the cryptographic processing method described in
[システムパラメータ生成方法について]
まず、図17を参照しながら、本実施形態に係る情報処理方法の基盤となるシステムパラメータ生成方法について、詳細に説明する。このシステムパラメータ生成方法は、システムパラメータ生成者が所持する情報処理装置であるシステムパラメータ生成装置において実行される。
[About system parameter generation]
First, a system parameter generation method that is a basis of the information processing method according to the present embodiment will be described in detail with reference to FIG. This system parameter generation method is executed in a system parameter generation apparatus which is an information processing apparatus possessed by the system parameter generator.
まず、システムパラメータ生成装置は、入力されたセキュリティパラメータに基づいて、kビットの素数pを選択し、pを位数とする群G、Geを選択する。また、G×G→Geを実現する双線形写像eを選択する(ステップS1001)。 First, the system parameter generation unit, based on the security parameter input, select the prime number p of k bits, group and position number p G, selects the G e. Also, selecting a bilinear mapping e to realize G × G → G e (step S1001).
次に、システムパラメータ生成装置は、G→Zpという写像を実現する関数TCRと、G→{0,1}lという写像を実現する関数Hと、を選択する(ステップS1002)。 Next, the system parameter generation unit selects a function TCR realizing mapping that G → Z p, and function H to achieve a mapping of G → {0,1} l, the (step S1002).
続いて、システムパラメータ生成装置は、パラメータg∈RGを選択する(ステップS1003)。 Subsequently, the system parameter generation unit selects the parameter g∈ R G (step S1003).
次に、システムパラメータ生成装置は、システムパラメータIをI=(p,G,Ge,g,e,TCR,H)のように構成し、各鍵処理装置に公開する(ステップS1004)。 Next, the system parameter generation device configures the system parameter I as I = (p, G, G e , g, e, TCR, H), and discloses it to each key processing device (step S1004).
このような手順を経ることにより、システムパラメータ生成装置は、鍵処理装置の複数受信者KEMが暗号処理を実行する際に必要となるシステムパラメータを生成することができる。 By passing through such a procedure, the system parameter generation device can generate system parameters required when the multiple recipients KEM of the key processing device execute the cryptographic processing.
[鍵生成方法について]
次に、図18を参照しながら、本実施形態に係る情報処理方法の基盤となる鍵生成方法について、詳細に説明する。この鍵生成方法は、複数受信者公開鍵暗号による通信を行うユーザが所持する情報処理装置である鍵処理装置において実行される。なお、この鍵生成方法は、鍵処理装置を所持するユーザが、自身の公開鍵および秘密鍵を生成する際に実行される。この鍵生成方法は、鍵処理装置がシステムパラメータ生成装置によって生成されたシステムパラメータを取得した後であれば、任意のタイミングで行うことが可能である。
[Key generation method]
Next, a key generation method serving as a basis of the information processing method according to the present embodiment will be described in detail with reference to FIG. This key generation method is executed in a key processing device which is an information processing device possessed by a user who performs communication by multi-recipient public key encryption. This key generation method is executed when a user who owns the key processing device generates his / her public key and secret key. This key generation method can be performed at an arbitrary timing as long as the key processing apparatus has acquired the system parameters generated by the system parameter generation apparatus.
まず、鍵処理装置は、鍵処理装置に固有の秘密情報として、パラメータx∈RZpを選択する(ステップS1011)。 First, the key processing device selects the parameter xε R Z p as secret information unique to the key processing device (step S1011).
次に、鍵処理装置は、選択したパラメータxと、システムパラメータとして公開されているgとを用いて、パラメータc=gxを算出する(ステップS1012)。 Next, the key processing device calculates a parameter c = g x using the selected parameter x and g disclosed as a system parameter (step S1012).
続いて、鍵処理装置は、パラメータd∈RGを選択する(ステップS1013)。 Then, the key processing unit selects the parameter d∈ R G (step S1013).
その後、鍵処理装置は、鍵処理装置を所持するユーザに固有の秘密鍵sk=(x,c,d)を生成する(ステップS1014)。また、鍵処理装置は、鍵処理装置を所持するユーザに固有の公開鍵pk=(c,d)を生成する(ステップS1015)。 Thereafter, the key processing device generates a secret key sk = (x, c, d) unique to the user who owns the key processing device (step S1014). Further, the key processing device generates a public key pk = (c, d) unique to the user who possesses the key processing device (step S1015).
その後、鍵処理装置は、生成した公開鍵pkと秘密鍵skとをユーザに対して出力する(ステップS1016)。また、生成した公開鍵pkは、他の鍵処理装置に対して公開される。 Thereafter, the key processing device outputs the generated public key pk and secret key sk to the user (step S1016). Also, the generated public key pk is disclosed to other key processing devices.
このような手順を経ることにより、鍵処理装置は、鍵処理装置を所持するユーザに固有の鍵である秘密鍵skおよび公開鍵pkを生成することができる。 Through such a procedure, the key processing device can generate a secret key sk and a public key pk that are unique to the user who owns the key processing device.
[暗号化方法について]
次に、図19を参照しながら、本実施形態に係る情報処理方法の基盤となる暗号化方法について、詳細に説明する。この暗号化方法は、複数受信者公開鍵暗号による通信を行うユーザが所持する情報処理装置である鍵処理装置において実行される。なお、この暗号化方法は、鍵処理装置を所持し、メッセージの送信を行うユーザが、複数受信者KEMを用いて暗号文を生成する際に実行される。
[Encryption method]
Next, an encryption method that is a basis of the information processing method according to the present embodiment will be described in detail with reference to FIG. This encryption method is executed in a key processing device which is an information processing device possessed by a user who performs communication by multi-recipient public key encryption. This encryption method is executed when a user who has a key processing device and transmits a message generates a ciphertext using a plurality of recipients KEM.
まず、鍵処理装置は、パラメータr∈RZpを無作為に選択する(ステップS1021)。 First, the key processing unit selects the parameter r∈ R Z p randomly (step S1021).
次に、鍵処理装置は、選択したパラメータrと、システムパラメータとして公開されているパラメータgとを用いて、パラメータu=gr∈Gを算出する(ステップS1022)。 Next, the key processing device calculates a parameter u = g r εG using the selected parameter r and the parameter g disclosed as a system parameter (step S1022).
続いて、鍵処理装置は、算出したパラメータuと、システムパラメータとして公開されている関数TCRとを用いて、パラメータα=TCR(u)∈Zpを算出する(ステップS1023)。 Subsequently, the key processing device calculates the parameter α = TCR (u) εZ p using the calculated parameter u and the function TCR disclosed as a system parameter (step S1023).
次に、鍵処理装置は、メッセージの送信を行う鍵処理装置全てに対して、送信先の鍵処理装置の公開鍵pki(i=1,・・・n)を用いて、以下の検証用パラメータviを算出する(ステップS1024)。 Next, the key processing device uses the public key pk i (i = 1,... N) of the destination key processing device for all the key processing devices that transmit the message, for the following verification. The parameter v i is calculated (step S1024).
続いて、鍵処理装置は、メッセージの送信を行う鍵処理装置全てに対して、送信先の鍵処理装置の公開鍵pki(i=1,・・・n)を用いて、以下のセッション鍵dkiを算出する(ステップS1025)。 Subsequently, the key processing device uses the public key pk i (i = 1,... N) of the destination key processing device to all the key processing devices that transmit the message, and uses the following session key: to calculate the dk i (step S1025).
次に、鍵処理装置は、φ=(u,v1,v2,・・・,vn)とし、(φ,dk1,dk2,・・・,dkn)を出力する(ステップS1026)。なお、図19において、ベクトルvは、全ての受信者に対するviを一括して表記したものを意味する。また、図19において、ベクトルdkは、全ての受信者に対するdkiを一括して表記したものを意味する。 Next, the key processing unit, phi = and (u, v 1, v 2 , ···, v n) and, (φ, dk 1, dk 2, ···, dk n) outputs a (step S1026 ). In FIG. 19, the vector v means that v i for all recipients is collectively represented. Further, in FIG. 19, the vector dk is meant those denoted collectively dk i for all recipients.
このような手順を経ることにより、鍵処理装置は、鍵処理装置のDEMにおいて実行される共通鍵暗号処理に用いられるセッション鍵dkを生成することができる。 Through such a procedure, the key processing device can generate a session key dk used for common key encryption processing executed in the DEM of the key processing device.
[復号方法について]
次に、図20を参照しながら、本実施形態に係る情報処理方法の基盤となる復号方法について、詳細に説明する。この復号方法は、暗号文を受信した情報処理装置である鍵処理装置において実行される。
[About decryption method]
Next, with reference to FIG. 20, a decoding method that is the basis of the information processing method according to the present embodiment will be described in detail. This decryption method is executed in a key processing device that is an information processing device that has received the ciphertext.
復号処理に先立ち、鍵処理装置は、暗号文の中に含まれるφ=(u,v1,v2,・・・,vn)の中から、自身に関係する部分(u,vi)を抽出する。この抽出処理は、記載されているviの順番とユーザとの対応関係とを関連付けるラベルを用いたり、送信者がそれぞれの受信者に必要な情報だけが届くように設定したりすることで実現可能である。 Prior to the decryption process, the key processing device determines a part (u, v i ) related to itself from φ = (u, v 1 , v 2 ,..., V n ) included in the ciphertext. To extract. This extraction process is realized by using a label that associates the order of v i described with the corresponding relationship with the user, or by setting the sender so that only necessary information reaches each receiver. Is possible.
まず、鍵処理装置は、暗号文に含まれるパラメータuと、システムパラメータとして公開されている関数TCRとを用いて、パラメータα=TCR(u)∈Zpを算出する(ステップS1031)。 First, the key processing device calculates the parameter α = TCR (u) εZ p using the parameter u included in the ciphertext and the function TCR disclosed as a system parameter (step S1031).
次に、鍵処理装置は、自身の秘密鍵skiと、システムパラメータと、算出したパラメータαと、暗号文に含まれるu,viとを用いて、暗号文の検証処理を行う。より詳細には、鍵処理装置は、以下の式1003における等号が成立するか否かに基づいて、暗号文の検証処理を行う(ステップS1032)。 Next, the key processing apparatus performs a secret key sk i itself, and system parameters, and the parameter α that calculated, u contained in the ciphertext, by using the v i, verifies the ciphertext. More specifically, the key processing device performs ciphertext verification processing based on whether or not an equal sign in Expression 1003 below holds (step S1032).
鍵処理装置は、上記式1003の等号が成立しない場合には、受信した暗号文が不当なものであると判断し、エラーメッセージを出力して(ステップS1033)復号処理を終了する。 If the equal sign of the above expression 1003 is not established, the key processing apparatus determines that the received ciphertext is invalid, outputs an error message (step S1033), and ends the decryption process.
また、上記式1003の等号が成立した場合には、鍵処理装置は、受信した暗号文が正当なものであると判断し、自身の秘密鍵skiと、暗号文に含まれるパラメータuと、システムパラメータとを用いて、自身に対応するセッション鍵dki=H(ux)∈{0,1}lを算出する(ステップS1034)。続いて、鍵処理装置は、算出したセッション鍵dkiを、自装置のDEMへと出力する(ステップS1035)。 If the equal sign of the above expression 1003 is established, the key processing device determines that the received ciphertext is valid, and its own secret key ski i and the parameter u included in the ciphertext. Then, using the system parameters, the session key dk i = H (u x ) ε {0, 1} l corresponding to itself is calculated (step S1034). Then, the key processing unit, the calculated session key dk i, and outputs it to the DEM of the apparatus (step S1035).
このような手順を経ることにより、鍵処理装置は、鍵処理装置のDEMにおける復号処理に用いられるセッション鍵dkを算出することができる。 Through such a procedure, the key processing device can calculate the session key dk used for the decryption process in the DEM of the key processing device.
[基盤技術である暗号処理方法の問題点]
上述のような本実施形態に係る情報処理方法の基盤技術となる暗号処理方法では、以下のような問題点がある。すなわち、基盤技術では、暗号化方法において、それぞれの受信者の公開鍵を用いて検証用パラメータv1,v2,・・・,vnを計算し、暗号文φに挿入している。暗号文の受信者は、復号方法において、式1003における等号が成立するか否かを検証することにより、不当な暗号文を排除することが可能となっている。しかしながら、この検証方法を実現するために、受信者数をnとしたときn回のmulti−scalar multiplicationの処理が暗号化の際に必要となる。さらに、生成される暗号文においても、n+1個の要素が必要となる。これらの値が大きいという点が、基盤技術における問題点である。
[Problems of cryptographic processing method, which is a basic technology]
The cryptographic processing method that is the basic technology of the information processing method according to the present embodiment as described above has the following problems. That is, in the fundamental technology, the encryption method, verifying the parameter v 1 using the public key of each recipient, v 2, · · ·, a v n calculated, are inserted into ciphertext phi. The receiver of the ciphertext can eliminate the illegal ciphertext by verifying whether or not the equal sign in Expression 1003 holds in the decryption method. However, in order to realize this verification method, n multi-scalar multiplexing processes are required for encryption when the number of recipients is n. Furthermore, n + 1 elements are required also in the generated ciphertext. The fact that these values are large is a problem in basic technology.
<情報処理方法について>
本実施形態に係る情報処理方法では、上記問題を解決するために、検証処理を行なうために必要な要素をシステムパラメータに加えることにより、情報処理方法全体における効率化を実現している。これにより、基盤技術の暗号化方法において、受信者ごとに公開鍵を用いたパラメータ生成処理が必要であったものを、全ユーザ共通の要素を用いる処理一回のみで、全ユーザに共通する検証用パラメータを生成することが可能となる。
<About information processing method>
In the information processing method according to this embodiment, in order to solve the above-described problem, the efficiency of the entire information processing method is realized by adding elements necessary for performing the verification process to the system parameters. As a result, in the basic technology encryption method, a parameter generation process using a public key for each recipient is required, and verification that is common to all users can be performed only once using a common element for all users. Parameters can be generated.
以下、本実施形態に係る情報処理方法について、図21〜図24を参照しながら、詳細に説明する。図21〜図24は、本実施形態に係る情報処理方法について説明するための流れ図である。 Hereinafter, the information processing method according to the present embodiment will be described in detail with reference to FIGS. 21 to 24 are flowcharts for explaining the information processing method according to the present embodiment.
[システムパラメータ生成方法について]
まず、図21を参照しながら、本実施形態に係るシステムパラメータ生成方法について、詳細に説明する。このシステムパラメータ生成方法は、システムパラメータ生成装置として機能する本実施形態に係る情報処理装置10において実行される。
[About system parameter generation]
First, the system parameter generation method according to the present embodiment will be described in detail with reference to FIG. This system parameter generation method is executed in the
まず、情報処理装置10の群選択部101は、入力されたセキュリティパラメータに基づいて、kビットの素数pを選択し、pを位数とする群G1、G2、Geを選択する。また、G1×G2→Geを実現する双線形写像eを選択する(ステップS101)。
First, the
次に、情報処理装置10の関数選択部103は、G1→Zpという写像を実現する関数TCRと、G1→{0,1}lという写像を実現する関数Hと、を選択する(ステップS102)。
Next, the
続いて、情報処理装置10のパラメータ選択部105は、以下の式101および式102に示すパラメータを選択する(ステップS103)。
Subsequently, the
次に、情報処理装置10のシステムパラメータ生成部107は、システムパラメータIを以下の式103のように構成し、各鍵処理装置に公開する(ステップS104)。
Next, the system
このような手順を経ることにより、システムパラメータ生成装置として機能する情報処理装置10は、鍵処理装置として機能する情報処理装置20のmKEM201が暗号処理を実行する際に必要となるシステムパラメータを生成することができる。
Through such a procedure, the
なお、上述の群G1およびG2について、G1とG2とは同じ群であっても、異なる群であってもよい。G1およびG2が同じ群である場合には、g1=g2として、以下で説明する処理が実行される。 Regarding groups G 1 and G 2 described above, G 1 and G 2 may be the same group or different groups. When G 1 and G 2 are the same group, the processing described below is executed with g 1 = g 2 .
[鍵生成方法について]
次に、図22を参照しながら、本実施形態に係る鍵生成方法について、詳細に説明する。この鍵生成方法は、複数受信者公開鍵暗号による通信を行うユーザが所持し、鍵処理装置として機能する情報処理装置20の鍵生成部211において実行される。なお、この鍵生成方法は、情報処理装置20を所持するユーザが、自身の公開鍵および秘密鍵を生成する際に実行される。この鍵生成方法は、情報処理装置20がシステムパラメータを取得した後であれば、任意のタイミングで行うことが可能である。
[Key generation method]
Next, the key generation method according to the present embodiment will be described in detail with reference to FIG. This key generation method is executed in the key generation unit 211 of the
まず、パラメータ生成部213は、情報処理装置20に固有の秘密情報として、パラメータx∈RZpを選択する(ステップS111)。
First, the
次に、パラメータ生成部213は、選択したパラメータxと、システムパラメータとして公開されているg1とを用いて、パラメータc=g1 x∈RG1を算出する(ステップS112)。
Next, the
続いて、秘密鍵生成部215は、選択したパラメータxを、情報処理装置20を所持するユーザに固有の秘密鍵skとして設定する(ステップS113)。また、公開鍵生成部217は、算出したパラメータcを、情報処理装置20を所持するユーザに固有の公開鍵pkとして設定する(ステップS114)。
Subsequently, the secret
その後、鍵生成部211は、生成した公開鍵pkと秘密鍵skとをユーザに対して出力する(ステップS115)。また、公開鍵公開部219は、生成した公開鍵pkを、他の情報処理装置20に対して公開する。
Thereafter, the key generation unit 211 outputs the generated public key pk and secret key sk to the user (step S115). In addition, the public
このような手順を経ることにより、情報処理装置20の鍵生成部211は、情報処理装置を所持するユーザに固有の鍵である秘密鍵skおよび公開鍵pkを生成することができる。
Through such a procedure, the key generation unit 211 of the
[暗号化方法について]
次に、図23を参照しながら、本実施形態に係る暗号化方法について、詳細に説明する。この暗号化方法は、複数受信者公開鍵暗号による通信を行うユーザが所持し、鍵処理装置として機能する情報処理装置20の暗号化部221において実行される。なお、この暗号化方法は、情報処理装置20を所持し、メッセージの送信を行うユーザが、複数受信者KEMを用いて暗号文を生成する際に実行される。
[Encryption method]
Next, the encryption method according to the present embodiment will be described in detail with reference to FIG. This encryption method is executed by the encryption unit 221 of the
まず、パラメータ選択部223は、パラメータr∈RZpを無作為に選択する(ステップS121)。
First, the
次に、パラメータ選択部223は、選択したパラメータrと、システムパラメータとして公開されているパラメータg1とを用いて、パラメータu=g1 r∈G1を算出する(ステップS122)。
Next, the
続いて、パラメータ選択部223は、算出したパラメータuと、システムパラメータとして公開されている関数TCRとを用いて、パラメータα=TCR(u)∈Zpを算出する(ステップS123)。
Subsequently, the
次に、検証用パラメータ生成部225は、メッセージの送信を行う全ての情報処理装置20に共通する検証用パラメータを、以下の式111に基づいて生成する(ステップS124)。この検証用パラメータは、以下の式111から明らかなように、システムパラメータと、パラメータ選択部223によって選択されたパラメータとを用いて、生成することが可能である。
Next, the verification
続いて、セッション鍵生成部227は、メッセージの送信を行う情報処理装置20全てに対して、送信先の情報処理装置20の公開鍵pki(i=1,・・・n)を用いて、以下のセッション鍵dkiを算出する(ステップS125)。
Subsequently, the session
次に、暗号化部221は、以下の式113に示すセッション鍵を出力する(ステップS126)。 Next, the encryption unit 221 outputs a session key represented by the following expression 113 (step S126).
このような手順を経ることにより、情報処理装置20は、DEM203において実行される共通鍵暗号処理に用いられるセッション鍵dkを生成することができる。
Through such a procedure, the
上述のように、基盤技術における暗号化方法では、受信者の公開鍵pkiを用いて各受信者に対して検証用パラメータviを算出していたが、本実施形態に係る暗号化方法では、システムパラメータとして公開されている値を用いて検証用パラメータを生成する。これにより、本実施形態に係る暗号化方法では、演算回数の削減を図ることが可能となる。 As described above, in the encryption method in the basic technology, the verification parameter v i is calculated for each receiver using the public key pk i of the receiver, but in the encryption method according to the present embodiment, Then, a verification parameter is generated using a value disclosed as a system parameter. Thereby, in the encryption method according to the present embodiment, the number of calculations can be reduced.
[復号方法について]
次に、図24を参照しながら、本実施形態に係る復号方法について、詳細に説明する。この復号方法は、暗号文を受信した情報処理装置20の復号部231において実行される。
[About decryption method]
Next, the decoding method according to the present embodiment will be described in detail with reference to FIG. This decryption method is executed in the decryption unit 231 of the
まず、パラメータ算出部233は、暗号文に含まれるパラメータuと、システムパラメータとして公開されている関数TCRとを用いて、パラメータα=TCR(u)∈Zpを算出する(ステップS131)。
First, the
次に、検証部235は、システムパラメータと、算出したパラメータαと、暗号文に含まれるパラメータとを用いて、暗号文の検証処理を行う。より詳細には、検証部235は、以下の式121における等号が成立するか否かに基づいて、暗号文の検証処理を行う(ステップS132)。
Next, the
検証部235は、上記式121の等号が成立しない場合には、受信した暗号文が不当なものであると判断し、エラーメッセージを出力して(ステップS133)復号処理を終了する。
If the equal sign of
また、上記式121の等号が成立した場合には、検証部235は、受信した暗号文が正当なものであると判断し、暗号文が正当なものである旨を示す情報を、セッション鍵算出部237に伝送する。セッション鍵算出部237は、自身の秘密鍵skiと、暗号文に含まれるパラメータuと、システムパラメータとを用いて、自身に対応するセッション鍵dki=H(ux)∈{0,1}lを算出する(ステップS134)。続いて、セッション鍵算出部237は、算出したセッション鍵dkiを、自装置のDEM203へと出力する(ステップS135)。
When the equal sign of the
このような手順を経ることにより、情報処理装置20の復号部231は、DEM203における復号処理に用いられるセッション鍵dkを算出することができる。
Through such a procedure, the decryption unit 231 of the
上述のように、基盤技術における復号方法では、受信者の公開鍵pkiを用いて検証用パラメータを用いた検証処理を行っていたが、本実施形態に係る復号方法では、システムパラメータとして公開されている値を用いて検証処理を実施する。 As described above, in the decryption method in the basic technology, the verification process using the verification parameter is performed using the public key pk i of the recipient, but in the decryption method according to the present embodiment, it is disclosed as a system parameter. The verification process is carried out using the values.
<暗号化時の計算量と暗号文のサイズについて>
以下では、本実施形態に係る情報処理方法の暗号化時における計算量と暗号文のサイズについて、基盤技術における暗号処理方法と比較しながら説明する。
<Computation amount and ciphertext size during encryption>
In the following, the calculation amount and the ciphertext size at the time of encryption of the information processing method according to the present embodiment will be described in comparison with the encryption processing method in the basic technology.
[暗号化時の計算量について]
まず、受信者数をnとしたときの、基盤技術における暗号化方法での計算量と、本実施形態に係る暗号化方法での計算量を比較する。両方法ともに、single−scalar multiplication、および、multi−scalar multiplicationの計算量が支配的となるため、それぞれの演算数の比較を行った。暗号化時の計算量を比較した結果を、以下の表1に示す。
[Computation amount for encryption]
First, when the number of recipients is n, the amount of computation in the encryption method in the basic technology is compared with the amount of computation in the encryption method according to the present embodiment. In both methods, since the amount of calculation of single-scalar multiplication and multi-scalar multiplication is dominant, the number of operations was compared. Table 1 below shows the result of comparing the amount of calculation at the time of encryption.
なお、single−scalar multiplicationとは、grのように、一つの群要素に対してscalar倍算をすることを意味する。また、multi−scalar multiplicationとは、g1 r1・g2 r2のように、二つの群要素に対して異なる値のscalar倍算をすることを意味する。 Note that the single-scalar multiplication, as g r, which means that the scalar multiplication for one group element. Also, multi-scalar multiplication means that scalar multiplication of different values is performed on two group elements, such as g 1 r1 · g 2 r2 .
表1より、基盤技術における暗号化方法では、(n+1)回のsingle−scalar multiplicationと、n回のmulti−scalar multiplicationが必要であることがわかる。また、本実施形態に係る暗号化方法では、(n+1)回のsingle−scalar multiplicationと、1回のmulti−scalar multiplicationが必要であることがわかる。すなわち、本実施形態に係る暗号化方法では、(n−1)回のmulti−scalar multiplicationを削減できたことが分かる。 From Table 1, it can be seen that (n + 1) single-scalar multiplication and n multi-scalar multiplication are necessary in the encryption method in the basic technology. It can also be seen that the encryption method according to the present embodiment requires (n + 1) single-scalar multiplication and one multi-scalar multiplication. That is, it can be seen that the encryption method according to the present embodiment can reduce (n−1) multi-scalar multiplication.
非特許文献5に記載のように、一般的にmulti−scalar multiplicationは、single−scalar multiplicationの1.5倍の処理が必要であると考えられている。このことを考慮すると、基盤技術における暗号化方法では(2.5n+1)回分のsingle−scalar multiplicationの計算量が必要である。他方、本実施形態に係る暗号化方式では、(n+2.5)回分のsingle−scalar multiplicationの計算量で処理が完了することが分かる。 As described in Non-Patent Document 5, it is generally considered that multi-scalar multiplication requires 1.5 times the processing of single-scalar multiplication. In consideration of this, the encryption method in the basic technology requires (2.5n + 1) times of single-scalar multiplexing calculation amount. On the other hand, in the encryption method according to the present embodiment, it can be seen that the processing is completed with a calculation amount of (n + 2.5) times of single-scalar multiplication.
[暗号文のサイズについて]
次に、受信者数をnとしたときの、基盤技術における暗号文サイズと、本実施形態に係る情報処理方法における暗号文サイズとを比較する。両方法とも、同じ群を用いていると考え、暗号文に含まれる要素数で比較を行った。得られた結果を、以下の表2に示す。
[Ciphertext size]
Next, the ciphertext size in the basic technology when the number of recipients is n is compared with the ciphertext size in the information processing method according to the present embodiment. Both methods were considered to use the same group and were compared using the number of elements included in the ciphertext. The obtained results are shown in Table 2 below.
表2より、基盤技術では、G1とG2の要素を合わせてn+1個の要素が存在するのに対し、本実施形態では、受信者数に依存せずに、要素数は2個となる。この結果から明らかなように、本実施形態に係る情報処理方法では、暗号文のサイズを、受信者数に依存せずに、一定のサイズにすることができる。 From Table 2, in the basic technology, there are n + 1 elements including the elements of G 1 and G 2 , whereas in this embodiment, the number of elements is two without depending on the number of recipients. . As is clear from this result, in the information processing method according to the present embodiment, the size of the ciphertext can be made constant without depending on the number of recipients.
<第1変形例について>
本実施形態に係るシステムパラメータ生成方法において、ψ:G1→G2となる効率的な同型写像が存在するように、情報処理装置10の群選択部101が群G1,G2を選択する場合を考える。この場合、情報処理装置20の復号部231(より詳細には、検証部235)で実行される双線形写像の値を算出する以外の演算を、全て群G1上で行なうことが可能となり、暗号文も、G1上の要素のみで表すことが可能となる。さらに、群G1,G2の選択方法として、G2上の演算よりもG1上での演算の方が軽く、また要素の表現サイズに関しても、G2よりもG1の方が小さく表現可能となる場合も考えられる。
<About the first modification>
In the system parameter generation method according to the present embodiment, the
このような場合、本実施形態にかかる計算量と暗号文サイズの削減が実現可能となる。上述のような変形例を実現するためには、本発明の第1の実施形態に係るシステムパラメータ生成方法、暗号化方法および復号方法を、以下のように変形する。 In such a case, the amount of calculation and the ciphertext size according to the present embodiment can be reduced. In order to realize the above-described modification, the system parameter generation method, the encryption method, and the decryption method according to the first embodiment of the present invention are modified as follows.
[システムパラメータ生成方法について]
まず、図25を参照しながら、本変形例に係るシステムパラメータ生成方法について、詳細に説明する。図25は、本変形例に係るシステムパラメータ生成方法を説明するための流れ図である。
[About system parameter generation]
First, the system parameter generation method according to this modification will be described in detail with reference to FIG. FIG. 25 is a flowchart for explaining a system parameter generation method according to this modification.
まず、情報処理装置10の群選択部101は、入力されたセキュリティパラメータに基づいて、kビットの素数pを選択し、ψ:G1→G2となる効率的な同型写像が存在するように、pを位数とする群G1、G2、Geを選択する。また、G1×G2→Geを実現する双線形写像eを選択する(ステップS141)。
First, the
次に、情報処理装置10の関数選択部103は、G1→Zpという写像を実現する関数TCRと、G1→{0,1}lという写像を実現する関数Hと、を選択する(ステップS102)。
Next, the
続いて、情報処理装置10のパラメータ選択部105は、以下の式131に示すパラメータを選択する(ステップS142)。
Subsequently, the
次に、情報処理装置10のシステムパラメータ生成部107は、システムパラメータIを以下の式132のように構成し、各鍵処理装置に公開する(ステップS143)。
Next, the system
[暗号化方法について]
次に、図26を参照しながら、本変形例に係る暗号化方法について、詳細に説明する。図26は、本変形例に係る暗号化方法を説明するための流れ図である。
[Encryption method]
Next, an encryption method according to this modification will be described in detail with reference to FIG. FIG. 26 is a flowchart for explaining the encryption method according to the present modification.
まず、パラメータ選択部223は、パラメータr∈RZpを無作為に選択する(ステップS121)。
First, the
次に、パラメータ選択部223は、選択したパラメータrと、システムパラメータとして公開されているパラメータg1とを用いて、パラメータu=g1 r∈G1を算出する(ステップS122)。
Next, the
続いて、パラメータ選択部223は、算出したパラメータuと、システムパラメータとして公開されている関数TCRとを用いて、パラメータα=TCR(u)∈Zpを算出する(ステップS123)。
Subsequently, the
次に、検証用パラメータ生成部225は、メッセージの送信を行う全ての情報処理装置20に共通する検証用パラメータを、以下の式133に基づいて生成する(ステップS144)。この検証用パラメータは、以下の式133から明らかなように、システムパラメータと、パラメータ選択部223によって選択されたパラメータとを用いて、群G1上での演算を用いて生成することが可能である。
Next, the verification
続いて、セッション鍵生成部227は、メッセージの送信を行う情報処理装置20全てに対して、送信先の情報処理装置20の公開鍵pki(i=1,・・・n)を用いて、以下のセッション鍵dkiを算出する(ステップS125)。
Subsequently, the session
次に、暗号化部221は、以下の式113に示すセッション鍵を出力する(ステップS126)。 Next, the encryption unit 221 outputs a session key represented by the following expression 113 (step S126).
[復号方法について]
次に、図27を参照しながら、本変形例に係る復号方法について、詳細に説明する。図27は、本変形例に係る復号方法を説明するための流れ図である。
[Decoding method]
Next, the decoding method according to this modification will be described in detail with reference to FIG. FIG. 27 is a flowchart for explaining the decoding method according to the present modification.
まず、パラメータ算出部233は、暗号文に含まれるパラメータuと、システムパラメータとして公開されている関数TCRとを用いて、パラメータα=TCR(u)∈Zpを算出する(ステップS131)。
First, the
次に、検証部235は、システムパラメータと、算出したパラメータαと、暗号文に含まれるパラメータとを用いて、暗号文の検証処理を行う。より詳細には、検証部235は、以下の式134における等号が成立するか否かに基づいて、暗号文の検証処理を行う(ステップS145)。
Next, the
上記式134から明らかなように、同型写像ψを用いて群G1上の要素を群G2上に写像することで、双線形写像eの演算を行なうことができる。 As is clear from the above equation 134, the bilinear mapping e can be calculated by mapping the elements on the group G 1 onto the group G 2 using the isomorphic mapping ψ.
検証部235は、上記式134の等号が成立しない場合には、受信した暗号文が不当なものであると判断し、エラーメッセージを出力して(ステップS133)復号処理を終了する。
If the equal sign of Expression 134 is not satisfied, the
また、上記式134の等号が成立した場合には、検証部235は、受信した暗号文が正当なものであると判断し、暗号文が正当なものである旨を示す情報を、セッション鍵算出部237に伝送する。セッション鍵算出部237は、自身の秘密鍵skiと、暗号文に含まれるパラメータuと、システムパラメータとを用いて、自身に対応するセッション鍵dki=H(ux)∈{0,1}lを算出する(ステップS134)。続いて、セッション鍵算出部237は、算出したセッション鍵dkiを、自装置のDEM203へと出力する(ステップS135)。
When the equal sign of the above expression 134 is established, the
以上説明したように、本発明の第1の実施形態に係る情報処理装置および情報処理方法では、鍵処理装置として機能する情報処理装置20におけるmKEM201として、図11に示したmmKEMを導入することで、複数受信者公開鍵暗号システムを実現している。
As described above, in the information processing apparatus and the information processing method according to the first embodiment of the present invention, the mmKEM shown in FIG. 11 is introduced as the
(第2の実施形態)
続いて、図28〜図37を参照しながら、本発明の第2の実施形態に係る情報処理装置および情報処理方法について、詳細に説明する。
(Second Embodiment)
Subsequently, an information processing apparatus and an information processing method according to the second embodiment of the present invention will be described in detail with reference to FIGS. 28 to 37.
<情報処理装置の構成について>
まず、本実施形態に係る情報処理装置の構成について、説明する。本実施形態に係る情報処理装置は、システムパラメータ生成装置として機能する情報処理装置10と、鍵処理装置として機能する情報処理装置20とが存在する。
<Configuration of information processing device>
First, the configuration of the information processing apparatus according to the present embodiment will be described. The information processing apparatus according to the present embodiment includes an
ここで、本実施形態におけるシステムパラメータ生成装置として機能する情報処理装置10は、図14に示した本発明の第1の実施形態に係る情報処理装置10の構成を有し、各処理部で実行される処理内容のみが異なるものである。そのため、本実施形態に係る情報処理装置10が備える各処理部の機能については、以下で本実施形態に係る情報処理方法を説明しながら説明するものとする。
Here, the
同様に、本実施形態における鍵処理装置として機能する情報処理装置20は、図15および図16に示した本発明の第1の実施形態に係る情報処理装置20の構成を有し、各処理部で実行される処理内容のみが異なるものである。そのため、本実施形態に係る情報処理装置20が備える各処理部の機能については、以下で本実施形態に係る情報処理方法を説明しながら説明するものとする。
Similarly, the
<本実施形態に係る情報処理方法の基盤となる暗号処理方法について>
続いて、本実施形態に係る情報処理方法について説明するに先立ち、本実施形態に係る情報処理方法の基盤となる暗号処理方法について、図28〜31を参照しながら、詳細に説明する。図28〜図31は、本実施形態に係る情報処理方法の基盤となる暗号処理方法について説明するための流れ図である。本実施形態に係る情報処理方法の基盤となる暗号処理方法は、非特許文献2に記載の暗号処理方法である。
<Encryption Processing Method that is the Base of the Information Processing Method According to the Present Embodiment>
Next, prior to describing the information processing method according to the present embodiment, an encryption processing method that is the basis of the information processing method according to the present embodiment will be described in detail with reference to FIGS. FIG. 28 to FIG. 31 are flowcharts for explaining the cryptographic processing method that is the basis of the information processing method according to the present embodiment. The cryptographic processing method that is the basis of the information processing method according to the present embodiment is the cryptographic processing method described in
[システムパラメータ生成方法について]
まず、図28を参照しながら、本実施形態に係る情報処理方法の基盤となるシステムパラメータ生成方法について、詳細に説明する。このシステムパラメータ生成方法は、システムパラメータ生成者が所持する情報処理装置であるシステムパラメータ生成装置において実行される。
[About system parameter generation]
First, with reference to FIG. 28, a system parameter generation method that is the basis of the information processing method according to the present embodiment will be described in detail. This system parameter generation method is executed in a system parameter generation apparatus which is an information processing apparatus possessed by the system parameter generator.
まず、システムパラメータ生成装置は、入力されたセキュリティパラメータに基づいて、kビットの素数pを選択し、pを位数とする群Gを選択する(ステップS2001)。 First, the system parameter generation device selects a k-bit prime number p based on the input security parameters, and selects a group G having p as a rank (step S2001).
次に、システムパラメータ生成装置は、G→Zpという写像を実現する関数TCRと、G→{0,1}lという写像を実現する関数Hと、を選択する(ステップS2002)。 Next, the system parameter generation unit selects a function TCR realizing mapping that G → Z p, and function H to achieve a mapping of G → {0,1} l, the (step S2002).
続いて、システムパラメータ生成装置は、パラメータg∈RGを選択する(ステップS2003)。 Subsequently, the system parameter generation unit selects the parameter g∈ R G (step S2003).
次に、システムパラメータ生成装置は、システムパラメータIをI=(p,G,g,TCR,H)のように構成し、各鍵処理装置に公開する(ステップS2004)。 Next, the system parameter generation device configures the system parameter I as I = (p, G, g, TCR, H), and discloses it to each key processing device (step S2004).
このような手順を経ることにより、システムパラメータ生成装置は、鍵処理装置の複数受信者KEMが暗号処理を実行する際に必要となるシステムパラメータを生成することができる。 By passing through such a procedure, the system parameter generation device can generate system parameters required when the multiple recipients KEM of the key processing device execute the cryptographic processing.
[鍵生成方法について]
次に、図29を参照しながら、本実施形態に係る情報処理方法の基盤となる鍵生成方法について、詳細に説明する。この鍵生成方法は、複数受信者公開鍵暗号による通信を行うユーザが所持する情報処理装置である鍵処理装置において実行される。なお、この鍵生成方法は、鍵処理装置を所持するユーザが、自身の公開鍵および秘密鍵を生成する際に実行される。この鍵生成方法は、鍵処理装置がシステムパラメータ生成装置によって生成されたシステムパラメータを取得した後であれば、任意のタイミングで行うことが可能である。
[Key generation method]
Next, a key generation method serving as a basis of the information processing method according to the present embodiment will be described in detail with reference to FIG. This key generation method is executed in a key processing device which is an information processing device possessed by a user who performs communication by multi-recipient public key cryptography. This key generation method is executed when a user who owns the key processing device generates his / her public key and secret key. This key generation method can be performed at an arbitrary timing as long as the key processing apparatus has acquired the system parameters generated by the system parameter generation apparatus.
まず、鍵処理装置は、鍵処理装置に固有の秘密情報として、パラメータa0,a1,a2∈RZpを選択する(ステップS2011)。本実施形態において、このような3種類のパラメータを選択することは、選択したパラメータを係数に持つf(x)=a0+a1x+a2x2という二次関数を定義したことと同様の意味を有する。 First, the key processing device selects parameters a 0 , a 1 , a 2 ∈ R Z p as secret information unique to the key processing device (step S2011). In this embodiment, selecting such three types of parameters has the same meaning as defining a quadratic function f (x) = a 0 + a 1 x + a 2 x 2 having the selected parameters as coefficients. Have
次に、鍵処理装置は、選択したパラメータa0,a1,a2と、システムパラメータであるgとを用い、先に説明したラグランジュの補間公式を利用して、以下の式2001〜式2003に示すパラメータy0,y1,y2を算出する(ステップS2012)。 Next, the key processing device uses the selected parameters a 0 , a 1 , a 2 and the system parameter g, and uses the Lagrangian interpolation formula described above, and uses the following equations 2001 to 2003: The parameters y 0 , y 1 , y 2 shown in ( 2) are calculated (step S2012).
その後、鍵処理装置は、鍵処理装置を所持するユーザに固有の秘密鍵sk=(a0,a1,a2)を生成する(ステップS2013)。また、鍵処理装置は、鍵処理装置を所持するユーザに固有の公開鍵pk=(y0,y1,y2)を生成する(ステップS2014)。 Thereafter, the key processing device generates a secret key sk = (a 0 , a 1 , a 2 ) unique to the user possessing the key processing device (step S2013). Further, the key processing device generates a public key pk = (y 0 , y 1 , y 2 ) unique to the user who owns the key processing device (step S2014).
その後、鍵処理装置は、生成した公開鍵pkと秘密鍵skとをユーザに対して出力する(ステップS2015)。また、生成した公開鍵pkは、他の鍵処理装置に対して公開される。 Thereafter, the key processing device outputs the generated public key pk and secret key sk to the user (step S2015). Also, the generated public key pk is disclosed to other key processing devices.
このような手順を経ることにより、鍵処理装置は、鍵処理装置を所持するユーザに固有の鍵である秘密鍵skおよび公開鍵pkを生成することができる。 Through such a procedure, the key processing device can generate a secret key sk and a public key pk that are unique to the user who owns the key processing device.
[暗号化方法について]
次に、図30を参照しながら、本実施形態に係る情報処理方法の基盤となる暗号化方法について、詳細に説明する。この暗号化方法は、複数受信者公開鍵暗号による通信を行うユーザが所持する情報処理装置である鍵処理装置において実行される。なお、この暗号化方法は、鍵処理装置を所持し、メッセージの送信を行うユーザが、複数受信者KEMを用いて暗号文を生成する際に実行される。
[Encryption method]
Next, an encryption method serving as a basis of the information processing method according to the present embodiment will be described in detail with reference to FIG. This encryption method is executed in a key processing device which is an information processing device possessed by a user who performs communication by multi-recipient public key encryption. This encryption method is executed when a user who has a key processing device and transmits a message generates a ciphertext using a plurality of recipients KEM.
まず、鍵処理装置は、パラメータr∈RZpを無作為に選択する(ステップS2021)。 First, the key processing unit selects the parameter r∈ R Z p randomly (step S2021).
次に、鍵処理装置は、選択したパラメータrと、システムパラメータとして公開されているパラメータgとを用いて、パラメータu=gr∈Gを算出する(ステップS2022)。 Next, the key processing device calculates the parameter u = g r εG using the selected parameter r and the parameter g disclosed as a system parameter (step S2022).
続いて、鍵処理装置は、算出したパラメータuと、システムパラメータとして公開されている関数TCRとを用いて、パラメータα=TCR(u)∈Zpを算出する(ステップS2023)。 Subsequently, the key processing device calculates the parameter α = TCR (u) εZ p using the calculated parameter u and the function TCR disclosed as a system parameter (step S2023).
次に、鍵処理装置は、メッセージの送信を行う鍵処理装置全てに対して、送信先の鍵処理装置の公開鍵pki(i=1,・・・n)を用い、ラグランジュの補間公式を利用して、以下の検証用パラメータviを算出する(ステップS2024)。 Next, the key processing device uses the public key pk i (i = 1,... N) of the destination key processing device for all the key processing devices that transmit the message, and uses the Lagrange interpolation formula. using, it calculates the following verification parameter v i (step S2024).
続いて、鍵処理装置は、メッセージの送信を行う鍵処理装置全てに対して、送信先の鍵処理装置の公開鍵pki(i=1,・・・n)を用いて、以下のセッション鍵dkiを算出する(ステップS2025)。 Then, the key processing unit, to the key processing unit all that transmits message, the public key pk i (i = 1, ··· n) of the destination key processing apparatus using a following session key to calculate the dk i (step S2025).
次に、鍵処理装置は、φ=(u,v1,v2,・・・,vn)とし、(φ,dk1,dk2,・・・,dkn)を出力する(ステップS2026)。 Next, the key processing unit, phi = and (u, v 1, v 2 , ···, v n) and, (φ, dk 1, dk 2, ···, dk n) outputs a (step S2026 ).
このような手順を経ることにより、鍵処理装置は、鍵処理装置のDEMにおいて実行される共通鍵暗号処理に用いられるセッション鍵dkを生成することができる。 Through such a procedure, the key processing device can generate a session key dk used for common key encryption processing executed in the DEM of the key processing device.
[復号方法について]
次に、図31を参照しながら、本実施形態に係る情報処理方法の基盤となる復号方法について、詳細に説明する。この復号方法は、暗号文を受信した情報処理装置である鍵処理装置において実行される。
[Decoding method]
Next, with reference to FIG. 31, a decoding method that is the basis of the information processing method according to the present embodiment will be described in detail. This decryption method is executed in a key processing device that is an information processing device that has received the ciphertext.
復号処理に先立ち、鍵処理装置は、暗号文の中に含まれるφ=(u,v1,v2,・・・,vn)の中から、自身に関係する部分(u,vi)を抽出する。この抽出処理は、記載されているviの順番とユーザとの対応関係とを関連付けるラベルを用いたり、送信者がそれぞれの受信者に必要な情報だけが届くように設定したりすることで実現可能である。 Prior to the decryption process, the key processing device determines a part (u, v i ) related to itself from φ = (u, v 1 , v 2 ,..., V n ) included in the ciphertext. To extract. This extraction process is realized by using a label that associates the order of v i described with the corresponding relationship with the user, or by setting the sender so that only necessary information reaches each receiver. Is possible.
まず、鍵処理装置は、暗号文に含まれるパラメータuと、システムパラメータとして公開されている関数TCRとを用いて、パラメータα=TCR(u)∈Zpを算出する(ステップS2031)。 First, the key processing device calculates the parameter α = TCR (u) εZ p using the parameter u included in the ciphertext and the function TCR disclosed as a system parameter (step S2031).
次に、鍵処理装置は、自身の秘密鍵ski(すなわち、二次関数f(x))と、システムパラメータと、算出したパラメータαと、暗号文に含まれるu,viとを用いて、暗号文の検証処理を行う。より詳細には、鍵処理装置は、以下の式2006における等号が成立するか否かに基づいて、暗号文の検証処理を行う(ステップS2032)。 Next, the key processing device uses its own secret key sk i (that is, the quadratic function f (x)), the system parameter, the calculated parameter α, and u and v i included in the ciphertext. Perform ciphertext verification processing. More specifically, the key processing device performs ciphertext verification processing based on whether or not an equal sign in the following expression 2006 holds (step S2032).
鍵処理装置は、上記式2006の等号が成立しない場合には、受信した暗号文が不当なものであると判断し、エラーメッセージを出力して(ステップS2033)復号処理を終了する。 If the equal sign of Expression 2006 is not satisfied, the key processing apparatus determines that the received ciphertext is invalid, outputs an error message (step S2033), and ends the decryption process.
また、上記式2006の等号が成立した場合には、鍵処理装置は、受信した暗号文が正当なものであると判断し、自身の秘密鍵skiと、暗号文に含まれるパラメータuと、システムパラメータとを用いて、自身に対応するセッション鍵dkiを、以下の式2007を用いて算出する(ステップS2034)。続いて、鍵処理装置は、算出したセッション鍵dkiを、自装置のDEMへと出力する(ステップS2035)。 If the equal sign of the above expression 2006 is established, the key processing device determines that the received ciphertext is valid, and the private key ski i of itself and the parameter u included in the ciphertext and Then, using the system parameters, a session key dk i corresponding to itself is calculated using the following formula 2007 (step S2034). Then, the key processing unit, the calculated session key dk i, and outputs it to the DEM of the apparatus (step S2035).
このような手順を経ることにより、鍵処理装置は、鍵処理装置のDEMにおける復号処理に用いられるセッション鍵dkを算出することができる。 Through such a procedure, the key processing device can calculate the session key dk used for the decryption process in the DEM of the key processing device.
[基盤技術である暗号処理方法の問題点]
上述のような本実施形態に係る情報処理方法の基盤技術となる暗号処理方法では、以下のような問題点がある。すなわち、基盤技術では、暗号化方法において、それぞれの受信者の公開鍵を用いて検証用パラメータv1,v2,・・・,vnを計算し、暗号文φに挿入している。暗号文の受信者は、復号方法において、式2006における等号が成立するか否かを検証することにより、不当な暗号文を排除することが可能となっている。しかしながら、この検証方法を実現するために、受信者数をnとしたときn回のmulti−scalar multiplicationの処理が暗号化の際に必要となる。さらに、生成される暗号文においても、n+1個の要素が必要となる。これらの値が大きいという点が、基盤技術における問題点である。
[Problems of cryptographic processing method, which is a basic technology]
The cryptographic processing method that is the basic technology of the information processing method according to the present embodiment as described above has the following problems. That is, in the fundamental technology, the encryption method, verifying the parameter v 1 using the public key of each recipient, v 2, · · ·, a v n calculated, are inserted into ciphertext phi. The recipient of the ciphertext can eliminate the illegal ciphertext by verifying whether or not the equal sign in Expression 2006 holds in the decryption method. However, in order to realize this verification method, n multi-scalar multiplexing processes are required for encryption when the number of recipients is n. Furthermore, n + 1 elements are required also in the generated ciphertext. The fact that these values are large is a problem in basic technology.
<情報処理方法について>
本実施形態に係る情報処理方法では、上記問題を解決するために、以下の点に着目した。すなわち、基盤技術における暗号化処理では、受信者に固有の二次関数fi(x)を用いて、各受信者用にパラメータの算出を行なっていた。そこで、受信者に固有の二次関数中に何らかの共有情報を存在させることで、暗号化方法を効率よく実行可能である点に想到した。以下に示す本実施形態に係る情報処理方法では、受信者に固有の二次関数のうち、二次関数のy切片にあたるパラメータを共通化してシステムパラメータに加えることにより、情報処理方法全体における効率化を実現している。
<About information processing method>
In the information processing method according to the present embodiment, the following points are focused on in order to solve the above problems. That is, in the encryption processing in the basic technology, parameters are calculated for each receiver using a quadratic function f i (x) unique to the receiver. Therefore, the inventors have come up with the point that the encryption method can be efficiently executed by making some shared information exist in the quadratic function unique to the receiver. In the information processing method according to the present embodiment shown below, the efficiency corresponding to the entire information processing method is improved by adding a parameter corresponding to the y-intercept of the quadratic function among the quadratic functions unique to the receiver to the system parameters. Is realized.
以下、本実施形態に係る情報処理方法について、図32〜図35を参照しながら、詳細に説明する。図32〜図35は、本実施形態に係る情報処理方法について説明するための流れ図である。 Hereinafter, the information processing method according to the present embodiment will be described in detail with reference to FIGS. 32 to 35 are flowcharts for explaining the information processing method according to the present embodiment.
[システムパラメータ生成方法について]
まず、図32を参照しながら、本実施形態に係るシステムパラメータ生成方法について、詳細に説明する。このシステムパラメータ生成方法は、システムパラメータ生成装置として機能する本実施形態に係る情報処理装置10において実行される。
[About system parameter generation]
First, the system parameter generation method according to the present embodiment will be described in detail with reference to FIG. This system parameter generation method is executed in the
まず、情報処理装置10の群選択部101は、入力されたセキュリティパラメータに基づいて、kビットの素数pを選択し、pを位数とする群Gを選択する(ステップS201)。
First, the
次に、情報処理装置10の関数選択部103は、G→Zpという写像を実現する関数TCRと、G→{0,1}lという写像を実現する関数Hと、を選択する(ステップS202)。
Next, the
続いて、情報処理装置10のパラメータ選択部105は、パラメータg,y0∈RGを選択する(ステップS203)。
Subsequently, the
次に、情報処理装置10のシステムパラメータ生成部107は、システムパラメータIをI=(p,G,g,y0,TCR,H)のように構成し、各鍵処理装置に公開する(ステップS204)。
Next, the system
このような手順を経ることにより、システムパラメータ生成装置として機能する情報処理装置10は、鍵処理装置として機能する情報処理装置20のmKEM201が暗号処理を実行する際に必要となるシステムパラメータを生成することができる。
Through such a procedure, the
[鍵生成方法について]
次に、図33を参照しながら、本実施形態に係る鍵生成方法について、詳細に説明する。この鍵生成方法は、複数受信者公開鍵暗号による通信を行うユーザが所持し、鍵処理装置として機能する情報処理装置20の鍵生成部211において実行される。なお、この鍵生成方法は、情報処理装置20を所持するユーザが、自身の公開鍵および秘密鍵を生成する際に実行される。この鍵生成方法は、情報処理装置20がシステムパラメータを取得した後であれば、任意のタイミングで行うことが可能である。
[Key generation method]
Next, the key generation method according to the present embodiment will be described in detail with reference to FIG. This key generation method is executed in the key generation unit 211 of the
まず、パラメータ生成部213は、情報処理装置20に固有の秘密情報として、パラメータs,t,Fs,Ft∈RZpを選択し、(f(0),f(s),f(t))=(loggy0,Fs,Ft)と定義する(ステップS211)。本実施形態において、このような4種類のパラメータを選択し、f(0),f(s),f(t)を定義するということは、f(x)=a0+a1x+a2x2という二次関数を定義したことと同様の意味を有する。
First, the
次に、パラメータ生成部213は、選択したパラメータf(0),f(s),f(t)と、システムパラメータであるgとを用い、ラグランジュの補間公式を利用して、以下の式201〜式202に示すパラメータy1,y2を算出する(ステップS212)。
Next, the
その後、秘密鍵生成部215は、情報処理装置20を所持するユーザに固有の秘密鍵sk=(s,t,Fs,Ft)を生成する(ステップS213)。また、公開鍵生成部217は、情報処理装置20を所持するユーザに固有の公開鍵pk=(y1,y2)を生成する(ステップS214)。
Thereafter, the secret
その後、鍵生成部211は、生成した公開鍵pkと秘密鍵skとをユーザに対して出力する(ステップS215)。また、公開鍵公開部219は、生成した公開鍵pkを、他の情報処理装置20に対して公開する。
Thereafter, the key generation unit 211 outputs the generated public key pk and secret key sk to the user (step S215). In addition, the public
このような手順を経ることにより、情報処理装置20の鍵生成部211は、情報処理装置を所持するユーザに固有の鍵である秘密鍵skおよび公開鍵pkを生成することができる。
Through such a procedure, the key generation unit 211 of the
[暗号化方法について]
次に、図34を参照しながら、本実施形態に係る暗号化方法について、詳細に説明する。この暗号化方法は、複数受信者公開鍵暗号による通信を行うユーザが所持し、鍵処理装置として機能する情報処理装置20の暗号化部221において実行される。なお、この暗号化方法は、情報処理装置20を所持し、メッセージの送信を行うユーザが、複数受信者KEMを用いて暗号文を生成する際に実行される。
[Encryption method]
Next, the encryption method according to the present embodiment will be described in detail with reference to FIG. This encryption method is executed by the encryption unit 221 of the
まず、パラメータ選択部223は、パラメータr∈RZpを無作為に選択する(ステップS221)。
First, the
次に、パラメータ選択部223は、選択したパラメータrと、システムパラメータとして公開されているパラメータgとを用いて、パラメータu=gr∈Gを算出する(ステップS222)。
Next, the
続いて、パラメータ選択部223は、算出したパラメータuと、システムパラメータとして公開されている関数TCRとを用いて、パラメータα=TCR(u)∈Zpを算出する(ステップS223)。
Subsequently, the
次に、検証用パラメータ生成部225は、メッセージの送信を行う情報処理装置20全てに対して、ラグランジュの補間公式を利用して、検証用パラメータviを、以下の式203に基づいて算出する(ステップS224)。以下の式203から明らかなように、検証用パラメータviは、送信先の情報処理装置20の公開鍵pki(i=1,・・・n)と、システムパラメータと、パラメータ選択部223によって選択されたパラメータと、を用いて、算出可能である。
Next, the verification
続いて、セッション鍵算出部237は、メッセージの送信を行う全ての情報処理装置20に対して、システムパラメータを用いて、以下のセッション鍵dkを算出する(ステップS225)。
Subsequently, the session
次に、暗号化部221は、φ=(u,v1,v2,・・・,vn)とし、(φ,dk)を出力する(ステップS226)。 Next, the encryption unit 221, phi = and (u, v 1, v 2 , ···, v n) , and outputs the (phi, dk) (step S226).
このような手順を経ることにより、情報処理装置20は、DEM203において実行される共通鍵暗号処理に用いられるセッション鍵dkを生成することができる。
Through such a procedure, the
上述のように、基盤技術における暗号化方法では、受信者の公開鍵pkiを用いて各受信者に対してセッション鍵dkiを算出していたが、本実施形態に係る暗号化方法では、システムパラメータとして公開されている値を用いてセッション鍵dkを生成する。これにより、本実施形態に係る暗号化方法では、演算回数の削減を図ることが可能となる。 As described above, in, I had calculated the session key dk i for each recipient using the public key pk i recipients in encryption method according to the present embodiment encryption method in the fundamental technology, A session key dk is generated using a value disclosed as a system parameter. Thereby, in the encryption method according to the present embodiment, the number of calculations can be reduced.
[復号方法について]
次に、図35を参照しながら、本実施形態に係る復号方法について、詳細に説明する。この復号方法は、暗号文を受信した情報処理装置20の復号部231において実行される。
[Decoding method]
Next, the decoding method according to the present embodiment will be described in detail with reference to FIG. This decryption method is executed in the decryption unit 231 of the
復号処理に先立ち、復号部231は、暗号文の中に含まれるφ=(u,v1,v2,・・・,vn)の中から、自身に関係する部分(u,vi)を抽出する。この抽出処理は、記載されているviの順番とユーザとの対応関係とを関連付けるラベルを用いたり、送信者がそれぞれの受信者に必要な情報だけが届くように設定したりすることで実現可能である。 Prior to the decryption process, the decryption unit 231 selects (u, v i ) related to itself from φ = (u, v 1 , v 2 ,..., V n ) included in the ciphertext. To extract. This extraction process is realized by using a label that associates the order of v i described with the corresponding relationship with the user, or by setting the sender so that only necessary information reaches each receiver. Is possible.
まず、パラメータ算出部233は、暗号文に含まれるパラメータuと、システムパラメータとして公開されている関数TCRとを用いて、パラメータα=TCR(u)∈Zpを算出する(ステップS231)。
First, the
次に、セッション鍵算出部237は、自身の秘密鍵skiと、算出したパラメータαと、暗号文に含まれるu,viとを用いて、以下の式205に基づいて、パラメータf’(α),f’(s),f’(t)を定義する(ステップS232)。
Next, the session
上記式205に示したようなパラメータの定義を行なうことは、二次関数f’(x)を定義していることを表している。ここで、Fs、Ftは、自身で設定した秘密鍵である。ここで、暗号化方法において適式に検証用パラメータviが算出されていれば、式205により定義される二次関数f’(x)は、鍵生成方法において定義された二次関数f(x)と等しくなる。
Defining the parameters as shown in the
続いて、セッション鍵算出部237は、式205と、ラグランジュの補間公式とを用いて、パラメータf’(0)の値を算出し、以下の式206に基づいて、セッション鍵dkを算出する(ステップS233)。続いて、セッション鍵算出部237は、算出したセッション鍵dkを、自装置のDEM203へと出力する(ステップS234)。
Subsequently, the session
このような手順を経ることにより、情報処理装置20の復号部231は、DEM203における復号処理に用いられるセッション鍵dkを算出することができる。
Through such a procedure, the decryption unit 231 of the
<暗号化時の計算量と暗号文のサイズについて>
以下では、本実施形態に係る情報処理方法の暗号化時における計算量と暗号文のサイズについて、基盤技術における暗号処理方法と比較しながら説明する。
<Computation amount and ciphertext size during encryption>
In the following, the calculation amount and the ciphertext size at the time of encryption of the information processing method according to the present embodiment will be described in comparison with the encryption processing method in the basic technology.
[暗号化時の計算量について]
まず、受信者数をnとしたときの、基盤技術における暗号化方法での計算量と、本実施形態に係る暗号化方法での計算量を比較する。両方法ともに、single−scalar multiplication、および、multi−scalar multiplicationの計算量が支配的となるため、それぞれの演算数の比較を行った。暗号化時の計算量を比較した結果を、以下の表3に示す。
[Computation amount for encryption]
First, when the number of recipients is n, the amount of computation in the encryption method in the basic technology is compared with the amount of computation in the encryption method according to the present embodiment. In both methods, since the amount of calculation of single-scalar multiplication and multi-scalar multiplication is dominant, the number of operations was compared. Table 3 below shows the result of comparing the amount of calculation at the time of encryption.
表3より、基盤技術における暗号化方法では、(n+1)回のsingle−scalar multiplicationと、n回のmulti−scalar multiplicationが必要であることがわかる。また、本実施形態に係る暗号化方法では、2回のsingle−scalar multiplicationと、n回のmulti−scalar multiplicationが必要であることがわかる。 From Table 3, it can be seen that (n + 1) single-scalar multiplication and n multi-scalar multiplication are necessary in the encryption method in the basic technology. It can also be seen that the encryption method according to the present embodiment requires two single-scalar multiplications and n multi-scalar multiplications.
非特許文献5に記載のように、一般的にmulti−scalar multiplicationは、single−scalar multiplicationの1.5倍の処理が必要であると考えられている。このことを考慮すると、基盤技術における暗号化方法では(2.5n+1)回分のsingle−scalar multiplicationの計算量が必要である。他方、本実施形態に係る暗号化方式では、(1.5n+2)回分のsingle−scalar multiplicationの計算量で処理が完了することが分かる。 As described in Non-Patent Document 5, it is generally considered that multi-scalar multiplication requires 1.5 times the processing of single-scalar multiplication. In consideration of this, the encryption method in the basic technology requires (2.5n + 1) times of single-scalar multiplexing calculation amount. On the other hand, in the encryption method according to the present embodiment, it can be seen that the processing is completed with the amount of single-scalar multiplication of (1.5n + 2) times.
[暗号文のサイズについて]
次に、受信者数をnとしたときの、基盤技術における暗号文サイズと、本実施形態に係る情報処理方法における暗号文サイズとを比較する。両方法とも、暗号文に含まれる要素数およびmKEM中に含まれるDEMにより生成される暗号文の数で比較を行った。得られた結果を、以下の表4に示す。
[Ciphertext size]
Next, the ciphertext size in the basic technology when the number of recipients is n is compared with the ciphertext size in the information processing method according to the present embodiment. In both methods, the number of elements included in the ciphertext and the number of ciphertexts generated by the DEM included in the mKEM were compared. The results obtained are shown in Table 4 below.
表4より、基盤技術および本実施形態では、群の要素数はn+1個と変わらないものの、mKEM中に含まれるDEMにより生成される暗号文の数をなくすことが可能となる。この結果から明らかなように、本実施形態に係る情報処理方法では、暗号文のサイズを、削減することができる。 From Table 4, although the number of elements in the group remains the same as n + 1 in the basic technology and the present embodiment, the number of ciphertexts generated by the DEM included in the mKEM can be eliminated. As is apparent from this result, in the information processing method according to the present embodiment, the size of the ciphertext can be reduced.
以上説明したように、本実施形態に係る情報処理装置および情報処理方法では、鍵処理装置として機能する情報処理装置20におけるmKEM201として、図13に示したmsKEMを導入することで、複数受信者公開鍵暗号システムを実現している。
As described above, in the information processing apparatus and the information processing method according to the present embodiment, by introducing the msKEM shown in FIG. 13 as the
<第1変形例について>
本発明の第2の実施形態に係る情報処理装置および情報処理方法では、システムパラメータとして設定されたパラメータy0を用いて、受信者に共通のセッション鍵dkを算出する場合について説明した。ここで、パラメータy0を用いて、受信者に共通のセッション鍵dkではなく、受信者に共通の検証用パラメータを算出することも可能である。すなわち、本発明の第2の実施形態に係る情報処理装置20では、mKEM201としてmsKEMを導入した場合について説明したが、mKEM201としてmmKEMを導入することも可能である。以下では、第1変形例として、第2の実施形態に係る情報処理装置20にmmKEMを導入した場合について、詳細に説明する。
<About the first modification>
The information processing apparatus and information processing method according to a second embodiment of the present invention, using the parameters y 0, which is set as a system parameter, it has been described a case of calculating the common session key dk to the recipient. Here, using the parameter y 0 , it is also possible to calculate a verification parameter common to the recipients, instead of the session key dk common to the recipients. That is, in the
上述のような変形例を実現するためには、本発明の第2の実施形態に係る暗号化方法および復号方法を、以下のように変形する。 In order to realize the above modification, the encryption method and the decryption method according to the second embodiment of the present invention are modified as follows.
[暗号化方法について]
まず、図36を参照しながら、本変形例に係る暗号化方法について、詳細に説明する。図36は、本変形例に係る暗号化方法を説明するための流れ図である。
[Encryption method]
First, an encryption method according to this modification will be described in detail with reference to FIG. FIG. 36 is a flowchart for explaining the encryption method according to the present modification.
まず、パラメータ選択部223は、パラメータr∈RZpを無作為に選択する(ステップS221)。
First, the
次に、パラメータ選択部223は、選択したパラメータrと、システムパラメータとして公開されているパラメータgとを用いて、パラメータu=gr∈Gを算出する(ステップS222)。
Next, the
続いて、パラメータ選択部223は、算出したパラメータuと、システムパラメータとして公開されている関数TCRとを用いて、パラメータα=TCR(u)∈Zpを算出する(ステップS223)。
Subsequently, the
次に、検証用パラメータ生成部225は、メッセージの送信を行う全ての情報処理装置20に対して、システムパラメータを用いて、検証用パラメータviを以下の式211に基づいて算出する(ステップS241)。
The verification
続いて、鍵処理装置は、メッセージの送信を行う全ての情報処理装置20に対して、ラグランジュの補間公式を利用して、以下の式212で表されるセッション鍵dkiを算出する(ステップS242)。
Then, the key processing unit, for all of the
次に、暗号化部221は、φ=(u,v)とし、(φ,dk1,dk2,・・・,dkn)を出力する(ステップS243)。
Next, the encryption unit 221, phi = a (u, v), (φ ,
[復号方法について]
次に、図37を参照しながら、本変形例に係る復号方法について、詳細に説明する。図37は、本変形例に係る復号方法を説明するための流れ図である。
[Decoding method]
Next, the decoding method according to this modification will be described in detail with reference to FIG. FIG. 37 is a flowchart for explaining the decoding method according to the present modification.
まず、パラメータ算出部233は、暗号文に含まれるパラメータuと、システムパラメータとして公開されている関数TCRとを用いて、パラメータα=TCR(u)∈Zpを算出する(ステップS231)。
First, the
次に、セッション鍵算出部237は、自身の秘密鍵skiと、暗号文に含まれるu,vと、システムパラメータとを用いて、以下の式213に基づいて、パラメータf’(0),f’(s),f’(t)を定義する(ステップS244)。
Next, the session
上記式213に示したようなパラメータの定義を行なうことは、二次関数f’(x)を定義していることを表している。ここで、式213により定義される二次関数f’(x)は、鍵生成方法において定義された二次関数f(x)と等しくなる。
Defining the parameters as shown in the
続いて、セッション鍵算出部237は、式213と、ラグランジュの補間公式とを用いて、パラメータf’(α)の値を算出し、以下の式214に基づいて、セッション鍵dkを算出する(ステップS233)。続いて、セッション鍵算出部237は、算出したセッション鍵dkを、自装置のDEM203へと出力する(ステップS234)。
Subsequently, the session
<暗号化時の計算量と暗号文のサイズについて>
以下では、本変形例に係る情報処理方法の暗号化時における計算量と暗号文のサイズについて、基盤技術における暗号処理方法と比較しながら説明する。
<Computation amount and ciphertext size during encryption>
Hereinafter, the amount of calculation and the size of the ciphertext when encrypting the information processing method according to this modification will be described in comparison with the encryption processing method in the basic technology.
[暗号化時の計算量について]
まず、受信者数をnとしたときの、基盤技術における暗号化方法での計算量と、本変形例に係る暗号化方法での計算量を比較する。両方法ともに、single−scalar multiplication、および、multi−scalar multiplicationの計算量が支配的となるため、それぞれの演算数の比較を行った。暗号化時の計算量を比較した結果を、以下の表5に示す。
[Computation amount for encryption]
First, when the number of recipients is n, the amount of computation in the encryption method in the basic technology is compared with the amount of computation in the encryption method according to this modification. In both methods, since the amount of calculation of single-scalar multiplication and multi-scalar multiplication is dominant, the number of operations was compared. Table 5 below shows the result of comparing the amount of calculation at the time of encryption.
表5より、基盤技術における暗号化方法では、(n+1)回のsingle−scalar multiplicationと、n回のmulti−scalar multiplicationが必要であることがわかる。また、本変形例に係る暗号化方法では、2回のsingle−scalar multiplicationと、n回のmulti−scalar multiplicationが必要であることがわかる。 From Table 5, it can be seen that (n + 1) single-scalar multiplication and n multi-scalar multiplication are necessary in the encryption method in the basic technology. It can also be seen that the encryption method according to the present modification requires two single-scalar multiplications and n multi-scalar multiplications.
非特許文献5に記載のように、一般的にmulti−scalar multiplicationは、single−scalar multiplicationの1.5倍の処理が必要であると考えられている。このことを考慮すると、基盤技術における暗号化方法では(2.5n+1)回分のsingle−scalar multiplicationの計算量が必要である。他方、本変形例に係る暗号化方式では、(1.5n+2)回分のsingle−scalar multiplicationの計算量で処理が完了することが分かる。 As described in Non-Patent Document 5, it is generally considered that multi-scalar multiplication requires 1.5 times the processing of single-scalar multiplication. In consideration of this, the encryption method in the basic technology requires (2.5n + 1) times of single-scalar multiplexing calculation amount. On the other hand, in the encryption method according to the present modification, it can be seen that the processing is completed with the amount of single-scalar multiplication of (1.5n + 2) times.
[暗号文のサイズについて]
次に、受信者数をnとしたときの、基盤技術における暗号文サイズと、本変形例に係る情報処理方法における暗号文サイズとを比較する。両方法とも、暗号文に含まれる要素数で比較を行った。得られた結果を、以下の表6に示す。
[Ciphertext size]
Next, the ciphertext size in the basic technology when the number of recipients is n is compared with the ciphertext size in the information processing method according to this modification. In both methods, the number of elements included in the ciphertext was compared. The results obtained are shown in Table 6 below.
表6より、基盤技術では、群の要素数はn+1個であるのに対し、本変形例では、群の要素数は、受信者数nに依存せず、2個となる。この結果から明らかなように、本実施形態に係る情報処理方法では、暗号文のサイズを、受信者数nに依存しないように削減することができる。 According to Table 6, in the basic technology, the number of elements in the group is n + 1, whereas in the present modification, the number of elements in the group is 2 regardless of the number of recipients n. As is clear from this result, in the information processing method according to the present embodiment, the size of the ciphertext can be reduced so as not to depend on the number of recipients n.
(第3の実施形態)
続いて、図38〜図45を参照しながら、本発明の第3の実施形態に係る情報処理装置および情報処理方法について、詳細に説明する。
(Third embodiment)
Subsequently, an information processing apparatus and an information processing method according to the third embodiment of the present invention will be described in detail with reference to FIGS. 38 to 45.
<情報処理装置の構成について>
まず、本実施形態に係る情報処理装置の構成について、説明する。本実施形態に係る情報処理装置は、システムパラメータ生成装置として機能する情報処理装置10と、鍵処理装置として機能する情報処理装置20とが存在する。
<Configuration of information processing device>
First, the configuration of the information processing apparatus according to the present embodiment will be described. The information processing apparatus according to the present embodiment includes an
ここで、本実施形態におけるシステムパラメータ生成装置として機能する情報処理装置10は、図14に示した本発明の第1の実施形態に係る情報処理装置10の構成を有し、各処理部で実行される処理内容のみが異なるものである。そのため、本実施形態に係る情報処理装置10が備える各処理部の機能については、以下で本実施形態に係る情報処理方法を説明しながら説明するものとする。
Here, the
同様に、本実施形態における鍵処理装置として機能する情報処理装置20は、図15および図16に示した本発明の第1の実施形態に係る情報処理装置20の構成を有し、各処理部で実行される処理内容のみが異なるものである。そのため、本実施形態に係る情報処理装置20が備える各処理部の機能については、以下で本実施形態に係る情報処理方法を説明しながら説明するものとする。
Similarly, the
<本実施形態に係る情報処理方法の基盤となる暗号処理方法について>
続いて、本実施形態に係る情報処理方法について説明するに先立ち、本実施形態に係る情報処理方法の基盤となる暗号処理方法について、図38〜41を参照しながら、詳細に説明する。図38〜図41は、本実施形態に係る情報処理方法の基盤となる暗号処理方法について説明するための流れ図である。本実施形態に係る情報処理方法の基盤となる暗号処理方法は、非特許文献3に記載の暗号処理方法である。
<Encryption Processing Method that is the Base of the Information Processing Method According to the Present Embodiment>
Next, prior to describing the information processing method according to the present embodiment, an encryption processing method serving as the basis of the information processing method according to the present embodiment will be described in detail with reference to FIGS. 38 to 41 are flowcharts for explaining the cryptographic processing method that is the basis of the information processing method according to the present embodiment. The cryptographic processing method that is the basis of the information processing method according to the present embodiment is the cryptographic processing method described in
[システムパラメータ生成方法について]
まず、図38を参照しながら、本実施形態に係る情報処理方法の基盤となるシステムパラメータ生成方法について、詳細に説明する。このシステムパラメータ生成方法は、システムパラメータ生成者が所持する情報処理装置であるシステムパラメータ生成装置において実行される。
[About system parameter generation]
First, with reference to FIG. 38, a system parameter generation method that is the basis of the information processing method according to the present embodiment will be described in detail. This system parameter generation method is executed in a system parameter generation apparatus which is an information processing apparatus possessed by the system parameter generator.
まず、システムパラメータ生成装置は、入力されたセキュリティパラメータに基づいて、kビットの素数pを選択し、pを位数とする群Gを選択する(ステップS3001)。 First, the system parameter generation device selects a k-bit prime number p based on the input security parameters, and selects a group G in which p is an order (step S3001).
次に、システムパラメータ生成装置は、G→Zpという写像を実現する関数TCRと、G→{0,1}lという写像を実現する関数Hと、を選択する(ステップS3002)。 Next, the system parameter generation unit selects a function TCR realizing mapping that G → Z p, and function H to achieve a mapping of G → {0,1} l, the (step S3002).
続いて、システムパラメータ生成装置は、パラメータg∈RGを選択する(ステップS3003)。 Subsequently, the system parameter generation unit selects the parameter g∈ R G (step S3003).
次に、システムパラメータ生成装置は、システムパラメータIをI=(p,G,g,TCR,H)のように構成し、各鍵処理装置に公開する(ステップS3004)。 Next, the system parameter generation device configures the system parameter I as I = (p, G, g, TCR, H) and discloses it to each key processing device (step S3004).
このような手順を経ることにより、システムパラメータ生成装置は、鍵処理装置の複数受信者KEMが暗号処理を実行する際に必要となるシステムパラメータを生成することができる。 By passing through such a procedure, the system parameter generation device can generate system parameters required when the multiple recipients KEM of the key processing device execute the cryptographic processing.
[鍵生成方法について]
次に、図39を参照しながら、本実施形態に係る情報処理方法の基盤となる鍵生成方法について、詳細に説明する。この鍵生成方法は、複数受信者公開鍵暗号による通信を行うユーザが所持する情報処理装置である鍵処理装置において実行される。なお、この鍵生成方法は、鍵処理装置を所持するユーザが、自身の公開鍵および秘密鍵を生成する際に実行される。この鍵生成方法は、鍵処理装置がシステムパラメータ生成装置によって生成されたシステムパラメータを取得した後であれば、任意のタイミングで行うことが可能である。
[Key generation method]
Next, a key generation method serving as a basis of the information processing method according to the present embodiment will be described in detail with reference to FIG. This key generation method is executed in a key processing device which is an information processing device possessed by a user who performs communication by multi-recipient public key cryptography. This key generation method is executed when a user who owns the key processing device generates his / her public key and secret key. This key generation method can be performed at an arbitrary timing as long as the key processing apparatus has acquired the system parameters generated by the system parameter generation apparatus.
まず、鍵処理装置は、鍵処理装置に固有の秘密情報として、パラメータx1,x2,y1,y2∈RZpを選択する(ステップS3011)。 First, the key processing device selects parameters x 1 , x 2 , y 1 , y 2 ∈ R Z p as secret information unique to the key processing device (step S3011).
次に、鍵処理装置は、選択したパラメータx1,x2,y1,y2と、システムパラメータであるgとを用い、以下の式3001〜式3004に示すパラメータc1,c2,d1,d2を算出する(ステップS3012)。 Next, the key processing device uses the selected parameters x 1 , x 2 , y 1 , y 2 and the system parameter g, and parameters c 1 , c 2 , d shown in the following equations 3001 to 3004. 1, it calculates the d 2 (step S3012).
その後、鍵処理装置は、鍵処理装置を所持するユーザに固有の秘密鍵sk=(x1,x2,y1,y2)を生成する(ステップS3013)。また、鍵処理装置は、鍵処理装置を所持するユーザに固有の公開鍵pk=(c1,c2,d1,d2)を生成する(ステップS3014)。 Thereafter, the key processing device generates a secret key sk = (x 1 , x 2 , y 1 , y 2 ) unique to the user who owns the key processing device (step S3013). Further, the key processing device generates a public key pk = (c 1 , c 2 , d 1 , d 2 ) unique to the user who owns the key processing device (step S3014).
その後、鍵処理装置は、生成した公開鍵pkと秘密鍵skとをユーザに対して出力する(ステップS3015)。また、生成した公開鍵pkは、他の鍵処理装置に対して公開される。 Thereafter, the key processing device outputs the generated public key pk and secret key sk to the user (step S3015). Also, the generated public key pk is disclosed to other key processing devices.
このような手順を経ることにより、鍵処理装置は、鍵処理装置を所持するユーザに固有の鍵である秘密鍵skおよび公開鍵pkを生成することができる。 Through such a procedure, the key processing device can generate a secret key sk and a public key pk that are unique to the user who owns the key processing device.
[暗号化方法について]
次に、図40を参照しながら、本実施形態に係る情報処理方法の基盤となる暗号化方法について、詳細に説明する。この暗号化方法は、複数受信者公開鍵暗号による通信を行うユーザが所持する情報処理装置である鍵処理装置において実行される。なお、この暗号化方法は、鍵処理装置を所持し、メッセージの送信を行うユーザが、複数受信者KEMを用いて暗号文を生成する際に実行される。
[Encryption method]
Next, an encryption method that is a basis of the information processing method according to the present embodiment will be described in detail with reference to FIG. This encryption method is executed in a key processing device which is an information processing device possessed by a user who performs communication by multi-recipient public key encryption. This encryption method is executed when a user who has a key processing device and transmits a message generates a ciphertext using a plurality of recipients KEM.
まず、鍵処理装置は、パラメータr∈RZpを無作為に選択する(ステップS3021)。 First, the key processing unit selects the parameter r∈ R Z p randomly (step S3021).
次に、鍵処理装置は、選択したパラメータrと、システムパラメータとして公開されているパラメータgとを用いて、パラメータu=gr∈Gを算出する(ステップS3022)。 Next, the key processing device calculates the parameter u = g r εG using the selected parameter r and the parameter g disclosed as a system parameter (step S3022).
続いて、鍵処理装置は、算出したパラメータuと、システムパラメータとして公開されている関数TCRとを用いて、パラメータα=TCR(u)∈Zpを算出する(ステップS3023)。 Subsequently, the key processing device calculates the parameter α = TCR (u) εZ p by using the calculated parameter u and the function TCR disclosed as a system parameter (step S3023).
次に、鍵処理装置は、メッセージの送信を行う鍵処理装置全てに対して、送信先の鍵処理装置の公開鍵pki(i=1,・・・n)を用い、式3005および式3006に示した2種類の検証用パラメータv1,i,v2,iを算出する(ステップS3024)。 Next, the key processing device uses the public key pk i (i = 1,... N) of the destination key processing device for all the key processing devices that transmit the message, and uses Equation 3005 and Equation 3006. The two types of verification parameters v 1, i, v 2, i shown in (2) are calculated (step S3024).
続いて、鍵処理装置は、メッセージの送信を行う鍵処理装置全てに対して、送信先の鍵処理装置の公開鍵pki(i=1,・・・n)を用いて、以下のセッション鍵dkiを算出する(ステップS3025)。 Then, the key processing unit, to the key processing unit all that transmits message, the public key pk i (i = 1, ··· n) of the destination key processing apparatus using a following session key to calculate the dk i (step S3025).
次に、鍵処理装置は、φ=(u,v1,1,v1,2,・・・,v1,n,v2,1,v2,2,・・・,v2,n)とし、(φ,dk1,dk2,・・・,dkn)を出力する(ステップS3026)。
Next, the key processing unit, φ = (u, v 1,1 ,
このような手順を経ることにより、鍵処理装置は、鍵処理装置のDEMにおいて実行される共通鍵暗号処理に用いられるセッション鍵dkを生成することができる。 Through such a procedure, the key processing device can generate a session key dk used for common key encryption processing executed in the DEM of the key processing device.
[復号方法について]
次に、図41を参照しながら、本実施形態に係る情報処理方法の基盤となる復号方法について、詳細に説明する。この復号方法は、暗号文を受信した情報処理装置である鍵処理装置において実行される。
[Decoding method]
Next, with reference to FIG. 41, a decoding method that is the basis of the information processing method according to the present embodiment will be described in detail. This decryption method is executed in a key processing device that is an information processing device that has received the ciphertext.
復号処理に先立ち、鍵処理装置は、暗号文の中に含まれるφ=(u,v1,1,v1,2,・・・,v1,n,v2,1,v2,2,・・・,v2,n)の中から、自身に関係する部分(u,v1,i,v2,i)を抽出する。この抽出処理は、記載されているv1,i,v2,iの順番とユーザとの対応関係とを関連付けるラベルを用いたり、送信者がそれぞれの受信者に必要な情報だけが届くように設定したりすることで実現可能である。 Prior to the decryption process, the key processing device includes φ = (u, v 1,1 , v 1,2 ,..., V 1, n, v 2,1 , v 2,2 included in the ciphertext. ,..., V 2, n ), a portion (u, v 1, i , v 2, i ) related to itself is extracted. In this extraction process, a label that associates the order of v 1, i , v 2, i and the corresponding relationship with the user is used, or only information necessary for the sender to reach each recipient is received. It can be realized by setting.
まず、鍵処理装置は、暗号文に含まれるパラメータuと、システムパラメータとして公開されている関数TCRとを用いて、パラメータα=TCR(u)∈Zpを算出する(ステップS3031)。 First, the key processing apparatus includes a parameter u included in the ciphertext, by using the function TCR published as a system parameter, and calculates the parameter α = TCR (u) ∈Z p ( step S3031).
次に、鍵処理装置は、自身の秘密鍵skiと、システムパラメータと、算出したパラメータαと、暗号文に含まれるu,v1,i,v2,iとを用いて、暗号文の検証処理を行う。より詳細には、鍵処理装置は、以下の式3008および式3009における等号が両方とも成立するか否かに基づいて、暗号文の検証処理を行う(ステップS3032)。 Next, the key processing device uses its own secret key sk i , system parameter, calculated parameter α, and u, v 1, i , v 2, i included in the ciphertext, Perform verification processing. More specifically, the key processing device performs ciphertext verification processing based on whether or not both equal signs in the following Expression 3008 and Expression 3009 hold (Step S3032).
鍵処理装置は、上記式3008および式3009の等号が両方とも成立しない場合には、受信した暗号文が不当なものであると判断し、エラーメッセージを出力して(ステップS3033)復号処理を終了する。 The key processing device determines that the received ciphertext is invalid when both of the equal signs of the above formula 3008 and formula 3009 are not satisfied, outputs an error message (step S3033), and performs the decryption process. finish.
また、上記式3008および式3009の等号が両方とも成立した場合には、鍵処理装置は、受信した暗号文が正当なものであると判断し、自身の秘密鍵skiと、暗号文に含まれるパラメータuと、システムパラメータとを用いて、自身に対応するセッション鍵dkiを、以下の式3010を用いて算出する(ステップS3034)。続いて、鍵処理装置は、算出したセッション鍵dkiを、自装置のDEMへと出力する(ステップS3035)。 In addition, when both of the above equations 3008 and 3009 are equal, the key processing device determines that the received ciphertext is valid, and includes the private key ski i and the ciphertext. a parameter u included, by using the system parameter, the session key dk i corresponding to itself, is calculated using the formula 3010 follows (step S3034). Then, the key processing unit, the calculated session key dk i, and outputs it to the DEM of the apparatus (step S3035).
このような手順を経ることにより、鍵処理装置は、鍵処理装置のDEMにおける復号処理に用いられるセッション鍵dkiを算出することができる。 Through such procedure, the key processing unit can calculate the session key dk i used in the decoding process in the DEM the key processing unit.
[基盤技術である暗号処理方法の問題点]
上述のような本実施形態に係る情報処理方法の基盤技術となる暗号処理方法では、以下のような問題点がある。すなわち、基盤技術では、暗号化方法において、それぞれの受信者の公開鍵を用いて検証用パラメータv1,1,v1,2,・・・,v1,n,v2,1,v2,2,・・・,v2,nを計算し、暗号文φに挿入している。暗号文の受信者は、復号方法において、式2006における等号が成立するか否かを検証することにより、不当な暗号文を排除することが可能となっている。しかしながら、この検証方法を実現するために、受信者数をnとしたとき2n回のmulti−scalar multiplicationの処理が暗号化の際に必要となる。さらに、生成される暗号文においても、2n+1個の要素が必要となる。これらの値が大きいという点が、基盤技術における問題点である。
[Problems of cryptographic processing method, which is a basic technology]
The cryptographic processing method that is the basic technology of the information processing method according to the present embodiment as described above has the following problems. That is, in the basic technology, the verification parameters v 1,1 , v 1,2 ,..., V 1, n, v 2,1 , v 2 using the public keys of the respective recipients in the encryption method. , 2 ,..., V 2, n are calculated and inserted into the ciphertext φ. The recipient of the ciphertext can eliminate the illegal ciphertext by verifying whether or not the equal sign in Expression 2006 holds in the decryption method. However, in order to realize this verification method, when the number of recipients is n, 2n multi-scalar multiplexing processes are required for encryption. Furthermore, 2n + 1 elements are required in the generated ciphertext. The fact that these values are large is a problem in basic technology.
<情報処理方法について>
本実施形態に係る情報処理方法では、上記問題を解決するために、セッション鍵の算出に用いられるパラメータの一つを共通化してシステムパラメータに加えることにより、情報処理方法全体における効率化を実現している。
<About information processing method>
In the information processing method according to the present embodiment, in order to solve the above problem, one of the parameters used for calculating the session key is made common and added to the system parameter, thereby improving the efficiency of the entire information processing method. ing.
以下、本実施形態に係る情報処理方法について、図42〜図45を参照しながら、詳細に説明する。図42〜図45は、本実施形態に係る情報処理方法について説明するための流れ図である。 Hereinafter, the information processing method according to the present embodiment will be described in detail with reference to FIGS. 42 to 45. 42 to 45 are flowcharts for explaining the information processing method according to the present embodiment.
[システムパラメータ生成方法について]
まず、図42を参照しながら、本実施形態に係るシステムパラメータ生成方法について、詳細に説明する。このシステムパラメータ生成方法は、システムパラメータ生成装置として機能する本実施形態に係る情報処理装置10において実行される。
[About system parameter generation]
First, the system parameter generation method according to the present embodiment will be described in detail with reference to FIG. This system parameter generation method is executed in the
まず、情報処理装置10の群選択部101は、入力されたセキュリティパラメータに基づいて、kビットの素数pを選択し、pを位数とする群Gを選択する(ステップS301)。
First, the
次に、情報処理装置10の関数選択部103は、G→Zpという写像を実現する関数TCRと、G→{0,1}lという写像を実現する関数Hと、を選択する(ステップS302)。
Next, the
続いて、情報処理装置10のパラメータ選択部105は、パラメータg,c1∈RGを選択する(ステップS303)。
Subsequently, the
次に、情報処理装置10のシステムパラメータ生成部107は、システムパラメータIをI=(p,G,g,c1,TCR,H)のように構成し、各鍵処理装置に公開する(ステップS304)。
Next, the system
このような手順を経ることにより、システムパラメータ生成装置として機能する情報処理装置10は、鍵処理装置として機能する情報処理装置20のmKEM201が暗号処理を実行する際に必要となるシステムパラメータを生成することができる。
Through such a procedure, the
[鍵生成方法について]
次に、図43を参照しながら、本実施形態に係る鍵生成方法について、詳細に説明する。この鍵生成方法は、複数受信者公開鍵暗号による通信を行うユーザが所持し、鍵処理装置として機能する情報処理装置20の鍵生成部211において実行される。なお、この鍵生成方法は、情報処理装置20を所持するユーザが、自身の公開鍵および秘密鍵を生成する際に実行される。この鍵生成方法は、情報処理装置20がシステムパラメータを取得した後であれば、任意のタイミングで行うことが可能である。
[Key generation method]
Next, the key generation method according to the present embodiment will be described in detail with reference to FIG. This key generation method is executed in the key generation unit 211 of the
まず、パラメータ生成部213は、情報処理装置20に固有の秘密情報として、パラメータs,t∈RZpを選択する(ステップS311)。
First, the
次に、パラメータ生成部213は、選択したパラメータs,tと、システムパラメータであるg,c1とを用い、以下の式301に示すパラメータc2を算出する(ステップS312)。
Next, the
続いて、パラメータ生成部213は、情報処理装置20に固有の秘密情報として、以下の式302に示す3種類のパラメータを選択する(ステップS313)。
Subsequently, the
次に、パラメータ生成部213は、生成したパラメータと、システムパラメータとを用いて、以下の式303および式304に示すパラメータd1,d2を生成する(ステップS314)。
Next, the
その後、秘密鍵生成部215は、情報処理装置20を所持するユーザに固有の秘密鍵skを、以下の式305に基づいて生成する(ステップS315)。
Thereafter, the secret
また、公開鍵生成部217は、情報処理装置20を所持するユーザに固有の公開鍵pk=(c2,d1,d2)を生成する(ステップS316)。
Further, the public
その後、鍵生成部211は、生成した公開鍵pkと秘密鍵skとをユーザに対して出力する(ステップS317)。また、公開鍵公開部219は、生成した公開鍵pkを、他の情報処理装置20に対して公開する。
Thereafter, the key generation unit 211 outputs the generated public key pk and secret key sk to the user (step S317). In addition, the public
このような手順を経ることにより、情報処理装置20の鍵生成部211は、情報処理装置を所持するユーザに固有の鍵である秘密鍵skおよび公開鍵pkを生成することができる。
Through such a procedure, the key generation unit 211 of the
[暗号化方法について]
次に、図44を参照しながら、本実施形態に係る暗号化方法について、詳細に説明する。この暗号化方法は、複数受信者公開鍵暗号による通信を行うユーザが所持し、鍵処理装置として機能する情報処理装置20の暗号化部221において実行される。なお、この暗号化方法は、情報処理装置20を所持し、メッセージの送信を行うユーザが、複数受信者KEMを用いて暗号文を生成する際に実行される。
[Encryption method]
Next, the encryption method according to the present embodiment will be described in detail with reference to FIG. This encryption method is executed by the encryption unit 221 of the
まず、パラメータ選択部223は、パラメータr∈RZpを無作為に選択する(ステップS321)。
First, the
次に、パラメータ選択部223は、選択したパラメータrと、システムパラメータとして公開されているパラメータgとを用いて、パラメータu=gr∈Gを算出する(ステップS322)。
Next, the
続いて、パラメータ選択部223は、算出したパラメータuと、システムパラメータとして公開されている関数TCRとを用いて、パラメータα=TCR(u)∈Zpを算出する(ステップS323)。
Subsequently, the
次に、検証用パラメータ生成部225は、メッセージの送信を行う情報処理装置20全てに対して、式306および式307に示した2種類の検証用パラメータv1,i,v2,iを算出する(ステップS324)。以下の式306および式307から明らかなように、検証用パラメータv1,i,v2,iは、送信先の情報処理装置20の公開鍵pki(i=1,・・・n)と、システムパラメータと、選択したパラメータと用いて、算出可能である。
The verification
続いて、セッション鍵算出部237は、メッセージの送信を行う情報処理装置20全てに対して、システムパラメータと選択したパラメータrとを用いて、以下のセッション鍵dkを算出する(ステップS325)。
Subsequently, the session
次に、暗号化部221は、φ=(u,v1,1,v1,2,・・・,v1,n,v2,1,v2,2,・・・,v2,n)とし、(φ,dk)を出力する(ステップS326)。 Next, the encryption unit 221 uses φ = (u, v 1,1 , v 1,2 ,..., V 1, n, v 2,1 , v 2,2 ,..., V 2, and n), and outputs a (φ, dk) (step S326).
このような手順を経ることにより、情報処理装置20は、DEM203において実行される共通鍵暗号処理に用いられるセッション鍵dkを生成することができる。
Through such a procedure, the
上述のように、基盤技術における暗号化方法では、受信者の公開鍵pkiを用いて各受信者に対してセッション鍵dkiを算出していたが、本実施形態に係る暗号化方法では、システムパラメータとして公開されている値を用いてセッション鍵dkを生成する。これにより、本実施形態に係る暗号化方法では、演算回数の削減を図ることが可能となる。 As described above, in, I had calculated the session key dk i for each recipient using the public key pk i recipients in encryption method according to the present embodiment encryption method in the fundamental technology, A session key dk is generated using a value disclosed as a system parameter. Thereby, in the encryption method according to the present embodiment, the number of calculations can be reduced.
[復号方法について]
次に、図45を参照しながら、本実施形態に係る復号方法について、詳細に説明する。この復号方法は、暗号文を受信した情報処理装置20の復号部231において実行される。
[Decoding method]
Next, the decoding method according to the present embodiment will be described in detail with reference to FIG. This decryption method is executed in the decryption unit 231 of the
復号処理に先立ち、復号部231は、暗号文の中に含まれるφ=(u,v1,1,v1,2,・・・,v1,n,v2,1,v2,2,・・・,v2,n)の中から、自身に関係する部分(u,v1,i,v2,i)を抽出する。この抽出処理は、記載されているv1,i,v2,iの順番とユーザとの対応関係とを関連付けるラベルを用いたり、送信者がそれぞれの受信者に必要な情報だけが届くように設定したりすることで実現可能である。 Prior to the decryption processing, the decryption unit 231 includes φ = (u, v 1,1 , v 1,2 ,..., V 1, n, v 2,1 , v 2,2 included in the ciphertext. extracts ..., from the v 2, n), the portion relating to itself (u, v 1, i, the v 2, i). In this extraction process, a label that associates the order of v 1, i , v 2, i and the corresponding relationship with the user is used, or only information necessary for the sender to reach each recipient is received. It can be realized by setting.
まず、パラメータ算出部233は、暗号文に含まれるパラメータuと、システムパラメータとして公開されている関数TCRとを用いて、パラメータα=TCR(u)∈Zpを算出する(ステップS331)。
First, the
次に、パラメータ算出部233は、自身の秘密鍵skiと、システムパラメータと、算出したパラメータαと、暗号文に含まれるu,v1,i,v2,iとを用いて、以下の式309および式310に示した2種類のパラメータを算出する(ステップS332)。
Next, the
続いて、検証部235は、自身の秘密鍵skiと、算出した2種類のパラメータと、暗号文に含まれるuとを用いて、暗号文の検証処理を行う。より詳細には、検証部235は、以下の式311における等号が成立するか否かに基づいて、暗号文の検証処理を行う(ステップS333)。
Then, the
検証部235は、上記式311の等号が成立しない場合には、受信した暗号文が不当なものであると判断し、エラーメッセージを出力して(ステップS334)復号処理を終了する。
If the equal sign of Equation 311 is not satisfied, the
また、上記式311の等号が成立した場合には、検証部235は、受信した暗号文が正当なものであると判断し、暗号文が正当なものである旨を示す情報を、セッション鍵算出部237に伝送する。セッション鍵算出部237は、システムパラメータと、式309に基づいて算出したパラメータとを用いて、セッション鍵dkを、以下の式312を用いて算出する(ステップS335)。続いて、セッション鍵算出部237は、算出したセッション鍵dkを、自装置のDEM203へと出力する(ステップS336)。
When the equal sign of the above expression 311 is established, the
このような手順を経ることにより、情報処理装置20の復号部231は、DEM203における復号処理に用いられるセッション鍵dkを算出することができる。
Through such a procedure, the decryption unit 231 of the
<暗号化時の計算量と暗号文のサイズについて>
以下では、本実施形態に係る情報処理方法の暗号化時における計算量と暗号文のサイズについて、基盤技術における暗号処理方法と比較しながら説明する。
<Computation amount and ciphertext size during encryption>
In the following, the calculation amount and the ciphertext size at the time of encryption of the information processing method according to the present embodiment will be described in comparison with the encryption processing method in the basic technology.
[暗号化時の計算量について]
まず、受信者数をnとしたときの、基盤技術における暗号化方法での計算量と、本実施形態に係る暗号化方法での計算量を比較する。両方法ともに、single−scalar multiplication、および、multi−scalar multiplicationの計算量が支配的となるため、それぞれの演算数の比較を行った。暗号化時の計算量を比較した結果を、以下の表7に示す。
[Computation amount for encryption]
First, when the number of recipients is n, the amount of computation in the encryption method in the basic technology is compared with the amount of computation in the encryption method according to the present embodiment. In both methods, since the amount of calculation of single-scalar multiplication and multi-scalar multiplication is dominant, the number of operations was compared. Table 7 below shows the result of comparing the amount of calculation at the time of encryption.
表7より、基盤技術における暗号化方法では、(n+1)回のsingle−scalar multiplicationと、2n回のmulti−scalar multiplicationが必要であることがわかる。また、本実施形態に係る暗号化方法では、n+3回のsingle−scalar multiplicationと、n回のmulti−scalar multiplicationが必要であることがわかる。 From Table 7, it can be seen that (n + 1) single-scalar multiplication and 2n multi-scalar multiplication are necessary in the encryption method in the basic technology. It can also be seen that the encryption method according to the present embodiment requires n + 3 single-scalar multiplication and n multi-scalar multiplication.
非特許文献5に記載のように、一般的にmulti−scalar multiplicationは、single−scalar multiplicationの1.5倍の処理が必要であると考えられている。このことを考慮すると、基盤技術における暗号化方法では(4n+1)回分のsingle−scalar multiplicationの計算量が必要である。他方、本実施形態に係る暗号化方式では、(1.5n+3)回分のsingle−scalar multiplicationの計算量で処理が完了することが分かる。 As described in Non-Patent Document 5, it is generally considered that multi-scalar multiplication requires 1.5 times the processing of single-scalar multiplication. Considering this, the encryption method in the basic technology requires a calculation amount of (4n + 1) times of single-scalar multiplexing. On the other hand, in the encryption method according to the present embodiment, it can be seen that the processing is completed with a calculation amount of (1.5n + 3) times of single-scalar multiplication.
[暗号文のサイズについて]
次に、受信者数をnとしたときの、基盤技術における暗号文サイズと、本実施形態に係る情報処理方法における暗号文サイズとを比較する。両方法とも、暗号文に含まれる要素数およびmKEM中に含まれるDEMにより生成される暗号文の数で比較を行った。得られた結果を、以下の表8に示す。
[Ciphertext size]
Next, the ciphertext size in the basic technology when the number of recipients is n is compared with the ciphertext size in the information processing method according to the present embodiment. In both methods, the number of elements included in the ciphertext and the number of ciphertexts generated by the DEM included in the mKEM were compared. The results obtained are shown in Table 8 below.
表8より、基盤技術および本実施形態では、群の要素数は2n+1個と変わらないものの、mKEM中に含まれるDEMにより生成される暗号文の数をなくすことが可能となる。この結果から明らかなように、本実施形態に係る情報処理方法では、暗号文のサイズを、削減することができる。 From Table 8, it is possible to eliminate the number of ciphertexts generated by the DEM included in the mKEM, although the number of elements in the group remains the same as 2n + 1 in the basic technology and this embodiment. As is apparent from this result, in the information processing method according to the present embodiment, the size of the ciphertext can be reduced.
以上説明したように、本実施形態に係る情報処理装置および情報処理方法では、鍵処理装置として機能する情報処理装置20におけるmKEM201として、図13に示したmsKEMを導入することで、複数受信者公開鍵暗号システムを実現している。
As described above, in the information processing apparatus and the information processing method according to the present embodiment, by introducing the msKEM shown in FIG. 13 as the
(第4の実施形態)
続いて、図46〜図56を参照しながら、本発明の第4の実施形態に係る情報処理装置および情報処理方法について、詳細に説明する。
(Fourth embodiment)
Subsequently, an information processing apparatus and an information processing method according to the fourth embodiment of the present invention will be described in detail with reference to FIGS. 46 to 56.
まず、図46を参照しながら、本実施形態に係る情報処理装置および情報処理方法が着目している点について、簡単に説明する。 First, the points focused on by the information processing apparatus and the information processing method according to the present embodiment will be briefly described with reference to FIG.
本発明の各実施形態で着目している複数受信者公開鍵暗号システムでは、システムパラメータが生成した共通のシステムパラメータに基づいて、各ユーザが秘密鍵および公開鍵を生成する。また、各ユーザ間で送信される暗号文は、共通のシステムパラメータと、暗号文の受信者の公開鍵と、に基づいて、生成される。 In the multi-recipient public key cryptosystem focused on each embodiment of the present invention, each user generates a secret key and a public key based on common system parameters generated by the system parameters. In addition, the ciphertext transmitted between the users is generated based on the common system parameters and the public key of the recipient of the ciphertext.
ここで、図46に示したように、悪意のあるシステムパラメータ生成者が、ユーザ間で送信される暗号文の内容を盗み見るために、システムパラメータ中に生成者しか知りえない秘密情報を埋め込んで、各ユーザにシステムパラメータを公開した場合を考える。 Here, as shown in FIG. 46, in order for a malicious system parameter generator to steal the contents of ciphertext transmitted between users, secret information that only the generator knows is embedded in the system parameters. Consider the case where system parameters are disclosed to each user.
システムに参加している各ユーザは、秘密情報が埋め込まれたシステムパラメータを用いて各自の秘密鍵および公開鍵を生成し、この公開鍵に基づいて暗号文の送信が行なわれる。この場合に、悪意のあるシステムパラメータ生成者は、システムパラメータに埋め込んだ秘密情報に基づいて、暗号文の内容を取得できる可能性がある。 Each user participating in the system generates his / her private key and public key using system parameters in which secret information is embedded, and ciphertext is transmitted based on the public key. In this case, the malicious system parameter generator may be able to acquire the contents of the ciphertext based on the secret information embedded in the system parameters.
例えば、システムパラメータとして2種類以上の群の要素が必要な方式において、本来独立して選択するべき群の要素それぞれを独立して選択せずに、これらの要素間に何らかの関連付けを行なって、一つの要素から他の要素を生成するような場合が考えられる。 For example, in a system that requires two or more groups of elements as system parameters, each element of the group that should be originally selected independently is not selected independently, but some association is made between these elements. There may be cases where other elements are generated from one element.
そこで、以下に示す本実施形態に係る情報処理装置および情報処理方法では、このようなシステムパラメータへの秘密情報の埋め込みができないように、方式の改良を行なった。 Therefore, in the information processing apparatus and information processing method according to the present embodiment described below, the system has been improved so that the secret information cannot be embedded in such system parameters.
<情報処理装置の構成について>
まず、本実施形態に係る情報処理装置の構成について、説明する。本実施形態に係る情報処理装置は、システムパラメータ生成装置として機能する情報処理装置10と、鍵処理装置として機能する情報処理装置20とが存在する。
<Configuration of information processing device>
First, the configuration of the information processing apparatus according to the present embodiment will be described. The information processing apparatus according to the present embodiment includes an
ここで、本実施形態におけるシステムパラメータ生成装置として機能する情報処理装置10は、図14に示した本発明の第1の実施形態に係る情報処理装置10の構成を有し、各処理部で実行される処理内容のみが異なるものである。そのため、本実施形態に係る情報処理装置10が備える各処理部の機能については、以下で本実施形態に係る情報処理方法を説明しながら説明するものとする。
Here, the
同様に、本実施形態における鍵処理装置として機能する情報処理装置20は、図15および図16に示した本発明の第1の実施形態に係る情報処理装置20の構成を有し、各処理部で実行される処理内容のみが異なるものである。そのため、本実施形態に係る情報処理装置20が備える各処理部の機能については、以下で本実施形態に係る情報処理方法を説明しながら説明するものとする。
Similarly, the
<本実施形態に係る情報処理方法の基盤となる暗号処理方法について>
続いて、本実施形態に係る情報処理方法について説明するに先立ち、本実施形態に係る情報処理方法の基盤となる暗号処理方法について、図47〜50を参照しながら、詳細に説明する。図47〜図50は、本実施形態に係る情報処理方法の基盤となる暗号処理方法について説明するための流れ図である。本実施形態に係る情報処理方法の基盤となる暗号処理方法は、非特許文献4に記載の暗号処理方法である。
<Encryption Processing Method that is the Base of the Information Processing Method According to the Present Embodiment>
Next, prior to describing the information processing method according to the present embodiment, an encryption processing method that is the basis of the information processing method according to the present embodiment will be described in detail with reference to FIGS. 47 to 50 are flowcharts for explaining the cryptographic processing method that is the basis of the information processing method according to the present embodiment. The cryptographic processing method that is the basis of the information processing method according to the present embodiment is the cryptographic processing method described in Non-Patent Document 4.
[システムパラメータ生成方法について]
まず、図47を参照しながら、本実施形態に係る情報処理方法の基盤となるシステムパラメータ生成方法について、詳細に説明する。このシステムパラメータ生成方法は、システムパラメータ生成者が所持する情報処理装置であるシステムパラメータ生成装置において実行される。
[About system parameter generation]
First, with reference to FIG. 47, a system parameter generation method that is the basis of the information processing method according to the present embodiment will be described in detail. This system parameter generation method is executed in a system parameter generation apparatus which is an information processing apparatus possessed by the system parameter generator.
まず、システムパラメータ生成装置は、入力されたセキュリティパラメータに基づいて、kビットの素数pを選択し、pを位数とする群Gを選択する(ステップS4001)。 First, the system parameter generation device selects a k-bit prime number p based on the input security parameters, and selects a group G in which p is an order (step S4001).
次に、システムパラメータ生成装置は、G→Zpという写像を実現する関数TCRと、G→{0,1}lという写像を実現する関数Hと、を選択する(ステップS4002)。 Next, the system parameter generation unit selects a function TCR realizing mapping that G → Z p, and function H to achieve a mapping of G → {0,1} l, the (step S4002).
続いて、システムパラメータ生成装置は、パラメータg1,g2∈RGを選択する(ステップS4003)。 Subsequently, the system parameter generation unit selects the parameter g 1, g 2 ∈ R G ( step S4003).
次に、システムパラメータ生成装置は、システムパラメータIをI=(p,G,g1,g2,TCR,H)のように構成し、各鍵処理装置に公開する(ステップS4004)。 Next, the system parameter generation device configures the system parameter I as I = (p, G, g 1 , g 2 , TCR, H) and discloses it to each key processing device (step S4004).
このような手順を経ることにより、システムパラメータ生成装置は、鍵処理装置が暗号処理を実行する際に必要となるシステムパラメータを生成することができる。 By passing through such a procedure, the system parameter generation device can generate system parameters that are necessary when the key processing device executes cryptographic processing.
[鍵生成方法について]
次に、図48を参照しながら、本実施形態に係る情報処理方法の基盤となる鍵生成方法について、詳細に説明する。この鍵生成方法は、複数受信者公開鍵暗号による通信を行うユーザが所持する情報処理装置である鍵処理装置において実行される。なお、この鍵生成方法は、鍵処理装置を所持するユーザが、自身の公開鍵および秘密鍵を生成する際に実行される。この鍵生成方法は、鍵処理装置がシステムパラメータ生成装置によって生成されたシステムパラメータを取得した後であれば、任意のタイミングで行うことが可能である。
[Key generation method]
Next, with reference to FIG. 48, a key generation method that is the basis of the information processing method according to the present embodiment will be described in detail. This key generation method is executed in a key processing device which is an information processing device possessed by a user who performs communication by multi-recipient public key cryptography. This key generation method is executed when a user who owns the key processing device generates his / her public key and secret key. This key generation method can be performed at an arbitrary timing as long as the key processing apparatus has acquired the system parameters generated by the system parameter generation apparatus.
まず、鍵処理装置は、鍵処理装置に固有の秘密情報として、パラメータx1,x2,y1,y2,z∈RZpを選択する(ステップS4011)。 First, the key processing device selects parameters x 1 , x 2 , y 1 , y 2 , zε R Z p as secret information unique to the key processing device (step S4011).
次に、鍵処理装置は、選択したパラメータx1,x2,y1,y2,zと、システムパラメータであるg1,g2とを用い、以下の式4001〜式4003に示すパラメータc,d,hを算出する(ステップS4012)。 Next, the key processing apparatus uses the selected parameters x 1 , x 2 , y 1 , y 2 , z and the system parameters g 1 , g 2 , and uses the parameters c 1 to 400 3 shown below as parameters c. , D, h are calculated (step S4012).
その後、鍵処理装置は、鍵処理装置を所持するユーザに固有の秘密鍵sk=(x1,x2,y1,y2,z)を生成する(ステップS4013)。また、鍵処理装置は、鍵処理装置を所持するユーザに固有の公開鍵pk=(c,d,h)を生成する(ステップS4014)。 Thereafter, the key processing device generates a secret key sk = (x 1 , x 2 , y 1 , y 2 , z) unique to the user who owns the key processing device (step S4013). Further, the key processing device generates a public key pk = (c, d, h) unique to the user who possesses the key processing device (step S4014).
その後、鍵処理装置は、生成した公開鍵pkと秘密鍵skとをユーザに対して出力する(ステップS4015)。また、生成した公開鍵pkは、他の鍵処理装置に対して公開される。 Thereafter, the key processing device outputs the generated public key pk and secret key sk to the user (step S4015). Also, the generated public key pk is disclosed to other key processing devices.
このような手順を経ることにより、鍵処理装置は、鍵処理装置を所持するユーザに固有の鍵である秘密鍵skおよび公開鍵pkを生成することができる。 Through such a procedure, the key processing device can generate a secret key sk and a public key pk that are unique to the user who owns the key processing device.
[暗号化方法について]
次に、図49を参照しながら、本実施形態に係る情報処理方法の基盤となる暗号化方法について、詳細に説明する。この暗号化方法は、複数受信者公開鍵暗号による通信を行うユーザが所持する情報処理装置である鍵処理装置において実行される。なお、この暗号化方法は、鍵処理装置を所持しメッセージの送信を行うユーザが、暗号文を生成する際に実行される。
[Encryption method]
Next, an encryption method that is a basis of the information processing method according to the present embodiment will be described in detail with reference to FIG. This encryption method is executed in a key processing device which is an information processing device possessed by a user who performs communication by multi-recipient public key encryption. This encryption method is executed when a user who has a key processing device and transmits a message generates a ciphertext.
まず、鍵処理装置は、パラメータr∈RZpを無作為に選択する(ステップS4021)。 First, the key processing unit selects the parameter r∈ R Z p randomly (step S4021).
次に、鍵処理装置は、選択したパラメータrと、システムパラメータとして公開されているパラメータg2とを用いて、パラメータu1=g2 r∈Gを算出する(ステップS4022)。 Next, the key processing device calculates a parameter u 1 = g 2 r εG using the selected parameter r and the parameter g 2 disclosed as a system parameter (step S4022).
続いて、鍵処理装置は、送信したいメッセージに対応するデータmと、システムパラメータとして公開されているパラメータg1と、選択したパラメータrとを用いて、暗号文χ=mg1 rを生成する(ステップS4023)。 Subsequently, the key processing device generates ciphertext χ = mg 1 r using the data m corresponding to the message to be transmitted, the parameter g 1 disclosed as a system parameter, and the selected parameter r ( Step S4023).
次に、鍵処理装置は、メッセージの送信を行う鍵処理装置全てに対して、送信先の鍵処理装置の公開鍵pki(i=1,・・・n)と選択したパラメータrとを用いて、パラメータu2,i=hi rを算出する(ステップS4024)。 Next, the key processing device uses the public key pk i (i = 1,... N) of the destination key processing device and the selected parameter r for all the key processing devices that transmit the message. Then, the parameter u 2, i = h i r is calculated (step S4024).
続いて、鍵処理装置は、算出したパラメータu1,u2,iと、暗号文χと、公開されている関数TCRとを用いて、メッセージの送信を行う鍵処理装置全てに対して、パラメータα=TCR(u1,u2,i,χ)を算出する(ステップS4025)。 Subsequently, the key processing device uses the calculated parameters u 1 , u 2, i , the ciphertext χ, and the public function TCR for all the key processing devices that transmit messages. α = TCR (u 1 , u 2, i , χ) is calculated (step S4025).
次に、鍵処理装置は、メッセージの送信を行う鍵処理装置全てに対して、送信先の鍵処理装置の公開鍵pki(i=1,・・・n)を用い、式4004に示した検証用パラメータviを算出する(ステップS4026)。 Next, the key processing device uses the public key pk i (i = 1,... N) of the transmission destination key processing device for all the key processing devices that transmit the message, and is expressed by Expression 4004. to calculate the verification parameters v i (step S4026).
続いて、鍵処理装置は、各鍵処理装置に対して送信するデータとして、(u1,u2,1,u2,2,・・・,u2,n,v1,v2,・・・,vn,χ)を出力する(ステップS4027)。 Subsequently, the key processing device transmits (u 1 , u 2 , 1 , u 2 , 2 ,..., U 2, n, v 1 , v 2 ,. .., V n , χ) are output (step S4027).
このような手順を経ることにより、鍵処理装置は、他の鍵処理装置に対して送信するメッセージmを暗号化することができる。 Through such a procedure, the key processing device can encrypt the message m to be transmitted to the other key processing device.
[復号方法について]
次に、図50を参照しながら、本実施形態に係る情報処理方法の基盤となる復号方法について、詳細に説明する。この復号方法は、暗号文を受信した情報処理装置である鍵処理装置において実行される。
[Decoding method]
Next, the decoding method that is the basis of the information processing method according to the present embodiment will be described in detail with reference to FIG. This decryption method is executed in a key processing device that is an information processing device that has received the ciphertext.
復号処理に先立ち、鍵処理装置は、暗号文の中に含まれる(u2,1,u2,2,・・・,u2,n,v1,v2,・・・,vn)の中から、自身に関係する部分(u2,i,vi)を抽出する。この抽出処理は、記載されているu2,i,viの順番とユーザとの対応関係とを関連付けるラベルを用いたり、送信者がそれぞれの受信者に必要な情報だけが届くように設定したりすることで実現可能である。 Prior to the decryption process, the key processing device is included in the ciphertext (u 2,1 , u 2,2 ,..., U 2, n, v 1 , v 2 ,..., V n ). The part (u 2, i , v i ) related to itself is extracted from the list. The extraction process, or with a label that associates the relationship between u 2, i, v i of order and the user that is described, the sender sets so that only the information required for each recipient arrives It can be realized by doing.
まず、鍵処理装置は、暗号文に含まれるパラメータu1,u2,i,χと、システムパラメータとして公開されている関数TCRとを用いて、パラメータα=TCR(u1,u2,i,χ)を算出する(ステップS4031)。 First, the key processing device uses the parameters u 1 , u 2, i , χ included in the ciphertext and the function TCR disclosed as a system parameter to set the parameter α = TCR (u 1 , u 2, i , Χ) is calculated (step S4031).
次に、鍵処理装置は、自身の秘密鍵skiと、暗号文に含まれるu2,iとを用いて、式4005で表されるパラメータu’を算出する(ステップS4032)。 Next, the key processing device calculates a parameter u ′ represented by Expression 4005 using its own secret key sk i and u 2, i included in the ciphertext (step S4032).
続いて、鍵処理装置は、自身の秘密鍵skiと、暗号文に含まれるu1,viと、算出したパラメータα,u’とを用いて、暗号文の検証処理を行う。より詳細には、鍵処理装置は、以下の式4006における等号が成立するか否かに基づいて、暗号文の検証処理を行う(ステップS4033)。 Subsequently, the key processing device performs ciphertext verification processing using its own secret key sk i , u 1 and v i included in the ciphertext, and the calculated parameters α and u ′. More specifically, the key processing device performs ciphertext verification processing based on whether or not an equal sign in the following expression 4006 holds (step S4033).
鍵処理装置は、上記式4006の等号が成立しない場合には、受信した暗号文が不当なものであると判断し、エラーメッセージを出力して(ステップS4034)復号処理を終了する。 If the equal sign of the above expression 4006 does not hold, the key processing apparatus determines that the received ciphertext is invalid, outputs an error message (step S4034), and ends the decryption process.
また、上記式4006の等号が成立した場合には、鍵処理装置は、受信した暗号文が正当なものであると判断し、式4007を用いて新たにu’を算出する(ステップS4035)。続いて、鍵処理装置は、暗号文を復号して、平文mを出力する(ステップS4036)。 If the equal sign of the above expression 4006 is established, the key processing apparatus determines that the received ciphertext is valid and newly calculates u ′ using the expression 4007 (step S4035). . Subsequently, the key processing device decrypts the ciphertext and outputs plaintext m (step S4036).
このような手順を経ることにより、鍵処理装置は、暗号文を復号して、平文mを出力することができる。 By going through such a procedure, the key processing device can decrypt the ciphertext and output the plaintext m.
[基盤技術である暗号処理方法の問題点]
ここで、上述のような基盤技術において、悪意あるシステムパラメータ生成者が、システムパラメータg2をg1とは独立に選択せずに、g2=g1 wというシステムパラメータ生成者しか知りえない関係性を用いて、g1からg2を算出した場合を考える。ここで、g2を算出する際に用いられたパラメータwが、システムパラメータ生成者しか知りえない秘密情報に相当する。
[Problems of cryptographic processing method, which is a basic technology]
Here, in the fundamental technology described above, a malicious system parameters creator, the system parameters g 2 without selecting independently of the g 1, g 2 = g only be known system parameters creator of 1 w using the relationship, consider the case of calculating the g 2 from g 1. Here, the parameter w used in calculating g 2 corresponds to secret information that only the system parameter generator can know.
パラメータg2とパラメータg1とが、パラメータwを用いて秘密裏に関連付けられていると、復号処理における式4007が、以下の式4008のように変形できる。そのため、悪意あるシステムパラメータ生成者は、暗号文中に含まれるパラメータと、秘密情報wとを用いて、本来通信を行っているユーザ同士のみしか知りえないメッセージの内容を、盗み見ることが可能となってしまう。 When the parameter g 2 and the parameter g 1 are secretly associated using the parameter w, the expression 4007 in the decryption process can be transformed into the following expression 4008. Therefore, the malicious system parameter generator can use the parameters included in the ciphertext and the secret information w to see the contents of messages that can only be known by users who are originally communicating. End up.
<第2の実施形態に係るシステムパラメータ生成方法について>
また、本発明の第2の実施形態に係るシステムパラメータ生成方法においても、パラメータy0を選択する際に、先に選択したパラメータgと、システムパラメータ生成者しか知りえない秘密情報wとを用いて、y0=gwと設定することが可能である。パラメータgおよびパラメータy0が上述のような関係性を有している場合、復号方法の式206は、以下の式4009のように変形できる。そのため、悪意あるシステムパラメータ生成者は、暗号文中に含まれるパラメータと、秘密情報wとを用いて、本来通信を行っているユーザ同士のみしか知りえないメッセージの内容を、盗み見ることが可能となってしまう。
<Regarding System Parameter Generation Method According to Second Embodiment>
Further, even in a system parameter generation method according to a second embodiment of the present invention, in selecting the parameters y 0, and the parameter g of the previously selected, and the secret information w not be known only system parameters creator using Thus, y 0 = g w can be set. When the parameter g and the parameter y 0 have the relationship as described above, the equation 206 of the decoding method can be transformed as the following equation 4009. Therefore, the malicious system parameter generator can use the parameters included in the ciphertext and the secret information w to see the contents of messages that can only be known by users who are originally communicating. End up.
<情報処理方法について>
そこで、本実施形態に係る情報処理方法では、上記問題を解決するために、群の中から選ぶ要素を順に選択するように設定し、選択した要素を、以下で説明するような関数Tに入力して、関数Tの出力を次の要素の候補として採用するようにした。これにより、出力されるパラメータと、入力したパラメータとに関係する群構造を把握することが困難となる。また、このような関数をシステムパラメータとしてあわせて公開することにより、システムに参加する各ユーザは、適式にパラメータが選択されているかを検証可能なようにした。
<About information processing method>
Therefore, in the information processing method according to the present embodiment, in order to solve the above problem, the elements to be selected from the group are set to be selected in order, and the selected elements are input to the function T described below. Thus, the output of the function T is adopted as a candidate for the next element. This makes it difficult to grasp the output parameters and the group structure related to the input parameters. In addition, by disclosing such functions as system parameters, each user who participates in the system can verify whether parameters are properly selected.
[本実施形態に係る基盤技術の問題点を解決可能な方法について]
まず、非特許文献4に記載の方法における問題点を解決することが可能な本実施形態に係る情報処理方法(より詳細には、システムパラメータ生成方法)について、図51を参照しながら詳細に説明する。
[About a method capable of solving the problems of the basic technology according to this embodiment]
First, an information processing method (more specifically, a system parameter generation method) according to this embodiment capable of solving the problems in the method described in Non-Patent Document 4 will be described in detail with reference to FIG. To do.
まず、情報処理装置10の群選択部101は、入力されたセキュリティパラメータに基づいて、kビットの素数pを選択し、pを位数とする群Gを選択する(ステップS401)。
First, the
次に、情報処理装置10の関数選択部103は、G→Zpという写像を実現する関数TCRと、G→{0,1}lという写像を実現する関数Hと、を選択する(ステップS402)。
Next, the
続いて、情報処理装置10のパラメータ選択部105は、パラメータg1∈RGを選択する(ステップS403)。
Subsequently, the
次に、情報処理装置10の関数選択部103は、関数Tを選択し、パラメータ選択部105は、パラメータg2=T(g1)と設定する(ステップS404)。
Next, the
続いて、情報処理装置10のシステムパラメータ生成部107は、システムパラメータIをI=(p,G,g1,g2,TCR,H,T)のように構成し、各鍵処理装置に公開する(ステップS405)。
Subsequently, the system
ここで、パラメータg2を算出する際に用いられる関数Tとして、例えば以下のような関数を用いることが可能である。 Here, as a function T used for calculating the parameters g 2, for example it is possible to use a function such as the following.
用いられる関数Tは、例えば、その関数に入力された要素と、関数から出力された要素とを得たとしても、入力された要素から群演算のみを利用して出力された要素を構成することが困難となるような性質を有している。 For example, even if the function T to be used obtains an element input to the function and an element output from the function, the function T is configured from the input element using only the group operation. Has a property that makes it difficult.
ここで、p,qをp=2q+1が成り立つ素数とする。このとき、Zpの中に位数がqの部分群Gqが存在する。この部分群を、群選択部101が選択した群Gと定める。ここで、素数pを例えば1024−bitであると想定する。
Here, p and q are prime numbers that satisfy p =
このとき、例えば図52に示したように、一つ目のシステムパラメータg1が選ばれた後、パラメータg1の上位数bitを擬似乱数生成器(PRNG)に入力し、出力された1024−bitをもう一つの要素g2の候補とする。パラメータg2の候補がpを越えておらず、かつ、Zpでq乗した値が1となるときは、パラメータg2の候補をそのままパラメータg2とする。また、上述の条件を満たさない場合には、パラメータg1の選択からやり直すこととする。 At this time, as shown in FIG. 52, for example, after the first system parameter g 1 is selected, the higher order bit of the parameter g 1 is input to the pseudo random number generator (PRNG) and output 1024- bit is referred to as another element g 2 candidates. Parameter g 2 candidate is not beyond the p, and, when the value obtained by multiplication q at Z p is 1, as it is a parameter g 2 candidate parameter g 2. When it is not satisfied the above conditions, and be redone from the selection of the parameter g 1.
上述のような処理を行う関数Tを用いることにより、パラメータg1とパラメータg2との間にある群構造の関係を推測することが困難となる。 By using the function T that performs the processing as described above, it is difficult to estimate the relationship of the group structure between the parameter g 1 and the parameter g 2 .
また、上述のような関数Tは、楕円曲線上の有理点の部分集合として構成される素数位数の群に対しても、設定することが可能である。このような素数位数の群に対して、任意の素体からその群に写像するmap to pointという関数が知られている。この関数を用いることで、システムパラメータの要素同士の間にある群構造の関係を分からなくすることが可能である。 The function T as described above can also be set for a group of prime orders configured as a subset of rational points on an elliptic curve. For such a group of prime orders, a function called map to point that maps from an arbitrary prime field to the group is known. By using this function, it is possible to obscure the relationship of the group structure between the elements of the system parameter.
例えば、素数p,q(|p|=160,p=2mod3,p=sq+1)に対して、楕円曲線:y2=x3+1 over Fpを考える。システムパラメータの一つ目の要素をg1としたとき、関数Tを、例えば図53に示したような処理を実現する処理部と設定することができる。すなわち、パラメータg1の上位数ビットを擬似乱数生成器にseedとして入力し、出力された例えば160−bitをZpの要素y0とする。次に、x0=(y0 2−1)1/3∈Zpとする。次にQ0=(x0,y0)を楕円曲線上の点とし、sスカラー倍した点をg2とし、二つ目のシステムパラメータとして出力する。
For example, consider an elliptic curve: y 2 = x 3 +1 over Fp for prime numbers p, q (| p | = 160, p = 2
このような関数Tを1種類のみ使用して、g2=T(g1)、g3=T(g2)・・・のように、関数の出力を次のパラメータを算出する際の入力として順に使用することで、複数のパラメータを選択することが可能である。また、このような関数Tを複数種類使用して、パラメータg2をある関数T1を用いて算出したら、パラメータg3をある関数T2を用いて算出する・・・のようにして、複数のパラメータを選択してもよい。 Using only one type of such a function T, the input for calculating the next parameter of the function output is as follows: g 2 = T (g 1 ), g 3 = T (g 2 ). As a result, it is possible to select a plurality of parameters. Further, when a plurality of types of such functions T are used and the parameter g 2 is calculated using a certain function T 1 , the parameter g 3 is calculated using a certain function T 2. The parameters may be selected.
また、上述のような関数Tの代わりに、既存のハッシュ関数を用いることも可能である。 In addition, an existing hash function can be used instead of the function T as described above.
[本実施形態に係る基盤技術の問題点を解決可能な方法について]
続いて、本発明の第2の実施形態に記載の方法を改良した情報処理方法(より詳細には、システムパラメータ生成方法)について、図54を参照しながら詳細に説明する。
[About a method capable of solving the problems of the basic technology according to this embodiment]
Subsequently, an information processing method (more specifically, a system parameter generation method) obtained by improving the method described in the second embodiment of the present invention will be described in detail with reference to FIG.
まず、情報処理装置10の群選択部101は、入力されたセキュリティパラメータに基づいて、kビットの素数pを選択し、pを位数とする群Gを選択する(ステップS411)。
First, the
次に、情報処理装置10の関数選択部103は、G→Zpという写像を実現する関数TCRと、G→{0,1}lという写像を実現する関数Hと、を選択する(ステップS412)。
Next, the
続いて、情報処理装置10のパラメータ選択部105は、パラメータg∈RGを選択する(ステップS413)。
Subsequently, the
次に、情報処理装置10の関数選択部103は、関数Tを選択し、パラメータ選択部105は、パラメータy0=T(g)と設定する(ステップS414)。
Next, the
続いて、情報処理装置10のシステムパラメータ生成部107は、システムパラメータIをI=(p,G,g,y0,TCR,H,T)のように構成し、各鍵処理装置に公開する(ステップS415)。
Subsequently, the system
以上説明したように、システムパラメータの要素を決定する際に、上述のような関数Tを用いることにより、悪意あるシステムパラメータ生成者が、ユーザ間で伝送された暗号文の内容を盗み見ることを防止することが可能となる。 As described above, by using the function T as described above when determining the elements of the system parameters, it is possible to prevent malicious system parameter generators from eavesdropping on the contents of ciphertext transmitted between users. It becomes possible to do.
<第1変形例について>
上述の説明では、悪意あるシステムパラメータ生成者が、ユーザ間で伝送されている暗号文の内容を盗み見る場合について説明した。ここで、例えば、暗号システムの設計者や会社の上司など、ある特別の権力を有する者のみがユーザ間で伝送されている全ての暗号文の内容を復号できるようにシステムパラメータを設定すると、便利である場合が多い。そこで、本実施形態の第1変形例では、システムパラメータ生成者が、全ての暗号文の内容を復号できるような方式(いわゆるkey escrow方式)について、図55および図56を参照しながら詳細に説明する。
<About the first modification>
In the above description, the case where a malicious system parameter generator steals the contents of ciphertext transmitted between users has been described. Here, for example, it is convenient to set the system parameters so that only the person who has a certain special authority, such as the designer of the encryption system or the superior of the company, can decrypt the contents of all ciphertext transmitted between users. In many cases. Therefore, in the first modification of the present embodiment, a method (so-called key escrow method) in which the system parameter generator can decrypt the contents of all ciphertexts will be described in detail with reference to FIGS. 55 and 56. To do.
[本実施形態に係る基盤技術を改良した情報処理方法について]
まず、本実施形態に係る基盤技術を改良した情報処理方法について、図55を参照しながら詳細に説明する。本方法は、システムパラメータとして選択されるパラメータg1とパラメータg2との間に特別な関係性を持たせることにより、システムパラメータ生成者が、全ての暗号文を復号可能なようにした方法である。
[Information processing method improved from the basic technology according to this embodiment]
First, an information processing method obtained by improving the basic technology according to the present embodiment will be described in detail with reference to FIG. The method, by providing a special relationship between the parameters g 1 and parameter g 2, which is selected as a system parameter, the system parameter generation who, in manner to allow decoding all ciphertext is there.
まず、情報処理装置10の群選択部101は、入力されたセキュリティパラメータに基づいて、kビットの素数pを選択し、pを位数とする群Gを選択する(ステップS421)。
First, the
次に、情報処理装置10の関数選択部103は、G→Zpという写像を実現する関数TCRと、G→{0,1}lという写像を実現する関数Hと、を選択する(ステップS422)。
Next, the
続いて、情報処理装置10のパラメータ選択部105は、パラメータg1∈RGを選択する(ステップS403)。
Subsequently, the
次に、情報処理装置10のパラメータ選択部105は、パラメータwを選択して、パラメータg2=g1 wと設定する(ステップS424)。
Next, the
続いて、情報処理装置10のシステムパラメータ生成部107は、システムパラメータIをI=(p,G,g1,g2,TCR,H)のように構成し、各鍵処理装置に公開する(ステップS425)。
Subsequently, the system
パラメータg2とパラメータg1とが、パラメータwを用いて関連付けられていることで、上述のように、復号処理における式4007が式4008のように変形できる。そのため、特別な権限を有するシステムパラメータ生成者は、暗号文中に含まれるパラメータと、パラメータwとを用いて、全ての暗号文を復号することが可能となる。 Since the parameter g 2 and the parameter g 1 are associated using the parameter w, the expression 4007 in the decoding process can be transformed into the expression 4008 as described above. Therefore, a system parameter generator having special authority can decrypt all ciphertexts using the parameters included in the ciphertext and the parameter w.
[本発明の第2の実施形態に係る方法を改良した情報処理方法について]
次に、本発明の第2の実施形態に係る方法を改良した情報処理方法について、図56を参照しながら詳細に説明する。本方法は、システムパラメータとして選択されるパラメータgとパラメータy0との間に特別な関係性を持たせることにより、システムパラメータ生成者が、全ての暗号文を復号可能なようにした方法である。
[Information processing method improved from the method according to the second embodiment of the present invention]
Next, an information processing method obtained by improving the method according to the second embodiment of the present invention will be described in detail with reference to FIG. The method, by providing a special relationship between the parameters g and the parameter y 0 is selected as a system parameter, the system parameter generation who is the manner to allow decoding all ciphertext .
まず、情報処理装置10の群選択部101は、入力されたセキュリティパラメータに基づいて、kビットの素数pを選択し、pを位数とする群Gを選択する(ステップS431)。
First, the
次に、情報処理装置10の関数選択部103は、G→Zpという写像を実現する関数TCRと、G→{0,1}lという写像を実現する関数Hと、を選択する(ステップS432)。
Next, the
続いて、情報処理装置10のパラメータ選択部105は、パラメータg∈RGを選択する(ステップS433)。
Subsequently, the
次に、情報処理装置10のパラメータ選択部105は、パラメータwを選択して、パラメータy0=gwと設定する(ステップS434)。
Next, the
続いて、情報処理装置10のシステムパラメータ生成部107は、システムパラメータIをI=(p,G,g,y0,TCR,H)のように構成し、各鍵処理装置に公開する(ステップS435)。
Subsequently, the system
パラメータgおよびパラメータy0がパラメータwを用いて関連付けられていることで、上述のように、復号方法における式206は式4009のように変形できる。そのため、特別な権限を有するシステムパラメータ生成者は、暗号文中に含まれるパラメータと、パラメータwとを用いて、全ての暗号文を復号することが可能となる。 Since the parameter g and the parameter y 0 are related using the parameter w, the expression 206 in the decoding method can be transformed into an expression 4009 as described above. Therefore, a system parameter generator having special authority can decrypt all ciphertexts using the parameters included in the ciphertext and the parameter w.
また、全ての暗号文を復号可能なように所定の関係性が導入されたシステムパラメータと、全ての暗号文を復号できないように所定の関数Tを導入したシステムパラメータとを双方公開することも可能である。このように2種類のシステムパラメータを公開することで、メッセージの送信者は、key escrow方式を利用するかしないかを選択することが可能となる。 It is also possible to disclose both system parameters in which a predetermined relationship is introduced so that all ciphertexts can be decrypted and system parameters in which a predetermined function T is introduced so that all ciphertexts cannot be decrypted. It is. Thus, by exposing the two types of system parameters, the sender of the message can select whether or not to use the key escape method.
<ハードウェア構成について>
次に、図57を参照しながら、本発明の各実施形態に係る情報処理装置10のハードウェア構成について、詳細に説明する。図57は、本発明の各実施形態に係る情報処理装置10のハードウェア構成を説明するためのブロック図である。
<About hardware configuration>
Next, the hardware configuration of the
情報処理装置10は、主に、CPU901と、ROM903と、RAM905と、を備える。また、情報処理装置10は、更に、ホストバス907と、ブリッジ909と、外部バス911と、インターフェース913と、入力装置915と、出力装置917と、ストレージ装置919と、ドライブ921と、接続ポート923と、通信装置925とを備える。
The
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置10内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス907により相互に接続されている。
The
ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
The
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなどユーザが操作する操作手段である。また、入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール手段(いわゆる、リモコン)であってもよいし、情報処理装置10の操作に対応した携帯電話やPDA等の外部接続機器929であってもよい。さらに、入力装置915は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。情報処理装置10のユーザは、この入力装置915を操作することにより、情報処理装置10に対して各種のデータを入力したり処理動作を指示したりすることができる。
The
出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置およびランプなどの表示装置や、スピーカおよびヘッドホンなどの音声出力装置や、プリンタ装置、携帯電話、ファクシミリなどがある。出力装置917は、例えば、情報処理装置10が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置10が行った各種処理により得られた結果を、テキストまたはイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
The
ストレージ装置919は、情報処理装置10の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等により構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
The
ドライブ921は、記録媒体用リーダライタであり、情報処理装置10に内蔵、あるいは外付けされる。ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体927に記録を書き込むことも可能である。リムーバブル記録媒体927は、例えば、DVDメディア、HD−DVDメディア、Blu−rayメディア等である。また、リムーバブル記録媒体927は、コンパクトフラッシュ(登録商標)(CompactFlash:CF)、メモリースティック、または、SDメモリカード(Secure Digital memory card)等であってもよい。また、リムーバブル記録媒体927は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)または電子機器等であってもよい。
The
接続ポート923は、機器を情報処理装置10に直接接続するためのポートである。接続ポート923の一例として、USB(Universal Serial Bus)ポート、i.Link等のIEEE1394ポート、SCSI(Small Computer System Interface)ポート等がある。接続ポート923の別の例として、RS−232Cポート、光オーディオ端子、HDMI(High−Definition Multimedia Interface)ポート等がある。この接続ポート923に外部接続機器929を接続することで、情報処理装置10は、外部接続機器929から直接各種のデータを取得したり、外部接続機器929に各種のデータを提供したりする。
The
通信装置925は、例えば、通信網931に接続するための通信デバイス等で構成された通信インターフェースである。通信装置925は、例えば、有線または無線LAN(Local Area Network)、Bluetooth、またはWUSB(Wireless USB)用の通信カード等である。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデム等であってもよい。この通信装置925は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置925に接続される通信網931は、有線または無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信等であってもよい。
The
以上、本発明の各実施形態に係る情報処理装置10の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
Heretofore, an example of the hardware configuration capable of realizing the function of the
また、本発明の各実施形態に係る情報処理装置20のハードウェア構成は、本発明の各実施形態に係る情報処理装置10のハードウェア構成と同様の構成を有しているため、詳細な説明は省略する。
Further, the hardware configuration of the
<まとめ>
以上説明したように、本発明の各実施形態に係る情報処理装置および情報処理方法では、各ユーザが共通して使用するシステムパラメータの中に、暗号化処理および復号処理で用いられ、ユーザ固有の秘密情報を含まないパラメータを追加する。これにより、暗号化処理に要する計算量を削減することが可能となり、さらに、暗号文サイズを削減することが可能となる。
<Summary>
As described above, in the information processing apparatus and the information processing method according to each embodiment of the present invention, among the system parameters commonly used by each user, it is used in the encryption process and the decryption process, and is unique to the user. Add a parameter that does not contain confidential information. As a result, the amount of calculation required for the encryption process can be reduced, and further, the ciphertext size can be reduced.
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。 As mentioned above, although preferred embodiment of this invention was described referring an accompanying drawing, it cannot be overemphasized that this invention is not limited to this example. It will be apparent to those skilled in the art that various changes and modifications can be made within the scope of the claims, and these are naturally within the technical scope of the present invention. Understood.
3 通信網
10 情報処理装置(システムパラメータ生成装置)
20 情報処理装置(鍵処理装置)
101 群選択部
103 関数選択部
105 パラメータ選択部
107 システムパラメータ生成部
109 システムパラメータ公開部
111 通信制御部
113 記憶部
201 mKEM
203 DEM
205 通信制御部
207 記憶部
211 鍵生成部
213 パラメータ生成部
215 秘密鍵生成部
217 公開鍵生成部
219 公開鍵公開部
221 暗号化部
223 パラメータ選択部
225 検証用パラメータ生成部
227 セッション鍵生成部
231 復号部
233 パラメータ算出部
235 検証部
237 セッション鍵算出部
3
20 Information processing device (key processing device)
101
203 DEM
205
Claims (16)
前記暗号化通信の際に前記鍵処理装置で実行される処理に用いられ、前記複数の鍵処理装置それぞれに固有の秘密情報を含まず当該複数の鍵処理装置それぞれで共通して用いられるパラメータを含む複数のパラメータを選択するパラメータ選択部と、
前記暗号化通信における暗号文の生成または復号に関する処理に使用され、所定の写像を実現する関数を選択する関数選択部と、
前記群選択部により選択された巡回群と、前記パラメータ選択部により選択された複数のパラメータと、前記関数選択部により選択された関数と、を用いて、前記複数受信者公開鍵暗号技術に利用されるシステムパラメータを生成するシステムパラメータ生成部と、
を備える、情報処理装置。 A group selection unit for generating a cyclic group used in encrypted communication based on a multi-recipient public key encryption technique performed between a plurality of key processing devices;
A parameter that is used for processing executed by the key processing device during the encrypted communication, does not include secret information unique to each of the plurality of key processing devices, and is commonly used by each of the plurality of key processing devices. A parameter selection unit for selecting a plurality of parameters including,
A function selection unit that is used for processing related to generation or decryption of ciphertext in the encrypted communication, and that selects a function that realizes a predetermined mapping;
Using the cyclic group selected by the group selection unit, the plurality of parameters selected by the parameter selection unit, and the function selected by the function selection unit, used for the multiple recipient public key encryption technology A system parameter generation unit for generating a system parameter to be executed;
An information processing apparatus comprising:
前記群選択部が選択した前記巡回群に属する第1のパラメータを更に選択し、
前記第1のパラメータに対して所定の群演算のみを行なうことにより前記巡回群に属する第2のパラメータを生成する、請求項1に記載の情報処理装置。 The parameter selection unit
Further selecting a first parameter belonging to the cyclic group selected by the group selection unit;
The information processing apparatus according to claim 1, wherein a second parameter belonging to the cyclic group is generated by performing only a predetermined group operation on the first parameter.
前記群選択部が選択した前記巡回群に属する第1のパラメータを更に選択し、
前記第1のパラメータを所定の関数に代入することにより得られた値を、前記巡回群に属する第2のパラメータとする、請求項1に記載の情報処理装置。 The parameter selection unit
Further selecting a first parameter belonging to the cyclic group selected by the group selection unit;
The information processing apparatus according to claim 1, wherein a value obtained by substituting the first parameter into a predetermined function is set as a second parameter belonging to the cyclic group.
前記パラメータ選択部は、前記巡回群から選択された第1のパラメータと、前記変換関数とを用いて、更にパラメータを選択する、請求項5に記載の情報処理装置。 The function selection unit selects at least one conversion function that converts the input value to a value that is difficult to generate an output value even if only a predetermined group operation is performed on the input values belonging to the predetermined group. And
The information processing apparatus according to claim 5, wherein the parameter selection unit further selects a parameter using the first parameter selected from the cyclic group and the conversion function.
選択された前記群G1および群G2には、群G1から群G2への写像を実現する同型写像が存在する、請求項1に記載の情報処理装置。 The group selection unit selects two different groups G 1 and G 2 from each other,
2. The information processing apparatus according to claim 1, wherein the selected group G 1 and group G 2 have an isomorphism mapping that realizes a mapping from the group G 1 to the group G 2 .
前記セッション鍵を用いて前記暗号化通信において送信される暗号文を生成するデータカプセル化メカニズム部と、
を備え、
前記複数受信者鍵カプセル化メカニズム部は、
前記暗号化通信の際に用いられる自装置に固有の公開鍵および秘密鍵を、取得したシステムパラメータに基づいて生成する鍵生成部と、
前記セッション鍵および前記暗号文の検証処理に用いられる検証用パラメータを、前記システムパラメータに基づいて生成する暗号化部と、
前記セッション鍵に関する暗号文を取得して前記システムパラメータに基づいて復号する復号部と、
を有し、
前記システムパラメータは、前記暗号化通信の際に自装置で実行される処理に用いられ、自装置および他の情報処理装置それぞれに固有の秘密情報を含まず自装置および他の情報処理装置それぞれで共通して用いられるパラメータを含み、
前記暗号化部は、前記複数受信者に共通する前記セッション鍵または前記検証用パラメータを生成する、情報処理装置。 A multi-recipient key encapsulation mechanism that generates a session key used in encrypted communication based on a multi-recipient public key encryption technology performed with another information processing apparatus;
A data encapsulation mechanism that generates a ciphertext to be transmitted in the encrypted communication using the session key;
With
The multi-recipient key encapsulation mechanism is
A key generation unit that generates a public key and a secret key unique to the device used in the encrypted communication based on the acquired system parameters;
An encryption unit that generates a verification parameter used in the verification process of the session key and the ciphertext based on the system parameter;
A decryption unit that obtains ciphertext related to the session key and decrypts it based on the system parameters;
Have
The system parameter is used for processing executed by the own device during the encrypted communication, and does not include secret information unique to the own device and the other information processing device. Including commonly used parameters,
The information processing apparatus, wherein the encryption unit generates the session key or the verification parameter common to the plurality of recipients.
前記暗号化通信の際に前記鍵処理装置で実行される処理に用いられ、前記複数の鍵処理装置それぞれに固有の秘密情報を含まず当該複数の鍵処理装置それぞれで共通して用いられるパラメータを含む複数のパラメータを選択するステップと、
前記暗号化通信における暗号文の生成または復号に関する処理に使用され、所定の写像を実現する関数を選択するステップと、
前記群選択部により選択された巡回群と、前記パラメータ選択部により選択された複数のパラメータと、前記関数選択部により選択された関数と、を用いて、前記複数受信者公開鍵暗号技術に利用されるシステムパラメータを生成するステップと、
を含む、情報処理方法。 Generating a cyclic group used in encrypted communication based on a multi-recipient public key encryption technology performed between a plurality of key processing devices;
A parameter that is used for processing executed by the key processing device during the encrypted communication, does not include secret information unique to each of the plurality of key processing devices, and is commonly used by each of the plurality of key processing devices. Selecting a plurality of parameters to include;
A step of selecting a function used for processing related to generation or decryption of ciphertext in the encrypted communication and realizing a predetermined mapping;
Using the cyclic group selected by the group selection unit, the plurality of parameters selected by the parameter selection unit, and the function selected by the function selection unit, used for the multiple recipient public key encryption technology Generating generated system parameters;
Including an information processing method.
前記暗号化通信の際に用いられるセッション鍵および暗号文の検証処理に用いられる検証用パラメータを、前記システムパラメータに基づいて生成する暗号化ステップと、
前記セッション鍵に関する暗号文を取得して前記システムパラメータに基づいて復号する復号ステップと、
を含み、
前記システムパラメータは、前記暗号化通信の際に自装置で実行される処理に用いられ、自装置および他の情報処理装置それぞれに固有の秘密情報を含まず自装置および他の情報処理装置それぞれで共通して用いられるパラメータを含み、
前記暗号化部は、前記複数受信者に共通する前記セッション鍵または前記検証用パラメータを生成する、情報処理方法。 A key that generates a public key and a private key specific to its own device that are used for encrypted communication based on the multi-recipient public key encryption technology performed with other information processing devices based on the acquired system parameters Generation step;
An encryption step for generating a verification parameter used for verification processing of a session key and ciphertext used in the encrypted communication based on the system parameters;
A decrypting step of obtaining ciphertext relating to the session key and decrypting based on the system parameters;
Including
The system parameter is used for processing executed by the own device during the encrypted communication, and does not include secret information unique to the own device and the other information processing device. Including commonly used parameters,
The information processing method, wherein the encryption unit generates the session key or the verification parameter common to the plurality of recipients.
複数の鍵処理装置間で行われる複数受信者公開鍵暗号技術に基づく暗号化通信の際に利用される巡回群を生成する群選択機能と、
前記暗号化通信の際に前記鍵処理装置で実行される処理に用いられ、前記複数の鍵処理装置それぞれに固有の秘密情報を含まず当該複数の鍵処理装置それぞれで共通して用いられるパラメータを含む複数のパラメータを選択するパラメータ選択機能と、
前記暗号化通信における暗号文の生成または復号に関する処理に使用され、所定の写像を実現する関数を選択する関数選択機能と、
前記群選択部により選択された巡回群と、前記パラメータ選択部により選択された複数のパラメータと、前記関数選択部により選択された関数と、を用いて、前記複数受信者公開鍵暗号技術に利用されるシステムパラメータを生成するシステムパラメータ生成機能と、
を実現させるためのプログラム。 On the computer,
A group selection function for generating a cyclic group used in encrypted communication based on a multi-recipient public key encryption technology performed between a plurality of key processing devices;
A parameter that is used for processing executed by the key processing device during the encrypted communication, does not include secret information unique to each of the plurality of key processing devices, and is commonly used by each of the plurality of key processing devices. A parameter selection function for selecting a plurality of parameters including,
A function selection function that is used for processing related to generation or decryption of ciphertext in the encrypted communication and selects a function that realizes a predetermined mapping;
Using the cyclic group selected by the group selection unit, the plurality of parameters selected by the parameter selection unit, and the function selected by the function selection unit, used for the multiple recipient public key encryption technology A system parameter generation function for generating a system parameter to be processed;
A program to realize
前記暗号化通信の際に自装置で実行される処理に用いられ、自装置および他の情報処理装置それぞれに固有の秘密情報を含まず自装置および他の情報処理装置それぞれで共通して用いられるパラメータを含むシステムパラメータに基づいて、前記暗号化通信の際に用いられる自装置に固有の公開鍵および秘密鍵を生成する機能と、
前記暗号化通信の際に用いられるセッション鍵および暗号文の検証処理に用いられる検証用パラメータを、前記システムパラメータに基づいて生成する機能と、
前記セッション鍵に関する暗号文を取得して前記システムパラメータに基づいて復号する機能と、
を実現させるためのプログラム。
To a computer capable of performing encrypted communication based on a multi-recipient public key encryption technology with another information processing apparatus,
Used for processing executed by the own device during the encrypted communication, and does not include secret information unique to the own device and other information processing devices, and is used in common by the own device and other information processing devices. A function for generating a public key and a secret key specific to the device used in the encrypted communication based on system parameters including parameters;
A function for generating a verification parameter used for verification processing of a session key and ciphertext used in the encrypted communication based on the system parameters;
A function of acquiring ciphertext relating to the session key and decrypting it based on the system parameters;
A program to realize
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008316289A JP2010141618A (en) | 2008-12-11 | 2008-12-11 | Information processing apparatus, information processing method, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008316289A JP2010141618A (en) | 2008-12-11 | 2008-12-11 | Information processing apparatus, information processing method, and program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2010141618A true JP2010141618A (en) | 2010-06-24 |
Family
ID=42351347
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008316289A Withdrawn JP2010141618A (en) | 2008-12-11 | 2008-12-11 | Information processing apparatus, information processing method, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2010141618A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12177346B2 (en) | 2020-06-17 | 2024-12-24 | Mitsubishi Electric Corporation | Re-encryption device, cryptographic system, re-encryption method, and computer readable medium |
| US12380225B2 (en) | 2021-08-04 | 2025-08-05 | Samsung Electronics Co., Ltd. | Storage device, host device and data transfer method thereof |
-
2008
- 2008-12-11 JP JP2008316289A patent/JP2010141618A/en not_active Withdrawn
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12177346B2 (en) | 2020-06-17 | 2024-12-24 | Mitsubishi Electric Corporation | Re-encryption device, cryptographic system, re-encryption method, and computer readable medium |
| US12380225B2 (en) | 2021-08-04 | 2025-08-05 | Samsung Electronics Co., Ltd. | Storage device, host device and data transfer method thereof |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5144991B2 (en) | Ciphertext decryption authority delegation system | |
| JP4859933B2 (en) | Ciphertext generation apparatus, cryptographic communication system, and group parameter generation apparatus | |
| JP4546231B2 (en) | ID-based signature and encryption system and method | |
| Liu et al. | Verifiable attribute-based keyword search over encrypted cloud data supporting data deduplication | |
| Chen et al. | Public-key quantum digital signature scheme with one-time pad private-key | |
| US7634085B1 (en) | Identity-based-encryption system with partial attribute matching | |
| JP2011130120A (en) | Quantum public key encryption system, key generation device, encryption device, decryption device, key generation method, encryption method, and decryption method | |
| CN111342976A (en) | A verifiable ideal lattice threshold proxy re-encryption method and system | |
| JPWO2009125537A1 (en) | Signature and verification method, signature generation apparatus, and signature verification apparatus | |
| Do et al. | Traceable inner product functional encryption | |
| JP2012150378A (en) | Proxy re-encryption system, key generation device, re-encryption device, proxy re-encryption method, and program | |
| JP5135070B2 (en) | Ciphertext decryption authority delegation system | |
| CN108989037A (en) | A kind of more authorization attribute base encryption methods, system, equipment and computer media | |
| JP5325755B2 (en) | Ciphertext decryption authority delegation system, ciphertext decryption authority delegation method, ciphertext conversion apparatus, decryption authority holder apparatus, and ciphertext conversion program | |
| WO2010013699A1 (en) | Signature system | |
| CN111865555B (en) | A Homomorphic Encryption Method Based on k-Lin Assumption | |
| JPWO2006085430A1 (en) | Member certificate acquisition device, member certificate issuing device, group signature device, group signature verification device | |
| Kirtane et al. | RSA-TBOS signcryption with proxy re-encryption | |
| JP2013213965A (en) | Encryption device, re-encryption key obfuscation device, re-encryption device, decryption device, and re-encryption system | |
| CN115361109A (en) | A Homomorphic Encryption Method Supporting Two-way Proxy Re-encryption | |
| JP2010141618A (en) | Information processing apparatus, information processing method, and program | |
| JP5392264B2 (en) | Name encryption device, pseudonymization device, name encryption method, and pseudonymization method | |
| Callas | Identity-based encryption with conventional public-key infrastructure | |
| Wang et al. | More efficient CCA‐secure unidirectional proxy re‐encryption schemes without random oracles | |
| CN112733176B (en) | Encryption method of identity password based on global hash |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120306 |
