JP7365310B2 - Encryption device, decryption device, encryption method and encryption program - Google Patents

Encryption device, decryption device, encryption method and encryption program Download PDF

Info

Publication number
JP7365310B2
JP7365310B2 JP2020165303A JP2020165303A JP7365310B2 JP 7365310 B2 JP7365310 B2 JP 7365310B2 JP 2020165303 A JP2020165303 A JP 2020165303A JP 2020165303 A JP2020165303 A JP 2020165303A JP 7365310 B2 JP7365310 B2 JP 7365310B2
Authority
JP
Japan
Prior art keywords
wildcard
multidimensional
encryption
range
algorithm
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.)
Active
Application number
JP2020165303A
Other languages
Japanese (ja)
Other versions
JP2022057188A (en
Inventor
理人 石坂
晋作 清本
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 JP2020165303A priority Critical patent/JP7365310B2/en
Publication of JP2022057188A publication Critical patent/JP2022057188A/en
Application granted granted Critical
Publication of JP7365310B2 publication Critical patent/JP7365310B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Description

本発明は、多次元範囲暗号(Multi-Dimensional Range Encryption, MDRE)を構成する装置、方法及びプログラムに関する。 The present invention relates to an apparatus, method, and program for configuring Multi-Dimensional Range Encryption (MDRE).

従来、指定された範囲に含まれる周期(あるいは数値)に対応する秘密鍵によってのみ復号が可能な時間指定暗号(Time-Specific Encryption, TSE)の構成法が提案されている。
例えば、特許文献1及び非特許文献1では、任意のワイルドカードIDベース暗号(Wildcarded Identity-Based Encryption, WIBE)からTSEを構成する一般的構成法が提案されている。
また、非特許文献2では、任意のIDベース暗号(Identity-Based Encryption, IBE)からTSEを構成する一般的構成法が提案されている。
BACKGROUND ART Conventionally, a method of configuring a time-specific encryption (TSE) that can be decrypted only with a secret key corresponding to a period (or numerical value) included in a specified range has been proposed.
For example, Patent Document 1 and Non-Patent Document 1 propose a general construction method of configuring a TSE from an arbitrary wildcarded identity-based encryption (WIBE).
Furthermore, Non-Patent Document 2 proposes a general construction method for configuring a TSE from arbitrary ID-based encryption (IBE).

さらに、1次元のTSEを多次元化したMDREについて、非特許文献3では、既存の具体的な階層的IDベース暗号(Hierarchical IBE, HIBE)方式の構成法を参考にした具体的なMDRE方式の構成法が提案されている。 Furthermore, regarding MDRE that multidimensionalizes one-dimensional TSE, Non-Patent Document 3 describes a specific MDRE method based on the configuration method of an existing specific hierarchical ID-based encryption (Hierarchical IBE, HIBE) method. A construction method has been proposed.

特願2020-18530号明細書Patent Application No. 2020-18530

M. Ishizaka and S. Kiyomoto. Time-specific encryption with constant size secret-keys secure under standard assumption. Cryptology ePrint Archive: Report 2020/595, 2020.M. Ishizaka and S. Kiyomoto. Time-specific encryption with constant size secret-keys secure under standard assumption. Cryptology ePrint Archive: Report 2020/595, 2020. 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. K. Kasamatsu, T. Matsuda, G. Hanaoka and H. Imai. Ciphertext policy multi-dimensional range encryption. In ICISC 2012, volume 7839 of LNCS, pages 247-261. Springer, 2012.K. Kasamatsu, T. Matsuda, G. Hanaoka and H. Imai. Ciphertext policy multi-dimensional range encryption. In ICISC 2012, volume 7839 of LNCS, pages 247-261. Springer, 2012.

しかしながら、任意のWIBEからMDREを構成する一般的構成法は提案されていなかった。また、非特許文献1で提案されているTSEの構成法をMDREに拡張することは難しく、多次元化はできていなかった。 However, a general configuration method for configuring an MDRE from arbitrary WIBEs has not been proposed. Furthermore, it is difficult to extend the TSE construction method proposed in Non-Patent Document 1 to MDRE, and multidimensionality has not been achieved.

本発明は、任意のWIBEからMDREを構成できる暗号化装置、復号装置、暗号化方法及び暗号化プログラムを提供することを目的とする。 An object of the present invention is to provide an encryption device, a decryption device, an encryption method, and an encryption program that can configure an MDRE from any WIBE.

本発明に係る暗号化装置は、T個の数値に対して、それぞれlogTビットのビット列を割り当てる二値化部と、多次元範囲暗号における次元毎の値に対応する数値に割り当てられた前記ビット列を結合し、結合後の単一の多次元IDに基づいて秘密鍵を生成する鍵生成部と、前記次元毎に、設定された値の範囲に割り当てられた前記ビット列の全てをカバーするワイルドカードID集合を生成するID集合生成部と、前記ワイルドカードID集合から1要素ずつ取り出した組み合わせ毎に、全要素を結合して単一の多次元ワイルドカードIDとし、全組み合わせの当該多次元ワイルドカードIDを要素とした集合を生成する多次元ID集合生成部と、前記多次元ワイルドカードIDのそれぞれに基づいて、ワイルドカードIDベース暗号方式により平文を暗号化し、当該暗号化の結果の全てを暗号文として出力する暗号化部と、を備える。 The encryption device according to the present invention includes a binarization unit that allocates a bit string of logT bits to each of T numerical values, and a binarization unit that allocates a bit string of logT bits to each of T numerical values; a key generation unit that combines and generates a secret key based on a single multidimensional ID after the combination; and a wildcard ID that covers all of the bit strings assigned to a set value range for each dimension. An ID set generation unit that generates a set, and for each combination extracted one element from the wildcard ID set, all elements are combined into a single multidimensional wildcard ID, and the multidimensional wildcard ID of all combinations is A multidimensional ID set generation unit that generates a set with elements of and an encryption unit that outputs as .

前記暗号化装置は、前記多次元ID及び前記多次元ワイルドカードIDに対して、全単射関数によって示されるビット位置を入れ替える変換部を備えてもよい。 The encryption device may include a conversion unit that replaces bit positions indicated by a bijection function with respect to the multidimensional ID and the multidimensional wildcard ID.

前記二値化部は、前記数値の並びを再帰的に2分割した際に、分割点を軸に両側のブロックに含まれる前記ビット列のいずれか1ビットのみは反転し、他のビットは対称となるように0又は1を割り当ててもよい。 The binarization unit recursively divides the sequence of numerical values into two, inverting only one bit of the bit string included in blocks on both sides around the division point, and making the other bits symmetrical. You may assign 0 or 1 so that

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

前記次元毎の値に対して前記数値は、所定の数だけ巡回シフトさせて対応付けられてもよい。 The numerical value may be cyclically shifted by a predetermined number and associated with the value for each dimension.

前記ID集合生成部は、前記数値の並びを再帰的に2分割していく際に得られるブロックのうち、前記範囲に含まれる最も大きなブロックの始点において、前記範囲を分割し、分割された部分範囲毎に前記ワイルドカードID集合を生成してもよい。 The ID set generation unit divides the range at the starting point of the largest block included in the range among the blocks obtained by recursively dividing the sequence of numbers into two, and generates the divided portion. The wildcard ID set may be generated for each range.

前記ID集合生成部は、前記部分範囲毎に生成された集合の全体をカバーする前記ワイルドカードID集合を生成してもよい。 The ID set generation unit may generate the wildcard ID set that covers the entire set generated for each partial range.

本発明に係る復号装置は、前記暗号化装置により生成された暗号文に用いられた多次元ワイルドカードIDのいずれかの条件に、前記秘密鍵により示される前記多次元IDが合致する場合に、当該暗号文を、前記ワイルドカードIDベース暗号方式により復号する。 The decryption device according to the present invention provides, when the multidimensional ID indicated by the private key matches any condition of the multidimensional wildcard ID used in the ciphertext generated by the encryption device, The ciphertext is decrypted using the wildcard ID-based encryption method.

本発明に係る暗号化方法は、T個の数値に対して、それぞれlogTビットのビット列を割り当てる二値化ステップと、多次元範囲暗号における次元毎の値に対応する数値に割り当てられた前記ビット列を結合し、結合後の単一の多次元IDに基づいて秘密鍵を生成する鍵生成ステップと、前記次元毎に、設定された値の範囲に割り当てられた前記ビット列の全てをカバーするワイルドカードID集合を生成するID集合生成ステップと、前記ワイルドカードID集合から1要素ずつ取り出した組み合わせ毎に、全要素を結合して単一の多次元ワイルドカードIDとし、全組み合わせの当該多次元ワイルドカードIDを要素とした集合を生成する多次元ID集合生成ステップと、前記多次元ワイルドカードIDのそれぞれに基づいて、ワイルドカードIDベース暗号方式により平文を暗号化し、当該暗号化の結果の全てを暗号文として出力する暗号化ステップと、をコンピュータが実行する。 The encryption method according to the present invention includes a binarization step of assigning a bit string of logT bits to each of T numerical values, and a binarization step of assigning a bit string of logT bits to each of T numerical values; a key generation step of combining and generating a secret key based on a single multidimensional ID after combination; and a wildcard ID that covers all of the bit strings assigned to a set value range for each dimension. an ID set generation step of generating a set, and for each combination extracted one element from the wildcard ID set, all elements are combined into a single multidimensional wildcard ID, and the multidimensional wildcard ID of all combinations is a multidimensional ID set generation step of generating a set with elements, and encrypting plaintext using a wildcard ID-based encryption method based on each of the multidimensional wildcard IDs, and converting all the results of the encryption into ciphertext. The computer executes the encryption step of outputting as .

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

本発明によれば、任意のWIBEからMDREを構成できる。 According to the present invention, an MDRE can be configured from any WIBE.

第1の構成法を実現する暗号化装置の機能構成を示す図である。FIG. 2 is a diagram showing a functional configuration of an encryption device that implements a first configuration method. WIBEtoMDREを構成する、セットアップアルゴリズム、鍵生成アルゴリズム、暗号化アルゴリズム、及び復号アルゴリズムの定義を示す図である。FIG. 2 is a diagram showing definitions of a setup algorithm, a key generation algorithm, an encryption algorithm, and a decryption algorithm that constitute WIBEtoMDRE. IBEtoTSEPQに関する完全二分木を例示する図である。FIG. 3 is a diagram illustrating a complete binary tree regarding IBEtoTSE PQ . アルゴリズムCoverの定義を示す図である。It is a figure which shows the definition of algorithm Coverl . 二値化アルゴリズムPQ.Binarize及びワイルドカードID集合生成アルゴリズムPQ.GenWIDの定義を示す図である。Binarization algorithm PQ. Binarize l and wildcard ID set generation algorithm PQ. It is a figure which shows the definition of GenWIDl . WIBEIKにより具体化されたWIBEtoMDREPQと、WIBEBGPにより具体化されたWIBEtoMDREPQとを比較評価した図である。It is a diagram comparing and evaluating WIBEtoMDRE PQ realized by WIBE IK and WIBEtoMDRE PQ realized by WIBE BGP . 第2の構成法を実現する暗号化装置の機能構成を示す図である。FIG. 3 is a diagram showing a functional configuration of an encryption device that implements a second configuration method. 関数φの定義を示す図である。It is a figure which shows the definition of function (phi) f . 一般化されたMDRE方式WIBEtoMDREの定義を示す図である。FIG. 3 is a diagram showing the definition of a generalized MDRE scheme WIBEtoMDRE f . 二値化アルゴリズムIK.Binarize及びワイルドカードID集合生成アルゴリズムIK.GenWIDの定義を示す図である。Binarization algorithm IK. Binarize l and wildcard ID set generation algorithm IK. It is a figure which shows the definition of GenWIDl . ワイルドカードID集合生成アルゴリズムIK.GenWIDが使用する補助アルゴリズムIK.Classify及びIK.Divideの定義を示す図である。Wildcard ID set generation algorithm IK. Auxiliary algorithm used by GenWID IK . Classify l and IK. It is a figure which shows the definition of Divide I. ワイルドカードID集合生成アルゴリズムIK.GenWIDが使用する補助アルゴリズムIK.Latter、IK.Former、及びIK.Mergeの定義を示す図である。Wildcard ID set generation algorithm IK. Auxiliary algorithm used by GenWID IK . Latter l , IK. Former l , and IK. It is a figure which shows the definition of Merge I. 二値化アルゴリズムIK.Binarizeを実行した際の入力と出力との対応関係を例示する図である。Binarization algorithm IK. FIG. 7 is a diagram illustrating the correspondence between input and output when Binarize I is executed. クラス分類アルゴリズムIK.Classifyの実行例を示す図である。Class classification algorithm IK. It is a figure which shows the execution example of Classifyl . 分割アルゴリズムIK.Divideの実行例を示す図である。Division algorithm IK. It is a figure which shows the example of execution of Divide 1 . 後半wID集合確定アルゴリズムIK.Latter、前半wID集合確定アルゴリズムIK.Former、及び前後半wID集合合併アルゴリズムIK.Mergeのそれぞれの実行後の状態を例示する図である。Second half wID set determination algorithm IK. Latter l , first half wID set determination algorithm IK. Former l , and front and rear wID set merging algorithm IK. FIG. 3 is a diagram illustrating the state after each execution of Merge I ; 二値化アルゴリズムIK.Binarize general及びワイルドカードID集合生成アルゴリズムIK.GenWID generalの定義を示す図である。Binarization algorithm IK. Binarize general and wildcard ID set generation algorithm IK. It is a figure which shows the definition of GenWIDl general . ワイルドカードID集合生成アルゴリズムIK.GenWID generalが使用する補助アルゴリズムClassify general及びDivide generalの定義を示す図である。Wildcard ID set generation algorithm IK. FIG. 3 is a diagram showing definitions of auxiliary algorithms Classify general and Divide general used by GenWID general . ワイルドカードID集合生成アルゴリズムIK.GenWID generalが使用する補助アルゴリズムIK.Latter general、IK.Former general及びIK.Merge generalの定義を示す図である。Wildcard ID set generation algorithm IK. Auxiliary algorithm IK . Latter general , IK. Former general and IK . It is a figure which shows the definition of Merge general . 特定のパラメータの下での二値化アルゴリズムIK.Binarize generalの実行例を示す図である。Binarization algorithm IK. under certain parameters. It is a figure which shows the execution example of Binarize l general .

以下、本発明の実施形態の一例について説明する。
本実施形態は、多次元範囲暗号(MDRE)の構成法に関し、まず、MDREを説明した後、ワイルドカードIDベース暗号(WIBE)について説明する。
An example of an embodiment of the present invention will be described below.
The present embodiment relates to a method of constructing a multidimensional range cipher (MDRE). First, MDRE will be explained, and then a wildcard ID-based cipher (WIBE) will be explained.

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

まず、λ∈N(自然数)として、1λは、秘密鍵長等を決定するセキュリティパラメータである。また、D∈Nは、総次元数を表す。各次元i∈[1,D]に対して、自然数T∈Nについて、[0,T-1]は、総数値数を表す。 First, where λ∈N (natural number), 1 λ is a security parameter that determines the secret key length and the like. Further, D∈N represents the total number of dimensions. For each dimension i∈[1,D], for a natural number T i ∈N, [0,T i −1] represents the total number of numerical values.

セットアップアルゴリズムSetupは、(1λ,D,T,…,T)を入力として受け取り、マスタ公開鍵mpkとマスタ秘密鍵mskを出力する。このアルゴリズムの実行を、(mpk,msk)←Setup(1λ,D,T,…,T)と表記する。平文空間Mは、マスタ公開鍵mpkにより一意に定まるものとする。
セットアップアルゴリズムは、信頼できる第三者機関(Trusted Authority, TA)により実行される。マスタ秘密鍵mskは、TAにより秘密裏に保持される。また、マスタ公開鍵mpkは、3つのアルゴリズム{KGen,Enc,Dec}に対して暗黙的に入力される。
The setup algorithm Setup receives (1 λ , D, T 1 , . . . , T D ) as input and outputs a master public key mpk and a master private key msk. The execution of this algorithm is expressed as (mpk, msk)←Setup(1 λ , D, T 1 ,..., T D ). It is assumed that the plaintext space M is uniquely determined by the master public key mpk.
The setup algorithm is executed by a trusted third party (Trusted Authority, TA). The master private key msk is held secretly by the TA. Further, the master public key mpk is implicitly input to three algorithms {KGen, Enc, Dec}.

鍵生成アルゴリズムKGenは、マスタ秘密鍵mskとD個の数値Q:=(t,…,t)とを入力として受け取り、秘密鍵skを出力する。ただし、全てのi∈[1,D]について、t∈[0,T-1]とする。このアルゴリズムの実行を、sk←KGen(msk,t,…,t)と表記する。
この鍵生成アルゴリズムKGenは、mskを用いてTAにより実行される。生成された秘密鍵skは、所定の安全な手段により鍵の所有者に譲渡されるものとする。
The key generation algorithm KGen receives as input the master secret key msk and D numerical values Q:=(t 1 , . . . , t D ), and outputs the secret key sk Q. However, for all i∈[1, D], t i ∈[0, T i −1]. The execution of this algorithm is written as sk Q ←KGen(msk, t 1 ,..., t D ).
This key generation algorithm KGen is executed by the TA using msk. It is assumed that the generated private key skQ is transferred to the key owner by a predetermined secure means.

暗号化アルゴリズムEncは、平文m∈Mと、D個の範囲R:=([L,R],…,[L,R])を入力として受け取り、暗号文Cを出力する。ただし、全てのi∈[1,D]について、[L∈[0,T-1]∧R∈[0,T-1]]とする。このとき、各i∈[1,D]について、L≦Rであれば、[L,R]は、集合{L,L+1,…,R-1,R}と等価であり、L>Rであれば、[L,R]は、集合{L,…,T-1}∪{0,…,R}と等価である。このアルゴリズムの実行を、C←Enc(m,[L,R],…,[L,R])と表記する。 The encryption algorithm Enc receives as input a plaintext m∈M and D ranges R:=([L 1 , R 1 ], ..., [L D , R D ]), and outputs a ciphertext CR. . However, for all i∈[1, D], [L i ∈[0, T i −1]∧R i ∈[0, T i −1]]. At this time, for each i∈[1,D], if L i ≦R i , [L i , R i ] is the set {L i , L i +1, ..., R i -1, R i } If L i >R i , [L i , R i ] is equivalent to the set {L i , . . . , T i -1}∪{0, . . . , R i }. The execution of this algorithm is expressed as C R ←Enc(m, [L 1 , R 1 ], ..., [L D , R D ]).

復号アルゴリズムDecは、秘密鍵skと暗号文Cとを入力として受け取り、平文m∈Mあるいは復号失敗を表す特殊な記号⊥を出力する。このアルゴリズムの実行を、m/⊥←Dec(sk,C)と表記する。 The decryption algorithm Dec receives the secret key skQ and the ciphertext CR as input, and outputs the plaintext m∈M or a special symbol ⊥ representing decryption failure. The execution of this algorithm is expressed as m/⊥←Dec(sk Q , C R ).

ここで、いかなるMDRE方式も正当(Correct)であることが要求される。
MDRE方式ΣMDRE={Setup,KGen,Enc,Dec}が正当であるとは、ある平文mがあるD個の範囲Rの下で正しく暗号化された場合に、この暗号文は、当該範囲に含まれるD個の数値Qに対応する鍵として正しく作られた秘密鍵を用いることで、正しく復号できる場合をいい、次のように定義される。
∀λ∈N,∀D∈N,∀T∈N,…,∀T∈N,∀(mpk,msk)←Setup(1λ,D,T,…,T),∀t∈[0,T-1],…,∀t∈[0,T-1],∀sk←KGen(msk,t,…,t),where Q:=(t,…,t),∀m∈M,∀L∈[0,T-1],∀R∈[0,T-1],…,∀L∈[0,T-1],∀R∈[0,T-1] s.t. ∧i∈[1,D]∈[L,R],∀C←Enc(m,[L,R],…,[L,R]),where R:=([L,R],…,[L,R]),m←Dec(sk,C).
Here, any MDRE method is required to be correct.
MDRE method Σ MDRE = {Setup, KGen, Enc, Dec} is valid if a certain plaintext m is correctly encrypted under a certain D range R, then this ciphertext is valid within the range R. This refers to a case where decoding can be performed correctly by using a properly created secret key as a key corresponding to the D numbers Q included, and is defined as follows.
∀λ∈N, ∀D∈N, ∀T 1 ∈N, ..., ∀T D ∈N, ∀ (mpk, msk)←Setup (1 λ , D, T 1 , ..., T D ), ∀t 1 ∈[0,T 1 -1],...,∀t D ∈[0,T D -1],∀sk Q ←KGen(msk,t 1 ,...,t D ), where Q:=(t 1 , ..., t D ), ∀m∈M, ∀L 1 ∈[0, T 1 -1], ∀R 1 ∈[0, T 1 -1], ..., ∀L D ∈[0, T D -1 ], ∀R D ∈[0, T D −1] s. t. ∧ i∈[1,D] t i ∈[L i , R i ], ∀C R ←Enc(m, [L 1 , R 1 ], ..., [L D , R D ]), where R:= ([L 1 , R 1 ],..., [L D , R D ]), m←Dec(sk Q , C R ).

[ワイルドカードIDベース暗号(WIBE)]
WIBEは、以下の4つの多項式時間アルゴリズム{Setup,KGen,Enc,Dec}により構成される。なお、Decは確定的アルゴリズムであり、それ以外は確率的アルゴリズムである。
ここで、λ∈N(自然数)として、1λは、秘密鍵長等を決定するセキュリティパラメータである。また、l∈Nは、ID長及びワイルドカードID長を表す。
[Wildcard ID-based encryption (WIBE)]
WIBE is composed of the following four polynomial time algorithms {Setup, KGen, Enc, Dec}. Note that Dec is a deterministic algorithm, and the others are probabilistic algorithms.
Here, λ∈N (natural number) is 1. λ is a security parameter that determines the secret key length and the like. Furthermore, l∈N represents the ID length and wildcard ID length.

セットアップアルゴリズムSetupは、(1λ,l)を入力として受け取り、マスタ公開鍵mpkとマスタ秘密鍵mskとを出力する。このアルゴリズムの実行を、(mpk,msk)←Setup(1λ,l)と表記する。平文空間Mは、マスタ公開鍵mpkにより一意に定まるものとする。また、マスタ公開鍵mpkは、3つのアルゴリズム{KGen,Enc,Dec}に対して暗黙的に入力される。 The setup algorithm Setup receives (1 λ , l) as input and outputs a master public key mpk and a master private key msk. The execution of this algorithm is expressed as (mpk, msk)←Setup (1 λ , l). It is assumed that the plaintext space M is uniquely determined by the master public key mpk. Further, the master public key mpk is implicitly input to three algorithms {KGen, Enc, Dec}.

鍵生成アルゴリズムKGenは、mskとID∈{0,1}とを入力として受け取り、秘密鍵skIDを出力する。このアルゴリズムの実行を、skID←KGen(msk,ID)と表記する。 The key generation algorithm KGen receives msk and ID∈{0,1} l as input, and outputs the secret key sk ID . The execution of this algorithm is written as sk ID ←KGen(msk, ID).

暗号化アルゴリズムEncは、平文m∈Mと、ワイルドカードID wID∈{0,1,*}とを入力として受け取り、暗号文CwIDを出力する。このアルゴリズムの実行を、CwID←Enc(m,wID)と表記する。 The encryption algorithm Enc receives as input the plaintext m∈M and the wildcard ID wID∈{0,1,*} l , and outputs the ciphertext C wID . The execution of this algorithm is written as C wID ←Enc(m, wID).

復号アルゴリズムDecは、秘密鍵skIDと暗号文CwIDとを入力として受け取り、平文m∈Mあるいは復号失敗を表す特殊な記号⊥を出力する。このアルゴリズムの実行を、m/⊥←Dec(skID,CwID)と表記する。 The decryption algorithm Dec receives the secret key sk ID and the ciphertext C wID as input, and outputs the plaintext m∈M or a special symbol ⊥ representing decryption failure. The execution of this algorithm is expressed as m/⊥←Dec(sk ID , C wID ).

WIBE方式に関しては、これらの主要アルゴリズムに加えて次の補助アルゴリズムを導入する。
wID条件合致判定アルゴリズムMatchは、ID∈{0,1}及びwID∈{0,1,*}を入力として受け取り、IDがwIDの条件に合致するか否かを判定し、ビットb∈{0,1}を出力する。具体的には、wID条件合致判定アルゴリズムMatchは、全てのi∈[0,l-1] s.t. wID[i]∈{0,1}について、ID[i]=wID[i]が成立する場合、1を出力し、それ以外の場合、0を出力する。
Regarding the WIBE method, in addition to these main algorithms, the following auxiliary algorithms are introduced.
The wID condition matching determination algorithm Match l receives ID∈{0,1} l and wID∈{0,1,*} l as input, determines whether the ID matches the wID condition, and selects bit b Output ∈{0,1}. Specifically, the wID condition matching algorithm Match l is used for all i∈[0,l-1] s. t. For wID[i]∈{0,1}, if ID[i]=wID[i] holds, 1 is output; otherwise, 0 is output.

ここで、いかなるWIBE方式も正当(Correct)であることが要求される。
WIBE方式ΣWIBE={Setup,KGen,Enc,Dec}が正当であるとは、ある平文mがあるwIDの下で正しく暗号化された場合に、この暗号文は、wIDの条件を満足するIDに対応する鍵として正しく作られた秘密鍵により、正しく復号される場合をいい、次のように定義される。
∀λ∈N,∀l∈N,∀(mpk,msk)←Setup(1λ,l),∀ID∈{0,1},∀skID←KGen(msk,ID),∀m∈M,∀wID∈{0,1,*} s.t. Match(ID,wID)=1,∀CwID←Enc(m,wID),m←Dec(skID,CwID).
Here, any WIBE method is required to be correct.
WIBE method Σ WIBE = {Setup, KGen, Enc, Dec} is valid if a certain plaintext m is correctly encrypted under a certain wID, then this ciphertext is an ID that satisfies the conditions of wID. This refers to the case where the data is correctly decrypted using a correctly created private key corresponding to the key, and is defined as follows.
∀λ∈N, ∀l∈N, ∀(mpk, msk)←Setup(1 λ , l), ∀ID∈{0,1} l , ∀sk ID ←KGen(msk, ID), ∀m∈M ,∀wID∈{0,1,*} l s. t. Match l (ID, wID) = 1, ∀C wID ←Enc (m, wID), m←Dec (sk ID , C wID ).

[WIBEを用いたMDREの第1の構成法]
WIBEを用いたMDREの一般的構成法の一形態(WIBEtoMDRE)では、MDRE方式が、任意の正当なWIBE方式ΣWIBE={Setup’,KGen’,Enc’,Dec’,Match}と、独自の確定的アルゴリズムBinarize及びGenWIDとを用いて構成される。
以下、MDREの構成法を実現した暗号化装置1の機能構成を示し、続いて、構成されたMDRE方式のアルゴリズムを説明する。
[First configuration method of MDRE using WIBE]
In one form of the general configuration method of MDRE using WIBE (WIBE to MDRE), the MDRE method is an arbitrary valid WIBE method Σ WIBE = {Setup', KGen', Enc', Dec', Match l } is constructed using the deterministic algorithms Binarize l and GenWID l .
The functional configuration of the encryption device 1 that implements the MDRE configuration method will be shown below, and then the algorithm of the configured MDRE system will be explained.

図1は、第1の構成法を実現する暗号化装置1の機能構成を示す図である。
暗号化装置1は、サーバ装置又はパーソナルコンピュータ等の情報処理装置(コンピュータ)であり、制御部10及び記憶部20の他、各種データの入出力デバイス及び通信デバイス等を備える。
FIG. 1 is a diagram showing the functional configuration of an encryption device 1 that implements the first configuration method.
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, a storage unit 20, various data input/output devices, communication devices, and the like.

制御部10は、暗号化装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。 The control unit 10 is a part that controls the entire encryption device 1, and realizes each function in this 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) and various data for making the hardware group function as the encryption device 1, and is a storage area such as ROM, RAM, flash memory, hard disk drive (HDD), etc. It's good to be there.

