JPWO2015008607A1 - 復号装置、復号能力提供装置、それらの方法、およびプログラム - Google Patents

復号装置、復号能力提供装置、それらの方法、およびプログラム Download PDF

Info

Publication number
JPWO2015008607A1
JPWO2015008607A1 JP2015527239A JP2015527239A JPWO2015008607A1 JP WO2015008607 A1 JPWO2015008607 A1 JP WO2015008607A1 JP 2015527239 A JP2015527239 A JP 2015527239A JP 2015527239 A JP2015527239 A JP 2015527239A JP WO2015008607 A1 JPWO2015008607 A1 JP WO2015008607A1
Authority
JP
Japan
Prior art keywords
value
ciphertext
decryption
derived
decoding
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
JP2015527239A
Other languages
English (en)
Other versions
JP6059347B2 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of JP6059347B2 publication Critical patent/JP6059347B2/ja
Publication of JPWO2015008607A1 publication Critical patent/JPWO2015008607A1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

復号装置13は、準同型性演算によって復号可能な第1暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、第1暗号文の復号値を得、第1暗号文の復号値に対応する又は由来する値と付加値とを用いた非準同型性演算を行い、平文を出力する。

Description

本発明は、クラウド鍵管理型の復号技術に関する。
公開鍵暗号方式や共通鍵暗号方式などの暗号方式で暗号化された暗号文を復号するためには、特定の復号鍵が必要である。復号鍵を保持していない復号装置が暗号文の復号結果を得るための従来方法の一つは、復号鍵を保持している外部装置が復号装置に復号鍵を提供し、復号装置がその復号鍵を用いて暗号文の復号を行う方法である。復号装置が暗号文の復号結果を得るための他の従来方法は、復号装置が暗号文を外部装置に提供し、外部装置が暗号文を復号してその復号結果を復号装置に提供する方法である。
しかしながら、前者の方法では、復号鍵そのものが復号装置に提供されるため、安全性の問題がある。一方、後者の方法では、復号装置が復号結果の正しさを検証できない。
このような問題を解決する技術として、自己訂正(Self-Correcting)技術を用いたクラウド鍵管理型の復号技術がある(例えば、特許文献1〜3等参照)。自己訂正技術とは、必ずしも正しい計算結果を出力するとは限らない計算機やシステムを用いて常に正しい計算を行う(正しい計算結果を出力する計算機を用いた場合に正しい計算結果を出力し、必ずしも正しい結果を出力するとは限らない計算機を用いた場合に、正しい計算結果を得るか、または計算できない旨の結果を得る)技術である。自己訂正技術を用いたクラウド鍵管理型の復号技術では、復号鍵を保持する復号能力提供装置が復号鍵を復号装置に与えることなく、復号装置が暗号文を復号するための情報のみを復号装置に与える。復号装置は、この情報を用いて常に正しい復号演算を行うことができる。
国際公開WO/2012/057134号公報 国際公開WO/2011/086992号公報 国際公開WO/2012/121152号公報
しかしながら、準同型性演算と非準同型性演算とを含む復号処理の場合、自己訂正技術を用いたクラウド鍵管理型の復号を行うことができない。
復号装置は、準同型性演算によって復号可能な第1暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、第1暗号文の復号値を得、第1暗号文の復号値に対応する又は由来する値と、付加値と、を用いた非準同型性演算を行い、平文を出力する。
本発明では、準同型性演算によって復号可能な第1暗号文の復号処理のみに自己訂正処理を用いるため、復号処理が準同型性演算と非準同型性演算とを含む場合であっても、自己訂正技術を用いたクラウド鍵管理型の復号を行うことができる。
図1は、実施形態のセキュリティシステムのブロック図である。 図2は、第1実施形態の暗号化装置のブロック図である。 図3Aは、第1実施形態の復号装置および復号能力提供装置のブロック図である。図3Bは、第1実施形態の自己訂正処理部および復号能力提供部142の詳細を例示するブロック図である。 図4は、第1実施形態の復号処理を説明するための図である。 図5は、第2実施形態の暗号化装置のブロック図である。 図6は、第2実施形態の復号装置および復号能力提供装置のブロック図である。 図7は、第2実施形態の復号処理を説明するための図である。 図8は、第3実施形態の暗号化装置のブロック図である。 図9は、第3実施形態の復号装置および復号能力提供装置のブロック図である。 図10は、第3実施形態の復号処理を説明するための図である。
以下、本発明の実施形態を説明する。
[原理]
各実施形態では、復号装置が、準同型性演算によって復号可能な第1暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、第1暗号文の復号値を得、第1暗号文の復号値に対応する又は由来する値と、付加値と、を用いた非準同型性演算を行い、平文を出力する。平文は、第1暗号文を含む情報に対応する第2暗号文の復号値である。「Aに由来(derive)する値B」とは、(1)AもしくはAの一部の情報、または、(2)AもしくはAの一部の情報の関数値、または、(3)AもしくはAの一部の情報およびその他の情報を含む情報の関数値を意味する。「Aに由来する値B」の例は「Aに対応するB」である。「Aに由来する値B」の他の例は「Aに基づくB」である。また「Aを含むB」とは、(1)BがAであること、または、(2)BがAを要素に含むこと、または、(3)Bの一部分がAである(例えば、Bの一部のビットがAを表している)ことを意味する。
<第2暗号文の例1>
第2暗号文は、例えば、準同型性演算によって復号可能な第1暗号文と復号時に非準同型性演算の被演算子となる付加値とに対応する暗号文(例えば、第1暗号文と付加値とを含む暗号文)である。このような第2暗号文の復号を行う復号装置は、第1暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、第1暗号文の復号値を得る。第1暗号文は準同型性演算によって復号可能であり、このような第1暗号文の復号は、自己訂正技術を用いた公知のクラウド鍵管理型の復号方式によって実行できる(例えば、特許文献1〜3等参照)。さらに復号装置は、この第1暗号文の復号値と付加値とを用いた非準同型性演算を行い、第2暗号文の復号値を出力する。このように、準同型性演算によって復号可能な第1暗号文の復号処理のみに自己訂正処理を用いるため、第2暗号文がその復号時に非準同型性演算の被演算子となる付加値を含んでいたとしても、自己訂正技術を用いたクラウド鍵管理型の復号を行うことができる。
第1暗号文の例は、ランダム値に由来する値を暗号化して得られる値を含み(例えば、ランダム値に対応する値を暗号化して得られる値であり)、この場合の付加値の例は、平文とランダム値とを含む情報に対応する値を含む値(例えば、平文とランダム値とに対応する値)である。この第1暗号文の例において、好ましくは、第1暗号文の復号値のみから第2暗号文の復号値を得ることが困難(例えば不可能)である。「復号値を得ることが困難」とは、例えば、多項式時間内に復号値を得ることができないことを意味する。「多項式時間」とは、例えば、復号鍵のサイズ(長さ)の多項式で表現可能な時間(計算時間)を意味する。言い換えると、「多項式時間」とは、例えば、復号鍵の長さ(例えばビット長)をχとした場合のχについての任意の多項式で表現可能な時間(計算時間)を意味する。第1暗号文の他の例は、平文を含む情報に由来する値を暗号化して得られる値を含む値(例えば、平文に対応する値を暗号化して得られる値)であり、この場合の付加値は、第1暗号文とランダム値とを含む情報に由来する値を含む値(例えば、第1暗号文とランダム値とに対応する値)である。値θ(例えば、ランダム値や平文等)に対応する値の例は、値θを表す情報またはその写像、値θを表す情報の一部を表す情報またはその写像、値θを表す情報を含む情報またはその写像、値θを表す情報の一部を表す情報を含む情報またはその写像、値θを得るための写像の逆像の他の写像、値θを得るための写像の逆像を表す情報を含む情報の他の写像である。
ここで、第1暗号文がランダム値に由来する値を暗号化して得られる値を含み(例えば、ランダム値に対応する値を暗号化して得られる値であり)、付加値が平文とランダム値とを含む情報に対応する値を含む値(例えば、平文とランダム値とに対応する値であり)、第1暗号文の復号値のみから第2暗号文の復号値を得ることが困難である場合(例えば、それが不可能な場合)、第1暗号文の情報が復号能力提供装置に与えられても、付加値の情報が復号能力提供装置に与えられない限り、第2暗号文の復号値の情報は復号能力提供装置に漏洩しない。よって、このような場合には、復号装置が第1暗号文の情報をかく乱することなく復号能力提供装置に与え(例えば、復号装置が第1暗号文を表す情報を復号能力提供装置に与え)、かつ、復号鍵の情報を復号能力提供装置から得ることなく、第1暗号文の復号値を得るための情報を復号能力提供装置から得てもよい。これにより、復号装置が第1暗号文の情報をかく乱するための演算量を削減できる。ただし、これは一例であって、このような場合に、復号装置が第1暗号文をかく乱した情報を復号能力提供装置に与え、復号値を得るための情報を復号能力提供装置から得てもよい。
一方、第1暗号文の復号値から第2暗号文の復号値の情報が得られる場合には、復号装置が、第1暗号文をかく乱した情報を復号能力提供装置に与え、かつ、復号鍵の情報を復号能力提供装置から得ることなく、第1暗号文の復号値を得るための情報を復号能力提供装置から得る構成であることが望ましい。
第1暗号文の具体例は、準同型性を持つOW−CPA安全な暗号方式の暗号文(第1暗号文の復号値についてOW−CPA安全な暗号文)であり、第1暗号文と付加値とに対応する第2暗号文の具体例は、準同型性を持たないIND−CCA安全な暗号方式の暗号文(平文についてIND−CCA安全な暗号文)である。以下に、OW−CPA安全な暗号方式と、これに基づくIND−CCA安全な暗号方式を例示する。
<方式例1>
方式例1は、公開鍵暗号方式に基づく方式である。
《OW−CPA安全な暗号方式1−1》
鍵生成アルゴリズム:KeyGen(1λ)→(pk,sk)
暗号化アルゴリズム:Enc(pk,M)→C
復号アルゴリズム:Dec(sk,C)→M
ただし、λは1以上の整数であるセキュリティパラメータを表し、1λはλ個の1からなる列を表し、pkは公開鍵暗号方式の公開鍵(暗号化鍵)を表し、skはそれに対応する秘密鍵(復号鍵)を表す。KeyGen(1λ)→(pk,sk)は、1λを用いて(pk,sk)を得る演算を表し、Enc(pk,M)→Cはpkを用いて公開鍵暗号方式に則ってMを暗号化してCを得る準同型性の演算を表し、Dec(sk,C)→M’は、skを用いて公開鍵暗号方式に則ってCを復号してM’を得る準同型性の演算を表す。OW−CPA安全な暗号方式1−1の例は、RSA暗号、ElGamal暗号、modified−ElGamal暗号、Paillier暗号などである。
《OW−CPA安全な暗号方式1−1に基づくIND−CCA安全な暗号方式1−2》
鍵生成アルゴリズム:KeyGen(1λ)→(pk,sk)
暗号化アルゴリズム:Enc_FO(pk)→C=(C,C)=(Enc(pk,α),FO(Q,r))
復号アルゴリズム:Dec_FO(sk,C)→k
ただし、rはランダム値を表し、αおよびkはrに由来する値(例えば、rに対応する値)を表す。Enc_FO(pk)→Cはpkを用いてランダム値rに対応する暗号文Cを得る演算を表し、Enc(pk,α)→Cは、pkを用いてαを暗号化して暗号文Cを得る準同型性の演算を表す。FO(Q,r)→Cは、Qとrとを含む情報に由来する値Cを得る非準同型性の演算を表す。ただし、Qはαに由来する値である。αおよびkはrに由来する値であるため、Qは平文kに対応する値である。Dec_FO(sk,C)→kはskを用いてCを復号してkを得る非準同型性の演算を表す。このDec_FO(sk,C)は、秘密鍵skを用いて暗号文Cを復号して復元値Qを得る準同型性の演算Dec(sk,C)→Q、および、FOの逆演算である非準同型性の演算FO−1(Q,C)→rを含む。方式例1の場合、第1暗号文はCであり、付加値はCであり、第2暗号文はC=(C,C)である。平文はkであり、例えば共通鍵である。ただし、平文kがメッセージであってもよい。方式例1の具体例は、PSEC−KEM方式である(参考文献1,2等参照)。
参考文献1:PSEC−KEM仕様書、日本電信電話株式会社、NTT情報プラットフォーム研究所、平成20年4月14日
参考文献2:INTERNATIONAL STANDARD ISO/IEC 18033-2“Information technology - Security techniques - Encryption algorithms -Part 2:Asymmetric ciphers”
<方式例2>
方式例2は、IDベース暗号方式に基づく例である。
《OW−CPA安全な暗号方式2−1》
設定アルゴリズム:Setup(1λ)→(PK,msk)
鍵生成アルゴリズム:KeyGen(PK,id,msk)→skid
暗号化アルゴリズム:Enc(PK,id,M)→c
復号アルゴリズム:Dec(PK,skid,c)→M’
カプセル化アルゴリズム:
SetupEC(1λ)→pub
S(1λ,pub)→(r,com,dec)
R(pub,com,dec)→r’ or {⊥}
ただし、PKはIDベース暗号方式の公開鍵(公開パラメータ)を表し、mskはそのマスター秘密鍵を表し、idは識別子を表し、skidは識別子idに対応する秘密鍵を表す。pubはカプセル化の公開パラメータを表し、r,com,decはそれぞれランダム値を表し、{⊥}はエラーを表す。Setup(1λ)→(PK,msk)は、1λを用いて(PK,msk)を得る演算を表し、KeyGen(PK,id,msk)→skidは、PK,id,mskを用いてskidを得る演算を表し、Enc(PK,id,M)→cは、PK,idを用いてIDベース暗号方式に則ってMを暗号化してcを得る準同型性の演算を表し、Dec(PK,skid,c)→M’は、PK,skidを用いてIDベース暗号方式に則ってcを復号してM’を得る準同型性の演算を表す。SetupEC(1λ)→pubは、1λを用いてpubを得る演算を表し、S(1λ,pub)→(r,com,dec)は、(1λ,pub)を用いて(r,com,dec)を得る演算を表し、R(pub,com,dec)→r’or{⊥}は、(pub,com,dec)を用いてr’または{⊥}を得る演算を表す。IDベース暗号方式の一例については、例えば、参考文献3に開示されている。
参考文献3:D. Boneh and M. Franklin, “Identity-Based Encryption from the Weil Pairing,” Adv. in Cryptology | Crypto 2001, LNCS vol. 2139, Springer-Verlag, pp. 213-229, 2001. Full version in SIAM J. Computing 32(3): 586-615, 2003.
《OW−CPA安全な暗号方式2−1に基づくIND−CCA安全な暗号方式2−2》
設定アルゴリズム:
Setup(1λ)→(PK,msk)
SetupEC(1λ)→pub
暗号化アルゴリズム:
S(1λ,pub)→(r,com,dec)
Enc(PK,com,M|dec)→c
MAC(r,c)→tag
C=(com,c,tag)
復号アルゴリズム:
KeyGen(PK,com,msk)→skcom
Dec(PK,skcom,c)→M’|dec’
R(pub,com,dec’)→r’
r’≠{⊥}であればVefy(r’,c,tag)
Vefy(r’,c,tag)≠{⊥}であればM’出力。
ただし、M|decはMを表す情報とdecを表す情報との連結値を表し、MAC(r,c)→tagは、(r,c)に対するメッセージ認証子tagを得る演算を表し、Vefy(r’,c,tag)は、(r’,c)に対するメッセージ認証子tagの検証結果を表す。
方式例2の場合、第1暗号文は平文Mに由来する値(平文Mに対応する値)M|decを暗号化して得られる値cであり、付加値は第1暗号文cとランダム値rとを含む情報に由来する(第1暗号文cとランダム値rとに対応する)メッセージ認証子tagである。第2暗号文はC=(com,c,tag)である。方式例2の具体例は、IDベース暗号方式をBK変換した方式である(参考文献4)。参考文献4の方式の場合、平文Mはメッセージである。
参考文献4:Dan Boneh1, Jonathan Katz, “Improved Efficiency for CCA-Secure Cryptosystems Built Using Identity-Based Encryption,” In proceedings of RSA-CT '05, LNCS 3376, pp. 87-103, 2005.
<第2暗号文の例2>
第2暗号文が、準同型性演算によって復号可能な第1暗号文を含み(例えば、第2暗号文は第1暗号文であるが、第1暗号文の復号処理のみでは平文が復号されない)、第1暗号文の復号値に由来する値と当該第1暗号文の復号値に由来する付加値とを用いた非準同型性演算によって平文が復元可能なものであってもよい。このような第2暗号文の復号を行う復号装置は、第1暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、第1暗号文の復号値を得る。第1暗号文は準同型性演算によって復号可能であり、このような第1暗号文の復号は、自己訂正技術を用いた公知のクラウド鍵管理型の復号方式によって実行できる(例えば、特許文献1〜3等参照)。さらに復号装置は、この第1暗号文の復号値に由来する値と当該第1暗号文の復号値に由来する付加値とを用いた非準同型性演算を行い、平文を得て出力する。このように、準同型性演算によって復号可能な第1暗号文の復号処理のみに自己訂正処理を用いるため、平文の復元時に非準同型性演算の被演算子となる付加値を含んでいたとしても、自己訂正技術を用いたクラウド鍵管理型の復号を行うことができる。
第2暗号文の例2の場合も、第1暗号文は、準同型性を持つOW−CPA安全な暗号方式の暗号文(第1暗号文の復号値についてOW−CPA安全な暗号文)である。第2暗号文は、平文についてIND−CCA安全な暗号文である。以下に、第2暗号文の例2でのIND−CCA安全な暗号方式を例示する(参考文献5参照)。この例も前述のOW−CPA安全な暗号方式1−1に基づくものである。
参考文献5:RSAES-OAEP Encryption Scheme:Algorithm specification and supporting documentation, RSA Laboratories, RSA Security Inc.
《OW−CPA安全な暗号方式1−1に基づくIND−CCA安全な暗号方式3−1》
鍵生成アルゴリズム:KeyGen(1λ)→(pk,sk)
暗号化アルゴリズム:Enc(pk,Encode(M,P))→C31
復号アルゴリズム: Decode(Dec(sk,C31),P)→M
ただし、Mは平文であり、Pはエンコーディングパラメータである。Pが空(Empty)であってもよい。Enc(pk,Encode(M,P))→C31はpkを用いてEncode(M,P)を暗号化して暗号文C31を得る準同型性の演算を表す。Encode(M,P)は、MおよびPを入力とし、ランダム値であるseedを内部生成し、M,P,seedを含む情報に由来する値MS=Encode(M,P)を得る非準同型性の演算を表す。非準同型性の演算Encodeの具体例は、参考文献5のEME−OAEP−Encodeを含む演算である。Decode(Dec(sk,C31),P)→M’は、skを用いた準同型性の演算DecによってC31の復号値MS’=Dec(sk,C31)を得、C31の復号値MS’とMS’に由来する付加値seed’とPを用いた非準同型性の演算Decode(MS’,P)によって平文M’を得る演算を表す。付加値seed’はランダム値seedに一致する。非準同型性の演算Decodeの具体例は、参考文献5のEME−OAEP−Decodeを含む演算である。第1暗号文C31は、平文Mとランダム値であるseedを含む情報とに由来する値MSを暗号化して得られる値である。付加値seed’は、ランダム値seedを含む情報に由来する値である。この例の第2暗号文は第1暗号文C31である。
以下、図面を参照して各実施形態を説明する。
[第1実施形態]
第1実施形態を説明する。第1実施形態は、参考文献1に記載されたPSEC−KEM方式の第2暗号文C10を復号する例である。本形態では、第1暗号文がランダム値rに由来する値(rに対応する値)αを暗号化して得られる値C11であり、付加値が平文(共通鍵)k(ランダム値rと値αとに対応する値)とランダム値rとを含む情報に対応する値C12である。言い換えると、付加値C12はαおよびrを含む情報に由来する情報である。第1暗号文C11の復号値Qのみからランダム値rを得ることは困難であり、第2暗号文C10の復号値がランダム値rから得られる共通鍵kである。つまり、第1暗号文C11の復号値Qのみから、第2暗号文C10の復号値である共通鍵kを得ることは困難である。
<構成>
図1に例示するように、第1実施形態のセキュリティシステム1は、鍵生成装置11、暗号化装置12、復号装置13、および復号能力提供装置14を有し、これらはネットワークを通じて情報のやり取りが可能なように構成されている。なお、説明の簡略化のため、図1では、鍵生成装置11、暗号化装置12、復号装置13、および復号能力提供装置14を1個ずつ図示しているが、これらの少なくとも一部の装置が複数個存在していてもよい。
図2に例示するように、本形態の暗号化装置12は、記憶部121、ランダム値生成部122、対応値生成部123、準同型性暗号化部124、非準同型性処理部125、合成部126、暗号化部127、および出力部128を有する。図3に例示するように、本形態の復号装置13は、入力部131、記憶部132、分解部133、自己訂正処理部134、非準同型性処理部135、および復号部136を有する。図3に例示するように、本形態の復号能力提供装置14は、記憶部141、および復号能力提供部142を有する。鍵生成装置11、暗号化装置12、復号装置13、および復号能力提供装置14は、それぞれ、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。コンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、単独で処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。各処理部から出力された情報は、図示していない一時メモリに格納され、必要に応じて読み出されて各処理部の処理に用いられる。
<処理>
鍵生成装置11が、鍵生成アルゴリズムKeyGen(1λ)を実行し、公開鍵pkと秘密鍵skとを得る。公開鍵pkは暗号化装置12(図2)の記憶部121に格納される。さらに公開鍵pkはその他の装置にも設定される。秘密鍵skは復号能力提供装置14(図3)の記憶部141に安全に格納される。
その後、図4に例示するように、暗号化装置12のランダム値生成部122がランダム値rを生成して出力する(ステップS101)。対応値生成部123は、ランダム値rを入力とし、ランダム値rに由来する値(rに対応する値)α,kを生成して出力する(ステップS102)。例えば、Hがランダム値rを表す情報を含む情報のハッシュ値を表すビット列であり、H=t|kであり、αはtの関数値である。kは共通鍵である。ただし、A|Bはビット列AとBとの連結(concatenation)を表す。Hのどの位置をtおよびkとするかは事前に定められている。
準同型性暗号化部124は、値αと公開鍵pkを入力とし、第1暗号文C11=Enc(pk,α)を得て出力する(ステップS103)。第1暗号文C11は、準同型性演算によって復号可能な暗号文である。例えば、楕円曲線E上の点Pに対してpk=sk・P∈Eを満たし、α∈Eであり、C11=Enc(pk,α)=α・P∈Eである。
非準同型性処理部125は、ランダム値r、第1暗号文C11、および値αを入力とし、付加値C12=FO(α,r)を得て出力する(ステップS104)。付加値C12は、復号時に非準同型性演算の被演算子となる値である。例えば、C12=FO(α,r)は、C11を表す情報およびQ=α・pk=α・sk・P∈Eを表す情報を含む情報のハッシュ値を表すビット列と、ランダム値rを表すビット列との排他的論理和である。なお、値αおよび平文kはランダム値rに対応する。よって付加値C12=FO(α,r)は平文kとランダム値rとに対応する。
合成部126は、第1暗号文C11と付加値C12とを入力とし、これらに対応する第2暗号文C10を得て出力する(ステップS105)。例えば、C10は、C11を表す情報とC12を表す情報とを含む情報であり、例えば、C11を表す情報(例えば、ビット列)とC12を表す情報(例えば、ビット列)との連結値である。
暗号化部127は、入力メッセージmと共通鍵kとを入力とし、共通鍵暗号方式に則って共通鍵kで入力メッセージmを暗号化し、共通鍵暗号文C13を出力する(ステップS106)。共通鍵暗号方式の例は、AESやCameria(登録商標)である。
出力部128は、第2暗号文C10と共通鍵暗号文C13とを入力とし、これらを含む暗号文C=(C10,C13)を出力する(ステップS107)。暗号文Cはネットワークを通じて復号装置13に送られる。
暗号文Cは復号装置13(図3)の入力部131に入力され、記憶部132に格納される(ステップS108)。分解部133は、暗号文C=(C10,C13)に含まれる第2暗号文C10を入力とし、第2暗号文C10から第1暗号文C11と付加値C12とを得て、第1暗号文C11と付加値C12とを出力する(ステップS109)。
自己訂正処理部134は、第1暗号文C11を入力とし、第1暗号文C11を復号するための秘密鍵(復号鍵)skを記憶部141に保持する復号能力提供装置14の復号能力提供部142との間で自己訂正処理(自己訂正技術を用いたクラウド鍵管理型の復号処理)を行い、第1暗号文C11の復号値Q=Dec(sk,C11)を得て出力する(ステップS110,S111)。前述のように、第1暗号文C11は準同型性演算によって復号可能である。例えば、楕円曲線E上の点skおよびC11に対するQ=sk・C11∈E(ただし、C11=α・P∈E)である。
≪自己訂正技術を用いたクラウド鍵管理型の復号処理≫
自己訂正技術を用いたクラウド鍵管理型の復号処理は、特許文献1〜3等に記載された公知技術である。以下にその概要を示す。
自己訂正処理部134は、第1暗号文C11に対応する情報を復号能力提供装置14の復号能力提供部142に与え、かつ、秘密鍵(復号鍵)skの情報を復号能力提供装置14から得ることなく、自己訂正処理部134で第1暗号文C11の復号値Qを得るための情報を復号能力提供装置14から得る。言い換えると、復号能力提供装置14の復号能力提供部142は、第1暗号文C11に対応する情報を自己訂正処理部134から得、秘密鍵(復号鍵)skの情報を復号装置13に与えることなく、自己訂正処理部134が自己訂正処理によって第1暗号文C11の復号値Qを得るための情報を自己訂正処理部134に対して出力する。自己訂正処理部134は、復号能力提供部142から与えられた情報を用いて復号値Qを得る。ここで、復号能力提供装置14への復号値Qの漏洩を避けるためには、復号能力提供部142に与えられる「第1暗号文C11に対応する情報」が第1暗号文C11をかく乱した情報でなければならない。しかしながら、本形態では、復号値Qのみから第2暗号文C10の復号値である共通鍵kを得ることが困難である。そのため、たとえ復号値Qが復号能力提供装置14へ漏洩したとしても、共通鍵kの情報は復号能力提供装置14に漏洩しない。このような場合、自己訂正処理部134は、第1暗号文C11の情報をかく乱することなく復号能力提供部142に与え(かく乱されていない第1暗号文C11の情報を復号能力提供部142に与え)、自己訂正処理部134で復号値Qを得るための情報を復号能力提供部142から得てもよい。
自己訂正技術を用いたクラウド鍵管理型の復号処理の具体例:
以下に自己訂正技術を用いたクラウド鍵管理型の復号処理を例示する。以下の例では、G,Hが群(例えば、巡回群などの有限可換群)、f(x)が群Hの元である第1暗号文x=C11を秘密鍵skで復号して群Gの元を得るための準同型性復号関数、X,Xが群Gに値を持つ確率変数、xが確率変数Xの実現値、xが確率変数Xの実現値、a,bが互いに素である自然数である。ただし、以下の例は本発明を限定するものではなく、その他の自己訂正技術が用いられてもよい。
ステップ110a:自己訂正処理部134の処理部134aは、第1暗号文x=C11に対応する、群Hの元である第一入力情報τ及び第二入力情報τを出力する。例えば、群Hが巡回群、巡回群Hの生成元がμ、r1,r2が0以上のランダムな自然数、τ=μ r1、τ=μ r2である。a,bの一方が1などの定数であってもよい。なお、自己訂正処理部134の処理部134aが、第1暗号文C11の情報をかく乱することなく復号能力提供部142に与える場合、自然数r1,r2は1以上の定数であり、例えばτ=μ、τ=μである。自然数r1,r2が定数の場合、自然数r1,r2をランダムに生成する処理は不要である。第一入力情報τ及び第二入力情報τは復号能力提供部142に送られる。
ステップ111a:復号能力提供部142の処理部142aは、送られた第一入力情報τおよび記憶部141に格納された秘密鍵skを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた計算結果を第一出力情報zとする。すなわち、z=f(τ)である場合もあれば、z≠f(τ)である場合もある。言い換えると、復号能力提供部142は、f(τ)を計算可能であるが、意図的又は意図的ではない誤差を含んだ計算結果を出力する可能性がある。「或る確率」は100%未満であり0%以上の確率である。「或る確率」の例は無視することができない確率であり、「無視することができない確率」の例は、セキュリティパラメータkについての広義単調増加関数である多項式を多項式ψ(k)とした場合の1/ψ(k)以上の確率である。第一出力情報zは自己訂正処理部134に送られる。
ステップ111b:復号能力提供部142の処理部142bは、送られた第二入力情報τおよび記憶部141に格納された秘密鍵skを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた計算結果を第二出力情報zとする。すなわち、z=f(τ)である場合もあれば、z≠f(τ)である場合もある。言い換えると、復号能力提供部142は、f(τ)を計算可能であるが、意図的又は意図的ではない誤差を含んだ計算結果を出力する可能性がある。第二出力情報zは自己訂正処理部134に送られる。
ステップ110b:自己訂正処理部134の処理部134bは、送られた第一出力情報zから計算結果u=f(x)を生成する。例えば、ν=f(μ)であり、u=zν−r1である。bおよびr1は処理部134aで用いられたものと同じである。計算結果uは記憶部134eに格納される。
ステップ110c:自己訂正処理部134の処理部134cは、送られた第二出力情報zから計算結果v=f(x)を生成する。例えば、v=zν−r2である。aおよびr2は処理部134aで用いられたものと同じである。計算結果vは記憶部134eに格納される。
ステップ110d:自己訂正処理部134の処理部134dは、記憶部134eに格納されている何れかのu及びvの組がu=vを満たすかを判定し、満たした場合に、u=vを満たすu及びvの組およびa’a+b’b=1を満たす整数a’,b’についてのub’a’を復号値Qとして出力する。
ステップ110a〜110d,111a,111bの処理を所定回数繰り返しても計算結果u及びvがu=vを満たさなかった場合、自己訂正処理部134は、復号が不可能である旨のエラー情報を出力する。なお、記憶部134eに1個以上のvが格納されている場合には、ステップ110bとステップ110cとの間でもステップ110dの処理が行われてもよい。(≪自己訂正技術を用いたクラウド鍵管理型の復号処理≫の説明終わり)。
非準同型性処理部135は、復号値Qと付加値C12とを入力とし、復号値Qと付加値C12とを用いた非準同型性演算FO−1(Q,C12)を行ってrを得、それから第2暗号文C10の復号値(平文)kを得て出力する(ステップS112)。例えば、非準同型性処理部135は、復号値Qと付加値C12とを用いてランダム値r=FO−1(Q,C12)を得、ランダム値rに対応する共通鍵kを出力する。例えば、まず非準同型性処理部135は、C11を表す情報および復号値Qを表す情報を含む情報のハッシュ値を表すビット列と、付加値C12を表すビット列との排他的論理和を、ランダム値rを表すビット列として得る。次に、非準同型性処理部135は、ランダム値rを表す情報を含む情報のハッシュ値を表すビット列hを得、h=t|kを満たす共通鍵kを得る。さらに、非準同型性処理部135は、tの関数値αを用いてC11=α・P∈Eを満たすか確認し、これを満たせば共通鍵kを出力し、満たさなければエラーを出力する。
復号部136は、共通鍵暗号文C13と共通鍵kとを入力とし、共通鍵暗号方式に則って共通鍵kで共通鍵暗号文C13を復号し、復号値m’を得て出力する(ステップS113)。
[第2実施形態]
第2実施形態を説明する。第2実施形態は、参考文献4に記載されたIDベース暗号方式をBK変換した方式の第2暗号文を復号する例である。本形態では、第1暗号文が平文mに対応する値m|decを暗号化して得られる値C21であり、付加値が第1暗号文C21とランダム値rとに対応するメッセージ認証子tagである。
<構成>
図1に例示するように、第2実施形態のセキュリティシステム2は、鍵生成装置21、暗号化装置22、復号装置23、および復号能力提供装置24を有し、これらはネットワークを通じて情報のやり取りが可能なように構成されている。なお、説明の簡略化のため、図1では、鍵生成装置21、暗号化装置22、復号装置23、および復号能力提供装置24を1個ずつ図示しているが、これらの少なくとも一部の装置が複数個存在していてもよい。
図5に例示するように、本形態の暗号化装置22は、記憶部221、ランダム値生成部222、準同型性暗号化部224、非準同型性処理部225、および出力部228を有する。図6に例示するように、本形態の復号装置23は、入力部231、記憶部232、自己訂正処理部234、非準同型性処理部235、および出力部236を有する。図6に例示するように、本形態の復号能力提供装置24は、記憶部241、復号能力提供部242、および秘密鍵取得部243を有する。図6に例示するように、本形態の鍵生成装置21は、記憶部211、秘密鍵生成部212、および設定部213を有する。鍵生成装置21、暗号化装置22、復号装置23、および復号能力提供装置24は、それぞれ、例えば、前述のコンピュータに所定のプログラムが読み込まれることで構成された装置である。各処理部から出力された情報は、図示していない一時メモリに格納され、必要に応じて読み出されて各処理部の処理に用いられる。
<処理>
鍵生成装置21の設定部213が、設定アルゴリズムSetup(1λ)およびSetupEC(1λ)を実行し、公開鍵(PK,pub)とマスター秘密鍵mskとを得る。公開鍵(PK,pub)は、暗号化装置22(図5)の記憶部221に格納される。さらに公開鍵(PK,pub)は、その他の装置にも設定される。マスター秘密鍵mskは、鍵生成装置21の記憶部211に安全に格納される。
図7に例示するように、暗号化装置22のランダム値生成部222が、S(1λ,pub)→(r,com,dec)によってランダム値(r,com,dec)を生成して出力する(ステップS201)。comは識別子として機能する。
準同型性暗号化部224は、公開鍵PKとランダム値decと識別子comと平文mとを入力とし、Enc(PK,com,m|dec)→C21によって、平文mに対応する値m|decを暗号化して第1暗号文C21を得て出力する(ステップS203)。第1暗号文C21は、準同型性演算によって復号可能な暗号文である。
非準同型性処理部225は、ランダム値rと第1暗号文C21とを入力とし、MAC(r,C21)→tagによって、ランダム値rと第1暗号文C21とに対するメッセージ認証子tagを付加値として得て出力する(ステップS204)。付加値tagは、復号時に非準同型性演算の被演算子となる値である。
出力部228は、識別子comと第1暗号文C21と付加値tagとを入力とし、これらに対応する第2暗号文C=(com,C21,tag)を出力する(ステップS207)。例えば、第2暗号文Cは、識別子comを表す情報と第1暗号文C21を表す情報と付加値tagを表す情報とを含む情報であり、例えば、識別子comを表す情報(例えば、ビット列)と第1暗号文C21を表す情報(例えば、ビット列)と付加値tagを表す情報(例えば、ビット列)との連結値である。第2暗号文Cはネットワークを通じて復号装置23に送られる。
第2暗号文Cは復号装置23(図6)の入力部231に入力され、記憶部232に格納される(ステップS208)。出力部236は、第2暗号文C=(com,C21,tag)が含む識別子comを出力する(ステップS209a)。識別子comは復号能力提供装置24の秘密鍵取得部243に入力される。秘密鍵取得部243は、識別子comを鍵生成装置21に対して出力する(ステップS209b)。鍵生成装置21の秘密鍵生成部212は、識別子comとマスター秘密鍵mskとを入力とし、KeyGen(PK,com,msk)→skcomによって、識別子comに対応する秘密鍵skcomを得て出力する。秘密鍵skcomは秘密鍵取得部243に入力され、記憶部241に安全に格納される(ステップS209c)。
自己訂正処理部234は、第2暗号文C=(com,C21,tag)に含まれる第1暗号文C21を入力とし、第1暗号文C21を復号するための秘密鍵(復号鍵)skcomを保持する復号能力提供装置24の復号能力提供部242との間で自己訂正処理(自己訂正技術を用いたクラウド鍵管理型の復号処理)を行い、第1暗号文C21の復号値m’|dec’=Dec(PK,skcom,C21)を得て出力する(ステップS210,S211)。
すなわち、自己訂正処理部234は、第1暗号文C21に対応する情報を復号能力提供装置24の復号能力提供部242に与え、かつ、秘密鍵(復号鍵)skcomの情報を復号能力提供装置24から得ることなく、自己訂正処理部234で第1暗号文C21の復号値m’|dec’を得るための情報を復号能力提供装置24から得る。言い換えると、復号能力提供装置24の復号能力提供部242は、第1暗号文C21に対応する情報を自己訂正処理部234から得、秘密鍵skcomの情報を復号装置23に与えることなく、自己訂正処理部234が自己訂正処理によって第1暗号文C21の復号値m’|dec’を得るための情報を自己訂正処理部234に対して出力する。自己訂正処理部234は、復号能力提供部242から与えられた情報を用いて復号値m’|dec’を得る。ここで、復号能力提供装置24への復号値m’|dec’の漏洩を避けるために、復号能力提供部242に与えられる「第1暗号文C21に対応する情報」は第1暗号文C21をかく乱した情報であることが望ましい。なお、ステップS210,S211の具体例は、x=C21とし、秘密鍵sk=skcomとし、自己訂正処理部134を自己訂正処理部234に置換し、復号能力提供部142を復号能力提供部242に置換して行われる、前述の「自己訂正技術を用いたクラウド鍵管理型の復号処理の具体例」である。
非準同型性処理部235は、第1暗号文C21の復号値m’|dec’と付加値tagとを用いた非準同型性演算を行い、第2暗号文Cの復号値m’を出力する(ステップS212)。例えば、非準同型性処理部235は、復号値m’|dec’と第2暗号文C=(com,C21,tag)に含まれる識別子comと付加値tagとを入力とし、R(pub,com,dec’)→r’によってr’を得、r’≠{⊥}であればVefy(r’,C21,tag)≠{⊥}であるかを判定し、Vefy(r’,C21,tag)≠{⊥}であればm’を出力する。その他の場合にはエラー終了する。
[第3実施形態]
第3実施形態を説明する。第3実施形態は、前述の<第2暗号文の例2>に基づくものである。本形態の第1暗号文は、平文mとランダム値seedを含む情報とに由来する値MS=Encode(m,P)を暗号化して得られる値C31であり、付加値はランダム値seedである。
<構成>
図1に例示するように、第3実施形態のセキュリティシステム3は、鍵生成装置31、暗号化装置32、復号装置33、および復号能力提供装置34を有し、これらはネットワークを通じて情報のやり取りが可能なように構成されている。なお、説明の簡略化のため、図1では、鍵生成装置31、暗号化装置32、復号装置33、および復号能力提供装置34を1個ずつ図示しているが、これらの少なくとも一部の装置が複数個存在していてもよい。
図8に例示するように、本形態の暗号化装置32は、記憶部321、ランダム値生成部322、準同型性暗号化部324、非準同型性処理部325、変換部326、および出力部328を有する。図9に例示するように、本形態の復号装置33は、入力部331、記憶部332、復元部333、自己訂正処理部334、非準同型性処理部335、出力部236、および変換部337を有する。図9に例示するように、本形態の復号能力提供装置34は、記憶部341、および復号能力提供部342を有する。鍵生成装置31、暗号化装置32、復号装置33、および復号能力提供装置34は、それぞれ、例えば、前述のコンピュータに所定のプログラムが読み込まれることで構成された装置である。各処理部から出力された情報は、図示していない一時メモリに格納され、必要に応じて読み出されて各処理部の処理に用いられる。
<処理>
鍵生成装置31が、鍵生成アルゴリズムKeyGen(1λ)を実行し、公開鍵pkと秘密鍵skとを得る。公開鍵pkは暗号化装置32(図8)の記憶部321に格納される。さらに公開鍵pkはその他の装置にも設定される。秘密鍵skは復号能力提供装置34(図9)の記憶部341に安全に格納される。参考文献5の例では、公開鍵pkはRSA公開鍵(e,n)であり、秘密鍵skはRSA公開鍵(e,n)に対応するRSA秘密鍵(n,d)である。また、鍵生成装置31はエンコーディングパラメータPを出力する。エンコーディングパラメータPは、暗号化装置32の記憶部321および復号能力提供装置34の記憶部341に格納される。
その後、図10に例示するように、暗号化装置32のランダム値生成部322および非準同型性処理部325が、平文m、および記憶部321から読み出したエンコーディングパラメータPを入力とし、非準同型性演算Encode(m,P)→MSを行ってMSを得る。すなわち、ランダム値生成部322がランダム値seedを生成し(ステップS301)、非準同型性処理部325が、平文m、ランダム値seed、エンコーディングパラメータPに対応する非準同型性演算を行ってMS=Encode(m,P)を得る。例えば、非準同型性処理部325は、以下のようにMSを得る。
pHash=Hash(P)
DB=pHash|PS|01|m
dbMask=MGF(seed)
makedDB=DB(+)dbMask
seedMask=MGF(makedDB)
maskedSeed=seed(+)seedMask
EM=maskedSeed|maskedDB
MS=OS2IP(EM)
ただし、HashはPのハッシュ関数を表し、PSは零ビット列であり、MGFはマスク生成関数であり、A(+)BはAとBとの排他的論理和を表し、OS2IPは変換関数である(ステップS302)。
準同型性暗号化部324は、MS(平文mとランダム値seedを含む情報とに由来する値)、および記憶部321から読み出した公開鍵pkを入力とし、Enc(pk,MS)→C31によってMSを暗号化して第1暗号文C31を得て出力する(ステップS303)。第1暗号文C31は、準同型性演算によって復号可能な暗号文である。
変換部326は第1暗号文C31を入力として、それを変換関数ISOSPに入力して暗号文C=I2OSP(C31)を得て出力する(ステップS305)。暗号文Cはネットワークを通じて復号装置33に送られる。
暗号文Cは復号装置33(図3)の入力部331に入力され、記憶部332に格納される(ステップS306)。変換部337は、記憶部332から暗号文Cを読み出し、それをI2OSPの逆変換関数OS2IPに入力して第1暗号文C31=OS2IP(C)を得て出力する(ステップS307)。
自己訂正処理部334は、第1暗号文C31を入力とし、第1暗号文C31を復号するための秘密鍵(復号鍵)skを保持する復号能力提供装置34の復号能力提供部342との間で自己訂正処理(自己訂正技術を用いたクラウド鍵管理型の復号処理)を行い、第1暗号文C31の復号値MS=Dec(sk,C31)を得て出力する(ステップS310,S311)。
すなわち、自己訂正処理部334は、第1暗号文C31に対応する情報を復号能力提供装置34の復号能力提供部342に与え、かつ、秘密鍵(復号鍵)skの情報を復号能力提供装置34から得ることなく、自己訂正処理部334で第1暗号文C31の復号値MSを得るための情報を復号能力提供装置34から得る。言い換えると、復号能力提供装置34の復号能力提供部342は、第1暗号文C31に対応する情報を自己訂正処理部334から得、秘密鍵skの情報を復号装置33に与えることなく、自己訂正処理部334が自己訂正処理によって第1暗号文C31の復号値MSを得るための情報を自己訂正処理部334に対して出力する。自己訂正処理部334は、復号能力提供部342から与えられた情報を用いて復号値MSを得る。ここで、復号能力提供装置34への復号値MSの漏洩を避けるために、復号能力提供部342に与えられる「第1暗号文C31に対応する情報」は第1暗号文C31をかく乱した情報であることが望ましい。なお、ステップS310,S311の具体例は、x=C31とし、自己訂正処理部134を自己訂正処理部334に置換し、復号能力提供部142を復号能力提供部342に置換して行われる、前述の「自己訂正技術を用いたクラウド鍵管理型の復号処理の具体例」である。
復元部333および非準同型性処理部335は、復号値MS、および記憶部332から読み出したエンコーディングパラメータPを入力とし、準同型性演算Decode(MS,P)→mによって平文mを復元して出力する。すなわち、復元部333が、MSから平文mに対応する値maskedDBとランダム値seedとを復元し(ステップS312)、非準同型性処理部335がそれらから平文mを復元して出力し、出力部336が平文mを出力する(ステップS313)。これらの処理は非準同型性演算である。例えば、復元部333は、OS2IPの逆変換関数IS0SPを用いてEM=IS0SP(MS)を得、EMをEM=maskedSeed|maskedDBを満たすmaskedSeedとmaskedDBとに分離し、seedMask=MGF(makedDB)を得、seed=maskedSeed(+)seedMaskを得える(ステップS312)。非準同型性処理部335は、得られたmaskedDBおよびseedを用い、dbMask=MGF(seed)を得、DB=makedDB(+)dbMaskを得、pHash=Hash(P)を得、DB=pHash|PS|01|mを満たす平文mを得、出力部336が平文mを出力する(ステップS313)。
[その他の変形例等]
なお、本発明は上述の実施の形態に限定されるものではない。例えば、各装置がネットワークを通じて情報をやり取りするのではなく、少なくとも一部の組の装置が可搬型記録媒体を介して情報をやり取りしてもよい。或いは、少なくとも一部の組の装置が非可搬型の記録媒体を介して情報をやり取りしてもよい。すなわち、これらの装置の一部からなる組み合わせが、同一の装置であってもよい。
また自己訂正技術は前述したものに限定されない。例えば、群Hが群Gの直積群G×G、群Gが巡回群、巡回群Gの生成元がμ、第1暗号文x=(c,c),(V,W)が群Hの元、f(V,W)=Yであり、r4〜r7が0以上の自然数の乱数であり、τ=(c r4,c r4μ r5)であり、τ=(c r6,c r6μ r7)であり、u=z−r4μ −r5、v=z−r6μ −r7であってもよい。
第3実施形態においてエンコーディングパラメータPが空であってもよい。この場合には、エンコーディングパラメータPは生成されず、Pは空として処理される。また、各実施形態においてビット列がオクテット列であってもよい。
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
1,2,3 セキュリティシステム
11,21,31 鍵生成装置
12,22,32 暗号化装置
13,23,33 復号装置
14,24,34 復号能力提供装置
図1は、実施形態のセキュリティシステムのブロック図である。 図2は、第1実施形態の暗号化装置のブロック図である。 図3Aは、第1実施形態の復号装置および復号能力提供装置のブロック図である。図3Bは、第1実施形態の自己訂正処理部および復号能力提供部の詳細を例示するブロック図である。 図4は、第1実施形態の復号処理を説明するための図である。 図5は、第2実施形態の暗号化装置のブロック図である。 図6は、第2実施形態の復号装置および復号能力提供装置のブロック図である。 図7は、第2実施形態の復号処理を説明するための図である。 図8は、第3実施形態の暗号化装置のブロック図である。 図9は、第3実施形態の復号装置および復号能力提供装置のブロック図である。 図10は、第3実施形態の復号処理を説明するための図である。

