JP2021125810A - Encoding device, decoding device, encoding method, and encoding program - Google Patents

Encoding device, decoding device, encoding method, and encoding program Download PDF

Info

Publication number
JP2021125810A
JP2021125810A JP2020018530A JP2020018530A JP2021125810A JP 2021125810 A JP2021125810 A JP 2021125810A JP 2020018530 A JP2020018530 A JP 2020018530A JP 2020018530 A JP2020018530 A JP 2020018530A JP 2021125810 A JP2021125810 A JP 2021125810A
Authority
JP
Japan
Prior art keywords
wid
encryption
bit
algorithm
range
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020018530A
Other languages
Japanese (ja)
Other versions
JP7295818B2 (en
Inventor
理人 石坂
Masahito Ishizaka
理人 石坂
晋作 清本
Shinsaku Kiyomoto
晋作 清本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2020018530A priority Critical patent/JP7295818B2/en
Publication of JP2021125810A publication Critical patent/JP2021125810A/en
Application granted granted Critical
Publication of JP7295818B2 publication Critical patent/JP7295818B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

To provide an encoding device capable of reducing the length of a cypher text when structuring a TSE by using a WIBE, a decoding device, an encoding method, and an encryption program.SOLUTION: An encoding device 1 comprises: a binarization part 11 assigning a bit stream of a d-bit to 2d numeric values; a wID collection determination part 14 that determines a collection of wild card IDs covering all of the bit streams assigned to each of the numeric values corresponding to a period in a time designation cypher in a range [L, R]; and an encoding part 17 that encodes a plain text by a wild card ID base encoding method on the basis of each of the determined wild card IDs, and outputs all of results obtained by encoding as a cypher text related to the range [L, R]. The binarization part 11 assigns 0 or 1 so that any one bit in the bit strain contained in a block on both sides is only reversed by using a division point as an axis and the other bits become symmetry when the arrangement of the numeric values is recursively divided into two parts.SELECTED DRAWING: Figure 4

Description

本発明は、時間指定暗号(Time−Specific Encryption, TSE)を構成する装置、方法及びプログラムに関する。 The present invention relates to an apparatus, method and program for constructing a time-designated encryption (TSE).

従来、指定された範囲に含まれる周期(あるいは数値)に対応する秘密鍵によってのみ復号が可能なTSEの構成法が提案されている。
例えば、非特許文献1では、IDベース暗号(Identity−Based Encryption, IBE)(例えば、非特許文献2参照)を用いたTSEの構成法が提案されている。
Conventionally, a method for constructing a TSE that can be decrypted only by a private key corresponding to a period (or a numerical value) included in a specified range has been proposed.
For example, Non-Patent Document 1 proposes a method for constructing TSE using ID-based encryption (IBE) (see, for example, Non-Patent Document 2).

ところが、IBEを用いたTSEの構成法では、秘密鍵長が周期総数に応じて増加し、固定長にはなり得ない。そこで、IBEに代えて、ワイルドカードIDベース暗号(Wildcarded Identity−Based Encryption, WIBE)(例えば、非特許文献3〜5参照)を用いたTSEの構成法が考えられる。すなわち、秘密鍵長が固定長であるようなWIBE方式を採用することで、TSEの秘密鍵が固定長となる。 However, in the TSE construction method using IBE, the secret key length increases according to the total number of cycles and cannot be a fixed length. Therefore, instead of IBE, a method of constructing TSE using wildcard ID-based encryption (Wibe) (see, for example, Non-Patent Documents 3 to 5) can be considered. That is, by adopting the WIBE method in which the secret key length is a fixed length, the TSE secret key has a fixed length.

K. G. Paterson and E. A. Quaglia. Time-specific encryption. In SCN 2010, volume 6280 of LNCS, pages 1-16. Springer, 2010.K. G. Paterson and E. A. Quaglia. Time-specific encryption. In SCN 2010, volume 6280 of LNCS, pages 1-16. Springer, 2010. A. Shamir. Identity-based cryptosystems and signature schemes. In CRYPTO 1984, volume 196 of LNCS, pages 47-53. Springer, 1984.A. Shamir. Identity-based cryptosystems and signature schemes. In CRYPTO 1984, volume 196 of LNCS, pages 47-53. Springer, 1984. M. Abdalla, J. Birkett, D. Catalano, A.W Dent, J. Malone-Lee, G. Neven, J.C.N. Schuldt, and N.P. Smart. Wildcarded identity-based encryption. Journal of Cryptology, 24(1):42-82, 2011.M. Abdalla, J. Birkett, D. Catalano, AW Dent, J. Malone-Lee, G. Neven, JCN Schuldt, and NP Smart. Wildcarded identity-based encryption. Journal of Cryptology, 24 (1): 42-82 , 2011. M. Abdalla, D. Catalano, A.W. Dent, J. Malone-Lee, G. Neven, and N.P. Smart. Identity-based encryption gone wild. In ICALP 2006, volume 4052 of LNCS, pages 300-311. Springer, 2006.M. Abdalla, D. Catalano, A.W. Dent, J. Malone-Lee, G. Neven, and N.P. Smart. Identity-based encryption gone wild. In ICALP 2006, volume 4052 of LNCS, pages 300-311. Springer, 2006. J. Birkett, A.W Dent, G. Neven, and J.C.N. Schuldt. Efficient chosen-ciphertext secure identity-based encryption with wildcards. In ACISP 2007, volume 4586 of LNCS, pages 274-292. Springer, 2007.J. Birkett, A.W Dent, G. Neven, and J.C.N. Schuldt. Efficient chosen-ciphertext secure identity-based encryption with wildcards. In ACISP 2007, volume 4586 of LNCS, pages 274-292. Springer, 2007.

しかしながら、WIBEを用いた自明なTSEの構成法では、暗号文長が長くなるため、実用上の利便性が低いという課題があった。 However, the trivial TSE construction method using WIBE has a problem that it is not practically convenient because the ciphertext length is long.

本発明は、WIBEを用いてTSEを構成する際に、暗号文長を短縮できる暗号化装置、復号装置、暗号化方法及び暗号化プログラムを提供することを目的とする。 An object of the present invention is to provide an encryption device, a decryption device, an encryption method, and an encryption program capable of shortening the ciphertext length when constructing a TSE using WIBE.

本発明に係る暗号化装置は、2個の数値に対して、それぞれdビットのビット列を割り当てる二値化部と、範囲[L,R]の時間指定暗号における周期に対応する前記数値のそれぞれに割り当てられた前記ビット列の全てをカバーするワイルドカードIDの集合を決定するwID集合決定部と、決定された前記ワイルドカードIDのそれぞれに基づいて、ワイルドカードIDベース暗号方式により平文を暗号化し、当該暗号化の結果の全てを、範囲[L,R]に関する暗号文として出力する暗号化部と、を備え、前記二値化部は、前記数値の並びを再帰的に2分割した際に、分割点を軸に両側のブロックに含まれる前記ビット列のいずれか1ビットのみは反転し、他のビットは対称となるように0又は1を割り当てる。 The encryption device according to the present invention has a binarization unit that assigns a d-bit bit string to each of 2 d numerical values, and the numerical values corresponding to the period in the time-designated cipher of the range [L, R]. The plaintext is encrypted by the wildcard ID-based encryption method based on each of the wID set determination unit that determines the set of wildcard IDs that cover all of the bit strings assigned to the and the determined wildcard IDs. It is provided with an encryption unit that outputs all the results of the encryption as a ciphertext relating to the range [L, R], and the binarization unit recursively divides the sequence of numerical values into two. Only one bit of the bit string included in the blocks on both sides with the division point as the axis is inverted, and 0 or 1 is assigned so that the other bits are symmetrical.

前記二値化部は、前記数値の並びにおいて、隣り合う数値間で1ビットのみが異なる前記ビット列を割り当ててもよい。 The binarization unit may assign the bit string in which only one bit differs between adjacent numerical values in the arrangement of the numerical values.

前記暗号化部は、前記周期に対して前記数値を所定の数だけ巡回シフトさせて対応付けてもよい。 The encryption unit may associate the numerical value with respect to the period by cyclically shifting the numerical value by a predetermined number.

前記暗号化装置は、前記数値の並びを再帰的に2分割していく際に得られるブロックのうち、前記範囲[L,R]に含まれる最も大きなブロックの始点において、前記範囲[L,R]を分割する分割部を備え、前記wID集合決定部は、前記分割部により分割された部分範囲毎に前記ワイルドカードIDの集合を決定してもよい。 The encryption device recursively divides the sequence of numerical values into two blocks, and at the start point of the largest block included in the range [L, R], the range [L, R] ] Is provided, and the wID set determination unit may determine the set of wildcard IDs for each partial range divided by the division unit.

前記wID集合決定部は、前記部分範囲毎に決定された集合の全体をカバーする前記ワイルドカードIDの集合を決定してもよい。 The wID set determination unit may determine a set of wildcard IDs that covers the entire set determined for each subrange.

本発明に係る復号装置は、前記暗号化装置により暗号化された暗号文を、前記ワイルドカードIDベース暗号方式により復号する。 The decryption device according to the present invention decrypts the ciphertext encrypted by the encryption device by the wildcard ID-based encryption method.

本発明に係る暗号化方法は、2個の数値に対して、それぞれdビットのビット列を割り当てる二値化ステップと、範囲[L,R]の時間指定暗号における周期に対応する前記数値のそれぞれに割り当てられた前記ビット列の全てをカバーするワイルドカードIDの集合を決定するwID集合決定ステップと、決定された前記ワイルドカードIDのそれぞれに基づいて、ワイルドカードIDベース暗号方式により平文を暗号化し、当該暗号化の結果の全てを、範囲[L,R]に関する暗号文として出力する暗号化ステップと、をコンピュータが実行し、前記二値化ステップにおいて、前記数値の並びを再帰的に2分割した際に、分割点を軸に両側のブロックに含まれる前記ビット列のいずれか1ビットのみは反転し、他のビットは対称となるように0又は1を割り当てる。 The encryption method according to the present invention is a binarization step in which a d-bit bit string is assigned to each of 2 d numerical values, and the numerical values corresponding to the cycles in the time-designated cipher of the range [L, R]. The plaintext is encrypted by the wildcard ID-based encryption method based on each of the wID set determination step for determining the set of wildcard IDs covering all of the bit strings assigned to the and the determined wildcard IDs. The computer executes an encryption step of outputting all the results of the encryption as a ciphertext relating to the range [L, R], and in the binarization step, the sequence of the numerical values is recursively divided into two. At that time, only one bit of the bit string included in the blocks on both sides is inverted around the division point, and 0 or 1 is assigned so that the other bits are symmetrical.

本発明に係る暗号化プログラムは、前記暗号化装置としてコンピュータを機能させるためのものである。 The encryption program according to the present invention is for operating a computer as the encryption device.

本発明によれば、WIBEを用いてTSEを構成する際に、暗号文長を短縮できる。 According to the present invention, when constructing a TSE using WIBE, the ciphertext length can be shortened.

