JP6980155B2 - 暗号システム、暗号方法および暗号プログラム - Google Patents

暗号システム、暗号方法および暗号プログラム Download PDF

Info

Publication number
JP6980155B2
JP6980155B2 JP2021521725A JP2021521725A JP6980155B2 JP 6980155 B2 JP6980155 B2 JP 6980155B2 JP 2021521725 A JP2021521725 A JP 2021521725A JP 2021521725 A JP2021521725 A JP 2021521725A JP 6980155 B2 JP6980155 B2 JP 6980155B2
Authority
JP
Japan
Prior art keywords
predicate
key
ciphertext
vector
user
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
JP2021521725A
Other languages
English (en)
Other versions
JPWO2020240816A1 (ja
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2020240816A1 publication Critical patent/JPWO2020240816A1/ja
Application granted granted Critical
Publication of JP6980155B2 publication Critical patent/JP6980155B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Description

本発明は、マルチクライアント型内積述語暗号に関するものである。
内積述語暗号とは、ベクトルの直交性を、ベクトルの値を秘匿したまま判定することが可能な暗号技術である。
内積述語暗号では、まずマスタ秘密鍵と暗号化鍵の2つが生成される。そして、マスタ秘密鍵を使ってユーザ秘密鍵が生成され、暗号化鍵を使って暗号文が生成される。ユーザ秘密鍵と暗号文とのそれぞれには、入力されるベクトルが割り当てられる。ユーザ秘密鍵と暗号文を判定アルゴリズムに入力すると、割り当てられたベクトル同士が直交するか否かを表す真偽値が出力される。この時、ユーザ秘密鍵と暗号文を見ても、それぞれに割り当てられたベクトルの値についての情報を得ることはできない。そのため、判定アルゴリズムを用いて直交性を判定することしかできない。
上記の通り、内積述語暗号では、具体的な値を秘匿したまま特定の関係性を満たすことを判定することが可能である。
そのため、内積述語暗号は、暗号化したまま検索を行う技術である検索可能暗号に応用される。
特許文献1には、暗号文に設定された属性ベクトルと、復号鍵に設定された述語ベクトルと、を共に秘匿可能な内積述語暗号について記載されている。
特許第5951122号公報
従来の内積述語暗号では、ユーザ秘密鍵と暗号文とのそれぞれに1つのベクトルが割り当てられ、1つのユーザ秘密鍵と1つの暗号文との間でベクトルが直交することを判定する。
そのため、複数のクライアントによって作成された複数の暗号文を判定する場合には、判定アルゴリズムを実行するユーザに複数のクライアントに対応する複数のユーザ秘密鍵を渡さなければならない。また、個別の鍵と暗号文をそれぞれ用いることで、暗号文とユーザ秘密鍵の全ての組み合わせにおける直交性が分かってしまう。
本発明は、内積述語暗号において複数のクライアントに対応する複数のユーザ秘密鍵を用いずに複数の暗号文を判定できるようにすることを目的とする。
本発明の暗号システムは、
複数の述語ベクトルが設定された1つのユーザ秘密鍵と、前記複数の述語ベクトルのうちの1つの述語ベクトルに対応する1つの属性ベクトルがそれぞれに設定された複数の暗号文と、を入力にして内積述語暗号の判定アルゴリズムを実行する判定装置を備え、
前記複数の暗号文は、設定された属性ベクトルに対応する述語ベクトルが互いに異なり、
前記判定装置は、前記判定アルゴリズムを実行することによって、前記複数の暗号文の全てで、設定された属性ベクトルが前記複数の述語ベクトルのうちの対応する述語ベクトルと直交するか判定する。
本発明によれば、内積述語暗号において1つのユーザ秘密鍵を用いて複数の暗号文の全ての直交性を判定することができる。
実施の形態1における暗号システム100の構成図。 実施の形態1におけるマスタ鍵生成装置110の機能構成図。 実施の形態1におけるユーザ鍵生成装置120の機能構成図。 実施の形態1における暗号文生成装置130の機能構成図。 実施の形態1における判定装置140の機能構成図。 実施の形態1における各装置(110、120、130、140)のハードウェア構成図。 実施の形態1におけるマスタ鍵生成アルゴリズム(S120)のフローチャート。 実施の形態1におけるユーザ鍵生成アルゴリズム(S230)のフローチャート。 実施の形態1における暗号文生成アルゴリズム(S330)のフローチャート。 実施の形態1における判定アルゴリズム(S430)のフローチャート。 実施の形態1における各装置(110、120、130、140)のハードウェア構成の補足図。
実施の形態および図面において、同じ要素または対応する要素には同じ符号を付している。説明した要素と同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
実施の形態で使用する記法について説明する。
[数101]は、「A」がランダムな変数またはランダムな分布である時、「A」の分布に従い「A」から「y」を一様ランダムに選択したことを表す。つまり、[数101]は、「y」が「A」上の一様乱数であることを表す。
Figure 0006980155
[数102]は、「y」が「z」により定義された値であること、または、「z」が変数yに代入されたことを表す。
Figure 0006980155
[数103]は、位数qの有限体Fを示す。位数qの有限体Fを有限体Fと記す。
Figure 0006980155
[数104]は、有限体Fにおけるベクトル(x,…,x)を表す。
Figure 0006980155
[数105]は、行列Xの転置行列を表す。行列Xの転置行列を行列Xと記す。
Figure 0006980155
[数106]は、ベクトル(b,…,b)から成る基底B、および、ベクトル(b ,…,b )からなる基底Bを表す。
Figure 0006980155
[数107]は、基底B上の元の係数ベクトル(x,…,x、および、基底B上の元の係数ベクトル(y,…,yを表す。
Figure 0006980155
実施の形態で使用する数学的概念について説明する。
まず、対称双線型ペアリング群について説明する。
対称双線型ペアリング群(q,G,G,g、e)は、素数qと、位数qの加法巡回群Gと、位数qの乗法巡回群Gと、ペアリングeとの組である。
ペアリングeは、g≠0∈Gと多項式時間で計算可能な非退化双線型ペアリングであり、「e:G×G→G」で表される。そして、e(sg、tg)=e(g,g)stとe(g,g)≠1が成り立つ。
次に、双対ペアリングベクトル空間について説明する。
双対ペアリングベクトル空間(q,V,G,A,e)は、対称双線型ペアリング群(q,G,G,g,e)の直積によって構成することができる。
双対ペアリングベクトル空間(q,V,G,A,e)は、素数qと、空間V、位数qの乗法巡回群G、空間Vの標準基底Aと、ペアリングeとの組である。
空間Vは、有限体F上のN次元ベクトル空間であり、[数108]で定義される。
空間Vの標準基底Aは、「A:=(a,…,a)」で定義される。「a」は、[数109]で定義される。
空間Vにおけるペアリングは、[数110]によって定義される。この定義は、非退化双線型である。
つまり、e(sx,ty)=e(x,y)stであり、全ての整数y∈Vに対してe(x,y)=1である場合、x=0である。
また、全ての整数i<Nと全ての整数j<Nに対して、e(a,a)=e(g,g)δi,jである。但し、i=jであれば、δi,j=1であり、i≠jであれば、δi,j=0である。また、e(g,g)≠1∈Gである。
Figure 0006980155
Figure 0006980155
Figure 0006980155
実施の形態1.
暗号システム100について、図1から図11に基づいて説明する。
暗号システム100は、内積述語暗号を実施するシステムである。特に、暗号システム100は、マルチクライアント型内積述語暗号の実施に有用である。
マルチクライアント型内積述語暗号は、マルチクライアントに対して適用することが可能な内積述語暗号である。
***構成の説明***
図1に基づいて、暗号システム100の構成を説明する。
暗号システム100は、マスタ鍵生成装置110と、ユーザ鍵生成装置120と、複数の暗号文生成装置130と、判定装置140とを備える。
暗号文生成装置130の数は「m」である。「m」は2以上の整数である。
i番目の暗号文生成装置130を第i暗号文生成装置130と称する。「i」は1以上m以下の整数である。
マスタ鍵生成装置110は、マスタ鍵生成パラメータ(λ,n,m)を用いて、マスタ秘密鍵mskと暗号化鍵の組(ek,…,ek)を生成する。
ユーザ鍵生成装置120は、マスタ秘密鍵mskと述語ベクトルの組(y,…,y)とを用いて、ユーザ秘密鍵uskを生成する。
第i暗号文生成装置130は、暗号化鍵ekと属性ベクトルxと識別子idとを用いて、暗号文cを生成する。
判定装置140は、ユーザ秘密鍵uskと暗号文の組(c,…,c)とを用いて、判定結果(0または1)を求める。
判定結果は、全ての「i」について、述語ベクトルyと属性ベクトルxとの直交性を示す。
判定結果「1」は、全ての「i」について、述語ベクトルyと属性ベクトルxとが直交することを意味する。
判定結果「0」は、少なくともいずれかの「i」について、述語ベクトルyと属性ベクトルxとが直交しないことを意味する。
図2に基づいて、マスタ鍵生成装置110の機能構成を説明する。
マスタ鍵生成装置110は、パラメータ受付部111と、マスタ鍵生成部112と、マスタ鍵出力部113とを備える。
パラメータ受付部111は、マスタ鍵生成パラメータ(λ,n,m)を受け付ける。
マスタ鍵生成部112は、マスタ鍵生成パラメータ(λ,n,m)を用いて、マスタ秘密鍵mskと、暗号化鍵の組(ek,…,ek)を生成する。
マスタ鍵出力部113は、マスタ秘密鍵mskと、暗号化鍵の組(ek,…,ek)を出力する。
図3に基づいて、ユーザ鍵生成装置120の機能構成を説明する。
ユーザ鍵生成装置120は、マスタ秘密鍵受付部121と、述語ベクトル受付部122と、ユーザ秘密鍵生成部123と、ユーザ秘密鍵出力部124とを備える。
マスタ秘密鍵受付部121は、マスタ秘密鍵mskを受け付ける。
述語ベクトル受付部122は、述語ベクトルの組(y,…,y)を受け付ける。
ユーザ秘密鍵生成部123は、マスタ秘密鍵mskと述語ベクトルの組(y,…,y)とを用いて、ユーザ秘密鍵uskを生成する。
ユーザ秘密鍵出力部124は、ユーザ秘密鍵uskを出力する。
図4に基づいて、第i暗号文生成装置130の機能構成を説明する。
第i暗号文生成装置130は、暗号化鍵受付部131と、属性ベクトル受付部132と、暗号文生成部133と、暗号文出力部134とを備える。
暗号化鍵受付部131は、暗号化鍵ekを受け付ける。
属性ベクトル受付部132は、属性ベクトルxと識別子idとを受け付ける。
暗号文生成部133は、暗号化鍵ekと属性ベクトルxと識別子idとを用いて、暗号文cを生成する。
暗号文出力部134は、暗号文cを出力する。
図5に基づいて、判定装置140の機能構成を説明する。
判定装置140は、ユーザ秘密鍵受付部141と、暗号文受付部142と、判定部143と、判定結果出力部144とを備える。
ユーザ秘密鍵受付部141は、ユーザ秘密鍵uskを受け付ける。
暗号文受付部142は、暗号文の組(c,…,c)を受け付ける。
判定部143は、ユーザ秘密鍵uskと暗号文の組(c,…,c)とを用いて、判定結果(0または1)を求める。
判定結果出力部144は、判定結果(0または1)を出力する。
図6に基づいて、暗号システム100の各装置のハードウェア構成を説明する。
マスタ鍵生成装置110とユーザ鍵生成装置120と暗号文生成装置130と判定装置140とのそれぞれは、コンピュータである。
各コンピュータは、プロセッサ191とメモリ192と補助記憶装置193と通信装置194と入出力インタフェース195といったハードウェアを備える。これらのハードウェアは、信号線を介して互いに接続されている。
プロセッサ191は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ191はCPUである。
ICは、Integrated Circuitの略称である。
CPUは、Central Processing Unitの略称である。
メモリ192は揮発性の記憶装置である。メモリ192は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ192はRAMである。メモリ192に記憶されたデータは必要に応じて補助記憶装置193に保存される。
RAMは、Random Access Memoryの略称である。
補助記憶装置193は不揮発性の記憶装置である。例えば、補助記憶装置193は、ROM、HDDまたはフラッシュメモリである。補助記憶装置193に記憶されたデータは必要に応じてメモリ192にロードされる。
ROMは、Read Only Memoryの略称である。
HDDは、Hard Disk Driveの略称である。
通信装置194はレシーバ及びトランスミッタである。例えば、通信装置194は通信チップまたはNICである。
NICは、Network Interface Cardの略称である。
入出力インタフェース195は、入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース195はUSB端子であり、入力装置はキーボード、マウスまたはUSBメモリであり、出力装置はディスプレイまたはUSBメモリである。USBメモリは記憶媒体の一例である。
USBは、Universal Serial Busの略称である。
マスタ鍵生成装置110の補助記憶装置193には、パラメータ受付部111とマスタ鍵生成部112とマスタ鍵出力部113としてコンピュータを機能させるためのマスタ鍵生成プログラムが記憶されている。
ユーザ鍵生成装置120の補助記憶装置193には、マスタ秘密鍵受付部121と述語ベクトル受付部122とユーザ秘密鍵生成部123とユーザ秘密鍵出力部124としてコンピュータを機能させるためのユーザ鍵生成プログラムが記憶されている。
暗号文生成装置130の補助記憶装置193には、暗号化鍵受付部131と属性ベクトル受付部132と暗号文生成部133と暗号文出力部134としてコンピュータを機能させるための暗号文生成プログラムが記憶されている。
判定装置140の補助記憶装置193には、ユーザ秘密鍵受付部141と暗号文受付部142と判定部143と判定結果出力部144としてコンピュータを機能させるための判定プログラムが記憶されている。
各プログラムは、メモリ192にロードされて、プロセッサ191によって実行される。
補助記憶装置193には、さらに、OSが記憶されている。OSの少なくとも一部は、メモリ192にロードされて、プロセッサ191によって実行される。
プロセッサ191は、OSを実行しながら、各プログラムを実行する。
OSは、Operating Systemの略称である。
各プログラムの入出力データは記憶部196に記憶される。
メモリ192は記憶部196として機能する。但し、補助記憶装置193、プロセッサ191内のレジスタおよびプロセッサ191内のキャッシュメモリなどの記憶装置が、メモリ192の代わりに、又は、メモリ192と共に、記憶部196として機能してもよい。
各装置は、プロセッサ191を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ191の役割を分担する。
各プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
***動作の説明***
暗号システム100の動作の手順は暗号方法に相当する。また、暗号システム100の動作の手順は暗号プログラムによる処理の手順に相当する。
暗号方法は、マスタ鍵生成方法と、ユーザ鍵生成方法と、暗号文生成方法と、判定方法とで構成される。
暗号プログラムは、マスタ鍵生成プログラムと、ユーザ鍵生成プログラムと、暗号文生成プログラムと、判定プログラムとで構成される。
図2に基づいて、マスタ鍵生成方法を説明する。
ステップS110において、パラメータ受付部111は、マスタ鍵生成パラメータ(λ,n,m)を受け付ける。
具体的には、マスタ鍵生成装置110のユーザが、入力装置を操作して、マスタ鍵生成パラメータ(λ,n,m)をマスタ鍵生成装置110に入力する。そして、パラメータ受付部111は、入力されたマスタ鍵生成パラメータ(λ,n,m)を受け付ける。但し、パラメータ受付部111は、通信装置194を用いて、マスタ鍵生成パラメータ(λ,n,m)を受信してもよい。
マスタ鍵生成パラメータ(λ,n,m)は、セキュリティパラメータλと、ベクトル次元数nとベクトル個数mとから成る。
セキュリティパラメータλは、生成される鍵の強度を指定する。
ベクトル次元数nは、述語ベクトルyと属性ベクトルxとのそれぞれの次元数である。
ベクトル個数mは、述語ベクトルyと属性ベクトルxとのそれぞれの数であり、暗号文生成装置130の数、すなわち、クライアントの数に相当する。
ステップS120において、マスタ鍵生成部112は、マスタ鍵生成パラメータ(λ,n,m)を入力にして、鍵生成アルゴリズムを実行する。これにより、マスタ秘密鍵mskと、暗号化鍵の組(ek,…,ek)が生成される。
鍵生成アルゴリズムについて後述する。
ステップS130において、マスタ鍵出力部113は、マスタ秘密鍵mskと、暗号化鍵の組(ek,…,ek)を出力する。
具体的には、マスタ鍵出力部113は、通信装置194を用いて、マスタ秘密鍵mskをユーザ鍵生成装置120へ送信する。また、マスタ鍵出力部113は、通信装置194を用いて、暗号化鍵ekを第i暗号文生成装置130へ送信する。但し、マスタ鍵出力部113は、入出力インタフェース195に接続された記憶媒体へ、マスタ秘密鍵mskを書き出してもよい。また、マスタ鍵出力部113は、入出力インタフェース195に接続された別の記憶媒体へ、暗号化鍵の組(ek,…,ek)を書き出してもよい。
図3に基づいて、ユーザ鍵生成方法を説明する。
ステップS210において、マスタ秘密鍵受付部121は、マスタ秘密鍵mskを受け付ける。
具体的には、マスタ秘密鍵受付部121は、通信装置194を用いて、マスタ鍵生成装置110から送信されたマスタ秘密鍵mskを受信する。但し、マスタ秘密鍵受付部121は、入出力インタフェース195に接続された記憶媒体から、マスタ秘密鍵mskを読み出してもよい。
ステップS220において、述語ベクトル受付部122は、述語ベクトルの組(y,…,y)を受け付ける。
具体的には、ユーザ鍵生成装置120のユーザが、入力装置を操作して、述語ベクトルの組(y,…,y)をユーザ鍵生成装置120に入力する。そして、述語ベクトル受付部122は、入力された述語ベクトルの組(y,…,y)を受け付ける。但し、述語ベクトル受付部122は、通信装置194を用いて、述語ベクトルの組(y,…,y)を受信してもよい。
ステップS230において、ユーザ秘密鍵生成部123は、マスタ秘密鍵mskと述語ベクトルの組(y,…,y)とを入力にして、ユーザ鍵生成アルゴリズムを実行する。これにより、ユーザ秘密鍵uskが生成される。
ユーザ鍵生成アルゴリズムについて後述する。
ステップS240において、ユーザ秘密鍵出力部124は、ユーザ秘密鍵uskを出力する。
具体的には、ユーザ秘密鍵出力部124は、通信装置194を用いて、ユーザ秘密鍵uskを判定装置140へ送信する。但し、ユーザ秘密鍵出力部124は、入出力インタフェース195に接続された記憶媒体へ、ユーザ秘密鍵uskを書き出してもよい。
図4に基づいて、第i暗号文生成装置130による暗号文生成方法を説明する。
ステップS310において、暗号化鍵受付部131は、暗号化鍵ekを受け付ける。
具体的には、マスタ秘密鍵受付部121は、通信装置194を用いて、マスタ鍵生成装置110から送信された暗号化鍵ekを受信する。但し、マスタ秘密鍵受付部121は、入出力インタフェース195に接続された記憶媒体から、暗号化鍵ekを読み出してもよい。
ステップS320において、属性ベクトル受付部132は、属性ベクトルxと識別子idとを受け付ける。
具体的には、暗号文生成装置130のユーザが、入力装置を操作して、属性ベクトルxと識別子idとを暗号文生成装置130に入力する。そして、属性ベクトル受付部132は、入力された属性ベクトルxと入力された識別子idとを受け付ける。但し、属性ベクトル受付部132は、通信装置194を用いて、属性ベクトルxと識別子idとを受信してもよい。
ステップS330において、暗号文生成部133は、暗号化鍵ekと属性ベクトルxと識別子idとを入力にして、暗号文生成アルゴリズムを実行する。これにより、暗号文cが生成される。
暗号文生成アルゴリズムについて後述する。
ステップS340において、暗号文出力部134は、暗号文cを出力する。
具体的には、暗号文出力部134は、通信装置194を用いて、暗号文cを判定装置140へ送信する。但し、暗号文出力部134は、入出力インタフェース195に接続された記憶媒体へ、暗号文cを書き出してもよい。
図5に基づいて、判定方法を説明する。
ステップS410において、ユーザ秘密鍵受付部141は、ユーザ秘密鍵uskを受け付ける。
具体的には、ユーザ秘密鍵受付部141は、通信装置194を用いて、ユーザ鍵生成装置120から送信されたユーザ秘密鍵uskを受信する。但し、ユーザ秘密鍵受付部141は、入出力インタフェース195に接続された記憶媒体から、ユーザ秘密鍵uskを読み出してもよい。
ステップS420において、暗号文受付部142は、暗号文の組(c,…,c)を受け付ける。
具体的には、暗号文受付部142は、通信装置194を用いて、第i暗号文生成装置130から送信された暗号文cを受信する。但し、暗号文受付部142は、入出力インタフェース195に接続された記憶媒体から、暗号文cを読み出してもよい。
ステップS430において、判定部143は、ユーザ秘密鍵uskと暗号文の組(c,…,c)とを入力にして、判定アルゴリズムを実行する。これにより、判定結果(0または1)が得られる。
判定アルゴリズムについて後述する。
ステップS440において、判定結果出力部144は、判定結果(0または1)を出力する。
具体的には、判定結果出力部144は、入出力インタフェース195に接続されたディスプレイに、判定結果(0または1)を表示する。但し、判定結果出力部144は、通信装置194を用いて、判定結果(0または1)を送信してもよい。
図7に基づいて、マスタ鍵生成アルゴリズム(S120)を説明する。
ステップS121において、マスタ鍵生成部112は、セキュリティパラメータλに基づいて、対称双線型ペアリング群のパラメータPを決定する。
対称双線型ペアリング群のパラメータPは[数111]で定義される。
Figure 0006980155
対称双線型ペアリング群のパラメータPは、位数qと、位数qの加法巡回群Gと、乗法巡回群Gと、加法巡回群Gの生成元gと、ペアリングeとを含む。
位数qと加法巡回群Gと乗法巡回群Gと生成元gは、ペアリングに適したBN曲線などの楕円曲線を生成する既存のアルゴリズムによって生成される。
ペアリングeは、optimal ateペアリングなどの既存のペアリング演算アルゴリズムから選択されるアルゴリズムによって決定される。
ステップS122において、マスタ鍵生成部112は、対称双線型ペアリング群のパラメータPに基づいて、双対ペアリングベクトル空間のパラメータPを決定する。
双対ペアリングベクトル空間のパラメータPは[数112]で定義される。
Figure 0006980155
双対ペアリングベクトル空間のパラメータPは、位数qと、空間Vと、位数qの乗法巡回群Gと、空間Vの標準基底Aとを含む。
位数qと空間Vと位数qの乗法巡回群Gと空間Vの標準基底Aとペアリングeは、[数108]と[数109]と[数110]に示すように、対称双線型ペアリング群の直積とその上のペアリングとして決定される。
空間Vは[数108]で定義される。「N」は、ベクトル次元数nを用いて、N=6(n+1)で定義される。
空間Vの標準基底Aは「A:=(a,…,a)」で定義される。「a」は[数109]で定義される。
ペアリングeは[数110]で定義される。
ステップS123において、マスタ鍵生成部112は、乱数ψを生成する。
具体的には、マスタ鍵生成部112は、有限体Fから乱数ψを選択する。
乱数ψは[数113]で定義される。
Figure 0006980155
ステップS124において、マスタ鍵生成部112は、行列式が0でないランダム行列の組(X,…,X)を生成する。
ランダム行列Xは有限体F上のランダム行列であり、ランダム行列Xの大きさは(N×N)である。「k」は1以上m以下の整数である。
ランダム行列Xは[数114]で定義される。
(X i,j)は、ランダム行列Xの要素である。
ここでGL(n,F)は有限体F上のn次正則行列全体の集合を表す。
Figure 0006980155
ステップS125において、マスタ鍵生成部112は、ランダム行列Xに基づいて、要素(γ i,j)を生成する。
要素(γ i,j)は[数115]で定義される。
Figure 0006980155
ステップS126において、マスタ鍵生成部112は、標準基底Aとランダム行列Xとに基づいて、基底Bを生成する。
基底Bは[数116]で定義される。
Figure 0006980155
ステップS127において、マスタ鍵生成部112は、要素(γ i,j)と標準基底Aとに基づいて、基底B を生成する。
基底B は[数117]で定義される。
Figure 0006980155
ステップS128において、マスタ鍵生成部112は、ペアリングeに基づいて、要素gを生成する。
要素gは[数118]で定義される。
Figure 0006980155
ステップS129において、マスタ鍵生成部112は、パラメータPとパラメータPと基底の組(B ,…,B )とを用いて、マスタ秘密鍵mskを生成する。
マスタ秘密鍵mskは、パラメータPとパラメータPと基底の組(B ,…,B )とを含む。
マスタ秘密鍵mskは[数119]で定義される。
Figure 0006980155
さらに、マスタ鍵生成部112は、パラメータPとパラメータPと基底Bとを用いて、暗号化鍵ekを生成する。「i」は1以上m以下の整数である。
暗号化鍵ekは、パラメータPとパラメータPと基底Bとを含む。
暗号化鍵ekは[数120]で定義される。
Figure 0006980155
図8に基づいて、ユーザ鍵生成アルゴリズム(S230)を説明する。
ステップS231において、ユーザ秘密鍵生成部123は、有限体Fに基づいて、乱数の組(s,…,sm−1)を生成する。
乱数の組(s,…,sm−1)は[数121]で定義される。
Figure 0006980155
ユーザ秘密鍵生成部123は、乱数の組(s,…,sm−1)に基づいて、乱数sを生成する。乱数sは、乱数の組(s,…,sm−1)の総和の逆元である。
乱数sは[数122]で定義される。
Figure 0006980155
ユーザ秘密鍵生成部123は、有限体Fに基づいて、ランダムなベクトルの組(η,…,η)を生成する。
ランダムなベクトルの組(η,…,η)は[数123]で定義される。
Figure 0006980155
ユーザ秘密鍵生成部123は、有限体Fに基づいて、ランダムなベクトルの組(θ,…,θ)を生成する。
ランダムなベクトルの組(θ,…,θ)は[数124]で定義される。
Figure 0006980155
ステップS232において、ユーザ秘密鍵生成部123は、基底の組(B ,…,B )を用いて、双対ペアリングベクトル空間上の元の組(σ,…,σ)を生成する。
双対ペアリングベクトル空間上の元σは[数125]で定義される。「i」は1以上m以下の整数である。
Figure 0006980155
ステップS233において、ユーザ秘密鍵生成部123は、双対ペアリングベクトル空間上の元の組(σ,…,σ)を用いて、ユーザ秘密鍵uskを生成する。
ユーザ秘密鍵uskは双対ペアリングベクトル空間上の元の組(σ,…,σ)を含む。
ユーザ秘密鍵uskは[数126]で定義される。
Figure 0006980155
図9に基づいて、第i暗号文生成装置130による暗号文生成アルゴリズム(S330)を説明する。
ステップS331において、暗号文生成部133は、有限体Fに基づいて、ランダムなベクトルωを生成する。
ランダムなベクトルωは[数127]で定義される。
Figure 0006980155
さらに、暗号文生成部133は、有限体Fに基づいて、ランダムなベクトルφを生成する。
ランダムなベクトルφは[数128]で定義される。
Figure 0006980155
ステップS332において、暗号文生成部133は、ベクトルωとベクトルφと基底Bとに基づいて、双対ペアリングベクトル空間上の元cを生成する。生成された元cが暗号文となる。
双対ペアリングベクトル空間上の元c(暗号文c)は[数129]で定義される。
ここでH(id)はFを値域とするハッシュ関数Hにidを入力した際の出力を表す。
Figure 0006980155
図10に基づいて、判定アルゴリズム(S430)を説明する。
ステップS431において、判定部143は、ユーザ秘密鍵uskの要素(σ,…,σ)と暗号文の組(c,…,c)とを用いて、判定値ζを算出する。
判定値ζは[数130]で定義される。
Figure 0006980155
ステップS432において、判定部143は、判定値ζに基づいて、判定結果を生成する。
具体的には、判定値ζが「1」であれば判定結果は「1」であり、判定値ζが「1」でなければ判定結果は「0」である。
判定結果outputは[数131]で定義される。
Figure 0006980155
***実施の形態1の特徴***
暗号システム100は、以下のような内積述語暗号方式を実現する。
その内積述語暗号方式は、ベクトルがそれぞれに設定されたユーザ秘密鍵と暗号文を用いて、ベクトルの値を秘匿したまま、直交性の判定が可能である。特に、複数のベクトルが設定された1つのユーザ秘密鍵と、1つのベクトルが設定された複数の暗号文との間で、対応するベクトル同士の直交性が全て成り立つか否かを各ベクトルの値を秘匿したまま判定することが可能である。
複数の暗号文はそれぞれ異なるクライアントの装置によってバラバラに生成することが可能である。また、各暗号文にはベクトルだけではなく識別子idが設定され、識別子idが等しい暗号文同士のみが判定アルゴリズムの入力として機能する。そのため、暗号文同士の識別子idが異なる場合は、常に、判定結果が「0」になる。
***実施の形態1の概要***
暗号システム100は、判定装置140を備える。
判定装置140は、複数の述語ベクトルが設定された1つのユーザ秘密鍵と、前記複数の述語ベクトルのうちの1つの述語ベクトルに対応する1つの属性ベクトルがそれぞれに設定された複数の暗号文と、を入力にして内積述語暗号の判定アルゴリズムを実行する。
前記複数の暗号文は、設定された属性ベクトルに対応する述語ベクトルが互いに異なる。
そして、判定装置140は、前記判定アルゴリズムを実行することによって、前記複数の暗号文の全てで、設定された属性ベクトルが前記複数の述語ベクトルのうちの対応する述語ベクトルと直交するか判定する。
暗号システム100は、ユーザ鍵生成装置120と複数の暗号文生成装置130とを備える。
ユーザ鍵生成装置120は、1つのマスタ秘密鍵と複数の述語ベクトルとを受け付け、受け付けたマスタ秘密鍵と受け付けた複数の述語ベクトルとを用いて前記ユーザ秘密鍵を生成する。
複数の暗号文生成装置130は、前記複数の暗号文を生成する。
複数の暗号文生成装置130のそれぞれは、1つの暗号鍵と1つの述語ベクトルとを受け付け、受け付けた暗号鍵と受け付けた述語ベクトルとを用いて1つの暗号文を生成する。
暗号システム100は、マスタ鍵生成装置110を備える。
マスタ鍵生成装置110は、1つのマスタ秘密鍵と複数の暗号化鍵とを生成する。
ユーザ鍵生成装置120は、マスタ鍵生成装置110によって生成されたマスタ秘密鍵を受け付ける。
複数の暗号文生成装置130のそれぞれは、マスタ鍵生成装置110によって生成された複数の暗号化鍵のうちの1つの暗号化鍵を受け付ける。
***実施の形態1の効果***
それぞれ1つのベクトルが割り当てられた複数の暗号文に対して複数のベクトルが割り当てられた1つのユーザ秘密鍵を用いることで、対応するベクトル同士のペアの全てが直交するか否かのみを一度に判定することができる。
***実施の形態1の補足***
実施の形態1では、対称双線型ペアリング群により双対ペアリングベクトル空間を構成した場合について説明した。
なお、非対称双線型ペアリング群により双対ペアリングベクトル空間を構成することも可能である。
実施の形態1を非対称双線型ペアリング群により双対ペアリングベクトル空間を構成した場合に応用することは容易である。
図11に基づいて、暗号システム100の各装置のハードウェア構成について補足する。
マスタ鍵生成装置110とユーザ鍵生成装置120と暗号文生成装置130と判定装置140とのそれぞれは、処理回路199を備える。
マスタ鍵生成装置110処理回路199は、パラメータ受付部111とマスタ鍵生成部112とマスタ鍵出力部113とを実現するハードウェアである。
ユーザ鍵生成装置120の処理回路199は、マスタ秘密鍵受付部121と述語ベクトル受付部122とユーザ秘密鍵生成部123とユーザ秘密鍵出力部124とを実現するハードウェアである。
暗号文生成装置130の処理回路199は、暗号化鍵受付部131と属性ベクトル受付部132と暗号文生成部133と暗号文出力部134とを実現するハードウェアである。
判定装置140の処理回路199は、ユーザ秘密鍵受付部141と暗号文受付部142と判定部143と判定結果出力部144とを実現するハードウェアである。
処理回路199は、専用のハードウェアであってもよいし、メモリ192にロードされたプログラムを実行する処理回路199であってもよい。
処理回路199が専用のハードウェアである場合、処理回路199は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。
ASICは、Application Specific Integrated Circuitの略称である。
FPGAは、Field Programmable Gate Arrayの略称である。
各装置は、処理回路199を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路199の役割を分担する。
各装置において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
このように、各装置の機能はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
実施の形態で説明された各装置の要素である「部」は、「処理」または「工程」と読み替えてもよい。
100 暗号システム、110 マスタ鍵生成装置、111 パラメータ受付部、112 マスタ鍵生成部、113 マスタ鍵出力部、120 ユーザ鍵生成装置、121 マスタ秘密鍵受付部、122 述語ベクトル受付部、123 ユーザ秘密鍵生成部、124 ユーザ秘密鍵出力部、130 暗号文生成装置、131 暗号化鍵受付部、132 属性ベクトル受付部、133 暗号文生成部、134 暗号文出力部、140 判定装置、141 ユーザ秘密鍵受付部、142 暗号文受付部、143 判定部、144 判定結果出力部、191 プロセッサ、192 メモリ、193 補助記憶装置、194 通信装置、195 入出力インタフェース、196 記憶部、199 処理回路。

Claims (8)

  1. 複数の述語ベクトルが設定された1つのユーザ秘密鍵と、前記複数の述語ベクトルのうちの1つの述語ベクトルに対応する1つの属性ベクトルがそれぞれに設定された複数の暗号文と、を入力にして内積述語暗号の判定アルゴリズムを実行する判定装置を備え、
    前記複数の暗号文は、設定された属性ベクトルに対応する述語ベクトルが互いに異なり、
    前記判定装置は、前記判定アルゴリズムを実行することによって、前記複数の暗号文の全てで、設定された属性ベクトルが前記複数の述語ベクトルのうちの対応する述語ベクトルと直交するか判定する
    暗号システム。
  2. 前記判定装置は、数1に示す値ζをユーザ秘密鍵uskの要素(σ,…,σ)と暗号文の組(c,…,c)とを用いて算出し、値ζに基づいて判定結果を生成する
    請求項1に記載の暗号システム。
    Figure 0006980155
  3. ユーザ秘密鍵uskの要素σが数2で定義される請求項2に記載の暗号システム。
    Figure 0006980155
  4. 識別子idと属性ベクトルxとを用いて、暗号文cが数3で定義される請求項2または請求項3に記載の暗号システム。
    Figure 0006980155
  5. 前記暗号システムは、
    1つのマスタ秘密鍵と複数の述語ベクトルとを受け付け、受け付けたマスタ秘密鍵と受け付けた複数の述語ベクトルとを用いて前記ユーザ秘密鍵を生成するユーザ鍵生成装置と、
    前記複数の暗号文を生成する複数の暗号文生成装置と、を備え、
    前記複数の暗号文生成装置のそれぞれは、1つの暗号鍵と1つの述語ベクトルとを受け付け、受け付けた暗号鍵と受け付けた述語ベクトルとを用いて1つの暗号文を生成する
    請求項1から請求項4のいずれか1項に記載の暗号システム。
  6. 前記暗号システムは、1つのマスタ秘密鍵と複数の暗号化鍵とを生成するマスタ鍵生成装置を備え、
    前記ユーザ鍵生成装置は、前記マスタ鍵生成装置によって生成されたマスタ秘密鍵を受け付け、
    前記複数の暗号文生成装置のそれぞれは、前記マスタ鍵生成装置によって生成された複数の暗号化鍵のうちの1つの暗号化鍵を受け付ける
    請求項5に記載の暗号システム。
  7. ユーザ秘密鍵受付部と暗号文受付部と判定部を備える判定装置によって実行される暗号方法であって、
    前記ユーザ秘密鍵受付部が、複数の述語ベクトルが設定された1つのユーザ秘密鍵を受け付け、
    前記暗号文受付部が、前記複数の述語ベクトルのうちの1つの述語ベクトルに対応する1つの属性ベクトルがそれぞれに設定された複数の暗号文を受け付け、
    前記判定部が、前記1つのユーザ秘密鍵と前記複数の暗号文とを入力にして内積述語暗号の判定アルゴリズムを実行し、
    前記複数の暗号文は、設定された属性ベクトルに対応する述語ベクトルが互いに異なり、
    前記判定部は、前記判定アルゴリズムを実行することによって、前記複数の暗号文の全てで、設定された属性ベクトルが前記複数の述語ベクトルのうちの対応する述語ベクトルと直交するか判定する
    暗号方法。
  8. 複数の述語ベクトルが設定された1つのユーザ秘密鍵を受け付けるユーザ秘密鍵受付部と、
    前記複数の述語ベクトルのうちの1つの述語ベクトルに対応する1つの属性ベクトルがそれぞれに設定された複数の暗号文を受け付ける暗号文受付部と、
    前記1つのユーザ秘密鍵と前記複数の暗号文とを入力にして内積述語暗号の判定アルゴリズムを実行する判定部として
    コンピュータを機能させるための暗号プログラムであって、
    前記複数の暗号文は、設定された属性ベクトルに対応する述語ベクトルが互いに異なり、
    前記判定は、前記判定アルゴリズムを実行することによって、前記複数の暗号文の全てで、設定された属性ベクトルが前記複数の述語ベクトルのうちの対応する述語ベクトルと直交するか判定する
    暗号プログラム。
JP2021521725A 2019-05-31 2019-05-31 暗号システム、暗号方法および暗号プログラム Active JP6980155B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/021707 WO2020240816A1 (ja) 2019-05-31 2019-05-31 暗号システム、暗号方法および暗号プログラム

Publications (2)

Publication Number Publication Date
JPWO2020240816A1 JPWO2020240816A1 (ja) 2021-10-14
JP6980155B2 true JP6980155B2 (ja) 2021-12-15

Family

ID=73553640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021521725A Active JP6980155B2 (ja) 2019-05-31 2019-05-31 暗号システム、暗号方法および暗号プログラム

Country Status (2)

Country Link
JP (1) JP6980155B2 (ja)
WO (1) WO2020240816A1 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2547049B1 (en) * 2010-05-25 2018-09-19 Huawei Technologies Co., Ltd. Method, system and corresponding apparatus for implementing policy and charging control
JP5486519B2 (ja) * 2011-01-20 2014-05-07 日本電信電話株式会社 検索システム、判定装置、ベクトル構成装置、その方法及びプログラム
JP5513444B2 (ja) * 2011-05-31 2014-06-04 日本電信電話株式会社 ベクトル構成システム、方法、装置及びプログラム並びに暗号システム
JP6054790B2 (ja) * 2013-03-28 2016-12-27 三菱スペース・ソフトウエア株式会社 遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム

Also Published As

Publication number Publication date
WO2020240816A1 (ja) 2020-12-03
JPWO2020240816A1 (ja) 2021-10-14

Similar Documents

Publication Publication Date Title
US11323444B2 (en) Method for faster secure multiparty inner product computation with SPDZ
TWI672932B (zh) 基於質數陣列的後量子非對稱密鑰產生方法及系統、加密方法、解密方法及加密通訊系統
US11431487B2 (en) Adaptive attack resistant distributed symmetric encryption
US11171773B2 (en) Client-server computer system
US20100275028A1 (en) Verification apparatus
US9705683B2 (en) Verifiable implicit certificates
Liu et al. Verifiable attribute-based keyword search over encrypted cloud data supporting data deduplication
US11804960B2 (en) Distributed symmetric encryption
Ali et al. Attribute-based fine-grained access control for outscored private set intersection computation
CN106789087B (zh) 确定消息的数据摘要、基于多方的数字签名的方法及***
KR20230141845A (ko) 임계값 키 교환
US11101981B2 (en) Generating a pseudorandom number based on a portion of shares used in a cryptographic operation
EP3618345B1 (en) Re-encrypted key generation device, re-encryption device, re-encrypted cipher text decryption device and cryptosystem
Lizama-Pérez et al. Public hash signature for mobile network devices
Ahmad Abusukhon et al. A novel network security algorithm based on encrypting text into a white-page image
WO2021222272A1 (en) Adaptive attack resistant distributed symmetric encryption
De Abiega-L’Eglisse et al. Performance of new hope and crystals-dilithium postquantum schemes in the transport layer security protocol
JP6980155B2 (ja) 暗号システム、暗号方法および暗号プログラム
WO2023134576A1 (zh) 数据加密方法、属性授权中心及存储介质
WO2019239776A1 (ja) 復号装置、暗号化装置及び暗号システム
Chen et al. Public-key quantum signature for classical messages without third-party verification
JP4563037B2 (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
CN114448640A (zh) 一种双盲信息分发方法、装置及计算机可读存储介质
JP4598269B2 (ja) 楕円曲線上の高速有限体演算
Liu et al. Proofs of encrypted data retrievability with probabilistic and homomorphic message authenticators

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210604

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210831

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210913

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211116

R150 Certificate of patent or registration of utility model

Ref document number: 6980155

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150