Claims (14)

  1. 準同型性演算によって復号可能な第1暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、前記第1暗号文の復号値を得る自己訂正処理部と、
    前記第1暗号文の復号値に対応する又は由来する値と、付加値と、を用いた非準同型性演算を行い、平文を出力する非準同型性処理部と、
    を有する復号装置。
  2. 請求項1の復号装置であって、
    前記平文は、前記第1暗号文を含む情報に対応する又は由来する第2暗号文の復号値であり、
    前記第1暗号文は、前記第1暗号文の復号値についてOW−CPA安全であり、
    前記第2暗号文は、前記平文についてIND−CCA安全である、復号装置。
  3. 請求項1または2の復号装置であって、
    前記第1暗号文は、ランダム値に対応する又は由来する値、を暗号化して得られる値を含み、
    前記付加値は、前記平文と前記ランダム値とを含む情報に対応するまたは由来する値を含む、復号装置。
  4. 請求項1または2の復号装置であって、
    前記第1暗号文は、前記平文を含む情報に対応する又は由来する値、を暗号化して得られる値を含み、
    前記付加値は、前記第1暗号文とランダム値とを含む情報に対応する又は由来する値を含む、復号装置。
  5. 請求項1または2の復号装置であって、
    前記第1暗号文は、前記平文とランダム値を含む情報とに対応する又は由来する値、を暗号化して得られる値であり、
    前記付加値は、前記ランダム値を含む情報に対応する又は由来する値である、復号装置。
  6. 準同型性演算によって復号可能な第1暗号文を復号するための復号鍵を保持する記憶部と、
    前記第1暗号文の復号値に対応する又は由来する値と、付加値と、を用いた非準同型性演算を行って平文を出力する復号装置から前記第1暗号文に対応する又は由来する情報を得、前記復号鍵を用い、前記復号装置に前記復号鍵の情報を与えることなく、前記復号装置が自己訂正処理によって前記第1暗号文の復号値を得るための情報を、前記復号装置に対して出力する復号能力提供部と、
    を有する復号能力提供装置。
  7. 請求項6の復号能力提供装置であって、
    前記平文は、前記第1暗号文を含む情報に対応する又は由来する第2暗号文、の復号値であり、
    前記第1暗号文は、前記第1暗号文の復号値についてOW−CPA安全であり、
    前記第2暗号文は、前記平文についてIND−CCA安全である、復号能力提供装置。
  8. 請求項6または7の復号能力提供装置であって、
    前記第1暗号文は、ランダム値に対応する又は由来する値、を暗号化して得られる値を含み、
    前記付加値は、前記平文と前記ランダム値とを含む情報に対応する又は由来する値を含む、復号能力提供装置。
  9. 請求項6または7の復号能力提供装置であって、
    前記第1暗号文は、前記平文を含む情報に対応する又は由来する値を暗号化して得られる値を含み、
    前記付加値は、前記第1暗号文とランダム値とを含む情報に対応する又は由来する値を含む、復号能力提供装置。
  10. 請求項6または7の復号能力提供装置であって、
    前記第1暗号文は、前記平文とランダム値を含む情報とに対応する又は由来する値、を暗号化して得られる値を含み、
    前記付加値は、前記ランダム値を含む情報に対応する又は由来する値を含む、復号能力提供装置。
  11. 自己訂正処理部が、準同型性演算によって復号可能な第1暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、前記第1暗号文の復号値を得るステップと、
    非準同型性処理部が、前記第1暗号文の復号値に対応する又は由来する値と、付加値と、を用いた非準同型性演算を行い、平文を出力するステップと、
    を有する復号方法。
  12. 復号能力提供部が、準同型性演算によって復号可能な第1暗号文の復号値に対応する又は由来する値と、付加値と、を用いた非準同型性演算を行って平文を出力する復号装置から前記第1暗号文に対応する情報を得るステップと、
    前記復号能力提供部が、前記第1暗号文を復号するための復号鍵を用い、前記復号装置に前記復号鍵の情報を与えることなく、前記復号装置が自己訂正処理によって前記第1暗号文の復号値を得るための情報を、前記復号装置に対して出力するステップと、
    を有する復号能力提供方法。
  13. 請求項1または2の復号装置としてコンピュータを機能させるためのプログラム。
  14. 請求項6または7の復号能力提供装置としてコンピュータを機能させるためのプログラム。
