JP2022057188A - 暗号化装置、復号装置、暗号化方法及び暗号化プログラム - Google Patents

暗号化装置、復号装置、暗号化方法及び暗号化プログラム Download PDF

Info

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

Links

Images

Landscapes

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

Abstract

【課題】任意のWIBEからMDREを構成できる暗号化装置、復号装置、暗号化方法及び暗号化プログラムを提供すること。【解決手段】暗号化装置1は、T個の数値に対して、それぞれlogTビットのビット列を割り当てる二値化部11と、MDREにおける次元毎の値に対応するビット列を結合した多次元IDに基づいて秘密鍵を生成する鍵生成部15と、次元毎に、設定された範囲に割り当てられたビット列の全てをカバーするワイルドカードID集合を生成するID集合生成部12と、次元毎のワイルドカードID集合から1要素ずつ取り出して結合した多次元ワイルドカードIDを要素とした全組み合わせの集合を生成する多次元ID集合生成部13と、多次元ワイルドカードIDのそれぞれに基づいて、ワイルドカードIDベース暗号方式により平文を暗号化し、当該暗号化の結果の全てを暗号文として出力する暗号化部16と、を備える。【選択図】図1

Description

本発明は、多次元範囲暗号(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を構成する一般的構成法が提案されている。
さらに、1次元のTSEを多次元化したMDREについて、非特許文献3では、既存の具体的な階層的IDベース暗号(Hierarchical IBE, HIBE)方式の構成法を参考にした具体的なMDRE方式の構成法が提案されている。
特願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. 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.
しかしながら、任意のWIBEからMDREを構成する一般的構成法は提案されていなかった。また、非特許文献1で提案されているTSEの構成法をMDREに拡張することは難しく、多次元化はできていなかった。
本発明は、任意のWIBEからMDREを構成できる暗号化装置、復号装置、暗号化方法及び暗号化プログラムを提供することを目的とする。
本発明に係る暗号化装置は、T個の数値に対して、それぞれlogTビットのビット列を割り当てる二値化部と、多次元範囲暗号における次元毎の値に対応する数値に割り当てられた前記ビット列を結合し、結合後の単一の多次元IDに基づいて秘密鍵を生成する鍵生成部と、前記次元毎に、設定された値の範囲に割り当てられた前記ビット列の全てをカバーするワイルドカードID集合を生成するID集合生成部と、前記ワイルドカードID集合から1要素ずつ取り出した組み合わせ毎に、全要素を結合して単一の多次元ワイルドカードIDとし、全組み合わせの当該多次元ワイルドカードIDを要素とした集合を生成する多次元ID集合生成部と、前記多次元ワイルドカードIDのそれぞれに基づいて、ワイルドカードIDベース暗号方式により平文を暗号化し、当該暗号化の結果の全てを暗号文として出力する暗号化部と、を備える。
前記暗号化装置は、前記多次元ID及び前記多次元ワイルドカードIDに対して、全単射関数によって示されるビット位置を入れ替える変換部を備えてもよい。
前記二値化部は、前記数値の並びを再帰的に2分割した際に、分割点を軸に両側のブロックに含まれる前記ビット列のいずれか1ビットのみは反転し、他のビットは対称となるように0又は1を割り当ててもよい。
前記二値化部は、前記数値の並びにおいて、隣り合う数値間で1ビットのみが異なる前記ビット列を割り当ててもよい。
前記次元毎の値に対して前記数値は、所定の数だけ巡回シフトさせて対応付けられてもよい。
前記ID集合生成部は、前記数値の並びを再帰的に2分割していく際に得られるブロックのうち、前記範囲に含まれる最も大きなブロックの始点において、前記範囲を分割し、分割された部分範囲毎に前記ワイルドカードID集合を生成してもよい。
前記ID集合生成部は、前記部分範囲毎に生成された集合の全体をカバーする前記ワイルドカードID集合を生成してもよい。
本発明に係る復号装置は、前記暗号化装置により生成された暗号文に用いられた多次元ワイルドカードIDのいずれかの条件に、前記秘密鍵により示される前記多次元IDが合致する場合に、当該暗号文を、前記ワイルドカードIDベース暗号方式により復号する。
本発明に係る暗号化方法は、T個の数値に対して、それぞれlogTビットのビット列を割り当てる二値化ステップと、多次元範囲暗号における次元毎の値に対応する数値に割り当てられた前記ビット列を結合し、結合後の単一の多次元IDに基づいて秘密鍵を生成する鍵生成ステップと、前記次元毎に、設定された値の範囲に割り当てられた前記ビット列の全てをカバーするワイルドカードID集合を生成するID集合生成ステップと、前記ワイルドカードID集合から1要素ずつ取り出した組み合わせ毎に、全要素を結合して単一の多次元ワイルドカードIDとし、全組み合わせの当該多次元ワイルドカードIDを要素とした集合を生成する多次元ID集合生成ステップと、前記多次元ワイルドカードIDのそれぞれに基づいて、ワイルドカードIDベース暗号方式により平文を暗号化し、当該暗号化の結果の全てを暗号文として出力する暗号化ステップと、をコンピュータが実行する。
本発明に係る暗号化プログラムは、前記暗号化装置としてコンピュータを機能させるためのものである。
本発明によれば、任意のWIBEからMDREを構成できる。
第1の構成法を実現する暗号化装置の機能構成を示す図である。 WIBEtoMDREを構成する、セットアップアルゴリズム、鍵生成アルゴリズム、暗号化アルゴリズム、及び復号アルゴリズムの定義を示す図である。 IBEtoTSEPQに関する完全二分木を例示する図である。 アルゴリズムCoverの定義を示す図である。 二値化アルゴリズムPQ.Binarize及びワイルドカードID集合生成アルゴリズムPQ.GenWIDの定義を示す図である。 WIBEIKにより具体化されたWIBEtoMDREPQと、WIBEBGPにより具体化されたWIBEtoMDREPQとを比較評価した図である。 第2の構成法を実現する暗号化装置の機能構成を示す図である。 関数φの定義を示す図である。 一般化されたMDRE方式WIBEtoMDREの定義を示す図である。 二値化アルゴリズムIK.Binarize及びワイルドカードID集合生成アルゴリズムIK.GenWIDの定義を示す図である。 ワイルドカードID集合生成アルゴリズムIK.GenWIDが使用する補助アルゴリズムIK.Classify及びIK.Divideの定義を示す図である。 ワイルドカードID集合生成アルゴリズムIK.GenWIDが使用する補助アルゴリズムIK.Latter、IK.Former、及びIK.Mergeの定義を示す図である。 二値化アルゴリズムIK.Binarizeを実行した際の入力と出力との対応関係を例示する図である。 クラス分類アルゴリズムIK.Classifyの実行例を示す図である。 分割アルゴリズムIK.Divideの実行例を示す図である。 後半wID集合確定アルゴリズムIK.Latter、前半wID集合確定アルゴリズムIK.Former、及び前後半wID集合合併アルゴリズムIK.Mergeのそれぞれの実行後の状態を例示する図である。 二値化アルゴリズムIK.Binarize general及びワイルドカードID集合生成アルゴリズムIK.GenWID generalの定義を示す図である。 ワイルドカードID集合生成アルゴリズムIK.GenWID generalが使用する補助アルゴリズムClassify general及びDivide generalの定義を示す図である。 ワイルドカードID集合生成アルゴリズムIK.GenWID generalが使用する補助アルゴリズムIK.Latter general、IK.Former general及びIK.Merge generalの定義を示す図である。 特定のパラメータの下での二値化アルゴリズムIK.Binarize generalの実行例を示す図である。
以下、本発明の実施形態の一例について説明する。
本実施形態は、多次元範囲暗号(MDRE)の構成法に関し、まず、MDREを説明した後、ワイルドカードIDベース暗号(WIBE)について説明する。
[多次元範囲暗号(MDRE)]
MDREは、以下の4つの多項式時間アルゴリズム{Setup,KGen,Enc,Dec}により構成される。なお、Decは確定的アルゴリズムであり、それ以外は確率的アルゴリズムである。
まず、λ∈N(自然数)として、1λは、秘密鍵長等を決定するセキュリティパラメータである。また、D∈Nは、総次元数を表す。各次元i∈[1,D]に対して、自然数T∈Nについて、[0,T-1]は、総数値数を表す。
セットアップアルゴリズム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}に対して暗黙的に入力される。
鍵生成アルゴリズムKGenは、マスタ秘密鍵mskとD個の数値Q:=(t,…,t)とを入力として受け取り、秘密鍵skを出力する。ただし、全てのi∈[1,D]について、t∈[0,T-1]とする。このアルゴリズムの実行を、sk←KGen(msk,t,…,t)と表記する。
この鍵生成アルゴリズムKGenは、mskを用いてTAにより実行される。生成された秘密鍵skは、所定の安全な手段により鍵の所有者に譲渡されるものとする。
暗号化アルゴリズム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])と表記する。
復号アルゴリズムDecは、秘密鍵skと暗号文Cとを入力として受け取り、平文m∈Mあるいは復号失敗を表す特殊な記号⊥を出力する。このアルゴリズムの実行を、m/⊥←Dec(sk,C)と表記する。
ここで、いかなる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).
[ワイルドカードIDベース暗号(WIBE)]
WIBEは、以下の4つの多項式時間アルゴリズム{Setup,KGen,Enc,Dec}により構成される。なお、Decは確定的アルゴリズムであり、それ以外は確率的アルゴリズムである。
ここで、λ∈N(自然数)として、1λは、秘密鍵長等を決定するセキュリティパラメータである。また、l∈Nは、ID長及びワイルドカードID長を表す。
セットアップアルゴリズムSetupは、(1λ,l)を入力として受け取り、マスタ公開鍵mpkとマスタ秘密鍵mskとを出力する。このアルゴリズムの実行を、(mpk,msk)←Setup(1λ,l)と表記する。平文空間Mは、マスタ公開鍵mpkにより一意に定まるものとする。また、マスタ公開鍵mpkは、3つのアルゴリズム{KGen,Enc,Dec}に対して暗黙的に入力される。
鍵生成アルゴリズムKGenは、mskとID∈{0,1}とを入力として受け取り、秘密鍵skIDを出力する。このアルゴリズムの実行を、skID←KGen(msk,ID)と表記する。
暗号化アルゴリズムEncは、平文m∈Mと、ワイルドカードID wID∈{0,1,*}とを入力として受け取り、暗号文CwIDを出力する。このアルゴリズムの実行を、CwID←Enc(m,wID)と表記する。
復号アルゴリズムDecは、秘密鍵skIDと暗号文CwIDとを入力として受け取り、平文m∈Mあるいは復号失敗を表す特殊な記号⊥を出力する。このアルゴリズムの実行を、m/⊥←Dec(skID,CwID)と表記する。
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を出力する。
ここで、いかなる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).
[WIBEを用いたMDREの第1の構成法]
WIBEを用いたMDREの一般的構成法の一形態(WIBEtoMDRE)では、MDRE方式が、任意の正当なWIBE方式ΣWIBE={Setup’,KGen’,Enc’,Dec’,Match}と、独自の確定的アルゴリズムBinarize及びGenWIDとを用いて構成される。
以下、MDREの構成法を実現した暗号化装置1の機能構成を示し、続いて、構成されたMDRE方式のアルゴリズムを説明する。
図1は、第1の構成法を実現する暗号化装置1の機能構成を示す図である。
暗号化装置1は、サーバ装置又はパーソナルコンピュータ等の情報処理装置(コンピュータ)であり、制御部10及び記憶部20の他、各種データの入出力デバイス及び通信デバイス等を備える。
制御部10は、暗号化装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。
記憶部20は、ハードウェア群を暗号化装置1として機能させるための各種プログラム(暗号化プログラム)、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。
制御部10は、二値化部11と、ID集合生成部12と、多次元ID集合生成部13と、セットアップ部14と、鍵生成部15と、暗号化部16と、復号部17とを備える。
二値化部11は、二値化アルゴリズムBinarizeを実行することにより、T個の数値に対して、それぞれlogTビットのビット列を割り当てる。すなわち、二値化部11は、l∈Nとしたとき、数値t∈[0,2-1]を入力として受け取り、ビット列str∈{0,1}を出力する。ここで、二値化アルゴリズムは正当でなければならないとする。
二値化アルゴリズムが正当であるとは、全単射である場合をいい、ビット列strは、数値tの二進数表現とは必ずしも一致しない。
ID集合生成部12は、ワイルドカードID集合生成アルゴリズムGenWIDを実行することにより、次元毎に、設定された値の範囲に割り当てられたビット列の全てをカバーするワイルドカードID集合を生成する。すなわち、ID集合生成部12は、l∈Nとしたとき、数値範囲[L,R](ただし、L,R∈[0,2-1]とする)を入力として受け取り、ワイルドカードID集合T={str∈{0,1,*}}を出力する。ここで、ワイルドカードID集合生成アルゴリズムは、正当な二値化アルゴリズムBinarizeの下で正当でなければならないとする。
ワイルドカード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).
多次元ID集合生成部13は、ID集合生成部12により生成された各次元のワイルドカードID集合から1要素ずつ取り出した組み合わせ毎に、全要素を結合して単一の多次元ワイルドカードIDとし、全組み合わせの多次元ワイルドカードIDを要素とした集合を生成する。
セットアップ部14は、MDREにおける各次元のビット長の和をID長として、WIBE方式のセットアップアルゴリズムKGen’を使用して、マスタ公開鍵及びマスタ秘密鍵を出力する。
鍵生成部15は、MDREにおける次元毎の値に対応する数値に割り当てられたビット列strを結合し、結合後の多次元ビット列をID(多次元ID)として、WIBE方式の鍵生成アルゴリズムKGen’を使用して秘密鍵を生成する。
暗号化部16は、多次元ID集合生成部13により生成された集合の要素である多次元ワイルドカードIDのそれぞれに基づいて、WIBE方式の暗号化アルゴリズムEnc’を使用して平文を暗号化し、暗号化の結果の全てを暗号文として出力する。
復号部17は、暗号化部16により生成された暗号文に用いられた多次元ワイルドカードIDのいずれかの条件に、秘密鍵により示される多次元IDが合致する場合に、この暗号文を、WIBE方式の復号アルゴリズムDec’を使用して復号する。
図2は、WIBEtoMDREを構成する、セットアップアルゴリズムSetup、鍵生成アルゴリズムKGen、暗号化アルゴリズムEnc、及び復号アルゴリズムDecの定義を示す図である。
WIBEtoMDREの総次元数をD∈N、各次元の総数値数をT,…T∈Nとする。WIBEtoMDREでは、構成要素としてID長がΣi=1 logTのWIBE方式を採用する。
D個の数値t,…,t(ただし、t∈[0,T-1])に対応する秘密鍵は、各数値の二進ビット列をstr←BinarizelogTi(t)∈{0,1}logTiとし、さらに全ての二進ビット列を単純結合した二進ビット列(つまり、∥i=1 str)を単一のIDとした上で、当該IDに対応するWIBE方式の秘密鍵として生成される。
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]}である。
この多次元ワイルドカードID集合T* [L1,R1],…,[LD,RD]に含まれる各ワイルドカードIDの下で平文mをWIBE方式の暗号化アルゴリズムにより暗号化する。
,…,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暗号文を復号し、復号結果を出力する。
ここで、構成要素のWIBE方式が正当であり、かつ、2つのアルゴリズム(Binarize,GenWID)が正当であれば、WIBEtoMDREも正当であることがいえる。
次に、正当なアルゴリズム(Binarize,GenWID)の具体例として、PQ.Binarize及びPQ.GenWIDを示す。また、これらのアルゴリズムに基づくWIBEtoMDREを、WIBEtoMDREPQと表記する。
WIBEtoMDREPQにおいて使用されるアルゴリズム(PQ.Binarize,PQ.GenWID)は、非特許文献2により提案されたIDベース暗号(IBE)を用いた時間指定暗号(TSE)の一般的構成法IBEtoTSEPQを技術的に参考にしている。
IBEtoTSEPQは、ID総数2T-1のIBE方式を採用する。IBEtoTSEPQにおいては、葉総数Tの完全二分木を導入する。
図3は、IBEtoTSEPQに関する完全二分木を例示する図である。
ここでは、深さ3、葉総数T=8(=2)の完全二分木を示している。
各葉ノードは、各周期(数値)t∈[0,T-1]に対応する。具体的には、二進数str∈{0,1}logTが割り当てられた葉ノードは、この二進数を十進数化した数値t∈[0,T-1]に対応する。
各数値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)となる。
次に、範囲[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}となる。
範囲[L,R]に対応する暗号文生成時には、始めに集合T[L,R]={str∈{0,1}≦logT}を求める。T[L,R]は、二分木における数値Lから数値Rの葉ノード全てをカバーするノードの集合である。具体的には、T[L,R]は、次に示すアルゴリズムCoverにより求められる。
図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}となる。
集合T[L,R]の導出後、T[L,R]に含まれる各IDの下で、それぞれ平文mのIBE暗号文が生成される。そして、生成された全ての暗号文を一つにまとめたものが範囲[L,R]の暗号文になる。
数値tの秘密鍵で範囲[L,R]の暗号文を復号する際には、葉ノードt又はその先祖ノードに、集合T[L,R]に含まれるノードが存在するか否かを調べ、該当ノードが存在する場合は、該当ノードに対応するIBE秘密鍵により該当ノードに対応するIBE暗号文を復号する。なお、t∈[L,R]の場合に、該当ノードは確実に存在し、それ以外の場合に該当ノードは存在しない。
図5は、二値化アルゴリズムPQ.Binarize及びワイルドカードID集合生成アルゴリズムPQ.GenWIDの定義を示す図である。
二値化アルゴリズムPQ.Binarizeでは、数値t∈[0,2-1]を入力として受け取り、ビット列str∈{0,1}が出力される。
ワイルドカードID集合生成アルゴリズムPQ.GenWIDでは、範囲[L,R]を入力として受け取り、まず、IBEtoTSEPQと同様の方法により、葉総数2の完全二分木における葉ノードLから葉ノードRまでをカバーするノード集合T[L,R]={str∈{0,1}≦l}が導出される。その後、集合T[L,R]に含まれるノード(ビット列)の中で、長さがlに満たないノード(ビット列)に対して、長さがlになるように、ワイルドカード記号(*)を右から補完する変換を施した後の集合T [L,R]が出力される。
次に、既存の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.
図6は、WIBEIKにより具体化されたWIBEtoMDREPQと、WIBEBGPにより具体化されたWIBEtoMDREPQとを比較評価した図である。
前者(WIBEIKによる場合)は、暗号文長及び暗号化計算コスト、特に群上のべき乗計算回数において、漸近的に非効率であるが、秘密鍵長は対称双線形ペアリングの群要素2つ分であり、いかなるパラメータD,T,…,Tにも依存せず、一定であるという特長を持つ。対する後者(WIBEBGPによる場合)は、前者と異なり、特定の項目で大きく劣るということが無く、全ての項目において無難に優れている。また、復号計算コストが一定であるという特長もある。
[WIBEを用いたMDREの第2の構成法]
以下、第1の構成法の一般化に相当するMDRE方式を示す。このMDRE方式は、第1の構成法を実現する暗号化装置1に機能追加した暗号化装置1aにより実現される。
図7は、第2の構成法を実現する暗号化装置1aの機能構成を示す図である。
暗号化装置1aの制御部10aは、新たな機能部として、変換部18を備える。
変換部18は、鍵生成に用いられる多次元ID、及び暗号化に用いられる多次元ワイルドカードIDに対して、全単射関数によって示されるビット位置を入れ替え、鍵生成部15、暗号化部16及び復号部17に提供する。
すなわち、第2の構成法では、MDRE方式を定義する上で、次に示す2種類の関数が導入される。
関数f:
Figure 2022057188000002