制御部10は、二値化部11と、ID集合生成部12と、多次元ID集合生成部13と、セットアップ部14と、鍵生成部15と、暗号化部16と、復号部17とを備える。 The control unit 10 includes a binarization unit 11, an ID set generation unit 12, a multidimensional ID set generation unit 13, a setup unit 14, a key generation unit 15, an encryption unit 16, and a decryption unit 17. Be prepared.

二値化部11は、二値化アルゴリズムBinarizeを実行することにより、T個の数値に対して、それぞれlogTビットのビット列を割り当てる。すなわち、二値化部11は、l∈Nとしたとき、数値t∈[0,2-1]を入力として受け取り、ビット列str∈{0,1}を出力する。ここで、二値化アルゴリズムは正当でなければならないとする。
二値化アルゴリズムが正当であるとは、全単射である場合をいい、ビット列strは、数値tの二進数表現とは必ずしも一致しない。
The binarization unit 11 allocates a bit string of logT bits to each of the T numerical values by executing the binarization algorithm Binarize l . That is, when l∈N, the binarization unit 11 receives a numerical value t∈[0,2 l −1] as an input and outputs a bit string str∈{0,1} l . Here, it is assumed that the binarization algorithm must be valid.
A binary algorithm is valid if it is a bijection, and the bit string str does not necessarily match the binary representation of the numerical value t.