JP2015527239A 2013-07-18 2014-06-30 復号装置、復号能力提供装置、それらの方法、およびプログラム Active JP6059347B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013149156 2013-07-18
JP2013149156 2013-07-18
PCT/JP2014/067352 WO2015008607A1 (ja) 2013-07-18 2014-06-30 復号装置、復号能力提供装置、それらの方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP6059347B2 JP6059347B2 (ja) 2017-01-11
JPWO2015008607A1 true JPWO2015008607A1 (ja) 2017-03-02

Family

ID=52346078

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015527239A Active JP6059347B2 (ja) 2013-07-18 2014-06-30 復号装置、復号能力提供装置、それらの方法、およびプログラム

Country Status (5)

Country Link
US (1) US10163370B2 (ja)
EP (1) EP3001401A4 (ja)
JP (1) JP6059347B2 (ja)
CN (1) CN105339995B (ja)
WO (1) WO2015008607A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105337736B (zh) * 2014-06-30 2018-10-30 华为技术有限公司 全同态消息认证方法、装置及系统
FR3048102B1 (fr) * 2016-02-24 2018-03-09 Commissariat A L'energie Atomique Et Aux Energies Alternatives Methode d'execution confidentielle d'un programme operant sur des donnees chiffrees par un chiffrement homomorphe
EP3535924A4 (en) * 2016-11-04 2020-06-17 Nokia Technologies Oy SECURE DISTRIBUTED DATA PROCESSING
KR102411883B1 (ko) 2018-01-11 2022-06-22 삼성전자주식회사 전자 장치, 서버 및 그 제어 방법
JP7024666B2 (ja) * 2018-08-28 2022-02-24 日本電信電話株式会社 Idベースハッシュ証明系構成装置、idベース暗号装置及びプログラム
JPWO2022259494A1 (ja) * 2021-06-10 2022-12-15

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161164A (ja) * 1997-11-26 1999-06-18 Masao Kasahara 公開鍵暗号方式と暗号化装置および復号装置
US7363499B2 (en) * 2003-09-18 2008-04-22 Sun Microsystems, Inc. Blinded encryption and decryption
US8544089B2 (en) * 2009-08-17 2013-09-24 Fatskunk, Inc. Auditing a device
CN102687184B (zh) 2010-01-12 2015-11-25 日本电信电话株式会社 代理计算系统、方法及代理计算委托装置
WO2012057134A1 (ja) 2010-10-26 2012-05-03 日本電信電話株式会社 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体
JP5526284B2 (ja) 2011-03-04 2014-06-18 日本電信電話株式会社 代理計算システム、方法、依頼装置及びプログラム
JP5469631B2 (ja) * 2011-03-31 2014-04-16 日本電信電話株式会社 復号結果検証装置、方法及びプログラム
CN102594570A (zh) * 2012-04-11 2012-07-18 福建师范大学 基于等级身份加密的密钥门限算法
JP5954030B2 (ja) * 2012-08-02 2016-07-20 富士通株式会社 暗号処理装置および方法
JP6173904B2 (ja) * 2013-12-13 2017-08-02 株式会社東芝 共通鍵暗号装置及びプログラム、並びに、共通鍵復号装置及びプログラム
CN106160995B (zh) * 2015-04-21 2019-04-16 郑珂威 基于系数映射变换的多项式完全同态加密方法及系统
US10129029B2 (en) * 2016-06-16 2018-11-13 International Business Machines Corporation Proofs of plaintext knowledge and group signatures incorporating same