は、全単射であるとする。
関数φ
Figure 2022057188000003

は、全単射関数fに紐づけられた関数である。
図8は、関数φの定義を示す図である。
関数φは、入力ビット列における各ビット(iビット)を、全単射関数fにより一意に定まるf(i)ビットに移動した新たなビット列を出力するものである。
図9は、一般化されたMDRE方式WIBEtoMDREの定義を示す図である。
図2のWIBEtoMDREと比べて、符号A~Dで示す箇所が変更されている。
すなわち、鍵生成アルゴリズムKGenでは、関数φによって変換された後の多次元IDがWIBE方式の鍵生成アルゴリズムKGen’に入力され、暗号化アルゴリズムEncでは、関数φによって変換された後の多次元ワイルドカードIDがWIBE方式の暗号化アルゴリズムEnc’に入力される。また、復号アルゴリズムDecでは、関数φによって変換された後の多次元ID及び多次元ワイルドカードIDがwID条件合致判定アルゴリズムMatchに入力される。
なお、WIBEtoMDREが正当であることは、第1の構成法によるWIBEtoMDREが正当であることと同様に確認できる。
ちなみに、WIBEtoMDREにおいて、関数fを、入力をそのまま出力する恒等写像としたものが第1の構成法によるWIBEtoMDREである。
[二値化及びワイルドカードID集合生成の変形例]
特許文献1では、WIBEに基づく時間指定暗号(TSE)の一般的構成法として、最も単純な構成法、及びこれを一般化した構成法の2種類が示されている。以下、これらの構成法を、それぞれ、WIBEtoTSEIK及びWIBEtoTSEIK generalと表記する。
WIBEtoTSEIKは、前述のWIBEtoMDREに対して、次の制限を導入したものである。
・総次元数D=1とする。
・アルゴリズムBinarize及びGenWIDを、それぞれ後述のIK.Binarize及びIK.GenWIDに変更する。
これらのアルゴリズムの変更は、総次元数D>1のWIBEtoMDREに対しても適用可能であり、これにより、WIBEtoTSEIKと同様の効果が得られる。
図10は、二値化アルゴリズムIK.Binarize及びワイルドカードID集合生成アルゴリズムIK.GenWIDの定義を示す図である。
図11は、ワイルドカードID集合生成アルゴリズムIK.GenWIDが使用する補助アルゴリズムIK.Classify及びIK.Divideの定義を示す図である。
図12は、ワイルドカードID集合生成アルゴリズムIK.GenWIDが使用する補助アルゴリズムIK.Latter、IK.Former、及びIK.Mergeの定義を示す図である。
図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とが切り替わり続ける。
この法則により、ビット列strには、次のような特徴が表れる。
すなわち、数値tの並びを再帰的に2分割した際に、分割点を軸に両側のブロックに含まれるビット列strのいずれか1ビットのみは反転し、他のビットは対称となる。
また、隣り合う数値tの間で1ビットのみが異なる。
ワイルドカードID集合生成アルゴリズムIK.GenWIDは、5つの補助アルゴリズムIK.Classify、IK.Divide、IK.Latter、IK.Former、IK.Mergeを使用する。
クラス分類アルゴリズム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]を出力する。
図14は、クラス分類アルゴリズムIK.Classifyの実行例を示す図である。
ここでは、2=T∈{4,8,16,32}の場合の出力をそれぞれ示している。
数値tの昇順の並びを再帰的に2分割していった際に、分割された右側のブロックの左端のtに対して、左側のブロックの左端のクラス番号-1が割り当てられる。これにより、1ビットを除いて左右対称となっているビット列のブロック内において、左端のクラス番号が最大となる。
分割アルゴリズム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になる。
図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が出力される。
後半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 2022057188000004