ID集合生成部12は、ワイルドカードID集合生成アルゴリズムGenWIDを実行することにより、次元毎に、設定された値の範囲に割り当てられたビット列の全てをカバーするワイルドカードID集合を生成する。すなわち、ID集合生成部12は、l∈Nとしたとき、数値範囲[L,R](ただし、L,R∈[0,2-1]とする)を入力として受け取り、ワイルドカードID集合T={str∈{0,1,*}}を出力する。ここで、ワイルドカードID集合生成アルゴリズムは、正当な二値化アルゴリズムBinarizeの下で正当でなければならないとする。 The ID set generation unit 12 generates a wildcard ID set that covers all bit strings assigned to a set value range for each dimension by executing a wildcard ID set generation algorithm GenWIDl . That is, when l∈N, the ID set generation unit 12 receives as input a numerical range [L, R] (where L, R∈[0, 2 l −1]), and generates a wildcard ID set. Output T={str∈{0,1,*} l }. Here, it is assumed that the wildcard ID set generation algorithm must be valid under a valid binarization algorithm Binarize l .

ワイルドカードID集合生成アルゴリズムが正当であるとは、出力されるワイルドカードID集合が範囲[L,R]に含まれる数値のみを漏れなくカバーする場合であり、全てのl∈N、全てのL∈[0,2-1]、全てのR∈[0,2-1]について、T[L,R]←GenWID(L,R)とした上で、次の両条件が成立する場合をいう。
・∀t∈[L,R],∃wid∈T[L,R],1←Match(Binarize(t),wid).
・∀t∈[0,2-1]\[L,R],∀wid∈T[L,R],0←Match(Binarize(t),wid).
A wildcard ID set generation algorithm is valid if the output wildcard ID set covers only the numerical values included in the range [L, R], and all l∈N, all L For all R∈[0,2 l -1], T [L, R] ←GenWID l (L, R), and the following conditions hold. Refers to the case.
・∀t∈[L,R], ∃wid∈T [L,R] , 1←Match l (Binarize l (t), wid).
・∀t∈[0,2 l −1]\[L,R],∀wid∈T [L,R] ,0←Match l (Binarize l (t), wid).

多次元ID集合生成部13は、ID集合生成部12により生成された各次元のワイルドカードID集合から1要素ずつ取り出した組み合わせ毎に、全要素を結合して単一の多次元ワイルドカードIDとし、全組み合わせの多次元ワイルドカードIDを要素とした集合を生成する。 The multidimensional ID set generation unit 13 extracts one element from the wildcard ID set of each dimension generated by the ID set generation unit 12, and combines all elements into a single multidimensional wildcard ID for each combination. , generates a set with all combinations of multidimensional wildcard IDs as elements.

セットアップ部14は、MDREにおける各次元のビット長の和をID長として、WIBE方式のセットアップアルゴリズムKGen’を使用して、マスタ公開鍵及びマスタ秘密鍵を出力する。 The setup unit 14 uses the WIBE setup algorithm KGen' to output a master public key and a master private key, using the sum of the bit lengths of each dimension in MDRE as the ID length.

鍵生成部15は、MDREにおける次元毎の値に対応する数値に割り当てられたビット列strを結合し、結合後の多次元ビット列をID(多次元ID)として、WIBE方式の鍵生成アルゴリズムKGen’を使用して秘密鍵を生成する。 The key generation unit 15 combines the bit strings str assigned to numerical values corresponding to the values of each dimension in MDRE, uses the combined multidimensional bit string as an ID (multidimensional ID), and uses the WIBE method key generation algorithm KGen'. Generate a private key using

暗号化部16は、多次元ID集合生成部13により生成された集合の要素である多次元ワイルドカードIDのそれぞれに基づいて、WIBE方式の暗号化アルゴリズムEnc’を使用して平文を暗号化し、暗号化の結果の全てを暗号文として出力する。 The encryption unit 16 encrypts the plaintext using the WIBE encryption algorithm Enc' based on each of the multidimensional wildcard IDs that are elements of the set generated by the multidimensional ID set generation unit 13, Output all encryption results as ciphertext.

復号部17は、暗号化部16により生成された暗号文に用いられた多次元ワイルドカードIDのいずれかの条件に、秘密鍵により示される多次元IDが合致する場合に、この暗号文を、WIBE方式の復号アルゴリズムDec’を使用して復号する。 If the multidimensional ID indicated by the private key matches any of the conditions of the multidimensional wildcard ID used in the ciphertext generated by the encryption unit 16, the decryption unit 17 converts the ciphertext into Decoding is performed using the WIBE method decoding algorithm Dec'.

