JP6971917B2 - 復号装置、暗号化装置及び暗号システム - Google Patents
復号装置、暗号化装置及び暗号システム Download PDFInfo
- Publication number
- JP6971917B2 JP6971917B2 JP2018110987A JP2018110987A JP6971917B2 JP 6971917 B2 JP6971917 B2 JP 6971917B2 JP 2018110987 A JP2018110987 A JP 2018110987A JP 2018110987 A JP2018110987 A JP 2018110987A JP 6971917 B2 JP6971917 B2 JP 6971917B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- key
- encryption
- information
- ciphertext
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/12—Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Storage Device Security (AREA)
Description
セットアップフェーズにおいて、どのようなデータが暗号化されるか、また、暗号文を用いてどのような情報処理が行われるかは決まっていない場合がある。この場合には、暗号文及び秘密鍵の最大の長さを決定することは困難である。なお、最大の長さを非常に長くしておくことが考えられる。しかし、これは、不要な効率の悪化を招くことになる。
この発明は、暗号文及び秘密鍵の最大の長さが限定されない、IPFE方式を構築可能にすることを目的とする。
一定のサイズの公開情報を入力として生成された暗号化設定情報であって、ベクトルxのサイズに応じたサイズの暗号化設定情報を用いて、前記ベクトルxが暗号化された暗号文ctxを取得する暗号文取得部と、
前記公開情報を入力として生成された鍵設定情報であって、ベクトルyのサイズに応じたサイズの鍵設定情報を用いて、前記ベクトルyが設定された秘密鍵skyを取得する秘密鍵取得部と、
前記暗号文取得部によって取得された前記暗号文ctxを、前記秘密鍵取得部によって取得された前記秘密鍵skyで復号して、前記ベクトルxと前記ベクトルyとの内積値を計算する復号部と
を備える。
以下の説明で用いられる用語の定義を説明する。
<IPFE>
IPFEは、マスター秘密鍵mskの所有者がベクトルyに対して秘密鍵skyを発行可能であり、ベクトルxの暗号文ctxを秘密鍵skyで復号するとベクトルxとベクトルyとの内積値だけが明らかになる方式である。
内積値の計算は、数値データに対する重み付けと、統計的な計算に対する利用といった様々な応用が可能である。
双線形群G:=(p,G1,G2,GT,g1,g2,e)は、素数pと、位数pの巡回群G1,G2,GTと、巡回群G1の生成元g1と、巡回群G2の生成元g2と、数108に示す双線形写像eとを備え、以下の双線形性と非退化性との2つの性質を有する。
自然数nに対して、数110に示すように、ランダムに双対正規直交基底(B,B*)を選択することが可能である。
数113に示すどんなベクトルx1,...,xk及びベクトルy1,...,yLと、行列Mとに対しても、数114は一様に分散する。
暗号化と鍵生成と復号との条件を説明する。
連続設定では、ベクトルが暗号化又は鍵生成のアルゴリズムに入力されると、ベクトルの各要素に対して、その位置によって自動的にインデックスが設定される。つまり、ベクトル(a,b,c)に対して、aのインデックスは1が設定され、bのインデックスは2が設定され、cのインデックスは3が設定される。
分離設定では、インデックスの集合がベクトルに付加されており、暗号化及び鍵生成は、インデックスの集合に対応して実行される。言い換えると、ベクトル(a,b,c)は、ある集合、例えば{1,5,6}によってインデックスが設定される。つまり、aのインデックスは1が設定され、bのインデックスは5が設定され、cのインデックスは6が設定される。
Sctを暗号文ctのインデックスの集合とし、Sskを秘密鍵skのインデックスの集合とする。このとき、ct−dominant方式では、Sct⊇Sskの場合に限り、暗号文ctが秘密鍵skで復号される。sk−dominant方式では、Sct⊆Sskの場合に限り、暗号文ctが秘密鍵skで復号される。equal方式では、Sct=Sskの場合に限り、暗号文ctが秘密鍵skで復号される。
実施の形態1では、(E:con,K:sep,D:ct−dom)セッティングについて説明する。つまり、実施の形態1では、長さmのベクトルの暗号文と、集合Sが付加された秘密鍵とに対して、S⊆[m]の場合に限り、暗号文を秘密鍵で復号でき、集合Sに関する内積値が得られる方式を説明する。しかし、後の実施の形態で説明するように、他の設定についても実現可能である。
実施の形態1で説明するUnbounded IPFE(以下、UIPFE)方式では、復号時に離散対数問題を解く処理が含まれる。そのため、扱うベクトルのノルムに上限が置かれる。ここでは、IPFE方式で使用される関数を以下のように定義することにより、扱うベクトルのノルムに上限が置かれる。
<Private−key UIPFEの構成>
実施の形態1では、Private−key UIPFEを説明する。Private−key UIPFEは、秘密鍵セッティングのUIPFEである。秘密鍵セッティングは、暗号文の作成に秘密鍵が必要な方式である。
秘密鍵セッティングの暗号化方式には、端末のバックアップデータをクラウドに置いておき、必要に応じてバックアップデータをクラウドから取得するというような、暗号化と復号とを同じユーザが行うケースといった実際的な応用が存在する。
Setupアルゴリズムは、セキュリティパラメータ1λを入力として、公開パラメータppと、マスター秘密鍵mskとを出力する。
Encアルゴリズムは、公開パラメータppと、マスター秘密鍵mskと、ベクトルx:=(x1,...,xm)とを入力として、暗号文ctxを出力する。ここで、m:=m(λ)は、多項式である。
KeyGenアルゴリズムは、公開パラメータppと、マスター秘密鍵mskと、空でない集合S:=[s]と、インデックス付けされたベクトルy:=(yi)i∈Sとを入力として、秘密鍵skyを出力する。ここで、s:=s(λ)は、多項式である。
Decアルゴリズムは、公開パラメータppと、暗号文ctxと、秘密鍵skyとを入力として、復号された値d∈Z、又は、識別子⊥を出力する。ここで、Zは、整数の集合である。識別子⊥は、復号できないことを示す。
図1を参照して、実施の形態1に係る暗号システム1の構成を説明する。
暗号システム1は、セットアップ装置10と、暗号化装置20と、鍵生成装置30と、復号装置40とを備える。セットアップ装置10と暗号化装置20と鍵生成装置30と復号装置40とは、ネットワークを介して接続される。
セットアップ装置10は、Setupアルゴリズムを実行するコンピュータである。
セットアップ装置10は、プロセッサ11と、メモリ12と、ストレージ13と、通信インタフェース14とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ13には、セットアップ装置10の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ11によりメモリ12に読み込まれ、プロセッサ11によって実行される。これにより、セットアップ装置10の各機能構成要素の機能が実現される。
暗号化装置20は、Encアルゴリズムを実行するコンピュータである。
暗号化装置20は、プロセッサ21と、メモリ22と、ストレージ23と、通信インタフェース24とのハードウェアを備える。プロセッサ21は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ23には、暗号化装置20の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ21によりメモリ22に読み込まれ、プロセッサ21によって実行される。これにより、暗号化装置20の各機能構成要素の機能が実現される。
鍵生成装置30は、KeyGenアルゴリズムを実行するコンピュータである。
鍵生成装置30は、プロセッサ31と、メモリ32と、ストレージ33と、通信インタフェース34とのハードウェアを備える。プロセッサ31は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ33には、鍵生成装置30の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ31によりメモリ32に読み込まれ、プロセッサ31によって実行される。これにより、鍵生成装置30の各機能構成要素の機能が実現される。
復号装置40は、Decアルゴリズムを実行するコンピュータである。
復号装置40は、プロセッサ41と、メモリ42と、ストレージ43と、通信インタフェース44とのハードウェアを備える。プロセッサ41は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ43には、復号装置40の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ41によりメモリ42に読み込まれ、プロセッサ41によって実行される。これにより、復号装置40の各機能構成要素の機能が実現される。
以下の説明では、ノルム上限Xλ,Yλは、ある多項式である。数122に示す関数族Fは、数123に示す関数FKからなる鍵空間Kλについての疑似ランダム関数(以下、PRF)族である。
実施の形態1に係るセットアップ装置10の動作は、実施の形態1に係るセットアップ方法に相当する。また、実施の形態1に係るセットアップ装置10の動作は、実施の形態1に係るセットアッププログラムの処理に相当する。
受付部111は、セキュリティパラメータ1λの入力を受け付ける。
具体的には、受付部111は、通信インタフェース14を介して、セットアップ装置10のユーザによって入力されたセキュリティパラメータ1λを受け付ける。受付部111は、セキュリティパラメータ1λをメモリ12に書き込む。
マスター鍵生成部112は、ステップS11で受け付けられたセキュリティパラメータ1λを入力として、双線形群Gを選択する。また、マスター鍵生成部112は、鍵空間KλからランダムにPRF鍵Kを選択する。
具体的には、マスター鍵生成部112は、メモリ12からセキュリティパラメータ1λを読み出す。マスター鍵生成部112は、セキュリティパラメータ1λを入力として、双線形群の生成アルゴリズムGBGを実行して、双線形群Gを選択する。また、マスター鍵生成部112は、セキュリティパラメータ1λによって定まる鍵空間KλからランダムにPRF鍵Kを選択する。マスター鍵生成部112は、双線形群G及びPRF鍵Kをメモリ12に書き込む。
送信部113は、ステップS12で選択された双線形群Gを公開パラメータppとして、公開する。具体的には、送信部113は、メモリ12から双線形群Gを読み出す。送信部113は、双線形群Gを公開パラメータppとして公開用のサーバに送信するといった方法により、公開する。これにより、暗号化装置20と鍵生成装置30と復号装置40とは、双線形群Gを取得可能になる。
また、送信部113は、ステップS12で選択されたPRF鍵Kをマスター秘密鍵mskとして、暗号化装置20及び鍵生成装置30に秘密裡に送信する。具体的には、送信部113は、メモリ12からPRF鍵Kを読み出す。送信部113は、PRF鍵Kをマスター秘密鍵mskとして、既存の暗号化方式で暗号化した上で暗号化装置20及び鍵生成装置30に送信する。
実施の形態1に係る暗号化装置20の動作は、実施の形態1に係る暗号化方法に相当する。また、実施の形態1に係る暗号化装置20の動作は、実施の形態1に係る暗号化プログラムの処理に相当する。
マスター鍵取得部211は、セットアップ装置10によって生成された公開パラメータppである双線形群Gと、マスター秘密鍵mskであるPRF鍵Kとを取得する。
具体的には、マスター鍵取得部211は、通信インタフェース24を介して、公開された公開パラメータppを取得するとともに、セットアップ装置10によって送信されたマスター秘密鍵mskを取得する。マスター鍵取得部211は、公開パラメータpp及びマスター秘密鍵mskをメモリ22に書き込む。
ベクトル取得部212は、数125に示すベクトルxを取得する。ベクトルxは、暗号化の対象である。ここで、m:=m(λ)は、多項式である。
設定情報定義部213は、ステップS21で取得された一定サイズの公開情報であるマスター秘密鍵mskを入力として、ステップS22で取得された暗号化する対象のベクトルxのサイズに応じたサイズの暗号化設定情報を定義する。ここでは、設定情報定義部213は、一定サイズの公開情報に基づき、ベクトルxのサイズに応じたデータサイズ拡張用の情報を暗号化して、データサイズ拡張用の情報が設定された暗号化設定情報を生成する。ここでのデータサイズ拡張用の情報は、インデックスiである。したがって、設定情報定義部213は、インデックスiを暗号化して、インデックスiが設定された暗号化設定情報を生成する。
具体的には、設定情報定義部213は、メモリ22からマスター秘密鍵msk及びベクトルxを読み出す。設定情報定義部213は、i=1,...,mの各整数iについて、PRFである関数Fに、マスター秘密鍵mskであるPRF鍵Kと、インデックスiとを入力として、行列Biを暗号化設定情報として生成する。mは、ベクトルxの要素数である。つまり、設定情報定義部213は、i=1,...,mの各整数iについて、Bi:=FK(i)を計算して、行列Biを暗号化設定情報として扱う。
なお、設定情報定義部213は、生成された行列Biが非正則行列である場合には、識別子⊥を出力して、処理を終了する。
暗号化部214は、ステップS23で定義された暗号化設定情報を用いて、ベクトルxを暗号化して暗号文ctxを生成する。
具体的には、暗号化部214は、i=1,...,mの各整数iについて、数126に示すように、要素ciを計算する。つまり、暗号化部214は、インデックスiが暗号化された暗号化設定情報を用いて、ベクトルxを暗号化して要素ciを計算する。
送信部215は、ステップS24で生成された暗号文ctxを復号装置40に送信する。具体的には、送信部215は、メモリ22から暗号文ctxを読み出す。送信部215は、通信インタフェース24を介して、暗号文ctxを復号装置40に送信する。
実施の形態1に係る鍵生成装置30の動作は、実施の形態1に係る鍵生成方法に相当する。また、実施の形態1に係る鍵生成装置30の動作は、実施の形態1に係る鍵生成プログラムの処理に相当する。
マスター鍵取得部311は、セットアップ装置10によって生成された公開パラメータppである双線形群Gと、マスター秘密鍵mskであるPRF鍵Kとを取得する。
具体的には、マスター鍵取得部311は、通信インタフェース34を介して、公開された公開パラメータppを取得するとともに、セットアップ装置10によって送信されたマスター秘密鍵mskを取得する。マスター鍵取得部311は、公開パラメータpp及びマスター秘密鍵mskをメモリ32に書き込む。
ベクトル取得部312は、集合S⊆[s]と、インデックスが設定された数129に示すベクトルyとを取得する。ここで、s:=s(λ)は、多項式である。
設定情報定義部313は、ステップS31で取得された一定サイズの公開情報であるマスター秘密鍵mskを入力として、ステップS32で取得されたベクトルyのサイズに応じたサイズの鍵設定情報を定義する。ここでは、設定情報定義部313は、一定サイズの公開情報に基づき、ベクトルyのサイズに応じたデータサイズ拡張用の情報を暗号化して、データサイズ拡張用の情報が設定された鍵設定情報を生成する。ここでの、データサイズ拡張用の情報は、インデックスiである。したがって、設定情報定義部313は、インデックスiを暗号化して、インデックスiが設定された鍵設定情報を生成する。
具体的には、設定情報定義部313は、メモリ32からマスター秘密鍵mskと、集合Sとを読み出す。設定情報定義部313は、i∈Sの各整数iについて、PRFである関数Fに、マスター秘密鍵mskであるPRF鍵Kと、インデックスiとを入力として、行列Biを生成する。設定情報定義部313は、行列Biの随伴行列B* i:=(Bi −1)Tを鍵設定情報として生成する。つまり、設定情報定義部313は、i∈Sの各整数iについて、Bi:=FK(i)を計算して、行列Biの随伴行列B* iを鍵設定情報として扱う。
なお、設定情報定義部313は、生成された行列Biが非正則行列である場合には、識別子⊥を出力して、処理を終了する。
鍵生成部314は、ステップS33で生成された鍵設定情報を用いて、ベクトルyを設定した秘密鍵skyを生成する。
具体的には、鍵生成部314は、i∈Sの各整数iについて、数130に示すように、乱数riを生成する。
送信部315は、ステップS34で生成された秘密鍵skyを復号装置40に送信する。具体的には、送信部315は、メモリ32から秘密鍵skyを読み出す。送信部315は、通信インタフェース34を介して、秘密鍵skyを復号装置40に送信する。
実施の形態1に係る復号装置40の動作は、実施の形態1に係る復号方法に相当する。また、実施の形態1に係る復号装置40の動作は、実施の形態1に係る復号プログラムの処理に相当する。
公開鍵取得部411は、セットアップ装置10によって生成された公開パラメータppである双線形群Gを取得する。
具体的には、公開鍵取得部411は、通信インタフェース44を介して、公開された公開パラメータppを取得する。公開鍵取得部411は、公開パラメータppをメモリ42に書き込む。
暗号文取得部412は、暗号化装置20によって生成された暗号文ctxを取得する。
具体的には、暗号文取得部412は、通信インタフェース44を介して、暗号化装置20によって送信された暗号文ctxを取得する。暗号文取得部412は、暗号文ctxをメモリ42に書き込む。
秘密鍵取得部413は、鍵生成装置30によって生成された秘密鍵skyを取得する。
具体的には、秘密鍵取得部413は、通信インタフェース44を介して、鍵生成装置30によって送信された秘密鍵skyを取得する。秘密鍵取得部413は、秘密鍵skyをメモリ42に書き込む。
復号部414は、S⊆[m]であるか否かを判定することにより、復号可能か否かを判定する。
復号部414は、S⊆[m]である場合には、処理をステップS45に進める。一方、復号部414は、S⊆[m]でない場合には、復号できないとして識別子⊥を出力して、処理を終了する。
復号部414は、ステップS42で取得された暗号文ctxを、ステップS43で取得された秘密鍵skyで復号して、ベクトルxとベクトルyとの内積値を計算する。
具体的には、復号部414は、公開パラメータppと暗号文ctxと秘密鍵skyとをメモリ42から読み出す。復号部414は、数134に示すように、暗号文ctxと秘密鍵skyとについてのペアリング演算を計算することにより、値hを計算する。
以上のように、実施の形態1に係る暗号システム1では、暗号文ctxは、一定のサイズの公開情報を入力として生成された暗号化設定情報であって、ベクトルxのサイズに応じたサイズの暗号化設定情報を用いて、ベクトルxが暗号化されて生成される。また、秘密鍵skyは、一定のサイズの公開情報を入力として生成された鍵設定情報であって、ベクトルyのサイズに応じたサイズの鍵設定情報を用いて、ベクトルyが設定されて生成される。そして、暗号文ctxが秘密鍵skyで復号されて、ベクトルxとベクトルyとの内積値が計算される。そのため、暗号文及び秘密鍵の最大の長さが限定されない、IPFE方式を構築可能にすることができる。
同様に、秘密鍵skyの各要素[ki]2を構成する要素kiに乱数riが含まれる。これにより、秘密鍵skyの一部の要素を、別途生成された他の秘密鍵の要素と入れ替える、一部の要素を削除するといったことができないようになっている。つまり、乱数riにより、秘密鍵skyがバインドされている。
<変形例1>
実施の形態1では、各機能構成要素がソフトウェアで実現された。しかし、変形例1として、各機能構成要素はハードウェアで実現されてもよい。この変形例1について、実施の形態1と異なる点を説明する。
各機能構成要素がハードウェアで実現される場合には、セットアップ装置10は、プロセッサ11とメモリ12とストレージ13とに代えて、電子回路15を備える。電子回路15は、各機能構成要素と、メモリ12と、ストレージ13との機能とを実現する専用の回路である。
各機能構成要素がハードウェアで実現される場合には、暗号化装置20は、プロセッサ21とメモリ22とストレージ23とに代えて、電子回路25を備える。電子回路25は、各機能構成要素と、メモリ22と、ストレージ23との機能とを実現する専用の回路である。
各機能構成要素がハードウェアで実現される場合には、鍵生成装置30は、プロセッサ31とメモリ32とストレージ33とに代えて、電子回路35を備える。電子回路35は、各機能構成要素と、メモリ32と、ストレージ33との機能とを実現する専用の回路である。
各機能構成要素がハードウェアで実現される場合には、復号装置40は、プロセッサ41とメモリ42とストレージ43とに代えて、電子回路45を備える。電子回路45は、各機能構成要素と、メモリ42と、ストレージ43との機能とを実現する専用の回路である。
各機能構成要素を1つの電子回路15,25,35,45で実現してもよいし、各機能構成要素を複数の電子回路15,25,35,45に分散させて実現してもよい。
変形例2として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
実施の形態2では、Public−key UIPFEについて説明する。実施の形態2では、実施の形態1と異なる点を説明し、同一の点については説明を省略する。
<Public−key UIPFEの構成>
Public−key UIPFEは、公開鍵セッティングのUIPFEである。公開鍵セッティングは、暗号文の作成に公開鍵だけが必要であり、秘密鍵は必要ない方式である。
Encアルゴリズムは、公開鍵pkと、ベクトルx:=(x1,...,xm)とを入力として、暗号文ctxを出力する。ここで、m:=m(λ)は、多項式である。
KeyGenアルゴリズムは、公開鍵pkと、マスター秘密鍵mskと、空でない集合S:=[s]と、インデックス付けされたベクトルy:=(yi)i∈Sとを入力として、秘密鍵skyを出力する。ここで、s:=s(λ)は、多項式である。
Decアルゴリズムは、公開鍵pkと、暗号文ctxと、秘密鍵skyとを入力として、復号された値d∈Z、又は、識別子⊥を出力する。ここで、Zは、整数の集合である。識別子⊥は、復号できないことを示す。
図14を参照して、実施の形態2に係る暗号システム1の構成を説明する。
暗号システム1は、セットアップ装置10と、暗号化装置20と、鍵生成装置30と、復号装置40とを備える。セットアップ装置10と暗号化装置20と鍵生成装置30と復号装置40とは、ネットワークを介して接続される。
暗号システム1は、セットアップ装置10から暗号化装置20にマスター秘密鍵mskが送信されていない点が図1に示す暗号システム1と異なる。
以下の説明では、ノルム上限Xλ,Yλは、ある多項式である。
実施の形態2に係るセットアップ装置10の動作は、実施の形態2に係るセットアップ方法に相当する。また、実施の形態2に係るセットアップ装置10の動作は、実施の形態2に係るセットアッププログラムの処理に相当する。
マスター鍵生成部112は、ステップS11で受け付けられたセキュリティパラメータ1λを入力として、双線形群Gを選択する。また、マスター鍵生成部112は、7×7の正則行列Bを生成する。
具体的には、マスター鍵生成部112は、メモリ12からセキュリティパラメータ1λを読み出す。マスター鍵生成部112は、セキュリティパラメータ1λを入力として、双線形群の生成アルゴリズムGBGを実行して、双線形群Gを選択する。マスター鍵生成部112は、数137に示すように、ランダムに7×7の正則行列Bを生成する。マスター鍵生成部112は、正則行列Bの随伴行列B*:=(B−1)Tを生成する。マスター鍵生成部112は、双線形群Gと正則行列B及び随伴行列B*とをメモリ12に書き込む。
送信部113は、ステップS12で選択された双線形群Gと、i=1,...,4の各整数iについての正則行列Bのi行目の要素を群要素g1の指数部に設定した要素[bi]1とを公開鍵pkとして、公開する。具体的には、送信部113は、メモリ12から双線形群Gを読み出す。送信部113は、双線形群Gに含まれる要素g1を用いて、i=1,...,4の各整数iについての正則行列Bのi行目の要素を群要素g1の指数部に設定して、要素[bi]1を生成する。送信部113は、双線形群G及び要素[b1]1,...,[b4]1を公開鍵pkとして公開用のサーバに送信するといった方法により、公開する。これにより、暗号化装置20と鍵生成装置30と復号装置40とは、双線形群G及び要素[b1]1,...,[b4]1を取得可能になる。
また、送信部113は、i=1,...,4の各整数iについての随伴行列B*のi行目の要素b* iをマスター秘密鍵mskとして、鍵生成装置30に秘密裡に送信する。具体的には、送信部113は、メモリ12から随伴行列B*を読み出す。送信部113は、i=1,...,4の各整数iについての随伴行列B*のi行目の要素b* iをマスター秘密鍵mskとして、既存の暗号化方式で暗号化した上で鍵生成装置30に送信する。
実施の形態2に係る暗号化装置20の動作は、実施の形態2に係る暗号化方法に相当する。また、実施の形態2に係る暗号化装置20の動作は、実施の形態2に係る暗号化プログラムの処理に相当する。
マスター鍵取得部211は、セットアップ装置10によって生成された公開鍵pkである双線形群G及び要素[b1]1,...,[b4]1を取得する。
具体的には、マスター鍵取得部211は、通信インタフェース24を介して、公開された公開鍵pkを取得する。マスター鍵取得部211は、公開鍵pkをメモリ22に書き込む。
設定情報定義部213は、ステップS21で取得された一定サイズの公開情報にベクトルxの要素毎に生成されたインデックス情報Iを設定した情報を、ステップS22で取得された暗号化する対象のベクトルxのサイズに応じたサイズの暗号化設定情報として定義する。
具体的には、設定情報定義部213は、i=1,...,mの各整数iについて、数139に示すように、乱数πiを生成する。
暗号化部214は、ステップS23で定義された暗号化設定情報を用いて、ベクトルxを暗号化して暗号文ctxを生成する。
具体的には、暗号化部214は、i=1,...,mの各整数iについて、数141に示すように、要素xi及び乱数zを設定した情報を、要素ciと定義する。
実施の形態2に係る鍵生成装置30の動作は、実施の形態2に係る鍵生成方法に相当する。また、実施の形態2に係る鍵生成装置30の動作は、実施の形態2に係る鍵生成プログラムの処理に相当する。
マスター鍵取得部311は、セットアップ装置10によって生成された公開鍵pkである双線形群G及び要素[b1]1,...,[b4]1と、マスター秘密鍵mskである要素b* 1,...,b* 4とを取得する。
具体的には、マスター鍵取得部311は、通信インタフェース34を介して、公開された公開鍵pkを取得するとともに、セットアップ装置10によって送信されたマスター秘密鍵mskを取得する。マスター鍵取得部311は、公開鍵pk及びマスター秘密鍵mskをメモリ32に書き込む。
設定情報定義部313は、ステップS31で取得された一定サイズの秘密情報であるマスター秘密鍵mskである要素b* 1,...,b* 4を入力として、ステップS32で取得されたベクトルyのサイズに応じたサイズの鍵設定情報を定義する。
具体的には、設定情報定義部313は、設定情報定義部313は、メモリ32からマスター秘密鍵mskと、集合Sとを読み出す。設定情報定義部313は、i∈Sの各整数iについて、数145に示すように、乱数ρiを生成する。
鍵生成部314は、ステップS33で定義された鍵設定情報を用いて、ベクトルyを設定した秘密鍵skyを生成する。
具体的には、鍵生成部314は、i∈Sの各整数iについて、数147に示すように、乱数riを生成する。
以上のように、実施の形態2に係る暗号システム1では、実施の形態1と同様に、暗号文及び秘密鍵の最大の長さが限定されない、IPFE方式を構築可能にすることができる。
<変形例3>
実施の形態2では、インデックス情報Iは、乱数πiと乱数πiに値iを乗じた値との組であり、インデックス情報I’は、乱数ρiに値−iを乗じた値と乱数ρiとの組であった。インデックス情報I及びインデックス情報I’は、内積値が0になる値であれば、これに限定されない。
実施の形態1,2では、(E:con,K:sep,D:ct−dom)セッティングについて説明した。実施の形態3では、他のセッティングについて説明する。実施の形態3では、実施の形態1,2と異なる点を説明し、同一の点については説明を省略する。
長さmのベクトルの暗号文と、長さnのベクトルの秘密鍵とに対して、n≦mの場合に限り、暗号文を秘密鍵で復号でき、[n]に関する内積値が得られる方式である。
集合Uが付加された暗号文と、集合Sが付加された秘密鍵とに対して、S⊆Uの場合に限り、暗号文を秘密鍵で復号でき、集合Sに関する内積値が得られる方式である。
長さmのベクトルの暗号文と、長さnのベクトルの秘密鍵とに対して、m≦nの場合に限り、暗号文を秘密鍵で復号でき、[m]に関する内積値が得られる方式である。
集合Uが付加された暗号文と、長さnのベクトルの秘密鍵とに対して、U⊆[n]の場合に限り、暗号文を秘密鍵で復号でき、集合Uに関する内積値が得られる方式である。
集合Uが付加された暗号文と、集合Sが付加された秘密鍵とに対して、U⊆Sの場合に限り、暗号文を秘密鍵で復号でき、集合Uに関する内積値が得られる方式である。
長さmのベクトルの暗号文と、長さmのベクトルの秘密鍵とに対して、[m]に関する内積値が得られる方式である。
集合Sが付加された暗号文と、集合Sが付加された秘密鍵とに対して、集合Sに関する内積値が得られる方式である。
E:xx,K:yy,D:zzの違いは、暗号文を秘密鍵で復号できる条件に影響する。具体的には、図9のステップS44での判定内容に影響する。
実施の形態1,2では、E:con,K:sep,D:ct−domであったため、S⊆[m]の場合に限り、暗号文を秘密鍵で復号できた。そのため、図9のステップS44でS⊆[m]であるか否かが判定された。他のセッティングの場合には、図9のステップS44でそのセッティングに応じた判定がされる。判定内容は、各セッティングで説明した通りである。
なお、D:eqの場合には、暗号文及び秘密鍵のベクトルの長さが同じである、あるいは、暗号文及び秘密鍵に付加された集合が同じであることが前提である。そのため、図9のステップS44は不要である。又は、図9のステップS44で、暗号文及び秘密鍵のベクトルの長さが同じであること、あるいは、暗号文及び秘密鍵に付加された集合が同じであることの判定が行われてもよい。
実施の形態1,2では、D:ct−domであったため、秘密鍵skyの要素kiに乱数riが設定された。一方、要素kiにおける乱数riが設定された要素に対応する、要素ciにおける要素には乱数zが設定された。これにより、秘密鍵skyがバインドされるとともに、暗号文ctxがバインドされた。ここで、乱数riは、秘密鍵skyの集合Sに含まれる各整数iについて、乱数riの和が0になるように生成された。つまり、全ての要素kiについての乱数riの和が0になるように乱数riは生成された。
他のセッティングの場合には、D:zzに応じて、乱数riと乱数zとが、要素ciと要素kiとのどちらに設定されるかが変更される。具体的には、D:ct−domの場合には、上述した通り、要素kiに乱数ri設定され、要素ciに乱数zが設定される。この場合には、全ての要素kiについての乱数riの和が0になるように乱数riは生成される。D:sk−domの場合には、要素ciに乱数riが設定され、要素kiに乱数zが設定される。この場合には、全ての要素ciについての乱数riの和が0になるように乱数riは生成される。D:eqの場合には、要素kiに乱数riが設定され、要素ciに乱数zが設定されるとともに、要素ciに乱数r’iが設定され、要素kiに乱数z’が設定される。この場合には、全ての要素kiについての乱数riの和が0になるように乱数riは生成され、全ての要素ciについての乱数r’iの和が0になるように乱数r’iは生成される。なお、乱数r’iは、乱数riとは異なる乱数であるが、乱数riと同様の役割を果たす乱数である。乱数z’は、乱数zとは異なる乱数であるが、乱数zと同様の役割を果たす乱数である。
実施の形態4では、実施の形態1で説明したPrivate−key UIPFEの処理を効率的に実現可能な方式を説明する。実施の形態4では、実施の形態1と異なる点を説明し、同一の点については説明を省略する。
Claims (7)
- 一定のサイズの公開情報を入力として定義された暗号化設定情報であって、ベクトルxのサイズに応じたサイズの暗号化設定情報を用いて、前記ベクトルxが暗号化された暗号文ctxを取得する暗号文取得部と、
前記公開情報を入力として定義された鍵設定情報であって、ベクトルyのサイズに応じたサイズの鍵設定情報を用いて、前記ベクトルyが設定された秘密鍵skyを取得する秘密鍵取得部と、
前記暗号文取得部によって取得された前記暗号文ctxを、前記秘密鍵取得部によって取得された前記秘密鍵skyで復号して、前記ベクトルxと前記ベクトルyとの内積値を計算する復号部と
を備え、
前記暗号化設定情報は、前記ベクトルxの要素毎に生成されたインデックス情報Iが前記公開情報に設定されて定義され、
前記鍵設定情報は、前記ベクトルyの要素毎に生成されたインデックス情報I’であって、前記ベクトルxの対応する要素に対して生成されたインデックス情報Iとの内積値が0になるように生成されたインデックス情報I’が前記公開情報に設定されて定義された復号装置。 - 前記暗号文ctxは、前記ベクトルxの各要素xiを対象として、前記インデックス情報Iと対象の要素xiとを設定したベクトルと、前記公開情報である行列Bとの積が群要素に設定された要素[ci]1を含み、
前記秘密鍵skyは、前記ベクトルyの各要素yiを対象として、前記インデックス情報I’と対象の要素yiとを設定したベクトルと、前記行列Bの随伴行列B*との積が群要素に設定された要素[ki]2を含み、
前記復号部は、前記暗号文ctxと前記秘密鍵skyとについてのペアリング演算を計算することにより、前記内積値を計算する
請求項1に記載の復号装置。 - ベクトルxが暗号化された暗号文ctxを、ベクトルyが設定された秘密鍵skyで復号することにより、前記ベクトルxと前記ベクトルyとの内積値を計算する暗号システムにおける暗号化装置であり、
一定のサイズの公開情報を入力として、暗号化する対象のベクトルxのサイズに応じたサイズの暗号化設定情報を定義する設定情報定義部と、
前記設定情報定義部によって定義された前記暗号化設定情報を用いて、前記ベクトルxを暗号化して暗号文ctxを生成する暗号化部と
を備え、
前記設定情報定義部は、前記ベクトルxの要素毎に生成されたインデックス情報Iを前記公開情報に設定した情報を、前記暗号化設定情報と定義する暗号化装置。 - 前記暗号文ctxは、前記ベクトルxの各要素xiを対象として、前記インデックス情報Iと対象の要素とを設定したベクトルと、前記公開情報である行列Bとの積が群要素に設定された要素[ci]1を含む前記暗号文ctxを生成する
請求項4に記載の暗号化装置。 - 一定のサイズの公開情報を入力として生成された暗号化設定情報であって、ベクトルxのサイズに応じたサイズの暗号化設定情報を用いて、前記ベクトルxが暗号化された暗号文ctxを生成する暗号化装置と、
前記公開情報を入力として生成された鍵設定情報であって、ベクトルyのサイズに応じたサイズの鍵設定情報を用いて、前記ベクトルyが設定された秘密鍵skyを生成する鍵生成装置と、
前記暗号化装置によって生成された前記暗号文ctxを、前記鍵生成装置によって生成された前記秘密鍵skyで復号して、前記ベクトルxと前記ベクトルyとの内積値を計算する復号装置と
を備え、
前記暗号化設定情報は、前記ベクトルxの要素毎に生成されたインデックス情報Iが前記公開情報に設定されて定義され、
前記鍵設定情報は、前記ベクトルyの要素毎に生成されたインデックス情報I’であって、前記ベクトルxの対応する要素に対して生成されたインデックス情報Iとの内積値が0になるように生成されたインデックス情報I’が前記公開情報に設定されて定義された暗号システム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018110987A JP6971917B2 (ja) | 2018-06-11 | 2018-06-11 | 復号装置、暗号化装置及び暗号システム |
PCT/JP2019/019248 WO2019239776A1 (ja) | 2018-06-11 | 2019-05-15 | 復号装置、暗号化装置及び暗号システム |
EP19819297.3A EP3767874B1 (en) | 2018-06-11 | 2019-05-15 | Decrypting device, encrypting device, and encryption system |
CN201980037922.0A CN112236974B (zh) | 2018-06-11 | 2019-05-15 | 解密装置、加密装置以及密码系统 |
US17/072,823 US11533176B2 (en) | 2018-06-11 | 2020-10-16 | Decryption device, encryption device, and cryptographic system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018110987A JP6971917B2 (ja) | 2018-06-11 | 2018-06-11 | 復号装置、暗号化装置及び暗号システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019215391A JP2019215391A (ja) | 2019-12-19 |
JP6971917B2 true JP6971917B2 (ja) | 2021-11-24 |
Family
ID=68843255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018110987A Active JP6971917B2 (ja) | 2018-06-11 | 2018-06-11 | 復号装置、暗号化装置及び暗号システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US11533176B2 (ja) |
EP (1) | EP3767874B1 (ja) |
JP (1) | JP6971917B2 (ja) |
CN (1) | CN112236974B (ja) |
WO (1) | WO2019239776A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112150148A (zh) * | 2020-09-24 | 2020-12-29 | 普华云创科技(北京)有限公司 | 一种基于区块链技术的企业资产保护方法与系统 |
WO2024028961A1 (ja) * | 2022-08-01 | 2024-02-08 | 日本電信電話株式会社 | 暗号システム、方法及びプログラム |
WO2024098074A2 (en) * | 2022-11-06 | 2024-05-10 | Ntt Research, Inc. | Compact functional encryption for unbounded attribute-weighted sums |
WO2024151871A1 (en) * | 2023-01-11 | 2024-07-18 | Ntt Research, Inc. | Decentralized multi-authority attribute-based encryption for large universe and unbounded |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011151689A (ja) * | 2010-01-22 | 2011-08-04 | Fujitsu Ltd | 情報処理装置および情報処理方法 |
US8634563B2 (en) * | 2010-12-17 | 2014-01-21 | Microsoft Corporation | Attribute based encryption using lattices |
JP5606351B2 (ja) * | 2011-02-09 | 2014-10-15 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、鍵委譲装置、暗号処理方法及び暗号処理プログラム |
WO2012160137A2 (en) * | 2011-05-25 | 2012-11-29 | Universität Zürich | System, apparatus and method for efficient multicast key distribution |
JP5677273B2 (ja) * | 2011-11-18 | 2015-02-25 | 三菱電機株式会社 | 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置 |
JP5730805B2 (ja) * | 2012-04-04 | 2015-06-10 | 日本電信電話株式会社 | 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置 |
JP5921410B2 (ja) * | 2012-10-19 | 2016-05-24 | 三菱電機株式会社 | 暗号システム |
JP5852551B2 (ja) * | 2012-11-12 | 2016-02-03 | 日本電信電話株式会社 | 関数型暗号システム、鍵生成装置、暗号化装置、復号装置、関数型暗号方法、およびプログラム |
JP5966877B2 (ja) * | 2012-11-20 | 2016-08-10 | 富士通株式会社 | 復号方法、復号プログラム、復号装置、および鍵生成方法 |
US9264222B2 (en) * | 2013-02-28 | 2016-02-16 | Apple Inc. | Precomputing internal AES states in counter mode to protect keys used in AES computations |
US9418126B2 (en) * | 2013-09-18 | 2016-08-16 | Cellco Partnership | Out of home media measurement |
CN104486315B (zh) * | 2014-12-08 | 2017-06-13 | 北京航空航天大学 | 一种基于内容属性的可撤销密钥外包解密方法 |
JPWO2016113878A1 (ja) * | 2015-01-15 | 2017-04-27 | 三菱電機株式会社 | 秘匿検索システム、秘匿検索プログラム及び変換後検索鍵生成装置 |
JP6643756B2 (ja) * | 2015-11-20 | 2020-02-12 | 国立研究開発法人情報通信研究機構 | サーバ、サービス方法 |
US11165758B2 (en) * | 2018-04-09 | 2021-11-02 | International Business Machines Corporation | Keystream generation using media data |
JP7117964B2 (ja) * | 2018-10-04 | 2022-08-15 | 三菱電機株式会社 | 復号装置、暗号システム、復号方法及び復号プログラム |
WO2022040621A1 (en) * | 2020-08-21 | 2022-02-24 | Cyborg Inc. | System and method for encrypted search using hash vectorization models |
US11582025B2 (en) * | 2020-09-29 | 2023-02-14 | Amazon Technologies, Inc. | Efficient deduplication using block-based convergent encryption |
-
2018
- 2018-06-11 JP JP2018110987A patent/JP6971917B2/ja active Active
-
2019
- 2019-05-15 CN CN201980037922.0A patent/CN112236974B/zh active Active
- 2019-05-15 EP EP19819297.3A patent/EP3767874B1/en active Active
- 2019-05-15 WO PCT/JP2019/019248 patent/WO2019239776A1/ja unknown
-
2020
- 2020-10-16 US US17/072,823 patent/US11533176B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN112236974B (zh) | 2024-02-23 |
WO2019239776A1 (ja) | 2019-12-19 |
US20210036852A1 (en) | 2021-02-04 |
US11533176B2 (en) | 2022-12-20 |
JP2019215391A (ja) | 2019-12-19 |
CN112236974A (zh) | 2021-01-15 |
EP3767874A4 (en) | 2021-06-30 |
EP3767874A1 (en) | 2021-01-20 |
EP3767874B1 (en) | 2023-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6971917B2 (ja) | 復号装置、暗号化装置及び暗号システム | |
JP6391900B1 (ja) | 準同型推論装置、準同型推論方法、準同型推論プログラム及び秘匿情報処理システム | |
KR102019159B1 (ko) | 정수 기반 준동형 암호 기법에 일반적으로 적용 가능한 압축 암복호화 장치 및 방법 | |
JP6522263B2 (ja) | 準同型演算装置、暗号システム及び準同型演算プログラム | |
JPWO2019130528A1 (ja) | 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム | |
JP5814880B2 (ja) | 暗号システム、暗号方法、暗号プログラム及び復号装置 | |
JP6305638B2 (ja) | 暗号システム及び鍵生成装置 | |
JP5732429B2 (ja) | 秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム | |
WO2020070973A1 (ja) | 復号装置、暗号システム、復号方法及び復号プログラム | |
JP7233265B2 (ja) | 署名装置、検証装置、署名方法、検証方法、署名プログラム及び検証プログラム | |
CN113645022B (zh) | 一种确定隐私集合交集方法、装置、电子设备及存储介质 | |
JP6949276B2 (ja) | 再暗号化装置、再暗号化方法、再暗号化プログラム及び暗号システム | |
JP7126635B2 (ja) | 再暗号化装置、暗号システム、再暗号化方法及び再暗号化プログラム | |
JP6885325B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム | |
US11451372B2 (en) | Privacy-preserving analysis device, privacy-preserving analysis system, privacy-preserving analysis method, and computer readable medium | |
JP7158635B2 (ja) | 暗号システム、暗号化装置、復号装置及び鍵生成装置 | |
JP7520255B2 (ja) | 秘匿情報処理システム、秘匿情報処理方法、及び秘匿情報処理プログラム | |
Singh et al. | Security of Data with 3DES & Watermarking Algorithm | |
CN118264388A (zh) | 数据处理方法、非易失性存储介质及计算机程序产品 | |
JP2004356720A (ja) | セキュリティ装置、セキュリティ方法、及びプログラム | |
JP2004032521A (ja) | 量子情報分散検証方法、その装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20180613 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20180613 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190130 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200611 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210817 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210929 |
|
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: 20211005 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211102 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6971917 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |