JP2021125810A - Encoding device, decoding device, encoding method, and encoding program - Google Patents
Encoding device, decoding device, encoding method, and encoding program Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004422 calculation algorithm Methods 0.000 description 106
- 230000006870 function Effects 0.000 description 25
- 238000010276 construction Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 22
- 238000007635 classification algorithm Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 239000003643 water by type Substances 0.000 description 1
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
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
ところが、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
しかしながら、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.
本発明に係る暗号化装置は、2d個の数値に対して、それぞれ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.
本発明に係る暗号化方法は、2d個の数値に対して、それぞれ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.
以下、本発明の実施形態の一例について説明する。
本実施形態は、時間指定暗号(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λ,1T)を入力として受け取り、システム公開鍵mpkとマスタ秘密鍵mskを出力する。これを、(mpk,msk)←Setup(1λ,1T)と表記する。
この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]とを入力として受け取り、秘密鍵sktを出力する。これを、skt←KGen(msk,t)と表記する。
この鍵生成アルゴリズムKGenは、mskを用いてTAにより実行される。生成された秘密鍵sktは、所定の安全な手段により鍵の所有者に譲渡されるものとする。
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は、秘密鍵sktと暗号文C[L,R]とを入力として受け取り、平文m∈Mあるいは復号不可を意味する特殊な記号⊥を出力する。これを、m/⊥←Dec(skt,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λ,1T),∀t∈[0,T−1],∀skt←KGen(msk,t),∀m∈M,∀[L,R]⊆[0,T−1] s.t. t∈[L,R],∀C[L,R]←Enc(m,[L,R]),m←Dec(skt,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λ,1N)を入力として受け取り、mpkとmskとを出力する。これを、(mpk,msk)←Setup(1λ,1N)と表記する。 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は、秘密鍵sktと暗号文CIDとを入力として受け取り、平文m∈Mあるいは復号不可を意味する特殊な記号⊥を出力する。これを、m/⊥←Dec(skt,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λ,1N),∀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λ,1N)を入力として受け取り、mpkとmskとを出力する。これを、(mpk,msk)←Setup(1λ,1N)と表記する。 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λ,1N),∀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
First, let T ∈ N be the total number of cycles.
図2は、IBEを用いたTSEの構成法に関する、葉ノードの総数がTである完全二分木を例示する図である。
ここでは、T=8の場合を例示している。
各葉ノードは、各周期に対応するものとする。具体的には、葉ノードbt∈{0,1}logTは、周期Σi=0 logT−12ibt[i]∈[0,T−1]に対応する。
なお、本実施形態では、ビット列b∈{0,1}Nについて、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:=bt[logT−1]‖…‖bt[logT−1−i]とする。また、bt,−1:=φとする。
また、ノードb∈{0,1}≦logTについて、bを入力として受け取り、bの子孫に該当する葉ノードの集合を出力する確定的関数をAnclogTとする。例えば、Anc3(0)={000,001,010,011}、Anc3(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])|が最小である。
例えば、Cover3([1,3])={001,01}、Cover3([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]の秘密鍵は、skt:={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]の秘密鍵sktによる復号手順は以下の通りである。
まず、t∈[L,R]ならば、あるi∈[−1,logT−1]が存在し、bt,i∈CoverlogT([L,R])が成立する。秘密鍵skt及び暗号文Cm,[L,R]内のbt,iに対応する部分秘密鍵及び部分暗号文を、skt,i及びCm,bt,i)と表記する。これらを用いて、m/⊥←IBE.Dec(skt,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の秘密鍵sktは、logT+1個の(ID総数がTのIBE方式ΣIBE Tの)秘密鍵により構成される。IBE方式ΣIBE Tの秘密鍵長をK(ΣIBE T)と表記すると、TSEの秘密鍵長は(logT+1)・K(ΣIBE T)により表記される。つまり、TSEの秘密鍵長は、少なくともlogT+1に対して線形に増加し、たとえK(ΣIBE T)が固定長であったとしても、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]の秘密鍵sktがskt:=WIBE.KGen(msk,t)により生成され、構成要素のWIBE方式の単一の秘密鍵のみにより構成される。
したがって、この構成法による秘密鍵長は、K(ΣWIBE T)により表される。つまり、構成要素として秘密鍵長が固定長であるような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
図4は、暗号化装置1の機能構成を示す図である。
暗号化装置1は、サーバ装置又はパーソナルコンピュータ等の情報処理装置(コンピュータ)であり、制御部10及び記憶部20の他、各種データの入出力デバイス及び通信デバイス等を備える。
FIG. 4 is a diagram showing a functional configuration of the
The
制御部10は、暗号化装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。
The
記憶部20は、ハードウェア群を暗号化装置1として機能させるための各種プログラム(暗号化プログラム)、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。
The
制御部10は、二値化部11と、クラス分類部12と、分割部13と、wID集合決定部14と、セットアップ部15と、鍵生成部16と、暗号化部17と、復号部18とを備える。
また、wID集合決定部14は、後半wID集合確定部141と、前半wID集合確定部142と、前後半wID集合合併部143とを備える。
The
Further, the wID set
図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
図6は、二値化アルゴリズムの実行例を示す図である。
ここでは、T=32とし、入力である周期t∈[0,31]と、出力であるビット列(二進数数値)b∈{0,1}5との対応関係を示している。
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=2iを満たすi∈[0,logT−1]を出力する。
FIG. 7 is a diagram showing a definition of the classification algorithm Classify logT.
The
図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
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
図11は、後半wID集合確定アルゴリズムLatter_WIDlogTの定義を示す図である。
後半wID集合確定部141は、後半wID集合確定アルゴリズムにより、後半範囲[D,R]を入力として受け取り、wID集合T[D,R]={wIDi|i∈[1,n1]}を出力する。全てのT∈N s.t. logT∈N、及びL∈[0,T−1]かつR∈[0,T−1]を満たす全てのL,Rについて、D←DividelogT(L,R)とした場合、
The latter half wID set
(1)後半範囲[D,R]は、2k個の数値からなる前述のブロックの集合として、次のように表現できる。
・|wIDi|*=ki.
・後半範囲[D,R]の部分範囲である、
・ | wID i | * = k i .
・ It is a partial range of the latter half range [D, R].
ただし、wID∈{0,1,*}logTについて、|wID|*∈[0,logT]は、ワイルドカードビット総数を表す。つまり、
また、「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,
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]={wIDi|i∈[n1+1,n2]}を出力する。全てのT∈N s.t. logT∈N、及びL∈[0,T−1]かつR∈[0,T−1]を満たす全てのL,Rについて、D←DividelogT(L,R)とした場合、
The first half wID set
(1)前半範囲[L,D−1]は、2k個の数値からなる前述のブロックの集合として、次のように表現できる。
・|wIDi|*=ki.
・wIDiは、前半範囲[L,D−1]の部分範囲である、
・ | wID i | * = k i .
-WID i is a partial range of the first half range [L, D-1].
図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
まず、以下の条件を満たす自然数n*を定義する。
・|wID′i|*=ki+1=kn1+i+1.
・wID′iは、wIDiとwIDn1+iによりカバーされる各範囲の和集合により定義される範囲、すなわち、
· | 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.,
図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
後半wID集合確定アルゴリズムでは、T[D,R]:={wIDi|i∈[1,n1]}が出力される。
Step2に示す実行例の場合、図中で同一の数字が割り当てられた周期tは、単一のwID∈{0,1,*}5によりカバーされる。具体的には、n1=4,k1=3,k2=2,k3=1,k4=0,wID1=11***,wID2=101**,wID3=1001*,wID4=10001である。結果として、T[16,30]={wID1,wID2,wID3,wID4}={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
前半wID集合確定アルゴリズムでは、T[L,D−1]:={wIDi|i∈[n1+1,n2]}が出力される。
Step3に示す実行例の場合、図中で同一の数字が割り当てられた周期tは、単一のwID∈{0,1,*}5によりカバーされる。具体的には、n2=4,n1+n2=8,k5=3,k6=2,k7=1,k8=0,wID5=01***,wID6=001**,wID7=0001*,wID8=00001である。結果として、T[1,15]={wID5,wID6,wID7,wID8}={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
前後半wID集合合併アルゴリズムでは、
Step4に示す実行例の場合、図中で同一の数字が割り当てられた周期tは、単一のwID∈{0,1,*}5によりカバーされる。具体的には、n*=4,wID′1=*1***,wID′2=*01**,wID′3=*001*,wID′4=*0001である。結果として、T[1,30]={wID′1,wID′2,wID′3,wID′4}={*1***,*01**,*001*,*0001}である。
In the first and second half wID union union algorithm,
In the case of the execution example shown in
図15は、セットアップアルゴリズムTSE.Setupの定義を示す図である。
セットアップ部15は、セットアップアルゴリズムとして、前述したWIBE方式のセットアップアルゴリズムを実行する。
FIG. 15 shows the setup algorithm TSE. It is a figure which shows the definition of Setup.
The
図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
図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
図18は、復号アルゴリズムTSE.Decの定義を示す図である。
秘密鍵sktに関連付けられた周期を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を、sktを用いて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
本実施形態による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暗号文の長さは等価になる。要するに、
さらに、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,
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,*}Nに関しても暗号文長が固定である方式(例えば、非特許文献3−4のBoneh−Boyen WIBE方式及びWaters WIBE方式)と、暗号文長が|wID|*∈{0,1,*}Nに対して線形に増加する方式(例えば、非特許文献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
Further, the
[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のBinarize5を実行することにより、求められたものである。同様にして、任意の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
なお、この定義では、整数δが考慮されていないが、二値化アルゴリズムの呼び出し時に、tに代えてt−δ mod 2dを入力とすることで、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}5との対応関係を示している。
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 2d)に対応する秘密鍵を生成する。
FIG. 27 shows a key generation algorithm TSE. It is a figure which shows the definition of KGen.
The
図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
After that, the
図29は、整数δを導入した復号アルゴリズムTSE.Decの定義を示す図である。
復号部18は、復号アルゴリズムにより、IDと適合するwIDに対応したCL,R内の暗号文要素をCとし、Cをsktにより復号した結果を出力する。
このとき、復号部18は、前述のように、補助的アルゴリズムに対してδだけシフトした値を入力する。
FIG. 29 shows a decoding algorithm TSE. It is a figure which shows the definition of Dec.
The
At this time, the
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。 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
1 暗号化装置(復号装置)
10 制御部
11 二値化部
12 クラス分類部
13 分割部
14 wID集合決定部
15 セットアップ部
16 鍵生成部
17 暗号化部
18 復号部
20 記憶部
141 後半wID集合確定部
142 前半wID集合確定部
143 前後半wID集合合併部
1 Encryption device (decryption device)
10
Claims (8)
範囲[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.
前記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.
範囲[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
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)
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)
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 |
-
2020
- 2020-02-06 JP JP2020018530A patent/JP7295818B2/en active Active
Patent Citations (2)
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)
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)
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 |