図2は、WIBEtoMDREを構成する、セットアップアルゴリズムSetup、鍵生成アルゴリズムKGen、暗号化アルゴリズムEnc、及び復号アルゴリズムDecの定義を示す図である。 FIG. 2 is a diagram showing definitions of a setup algorithm Setup, a key generation algorithm KGen, an encryption algorithm Enc, and a decryption algorithm Dec, which constitute WIBEtoMDRE.

WIBEtoMDREの総次元数をD∈N、各次元の総数値数をT,…T∈Nとする。WIBEtoMDREでは、構成要素としてID長がΣi=1 logTのWIBE方式を採用する。 Let the total number of dimensions of WIBEtoMDRE be D∈N, and the total number of numerical values of each dimension be T 1 ,...T D ∈N. WIBEtoMDRE employs a WIBE method in which the ID length is Σ i = 1 D logT i as a component.

D個の数値t,…,t(ただし、t∈[0,T-1])に対応する秘密鍵は、各数値の二進ビット列をstr←BinarizelogTi(t)∈{0,1}logTiとし、さらに全ての二進ビット列を単純結合した二進ビット列(つまり、∥i=1 str)を単一のIDとした上で、当該IDに対応するWIBE方式の秘密鍵として生成される。 The secret key corresponding to D numbers t 1 ,...,t D (where t i ∈[0, T i -1]) is obtained by converting the binary bit string of each number into str i ←Binarize logTi (t i )∈ {0,1} logTi , and a binary bit string obtained by simply combining all binary bit strings (i.e., ∥ i=1 D str i ) as a single ID, and then the WIBE method corresponding to the ID. Generated as a private key.

D個の範囲[L,R],…,[L,R]の下で平文mを暗号化する際には、まず、各範囲のワイルドカードID集合T[Li,Ri]←GenWIDlogTi(L,R)を求め、多次元ワイルドカードID集合T* [L1,R1],…,[LD,RD]の要素を、各集合T[Li,Ri]から1要素ずつ取り出した組み合わせ毎に、全要素を単純結合することにより求める。つまり、T* [L1,R1],…,[LD,RD]:={∥i=1 wid|wid∈T[L1,R1],…,wid∈T[LD,RD]}である。 When encrypting plaintext m under D ranges [L 1 , R 1 ], ..., [L D , R D ], first, each range's wildcard ID set T [Li, Ri] ← Find GenWID logTi (L i , R i ) and extract one element from each set T [ Li, Ri] of the multidimensional wildcard ID set T * [L1, R1], ..., [LD, RD]. It is obtained by simply combining all elements for each combination. That is, T * [L1, R1],..., [LD, RD] :={∥ i=1 D wid i | wid 1 ∈T [L1, R1] ,..., wid D ∈T [LD, RD] } It is.

この多次元ワイルドカードID集合T* [L1,R1],…,[LD,RD]に含まれる各ワイルドカードIDの下で平文mをWIBE方式の暗号化アルゴリズムにより暗号化する。 Plaintext m is encrypted using the WIBE encryption algorithm under each wildcard ID included in this multidimensional wildcard ID set T * [L1,R1], . . . , [LD,RD] .

,…,tに対応する秘密鍵により、[L,R],…,[L,R]に対応する暗号文を復号する際には、各i∈[1,D]について、1←MatchlogTi(str,wid)を満たすwid∈T[Li,Ri]が存在するか否かを調べ、全てのi∈[1,D]について存在するならば、t,…,tに対応する秘密鍵(つまり、∥i=1 strに対応するWIBE秘密鍵)により、ワイルドカードID(∥i=1 wid)に対応するWIBE暗号文を復号し、復号結果を出力する。 When decrypting the ciphertext corresponding to [L 1 , R 1 ] , ..., [L D , R D ] using the private key corresponding to t 1 , ..., t D , each i∈[1, D ], check whether wid i ∈T [Li, Ri] that satisfies 1←Match logTi (str i , wid i ) exists, and if it exists for all i∈[1, D], then t 1 ,...,t Decrypt the WIBE ciphertext corresponding to the wildcard ID (∥ i=1 D wid i ) using the private key corresponding to D (that is, the WIBE private key corresponding to ∥ i=1 D str i ). and outputs the decryption result.

ここで、構成要素のWIBE方式が正当であり、かつ、2つのアルゴリズム(Binarize,GenWID)が正当であれば、WIBEtoMDREも正当であることがいえる。 Here, if the component WIBE method is valid and the two algorithms (Binarize l , GenWID l ) are valid, then it can be said that WIBE to MDRE is also valid.

次に、正当なアルゴリズム(Binarize,GenWID)の具体例として、PQ.Binarize及びPQ.GenWIDを示す。また、これらのアルゴリズムに基づくWIBEtoMDREを、WIBEtoMDREPQと表記する。 Next, as a specific example of a valid algorithm (Binarize l , GenWID l ), PQ. Binarize l and PQ. GenWID l is shown. Further, WIBEtoMDRE based on these algorithms is expressed as WIBEtoMDRE PQ .

WIBEtoMDREPQにおいて使用されるアルゴリズム(PQ.Binarize,PQ.GenWID)は、非特許文献2により提案されたIDベース暗号(IBE)を用いた時間指定暗号(TSE)の一般的構成法IBEtoTSEPQを技術的に参考にしている。
IBEtoTSEPQは、ID総数2T-1のIBE方式を採用する。IBEtoTSEPQにおいては、葉総数Tの完全二分木を導入する。
The algorithms (PQ.Binarize l , PQ.GenWID l ) used in WIBEtoMDRE PQ are based on the general construction method of timed encryption (TSE) using ID-based encryption (IBE) proposed by Non-Patent Document 2, IBEtoTSE PQ . is used as a technical reference.
IBEtoTSE PQ employs the IBE method with a total number of IDs of 2T-1. In IBEtoTSE PQ , a complete binary tree with a total number of leaves T is introduced.

図3は、IBEtoTSEPQに関する完全二分木を例示する図である。
ここでは、深さ3、葉総数T=8(=2)の完全二分木を示している。
各葉ノードは、各周期(数値)t∈[0,T-1]に対応する。具体的には、二進数str∈{0,1}logTが割り当てられた葉ノードは、この二進数を十進数化した数値t∈[0,T-1]に対応する。
FIG. 3 is a diagram illustrating a complete binary tree for IBEtoTSE PQ .
Here, a complete binary tree with a depth of 3 and a total number of leaves T=8 (=2 3 ) is shown.
Each leaf node corresponds to each period (number) tε[0, T-1]. Specifically, a leaf node to which a binary number str∈{0,1} logT is assigned corresponds to a value t∈[0,T−1] obtained by converting this binary number into a decimal number.

各数値t∈[0,T-1]の秘密鍵は、根ノードから数値tの葉ノードに至るまでに通過する計logT+1個のノードのIBE秘密鍵により構成される。具体的には、IDに対応する(ランダムに生成された)IBE秘密鍵をskIDと表記する場合、数値t∈[0,T-1]の秘密鍵は、sk=(skID=φ,skID=t[0],skID=t[0]∥t[1],…,skID=t[0]∥t[1]∥…∥t[logT-1])により定義される。なお、t[i]は、tの二進数表現における上位第iビットを表す。
例えば、T=8の場合、t=3の秘密鍵は、skt=3=(skφ,sk,sk01,sk011)となる。
The private key of each numerical value tε[0, T-1] is composed of the IBE private keys of a total of logT+1 nodes passed from the root node to the leaf node of the numerical value t. Specifically, when the (randomly generated) IBE private key corresponding to the ID is expressed as sk ID , the private key with the numerical value t∈[0, T-1] is sk t = (sk ID=φ , sk ID=t[0] , sk ID=t[0]∥t[1] ,..., sk ID=t[0]∥t[1]∥...∥t[logT-1] ) . Note that t[i] represents the i-th upper bit in the binary representation of t.
For example, when T=8, the secret key for t=3 is sk t=3 = (sk φ , sk 0 , sk 01 , sk 011 ).

次に、範囲[L,R]に対応する平文mの暗号文の生成方法を示す。ここで、ノードstr∈{0,1}≦logTに紐づけられた集合Sstrを導入する。Sstrは、先祖ノードの一つがノードstrである葉ノードの集合である。要するに、Sstr:={str∥i∈[0,logT-|str|-1]βi|βi∈{0,1}}である。ここで、|str|∈[0,logT]は、strのビット長を表す。
例えば、T=8の場合、S={100,101,110,111}、S10={100,101}、S110={110}となる。
Next, a method for generating ciphertext of plaintext m corresponding to the range [L, R] will be described. Here, a set S str linked to the node str∈{0,1} ≦logT is introduced. S str is a set of leaf nodes where one of the ancestor nodes is node str. In short, S str :={str∥ i∈[0,logT−|str|−1] β ii ∈{0,1}}. Here, |str|∈[0,logT] represents the bit length of str.
For example, when T=8, S 1 ={100,101,110,111}, S 10 ={100,101}, and S 110 ={110}.

範囲[L,R]に対応する暗号文生成時には、始めに集合T[L,R]={str∈{0,1}≦logT}を求める。T[L,R]は、二分木における数値Lから数値Rの葉ノード全てをカバーするノードの集合である。具体的には、T[L,R]は、次に示すアルゴリズムCoverにより求められる。 When generating a ciphertext corresponding to the range [L, R], a set T [L, R] = {str∈{0,1} ≦logT } is first obtained. T [L,R] is a set of nodes covering all leaf nodes from number L to number R in the binary tree. Specifically, T [L, R] is determined by the following algorithm Cover l .

図4は、アルゴリズムCoverの定義を示す図である。
ここで、Parentは、葉総数2の完全二分木において、ノード(節)を受け取り、当該ノードの親ノードを出力する関数である。なお、Coverは、非特許文献2におけるAlgorithm 1と機能的に同一である。
例えば、T=8の場合、T[2,6]={01,10,110}、T[0,6]={0,10,110}、T[7,7]={111}となる。
FIG. 4 is a diagram showing the definition of the algorithm Cover l .
Here, Parent l is a function that receives a node (node) in a complete binary tree with a total number of leaves of 2 l and outputs the parent node of the node. Note that Cover 1 is functionally the same as Algorithm 1 in Non-Patent Document 2.
For example, when T=8, T [2,6] = {01,10,110}, T [0,6] = {0,10,110}, and T [7,7] = {111}. .

集合T[L,R]の導出後、T[L,R]に含まれる各IDの下で、それぞれ平文mのIBE暗号文が生成される。そして、生成された全ての暗号文を一つにまとめたものが範囲[L,R]の暗号文になる。 After deriving the set T [L, R] , an IBE ciphertext of plaintext m is generated under each ID included in T [L, R] . Then, all the generated ciphertexts are combined into one ciphertext in the range [L,R].

数値tの秘密鍵で範囲[L,R]の暗号文を復号する際には、葉ノードt又はその先祖ノードに、集合T[L,R]に含まれるノードが存在するか否かを調べ、該当ノードが存在する場合は、該当ノードに対応するIBE秘密鍵により該当ノードに対応するIBE暗号文を復号する。なお、t∈[L,R]の場合に、該当ノードは確実に存在し、それ以外の場合に該当ノードは存在しない。 When decrypting a ciphertext in the range [L, R] with a private key of numerical value t, check whether there is a node included in the set T [L, R] in the leaf node t or its ancestor nodes. , if the corresponding node exists, the IBE ciphertext corresponding to the corresponding node is decrypted using the IBE private key corresponding to the corresponding node. Note that in the case of t∈[L,R], the corresponding node definitely exists, and in other cases, the corresponding node does not exist.