wID条件合致判定アルゴリズムの定義を示す図である。It is a figure which shows the definition of the wID condition match determination algorithm. IBEを用いたTSEの構成法に関する、葉ノードの総数がTである完全二分木を例示する図である。It is a figure which illustrates the complete binary tree which the total number of leaf nodes is T about the construction method of TSE using IBE. WIBEを用いた自明なTSEの構成法に関する、葉ノードの総数がTである完全二分木を例示する図である。It is a figure exemplifying a complete binary tree in which the total number of leaf nodes is T, regarding the method of constructing a trivial TSE using WIBE. 暗号化装置の機能構成を示す図である。It is a figure which shows the functional structure of the encryption apparatus. 二値化アルゴリズムの定義を示す図である。It is a figure which shows the definition of a binarization algorithm. 二値化アルゴリズムの実行例を示す図である。It is a figure which shows the execution example of the binarization algorithm. クラス分類アルゴリズムの定義を示す図である。It is a figure which shows the definition of the classification algorithm. クラス分類アルゴリズムの実行例を示す図である。It is a figure which shows the execution example of the classification algorithm. 分割アルゴリズムの定義を示す図である。It is a figure which shows the definition of a division algorithm. 分割アルゴリズムの実行例を示す図である。It is a figure which shows the execution example of a division algorithm. 後半wID集合確定アルゴリズムの定義を示す図である。It is a figure which shows the definition of the latter half wID set determination algorithm. 前半wID集合確定アルゴリズムの定義を示す図である。It is a figure which shows the definition of the first half wID set determination algorithm. 前後半wID集合合併アルゴリズムの定義を示す図である。It is a figure which shows the definition of the wID union union algorithm of the first half and the second half. 後半wID集合確定アルゴリズム、前半wID集合確定アルゴリズム、及び前後半wID集合合併アルゴリズムのそれぞれの実行後の状態を例示する図である。It is a figure which illustrates the state after execution of each of the latter half wID set determination algorithm, the first half wID set determination algorithm, and the first half wID set merge algorithm. セットアップアルゴリズムの定義を示す図である。It is a figure which shows the definition of a setup algorithm. 鍵生成アルゴリズムの定義を示す図である。It is a figure which shows the definition of a key generation algorithm. 暗号化アルゴリズムの定義を示す図である。It is a figure which shows the definition of the encryption algorithm. 復号アルゴリズムの定義を示す図である。It is a figure which shows the definition of a decoding algorithm. 関数f、関数hを導入した二値化アルゴリズムの定義を示す図である。It is a figure which shows the definition of the binarization algorithm which introduced the function f and the function h. 二値化アルゴリズムを変形した第1の実行例を示す図である。It is a figure which shows the 1st execution example which modified the binarization algorithm. 二値化アルゴリズムを変形した第2の実行例を示す図である。It is a figure which shows the 2nd execution example which modified the binarization algorithm. 二値化アルゴリズムを変形した第3の実行例を示す図である。It is a figure which shows the 3rd execution example which modified the binarization algorithm. 二値化アルゴリズムを変形した第4の実行例を示す図である。It is a figure which shows the 4th execution example which modified the binarization algorithm. 関数fを導入した後半wID集合確定アルゴリズムの定義を示す図である。It is a figure which shows the definition of the latter half wID set determination algorithm which introduced the function f. 関数fを導入した前半wID集合確定アルゴリズムの定義を示す図である。It is a figure which shows the definition of the first half wID set determination algorithm which introduced the function f. 関数fを導入した前後半wID集合合併アルゴリズムの定義を示す図である。It is a figure which shows the definition of the first-half wID union union algorithm which introduced the function f. 整数δを導入した鍵生成アルゴリズムの定義を示す図である。It is a figure which shows the definition of the key generation algorithm which introduced the integer δ. 整数δを導入した暗号化アルゴリズムの定義を示す図である。It is a figure which shows the definition of the encryption algorithm which introduced the integer δ. 整数δを導入した復号アルゴリズムの定義を示す図である。It is a figure which shows the definition of the decoding algorithm which introduced the integer δ.

以下、本発明の実施形態の一例について説明する。
本実施形態は、時間指定暗号(TSE)の構成法に関し、まず、TSEを説明した後、IDベース暗号(IBE)及びワイルドカードIDベース暗号(WIBE)を、さらに、これらを用いた従来の自明なTSEの構成法について説明する。
Hereinafter, an example of the embodiment of the present invention will be described.
In this embodiment, regarding the method of constructing time-designated cryptography (TSE), first, TSE is explained, and then ID-based cryptography (IBE) and wildcard ID-based cryptography (WIBE) are used, and the conventional self-evident using these is used. A method of constructing a TSE will be described.

[時間指定暗号(TSE)]
TSEは、以下の4つの多項式時間アルゴリズム{Setup,KGen,Enc,Dec}により構成される。なお、Decは確定的アルゴリズムであり、それ以外は確率的アルゴリズムである。
[Timed encryption (TSE)]
The TSE is composed of the following four polynomial time algorithms {Setup, KGen, Enc, Dec}. Note that Dec is a deterministic algorithm, and other than that, it is a probabilistic algorithm.

λ∈N(自然数)として、1λは、秘密鍵長等を決定するセキュリティパラメータである。T∈Nは、周期総数を表す。
セットアップアルゴリズムSetupは、(1λ,1)を入力として受け取り、システム公開鍵mpkとマスタ秘密鍵mskを出力する。これを、(mpk,msk)←Setup(1λ,1)と表記する。
このSetupアルゴリズムは、信頼できる第三者機関(Trusted Authority, TA)により実行される。マスタ秘密鍵mskは、TAにより秘密裏に保持される。また、システム公開鍵mpkは、3つのアルゴリズム{KGen,Enc,Dec}に対して入力される。
As λ ∈ N (natural number), 1 λ is a security parameter that determines the secret key length and the like. T ∈ N represents the total number of cycles.
The setup algorithm Setup receives (1 λ , 1 T ) as input and outputs the system public key mpk and the master private key msk. This is expressed as (mpk, msk) ← Setup (1 λ , 1 T ).
This Setup algorithm is executed by a trusted third party (Trusted Authority, TA). The master private key msk is kept secret by TA. Further, the system public key mpk is input to three algorithms {KGen, Enc, Dec}.

鍵生成アルゴリズムKGenは、マスタ秘密鍵mskと周期(あるいは数値)t∈[0,T−1]とを入力として受け取り、秘密鍵skを出力する。これを、sk←KGen(msk,t)と表記する。
この鍵生成アルゴリズムKGenは、mskを用いてTAにより実行される。生成された秘密鍵skは、所定の安全な手段により鍵の所有者に譲渡されるものとする。
The key generation algorithm KGen receives the master secret key msk and the period (or numerical value) t ∈ [0, T-1] as inputs, and outputs the secret key sk t. This is expressed as sk t ← KGen (msk, t).
This key generation algorithm KGen is executed by TA using msk. The generated private key sk t shall be assigned to the key owner by certain secure means.

暗号化アルゴリズムEncは、平文m∈M(平文空間)と、範囲[L,R] ⊆[0,T−1]を入力として受け取り、暗号文C[L,R]を出力する。これを、C[L,R]←Enc(m,[L,R])と表記する。 The encryption algorithm Enc receives the plaintext m ∈ M (plaintext space) and the range [L, R] ⊆ [0, T-1] as inputs, and outputs the ciphertext C [L, R]. This is expressed as C [L, R] ← Enc (m, [L, R]).

復号アルゴリズムDecは、秘密鍵skと暗号文C[L,R]とを入力として受け取り、平文m∈Mあるいは復号不可を意味する特殊な記号⊥を出力する。これを、m/⊥←Dec(sk,C[L,R])と表記する。 The decryption algorithm Dec receives the private key sk t and the ciphertext C [L, R] as inputs, and outputs the plaintext m ∈ M or the special symbol ⊥ meaning that decryption is not possible. This is expressed as m / ⊥ ← Dec (sk t , C [L, R]).

ここで、いかなるTSE方式も正当(correct)でなければならないとする。TSE方式ΣTSE={Setup,KGen,Enc,Dec}が正当であるとは、ある平文mがある範囲[L,R]の下で正しく暗号化された場合に、この暗号文は、当該範囲に含まれる周期t∈[L,R]に対応する鍵として正しく作られた秘密鍵を用いることで、正しく復号できる場合をいう。正当であることの厳密な定義は次の通りである。
∀λ,T∈N,∀(mpk,msk)←Setup(1λ,1),∀t∈[0,T−1],∀sk←KGen(msk,t),∀m∈M,∀[L,R]⊆[0,T−1] s.t. t∈[L,R],∀C[L,R]←Enc(m,[L,R]),m←Dec(sk,C[L,R]).
Here, it is assumed that any TSE method must be correct. TSE method Σ TSE = {Setup, KGen, Enc, Dec} is valid when a certain plaintext m is correctly encrypted under a certain range [L, R]. This refers to the case where the correct decryption can be performed by using the correctly created private key as the key corresponding to the period t ∈ [L, R] included in. The strict definition of legitimacy is as follows.
∀λ, T ∈ N, ∀ (mpk, msk) ← Setup (1 λ , 1 T ), ∀t ∈ [0, T-1], ∀sk t ← KGen (msk, t), ∀m ∈ M, ∀ [L, R] ⊆ [0, T-1] s. t. t ∈ [L, R], ∀C [L, R] ← Enc (m, [L, R]), m ← Dec (sk t , C [L, R] ).

また、TSE方式が満たすべき次のような安全性を想定する。
・いかなる多項式時間攻撃者も、ある平文mの範囲[L,R]の下での暗号文C[L,R]から、平文mに関するいかなる情報(1ビットの情報さえ)も得られない。
なお、攻撃者は、[L,R]に含まれない任意の周期に対応する秘密鍵を自由に入手可能であるとする。
In addition, the following safety that the TSE method should satisfy is assumed.
-No polynomial time attacker can obtain any information (even 1-bit information) about the plaintext m from the ciphertext C [L, R] under a certain plaintext m range [L, R].
It is assumed that the attacker can freely obtain the private key corresponding to any cycle not included in [L, R].

[IDベース暗号(IBE)]
IBEは、以下の4つの多項式時間アルゴリズム{Setup,KGen,Enc,Dec}により構成される。
なお、N∈N(自然数)は、ID総数を表し、ID空間を、{0,1}logNと表記する。また、本実施形態において、対数logの基底は2とする。
[ID-based cryptography (IBE)]
The IBE is composed of the following four polynomial time algorithms {Setup, KGen, Enc, Dec}.
Incidentally, N∈N (natural number) represents the ID total, the ID space, denoted as {0, 1} logN. Further, in the present embodiment, the base of the logarithmic log is 2.

セットアップアルゴリズムSetupは、(1λ,1)を入力として受け取り、mpkとmskとを出力する。これを、(mpk,msk)←Setup(1λ,1)と表記する。 The setup algorithm Setup receives (1 λ , 1 N ) as input and outputs mpk and msk. This is expressed as (mpk, msk) ← Setup (1 λ , 1 N ).

鍵生成アルゴリズムKGenは、mskとID∈{0,1}log Nを入力として受け取り、秘密鍵skIDを出力する。これを、skID←KGen(msk,ID)と表記する。 The key generation algorithm KGen receives msk and ID ∈ {0,1} log N as inputs and outputs the private key sk ID. This is expressed as sk ID ← KGen (msk, ID).