が存在し、以下の2つの条件を満たす。
(1)後半範囲[D,R]は、2個の数値からなる前述のブロックの集合として、次のように表現できる。
Figure 2022057188000005

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

をカバーする。
前半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 2022057188000007

が存在し、以下の2つの条件を満たす。
(1)前半範囲[L,D-1]は、2個の数値からなる前述のブロックの集合として、次のように表現できる。
Figure 2022057188000008

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

をカバーする。
前後半wID集合合併アルゴリズムIK.Mergeは、前後半ワイルドカードID集合T[D,R],T[L,D-1]を受け取り、ワイルドカードID集合T[L,R]を出力する。
まず、以下の条件を満たす自然数nを定義する。
Figure 2022057188000010

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

をカバーする。
図16は、後半wID集合確定アルゴリズムIK.Latter、前半wID集合確定アルゴリズムIK.Former、及び前後半wID集合合併アルゴリズムIK.Mergeのそれぞれの実行後の状態を例示する図である。
ここでは、l=5,[L,R]=[1,30],D=16の場合を例示しており、Step1には、分割アルゴリズムIK.Divideの実行例(図15)を示している。
後半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}が出力される。
前半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}が出力される。
前後半wID集合合併アルゴリズムIK.Mergeでは、
Figure 2022057188000012

が出力される。
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}が出力される。
ワイルドカード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]を決定する。
次に、WIBEtoTSEIK generalは、前述のWIBEtoMDREに対して、次の制限を導入したものである。
・総次元数D=1とする。
・アルゴリズムBinarize及びGenWIDを、それぞれ後述のIK.Binarize general及びIK.GenWID generalに変更する。
これらのアルゴリズムの変更は、総次元数D>1のWIBEtoMDREに対しても適用可能であり、これにより、WIBEtoTSEIK 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の定義を示す図である。
IK.Binarize general及びIK.GenWID generalは、それぞれIK.Binarize及びIK.GenWIDの一般化である。これらのアルゴリズムは、ビット列strのパターンを一般化するために、関数f、関数h、定数δを導入している。
前述の通り、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と表記する。
全単射関数f:{0,1,…,l-1}→{0,1,…,l-1}は、各ビットをいずれの(0,1)パターンに割り当てるかを定義する。具体的には、ビットi∈{0,1,…,l-1}を、(0,1)パターンPf(i)に割り当てる。
関数h:{0,1,…,l-1}→{0,1}は、各ビットi∈{0,1,…,l-1}において、(0,1)パターンの初期値を、0とするか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をδだけ巡回シフトした対応関係が得られる。
例えば、図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の実行例を示す。
一方、図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
と設定した場合の当該アルゴリズムの実行例を示す。
本実施形態によれば、暗号化装置1は、次元毎の数値に割り当てられたビット列の結合をIDとした秘密鍵を生成すると共に、次元毎の範囲に基づいて生成したワイルドカードID集合から、1要素ずつ取り出した組み合わせ毎に、全要素を結合して多次元ワイルドカードIDとし、全組み合わせの多次元ワイルドカードIDを要素とした集合を生成する。そして、暗号化装置1は、多次元ワイルドカードIDのそれぞれに基づいて、ワイルドカードIDベース暗号方式により平文を暗号化し、暗号化の結果の全てを暗号文として出力する。
したがって、暗号化装置1は、任意の正当なWIBE方式に基づいて、任意の正当な二値化アルゴリズム及びワイルドカードID集合生成アルゴリズムを用いることにより、TSEを多次元に拡張したMDRE方式を構成できる。
この結果、既存の、あるいは、将来発見され得る多様なWIBE方式から、多様なMDRE方式を構築することができる。
例えば、前述のように、WIBEIKを用いた秘密鍵長が一定のMDRE方式、及びWIBEBGPを用いた全ての効率項目において無難に優れたMDRE方式が具体的に得られる。また、将来、例えば、耐量子安全性を持つWIBE方式が作られた場合、本実施形態により、耐量子安全性を持つMDRE方式を構成できる。
暗号化装置1は、多次元ID及び多次元ワイルドカードIDに対して、全単射関数によって示されるビット位置を入れ替える機能を備えることにより、IDとなるビット列の任意の配列が可能となり、MDRE方式の一般化を実現できる。
暗号化装置1は、数値tに対するビット列strの対応関係について、数値の並びを再帰的に2分割した際に、分割点を軸に両側のブロックに含まれるビット列のいずれか1ビットのみは反転し、他のビットは対称となるように0又は1を割り当て、また、数値の並びにおいて、隣り合う数値間で1ビットのみが異なるビット列を割り当てる。
これにより、MDREの各次元において、指定された範囲をカバーする効率的なワイルドカードIDが生成され、この結果、効率的な多次元ワイルドカードID集合が生成される。したがって、暗号化装置1は、暗号文長を短くすることができる。
このとき、暗号化装置1は、数値tに対するビット列strの対応関係について、所定の数だけ巡回シフトさせて対応付けることで、アルゴリズムを一般化できる。
また、暗号化装置1は、範囲[L,R]を前半及び後半に分割することにより、それぞれの部分範囲において、効率的にワイルドカードID集合を生成できる。
さらに、暗号化装置1は、部分範囲毎に求めた集合をカバーするワイルドカードID集合を生成することにより、集合を縮小できる可能性がある。この結果、暗号文が短くなることが期待できる。
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
暗号化装置1による暗号化方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
1、1a 暗号化装置(復号装置)
10、10a 制御部
11 二値化部
12 ID集合生成部
13 多次元ID集合生成部
14 セットアップ部
15 鍵生成部
16 暗号化部
17 復号部
18 変換部
20 記憶部