図5は、二値化アルゴリズムPQ.Binarize及びワイルドカードID集合生成アルゴリズムPQ.GenWIDの定義を示す図である。
二値化アルゴリズムPQ.Binarizeでは、数値t∈[0,2-1]を入力として受け取り、ビット列str∈{0,1}が出力される。
FIG. 5 shows the binarization algorithm PQ. Binarize l and wildcard ID set generation algorithm PQ. It is a figure which shows the definition of GenWIDl .
Binarization algorithm PQ. Binarize l receives a numerical value t∈[0,2 l −1] as an input, and outputs a bit string str∈{0,1} l .

ワイルドカードID集合生成アルゴリズムPQ.GenWIDでは、範囲[L,R]を入力として受け取り、まず、IBEtoTSEPQと同様の方法により、葉総数2の完全二分木における葉ノードLから葉ノードRまでをカバーするノード集合T[L,R]={str∈{0,1}≦l}が導出される。その後、集合T[L,R]に含まれるノード(ビット列)の中で、長さがlに満たないノード(ビット列)に対して、長さがlになるように、ワイルドカード記号(*)を右から補完する変換を施した後の集合T [L,R]が出力される。 Wildcard ID set generation algorithm PQ. GenWID l receives the range [L, R] as input, and first creates a node set T [L that covers from leaf node L to leaf node R in a complete binary tree with a total number of leaves of 2 l using a method similar to IBEtoTSE PQ. , R] = {str∈{0,1} ≦l } is derived. Then, among the nodes (bit strings) included in the set T [L, R] , for nodes (bit strings) whose length is less than l, a wild card symbol (*) is added so that the length becomes l. The set T * [L,R] after performing the transformation to complement from the right is output.

次に、既存のWIBE方式によるWIBEtoMDREPQの具体化の例を示す。
WIBEtoMDREPQを具体化する既存のWIBE方式として、非特許文献1で提案されたWIBE方式WIBEIKと、次の文献Aで提案されたWIBE方式WIBEBGPを取り上げる。
文献A:O. Blazy, P. Germouty, and D. H. Phan. Downgradable identity-based encryption and applications. In CT-RSA 2019, volume 11405 of LNCS, pages 44-61. Springer, 2019.
Next, an example of implementing WIBE to MDRE PQ using the existing WIBE method will be shown.
As existing WIBE methods that embody WIBE to MDRE PQ , we will take up the WIBE method WIBE IK proposed in Non-Patent Document 1 and the WIBE method WIBE BGP proposed in the following document A.
Document A: O. Blazy, P. Germouty, and DH Phan. Downgradable identity-based encryption and applications. In CT-RSA 2019, volume 11405 of LNCS, pages 44-61. Springer, 2019.

図6は、WIBEIKにより具体化されたWIBEtoMDREPQと、WIBEBGPにより具体化されたWIBEtoMDREPQとを比較評価した図である。
前者(WIBEIKによる場合)は、暗号文長及び暗号化計算コスト、特に群上のべき乗計算回数において、漸近的に非効率であるが、秘密鍵長は対称双線形ペアリングの群要素2つ分であり、いかなるパラメータD,T,…,Tにも依存せず、一定であるという特長を持つ。対する後者(WIBEBGPによる場合)は、前者と異なり、特定の項目で大きく劣るということが無く、全ての項目において無難に優れている。また、復号計算コストが一定であるという特長もある。
FIG. 6 is a diagram comparing and evaluating WIBEtoMDRE PQ realized by WIBE IK and WIBEtoMDRE PQ realized by WIBE BGP .
The former (with WIBE IK ) is asymptotically inefficient in terms of ciphertext length and encryption calculation cost, especially the number of exponentiation calculations over groups, but the secret key length is two group elements of a symmetric bilinear pairing. It has the feature that it is constant and does not depend on any parameters D, T 1 , . . . , TD . On the other hand, the latter (based on WIBE BGP ) differs from the former in that it is not significantly inferior in any particular item and is passably superior in all items. Another advantage is that the decoding calculation cost is constant.

[WIBEを用いたMDREの第2の構成法]
以下、第1の構成法の一般化に相当するMDRE方式を示す。このMDRE方式は、第1の構成法を実現する暗号化装置1に機能追加した暗号化装置1aにより実現される。
[Second configuration method of MDRE using WIBE]
The MDRE method corresponding to the generalization of the first configuration method will be described below. This MDRE method is realized by an encryption device 1a that has added functionality to the encryption device 1 that implements the first configuration method.

図7は、第2の構成法を実現する暗号化装置1aの機能構成を示す図である。
暗号化装置1aの制御部10aは、新たな機能部として、変換部18を備える。
変換部18は、鍵生成に用いられる多次元ID、及び暗号化に用いられる多次元ワイルドカードIDに対して、全単射関数によって示されるビット位置を入れ替え、鍵生成部15、暗号化部16及び復号部17に提供する。
すなわち、第2の構成法では、MDRE方式を定義する上で、次に示す2種類の関数が導入される。
FIG. 7 is a diagram showing the functional configuration of an encryption device 1a that implements the second configuration method.
The control unit 10a of the encryption device 1a includes a conversion unit 18 as a new functional unit.
The conversion unit 18 replaces the bit positions indicated by the bijective function with respect to the multidimensional ID used for key generation and the multidimensional wildcard ID used for encryption, and converts the key generation unit 15 and the encryption unit 16 and provided to the decoding unit 17.
That is, in the second configuration method, the following two types of functions are introduced in defining the MDRE method.

関数f:

Figure 0007365310000001

は、全単射であるとする。 Function f:
Figure 0007365310000001

Suppose that is a bijection.

関数φ

Figure 0007365310000002

は、全単射関数fに紐づけられた関数である。 Function φ f :
Figure 0007365310000002

is a function linked to the bijection function f.

図8は、関数φの定義を示す図である。
関数φは、入力ビット列における各ビット(iビット)を、全単射関数fにより一意に定まるf(i)ビットに移動した新たなビット列を出力するものである。
FIG. 8 is a diagram showing the definition of the function φ f .
The function φ f outputs a new bit string in which each bit (i bit) in the input bit string is moved to f(i) bits uniquely determined by the bijection function f.

図9は、一般化されたMDRE方式WIBEtoMDREの定義を示す図である。
図2のWIBEtoMDREと比べて、符号A~Dで示す箇所が変更されている。
すなわち、鍵生成アルゴリズムKGenでは、関数φによって変換された後の多次元IDがWIBE方式の鍵生成アルゴリズムKGen’に入力され、暗号化アルゴリズムEncでは、関数φによって変換された後の多次元ワイルドカードIDがWIBE方式の暗号化アルゴリズムEnc’に入力される。また、復号アルゴリズムDecでは、関数φによって変換された後の多次元ID及び多次元ワイルドカードIDがwID条件合致判定アルゴリズムMatchに入力される。
FIG. 9 is a diagram showing the definition of the generalized MDRE method WIBEtoMDRE f .
Compared to WIBEtoMDRE in FIG. 2, the parts indicated by symbols A to D have been changed.
That is, in the key generation algorithm KGen, the multidimensional ID converted by the function φ f is input to the WIBE key generation algorithm KGen', and in the encryption algorithm Enc, the multidimensional ID converted by the function φ f The wildcard ID is input to the WIBE encryption algorithm Enc'. Further, in the decoding algorithm Dec, the multidimensional ID and multidimensional wildcard ID after being converted by the function φ f are input to the wID condition match determination algorithm Match.

なお、WIBEtoMDREが正当であることは、第1の構成法によるWIBEtoMDREが正当であることと同様に確認できる。
ちなみに、WIBEtoMDREにおいて、関数fを、入力をそのまま出力する恒等写像としたものが第1の構成法によるWIBEtoMDREである。
Note that the validity of WIBEtoMDRE f can be confirmed in the same way as the validity of WIBEtoMDRE according to the first configuration method.
Incidentally, in WIBEtoMDRE f , WIBEtoMDRE according to the first construction method is one in which the function f is an identity mapping that outputs the input as it is.

[二値化及びワイルドカードID集合生成の変形例]
特許文献1では、WIBEに基づく時間指定暗号(TSE)の一般的構成法として、最も単純な構成法、及びこれを一般化した構成法の2種類が示されている。以下、これらの構成法を、それぞれ、WIBEtoTSEIK及びWIBEtoTSEIK generalと表記する。
[Modified example of binarization and wildcard ID set generation]
Patent Document 1 discloses two types of general configuration methods for time specified encryption (TSE) based on WIBE: the simplest configuration method and a generalized configuration method. Hereinafter, these configuration methods will be referred to as WIBEtoTSE IK and WIBEtoTSE IK general , respectively.

WIBEtoTSEIKは、前述のWIBEtoMDREに対して、次の制限を導入したものである。
・総次元数D=1とする。
・アルゴリズムBinarize及びGenWIDを、それぞれ後述のIK.Binarize及びIK.GenWIDに変更する。
これらのアルゴリズムの変更は、総次元数D>1のWIBEtoMDREに対しても適用可能であり、これにより、WIBEtoTSEIKと同様の効果が得られる。
WIBEtoTSE IK introduces the following restrictions to the above-mentioned WIBEtoMDRE.
・Set the total number of dimensions D=1.
- Algorithms Binarize l and GenWID l are respectively adapted from IK. Binarize l and IK. Change to GenWID l .
These algorithm changes can also be applied to WIBEtoMDRE with a total number of dimensions D>1, thereby achieving the same effect as WIBEtoTSE IK .

図10は、二値化アルゴリズムIK.Binarize及びワイルドカードID集合生成アルゴリズムIK.GenWIDの定義を示す図である。
図11は、ワイルドカードID集合生成アルゴリズムIK.GenWIDが使用する補助アルゴリズムIK.Classify及びIK.Divideの定義を示す図である。
図12は、ワイルドカードID集合生成アルゴリズムIK.GenWIDが使用する補助アルゴリズムIK.Latter、IK.Former、及びIK.Mergeの定義を示す図である。
FIG. 10 shows the binarization algorithm IK. Binarize l and wildcard ID set generation algorithm IK. It is a figure which shows the definition of GenWIDl .
FIG. 11 shows the wildcard ID set generation algorithm IK. Auxiliary algorithm used by GenWID IK . Classify l and IK. It is a figure which shows the definition of Divide I.
FIG. 12 shows the wildcard ID set generation algorithm IK. Auxiliary algorithm used by GenWID IK . Latter l , IK. Former l , and IK. It is a figure which shows the definition of Merge I.