暗号化アルゴリズムEncは、平文m∈Mと、ID∈{0,1}logNとを入力として受け取り、暗号文CIDを出力する。これを、CID←Enc(m,ID)と表記する。 Encryption algorithm Enc receives a plaintext M∈M, and ID∈ {0,1} logN as input, and outputs the ciphertext C ID. This is expressed as C ID ← Enc (m, ID).

復号アルゴリズムDecは、秘密鍵skと暗号文CIDとを入力として受け取り、平文m∈Mあるいは復号不可を意味する特殊な記号⊥を出力する。これを、m/⊥←Dec(sk,CID)と表記する。 Decryption algorithm Dec receives as input a secret key sk t ciphertext C ID, and outputs the special symbols ⊥ meaning plaintext m∈M or decoding impossible. This is expressed as m / ⊥ ← Dec (sk t , C ID).

ここで、いかなるIBE方式も正当(correct)でなければならないとする。IBE方式ΣIBE={Setup,KGen,Enc,Dec}が正当であるとは、ある平文mがあるIDの下で正しく暗号化された場合に、この暗号文は、当該IDに対応する鍵として正しく作られた秘密鍵により、正しく復号される場合をいう。正当であることの厳密な定義は次の通りである。
∀λ,N∈N(自然数),∀(mpk,msk)←Setup(1λ,1),∀ID∈{0,1}logN,∀skID←KGen(msk,ID),∀m∈M,∀CID←Enc(m,ID),m←Dec(skID,CID).
Here, it is assumed that any IBE method must be correct. IBE method Σ IBE = {Setup, KGen, Enc, Dec} is valid when a certain plaintext m is correctly encrypted under a certain ID, and this ciphertext is used as the key corresponding to the ID. The case where it is correctly decrypted by a properly created private key. The strict definition of legitimacy is as follows.
∀λ, N∈N (natural number), ∀ (mpk, msk) ← Setup (1 λ, 1 N), ∀ID∈ {0,1} logN, ∀sk ID ← KGen (msk, ID), ∀m∈ M, ∀C ID ← Enc (m, ID), m ← Dec (sk ID , C ID ).

[ワイルドカードIDベース暗号(WIBE)]
WIBEは、以下の4つの多項式時間アルゴリズム{Setup,KGen,Enc,Dec}により構成される。
なお、N∈N(自然数)は、ID総数を表し、ID空間を、{0,1}logNと表記する。また、ワイルドカードID(wID)空間を、{0,1,*}logNと表記する。
[Wildcard ID-based cryptography (WIBE)]
WIBE is composed of the following four polynomial time algorithms {Setup, KGen, Enc, Dec}.
Incidentally, N∈N (natural number) represents the ID total, the ID space, denoted as {0, 1} logN. Furthermore, wildcards ID (wID) space, denoted as {0,1, *} logN.

セットアップアルゴリズムSetupは、(1λ,1)を入力として受け取り、mpkとmskとを出力する。これを、(mpk,msk)←Setup(1λ,1)と表記する。 The setup algorithm Setup receives (1 λ , 1 N ) as input and outputs mpk and msk. This is expressed as (mpk, msk) ← Setup (1 λ , 1 N ).

鍵生成アルゴリズムKGenは、mskとID∈{0,1}log Nとを入力として受け取り、秘密鍵skIDを出力する。これを、skID←KGen(msk,ID)と表記する。 The key generation algorithm KGen receives msk and ID ∈ {0,1} log N as inputs and outputs the private key sk ID. This is expressed as sk ID ← KGen (msk, ID).

暗号化アルゴリズムEncは、平文m∈Mと、wID∈{0,1,*}logNとを入力として受け取り、暗号文CwIDを出力する。これを、CwID←Enc(m,wID)と表記する。 Encryption algorithm Enc receives a plaintext m∈M, wID∈ {0,1, *} and logN as input, and outputs the ciphertext C wID. This is expressed as C wID ← Enc (m, wID).

復号アルゴリズムDecは、秘密鍵skIDと暗号文CwIDとを入力として受け取り、平文m∈Mあるいは復号不可を意味する特殊な記号⊥を出力する。これを、m/⊥←Dec(skID,CwID)と表記する。 The decryption algorithm Dec receives the private key sk ID and the ciphertext C wID as inputs, and outputs the plaintext m ∈ M or the special symbol ⊥ meaning that decryption is not possible. This is expressed as m / ⊥ ← Dec (sk ID , C wID).

ここで、WIBE方式に関しては、wID条件合致判定アルゴリズムMatchを次のように定義する。 Here, regarding the WIBE method, the wID condition match determination algorithm Match is defined as follows.

図1は、wID条件合致判定アルゴリズムMatchlogNの定義を示す図である。
MatchlogNは、ID∈{0,1}logN及びwID∈{0,1,*}logNを入力として受け取り、IDがwIDの条件に合致する場合にtrueを、合致しない場合にfalseを出力する。これを、true/false←MatchlogN(ID,wID)と表記する。
Figure 1 is a diagram showing the definition of wID condition matching determination algorithm Match logN.
Match logN receives as input ID∈ {0,1} logN and wID∈ {0,1, *} logN, true if the ID matches the condition of wID, and outputs a false if not met. This will be referred to true / false ← Match logN (ID , wID) and.

いかなるWIBE方式も正当(correct)でなければならないとする。WIBE方式ΣWIBE={Setup,KGen,Enc,Dec}が正当であるとは、ある平文mがあるwIDの下で正しく暗号化された場合に、この暗号文は、wIDの条件を満足するIDに対応する鍵として正しく作られた秘密鍵により、正しく復号される場合をいう。正当であることの厳密な定義は次の通りである。
∀λ,N∈N(自然数),∀(mpk,msk)←Setup(1λ,1),∀ID∈{0,1}logN,∀skID←KGen(msk,ID),∀m∈M,∀wID∈{0,1,*}logN s.t. true←MatchlogN(ID,wID),∀CwID←Enc(m,wID),m←Dec(skID,CwID).
It is assumed that any WIBE method must be correct. WIBE method Σ WIBE = {Setup, KGen, Enc, Dec} is valid when a certain plaintext m is correctly encrypted under a certain wID, and this ciphertext is an ID that satisfies the condition of wID. This refers to the case where the private key correctly created as the key corresponding to is decrypted correctly. The strict definition of legitimacy is as follows.
∀λ, N∈N (natural number), ∀ (mpk, msk) ← Setup (1 λ, 1 N), ∀ID∈ {0,1} logN, ∀sk ID ← KGen (msk, ID), ∀m∈ M, ∀wID∈ {0,1, *} logN s. t. true ← Match logN (ID, wID ), ∀C wID ← Enc (m, wID), m ← Dec (sk ID, C wID).

[IBEを用いたTSEの構成法]
非特許文献1で提案された、IBEをブラックボックス的に用いたTSEの構成法は以下の通りである。
まず、周期の総数をT∈Nとする。
[Construction method of TSE using IBE]
The method for constructing TSE using IBE as a black box proposed in Non-Patent Document 1 is as follows.
First, let T ∈ N be the total number of cycles.

図2は、IBEを用いたTSEの構成法に関する、葉ノードの総数がTである完全二分木を例示する図である。
ここでは、T=8の場合を例示している。
各葉ノードは、各周期に対応するものとする。具体的には、葉ノードb∈{0,1}logTは、周期Σi=0 logT−1[i]∈[0,T−1]に対応する。
なお、本実施形態では、ビット列b∈{0,1}について、b[i]は、bの第i∈[0,N−1]ビットを表す。
FIG. 2 is a diagram illustrating a complete binary tree in which the total number of leaf nodes is T, regarding the method of constructing TSE using IBE.
Here, the case of T = 8 is illustrated.
Each leaf node shall correspond to each cycle. Specifically, leaf node b t{0,1} logT corresponds to the period Σ i = 0 logT-1 2 i b t [i] ∈ [0, T-1].
In the present embodiment, for the bit string b ∈ {0,1} N , b [i] represents the i ∈ [0, N-1] bit of b.

以下、i∈[0,logT−1]について、bt,i:=b[logT−1]‖…‖b[logT−1−i]とする。また、bt,−1:=φとする。
また、ノードb∈{0,1}≦logTについて、bを入力として受け取り、bの子孫に該当する葉ノードの集合を出力する確定的関数をAnclogTとする。例えば、Anc(0)={000,001,010,011}、Anc(11)={110,111}である。
また、確定的関数CoverlogTは、0≦L≦R≦T−1を満たす範囲[L,R]を入力として受け取り、次の条件を満たすノード集合CoverlogT([L,R])={b∈{0,1}≦logT}を出力する。
{∪b∈Cover_logT([L,R])Anc(b)}=[L,R]、かつ、集合内の要素数|CoverlogT([L,R])|が最小である。
例えば、Cover([1,3])={001,01}、Cover([1,6])={001,01,10,110}である。
Hereinafter, the i∈ [0, logT-1] , b t, i: = b t [logT-1] || ... and ‖b t [logT-1-i ]. Further, bt, -1 : = φ.
For node b ∈ {0,1} ≤ logT , let Anc logT be a deterministic function that receives b as input and outputs a set of leaf nodes corresponding to the descendants of b. For example, Anc 3 (0) = {000,001,010,011}, Anc 3 (11) = {110,111}.
Further, the deterministic function Cover logT receives a range [L, R] satisfying 0 ≦ L ≦ R ≦ T-1 as an input, and a node set Cover logT ([L, R]) = {b that satisfies the following conditions. Output ∈ {0,1} ≤ logT }.
{∪ b ∈ Cover_logT ([L, R]) Anc (b)} = [L, R], and the number of elements in the set | Cover logT ([L, R]) | is the minimum.
For example, Cover 3 ([1,3]) = {001,01}, Cover 3 ([1,6]) = {001,01,10,110}.

周期t∈[0,T−1]の秘密鍵は、sk:={skt,i:=IBE.KGen(msk,bt,i)|i∈[−1,logT−1]}により生成される。また、範囲[L,R]上の平文mの暗号文は、Cm,[L,R]:={Cm,b:=IBE.Enc(m,b)|b∈CoverlogT([L,R])}により生成される。 The secret key of the period t ∈ [0, T-1] is sk t : = {sk t, i : = IBE. It is generated by KGen (msk, bt , i ) | i ∈ [-1, logT-1]}. The ciphertext of the plaintext m on the range [L, R] is C m, [L, R] : = {C m, b : = IBE. It is generated by Enc (m, b) | b ∈ Cover logT ([L, R])}.

暗号文Cm,[L,R]の秘密鍵skによる復号手順は以下の通りである。
まず、t∈[L,R]ならば、あるi∈[−1,logT−1]が存在し、bt,i∈CoverlogT([L,R])が成立する。秘密鍵sk及び暗号文Cm,[L,R]内のbt,iに対応する部分秘密鍵及び部分暗号文を、skt,i及びCm,bt,i)と表記する。これらを用いて、m/⊥←IBE.Dec(sk,Cm,bt,i)を復号結果とする。
The procedure for decrypting the ciphertexts C m and [L, R] using the private key sk t is as follows.
First, if t ∈ [L, R], then a certain i ∈ [-1, logT-1] exists, and bt , i ∈ Cover logT ([L, R]) holds. Secret key sk t and ciphertext C m, denoted [L, R] b t in the partial private key and partial ciphertext corresponding to i, sk t, i, and C m, bt, i) and. Using these, m / ⊥ ← IBE. Dec (sk t , C m, bt, i ) is used as the decoding result.