Also Published As

Publication number Publication date
WO2015008607A1 (ja) 2015-01-22
CN105339995B (zh) 2018-04-06
US10163370B2 (en) 2018-12-25
EP3001401A1 (en) 2016-03-30
EP3001401A4 (en) 2017-03-22
CN105339995A (zh) 2016-02-17
JP6059347B2 (ja) 2017-01-11
US20160133164A1 (en) 2016-05-12

Similar Documents

Publication Publication Date Title
US9973334B2 (en) Homomorphically-created symmetric key
EP2526505B1 (en) Device and method for obtaining a cryptographic key
JP6059347B2 (ja) 復号装置、復号能力提供装置、それらの方法、およびプログラム
US10880100B2 (en) Apparatus and method for certificate enrollment
US9762560B2 (en) Method for generating cryptographic “one-time pads” and keys for secure network communications
NL2013944B1 (en) Public-key encryption system.
US9037623B2 (en) Proxy calculation system, proxy calculation method, proxy calculation requesting apparatus, and proxy calculation program and recording medium therefor
CN107078906A (zh) 公钥加密系统
US20160013933A1 (en) Order-preserving encryption system, device, method, and program
JP5852518B2 (ja) 認証暗号化装置、認証復号装置、およびプログラム
US10230532B2 (en) Entity authentication in network
JP6294882B2 (ja) 鍵保管装置、鍵保管方法、及びそのプログラム
JP5730805B2 (ja) 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置
JP5679344B2 (ja) 署名鍵難読化システム、署名鍵難読化方法、難読化された署名鍵を用いた暗号化署名システム、難読化された署名鍵を用いた暗号化署名方法とプログラム
US20230132163A1 (en) Memory processing apparatus, memory verification apparatus, memory updating apparatus, memory protection system, method, and computer readable medium
Chen et al. Blockchain as a CA: A provably secure signcryption scheme leveraging blockchains
JP2011109510A (ja) 原本性保証装置、原本性保証プログラム、及びこのプログラムを記録する記録媒体
JP2017038336A (ja) 復号方法
CN109617876A (zh) 基于Http协议的数据加密、解密方法及系统
WO2017203743A1 (ja) 暗号化装置、復号装置及び暗号システム
JP2015215491A (ja) マッチング可能暗号システム及び方法並びにマッチング鍵生成装置及びプログラム
CN114844643A (zh) 一种基于双线性映射获取适配器签名的方法和电子设备
JP5480788B2 (ja) 公開鍵暗号システム、方法、暗号化装置、復号装置及びこれらのプログラム
JP2012227652A (ja) 復号結果検証装置、方法、システム及びプログラム
JP2015215490A (ja) ハッシング可能暗号システム及び方法、ハッシュ値計算装置並びにプログラム

Legal Events

Date Code Title Description
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: 20161206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161208

R150 Certificate of patent or registration of utility model

Ref document number: 6059347

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150