図13は、二値化アルゴリズムIK.Binarizeを実行した際の入力t∈[0,2-1]と出力str∈{0,1}との対応関係を例示する図である。
ここでは、l=5の場合を示しているが、l≠5の場合についても同様に、次の法則でビット列strが割り当てられる。
・最上位ビット(第l-1ビット)は、0で開始し、その後は2l-1間隔で0と1とが切り替わり続ける。
・最上位ビットの次のビット(第l-2ビット)は、0で開始し、2l-2間隔で最初の1への切り替わりが発生し、その後は2l-1間隔で0と1とが切り替わり続ける。
・最上位ビットの次々ビット(第l-3ビット)は、0で開始し、2l-3間隔で最初の1への切り替わりが発生し、その後は2l-2間隔で0と1とが切り替わり続ける。
・(中略)
・最下位ビットの一つ前のビット(第1ビット)は、0で開始し、2=2間隔で最初の1への切り替わりが発生し、その後は2=4間隔で0と1とが切り替わり続ける。
・最下位ビット(第0ビット)は、0で開始し、2=1間隔で最初の1への切り替わりが発生し、その後は2=2間隔で0と1とが切り替わり続ける。
FIG. 13 shows the binarization algorithm IK. FIG. 7 is a diagram illustrating the correspondence between input t∈[0,2 l −1] and output str∈{0,1} l when Binarize l is executed.
Although the case where l=5 is shown here, the bit string str is similarly allocated according to the following rule even in the case where l≠5.
- The most significant bit (l-1th bit) starts with 0 and then continues to switch between 0 and 1 at 2 l-1 intervals.
・The bit next to the most significant bit (1-2th bit) starts with 0, first switches to 1 at 2 l-2 intervals, and then switches between 0 and 1 at 2 l-1 intervals. keeps switching.
- The successive bits of the most significant bit (l-3rd bit) start with 0, first switch to 1 at 2 l-3 intervals, and then switch between 0 and 1 at 2 l-2 intervals. It keeps switching.
・(omitted)
・The bit before the least significant bit (first bit) starts with 0, first switches to 1 at intervals of 2 1 = 2, and then switches between 0 and 1 at intervals of 2 2 = 4. keeps switching.
- The least significant bit (0th bit) starts at 0, first switches to 1 at intervals of 2 0 =1, and then continues to switch between 0 and 1 at intervals of 2 1 =2.

この法則により、ビット列strには、次のような特徴が表れる。
すなわち、数値tの並びを再帰的に2分割した際に、分割点を軸に両側のブロックに含まれるビット列strのいずれか1ビットのみは反転し、他のビットは対称となる。
また、隣り合う数値tの間で1ビットのみが異なる。
According to this rule, the following characteristics appear in the bit string str.
That is, when the sequence of numerical values t is recursively divided into two, only one bit of the bit string str included in blocks on both sides of the dividing point is inverted, and the other bits are symmetrical.
Further, only one bit differs between adjacent numerical values t.

ワイルドカードID集合生成アルゴリズムIK.GenWIDは、5つの補助アルゴリズムIK.Classify、IK.Divide、IK.Latter、IK.Former、IK.Mergeを使用する。 Wildcard ID set generation algorithm IK. GenWID l includes five auxiliary algorithms IK. Classify l , IK. Divide l , IK. Latter l , IK. Former l , IK. Use Merge l .

クラス分類アルゴリズムIK.Classifyは、数値t∈[0,2-1]を入力として受け取り、クラス番号i∈[0,l]を出力する。
具体的には、t=0の場合、lを出力し、t∈[1,2-1]の場合、t mod 2i+1=2を満たすi∈[0,l-1]を出力する。
Class classification algorithm IK. Classify l receives a numerical value t∈[0,2 l −1] as input and outputs a class number i∈[0, l].
Specifically, if t=0, output l, and if t∈[1,2 l -1], output i∈[0, l-1] that satisfies t mod 2 i+1 = 2 i . .

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

分割アルゴリズムIK.Divideは、L,R∈[0,2-1]を満たす範囲[L,R]を入力として受け取り、この範囲を前半範囲[L,D-1]と後半範囲[D,R]へ二分割する分割点D∈[L,R]を出力する。
この分割点は、範囲[L,R]内の数値のうち、最もクラス番号の大きい数値である。すなわち、範囲[L,R]に含まれる最も大きなブロックの区切りで二分割される。なお、L>Rの場合、必ずD=0になる。
Division algorithm IK. Divide l receives as input the range [L, R] that satisfies L, R∈[0,2 l -1], and divides this range into the first half range [L, D-1] and the second half range [D, R]. A dividing point D∈[L,R] for dividing into two is output.
This division point is the numerical value with the largest class number among the numerical values within the range [L, R]. That is, it is divided into two parts at the break of the largest block included in the range [L, R]. Note that when L>R, D=0.

図15は、分割アルゴリズムIK.Divideの実行例を示す図である。
ここでは、l=5とし、[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. 15 shows the division algorithm IK. It is a figure which shows the example of execution of Divide 1 .
Here, l = 5, and the dividing points in the case of [L, R]∈{[0,30], [9,30], [1,30], [2,0]} are each indicated by △. ing.
For example, if the range is [0, 30], the division point D = 0 for the class number 5, and if the range is [9, 30] and [1, 31], the division point D = 4 for the class number. 16. If the range is [2,0], the division point D=0 with class number 5 is output.

後半wID集合確定アルゴリズムIK.Latterは、後半範囲[D,R]を入力として受け取り、ワイルドカードID集合T[D,R]={wID|i∈[1,n]}を出力する。全てのl∈N、及びL,R∈[0,2-1]を満たす全てのL,Rについて、D←IK.Divide(L,R)とした場合、

Figure 0007365310000003

が存在し、以下の2つの条件を満たす。 Second half wID set determination algorithm IK. Latter l receives the second half range [D, R] as input and outputs a wildcard ID set T [D, R] = {wID i |i∈[1, n 1 ]}. For all l∈N and all L, R satisfying L, R∈[0,2 l −1], D←IK. When Divide l (L, R),
Figure 0007365310000003

exists and satisfies the following two conditions.

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

Figure 0007365310000004

(2)全てのi∈[1,n]について、あるwID∈{0,1,*}が存在し、wIDは以下を満たす。
・|wID=k
・後半範囲[D,R]の部分範囲である、
Figure 0007365310000005

をカバーする。 (1) The latter half range [D, R] can be expressed as follows as a set of the aforementioned blocks consisting of 2 k numerical values.
Figure 0007365310000004

(2) For every i∈[1, n 1 ], there exists a certain wID i ∈{0,1,*} l , and wID i satisfies the following.
・|wID i | * = k i .
・It is a partial range of the latter half range [D, R],
Figure 0007365310000005

to cover.

前半wID集合確定アルゴリズムIK.Formerは、前半範囲[L,D-1]を入力として受け取り、ワイルドカードID集合T[L,D-1]={wID|i∈[n+1,n]}を出力する。全てのl∈N、及びL,R∈[0,2-1]を満たす全てのL,Rについて、D←IK.Divide(L,R)とした場合、

Figure 0007365310000006

が存在し、以下の2つの条件を満たす。 First half wID set determination algorithm IK. Former l receives the first half range [L, D-1] as input and outputs a wildcard ID set T [L, D-1] = {wID i |i∈[n 1 +1, n 2 ]}. For all l∈N and all L, R satisfying L, R∈[0,2 l −1], D←IK. When Divide l (L, R),
Figure 0007365310000006

exists and satisfies the following two conditions.

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

Figure 0007365310000007

(2)全てのi∈[n+1,n]について、あるwID∈{0,1,*}が存在し、wIDは以下を満たす。
・|wID=k
・wIDは、前半範囲[L,D-1]の部分範囲である、
Figure 0007365310000008

をカバーする。 (1) The first half range [L, D-1] can be expressed as a set of the aforementioned blocks consisting of 2 k numerical values as follows.
Figure 0007365310000007

(2) For every i∈[n 1 +1, n 2 ], there exists a certain wID i ∈{0,1,*} l , 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 0007365310000008

to cover.

前後半wID集合合併アルゴリズムIK.Mergeは、前後半ワイルドカードID集合T[D,R],T[L,D-1]を受け取り、ワイルドカードID集合T[L,R]を出力する。 First and second half wID set merging algorithm IK. Merge l receives the first and second half wildcard ID sets T [D,R] , T [L,D-1] and outputs the wildcard ID set T [L,R] .

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

Figure 0007365310000009

このとき、全てのi∈[1,n]について、以下の条件を満たすwID′∈{0,1,*}が存在する。
・|wID′=k+1=kn1+i+1.
・wID′は、wIDとwIDn1+iによりカバーされる各範囲の和集合により定義される範囲、すなわち、
Figure 0007365310000010

をカバーする。 First, define a natural number n * that satisfies the following conditions.
Figure 0007365310000009

At this time, for all i∈[1,n * ], there exists wID′ i ∈{0,1,*} l that satisfies the following condition.
・|wID′ i | * =k i +1=k n1+i +1.
・wID′ i is a range defined by the union of each range covered by wID i and wID n1+i , that is,
Figure 0007365310000010

to cover.

図16は、後半wID集合確定アルゴリズムIK.Latter、前半wID集合確定アルゴリズムIK.Former、及び前後半wID集合合併アルゴリズムIK.Mergeのそれぞれの実行後の状態を例示する図である。
ここでは、l=5,[L,R]=[1,30],D=16の場合を例示しており、Step1には、分割アルゴリズムIK.Divideの実行例(図15)を示している。
FIG. 16 shows the second half wID set determination algorithm IK. Latter l , first half wID set determination algorithm IK. Former l , and front and rear wID set merging algorithm IK. FIG. 3 is a diagram illustrating the state after each execution of Merge I ;
Here, the case of l=5, [L,R]=[1,30], and D=16 is illustrated, and Step 1 includes the division algorithm IK. An example of executing Divide I (FIG. 15) is shown.

後半wID集合確定アルゴリズムIK.Latterでは、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}が出力される。
Second half wID set determination algorithm IK. For Latter l , T [D, R] :={wID i |iε[1, n 1 ]} is output.
In the case of the execution example shown in Step 2, the numerical values t to which the same numbers are assigned in the figure are 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集合確定アルゴリズムIK.Formerでは、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}が出力される。
First half wID set determination algorithm IK. Former l outputs T [L, D-1] :={wID i |i∈[n 1 +1, n 2 ]}.
In the case of the execution example shown in Step 3, the numerical values t to which the same numbers are assigned in the figure are 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 =00001. As a result, T [1, 15] = {wID 5 , wID 6 , wID 7 , wID 8 }={01***, 001**, 0001*, 00001} is output.

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

Figure 0007365310000011

が出力される。
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}が出力される。 First and second half wID set merging algorithm IK. In Merge l ,
Figure 0007365310000011

is output.
In the case of the execution example shown in Step 4, the numerical values t to which the same numbers are assigned in the figure are 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} is output. Ru.

ワイルドカードID集合生成アルゴリズムIK.GenWIDは、各アルゴリズムを順番に実行する。具体的には、IK.GenWIDは、範囲[L,R]に対して、最初にD←Divide(L,R)により分割点D∈[L,R]を決定し、次にT[D,R]←IK.Latter(D,R)により後半範囲ワイルドカードID集合T[D,R]を決定し、T[L,D-1]←IK.Former(L,D-1)により前半範囲ワイルドカードID集合T[L,D-1]を決定する。最後に、IK.GenWIDは、T[L,R]←IK.Merge(T[D,R],T[L,D-1])によりワイルドカードID集合T[L,R]を決定する。 Wildcard ID set generation algorithm IK. GenWID l executes each algorithm in turn. Specifically, IK. GenWID l first determines the dividing point D∈[L,R] for the range [L,R] by D←Divide l (L,R), then T [D,R] ←IK. The second half range wildcard ID set T [D, R] is determined by Latter l (D, R), and T [L, D-1] ←IK. The first half range wildcard ID set T [L, D-1] is determined by Former l (L, D-1). Finally, IK. GenWID l is T [L, R] ←IK. A wildcard ID set T [L, R] is determined by Merge (T [D, R] , T [L, D - 1] ).

次に、WIBEtoTSEIK generalは、前述のWIBEtoMDREに対して、次の制限を導入したものである。
・総次元数D=1とする。
・アルゴリズムBinarize及びGenWIDを、それぞれ後述のIK.Binarize general及びIK.GenWID generalに変更する。
これらのアルゴリズムの変更は、総次元数D>1のWIBEtoMDREに対しても適用可能であり、これにより、WIBEtoTSEIK generalと同様の効果が得られる。
Next, WIBEtoTSE IK general introduces the following restrictions to the above-mentioned WIBEtoMDRE.
・Set the total number of dimensions D=1.
- Algorithms Binarize l and GenWID l are respectively adapted from IK. Binarize l general and IK. Change to GenWID l general .
These algorithm changes can also be applied to WIBEtoMDRE with a total number of dimensions D>1, thereby achieving the same effect as WIBEtoTSE IK general .