[WIBEを用いたTSEの自明な構成法]
前述のIBEを用いたTSEの構成法では、各周期tの秘密鍵skは、logT+1個の(ID総数がTのIBE方式ΣIBE の)秘密鍵により構成される。IBE方式ΣIBE の秘密鍵長をK(ΣIBE )と表記すると、TSEの秘密鍵長は(logT+1)・K(ΣIBE )により表記される。つまり、TSEの秘密鍵長は、少なくともlogT+1に対して線形に増加し、たとえK(ΣIBE )が固定長であったとしても、TSEの秘密鍵長は固定長にはなり得ない。
この問題を解決するために、IBEの代わりにWIBEを用いた自明なTSEの構成法が考えられる。
[Trivial construction method of TSE using WIBE]
In the above-mentioned method of constructing TSE using IBE, the secret key sk t in each period t is composed of log T + 1 (IBE method Σ IBE T with a total number of IDs T) secret key. When the secret key length of the IBE method Σ IBE T is expressed as K (Σ IBE T ), the secret key length of the TSE is expressed by (log T + 1) and K (Σ IBE T). That is, the secret key length of TSE is increased linearly for at least log T + 1, even if the K (Σ IBE T) is a fixed-length secret key length of TSE is not be a fixed length.
In order to solve this problem, a trivial method of constructing TSE using WIBE instead of IBE can be considered.

図3は、WIBEを用いた自明なTSEの構成法に関する、葉ノードの総数がTである完全二分木を例示する図である。
この二分木では、IBEを用いたTSEの構成法の場合(図2)と比べて、ビット長がlogT未満のノードは、その末尾にワイルドカードビット(*)が不足分追加される。また、周期t∈[0,T−1]の秘密鍵skがsk:=WIBE.KGen(msk,t)により生成され、構成要素のWIBE方式の単一の秘密鍵のみにより構成される。
したがって、この構成法による秘密鍵長は、K(ΣWIBE )により表される。つまり、構成要素として秘密鍵長が固定長であるようなWIBE方式を採用することで、TSEの秘密鍵長を固定長にすることができる。
FIG. 3 is a diagram illustrating a complete binary tree in which the total number of leaf nodes is T for a trivial TSE construction method using WIBE.
In this binary tree, a shortage of wildcard bits (*) is added to the end of a node whose bit length is less than logT, as compared with the case of the TSE construction method using IBE (FIG. 2). Further, the secret key sk t of the period t ∈ [0, T-1] is sk t : = WIBE. It is generated by KGen (msk, t) and consists of only a single WIBE private key as a component.
Therefore, the secret key length according to this construction method is represented by K (Σ WIBE T). That is, by adopting the WIBE method in which the secret key length is a fixed length as a component, the secret key length of the TSE can be made a fixed length.

ここで、WIBEを用いた自明なTSEの構成法において、範囲[L,R]の暗号文Cm,[L,R]のビット長は、Σb∈Cover_logT(L,R)|Cm,b|と表記される。ただし、Cm,b:=WIBE.Enc(m,b)である。
この自明なTSEの構成法では、WIBEの性質を十分に活かしきれておらず、構成法を工夫することで暗号文長をより短くできる余地を残している。本実施形態では、自明な構成法と比べ、全ての範囲[L,R]に関して、暗号文長|Cm,[L,R]|がより短くなる非自明な構成法を示す。
Here, in the trivial TSE construction method using WIBE, the bit lengths of the ciphertexts C m and [L, R] in the range [L, R] are Σ b ∈ Cover_logT (L, R) | C m, It is written as b |. However, C m, b : = WIBE. Enc (m, b).
This trivial TSE construction method does not fully utilize the properties of WIBE, leaving room for shortening the ciphertext length by devising the construction method. In the present embodiment, a non-trivial construction method is shown in which the ciphertext length | Cm, [L, R] | is shorter for the entire range [L, R] as compared with the trivial construction method.

[WIBEを用いた非自明なTSEの第1の構成法]
本実施形態におけるWIBEを用いた非自明なTSEの構成法では、TSE方式{TSE.Setup,TSE.KGen,TSE.Enc,TSE.Dec}が、WIBE方式{WIBE.Setup,WIBE.KGen,WIBE.Enc,WIBE.Dec}及び6つの補助的アルゴリズム{BinarizelogT,ClassifylogT,DividelogT,Latter_WIDlogT,Former_WIDlogT,MergelogT}を用いて構成される。
以下、非自明なTSEの構成法を実現した暗号化装置1の機能構成を示し、続いて、補助的アルゴリズム、及び構成されたTSE方式のアルゴリズムを説明する。
[First construction method of non-trivial TSE using WIBE]
In the non-trivial TSE construction method using WIBE in the present embodiment, the TSE method {TSE. Setup, TSE. KGen, TSE. Enc, TSE. Dec} is the WIBE method {WIBE. Setup, WIBE. KGen, WIBE. Enc, WIBE. It is constructed using Dec} and six auxiliary algorithms {Binarise logT , Classify logT , Divide logT , Later_WID logT , Former_WID logT , Merge logT}.
Hereinafter, the functional configuration of the encryption device 1 that realizes the non-trivial TSE configuration method will be shown, and subsequently, the auxiliary algorithm and the configured TSE method algorithm will be described.

図4は、暗号化装置1の機能構成を示す図である。
暗号化装置1は、サーバ装置又はパーソナルコンピュータ等の情報処理装置(コンピュータ)であり、制御部10及び記憶部20の他、各種データの入出力デバイス及び通信デバイス等を備える。
FIG. 4 is a diagram showing a functional configuration of the encryption device 1.
The encryption device 1 is an information processing device (computer) such as a server device or a personal computer, and includes a control unit 10 and a storage unit 20, as well as various data input / output devices and communication devices.

制御部10は、暗号化装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。 The control unit 10 is a part that controls the entire encryption device 1, and realizes each function in the present embodiment by appropriately reading and executing various programs stored in the storage unit 20. The control unit 10 may be a CPU.

記憶部20は、ハードウェア群を暗号化装置1として機能させるための各種プログラム(暗号化プログラム)、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。 The storage unit 20 is a storage area for various programs (encryption programs) for making the hardware group function as the encryption device 1 and various data, and is a ROM, RAM, flash memory, hard disk drive (HDD), or the like. It may be there.

制御部10は、二値化部11と、クラス分類部12と、分割部13と、wID集合決定部14と、セットアップ部15と、鍵生成部16と、暗号化部17と、復号部18とを備える。
また、wID集合決定部14は、後半wID集合確定部141と、前半wID集合確定部142と、前後半wID集合合併部143とを備える。
The control unit 10 includes a binarization unit 11, a classification unit 12, a division unit 13, a wID set determination unit 14, a setup unit 15, a key generation unit 16, an encryption unit 17, and a decryption unit 18. And.
Further, the wID set determination unit 14 includes a second half wID set determination unit 141, a first half wID set determination unit 142, and a first half wID set merge unit 143.

図5は、二値化アルゴリズムBinarizelogTの定義を示す図である。
二値化部11は、二値化アルゴリズムにより、周期t∈[0,T−1](or t∈{0,1}logT)を入力として受け取り、tに対応する二進数のビット列とは必ずしも一致しない特殊なビット列b∈{0,1}logTを出力する。なお、図中では、d=logTとする。
FIG. 5 is a diagram showing a definition of the binarization algorithm Binarize logT.
The binarization unit 11 receives the period t ∈ [0, T-1] (or t ∈ {0, 1} logT ) as an input by the binarization algorithm, and is not necessarily a binary bit string corresponding to t. Outputs a special bit string b ∈ {0,1} logT that does not match. In the figure, d = logT.

図6は、二値化アルゴリズムの実行例を示す図である。
ここでは、T=32とし、入力である周期t∈[0,31]と、出力であるビット列(二進数数値)b∈{0,1}との対応関係を示している。
FIG. 6 is a diagram showing an execution example of the binarization algorithm.
Here, T = 32, and the correspondence between the input period t ∈ [0,31] and the output bit string (binary numerical value) b ∈ {0,1} 5 is shown.

出力されるビット列は、tに対応する二進数のビット列とは異なり、次のような特徴を有している。
・隣り合うtで1ビットのみが異なる。
・tの昇順の並びを再帰的に2分割していった際に、分割された左右のビット列の並びが1ビットを除いて対称となっている。
The output bit string is different from the binary bit string corresponding to t and has the following characteristics.
-Only one bit is different between adjacent t.
-When the ascending order of t is recursively divided into two, the arrangement of the divided left and right bit strings is symmetrical except for one bit.

図7は、クラス分類アルゴリズムClassifylogTの定義を示す図である。
クラス分類部12は、クラス分類アルゴリズムにより、周期t∈[0,T−1]を入力として受け取り、クラス番号i∈[0,logT]を出力する。具体的には、t=0の場合、logTを出力し、t∈[1,T−1]の場合、t mod 2i+1=2を満たすi∈[0,logT−1]を出力する。
FIG. 7 is a diagram showing a definition of the classification algorithm Classify logT.
The class classification unit 12 receives the period t ∈ [0, T-1] as an input and outputs the class number i ∈ [0, logT] by the class classification algorithm. Specifically, when t = 0, logT is output, and when t ∈ [1, T-1], i ∈ [0, logT-1] satisfying t mod 2 i + 1 = 2 i is output.

図8は、クラス分類アルゴリズムの実行例を示す図である。
ここでは、T∈{4,8,16,32}の場合の出力をそれぞれ示している。
tの昇順の並びを再帰的に2分割していった際に、分割された右側のブロックの左端のtに対して、左側のブロックの左端のクラス番号−1が割り当てられる。これにより、1ビットを除いて左右対称となっているビット列のブロック内において、左端のクラス番号が最大となる。
FIG. 8 is a diagram showing an execution example of the classification algorithm.
Here, the output in the case of T ∈ {4,8,16,32} is shown.
When the ascending order of t is recursively divided into two, the leftmost class number -1 of the leftmost block is assigned to the leftmost t of the divided right block. As a result, the leftmost class number becomes the maximum in the block of the bit string that is symmetrical except for one bit.

図9は、分割アルゴリズムDividelogTの定義を示す図である。
分割部13は、分割アルゴリズムにより、L∈[0,T−1]かつR∈[0,T−1]を満たす[L,R](L>Rの場合、[L,T−1]∪[0,R])を入力として受け取り、この範囲を前半範囲[L,D−1]と後半範囲[D,R]へ二分割する分割点D∈[L,R]を出力する。
分割点Dは、範囲[L,R]内の数値のうち、最もクラス番号の大きい数値である。すなわち、範囲[L,R]に含まれる最も大きなブロックの区切りで二分割される。L>Rの場合、必ずD=0になる。
FIG. 9 is a diagram showing a definition of the division algorithm Divide logT.
The division unit 13 uses a division algorithm to satisfy [L, R] (when L> R, [L, T-1] ∪] satisfying L ∈ [0, T-1] and R ∈ [0, T-1]. [0, R]) is received as an input, and the division point D ∈ [L, R] that divides this range into the first half range [L, D-1] and the second half range [D, R] is output.
The division point D is the numerical value having the largest class number among the numerical values in the range [L, R]. That is, it is divided into two by the division of the largest block included in the range [L, R]. If L> R, then D = 0.

図10は、分割アルゴリズムの実行例を示す図である。
ここでは、T=32とし、[L,R]∈{[0,30],[9,30],[1,30],[2,0]}の場合の分割点を、それぞれ△で示している。
例えば、範囲が[0,30]の場合は、クラス番号が5の分割点D=0、範囲が[9,30]及び[1,31]の場合は、クラス番号が4の分割点D=16、範囲が[2,0]の場合は、クラス番号が5の分割点D=0が出力される。
FIG. 10 is a diagram showing an execution example of the division algorithm.
Here, T = 32, and the division points in the case of [L, R] ∈ {[0,30], [9,30], [1,30], [2,0]} are indicated by Δ, respectively. ing.
For example, when the range is [0,30], the division point D = 0 with the class number 5, and when the range is [9,30] and [1,31], the division point D = with the class number 4. 16. When the range is [2,0], the division point D = 0 having the class number 5 is output.

図11は、後半wID集合確定アルゴリズムLatter_WIDlogTの定義を示す図である。
後半wID集合確定部141は、後半wID集合確定アルゴリズムにより、後半範囲[D,R]を入力として受け取り、wID集合T[D,R]={wID|i∈[1,n]}を出力する。全てのT∈N s.t. logT∈N、及びL∈[0,T−1]かつR∈[0,T−1]を満たす全てのL,Rについて、D←DividelogT(L,R)とした場合、

Figure 2021125810
が存在し、以下の2つの条件を満たす。 FIG. 11 is a diagram showing a definition of the latter half wID set determination algorithm Later_WID logT.
The latter half wID set determination unit 141 receives the latter half range [D, R] as an input by the latter half wID set determination algorithm, and sets wID set T [D, R] = {wID i | i ∈ [1, n 1 ]}. Output. All T ∈ N s. t. When D ← Divide logT (L, R) is set for all L and R satisfying logT ∈ N and L ∈ [0, T-1] and R ∈ [0, T-1],
Figure 2021125810
Exists and satisfies the following two conditions.

(1)後半範囲[D,R]は、2個の数値からなる前述のブロックの集合として、次のように表現できる。

Figure 2021125810
(2)全てのi∈[1,n]について、あるwIDi∈{0,1,*}logTが存在し、wIDは以下を満たす。
・|wID=k
・後半範囲[D,R]の部分範囲である、
Figure 2021125810
をカバーする。 (1) The latter half range [D, R] can be expressed as follows as a set of the above-mentioned blocks consisting of 2 k numerical values.
Figure 2021125810
(2) For all i ∈ [1, n 1 ], a certain wIDi ∈ {0,1, *} logT exists, and wID i satisfies the following.
・ | wID i* = k i .
・ It is a partial range of the latter half range [D, R].
Figure 2021125810
Cover.

ただし、wID∈{0,1,*}logTについて、|wID|∈[0,logT]は、ワイルドカードビット総数を表す。つまり、

Figure 2021125810
である。
また、「wID∈{0,1,*}logTが[x,y]⊆[0,T−1]をカバーする」とは、[0,T−1]に含まれる全数値のうち、範囲[x,y]に含まれる数値に対応する二進数数値のみが、wIDの条件を満たす場合をいう。 However, for wID ∈ {0,1, *} logT , | wID | * ∈ [0, logT] represents the total number of wildcard bits. in short,
Figure 2021125810
Is.
Further, "wID ∈ {0,1, *} logT covers [x, y] ⊆ [0, T-1]" means that the range of all the numerical values included in [0, T-1] is ranged. This refers to the case where only the binary numerical value corresponding to the numerical value included in [x, y] satisfies the wID condition.

図12は、前半wID集合確定アルゴリズムFormer_WIDlogTの定義を示す図である。
前半wID集合確定部142は、前半wID集合確定アルゴリズムにより、前半範囲[L,D−1]を入力として受け取り、wID集合T[L,D−1]={wID|i∈[n+1,n]}を出力する。全てのT∈N s.t. logT∈N、及びL∈[0,T−1]かつR∈[0,T−1]を満たす全てのL,Rについて、D←DividelogT(L,R)とした場合、

Figure 2021125810
が存在し、以下の2つの条件を満たす。 FIG. 12 is a diagram showing a definition of the first half wID set determination algorithm Former_WID logT.
The first half wID set determination unit 142 receives the first half range [L, D-1] as an input by the first half wID set determination algorithm, and wID set T [L, D-1] = {wID i | i ∈ [n 1 + 1]. , N 2 ]} is output. All T ∈ N s. t. When D ← Divide logT (L, R) is set for all L and R satisfying logT ∈ N and L ∈ [0, T-1] and R ∈ [0, T-1],
Figure 2021125810
Exists and satisfies the following two conditions.

(1)前半範囲[L,D−1]は、2個の数値からなる前述のブロックの集合として、次のように表現できる。

Figure 2021125810
(2)全てのi∈[n+1,n]について、あるwID∈{0,1,*}logTが存在し、wIDは以下を満たす。
・|wID=k
・wIDは、前半範囲[L,D−1]の部分範囲である、
Figure 2021125810
をカバーする。 (1) The first half range [L, D-1] can be expressed as follows as a set of the above-mentioned blocks consisting of 2 k numerical values.
Figure 2021125810
(2) For all i ∈ [n 1 + 1, n 2 ], a certain wID i ∈ {0,1, *} logT exists, and wID i satisfies the following.
・ | wID i* = k i .
-WID i is a partial range of the first half range [L, D-1].
Figure 2021125810
Cover.

図13は、前後半wID集合合併アルゴリズムMergelogTの定義を示す図である。
前後半wID集合合併部143は、前後半wID集合合併アルゴリズムにより、前後半wID集合T[D,R],T[L,D−1]を受け取り、wID集合T[L,R]を出力する。
FIG. 13 is a diagram showing a definition of the first-second union union union algorithm Merge logT.
The first and second half wID set union unit 143 receives the first and second half wID sets T [D, R] and T [L, D-1] by the first and second half wID set merge algorithm, and outputs the wID set T [L, R]. ..

まず、以下の条件を満たす自然数nを定義する。

Figure 2021125810
このとき、全てのi∈[1,n]について、以下の条件を満たすwID′∈{0,1,*}logTが存在する。
・|wID′=k+1=kn1+i+1.
・wID′は、wIDとwIDn1+iによりカバーされる各範囲の和集合により定義される範囲、すなわち、
Figure 2021125810
をカバーする。 First, a natural number n * that satisfies the following conditions is defined.
Figure 2021125810
At this time, for all i ∈ [1, n * ], there exists a wID'i ∈ {0,1, *} logT that satisfies the following conditions.
· | WID 'i | * = k i + 1 = k n1 + i +1.
· WID 'i, the range defined by the union of the range covered by wID i and wID n1 + i, i.e.,
Figure 2021125810
Cover.

図14は、後半wID集合確定アルゴリズム、前半wID集合確定アルゴリズム、及び前後半wID集合合併アルゴリズムのそれぞれの実行後の状態を例示する図である。
ここでは、T=32,[L,R]=[1,30],D=16の場合を例示しており、Step1には、分割アルゴリズムの実行例(図10)を示している。
FIG. 14 is a diagram illustrating the states after execution of the latter half wID set determination algorithm, the first half wID set determination algorithm, and the first half wID set merge algorithm.
Here, the cases of T = 32, [L, R] = [1,30], and D = 16 are illustrated, and Step 1 shows an execution example (FIG. 10) of the division algorithm.

後半wID集合確定アルゴリズムでは、T[D,R]:={wID|i∈[1,n]}が出力される。
Step2に示す実行例の場合、図中で同一の数字が割り当てられた周期tは、単一のwID∈{0,1,*}によりカバーされる。具体的には、n=4,k=3,k=2,k=1,k=0,wID=11***,wID=101**,wID=1001*,wID=10001である。結果として、T[16,30]={wID,wID,wID,wID}={11***,101**,1001*,10001}が出力される。
In the latter half wID set determination algorithm, T [D, R] : = {wID i | i ∈ [1, n 1 ]} is output.
In the case of the execution example shown in Step 2, the period t to which the same number is assigned in the figure is covered by a single wID ∈ {0,1, *} 5. Specifically, n 1 = 4, k 1 = 3, k 2 = 2, k 3 = 1, k 4 = 0, wID 1 = 11 ***, wID 2 = 101 **, wID 3 = 1001 * , WID 4 = 10001. As a result, T [16,30] = {wID 1 , wID 2 , wID 3 , wID 4 } = {11 ***, 101 **, 1001 *, 10001} is output.

前半wID集合確定アルゴリズムでは、T[L,D−1]:={wID|i∈[n+1,n]}が出力される。
Step3に示す実行例の場合、図中で同一の数字が割り当てられた周期tは、単一のwID∈{0,1,*}によりカバーされる。具体的には、n=4,n+n=8,k=3,k=2,k=1,k=0,wID=01***,wID=001**,wID=0001*,wID=00001である。結果として、T[1,15]={wID,wID,wID,wID}={01***,001**,0001*,00001}が出力される。
In the first half wID set determination algorithm, T [L, D-1] : = {wID i | i ∈ [n 1 + 1, n 2 ]} is output.
In the case of the execution example shown in Step 3, the period t to which the same number is assigned in the figure is covered by a single wID ∈ {0,1, *} 5. Specifically, n 2 = 4, n 1 + n 2 = 8, k 5 = 3, k 6 = 2, k 7 = 1, k 8 = 0, wID 5 = 01 ***, wID 6 = 001 * *, WID 7 = 0001 *, wID 8 = 000001. As a result, T [ 1,15] = {wID 5 , wID 6 , wID 7 , wID 8 } = {01 ***, 001 **, 0001 *, 00000} is output.

前後半wID集合合併アルゴリズムでは、

Figure 2021125810
が出力される。
Step4に示す実行例の場合、図中で同一の数字が割り当てられた周期tは、単一のwID∈{0,1,*}によりカバーされる。具体的には、n=4,wID′=*1***,wID′=*01**,wID′=*001*,wID′=*0001である。結果として、T[1,30]={wID′,wID′,wID′,wID′}={*1***,*01**,*001*,*0001}である。 In the first and second half wID union union algorithm,
Figure 2021125810
Is output.
In the case of the execution example shown in Step 4, the period t to which the same number is assigned in the figure is covered by a single wID ∈ {0,1, *} 5. Specifically, n * = 4, wID ′ 1 = * 1 ***, wID ′ 2 = * 01 **, wID ′ 3 = * 001 *, wID ′ 4 = * 0001. As a result, T [ 1,30] = {wID ′ 1 , wID ′ 2 , wID ′ 3 , wID ′ 4 } = {* 1 ***, * 01 **, * 001 *, * 0001}.

図15は、セットアップアルゴリズムTSE.Setupの定義を示す図である。
セットアップ部15は、セットアップアルゴリズムとして、前述したWIBE方式のセットアップアルゴリズムを実行する。
FIG. 15 shows the setup algorithm TSE. It is a figure which shows the definition of Setup.
The setup unit 15 executes the above-mentioned WIBE method setup algorithm as the setup algorithm.

図16は、鍵生成アルゴリズムTSE.KGenの定義を示す図である。
鍵生成部16は、鍵生成アルゴリズムにより、前述したWIBE方式の鍵生成アルゴリズムを使用し、ID:=BinarizelogT(t)に対応する秘密鍵を生成する。
FIG. 16 shows the key generation algorithm TSE. It is a figure which shows the definition of KGen.
The key generation unit 16 uses the above-mentioned WIBE-type key generation algorithm by the key generation algorithm to generate a secret key corresponding to ID: = Binarize logT (t).

図17は、暗号化アルゴリズムTSE.Encの定義を示す図である。
暗号化部17は、暗号化アルゴリズムにより、DividelogT,Latter_WIDlogT,Former_WIDlogT,MergelogTを順に実行し、範囲[L,R]に対応するwID集合T[L,R]を導出する。その後、暗号化部17は、集合内の各wIDの下で、平文mをWIBE方式の暗号化アルゴリズムにより暗号化し、これらの暗号文全てを、範囲[L,R]に関する平文mの暗号文として出力する。
FIG. 17 shows the encryption algorithm TSE. It is a figure which shows the definition of Enc.
The encryption unit 17 executes Divide logT, Later_WID logT , Former_WID logT , and Merge logT in order by the encryption algorithm, and derives the wID set T [L, R] corresponding to the range [L, R]. After that, the encryption unit 17 encrypts the plaintext m by the WIBE encryption algorithm under each wID in the set, and all of these ciphertexts are used as the plaintext m ciphertexts related to the range [L, R]. Output.

図18は、復号アルゴリズムTSE.Decの定義を示す図である。
秘密鍵skに関連付けられた周期をt∈[0,T−1]、暗号文C[L,R]に関連付けられた範囲を[L,R]とする。また、ID:=BinarizelogT(t)とする。t∈[L,R]であれば、true←WIBE.MatchlogT(ID,wID)を満たすwID∈{0,1,*}logTが集合T[L,R]内に確実に存在する。
復号部18は、復号アルゴリズムにより、このwIDに対応するC[L,R]内の暗号文要素をCとし、Cを、skを用いてWIBE方式の復号アルゴリズムにより復号した結果を出力する。
FIG. 18 shows the decoding algorithm TSE. It is a figure which shows the definition of Dec.
Let t ∈ [0, T-1] be the period associated with the private key sk t, and let [L, R] be the range associated with the ciphertext C [L, R]. Further, ID: = Binarize logT (t). If t ∈ [L, R], true ← WIBE. There is definitely a wID ∈ {0,1, *} logT that satisfies the Match logT (ID, wID) in the set T [L, R] .
The decoding unit 18 uses a decoding algorithm to set the ciphertext element in C [L, R] corresponding to this wID as C, and outputs the result of decoding C by the WIBE decoding algorithm using sk t.

本実施形態によるWIBEを用いた非自明なTSEの構成法によれば、自明なTSEの構成法に比べて、以下の作用効果が期待できる。 According to the non-trivial TSE construction method using WIBE according to the present embodiment, the following effects can be expected as compared with the trivial TSE construction method.

まず、WIBEを用いた非自明なTSEの構成法において、暗号化処理の実行過程で作られるwID集合を、T[D,R],T[L,D−1],T[L,R]と表記する。対して、WIBEを用いた自明なTSEの構成法におけるwID集合を、T′[L,R]と表記する。
このとき、いかなるL,R,Dに関しても、T[D,R]∪T[L,D−1]とT′[L,R]とは、構造的に等価になる。すなわち、一方の集合に[L,R]のある部分範囲[l,r]⊆[L,R]をカバーするwID∈{0,1,*}logTが存在するならば、他方の集合にも同一の部分範囲をカバーするwID′∈{0,1,*}logTが存在する。
First, in the non-trivial TSE construction method using WIBE, the wID set created in the execution process of the encryption process is T [D, R] , T [L, D-1] , T [L, R]. Notated as. On the other hand, the wID set in the trivial TSE construction method using WIBE is expressed as T' [L, R] .
At this time, T [D, R] ∪T [L, D-1] and T' [L, R] are structurally equivalent for any L, R, D. That is, if there is a wID ∈ {0,1, *} logT that covers a partial range [l, r] ⊆ [L, R] with [L, R] in one set, then the other set also There is a wID'∈ {0,1, *} logT that covers the same subrange.

また、いかなるT,L,R,D、いかなる平文m、いかなるWIBE方式に関しても、構造的に等価な2つのwID集合T[L,R],T′[L,R]をもとにして作られるWIBE暗号文の長さは等価になる。要するに、

Figure 2021125810
が成り立つ。したがって、T[D,R]∪T[L,D−1]をもとにして作られるWIBE暗号文の長さと、T′[L,R]をもとにして作られるWIBE暗号文の長さとは等価になる。
さらに、T[L,R]をもとにして作られるWIBE暗号文の長さと、T[D,R]∪T[L,D−1]をもとにして作られるWIBE暗号文の長さは、前者の方がいかなる[L,R]に関しても、より短くなるか、等価になる。 In addition, any T, L, R, D, any plaintext m, and any WIBE method are created based on two structurally equivalent wID sets T [L, R] and T' [L, R]. The lengths of the WIBE ciphertexts that are created are equivalent. in short,
Figure 2021125810
Is established. Therefore, the length of the WIBE ciphertext created based on T [D, R] ∪T [L, D-1] and the length of the WIBE ciphertext created based on T' [L, R]. Is equivalent to.
Furthermore, the length of the WIBE ciphertext created based on T [L, R] and the length of the WIBE ciphertext created based on T [D, R] ∪T [L, D-1]. Is shorter or equivalent for any [L, R] in the former.

[L,R]によっては、両wID集合が等価になる(例えば、図10の[9,30],[2,0])。このような場合、それぞれのwID集合をもとにして作られるWIBE暗号文長は等価になる。
一方で、両wID集合が等価にならない場合もある(例えば、図10の[0,30],[1,30])。このような場合、それぞれのwID集合をもとにして作られるWIBE暗号文長は、前者がより短くなる。
Depending on [L, R], both wID sets are equivalent (for example, [9,30], [2,0] in FIG. 10). In such a case, the WIBE ciphertext lengths created based on each wID set are equivalent.
On the other hand, both wID sets may not be equivalent (for example, [0,30], [1,30] in FIG. 10). In such a case, the WIBE ciphertext length created based on each wID set is shorter in the former.

なお、暗号文長が相対的に最も短くなるのは、Dを中心にL,Rが対称的に位置している場合である。これは、例えば、図10の[1,30]が該当する。他にも、例えばT=32の場合、[1,14],[17,22],[15,16]等、多くの例が存在する。これらの場合、暗号文のビット長は半減、あるいは、ほぼ半減する。 The ciphertext length is relatively short when L and R are symmetrically located with respect to D. This corresponds to, for example, [1,30] in FIG. In addition, for example, when T = 32, there are many examples such as [1,14], [17,22], [15,16]. In these cases, the bit length of the ciphertext is halved or almost halved.

ここで、暗号文長に着目して、既存のWIBE方式を分類すると、いかなるwID∈{0,1,*}に関しても暗号文長が固定である方式(例えば、非特許文献3−4のBoneh−Boyen WIBE方式及びWaters WIBE方式)と、暗号文長が|wID|∈{0,1,*}に対して線形に増加する方式(例えば、非特許文献3−4のBoneh−Boyen−Goh WIBE方式)と、の2種類に大別できる。本実施形態によれば、前者の場合、暗号文のビット長は丁度半減し、後者の場合、ほぼ半減する。 Here, when the existing WIBE method is classified by paying attention to the ciphertext length, a method in which the ciphertext length is fixed for any wID ∈ {0,1, *} N (for example, Non-Patent Document 3-4). Boneh-Boyen WIBE method and Waters WIBE method) and a method in which the ciphertext length increases linearly with respect to | wID | * ∈ {0,1, *} N (for example, Boneh-Boyen in Non-Patent Document 3-4). -Goh WIBE method) and can be roughly divided into two types. According to the present embodiment, in the former case, the bit length of the ciphertext is exactly halved, and in the latter case, it is almost halved.

このように、本実施形態によるWIBEを用いた非自明なTSEの構成法では、WIBEを用いた自明なTSEの構成法と比較して、利用するWIBE方式を確定した結果として具体的に作られるTSE方式の暗号文長がより短くなる。具体的には、全ての範囲[L,R]に関して、当該範囲に関する暗号文の長さは、より短くなるか等価になり、より長くなることはない。 As described above, the non-trivial TSE construction method using WIBE according to the present embodiment is specifically produced as a result of determining the WIBE method to be used as compared with the trivial TSE construction method using WIBE. The ciphertext length of the TSE method becomes shorter. Specifically, for the entire range [L, R], the length of the ciphertext for that range is shorter or equivalent and never longer.

また、暗号化装置1は、範囲[L,R]を前半及び後半に分割することにより、それぞれの部分範囲において、効率的にwID集合を決定できる。
さらに、暗号化装置1は、部分範囲毎に求めたwID集合をカバーするwID集合を決定することにより、wID集合を縮小できる可能性がある。この結果、暗号文が短くなることが期待できる。
Further, the encryption device 1 can efficiently determine the wID set in each subrange by dividing the range [L, R] into the first half and the second half.
Further, the encryption device 1 may be able to reduce the wID set by determining the wID set that covers the wID set obtained for each subrange. As a result, the ciphertext can be expected to be shortened.

[WIBEを用いた非自明なTSEの第2の構成法]
本実施形態は、図6に示された周期tに対応するビットパターンのみならず、様々なビットパターンに対して有効である。例えば、図6のビットパターンに対して、以下の3つの操作のうちのいずれか1つの操作、あるいは複数を組み合わせた操作を実行して得られる全てのパターンに対して有効である。
1. 複数の行を入れ替える。
2. 各行において、0と1とを置換する。
3. 全ての列を、一定数分、右方向に巡回シフトする。
[Second construction method of non-trivial TSE using WIBE]
This embodiment is effective not only for the bit pattern corresponding to the period t shown in FIG. 6 but also for various bit patterns. For example, it is effective for all patterns obtained by executing any one of the following three operations or an operation in which a plurality of the bit patterns in FIG. 6 are combined.
1. 1. Swap multiple lines.
2. Replace 0 and 1 in each line.
3. 3. All columns are cyclically shifted to the right for a certain number of minutes.