Claims (10)

  1. T個の数値に対して、それぞれlogTビットのビット列を割り当てる二値化部と、
    多次元範囲暗号における次元毎の値に対応する数値に割り当てられた前記ビット列を結合し、結合後の単一の多次元IDに基づいて秘密鍵を生成する鍵生成部と、
    前記次元毎に、設定された値の範囲に割り当てられた前記ビット列の全てをカバーするワイルドカードID集合を生成するID集合生成部と、
    前記ワイルドカードID集合から1要素ずつ取り出した組み合わせ毎に、全要素を結合して単一の多次元ワイルドカードIDとし、全組み合わせの当該多次元ワイルドカードIDを要素とした集合を生成する多次元ID集合生成部と、
    前記多次元ワイルドカードIDのそれぞれに基づいて、ワイルドカードIDベース暗号方式により平文を暗号化し、当該暗号化の結果の全てを暗号文として出力する暗号化部と、を備える暗号化装置。
  2. 前記多次元ID及び前記多次元ワイルドカードIDに対して、全単射関数によって示されるビット位置を入れ替える変換部を備える請求項1に記載の暗号化装置。
  3. 前記二値化部は、前記数値の並びを再帰的に2分割した際に、分割点を軸に両側のブロックに含まれる前記ビット列のいずれか1ビットのみは反転し、他のビットは対称となるように0又は1を割り当てる請求項1又は請求項2に記載の暗号化装置。
  4. 前記二値化部は、前記数値の並びにおいて、隣り合う数値間で1ビットのみが異なる前記ビット列を割り当てる請求項3に記載の暗号化装置。
  5. 前記次元毎の値に対して前記数値は、所定の数だけ巡回シフトさせて対応付けられる請求項3又は請求項4に記載の暗号化装置。
  6. 前記ID集合生成部は、前記数値の並びを再帰的に2分割していく際に得られるブロックのうち、前記範囲に含まれる最も大きなブロックの始点において、前記範囲を分割し、分割された部分範囲毎に前記ワイルドカードID集合を生成する請求項3から請求項5のいずれかに記載の暗号化装置。
  7. 前記ID集合生成部は、前記部分範囲毎に生成された集合の全体をカバーする前記ワイルドカードID集合を生成する請求項6に記載の暗号化装置。
  8. 請求項1から請求項7のいずれかに記載の暗号化装置により生成された暗号文に用いられた多次元ワイルドカードIDのいずれかの条件に、前記秘密鍵により示される前記多次元IDが合致する場合に、当該暗号文を、前記ワイルドカードIDベース暗号方式により復号する復号装置。
  9. T個の数値に対して、それぞれlogTビットのビット列を割り当てる二値化ステップと、
    多次元範囲暗号における次元毎の値に対応する数値に割り当てられた前記ビット列を結合し、結合後の単一の多次元IDに基づいて秘密鍵を生成する鍵生成ステップと、
    前記次元毎に、設定された値の範囲に割り当てられた前記ビット列の全てをカバーするワイルドカードID集合を生成するID集合生成ステップと、
    前記ワイルドカードID集合から1要素ずつ取り出した組み合わせ毎に、全要素を結合して単一の多次元ワイルドカードIDとし、全組み合わせの当該多次元ワイルドカードIDを要素とした集合を生成する多次元ID集合生成ステップと、
    前記多次元ワイルドカードIDのそれぞれに基づいて、ワイルドカードIDベース暗号方式により平文を暗号化し、当該暗号化の結果の全てを暗号文として出力する暗号化ステップと、をコンピュータが実行する暗号化方法。
  10. 請求項1から請求項7のいずれかに記載の暗号化装置としてコンピュータを機能させるための暗号化プログラム。
JP2020165303A 2020-09-30 2020-09-30 暗号化装置、復号装置、暗号化方法及び暗号化プログラム Active JP7365310B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020165303A JP7365310B2 (ja) 2020-09-30 2020-09-30 暗号化装置、復号装置、暗号化方法及び暗号化プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020165303A JP7365310B2 (ja) 2020-09-30 2020-09-30 暗号化装置、復号装置、暗号化方法及び暗号化プログラム

Publications (2)

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

Family

ID=81111105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020165303A Active JP7365310B2 (ja) 2020-09-30 2020-09-30 暗号化装置、復号装置、暗号化方法及び暗号化プログラム

Country Status (1)

Country Link
JP (1) JP7365310B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009170967A (ja) * 2008-01-10 2009-07-30 Osaka Univ 暗号システム、暗号方法、管理局、時報局、送信端末、及び受信端末
JP2021125810A (ja) * 2020-02-06 2021-08-30 Kddi株式会社 暗号化装置、復号装置、暗号化方法及び暗号化プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009170967A (ja) * 2008-01-10 2009-07-30 Osaka Univ 暗号システム、暗号方法、管理局、時報局、送信端末、及び受信端末
JP2021125810A (ja) * 2020-02-06 2021-08-30 Kddi株式会社 暗号化装置、復号装置、暗号化方法及び暗号化プログラム

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, vol. Paper 2020/595, JPN6023026808, 2020, pages 1 - 30, XP061035880, ISSN: 0005098388 *
笠松 宏平, 他: "DBDH仮定に基づく暗号文ポリシー閾値多次元範囲暗号", 2013年 暗号と情報セキュリティシンポジウム(SCIS 2013), JPN6023026807, January 2013 (2013-01-01), pages 1 - 8, ISSN: 0005098389 *