図17は、二値化アルゴリズムIK.Binarize general及びワイルドカードID集合生成アルゴリズムIK.GenWID generalの定義を示す図である。
図18は、ワイルドカードID集合生成アルゴリズムIK.GenWID generalが使用する補助アルゴリズムIK.Classify general及びIK.Divide generalの定義を示す図である。
図19は、ワイルドカードID集合生成アルゴリズムIK.GenWID generalが使用する補助アルゴリズムIK.Latter general、IK.Former general及びIK.Merge generalの定義を示す図である。
FIG. 17 shows the binarization algorithm IK. Binarize general and wildcard ID set generation algorithm IK. It is a figure which shows the definition of GenWIDl general .
FIG. 18 shows the wildcard ID set generation algorithm IK. Auxiliary algorithm IK . Classify general and IK . It is a figure which shows the definition of Divide l general .
FIG. 19 shows wildcard ID set generation algorithm IK. Auxiliary algorithm IK . Latter general , IK. Former general and IK . It is a figure which shows the definition of Merge general .

IK.Binarize general及びIK.GenWID generalは、それぞれIK.Binarize及びIK.GenWIDの一般化である。これらのアルゴリズムは、ビット列strのパターンを一般化するために、関数f、関数h、定数δを導入している。 IK. Binarize l general and IK. GenWID l general is IK. Binarize l and IK. It is a generalization of GenWID l . These algorithms introduce a function f, a function h, and a constant δ in order to generalize the pattern of the bit string str.

前述の通り、IK.Binarizeにより定まる数値tと二進ビット列strとの対応関係においては、strの各ビットに、それぞれ異なる(0,1)パターンが割り当てられる。(0,1)パターンは全部でl種類ある。
具体的には、終始2l-1間隔で切り替わり続けるパターン、初回のみ2l-2間隔で切り替わりその後2l-1間隔で切り替わり続けるパターン、初回のみ2l-3間隔で切り替わりその後2l-2間隔で切り替わり続けるパターン、…、初回のみ2=2間隔で切り替わりその後2=4間隔で切り替わり続けるパターン、初回のみ2=1間隔で切り替わりその後2=2間隔で切り替わり続けるパターンである。これらのパターンを便宜上、それぞれ、Pl-1,Pl-2,…,P,Pと表記する。
As mentioned above, IK. In the correspondence between the numerical value t determined by Binarize l and the binary bit string str, a different (0, 1) pattern is assigned to each bit of str. There are a total of l types of (0,1) patterns.
Specifically, a pattern that continues to switch at 2 l-1 intervals from beginning to end, a pattern that switches at 2 l-2 intervals only the first time and then continues to switch at 2 l-1 intervals, and a pattern that switches at 2 l-3 intervals only the first time and then 2 l-2 A pattern that continues to switch at intervals of 2 1 = 2 only the first time, and then continues to switch at 2 2 = 4 intervals, and a pattern that switches at 2 0 = 1 intervals only for the first time, and then continues to switch at 2 1 = 2 intervals. For convenience, these patterns are expressed as P 1-1 , P 1-2 , . . . , P 1 , P 0 , respectively.

全単射関数f:{0,1,…,l-1}→{0,1,…,l-1}は、各ビットをいずれの(0,1)パターンに割り当てるかを定義する。具体的には、ビットi∈{0,1,…,l-1}を、(0,1)パターンPf(i)に割り当てる。 The bijective function f: {0,1,...,l-1}→{0,1,...,l-1} defines which (0,1) pattern each bit is assigned to. Specifically, bit i∈{0,1,...,l−1} is assigned to the (0,1) pattern P f(i) .

関数h:{0,1,…,l-1}→{0,1}は、各ビットi∈{0,1,…,l-1}において、(0,1)パターンの初期値を、0とするか1とするかを定義する。 Function h: {0,1,...,l-1}→{0,1} sets the initial value of the (0,1) pattern at each bit i∈{0,1,...,l-1} to Define whether to set it to 0 or 1.

定数δ∈{0,…,2-1}は、二進ビット列の初期値str=h[l-1]∥h[l-2]∥…∥h[1]∥h[0]を、どの数値t∈{0,…,2-1}に対応付けるかを定義する。具体的には、str=h[l-1]∥h[l-2]∥…∥h[1]∥h[0]を、δに対応づける。
すなわち、(0,1)パターンに対して数値tをδだけ巡回シフトした対応関係が得られる。
The constant δ∈{0,...,2 l -1} sets the initial value str=h[l-1]∥h[l-2]∥...∥h[1]∥h[0] of the binary bit string to Define which numerical value t∈{0,...,2 l −1} to be associated with. Specifically, str=h[l-1]∥h[l-2]∥...∥h[1]∥h[0] is associated with δ.
That is, a correspondence relationship is obtained in which the numerical value t is cyclically shifted by δ for the (0,1) pattern.

例えば、図13は、図17のIK.Binarize generalにおいて、そのパラメータを、
l:=5
f({0,1,2,3,4}):={0,1,2,3,4}
h({0,1,2,3,4}):={0,0,0,0,0}
δ:=0
と設定した場合の当該アルゴリズムIK.Binarize generalの実行例を示す。
For example, FIG. 13 shows the IK. In Binarize l general , change the parameter to
l:=5
f({0,1,2,3,4}):={0,1,2,3,4}
h({0,1,2,3,4}):={0,0,0,0,0}
δ:=0
The algorithm IK. An example of executing Binarize l general is shown below.

一方、図20は、IK.Binarize generalにおいて、そのパラメータを、
f({0,1,2,3,4}):={3,2,0,4,1}
h({0,1,2,3,4}):={0,1,1,0,0}
δ:=15
と設定した場合の当該アルゴリズムの実行例を示す。
On the other hand, FIG. 20 shows IK. In Binarize l general , change the parameter to
f({0,1,2,3,4}):={3,2,0,4,1}
h({0,1,2,3,4}):={0,1,1,0,0}
δ:=15
An example of the execution of the algorithm when set is shown below.

本実施形態によれば、暗号化装置1は、次元毎の数値に割り当てられたビット列の結合をIDとした秘密鍵を生成すると共に、次元毎の範囲に基づいて生成したワイルドカードID集合から、1要素ずつ取り出した組み合わせ毎に、全要素を結合して多次元ワイルドカードIDとし、全組み合わせの多次元ワイルドカードIDを要素とした集合を生成する。そして、暗号化装置1は、多次元ワイルドカードIDのそれぞれに基づいて、ワイルドカードIDベース暗号方式により平文を暗号化し、暗号化の結果の全てを暗号文として出力する。
したがって、暗号化装置1は、任意の正当なWIBE方式に基づいて、任意の正当な二値化アルゴリズム及びワイルドカードID集合生成アルゴリズムを用いることにより、TSEを多次元に拡張したMDRE方式を構成できる。
According to this embodiment, the encryption device 1 generates a secret key whose ID is a combination of bit strings assigned to numerical values for each dimension, and also generates a private key from a wildcard ID set generated based on the range of each dimension. For each combination extracted one element at a time, all the elements are combined to form a multidimensional wildcard ID, and a set is generated in which the multidimensional wildcard IDs of all combinations are elements. Then, the encryption device 1 encrypts the plaintext using a wildcard ID-based encryption method based on each of the multidimensional wildcard IDs, and outputs all the encryption results as ciphertext.
Therefore, the encryption device 1 can configure an MDRE method in which TSE is multidimensionally extended by using any legal binarization algorithm and wildcard ID set generation algorithm based on any legal WIBE method. .

この結果、既存の、あるいは、将来発見され得る多様なWIBE方式から、多様なMDRE方式を構築することができる。
例えば、前述のように、WIBEIKを用いた秘密鍵長が一定のMDRE方式、及びWIBEBGPを用いた全ての効率項目において無難に優れたMDRE方式が具体的に得られる。また、将来、例えば、耐量子安全性を持つWIBE方式が作られた場合、本実施形態により、耐量子安全性を持つMDRE方式を構成できる。
As a result, various MDRE schemes can be constructed from various existing or future WIBE schemes.
For example, as described above, an MDRE method using WIBE IK with a constant secret key length, and an MDRE method using WIBE BGP that is reasonably excellent in all efficiency items can be specifically obtained. Further, in the future, for example, if a quantum-resistant WIBE system is created, this embodiment can configure a quantum-resistant MDRE system.

暗号化装置1は、多次元ID及び多次元ワイルドカードIDに対して、全単射関数によって示されるビット位置を入れ替える機能を備えることにより、IDとなるビット列の任意の配列が可能となり、MDRE方式の一般化を実現できる。 The encryption device 1 is equipped with a function of interchanging the bit positions indicated by a bijection function for multidimensional IDs and multidimensional wildcard IDs, so that an arbitrary arrangement of bit strings serving as IDs is possible, and MDRE method is used. can be generalized.

暗号化装置1は、数値tに対するビット列strの対応関係について、数値の並びを再帰的に2分割した際に、分割点を軸に両側のブロックに含まれるビット列のいずれか1ビットのみは反転し、他のビットは対称となるように0又は1を割り当て、また、数値の並びにおいて、隣り合う数値間で1ビットのみが異なるビット列を割り当てる。
これにより、MDREの各次元において、指定された範囲をカバーする効率的なワイルドカードIDが生成され、この結果、効率的な多次元ワイルドカードID集合が生成される。したがって、暗号化装置1は、暗号文長を短くすることができる。
Regarding the correspondence of the bit string str to the numerical value t, the encryption device 1 inverts only one bit of the bit strings included in both blocks around the dividing point when recursively dividing the numerical sequence into two. , other bits are assigned 0 or 1 symmetrically, and bit strings in which adjacent numbers differ in only one bit are assigned.
This generates efficient wildcard IDs that cover the specified range in each dimension of the MDRE, resulting in an efficient multidimensional wildcard ID set. Therefore, the encryption device 1 can shorten the ciphertext length.

このとき、暗号化装置1は、数値tに対するビット列strの対応関係について、所定の数だけ巡回シフトさせて対応付けることで、アルゴリズムを一般化できる。 At this time, the encryption device 1 can generalize the algorithm by cyclically shifting the correspondence of the bit string str to the numerical value t by a predetermined number.

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

以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。 Although the embodiments of the present invention have been described above, the present invention is not limited to the embodiments described above. Further, the effects described in the embodiments described above are merely a list of the most preferable effects resulting 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 implemented by software. When realized by software, a program constituting this software is installed in an information processing device (computer). Furthermore, these programs may be recorded on removable media such as CD-ROMs and distributed to users, or may be distributed by being downloaded to users' computers via a network. Furthermore, these programs may be provided to the user's computer as a web service via a network without being downloaded.

1、1a 暗号化装置(復号装置)
10、10a 制御部
11 二値化部
12 ID集合生成部
13 多次元ID集合生成部
14 セットアップ部
15 鍵生成部
16 暗号化部
17 復号部
18 変換部
20 記憶部
1, 1a Encryption device (decryption device)
10, 10a Control unit 11 Binarization unit 12 ID set generation unit 13 Multidimensional ID set generation unit 14 Setup unit 15 Key generation unit 16 Encryption unit 17 Decryption unit 18 Conversion unit 20 Storage unit

Claims (10)

T個の数値に対して、それぞれlogTビットのビット列を割り当てる二値化部と、
多次元範囲暗号における次元毎の値に対応する数値に割り当てられた前記ビット列を結合し、結合した結果である単一の多次元IDに基づいて秘密鍵を生成する鍵生成部と、
前記次元毎に、設定された値の範囲を入力として、当該範囲に含まれる値それぞれに割り当てられた前記ビット列のみを漏れなくカバーするワイルドカードID集合を生成するID集合生成部と、
前記ワイルドカードID集合から1要素ずつ取り出した組み合わせ毎に、全要素を結合して単一の多次元ワイルドカードIDとし、全組み合わせの当該多次元ワイルドカードIDを要素とした集合を生成する多次元ID集合生成部と、
前記多次元ワイルドカードIDのそれぞれに基づいて、ワイルドカードIDベース暗号方式により平文を暗号化し、当該暗号化の結果の全てを暗号文として出力する暗号化部と、を備える暗号化装置。
a binarization unit that allocates a bit string of logT bits to each of the T numerical values;
a key generation unit that combines the bit strings assigned to numerical values corresponding to values of each dimension in the multidimensional range cryptography and generates a secret key based on a single multidimensional ID that is the result of the combination;
an ID set generation unit that receives a set value range as input for each dimension and generates a wildcard ID set that completely covers only the bit strings assigned to each value included in the range;
For each combination extracted one element at a time from the wildcard ID set, all elements are combined to form a single multidimensional wildcard ID, and a multidimensional set is created in which the multidimensional wildcard IDs of all combinations are elements. an ID set generation unit;
An encryption device comprising: an encryption unit that encrypts plaintext using a wildcard ID-based encryption method based on each of the multidimensional wildcard IDs, and outputs all the results of the encryption as ciphertext.
前記多次元ID及び前記多次元ワイルドカードIDに対して、全単射関数によって示されるビット位置を入れ替える変換部を備える請求項1に記載の暗号化装置。 The encryption device according to claim 1, further comprising a conversion unit that replaces bit positions indicated by a bijection function with respect to the multidimensional ID and the multidimensional wildcard ID. 前記二値化部は、前記数値の並びを再帰的に2分割した際に、分割点を軸に両側のブロックに含まれる前記ビット列のいずれか1ビットのみは反転し、他のビットは対称となるように0又は1を割り当てる請求項1又は請求項2に記載の暗号化装置。 The binarization unit recursively divides the sequence of numerical values into two, inverting only one bit of the bit string included in blocks on both sides around the division point, and making the other bits symmetrical. The encryption device according to claim 1 or 2, wherein 0 or 1 is assigned so that 前記二値化部は、前記数値の並びにおいて、隣り合う数値間で1ビットのみが異なる前記ビット列を割り当てる請求項3に記載の暗号化装置。 4. The encryption device according to claim 3, wherein the binarization unit allocates the bit string in which adjacent numerical values differ in only one bit in the sequence of numerical values. 前記次元毎の値に対して前記数値は、所定の数だけ巡回シフトさせて対応付けられる請求項3又は請求項4に記載の暗号化装置。 5. The encryption device according to claim 3, wherein the numerical value is cyclically shifted by a predetermined number and corresponds to the value for each dimension. 前記ID集合生成部は、前記数値の並びを再帰的に2分割していく際に得られるブロックのうち、前記範囲に含まれる最も大きなブロックの始点において、前記範囲を分割し、分割された部分範囲毎に前記ワイルドカードID集合を生成する請求項3から請求項5のいずれかに記載の暗号化装置。 The ID set generation unit divides the range at the starting point of the largest block included in the range among the blocks obtained by recursively dividing the sequence of numbers into two, and generates the divided portion. The encryption device according to any one of claims 3 to 5, wherein the wildcard ID set is generated for each range. 前記ID集合生成部は、前記部分範囲毎に生成された集合の全体をカバーする前記ワイルドカードID集合を生成する請求項6に記載の暗号化装置。 The encryption device according to claim 6, wherein the ID set generation unit generates the wildcard ID set that covers the entire set generated for each partial range. 請求項1から請求項7のいずれかに記載の暗号化装置により生成された暗号文、及び前記秘密鍵を入力とし、
前記二値化部と、
前記ID集合生成部と、
前記多次元ID集合生成部と、
前記秘密鍵に対応する前記単一の多次元IDが、前記多次元ID集合生成部により生成された集合に含まれるいずれかの多次元ワイルドカードID合致する場合に、前記暗号化部により生成された複数の暗号文に含まれる当該単一の多次元ワイルドカードIDに対応する暗号文を、前記ワイルドカードIDベース暗号方式により復号する復号部と、を備える復号装置。
The ciphertext generated by the encryption device according to any one of claims 1 to 7 and the private key are input,
The binarization section;
the ID set generation unit;
the multidimensional ID set generation unit;
generated by the encryption unit when the single multidimensional ID corresponding to the private key matches any multidimensional wildcard ID included in the set generated by the multidimensional ID set generation unit . a decryption unit that decrypts a ciphertext corresponding to the single multidimensional wildcard ID included in a plurality of ciphertexts that are generated using the wildcard ID-based encryption method.
T個の数値に対して、それぞれlogTビットのビット列を割り当てる二値化ステップと、
多次元範囲暗号における次元毎の値に対応する数値に割り当てられた前記ビット列を結合し、結合した結果である単一の多次元IDに基づいて秘密鍵を生成する鍵生成ステップと、
前記次元毎に、設定された値の範囲を入力として、当該範囲に含まれる値それぞれに割り当てられた前記ビット列のみを漏れなくカバーするワイルドカードID集合を生成するID集合生成ステップと、
前記ワイルドカードID集合から1要素ずつ取り出した組み合わせ毎に、全要素を結合して単一の多次元ワイルドカードIDとし、全組み合わせの当該多次元ワイルドカードIDを要素とした集合を生成する多次元ID集合生成ステップと、
前記多次元ワイルドカードIDのそれぞれに基づいて、ワイルドカードIDベース暗号方式により平文を暗号化し、当該暗号化の結果の全てを暗号文として出力する暗号化ステップと、をコンピュータが実行する暗号化方法。
a binarization step of assigning a bit string of logT bits to each of the T numerical values;
a key generation step of combining the bit strings assigned to numerical values corresponding to values of each dimension in the multidimensional range cryptography, and generating a secret key based on a single multidimensional ID that is the result of the combination;
For each dimension, an ID set generation step of receiving a set value range as input and generating a wildcard ID set that completely covers only the bit strings assigned to each value included in the range;
For each combination extracted one element at a time from the wildcard ID set, all elements are combined to form a single multidimensional wildcard ID, and a multidimensional set is created in which the multidimensional wildcard IDs of all combinations are elements. ID set generation step;
An encryption method in which a computer performs an encryption step of encrypting plaintext using a wildcard ID-based encryption method based on each of the multidimensional wildcard IDs, and outputting all the results of the encryption as ciphertext. .
請求項1から請求項7のいずれかに記載の暗号化装置としてコンピュータを機能させるための暗号化プログラム。 An encryption program for causing a computer to function as the encryption device according to any one of claims 1 to 7.
JP2020165303A 2020-09-30 2020-09-30 Encryption device, decryption device, encryption method and encryption program Active JP7365310B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020165303A JP7365310B2 (en) 2020-09-30 2020-09-30 Encryption device, decryption device, encryption method and encryption program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020165303A JP7365310B2 (en) 2020-09-30 2020-09-30 Encryption device, decryption device, encryption method and encryption program

Publications (2)

Publication Number Publication Date
JP2022057188A JP2022057188A (en) 2022-04-11
JP7365310B2 true JP7365310B2 (en) 2023-10-19

Family

ID=81111105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020165303A Active JP7365310B2 (en) 2020-09-30 2020-09-30 Encryption device, decryption device, encryption method and encryption program

Country Status (1)

Country Link
JP (1) JP7365310B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009170967A (en) 2008-01-10 2009-07-30 Osaka Univ Cryptosystem, encrypting method, management station, time tone station, transmission terminal and reception terminal
JP2021125810A (en) 2020-02-06 2021-08-30 Kddi株式会社 Encoding device, decoding device, encoding method, and encoding program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009170967A (en) 2008-01-10 2009-07-30 Osaka Univ Cryptosystem, encrypting method, management station, time tone station, transmission terminal and reception terminal
JP2021125810A (en) 2020-02-06 2021-08-30 Kddi株式会社 Encoding device, decoding device, encoding method, and encoding program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ISHIZAKA, Masahito and KIYOMOTO, Shinsaku,Time-Specific Encryption with Constant-Size Secret-Keys Secure under Standard Assumption,Cryptology ePrint Archive,2020年,Paper 2020/595,pp. 1-30,[2023年6月26日検索], インターネット<URL: https://eprint.iacr.org/2020/595>
笠松 宏平, 他,DBDH仮定に基づく暗号文ポリシー閾値多次元範囲暗号,2013年 暗号と情報セキュリティシンポジウム(SCIS 2013),2013年01月,pp. 1-8

Also Published As

Publication number Publication date
JP2022057188A (en) 2022-04-11

Similar Documents

Publication Publication Date Title
Gentry et al. Graph-induced multilinear maps from lattices
JP6053966B2 (en) Cryptographic system and re-encryption device
JP5402632B2 (en) Common key block encryption apparatus, common key block encryption method, and program
KR101351787B1 (en) Information generation apparatus, method, program and recording medium therefor
JP5618881B2 (en) Cryptographic processing system, key generation device, encryption device, decryption device, cryptographic processing method, and cryptographic processing program
JP5905128B2 (en) Cryptographic system, re-encrypting device, and cryptographic method
NL2013520B1 (en) Public-key encryption system.
Abusukhon et al. A hybrid network security algorithm based on Diffie Hellman and Text-to-Image Encryption algorithm
JP7087965B2 (en) Cryptographic system, cryptographic device, decryption device, encryption method, decryption method and program
WO2008026624A1 (en) Data conversion device, data conversion method, and computer program
JP2018502320A (en) Public key encryption system
Zhandry New Techniques for Traitor Tracing: Size and More from Pairings
CN107086912B (en) Ciphertext conversion method, decryption method and system in heterogeneous storage system
JPWO2013161841A1 (en) Format storage encryption apparatus, method and program, decryption apparatus, method and program
Hodowu et al. An enhancement of data security in cloud computing with an implementation of a two-level cryptographic technique, using AES and ECC algorithm
Ahmad Abusukhon et al. A novel network security algorithm based on encrypting text into a white-page image
de la Piedra et al. ACABELLA: Automated (Crypt) analysis of Attribute-Based Encryption Leveraging Linear Algebra
JP7365310B2 (en) Encryption device, decryption device, encryption method and encryption program
Yamuna et al. Encryption of a Binary String using music notes and graph theory
WO2015125293A1 (en) Cipher system and cipher program
JP7295818B2 (en) Encryption device, decryption device, encryption method and encryption program
WO2019235102A1 (en) Conversion key generation device, ciphertextconversion device, decryption device, ciphertextconversion system, conversion key generation method, ciphertextconversion method, decryption method, and program
KR101951545B1 (en) Wildcard identity-based key derivation, encryption and decryption method
EP1734493B1 (en) Padding application method to ensure the security of the ntru encryption
Gligoroski et al. On the importance of the key separation principle for different modes of operation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230824

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: 20230912

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231006

R150 Certificate of patent or registration of utility model

Ref document number: 7365310

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150