WO2020188906A1 - 署名装置、検証装置、署名方法、検証方法、署名プログラム及び検証プログラム - Google Patents
署名装置、検証装置、署名方法、検証方法、署名プログラム及び検証プログラム Download PDFInfo
- Publication number
- WO2020188906A1 WO2020188906A1 PCT/JP2019/047995 JP2019047995W WO2020188906A1 WO 2020188906 A1 WO2020188906 A1 WO 2020188906A1 JP 2019047995 W JP2019047995 W JP 2019047995W WO 2020188906 A1 WO2020188906 A1 WO 2020188906A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- signature
- basis
- verification
- vector
- unit
- Prior art date
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/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/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus 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
-
- 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
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
署名装置(30)は、双対ベクトル空間における双対基底である基底B及び基底B*のうちの基底B*に、属性ベクトルx→が設定された署名鍵SK(x→)を取得する。署名装置(30)は、署名鍵SK(x→)に対して、ABP(Arithmetic Branching Programs)の述語情報を設定して、メッセージMSGに対する署名sigを生成する。署名装置(30)は、署名sigと、メッセージMSGとを検証装置(40)に出力する。
Description
この発明は、ABP(Arithmetic Branching Programs)を用いた署名技術に関する。
非特許文献1には、多項式サイズ回路及び多項式時間計算可能チューリングマシン等により決まる一般的な述語に対する属性ベース署名(ABS:Attribute-Based Signature)方式が記載されている。
Y. Sakai, S. Katsumata, N. Attrapadung, G. Hanaoka, Attribute-based signatures for unbounded languages from standard assumptions
しかし、非特許文献1に記載された方式は、極めて理論的で実際に使える効率性を達成することは困難であった。
この発明は、実用的なABE方式を構成可能にすることを目的とする。
この発明は、実用的なABE方式を構成可能にすることを目的とする。
この発明に係る署名装置は、
双対ベクトル空間における双対基底である基底B及び基底B*のうちの基底B*に、属性ベクトルが設定された署名鍵を取得する取得部と、
前記取得部によって取得された前記署名鍵に対して、ABP(Arithmetic Branching Programs)の述語情報を設定して、メッセージに対する署名を生成する署名部と、
前記署名部によって生成された前記署名と、前記メッセージとを出力する出力部と
を備える。
双対ベクトル空間における双対基底である基底B及び基底B*のうちの基底B*に、属性ベクトルが設定された署名鍵を取得する取得部と、
前記取得部によって取得された前記署名鍵に対して、ABP(Arithmetic Branching Programs)の述語情報を設定して、メッセージに対する署名を生成する署名部と、
前記署名部によって生成された前記署名と、前記メッセージとを出力する出力部と
を備える。
この発明では、属性ベクトルが設定された署名鍵に対して、ABPの述語ベクトルを設定して署名を生成する。これにより、実用的なABE方式を構成することが可能になる。
確率的アルゴリズムPに対して、数106は、一様なランダムテープを伴う入力ΘにおけるアルゴリズムPの出力分布からΠをサンプリング処理を示す。
確定的アルゴリズムDに対して、Π=D(Θ)は、入力ΘにおけるアルゴリズムDの出力を示す。
アルゴリズムは、内容から明らかな場合には、入力として明示されていない場合であっても、セキュリティパラメータλの単進符号表現1λが入力として与えられるものとする。
M=(mk,i)は、成分mk,i∈Fqを有するd×r行列を示す。MTは、行列Mの転置行列を示す。det(M)は、行列Mの行列式を示す。行列の記載において、Iは、単位行列を示し、0は、ゼロ行列を示す。GL(d,Fq)は、Fq
d×dにおける全てのd×dの可逆行列の集合を示す。
***準備***
以下の説明で用いられる用語の定義等を説明する。
以下の説明で用いられる用語の定義等を説明する。
実施の形態1では、ABPの述語を用いたABS方式を説明する。また、実施の形態1では、ABPの述語のASP(Arithmetic Span Programs)表現を用いる。そこで、ABP及びASPについて説明する。
<ABP>
BP(Branching Program)Γは、数119に示す5つの要素によって定義される。
数120は頂点の集合を示し、数121は辺の集合を示す。数120は、単にVと記載され、数121は、単にEと記載される。
(V,E)は、有効非巡回グラフである。V0,V1∈Vは、それぞれソースとシンクと呼ばれる特別な頂点である。φは、Eにおける辺に対するラベリング関数である。
BP(Branching Program)Γは、数119に示す5つの要素によって定義される。
有限体FqにおけるABPΓは、数122に示す関数fを計算する。
ここで、Eにおける各辺に割り当てられるラベリング関数φは、Fqにおける係数を伴う1つの変数の1次式、又は、Fqにおける定数である。pを、ABPΓにおけるソースV0からシンクV1への全てのパスの集合とする。ある入力x→=(x1,...,xd)∈Fq
dにおけるABPΓによって計算される関数fの出力は、数123に示すように定義される。
数124は、x→に対する関数φ(E)の評価値を示す。
非特許文献Ishai, Y., Kushilevitz, E.: Perfect constant-round secure computation via perfect randomizing polynomials. In: International Colloquium on Automata, Languages,and Programming-ICALP 2002. pp. 244-256. Springer (2002)には、次の内容が示されている。
関数fを計算するABPΓ=(V,E,V0,V1,φ)が与えられた場合、入力x→∈Fq dをFqにおける(#V-1)×(#V-1)の行列L(x→)にマッピングする関数Lを効率的かつ決定的に計算することが可能である。また、以下の(1)から(3)が成立する。
(1)det(L(x→))=f(x→)である。
(2)(L(x→))の各成分は、Fqにおける係数を伴う1つの変数xi(i∈[d])の1次式、又は、Fqにおける定数である。
(3)(L(x→))は、第2対角、つまり主対角のすぐ下の対角には、-1だけを含み、第2対角の下には0だけを含む。
具体的には、行列Lは、行列AΓ-Iから、V0に対応する列と、V1に対応する行と
を取り除くことによって得られる。ここで、行列AΓは、Γに対する隣接行列である。Iは単位行列である。
関数fを計算するABPΓ=(V,E,V0,V1,φ)が与えられた場合、入力x→∈Fq dをFqにおける(#V-1)×(#V-1)の行列L(x→)にマッピングする関数Lを効率的かつ決定的に計算することが可能である。また、以下の(1)から(3)が成立する。
(1)det(L(x→))=f(x→)である。
(2)(L(x→))の各成分は、Fqにおける係数を伴う1つの変数xi(i∈[d])の1次式、又は、Fqにおける定数である。
(3)(L(x→))は、第2対角、つまり主対角のすぐ下の対角には、-1だけを含み、第2対角の下には0だけを含む。
具体的には、行列Lは、行列AΓ-Iから、V0に対応する列と、V1に対応する行と
を取り除くことによって得られる。ここで、行列AΓは、Γに対する隣接行列である。Iは単位行列である。
ここで、ブーリアン方式と、ブーリアンブランチングプログラムと、算術方式とをABPに変換する線形時間アルゴリズムが存在する。
<ASP>
n個の変数におけるアクセスストラクチャS=(U,ρ)は、数125に示すベクトルのペアの集合Uと、数126に示す関数ρとである。
数127である場合に限り、数128に示す属性ベクトルx→はアクセスストラクチャSを満たす。
n個の変数におけるアクセスストラクチャS=(U,ρ)は、数125に示すベクトルのペアの集合Uと、数126に示す関数ρとである。
ABPとASPとは、以下のように関連付けられる。
数129に対して、数130に示す関数fを計算するサイズm+1のABPΓ=(V,E,V0,V1,φ)が与えられた場合に、数131に示すASPのアクセスストラクチャSを構築する効率的なアルゴリズムがあることが、非特許文献Ishai, Y., Wee, H.: Partial garbling schemes and their applications. In: ICALP2014. pp. 650-662. Springerに示されている。
ここで、数132は、f(x→)=0と、アクセスストラクチャSがx→を受理することとが同値であることを意味する。
数129に対して、数130に示す関数fを計算するサイズm+1のABPΓ=(V,E,V0,V1,φ)が与えられた場合に、数131に示すASPのアクセスストラクチャSを構築する効率的なアルゴリズムがあることが、非特許文献Ishai, Y., Wee, H.: Partial garbling schemes and their applications. In: ICALP2014. pp. 650-662. Springerに示されている。
実施の形態1では、双対ベクトル空間である双対ペアリングベクトル空間(DPVS:Dual Pairing Vector Spaces)において、ABSを実現する。そこで、DPVSと、DPVSの前提となる双線形群とについて説明する。
以下の説明では、GBPG()を双線形群の生成アルゴリズムとする。つまり、GBP
Gは、paramGを生成するアルゴリズムである。
Gは、paramGを生成するアルゴリズムである。
<双対ペアリングベクトル空間(以下、DPVS)>
数138に示すDPVSであるparamVは、双線形群であるparamGの直積によって構成される。paramVは、素数qと、要素毎に定義されたベクトル加算及びスカラー乗法の下での体Fq上のd次元ベクトル空間V=G1 d及びd次元ベクトル空間V*=G2 dと、ベクトル空間V及びベクトル空間V*の数139に示す標準基底Atと、数140に示すペアリング演算eとを備える。
数139において、数141は単位元である。
数138に示すDPVSであるparamVは、双線形群であるparamGの直積によって構成される。paramVは、素数qと、要素毎に定義されたベクトル加算及びスカラー乗法の下での体Fq上のd次元ベクトル空間V=G1 d及びd次元ベクトル空間V*=G2 dと、ベクトル空間V及びベクトル空間V*の数139に示す標準基底Atと、数140に示すペアリング演算eとを備える。
数144に示すベクトル空間V(又は、ベクトル空間V*)の基底Wと、ベクトルv→∈Fq
dとに対して、数145は、基底Wの要素とベクトルv→の要素との線形結合によって構成されるベクトル空間V(又は、ベクトル空間V*)のベクトルを示す。つまり、数145は、数146を示す。
以下の説明では、GDPVS(1λ,d)をDPVSの生成アルゴリズムとする。つまり、GDPVSは、単進符号のエンコーディングがされたセキュリティパラメータ1λと、次元を示す自然数dとを入力として、d次元ベクトル空間V及びd次元ベクトル空間V*を伴うparamVを生成するアルゴリズムである。
実施の形態1では、衝突困難性ハッシュ関数を用いてABSを実現する。そこで、実施の形態1で用いる衝突困難性ハッシュ関数について説明する。
<衝突困難性ハッシュ関数>
双線形群の生成関数GBPGと、多項式poly(・)とに関連付けられたハッシュ関数族Hは、KGenアルゴリズムと、H(λ,poly) khアルゴリズムとの2つの多項式時間アルゴリズムから構成される。
双線形群の生成関数GBPGと、多項式poly(・)とに関連付けられたハッシュ関数族Hは、KGenアルゴリズムと、H(λ,poly) khアルゴリズムとの2つの多項式時間アルゴリズムから構成される。
KGenアルゴリズムは、ハッシュ鍵生成アルゴリズムである。KGenアルゴリズムは、単進符号のエンコーディングがされたセキュリティパラメータ1λを入力として、鍵空間HKλからハッシュ鍵hkをサンプリングする確率的アルゴリズムである。鍵空間HKλは、λによってパラメータ化されたビット列上の確率的空間である。
H(λ,poly)
khアルゴリズムは、数149に示す写像を行う関数である。
つまり、H(λ,poly)
khアルゴリズムは、単進符号のエンコーディングがされたセキュリティパラメータ1λを入力として、D={0,1}poly(λ)の要素から、0を除く体Fqの要素への写像を行う確定的関数である。ここで、qは、双線形群の生成関数GBPGの出力であるparamsGの最初の要素である。
***構成の説明***
以下の説明において、数150に示すqをある素数とし、数151を数152に示す全ての関数のクラスを示すものとする。数152において、pは、体Fq上の多項式サイズのあるABPによって実現される任意の多項式である。
実施の形態1では、数153に示す述語族R(q)
Z-ABPに対するABS方式を説明する。
ここで、数154である。
以下の説明において、数150に示すqをある素数とし、数151を数152に示す全ての関数のクラスを示すものとする。数152において、pは、体Fq上の多項式サイズのあるABPによって実現される任意の多項式である。
ASPの説明で述べた通り、数155に示すどんな関数fの入力に対しても、数156
に示すASPのアクセスストラクチャSを生成する多項式時間アルゴリズムが存在する。
数156において、数157は、R(q)
Z-ABP(f,x→)と、f(x→)=0と、アクセスストラクチャSがx→を受理することとが同値であることを意味する。
以下の説明では、述語R(q)
Z-ABP(f,・)∈R(q)
Z-ABPは、多項式時間アルゴリズムによって計算された、対応するASP表現であるアクセスストラクチャS=(U,ρ)によって特定されるものとして説明する。
に示すASPのアクセスストラクチャSを生成する多項式時間アルゴリズムが存在する。
ABS方式は、Setupアルゴリズムと、KeyGenアルゴリズムと、Signアルゴリズムと、Verifyアルゴリズムとを含む。
Setupアルゴリズムは、単進符号のエンコーディングがされたセキュリティパラメータ1λを入力として、公開パラメータMPKと、マスター秘密鍵MSKとを出力する。
Signアルゴリズムは、公開パラメータMPKと、数159に示す属性ベクトルx→と、属性ベクトルx→に対する署名鍵SK(x→)と、署名ポリシーR(q)
Z-ABP(f,・):Fn
q→{0,1}∈R(q)
Z-ABPがASP表現で表されたアクセス
ストラクチャS=(U,ρ)と、メッセージMSG∈Mとを入力として、署名sig又は失敗を示す識別記号⊥を出力する。
ストラクチャS=(U,ρ)と、メッセージMSG∈Mとを入力として、署名sig又は失敗を示す識別記号⊥を出力する。
Verifyアルゴリズムは、公開パラメータMPKと、署名ポリシーR(q)
Z-ABP(f,・):Fn
q→{0,1}∈R(q)
Z-ABPがASP表現で表されたアクセスストラクチャS=(U,ρ)と、メッセージMSG∈Mと署名sig∈Σのペアとを入力として、1又は0を出力する。
<署名システム1の構成>
図1を参照して、実施の形態1に係る署名システム1の構成を説明する。
署名システム1は、セットアップ装置10と、鍵生成装置20と、署名装置30と、検証装置40とを備える。セットアップ装置10と、鍵生成装置20と、署名装置30と、検証装置40とは、コンピュータである。セットアップ装置10と、鍵生成装置20と、署名装置30と、検証装置40とは、通信路を介して接続されている。
図1を参照して、実施の形態1に係る署名システム1の構成を説明する。
署名システム1は、セットアップ装置10と、鍵生成装置20と、署名装置30と、検証装置40とを備える。セットアップ装置10と、鍵生成装置20と、署名装置30と、検証装置40とは、コンピュータである。セットアップ装置10と、鍵生成装置20と、署名装置30と、検証装置40とは、通信路を介して接続されている。
図2を参照して、実施の形態1に係るセットアップ装置10の構成を説明する。
セットアップ装置10は、Setupアルゴリズムを実行するコンピュータである。
セットアップ装置10は、プロセッサ11と、メモリ12と、ストレージ13と、通信インタフェース14とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
セットアップ装置10は、Setupアルゴリズムを実行するコンピュータである。
セットアップ装置10は、プロセッサ11と、メモリ12と、ストレージ13と、通信インタフェース14とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
セットアップ装置10は、機能構成要素として、受付部111と、マスター鍵生成部112と、出力部113とを備える。セットアップ装置10の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ13には、セットアップ装置10の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ11によりメモリ12に読み込まれ、プロセッサ11によって実行される。これにより、セットアップ装置10の各機能構成要素の機能が実現される。
ストレージ13には、セットアップ装置10の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ11によりメモリ12に読み込まれ、プロセッサ11によって実行される。これにより、セットアップ装置10の各機能構成要素の機能が実現される。
図3を参照して、実施の形態1に係る鍵生成装置20の構成を説明する。
鍵生成装置20は、KeyGenアルゴリズムを実行するコンピュータである。
鍵生成装置20は、プロセッサ21と、メモリ22と、ストレージ23と、通信インタフェース24とのハードウェアを備える。プロセッサ21は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
鍵生成装置20は、KeyGenアルゴリズムを実行するコンピュータである。
鍵生成装置20は、プロセッサ21と、メモリ22と、ストレージ23と、通信インタフェース24とのハードウェアを備える。プロセッサ21は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
鍵生成装置20は、機能構成要素として、取得部211と、署名鍵生成部212と、出力部213とを備える。鍵生成装置20の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ23には、鍵生成装置20の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ21によりメモリ22に読み込まれ、プロセッサ21によって実行される。これにより、鍵生成装置20の各機能構成要素の機能が実現される。
ストレージ23には、鍵生成装置20の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ21によりメモリ22に読み込まれ、プロセッサ21によって実行される。これにより、鍵生成装置20の各機能構成要素の機能が実現される。
図4を参照して、実施の形態1に係る署名装置30の構成を説明する。
署名装置30は、Sigアルゴリズムを実行するコンピュータである。
署名装置30は、プロセッサ31と、メモリ32と、ストレージ33と、通信インタフェース34とのハードウェアを備える。プロセッサ31は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
署名装置30は、Sigアルゴリズムを実行するコンピュータである。
署名装置30は、プロセッサ31と、メモリ32と、ストレージ33と、通信インタフェース34とのハードウェアを備える。プロセッサ31は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
署名装置30は、機能構成要素として、取得部311と、署名部312と、出力部31
3とを備える。署名装置30の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ33には、署名装置30の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ31によりメモリ32に読み込まれ、プロセッサ31によって実行される。これにより、署名装置30の各機能構成要素の機能が実現される。
3とを備える。署名装置30の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ33には、署名装置30の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ31によりメモリ32に読み込まれ、プロセッサ31によって実行される。これにより、署名装置30の各機能構成要素の機能が実現される。
図5を参照して、実施の形態1に係る検証装置40の構成を説明する。
検証装置40は、Verifyアルゴリズムを実行するコンピュータである。
検証装置40は、プロセッサ41と、メモリ42と、ストレージ43と、通信インタフェース44とのハードウェアを備える。プロセッサ41は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
検証装置40は、Verifyアルゴリズムを実行するコンピュータである。
検証装置40は、プロセッサ41と、メモリ42と、ストレージ43と、通信インタフェース44とのハードウェアを備える。プロセッサ41は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
検証装置40は、機能構成要素として、取得部411と、検証データ生成部412と、検証部413とを備える。検証装置40の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ43には、検証装置40の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ41によりメモリ42に読み込まれ、プロセッサ41によって実行される。これにより、検証装置40の各機能構成要素の機能が実現される。
ストレージ43には、検証装置40の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ41によりメモリ42に読み込まれ、プロセッサ41によって実行される。これにより、検証装置40の各機能構成要素の機能が実現される。
プロセッサ11,21,31,41は、プロセッシングを行うIC(Integrated Circuit)である。プロセッサ11,21,31,41は、具体例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
メモリ12,22,32,42は、データを一時的に記憶する記憶装置である。メモリ12,22,32,42は、具体例としては、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)である。
ストレージ13,23,33,43は、データを保管する記憶装置である。ストレージ13,23,33,43は、具体例としては、HDD(Hard Disk Drive)である。また、ストレージ13,23,33,43は、SD(登録商標,Secure
Digital)メモリカード、CF(CompactFlash,登録商標)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disk)といった可搬記録媒体であってもよい。
Digital)メモリカード、CF(CompactFlash,登録商標)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disk)といった可搬記録媒体であってもよい。
通信インタフェース14,24,34,44は、外部の装置と通信するためのインタフェースである。通信インタフェース14,24,34,44は、具体例としては、Ethernet(登録商標)、USB(Universal Serial Bus)、HDMI(登録商標,High-Definition Multimedia Interface)のポートである。
図2では、プロセッサ11は、1つだけ示されていた。しかし、プロセッサ11は、複数であってもよく、複数のプロセッサ11が、各機能を実現するプログラムを連携して実行してもよい。同様に、プロセッサ21,31,41は、複数であってもよく、複数のプロセッサ21,31,41が、各機能を実現するプログラムを連携して実行してもよい。
***動作の説明***
図6から図9を参照して、実施の形態1に係る署名システム1の動作を説明する。
以下の説明では、ASPの記述における関数ρは、単射である必要はない。そのため、以下に説明するABS方式は、署名ポリシーにおける無制限な属性のマルチユースをサポートする。無制限とは、公開パラメータMPKによって、属性の数が制限されないという意味である。また、マルチユースとは、同じ属性を複数個所で使うことが可能であるという意味である。
図6から図9を参照して、実施の形態1に係る署名システム1の動作を説明する。
以下の説明では、ASPの記述における関数ρは、単射である必要はない。そのため、以下に説明するABS方式は、署名ポリシーにおける無制限な属性のマルチユースをサポートする。無制限とは、公開パラメータMPKによって、属性の数が制限されないという意味である。また、マルチユースとは、同じ属性を複数個所で使うことが可能であるという意味である。
図6を参照して、実施の形態1に係るセットアップ装置10の動作を説明する。
実施の形態1に係るセットアップ装置10の動作は、実施の形態1に係るセットアップ方法に相当する。また、実施の形態1に係るセットアップ装置10の動作は、実施の形態1に係るセットアッププログラムの処理に相当する。
実施の形態1に係るセットアップ装置10の動作は、実施の形態1に係るセットアップ方法に相当する。また、実施の形態1に係るセットアップ装置10の動作は、実施の形態1に係るセットアッププログラムの処理に相当する。
(ステップS11:受付処理)
受付部111は、単進符号のエンコーディングがされたセキュリティパラメータ1λの入力を受け付ける。受付部111は、セキュリティパラメータ1λをメモリ12に書き込む。
受付部111は、単進符号のエンコーディングがされたセキュリティパラメータ1λの入力を受け付ける。受付部111は、セキュリティパラメータ1λをメモリ12に書き込む。
(ステップS12:基底生成処理)
マスター鍵生成部112は、ステップS11で受付されたセキュリティパラメータ1λを入力として、params及び正規直交な双対基底{Bι,B* ι}ι∈[0,2]を生成する。
具体的には、マスター鍵生成部112は、セキュリティパラメータλをメモリ12から読み出す。マスター鍵生成部112は、N=2、d0=4、d1=14、d2=8として、数160に示すアルゴリズムGOBを実行して、params及び双対基底{Bι,B* ι}ι∈[0,2]を生成する。マスター鍵生成部112は、params及び双対基底{Bι,B* ι}ι∈[0,2]をメモリ12に書き込む。
マスター鍵生成部112は、ステップS11で受付されたセキュリティパラメータ1λを入力として、params及び正規直交な双対基底{Bι,B* ι}ι∈[0,2]を生成する。
具体的には、マスター鍵生成部112は、セキュリティパラメータλをメモリ12から読み出す。マスター鍵生成部112は、N=2、d0=4、d1=14、d2=8として、数160に示すアルゴリズムGOBを実行して、params及び双対基底{Bι,B* ι}ι∈[0,2]を生成する。マスター鍵生成部112は、params及び双対基底{Bι,B* ι}ι∈[0,2]をメモリ12に書き込む。
(ステップS13:部分基底生成処理)
マスター鍵生成部112は、ステップS12で生成された双対基底{Bι,B* ι}ι∈[0,2]から、ι∈[0,2]の各整数ιについて、部分基底B^ι及び部分基底B^* ιを生成する。
具体的には、マスター鍵生成部112は、params及び双対基底{Bι,B* ι}ι∈[0,2]をメモリ12から読み出す。マスター鍵生成部112は、数161に示すように、ι∈[0,2]の各整数ιについて、部分基底B^ι及び部分基底B^* ιを生成する。
マスター鍵生成部112は、ステップS12で生成された双対基底{Bι,B* ι}ι∈[0,2]から、ι∈[0,2]の各整数ιについて、部分基底B^ι及び部分基底B^* ιを生成する。
具体的には、マスター鍵生成部112は、params及び双対基底{Bι,B* ι}ι∈[0,2]をメモリ12から読み出す。マスター鍵生成部112は、数161に示すように、ι∈[0,2]の各整数ιについて、部分基底B^ι及び部分基底B^* ιを生成する。
(ステップS14:ハッシュ鍵生成処理)
マスター鍵生成部112は、数162に示すように、KGenアルゴリズムにより、ハッシュ鍵hkをサンプリングする。
ここで、KGenアルゴリズムは、双線形群の生成関数GBPGと、多項式poly(・)とに関連付けられたハッシュ関数族Hに対するアルゴリズムである。多項式poly(λ)は、メッセージ空間Mに属するメッセージと、述語族R(q)
Z-ABPにおける署名ポリシー述語を表すASPの2値表現とを連接することによって形成されたビット列の長さを表す。
マスター鍵生成部112は、数162に示すように、KGenアルゴリズムにより、ハッシュ鍵hkをサンプリングする。
(ステップS15:マスター鍵設定処理)
マスター鍵生成部112は、ステップS12で生成されたparamsと、ステップS13で生成されたι∈[0,2]の各整数ιについての部分基底B^ι及び部分基底B^* ιと、ステップS14で生成されたハッシュ鍵hkとを公開パラメータMPKとして設定する。また、マスター鍵生成部112は、基底ベクトルb*(0,1)をマスター秘密鍵MSKとして設定する。
そして、マスター鍵生成部112は、公開パラメータMPK及びマスター秘密鍵MSKをメモリ12に書き込む。
マスター鍵生成部112は、ステップS12で生成されたparamsと、ステップS13で生成されたι∈[0,2]の各整数ιについての部分基底B^ι及び部分基底B^* ιと、ステップS14で生成されたハッシュ鍵hkとを公開パラメータMPKとして設定する。また、マスター鍵生成部112は、基底ベクトルb*(0,1)をマスター秘密鍵MSKとして設定する。
そして、マスター鍵生成部112は、公開パラメータMPK及びマスター秘密鍵MSKをメモリ12に書き込む。
(ステップS16:出力処理)
出力部113は、ステップS15で設定された公開パラメータMPK及びマスター秘密鍵MSKを出力する。
具体的には、出力部113は、公開パラメータMPK及びマスター秘密鍵MSKをメモリ12から読み出す。出力部113は、公開パラメータMPKを公開用のサーバに送信するといった方法により、公開する。これにより、鍵生成装置20と署名装置30と検証装置40とは、公開パラメータMPKを取得可能になる。また、出力部113は、マスター秘密鍵MSKを秘密裡に鍵生成装置20に送信する。秘密裡に送信するとは、既存の暗号化方式で暗号化した上で送信するといった意味である。
出力部113は、ステップS15で設定された公開パラメータMPK及びマスター秘密鍵MSKを出力する。
具体的には、出力部113は、公開パラメータMPK及びマスター秘密鍵MSKをメモリ12から読み出す。出力部113は、公開パラメータMPKを公開用のサーバに送信するといった方法により、公開する。これにより、鍵生成装置20と署名装置30と検証装置40とは、公開パラメータMPKを取得可能になる。また、出力部113は、マスター秘密鍵MSKを秘密裡に鍵生成装置20に送信する。秘密裡に送信するとは、既存の暗号化方式で暗号化した上で送信するといった意味である。
図7を参照して、実施の形態1に係る鍵生成装置20の動作を説明する。
実施の形態1に係る鍵生成装置20の動作は、実施の形態1に係る鍵生成方法に相当する。また、実施の形態1に係る鍵生成装置20の動作は、実施の形態1に係る鍵生成プログラムの処理に相当する。
実施の形態1に係る鍵生成装置20の動作は、実施の形態1に係る鍵生成方法に相当する。また、実施の形態1に係る鍵生成装置20の動作は、実施の形態1に係る鍵生成プログラムの処理に相当する。
(ステップS21:取得処理)
取得部211は、ステップS16で出力された公開パラメータMPK及びマスター秘密鍵MSKを取得する。また、取得部211は、属性ベクトルx→∈Fn qを取得する。ここでは、属性ベクトルx→は、生成される署名鍵SK(x→)のユーザの属性である。なお、属性ベクトルx→∈Fn qにおけるnは、属性ベクトルx→の要素数を表している。つまり、属性ベクトルx→=(x1,...,xn)である。nは1以上の整数である。
取得部211は、公開パラメータMPK及びマスター秘密鍵MSKと、属性ベクトルx→とをメモリ22に書き込む。
取得部211は、ステップS16で出力された公開パラメータMPK及びマスター秘密鍵MSKを取得する。また、取得部211は、属性ベクトルx→∈Fn qを取得する。ここでは、属性ベクトルx→は、生成される署名鍵SK(x→)のユーザの属性である。なお、属性ベクトルx→∈Fn qにおけるnは、属性ベクトルx→の要素数を表している。つまり、属性ベクトルx→=(x1,...,xn)である。nは1以上の整数である。
取得部211は、公開パラメータMPK及びマスター秘密鍵MSKと、属性ベクトルx→とをメモリ22に書き込む。
ここで、基底B*
1の基底ベクトルb*(1,1)及び基底ベクトル*(1,2)は、インデックス部である。そして、インデックス部に係数として設定されたσι(1,ι)は、属性ベクトルx→の要素xιに応じたインデックス情報I*である。インデックス情報I*は、後述するVerifyアルゴリズムにおいて用いられる、対応するインデックス情報Iとの要素毎の内積の和が0になる。
署名鍵生成部212は、要素k*(0)と、ι∈[n]の各整数ιについての要素k*(ι)と、要素k*(n+1,1)及び要素k*(n+1,2)とを署名鍵SK(x→)としてメモリ22に書き込む。
(ステップS23:出力処理)
出力部213は、ステップS22で生成された署名鍵SK(x→)を出力する。
具体的には、出力部213は、署名鍵SK(x→)をメモリ22から読み出す。出力部213は、署名鍵SK(x→)を秘密裡に署名装置30に送信する。
出力部213は、ステップS22で生成された署名鍵SK(x→)を出力する。
具体的には、出力部213は、署名鍵SK(x→)をメモリ22から読み出す。出力部213は、署名鍵SK(x→)を秘密裡に署名装置30に送信する。
図8を参照して、実施の形態1に係る署名装置30の動作を説明する。
実施の形態1に係る署名装置30の動作は、実施の形態1に係る署名方法に相当する。また、実施の形態1に係る署名装置30の動作は、実施の形態1に係る署名プログラムの処理に相当する。
実施の形態1に係る署名装置30の動作は、実施の形態1に係る署名方法に相当する。また、実施の形態1に係る署名装置30の動作は、実施の形態1に係る署名プログラムの処理に相当する。
(ステップS31:取得処理)
取得部311は、ステップS16で出力された公開パラメータMPKを取得する。また、取得部311は、ステップS23で出力された署名鍵SK(x→)を取得する。
また、取得部311は、ユーザの属性ベクトルx→∈Fn qと、署名ポリシーR(q) Z-ABP(f,・):Fn q→{0,1}∈R(q) Z-ABPがASP表現で表されたアクセスストラクチャSと、メッセージMSG∈Mとを取得する。ここで、アクセスストラクチャSは、数168に示す通りである。
Lは、ベクトルy→(j)及びベクトルz→(j)の要素数であり、1以上の整数である。
取得部311は、公開パラメータMPKと、署名鍵SK(x→)と、ユーザの属性ベクトルx→∈Fn qと、アクセスストラクチャSと、メッセージMSGとをメモリ32に書き込む。
取得部311は、ステップS16で出力された公開パラメータMPKを取得する。また、取得部311は、ステップS23で出力された署名鍵SK(x→)を取得する。
また、取得部311は、ユーザの属性ベクトルx→∈Fn qと、署名ポリシーR(q) Z-ABP(f,・):Fn q→{0,1}∈R(q) Z-ABPがASP表現で表されたアクセスストラクチャSと、メッセージMSG∈Mとを取得する。ここで、アクセスストラクチャSは、数168に示す通りである。
取得部311は、公開パラメータMPKと、署名鍵SK(x→)と、ユーザの属性ベクトルx→∈Fn qと、アクセスストラクチャSと、メッセージMSGとをメモリ32に書き込む。
(ステップS32:判定処理)
署名部312は、アクセスストラクチャSが属性ベクトルx→を受理するか否かを判定する。
署名部312は、受理する場合には、処理をステップS33に進める。一方、署名部3
12は、受理しない場合には、失敗を示す識別記号⊥を出力して、処理を終了する。
署名部312は、アクセスストラクチャSが属性ベクトルx→を受理するか否かを判定する。
署名部312は、受理する場合には、処理をステップS33に進める。一方、署名部3
12は、受理しない場合には、失敗を示す識別記号⊥を出力して、処理を終了する。
(ステップS33:変数計算処理)
署名部312は、数169に示すスカラー(Ωj)j∈[m]∈Fm qを計算する。
ここで、数127である場合に限り、数128に示す属性ベクトルx→はアクセスストラクチャSを満たす。そのため、数169に示すスカラー(Ωj)j∈[m]∈Fm
qは存在し、計算可能である。
署名部312は、数169に示すスカラー(Ωj)j∈[m]∈Fm qを計算する。
署名部312は、スカラー(Ωj)j∈[m]と、乱数ξと、乱数(Ω’j)j∈[m]及び乱数(Ω’’j)j∈[m]とをメモリ32に書き込む。
(ステップS34:署名要素生成処理)
署名部312は、数171に示すように、乱数r*(0)をサンプリングし、要素s*(0)を生成する。
乱数ξと乱数r*(0)とにより、署名鍵SK(x→)の要素k*(0)に設定された乱数ω及び乱数φ0が隠蔽される。
署名部312は、数171に示すように、乱数r*(0)をサンプリングし、要素s*(0)を生成する。
署名部312は、j∈[m]の各整数jについて、数172に示すように、乱数σ’jと、乱数r*(j)とをサンプリングし、要素s*(j)を生成する。
ここで、乱数ξとスカラーΩjとにより、署名鍵SK(x→)の要素k*(ι)に設定された属性ベクトルx→の要素が隠蔽される。乱数Ω’jによりΩjxρ(j)が隠蔽される。乱数Ω’’jにより乱数Ω’jが隠蔽される。
また、乱数σ’jにより、署名鍵SK(x→)の要素k*(ι)に設定されたインデックス情報I*が隠蔽される。乱数r*(j)により、署名鍵SK(x→)の要素k*(ι)に設定された乱数φ→(ι)が隠蔽される。
また、乱数σ’jにより、署名鍵SK(x→)の要素k*(ι)に設定されたインデックス情報I*が隠蔽される。乱数r*(j)により、署名鍵SK(x→)の要素k*(ι)に設定された乱数φ→(ι)が隠蔽される。
署名部312は、数173に示すように、乱数r*(m+1)をサンプリングし、要素s*(m+1)を生成する。
ここで、乱数ξと乱数r*(m+1)とにより、署名鍵SK(x→)の要素k*(n+1,1)及び要素k*(n+1,2)に設定された乱数ωと乱数φ→(n+1,1)と乱数φ→(n+1,2)とが隠蔽される。
署名部312は、要素s*(0)と、j∈[m]の各整数jについての要素s*(j)と、要素s*(m+1)とを署名sigとしてメモリ32に書き込む。
(ステップS35:出力処理)
出力部313は、ステップS31で取得されたメッセージMSGと、ステップS34で生成された署名sigとのペアを出力する。
具体的には、出力部313は、メッセージMSG及び署名sigをメモリ32から読み出す。出力部313は、メッセージMSG及び署名sigを検証装置40に送信する。
出力部313は、ステップS31で取得されたメッセージMSGと、ステップS34で生成された署名sigとのペアを出力する。
具体的には、出力部313は、メッセージMSG及び署名sigをメモリ32から読み出す。出力部313は、メッセージMSG及び署名sigを検証装置40に送信する。
図9を参照して、実施の形態1に係る検証装置40の動作を説明する。
実施の形態1に係る検証装置40の動作は、実施の形態1に係る検証方法に相当する。また、実施の形態1に係る検証装置40の動作は、実施の形態1に係る検証プログラムの処理に相当する。
実施の形態1に係る検証装置40の動作は、実施の形態1に係る検証方法に相当する。また、実施の形態1に係る検証装置40の動作は、実施の形態1に係る検証プログラムの処理に相当する。
(ステップS41:取得処理)
取得部411は、ステップS16で出力された公開パラメータMPKを取得する。また、取得部411は、ステップS35で出力されたメッセージMSG及び署名sigのペアを取得する。また、取得部411は、署名ポリシーR(q) Z-ABP(f,・):Fn q→{0,1}∈R(q) Z-ABPがASP表現で表されたアクセスストラクチャSを
取得する。
取得部411は、公開パラメータMPKと、メッセージMSG及び署名sigのペアと、アクセスストラクチャSとをメモリ42に書き込む。
取得部411は、ステップS16で出力された公開パラメータMPKを取得する。また、取得部411は、ステップS35で出力されたメッセージMSG及び署名sigのペアを取得する。また、取得部411は、署名ポリシーR(q) Z-ABP(f,・):Fn q→{0,1}∈R(q) Z-ABPがASP表現で表されたアクセスストラクチャSを
取得する。
取得部411は、公開パラメータMPKと、メッセージMSG及び署名sigのペアと、アクセスストラクチャSとをメモリ42に書き込む。
検証データ生成部412は、j∈[m]の各整数jについて以下を実行する。
まず、検証データ生成部412は、対象の整数jについて、数177が成立するか否かを判定する。
検証データ生成部412は、成立する場合には、署名sigの正当性が確認できないことを示す0を出力して処理を終了する。一方、検証データ生成部412は、成立しない場合には、対象の整数jについて、数178に示すように、乱数μj及び乱数η→(j)をサンプリングし、要素c(j)を生成する。
まず、検証データ生成部412は、対象の整数jについて、数177が成立するか否かを判定する。
ここで、基底B1の基底ベクトルb(1,1)及び基底ベクトルb(1,2)は、インデックス部である。基底B1の基底ベクトルb(1,1)及び基底ベクトルb(1,2)は、基底B*
1の基底ベクトルb*(1,1)及び基底ベクトル*(1,2)に対応する基底ベクトルである。対応する基底ベクトルとは、ペアリング演算で内積が計算される基
底ベクトルであるという意味である。
そして、インデックス部に係数として設定されたμj(ρ(j),-1)は、インデックス情報Iである。インデックス情報Iは、署名鍵SK(x→)で用いられた、対応するインデックス情報I*との要素毎の内積の和が0になる。インデックス情報が対応するとは、ιとρ(j)とが対応しているという意味であり、ι=ρ(j)という意味である。
具体的には、インデックス情報I*はσι(1,ι)であり、インデックス情報Iはμj(ρ(j),-1)である。ι=ρ(j)であるため、σιμj(1・ρ(j)-1・ι)=σιμj(1・ι-1・ι)=0である。
底ベクトルであるという意味である。
そして、インデックス部に係数として設定されたμj(ρ(j),-1)は、インデックス情報Iである。インデックス情報Iは、署名鍵SK(x→)で用いられた、対応するインデックス情報I*との要素毎の内積の和が0になる。インデックス情報が対応するとは、ιとρ(j)とが対応しているという意味であり、ι=ρ(j)という意味である。
具体的には、インデックス情報I*はσι(1,ι)であり、インデックス情報Iはμj(ρ(j),-1)である。ι=ρ(j)であるため、σιμj(1・ρ(j)-1・ι)=σιμj(1・ι-1・ι)=0である。
(ステップS43:第1検証処理)
検証部413は、数180が成立するか否かを判定する。
検証部413は、成立する場合には、署名sigの正当性が確認できないことを示す0を出力して処理を終了する。一方、検証部413は、成立しない場合には、処理をステップS44に進める。
検証部413は、数180が成立するか否かを判定する。
(ステップS44:第2検証処理)
検証部413は、数181が成立するか否かを判定する。
検証部413は、成立する場合には、署名sigの正当性が確認できたことを示す1を出力して処理を終了する。一方、検証部413は、成立しない場合には、署名sigの正当性が確認できないことを示す0を出力して処理を終了する。
検証部413は、数181が成立するか否かを判定する。
***実施の形態1の効果***
以上のように、実施の形態1に係る署名システム1は、ABPの述語ベクトルを用いてABE方式を実現する。これにより、実用的なABE方式が実現される。
以上のように、実施の形態1に係る署名システム1は、ABPの述語ベクトルを用いてABE方式を実現する。これにより、実用的なABE方式が実現される。
実施の形態1に係る署名システム1は、署名鍵SK(x→)のインデックス部に係数としてインデックス情報I*を設定し、検証データのインデックス部に係数としてインデックス情報Iを設定する。インデックス情報I*のιとインデックス情報Iのρ(j)とが対応している場合には、署名sigの要素s*(j)と検証データの要素c(j)とについてペアリング演算を行うと、インデックス部が0になる。インデックス情報I*のιとインデックス情報Iのρ(j)とが対応していない場合には、署名sigの要素s*(j)と検証データの要素c(j)とについてペアリング演算を行っても、インデックス部が0にならない。
これにより、属性ベクトルx→の要素毎に別の基底を用いず、属性ベクトルx→の全ての要素に共通の基底B1及び基底B* 1を用いても、安全性を確保することが可能になる。その結果、属性ベクトルx→の要素数によらず、公開パラメータMPKに基底B^1及び基底B^* 1を含めておけばよい。つまり、公開パラメータMPKを変更することなく、使用する属性ベクトルx→の要素数を任意に変更可能である。
これにより、属性ベクトルx→の要素毎に別の基底を用いず、属性ベクトルx→の全ての要素に共通の基底B1及び基底B* 1を用いても、安全性を確保することが可能になる。その結果、属性ベクトルx→の要素数によらず、公開パラメータMPKに基底B^1及び基底B^* 1を含めておけばよい。つまり、公開パラメータMPKを変更することなく、使用する属性ベクトルx→の要素数を任意に変更可能である。
***他の構成***
<変形例1>
実施の形態1では、インデックス部として2次元分の基底ベクトルが用いられた。しかし、インデックス情報I*とインデックス情報Iとの内積の和が0になるのであれば、インデックス部は何次元分の基底ベクトルが用いられてもよい。
<変形例1>
実施の形態1では、インデックス部として2次元分の基底ベクトルが用いられた。しかし、インデックス情報I*とインデックス情報Iとの内積の和が0になるのであれば、インデックス部は何次元分の基底ベクトルが用いられてもよい。
<変形例2>
実施の形態1では、各機能構成要素がソフトウェアで実現された。しかし、変形例2として、各機能構成要素はハードウェアで実現されてもよい。この変形例2について、実施の形態1と異なる点を説明する。
実施の形態1では、各機能構成要素がソフトウェアで実現された。しかし、変形例2として、各機能構成要素はハードウェアで実現されてもよい。この変形例2について、実施の形態1と異なる点を説明する。
図10を参照して、変形例2に係るセットアップ装置10の構成を説明する。
各機能構成要素がハードウェアで実現される場合には、セットアップ装置10は、プロセッサ11とメモリ12とストレージ13とに代えて、電子回路15を備える。電子回路15は、各機能構成要素と、メモリ12と、ストレージ13との機能とを実現する専用の回路である。
各機能構成要素がハードウェアで実現される場合には、セットアップ装置10は、プロセッサ11とメモリ12とストレージ13とに代えて、電子回路15を備える。電子回路15は、各機能構成要素と、メモリ12と、ストレージ13との機能とを実現する専用の回路である。
図11を参照して、変形例2に係る鍵生成装置20の構成を説明する。
各機能構成要素がハードウェアで実現される場合には、鍵生成装置20は、プロセッサ21とメモリ22とストレージ23とに代えて、電子回路25を備える。電子回路25は、各機能構成要素と、メモリ22と、ストレージ23との機能とを実現する専用の回路である。
各機能構成要素がハードウェアで実現される場合には、鍵生成装置20は、プロセッサ21とメモリ22とストレージ23とに代えて、電子回路25を備える。電子回路25は、各機能構成要素と、メモリ22と、ストレージ23との機能とを実現する専用の回路である。
図12を参照して、変形例2に係る署名装置30の構成を説明する。
各機能構成要素がハードウェアで実現される場合には、署名装置30は、プロセッサ31とメモリ32とストレージ33とに代えて、電子回路35を備える。電子回路35は、各機能構成要素と、メモリ32と、ストレージ33との機能とを実現する専用の回路である。
各機能構成要素がハードウェアで実現される場合には、署名装置30は、プロセッサ31とメモリ32とストレージ33とに代えて、電子回路35を備える。電子回路35は、各機能構成要素と、メモリ32と、ストレージ33との機能とを実現する専用の回路である。
図13を参照して、変形例2に係る検証装置40の構成を説明する。
各機能構成要素がハードウェアで実現される場合には、検証装置40は、プロセッサ41とメモリ42とストレージ43とに代えて、電子回路45を備える。電子回路45は、各機能構成要素と、メモリ42と、ストレージ43との機能とを実現する専用の回路である。
各機能構成要素がハードウェアで実現される場合には、検証装置40は、プロセッサ41とメモリ42とストレージ43とに代えて、電子回路45を備える。電子回路45は、各機能構成要素と、メモリ42と、ストレージ43との機能とを実現する専用の回路である。
電子回路15,25,35,45としては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)が想定される。
各機能構成要素を1つの電子回路15,25,35,45で実現してもよいし、各機能構成要素を複数の電子回路15,25,35,45に分散させて実現してもよい。
各機能構成要素を1つの電子回路15,25,35,45で実現してもよいし、各機能構成要素を複数の電子回路15,25,35,45に分散させて実現してもよい。
<変形例3>
変形例3として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
変形例3として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
プロセッサ11,21,31,41とメモリ12,22,32,42とストレージ13,23,33,43と電子回路15,25,35,45とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。
10 セットアップ装置、11 プロセッサ、12 メモリ、13 ストレージ、14
通信インタフェース、15 電子回路、111 受付部、112 マスター鍵生成部、113 出力部、20 鍵生成装置、21 プロセッサ、22 メモリ、23 ストレージ、24 通信インタフェース、25 電子回路、211 取得部、212 署名鍵生成部、213 出力部、30 署名装置、31 プロセッサ、32 メモリ、33 ストレージ、34 通信インタフェース、35 電子回路、311 取得部、312 署名部、313 出力部、40 検証装置、41 プロセッサ、42 メモリ、43 ストレージ、44 通信インタフェース、45 電子回路、1 署名システム。
通信インタフェース、15 電子回路、111 受付部、112 マスター鍵生成部、113 出力部、20 鍵生成装置、21 プロセッサ、22 メモリ、23 ストレージ、24 通信インタフェース、25 電子回路、211 取得部、212 署名鍵生成部、213 出力部、30 署名装置、31 プロセッサ、32 メモリ、33 ストレージ、34 通信インタフェース、35 電子回路、311 取得部、312 署名部、313 出力部、40 検証装置、41 プロセッサ、42 メモリ、43 ストレージ、44 通信インタフェース、45 電子回路、1 署名システム。
Claims (15)
- 双対ベクトル空間における双対基底である基底B及び基底B*のうちの基底B*に、属性ベクトルが設定された署名鍵を取得する取得部と、
前記取得部によって取得された前記署名鍵に対して、ABP(Arithmetic Branching Programs)の述語情報を設定して、メッセージに対する署名を生成する署名部と、
前記署名部によって生成された前記署名と、前記メッセージとを出力する出力部と
を備える署名装置。 - 前記署名鍵は、前記属性ベクトルの要素毎に対応する要素を含み、前記署名鍵の要素は、前記基底B*における一部の基底ベクトルの係数として、前記属性ベクトルの対応する要素に応じたインデックス情報I*が設定された
請求項1に記載の署名装置。 - 前記述語情報は、前記ABPに対応するASP(Arithmetic Span Programs)表現から得られた
請求項1又は2に記載の署名装置。 - 双対ベクトル空間における双対基底である基底B及び基底B*のうちの基底B*に、属性ベクトルと、ABP(Arithmetic Branching Programs)の述語情報とが設定された署名を取得する取得部と、
前記取得部によって取得された前記署名と、前記基底Bに検証情報を設定した検証データとについてペアリング演算を行うことにより、前記署名を検証する検証部と
を備える検証装置。 - 前記署名は、前記属性ベクトルの要素毎に対応する要素を含み、前記署名の要素は、前記基底B*における一部の基底ベクトルの係数として、前記属性ベクトルにおける対応する要素に応じたインデックス情報I*が設定され、
前記検証データは、前記属性ベクトルの1つ以上の要素に対応する要素を含み、前記検証データの要素は、前記一部の基底ベクトルに対応する前記基底Bにおける基底ベクトルの係数として、前記インデックス情報I*との内積の和が0になるインデックス情報Iが設定された
請求項7に記載の検証装置。 - 前記述語情報及び前記検証情報は、前記ABPに対応するASP(Arithmetic Span Programs)表現から得られた
請求項7又は8に記載の検証装置。 - 署名装置における取得部が、双対ベクトル空間における双対基底である基底B及び基底B*のうちの基底B*に、属性ベクトルが設定された署名鍵を取得し、
前記署名装置における署名部が、前記署名鍵に対して、ABP(Arithmetic
Branching Programs)の述語情報を設定して、メッセージに対する署名を生成し、
前記署名装置における出力部が、前記署名と、前記メッセージとを出力する署名方法。 - 双対ベクトル空間における双対基底である基底B及び基底B*のうちの基底B*に、属性ベクトルが設定された署名鍵を取得する取得処理と、
前記取得処理によって取得された前記署名鍵に対して、ABP(Arithmetic
Branching Programs)の述語情報を設定して、メッセージに対する署名を生成する署名処理と、
前記署名処理によって生成された前記署名と、前記メッセージとを出力する出力処理とを行う署名装置としてコンピュータを機能させる署名プログラム。 - 検証装置における取得部が、双対ベクトル空間における双対基底である基底B及び基底B*のうちの基底B*に、属性ベクトルと、ABP(Arithmetic Branching Programs)の述語情報とが設定された署名を取得し、
前記検証装置における検証部が、前記署名と、前記基底Bに検証情報を設定した検証データとについてペアリング演算を行うことにより、前記署名を検証する検証方法。 - 双対ベクトル空間における双対基底である基底B及び基底B*のうちの基底B*に、属性ベクトルと、ABP(Arithmetic Branching Programs)の述語情報とが設定された署名を取得する取得処理と、
前記取得処理によって取得された前記署名と、前記基底Bに検証情報を設定した検証データとについてペアリング演算を行うことにより、前記署名を検証する検証処理と
を行う検証装置としてコンピュータを機能させる検証プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/382,884 US11888968B2 (en) | 2019-03-15 | 2021-07-22 | Signature device, verification device, signature method, verification method, and computer readable medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019048622A JP7233265B2 (ja) | 2019-03-15 | 2019-03-15 | 署名装置、検証装置、署名方法、検証方法、署名プログラム及び検証プログラム |
JP2019-048622 | 2019-03-15 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/382,884 Continuation US11888968B2 (en) | 2019-03-15 | 2021-07-22 | Signature device, verification device, signature method, verification method, and computer readable medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020188906A1 true WO2020188906A1 (ja) | 2020-09-24 |
Family
ID=72430942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/047995 WO2020188906A1 (ja) | 2019-03-15 | 2019-12-09 | 署名装置、検証装置、署名方法、検証方法、署名プログラム及び検証プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11888968B2 (ja) |
JP (1) | JP7233265B2 (ja) |
WO (1) | WO2020188906A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114172654B (zh) * | 2021-05-13 | 2023-05-05 | 福建师范大学 | 分布式属性基服务器辅助签名系统及方法 |
CN113438085B (zh) * | 2021-06-24 | 2023-05-19 | 福建师范大学 | 高效属性基服务器辅助签名验证方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012155088A (ja) * | 2011-01-25 | 2012-08-16 | Mitsubishi Electric Corp | 署名処理システム、鍵生成装置、署名装置、検証装置、署名処理方法及び署名処理プログラム |
WO2012108100A1 (ja) * | 2011-02-09 | 2012-08-16 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、鍵委譲装置、暗号処理方法及び暗号処理プログラム |
US20170351867A1 (en) * | 2014-12-17 | 2017-12-07 | Giesecke & Devrient Gmbh | Method and Device for Securely Storing Data and for Accessing Said Data |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1467512B1 (en) * | 2003-04-07 | 2008-07-23 | STMicroelectronics S.r.l. | Encryption process employing chaotic maps and digital signature process |
CA2630938C (en) * | 2007-09-19 | 2016-10-04 | Kevin Gerard Boyce | Method and system for dynamic protocol decoding and analysis |
CN104335219B (zh) * | 2012-03-30 | 2018-06-05 | 爱迪德技术有限公司 | 使用变量相关编码来保护可访问的系统 |
US9171029B2 (en) * | 2013-01-31 | 2015-10-27 | International Business Machines Corporation | Performing batches of selective assignments in a vector friendly manner |
JP7117964B2 (ja) * | 2018-10-04 | 2022-08-15 | 三菱電機株式会社 | 復号装置、暗号システム、復号方法及び復号プログラム |
-
2019
- 2019-03-15 JP JP2019048622A patent/JP7233265B2/ja active Active
- 2019-12-09 WO PCT/JP2019/047995 patent/WO2020188906A1/ja active Application Filing
-
2021
- 2021-07-22 US US17/382,884 patent/US11888968B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012155088A (ja) * | 2011-01-25 | 2012-08-16 | Mitsubishi Electric Corp | 署名処理システム、鍵生成装置、署名装置、検証装置、署名処理方法及び署名処理プログラム |
WO2012108100A1 (ja) * | 2011-02-09 | 2012-08-16 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、鍵委譲装置、暗号処理方法及び暗号処理プログラム |
US20170351867A1 (en) * | 2014-12-17 | 2017-12-07 | Giesecke & Devrient Gmbh | Method and Device for Securely Storing Data and for Accessing Said Data |
Non-Patent Citations (1)
Title |
---|
DATTA, PRATISHI ET AL.: "Adaptively Simulation-Secure Attribute-Hiding Predicate Encryption", CRYPTOLOGY, 13 November 2018 (2018-11-13), XP047502091, Retrieved from the Internet <URL:https://eprint.iacr.org/2018/1093.pdf> [retrieved on 20200204] * |
Also Published As
Publication number | Publication date |
---|---|
JP7233265B2 (ja) | 2023-03-06 |
JP2020149003A (ja) | 2020-09-17 |
US20210359848A1 (en) | 2021-11-18 |
US11888968B2 (en) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2376651C2 (ru) | Использование изогений для разработки криптосистем | |
US10074293B2 (en) | Secret calculation method, secret calculation system, sorting device, and program | |
JP6391900B1 (ja) | 準同型推論装置、準同型推論方法、準同型推論プログラム及び秘匿情報処理システム | |
JP6413743B2 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
JP2014126865A (ja) | 暗号処理装置および方法 | |
US20220045840A1 (en) | Methods and systems for somewhat homomorphic encryption and key updates based on geometric algebra for distributed ledger/blockchain technology | |
US9893880B2 (en) | Method for secure symbol comparison | |
CN108140335B (zh) | 秘密随机数合成装置、秘密随机数合成方法以及记录介质 | |
WO2020188906A1 (ja) | 署名装置、検証装置、署名方法、検証方法、署名プログラム及び検証プログラム | |
JP6059347B2 (ja) | 復号装置、復号能力提供装置、それらの方法、およびプログラム | |
JP6719339B2 (ja) | 暗号システム、暗号方法及び暗号プログラム | |
US11909873B2 (en) | Decryption device, cryptographic system, and decryption method | |
JP6818949B2 (ja) | 署名装置、検証装置、署名システム、署名方法、署名プログラム、検証方法及び検証プログラム | |
Ahmad Abusukhon et al. | A novel network security algorithm based on encrypting text into a white-page image | |
JP6971917B2 (ja) | 復号装置、暗号化装置及び暗号システム | |
WO2013153628A1 (ja) | 演算処理システムおよび演算結果認証方法 | |
JP6625283B2 (ja) | 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム | |
JP7384216B2 (ja) | 電子透かしシステム、電子透かし方法及びプログラム | |
CN115668334A (zh) | 隐匿信息处理系统、加密装置、加密方法和加密程序 | |
WO2020044485A1 (ja) | メッセージ認証装置、メッセージ認証方法及びメッセージ認証プログラム | |
JP7158635B2 (ja) | 暗号システム、暗号化装置、復号装置及び鍵生成装置 | |
US11809588B1 (en) | Protecting membership in multi-identification secure computation and communication | |
JP6980154B2 (ja) | データ利用者鍵生成装置、鍵生成方法及び鍵生成プログラム | |
JP6949276B2 (ja) | 再暗号化装置、再暗号化方法、再暗号化プログラム及び暗号システム | |
JP6599215B2 (ja) | 秘匿計算装置およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19919830 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19919830 Country of ref document: EP Kind code of ref document: A1 |