Also Published As

Publication number Publication date
JP7365310B2 (ja) 2023-10-19

Similar Documents

Publication Publication Date Title
US9413729B2 (en) Symmetric encryption apparatus and storage medium, and symmetric decryption apparatus and storage medium
EP2526505B1 (en) Device and method for obtaining a cryptographic key
JP5905128B2 (ja) 暗号システム、再暗号化装置及び暗号方法
NL2013520B1 (en) Public-key encryption system.
Abusukhon et al. A hybrid network security algorithm based on Diffie Hellman and Text-to-Image Encryption algorithm
JPWO2009020060A1 (ja) 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
WO2015107620A1 (ja) 暗号システム、再暗号化鍵生成装置、再暗号化装置及び暗号プログラム
JP6386198B1 (ja) 暗号化装置及び復号装置
JP2018502320A (ja) 公開鍵暗号化システム
JP2012203182A (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
TW201044334A (en) Encryption device, encryption method, and computer program
Kumar et al. A survey on current key issues and status in cryptography
KR101382626B1 (ko) Id 기반의 강한 지정된 검증자 서명 시스템 및 방법
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
WO2018043049A1 (ja) 暗号システム、暗号方法及び暗号プログラム
WO2015052799A1 (ja) 暗号システム、暗号化装置、再暗号化鍵生成装置、再暗号化装置及び暗号プログラム
Ahmad Abusukhon et al. A novel network security algorithm based on encrypting text into a white-page image
Yamuna et al. Encryption of a Binary String using music notes and graph theory
JP6266130B2 (ja) 暗号システム、マスター鍵更新装置及びマスター鍵更新プログラム
KR101951545B1 (ko) 와일드 카드를 포함하는 키 발급, 암호화 및 복호화 방법
JP7365310B2 (ja) 暗号化装置、復号装置、暗号化方法及び暗号化プログラム
Gorbenko et al. Methods of building general parameters and keys for NTRU Prime Ukraine of 5 th–7 th levels of stability. Product form
JP7295818B2 (ja) 暗号化装置、復号装置、暗号化方法及び暗号化プログラム
WO2021171543A1 (ja) 認証暗号化装置、認証復号装置、認証暗号化方法、認証復号方法および記録媒体
WO2021095103A1 (ja) 電子透かしシステム、電子透かし方法及びプログラム

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