これらの操作を厳密に定義するために、関数f、関数h、整数δを導入する。
例えば、図6のビットパターンは、T=32の場合の全てのt∈[0,T−1]について、図5のBinarizeを実行することにより、求められたものである。同様にして、任意のT(ただし、logTは自然数であるとする)について、図6のような周期t∈[0,T−1]と二進数数値b∈{0,1}logTとの対応関係を求めることができる。
In order to define these operations strictly, we introduce the function f, the function h, and the integer δ.
For example, the bit pattern of FIG. 6 is obtained by executing Binarize 5 of FIG. 5 for all t ∈ [0, T-1] when T = 32. Similarly, for any T (where logT is a natural number), the correspondence between the period t ∈ [0, T-1] and the binary number b ∈ {0,1} logT as shown in FIG. You can ask for a relationship.

このようにして求められるtとbとの対応関係においては、bの各ビットに、それぞれ異なる(0,1)のパターンが割り当てられる。(0,1)のパターンは全部でbのビット数(logT)種類あり、それぞれ0と1の切り替わり間隔(頻度)が異なる。厳密には、2logT−1間隔で切り替わる最も低頻度のパターン、2logT−2間隔で切り替わった後2logT−1間隔で切り替わるパターン、…、2間隔で切り替わった後4間隔で切り替わるパターン、1間隔で切り替わった後2間隔で切り替わる最も高頻度のパターンが存在する。 In the correspondence between t and b obtained in this way, different (0,1) patterns are assigned to each bit of b. The patterns (0 and 1) have a total of b bit number (logT) types, and the switching interval (frequency) between 0 and 1 is different for each type. Strictly speaking, the lowest frequency of the pattern is switched in 2 log T-1 interval, the pattern is switched in 2 log T-1 interval after switching by 2 log T-2 interval, ..., pattern switched at 4 intervals after switching at two intervals, 1 There is the most frequent pattern that switches at two intervals after switching at intervals.

全単射関数f:{0,1,…,logT−1}→{0,1,…,logT−1}は、各ビットをいずれの(0,1)のパターンに割り当てるかを定義する。具体的には、ビットi∈{0,1,…,logT−1}を、始めにf(i)∈{0,1,…,logT−1}間隔で切り替わる(0,1)のパターンに割り当てる。 The bijective function f: {0,1, ..., logT-1} → {0,1, ..., logT-1} defines which (0,1) pattern each bit is assigned to. Specifically, the bit i ∈ {0,1, ..., logT-1} is first changed to a pattern (0,1) in which f (i) ∈ {0,1, ..., logT-1} is switched at intervals. assign.

関数h:{0,1,…,logT−1}→{0,1}は、各ビットi∈{0,1,…,logT−1}において、(0,1)のパターンの初期値を、0とするか1とするかを定義する。 The function h: {0,1, ..., logT-1} → {0,1} sets the initial value of the pattern (0,1) in each bit i ∈ {0,1, ..., logT-1}. , 0 or 1 is defined.

整数δ∈{0,…,T−1}は、二進数数値b=h[logT−1]‖h[logT−2]‖…‖h[1]‖h[0]を、どの周期t∈{0,…,T−1}に対応付けるかのシフト量を定義する。 The integer δ ∈ {0, ..., T-1} is the binary value b = h [logT-1] ‖h [logT-2] ‖… ‖h [1] ‖h [0], which period t∈ Define the shift amount to be associated with {0, ..., T-1}.

図19は、関数f、関数hを導入した二値化アルゴリズムBinarizelogTの定義を示す図である。
二値化部11は、二値化アルゴリズムにより、周期t∈[0,T−1](or t∈{0,1}logT)を入力として受け取り、tに対応する二進数ビット列とは必ずしも一致しない特殊なビット列b∈{0,1}logTを出力する。なお、図中では、d=logTとする。
FIG. 19 is a diagram showing the definition of the binarize logT in which the function f and the function h are introduced.
The binarization unit 11 receives the period t ∈ [0, T-1] (or t ∈ {0, 1} logT ) as an input by the binarization algorithm, and does not necessarily match the binary bit string corresponding to t. Does not output a special bit string b ∈ {0,1} logT. In the figure, d = logT.

なお、この定義では、整数δが考慮されていないが、二値化アルゴリズムの呼び出し時に、tに代えてt−δ mod 2を入力とすることで、tを右方向にδだけ巡回シフトした対応関係が得られる。 Although the integer δ is not considered in this definition, t is cyclically shifted to the right by δ by inputting t-δ mod 2 d instead of t when calling the binarization algorithm. Correspondence can be obtained.

例えば、図6の実行例は、
T:=32
f({0,1,2,3,4}):={0,1,2,3,4}
h({0,1,2,3,4}):={0,0,0,0,0}
δ:=0
とすることで定まる周期t∈[0,31]と二進数数値b∈{0,1}との対応関係を示している。
For example, the execution example of FIG. 6 is
T: = 32
f ({0,1,2,3,4}): = {0,1,2,3,4}
h ({0,1,2,3,4}): = {0,0,0,0,0}
δ: = 0
The correspondence between the period t ∈ [0,31] determined by the above and the binary numerical value b ∈ {0,1} 5 is shown.

図20は、二値化アルゴリズムを変形した第1の実行例を示す図である。
この例は、図6の実行例に対して、関数fのみを以下のように変更して得られるtとbとの対応関係を示している。
f({0,1,2,3,4}):={4,3,2,1,0}
FIG. 20 is a diagram showing a first execution example in which the binarization algorithm is modified.
This example shows the correspondence between t and b obtained by changing only the function f as follows with respect to the execution example of FIG.
f ({0,1,2,3,4}): = {4,3,2,1,0}

図21は、二値化アルゴリズムを変形した第2の実行例を示す図である。
この例は、図6の実行例に対して、関数hのみを以下のように変更して得られるtとbとの対応関係を示している。
h({0,1,2,3,4}):={1,1,1,1,1}
FIG. 21 is a diagram showing a second execution example in which the binarization algorithm is modified.
This example shows the correspondence between t and b obtained by changing only the function h as follows with respect to the execution example of FIG.
h ({0,1,2,3,4}): = {1,1,1,1,1}

図22は、二値化アルゴリズムを変形した第3の実行例を示す図である。
この例は、図6の実行例に対して、整数δのみを以下のように変更して得られるtとbとの対応関係を示している。
δ:=3
FIG. 22 is a diagram showing a third execution example in which the binarization algorithm is modified.
This example shows the correspondence between t and b obtained by changing only the integer δ as follows with respect to the execution example of FIG.
δ: = 3

図23は、二値化アルゴリズムを変形した第4の実行例を示す図である。
この例は、図6の実行例に対して、関数f、関数h、整数δを以下のように変更して得られるtとbとの対応関係を示している。
f({0,1,2,3,4}):={3,2,0,4,1}
h({0,1,2,3,4}):={0,1,1,0,0}
δ:=15
FIG. 23 is a diagram showing a fourth execution example in which the binarization algorithm is modified.
This example shows the correspondence between t and b obtained by changing the function f, the function h, and the integer δ as follows with respect to the execution example of FIG.
f ({0,1,2,3,4}): = {3,2,0,4,1}
h ({0,1,2,3,4}): = {0,1,1,0,0}
δ: = 15

クラス分類アルゴリズムClassifylogT及び分割アルゴリズムDividelogTについては、前述した第1の構成法から変更はないが、入力されるt,L,Rの各パラメータは、二値化アルゴリズムと同様にδだけシフトされた値となる。 Regarding the classification algorithm Classify logT and the division algorithm Divide logT, there is no change from the first construction method described above, but the input t, L, and R parameters are shifted by δ as in the binarization algorithm. Value.

図24は、関数fを導入した後半wID集合確定アルゴリズムLatter_WIDlogTの定義を示す図である。
ここでは、wIDのビット位置の参照先が関数fにより置換されている。
FIG. 24 is a diagram showing the definition of the latter half wID set determination algorithm Later_WID logT in which the function f is introduced.
Here, the reference destination of the bit position of wID is replaced by the function f.

図25は、関数fを導入した前半wID集合確定アルゴリズムFormer_WIDlogTの定義を示す図である。
ここでは、後半wID集合確定アルゴリズムと同様に、wIDのビット位置の参照先が関数fにより置換されている。
FIG. 25 is a diagram showing the definition of the first half wID set determination algorithm Former_WID logT in which the function f is introduced.
Here, as in the latter half wID set determination algorithm, the reference destination of the bit position of wID is replaced by the function f.

図26は、関数fを導入した前後半wID集合合併アルゴリズムMergelogTの定義を示す図である。
ここでは、後半wID集合確定アルゴリズム及び前半wID集合確定アルゴリズムと同様に、wIDのビット位置の参照先が関数fにより置換されている。
FIG. 26 is a diagram showing the definition of the first- second union union union algorithm Merge logT in which the function f is introduced.
Here, as in the latter half wID set determination algorithm and the first half wID set determination algorithm, the reference destination of the bit position of wID is replaced by the function f.

セットアップアルゴリズムTSE.Setupについては、前述した第1の構成法、すなわちWIBE方式のセットアップアルゴリズムから変更はない。 Setup algorithm TSE. Regarding Setup, there is no change from the first configuration method described above, that is, the WIBE method setup algorithm.

図27は、整数δを導入した鍵生成アルゴリズムTSE.KGenの定義を示す図である。
鍵生成部16は、鍵生成アルゴリズムにより、前述したWIBE方式の鍵生成アルゴリズムを使用し、ID:=BinarizelogT(t−δ mod 2)に対応する秘密鍵を生成する。
FIG. 27 shows a key generation algorithm TSE. It is a figure which shows the definition of KGen.
The key generation unit 16 uses the above-mentioned WIBE-type key generation algorithm by the key generation algorithm to generate a secret key corresponding to ID: = Binarize logT (t-δ mod 2 d).

図28は、整数δを導入した暗号化アルゴリズムTSE.Encの定義を示す図である。
暗号化部17は、暗号化アルゴリズムにより、DividelogT,Latter_WIDlogT,Former_WIDlogT,MergelogTを順に実行し、範囲[L,R]に対応するwID集合T[L,R]を導出する。このとき、暗号化部17は、前述のように、L及びRをδだけシフトした値をパラメータとして渡すことにより、順かいシフトが施されたtとbとの対応関係に基づくwID集合[L,R]を得る。
その後、暗号化部17は、集合内の各wIDの下で、平文mを暗号化し、これらの暗号文全てを、範囲[L,R]に関する平文mの暗号文として出力する。
FIG. 28 shows an encryption algorithm TSE. It is a figure which shows the definition of Enc.
The encryption unit 17 executes Divide logT, Later_WID logT , Former_WID logT , and Merge logT in order by the encryption algorithm, and derives the wID set T [L, R] corresponding to the range [L, R]. At this time, as described above, the encryption unit 17 passes the values obtained by shifting L and R by δ as parameters, so that the wID set [L] based on the correspondence between t and b that have been sequentially shifted. , R] is obtained.
After that, the encryption unit 17 encrypts the plaintext m under each wID in the set, and outputs all of these ciphertexts as the ciphertext of the plaintext m relating to the range [L, R].

図29は、整数δを導入した復号アルゴリズムTSE.Decの定義を示す図である。
復号部18は、復号アルゴリズムにより、IDと適合するwIDに対応したCL,R内の暗号文要素をCとし、Cをskにより復号した結果を出力する。
このとき、復号部18は、前述のように、補助的アルゴリズムに対してδだけシフトした値を入力する。
FIG. 29 shows a decoding algorithm TSE. It is a figure which shows the definition of Dec.
The decryption unit 18 sets the ciphertext element in CL and R corresponding to the wID matching the ID as C by the decryption algorithm, and outputs the result of decoding C by sk t.
At this time, the decoding unit 18 inputs a value shifted by δ with respect to the auxiliary algorithm as described above.

以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。 Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments. Moreover, the effects described in the above-described embodiments are merely a list of the most preferable effects arising from the present invention, and the effects according to the present invention are not limited to those described in the embodiments.

暗号化装置1による暗号化方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD−ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。 The encryption method by the encryption device 1 is realized by software. When realized by software, the programs that make up this software are installed in the information processing device (computer). Further, these programs may be recorded on a removable medium such as a CD-ROM and distributed to the user, or may be distributed by being downloaded to the user's computer via a network. Further, these programs may be provided to the user's computer as a Web service via a network without being downloaded.

1 暗号化装置(復号装置)
10 制御部
11 二値化部
12 クラス分類部
13 分割部
14 wID集合決定部
15 セットアップ部
16 鍵生成部
17 暗号化部
18 復号部
20 記憶部
141 後半wID集合確定部
142 前半wID集合確定部
143 前後半wID集合合併部
1 Encryption device (decryption device)
10 Control unit 11 Binarization unit 12 Class classification unit 13 Division unit 14 wID set determination unit 15 Setup unit 16 Key generation unit 17 Encryption unit 18 Decryption unit 20 Storage unit 141 Second half wID set confirmation unit 142 First half wID set confirmation unit 143 First and second half wID collective merger

Claims (8)

個の数値に対して、それぞれdビットのビット列を割り当てる二値化部と、
範囲[L,R]の時間指定暗号における周期に対応する前記数値のそれぞれに割り当てられた前記ビット列の全てをカバーするワイルドカードIDの集合を決定するwID集合決定部と、
決定された前記ワイルドカードIDのそれぞれに基づいて、ワイルドカードIDベース暗号方式により平文を暗号化し、当該暗号化の結果の全てを、範囲[L,R]に関する暗号文として出力する暗号化部と、を備え、
前記二値化部は、前記数値の並びを再帰的に2分割した際に、分割点を軸に両側のブロックに含まれる前記ビット列のいずれか1ビットのみは反転し、他のビットは対称となるように0又は1を割り当てる暗号化装置。
A binarizer that assigns a bit string of d bits to each of 2 d numbers,
A wID set determination unit that determines a set of wildcard IDs that covers all of the bit strings assigned to each of the numerical values corresponding to the cycles in the time-designated cipher of the range [L, R].
Based on each of the determined wildcard IDs, a plaintext is encrypted by a wildcard ID-based encryption method, and all the results of the encryption are output as a ciphertext related to the range [L, R]. , Equipped with
When the binarization unit recursively divides the sequence of numerical values into two, only one bit of the bit string included in the blocks on both sides with the division point as the axis is inverted, and the other bits are symmetrical. An encryption device that assigns 0 or 1 so as to be.
前記二値化部は、前記数値の並びにおいて、隣り合う数値間で1ビットのみが異なる前記ビット列を割り当てる請求項1に記載の暗号化装置。 The encryption device according to claim 1, wherein the binarization unit allocates the bit string in which only one bit differs between adjacent numerical values in the arrangement of the numerical values. 前記暗号化部は、前記周期に対して前記数値を所定の数だけ巡回シフトさせて対応付ける請求項1又は請求項2に記載の暗号化装置。 The encryption device according to claim 1 or 2, wherein the encryption unit cyclically shifts the numerical value by a predetermined number with respect to the cycle and associates the numerical value with the cycle. 前記数値の並びを再帰的に2分割していく際に得られるブロックのうち、前記範囲[L,R]に含まれる最も大きなブロックの始点において、前記範囲[L,R]を分割する分割部を備え、
前記wID集合決定部は、前記分割部により分割された部分範囲毎に前記ワイルドカードIDの集合を決定する請求項1から請求項3のいずれかに記載の暗号化装置。
A division portion that divides the range [L, R] at the start point of the largest block included in the range [L, R] among the blocks obtained when the sequence of numerical values is recursively divided into two. With
The encryption device according to any one of claims 1 to 3, wherein the wID set determination unit determines a set of wildcard IDs for each partial range divided by the division unit.
前記wID集合決定部は、前記部分範囲毎に決定された集合の全体をカバーする前記ワイルドカードIDの集合を決定する請求項4に記載の暗号化装置。 The encryption device according to claim 4, wherein the wID set determination unit determines a set of wildcard IDs that covers the entire set determined for each subrange. 請求項1から請求項5のいずれかに記載の暗号化装置により暗号化された暗号文を、前記ワイルドカードIDベース暗号方式により復号する復号装置。 A decryption device that decrypts a ciphertext encrypted by the encryption device according to any one of claims 1 to 5 by the wildcard ID-based encryption method. 個の数値に対して、それぞれdビットのビット列を割り当てる二値化ステップと、
範囲[L,R]の時間指定暗号における周期に対応する前記数値のそれぞれに割り当てられた前記ビット列の全てをカバーするワイルドカードIDの集合を決定するwID集合決定ステップと、
決定された前記ワイルドカードIDのそれぞれに基づいて、ワイルドカードIDベース暗号方式により平文を暗号化し、当該暗号化の結果の全てを、範囲[L,R]に関する暗号文として出力する暗号化ステップと、をコンピュータが実行し、
前記二値化ステップにおいて、前記数値の並びを再帰的に2分割した際に、分割点を軸に両側のブロックに含まれる前記ビット列のいずれか1ビットのみは反転し、他のビットは対称となるように0又は1を割り当てる暗号化方法。
A binarization step that assigns a bit string of d bits to each of 2 d numbers,
A wID set determination step for determining a set of wildcard IDs covering all of the bit strings assigned to each of the numerical values corresponding to the period in the time-designated cipher of the range [L, R], and a wID set determination step.
An encryption step in which plaintext is encrypted by a wildcard ID-based encryption method based on each of the determined wildcard IDs, and all the results of the encryption are output as ciphertexts related to the range [L, R]. The computer runs,
In the binarization step, when the sequence of numerical values is recursively divided into two, only one bit of the bit string included in the blocks on both sides with the division point as the axis is inverted, and the other bits are symmetric. An encryption method that assigns 0 or 1 so that
請求項1から請求項5のいずれかに記載の暗号化装置としてコンピュータを機能させるための暗号化プログラム。 An encryption program for operating a computer as the encryption device according to any one of claims 1 to 5.
JP2020018530A 2020-02-06 2020-02-06 Encryption device, decryption device, encryption method and encryption program Active JP7295818B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020018530A JP7295818B2 (en) 2020-02-06 2020-02-06 Encryption device, decryption device, encryption method and encryption program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020018530A JP7295818B2 (en) 2020-02-06 2020-02-06 Encryption device, decryption device, encryption method and encryption program

Publications (2)

Publication Number Publication Date
JP2021125810A true JP2021125810A (en) 2021-08-30
JP7295818B2 JP7295818B2 (en) 2023-06-21

Family

ID=77459655

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020018530A Active JP7295818B2 (en) 2020-02-06 2020-02-06 Encryption device, decryption device, encryption method and encryption program

Country Status (1)

Country Link
JP (1) JP7295818B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022057188A (en) * 2020-09-30 2022-04-11 Kddi株式会社 Encryption device, decryption device, encryption method, and encryption program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012098649A1 (en) * 2011-01-18 2012-07-26 三菱電機株式会社 Encryption system, encryption processing method for encryption system, encryption device, encryption program, decryption device, decryption program, setup device, setup program, key generation device, key generation program, key assignment device and key assignment program
KR20180113323A (en) * 2017-04-06 2018-10-16 한양대학교 산학협력단 Wildcard identity-based key derivation, encryption and decryption method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012098649A1 (en) * 2011-01-18 2012-07-26 三菱電機株式会社 Encryption system, encryption processing method for encryption system, encryption device, encryption program, decryption device, decryption program, setup device, setup program, key generation device, key generation program, key assignment device and key assignment program
KR20180113323A (en) * 2017-04-06 2018-10-16 한양대학교 산학협력단 Wildcard identity-based key derivation, encryption and decryption method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ABDALLA, M. ET AL.: "Wildcarded identity-based encryption", JOURNAL OF CRYPTOLOGY, vol. 24, JPN6023005285, 12 February 2010 (2010-02-12), pages 42 - 82, XP037087977, ISSN: 0004988613, DOI: 10.1007/s00145-010-9060-3 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022057188A (en) * 2020-09-30 2022-04-11 Kddi株式会社 Encryption device, decryption device, encryption method, and encryption program
JP7365310B2 (en) 2020-09-30 2023-10-19 Kddi株式会社 Encryption device, decryption device, encryption method and encryption program

Also Published As

Publication number Publication date
JP7295818B2 (en) 2023-06-21

Similar Documents

Publication Publication Date Title
Ducas et al. Sanitization of FHE ciphertexts
US9413729B2 (en) Symmetric encryption apparatus and storage medium, and symmetric decryption apparatus and storage medium
JP5402632B2 (en) Common key block encryption apparatus, common key block encryption method, and program
JP5618881B2 (en) Cryptographic processing system, key generation device, encryption device, decryption device, cryptographic processing method, and cryptographic processing program
JP4979068B2 (en) Secret function calculation method and apparatus, and program
JP5921410B2 (en) Cryptosystem
Zhandry New Techniques for Traitor Tracing: Size and More from Pairings
WO2020110800A1 (en) Encryption system, encryption device, decoding device, encryption method, encryption method, decoding method, and program
CN109643504B (en) Encryption system, encryption method, and computer-readable storage medium
JP2006086568A (en) Information processing method, decryption processing method, information processing apparatus, and computer program
JP2005286959A (en) Information processing method, decoding processing method, information processor and computer program
JP4860708B2 (en) Stream cipher method and cipher system
JP7295818B2 (en) Encryption device, decryption device, encryption method and encryption program
de la Piedra et al. ACABELLA: Automated (Crypt) analysis of Attribute-Based Encryption Leveraging Linear Algebra
JP6053983B2 (en) Cryptographic system, signature system, cryptographic program and signature program
JP5730804B2 (en) Encryption device, re-encryption key obfuscation device, re-encryption device, decryption device, and re-encryption system
WO2006030635A1 (en) Information processing method, decoding method, information processing device, and computer program
EP1734493B1 (en) Padding application method to ensure the security of the ntru encryption
JP2019211735A (en) Conversion key generation device, ciphertext converter, decryption device, ciphertext conversion system, conversion key generation method, ciphertext conversion method, decryption method, and program
JP7365310B2 (en) Encryption device, decryption device, encryption method and encryption program
Chaudhari et al. Parallel DES with modified mode of operation
Mittal et al. A retrospective study on NTRU cryptosystem
JP5279824B2 (en) Information processing apparatus and program
JP2007020025A (en) Information processing device, information processing method, and computer program
Jia et al. Cryptanalysis of multilinear maps from ideal lattices: revisited

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230403

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230609

R150 Certificate of patent or registration of utility model

Ref document number: 7295818

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150