JP2014220661A - 証明装置、出力装置、検証装置、入力装置、証明方法、検証方法およびプログラム - Google Patents

証明装置、出力装置、検証装置、入力装置、証明方法、検証方法およびプログラム Download PDF

Info

Publication number
JP2014220661A
JP2014220661A JP2013098817A JP2013098817A JP2014220661A JP 2014220661 A JP2014220661 A JP 2014220661A JP 2013098817 A JP2013098817 A JP 2013098817A JP 2013098817 A JP2013098817 A JP 2013098817A JP 2014220661 A JP2014220661 A JP 2014220661A
Authority
JP
Japan
Prior art keywords
verification
value
commitment
response
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.)
Pending
Application number
JP2013098817A
Other languages
English (en)
Inventor
スミス ベン
Smyth Ben
スミス ベン
嘉一 花谷
Kiichi Hanatani
嘉一 花谷
村谷 博文
Hirobumi Muratani
博文 村谷
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013098817A priority Critical patent/JP2014220661A/ja
Priority to US14/200,406 priority patent/US9509492B2/en
Publication of JP2014220661A publication Critical patent/JP2014220661A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/32Cryptographic 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/3218Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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/32Cryptographic 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/3271Cryptographic 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 using challenge-response
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public 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
    • H04L9/3013Public 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 involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems

Abstract

【課題】準同型暗号処理により平文を暗号化した対象暗号文が正当であることを、簡易に証明する。【解決手段】実施形態の証明装置は、コミットメント生成部と、レスポンス生成部と、を備える。コミットメント生成部は、ランダムに選択された検証値からコミットメント文を生成して、対象暗号文が正当であることを検証する検証装置へと送信する。レスポンス生成部は、取得したチャレンジ値と平文と検証値とを合成したレスポンス値を生成して、検証装置へと送信する。レスポンス生成部は、レスポンス値を用いた第一の演算の結果が、チャレンジ値と対象暗号文とコミットメント文とを第二の演算で処理した結果と同一となる第三の演算により、レスポンス値を生成する。【選択図】図2

Description

本発明の実施形態は、証明装置、出力装置、検証装置、入力装置、証明方法、検証方法およびプログラムに関する。
ある問題の解答を知っていることを検証するプロトコルとして、非対話ゼロ知識証明が知られている。この非対話ゼロ知識証明を公開鍵暗号に組み合わせることにより、暗号文の正当性を検証した後に暗号文を復号することができる。これにより、公開鍵暗号の安全性をより高くすることができる。
David Bernhard, Veronique Cortier, Olivier Pereira, Ben Smyth and Bogdan Warinschi, "Adapting Helios for provable ballot privacy", 16th European Symposium on Research in Computer Security 2011, LNCS 6879, Springer, pp.335-354 Moni Naor and Moti Yung, "Public-key cryptosystems provably secure against chosen ciphertext attacks", STOC 1990, pp.427-437, ACM Press, 1990
しかしながら、非対話ゼロ知識証明を公開鍵暗号と組み合わせると、暗号化および復号の処理に多くの計算コストを必要とするだけでなく、暗号文長も増大するという問題があった。
実施形態の証明装置は、準同型暗号処理により平文を暗号化した対象暗号文が正当であることを証明する。証明装置は、コミットメント生成部と、レスポンス生成部と、を備える。コミットメント生成部は、ランダムに選択された検証値からコミットメント文を生成して、対象暗号文が正当であることを検証する検証装置へと送信する。レスポンス生成部は、取得したチャレンジ値と平文と検証値とを合成したレスポンス値を生成して、検証装置へと送信する。レスポンス生成部は、レスポンス値を用いた第一の演算の結果が、チャレンジ値と対象暗号文とコミットメント文とを第二の演算で処理した結果と同一となる第三の演算により、レスポンス値を生成する。
第1実施形態に係る暗号処理システムの構成図。 第1実施形態に係る証明装置および検証装置の構成図。 第1実施形態に係る暗号処理システムの処理フロー図。 第2実施形態に係る証明装置および検証装置の構成図。 第3実施形態に係る暗号処理システムの構成図。 第3実施形態に係る証明装置の構成図。 第3実施形態に係る検証装置の構成図。 第3実施形態に係る暗号化装置および証明装置の処理のフロー図。 第3実施形態に係る復号装置および検証装置の処理のフロー図。 第1〜第3実施形態に係る出力装置および入力装置の構成図。
(第1実施形態)
図1は、第1実施形態に係る暗号処理システムの構成を示す図である。第1実施形態に係る暗号処理システム10は、出力装置11と、入力装置12とを備える。出力装置11と入力装置12との間は、ネットワーク等により接続されて情報のやり取りがされる。
出力装置11は、暗号化装置20と、証明装置30とを備える。入力装置12は、復号装置40と、検証装置50とを備える。
暗号化装置20は、準同型暗号により平文を暗号化した暗号文を生成する。そして、暗号化装置20は、生成した暗号文を復号装置40に送信する。復号装置40は、出力装置11の暗号化装置20から暗号文を受信する。そして、復号装置40は、受信した暗号文を復号して平文を出力する。
本実施形態においては、暗号化装置20および復号装置40は、モディファイドエルガマル暗号を用いた処理を行う。モディファイドエルガマル暗号を用いる場合、暗号化装置20および復号装置40は、以下の処理を行う。
復号装置40は、秘密鍵SKを秘匿して保持する。暗号化装置20は、公開鍵情報を取得する。公開鍵情報には、巡回群G、巡回群Gの位数q、巡回群Gの生成元g、および、公開鍵PKが含まれる。
秘密鍵SKおよび公開鍵PKは、下記の式(111)および式(112)に示される関係を有する。なお、xは、巡回群Z(例えば、0からq−1までの整数)からランダムに選択された値である。
SK=x …(111)
PK=g …(112)
暗号化装置20は、平文mを受け取る。平文mは、巡回群Zから選択された値である。また、暗号化装置20は、巡回群Zから乱数rをランダムに選択する。
暗号化装置20は、公開鍵PK、平文mおよび乱数rに基づき、下記式(113)および式(114)の演算をして暗号文C,Cを生成する。
=g …(113)
=g・PK …(114)
暗号化装置20は、このように生成した暗号文C,Cを復号装置40に送信する。復号装置40は、暗号化装置20から暗号文C,Cを受信する。
復号装置40は、暗号文C,Cおよび秘密鍵SKに基づき、下記式(115)の演算をして、gを取得する。
=C/(C SK) …(115)
続いて、復号装置40は、生成元gに対して任意の値を順次に冪乗していき、gと一致する値を探し出す。そして、復号装置40は、一致したときに入力した値を、復号結果(平文m)として出力する。
なお、本実施形態においては、モディファイドエルガマル暗号を用いた例を説明するが、暗号化装置20および復号装置40は、これに限らず、例えばラビン暗号等の他の準同型暗号を用いた処理を行ってもよい。
一方、証明装置30および検証装置50は、暗号化装置20から復号装置40へと転送された暗号文が正当であるか、すなわち、正しい平文および乱数を用いて暗号文が生成されたかを証明および検証する。暗号化装置20から復号装置40へと転送された検証対象となる暗号文を、対象暗号文という。
本例においては、証明装置30は、対象暗号文C,Cの生成に用いた平文mおよび乱数rを暗号化装置20から受け取る。そして、証明装置30は、公開鍵情報(Z,q,g,PK)を用いて、シグマプロトコルで検証装置50とやり取りをして、対象暗号文C,Cが正当であることを検証装置50に対して証明する。
また、検証装置50は、対象暗号文C,Cを復号装置40から受け取る。そして、検証装置50は、公開鍵情報(Z,q,g,PK)を用いて、シグマプロトコルで証明装置30とやり取りをして、対象暗号文C,Cが正当であることを検証する。
検証装置50は、受信した対象暗号文C,Cが正当であると判定した場合、受容(Accept)を復号装置40に与える。また、検証装置50は、受信した対象暗号文C,Cが正当でないと判定した場合、拒否(Reject)を復号装置40に与える。そして、復号装置40は、検証装置50により対象暗号文C,Cが正当であると判定されたことを条件として、対象暗号文C,Cを復号して、平文mを出力する。
図2は、第1実施形態に係る証明装置30および検証装置50の構成を示す図である。証明装置30は、コミットメント生成部61と、レスポンス生成部62とを有する。検証装置50は、チャレンジ生成部63と、取得部64と、検証部65とを有する。
証明装置30のコミットメント生成部61は、検証値をランダムに選択する。続いて、コミットメント生成部61は、ランダムに選択された検証値からコミットメント文を生成する。そして、コミットメント生成部61は、生成したコミットメント文を検証装置50の取得部64へと送信する。また、コミットメント生成部61は、検証値をレスポンス生成部62に渡す。
モディファイドエルガマル暗号を用いた例では、コミットメント生成部61は、巡回群Zからランダムに2つの検証値a,bを選択する。そして、コミットメント生成部61は、aを乱数とし、bを平文とするモディファイドエルガマル暗号の暗号化と同様の処理により、2つのコミットメント文A,Bを生成する。なお、具体的な演算式については、詳細を図3で説明する。
検証装置50のチャレンジ生成部63は、チャレンジ値をランダムに選択する。そして、チャレンジ生成部63は、ランダムに選択されたチャレンジ値を証明装置30のレスポンス生成部62へと送信する。モディファイドエルガマル暗号を用いた例では、チャレンジ生成部63は、巡回群Zからランダムに1つのチャレンジ値eを選択する。
証明装置30のレスポンス生成部62は、チャレンジ値と平文と検証値とを受け取る。レスポンス生成部62は、チャレンジ値と平文と検証値とを合成したレスポンス値を生成する。そして、レスポンス生成部62は、生成したレスポンス値を検証装置50の取得部64へと送信する。この場合において、レスポンス生成部62は、演算結果を準同型暗号処理により暗号化した暗号文が、チャレンジ値と対象暗号文とコミットメント文とを予め定められた準同型演算により合成した暗号文と同一となる演算により、レスポンス値を生成する。
なお、ここで、準同型演算とは、複数の暗号文を演算した場合に、暗号文を復号することなく平文同士を合成できる演算である。すなわち、下記の式(116)および式(117)のような関係が成り立つ演算である。
Enc(x)×Enc(y)=Enc(x+y) …(116)
(Enc(x))=Enc(z・x) …(117)
式(116)および式(117)において、Enc(x)は、平文xを暗号化した暗号文を表す。Enc(y)は、平文yを暗号化した暗号文を表す。Enc(x+y)は、平文xと平文yとを加算した結果を暗号化した暗号文を表す。Enc(z・x)は、平文xに平文zを乗算した結果を暗号化した暗号文を表す。
そして、式(116)および式(117)において、“×”は暗号文の乗算を表し、準同型演算の一例である。また、(Enc(x))は、暗号文のZ乗(すなわち、同一の暗号文のZ回乗算)を表し、準同型演算の一例である。
なお、準同型演算の具体的な演算内容は、暗号化方式毎により異なる。例えば、モディファイドエルガマル暗号処理では、暗号文同士を乗算することにより平文同士が加算され、暗号文を定数乗することにより、平文に定数が乗算される。
モディファイドエルガマル暗号を用いた例では、レスポンス生成部62は、チャレンジ値eと、平文mと、2つの検証値a,bとを演算により合成して、2つのレスポンス値Z,Zを生成する。なお、具体的な演算式については、詳細を図3で説明する。
検証装置50の取得部64は、証明装置30から、コミットメント文およびレスポンス値を取得する。そして、取得部64は、取得したコミットメント文およびレスポンス値を検証部65に渡す。モディファイドエルガマル暗号を用いた例では、取得部64は、2つのコミットメント文A,B、および、2つのレスポンス値Z,Zを受信する。
検証装置50の検証部65は、コミットメント文およびレスポンス値を取得部64から受け取る。また、検証部65は、復号装置40から対象暗号文を受信する。そして、検証部65は、レスポンス値より予め定められた手順で導出される値と、チャレンジ値と対象暗号文とコミットメント文とを予め定められた準同型演算により合成した暗号文とが一致した場合に、対象暗号文が正当であると判定する。この場合において、検証部65は、レスポンス値を準同型暗号処理により暗号化した暗号文と演算結果が同一となる準同型演算により、チャレンジ値と対象暗号文とコミットメント文とを合成する。
モディファイドエルガマル暗号を用いた例では、検証部65は、2つのレスポンス値Z,Zを、Zを乱数とし、Zを平文とするモディファイドエルガマル暗号と同様の処理により暗号化して左辺暗号文を生成する。なお、具体的な演算式については、詳細を図3で説明する。
また、モディファイドエルガマル暗号を用いた例では、検証部65は、チャレンジ値eと対象暗号文C,Cとコミットメント文A,Bとを予め定められた準同型演算により合成して右辺暗号文を生成する。この場合において、検証部65は、演算結果が左辺暗号文と同一となる準同型演算により、右辺暗号文を生成する。なお、具体的な演算式については、詳細を図3で説明する。
そして、モディファイドエルガマル暗号を用いた例では、検証部65は、左辺暗号文と右辺暗号文とが一致するか否かを判定する。検証部65は、一致した場合には、対象暗号文C,Cが正当であると判定して、受容(Accept)を復号装置40に供給する。検証部65は、一致しなかった場合には、対象暗号文C,Cが正当ではないと判定して、拒否(Reject)を復号装置40に供給する。
図3は、第1実施形態に係る暗号処理システム10の処理フローを示す図である。図3を参照して、モディファイドエルガマル暗号処理を用いた場合の、第1実施形態に係る暗号処理システム10の処理フローを説明する。
まず、ステップS11において、暗号化装置20は、平文mを入力する。続いて、ステップS12において、暗号化装置20は、巡回群Zからランダムに乱数rを選択する。
続いて、ステップS13において、平文mを乱数rを用いてモディファイドエルガマル暗号処理により暗号化して、対象暗号文C,Cを生成する。すなわち、暗号化装置20は、下記の式(121)および式(122)の演算により、対象暗号文C,Cを生成する。
=g …(121)
=g・PK …(122)
続いて、ステップS14において、暗号化装置20は、対象暗号文C,Cを復号装置40へと送信する。
続いて、ステップS15において、証明装置30のコミットメント生成部61は、巡回群Zからランダムに2つの検証値a,bを選択する。
続いて、ステップS16において、コミットメント生成部61は、検証値bを検証値aを用いてモディファイドエルガマル暗号処理により暗号化して2つのコミットメント文A,Bを生成する。すなわち、コミットメント生成部61は、2つの検証値a,b、生成元g、および、公開鍵PKに基づき、下記の式(123)および式(124)の演算により、2つのコミットメント文A,Bを生成する。
A=g …(123)
B=g・PK …(124)
なお、検証値aを乱数rに置き換え、検証値bを平文mに置き換えれば、式(123)は式(121)と同一となり、式(124)は式(122)と同一となる。すなわち、コミットメント生成部61は、検証値aを乱数rに対応させ、且つ、検証値bを平文mに対応させたとした場合に、対象暗号文Cと同様の演算によりコミットメント文Aを生成し、対象暗号文Cと同様の演算によりコミットメント文Bを生成する。
続いて、ステップS17において、コミットメント生成部61は、コミットメント文A,Bを検証装置50の取得部64に送信する。
続いて、ステップS18において、検証装置50のチャレンジ生成部63は、巡回群Zからランダムにチャレンジ値eを選択する。続いて、ステップS19において、チャレンジ生成部63は、チャレンジ値eを証明装置30のレスポンス生成部62に送信する。
続いて、ステップS20において、証明装置30のレスポンス生成部62は、2つの検証値a,b、乱数r、平文m、チャレンジ値e、および、巡回群Zの位数qに基づき、下記の式(125)および式(126)の演算により、2つのレスポンス値Z,Zを生成する。なお、“+”は加算演算、“・”は乗算演算、“mod”は剰余演算を表す。
=(a+e・r) mod q …(125)
=(b+e・m) mod q …(126)
続いて、ステップS21において、レスポンス生成部62は、検証装置50の取得部64へ2つのレスポンス値Z,Zを送信する。
続いて、ステップS22において、検証装置50の検証部65は、レスポンス値Zをレスポンス値Zを用いてモディファイドエルガマル暗号処理により暗号化して第1左辺暗号文および第2左辺暗号文を生成する。すなわち、検証部65は、2つのレスポンス値Z,Z、生成元g、および、公開鍵PKに基づき、下記の式(127)および式(128)の演算により、第1左辺暗号文および第2左辺暗号文を生成する。なお、“^”は、冪乗演算を表す。即ち、“x^y”は、xを表す。
第1左辺暗号文=g^Z …(127)
第2左辺暗号文=g^Z・PK^Z …(128)
なお、レスポンス値Zを乱数rに置き換え、レスポンス値Zを平文mに置き換えれば、式(127)は式(121)と同一となり、式(128)は式(122)と同一となる。すなわち、検証部65は、レスポンス値Zを乱数rに対応させ、且つ、レスポンス値Zを平文mに対応させたとした場合に、対象暗号文Cと同様の演算により第1左辺暗号文(式(127))を生成し、対象暗号文Cと同様の演算により第2左辺暗号文(式(128))を生成する。
続いて、ステップS23において、検証部65は、チャレンジ値eと対象暗号文Cとコミットメント文Aとを、下記の式(129)の準同型演算により合成して第1右辺暗号文を生成する。これとともに、検証部65は、チャレンジ値eと対象暗号文Cとコミットメント文Bとを、下記の式(130)の準同型演算により合成して第2右辺暗号文を生成する。
第1右辺暗号文=A・C …(129)
第2右辺暗号文=B・C …(130)
ここで、式(127)の第1左辺暗号文は、下記の式(131)に示されるように展開される。
第1左辺暗号文=g^Z=g(a+e・r) …(131)
式(129)の第1右辺暗号文は、下記の式(132)に示されるように展開される。
第1右辺暗号文=A・C =g・(g=g(a+e・r)…(132)
従って、式(127)の第1左辺暗号文と式(129)の第1右辺暗号文とは同一である。
また、式(128)の第2左辺暗号文は、下記の式(133)に示されるように展開される。
第2左辺暗号文=g^Z・PK^Z=g(b+e・m)・PK(a+e・r) …(133)
式(130)の第2右辺暗号文は、下記の式(134)に示されるように展開される。
第2右辺暗号文=B・C =g・PK・(g・PK=g(b+e・m)・PK(a+e・r)…(134)
従って、式(128)の第2左辺暗号文と式(130)の第2右辺暗号文とは同一である。
すなわち、レスポンス生成部62は、演算結果をモディファイドエルガマル暗号処理により暗号化した暗号文(第1左辺暗号文および第2左辺暗号文)が、チャレンジ値eと対象暗号文C,Cとコミットメント文A,Bとを予め定められた準同型演算により合成した暗号文(第1右辺暗号文および第2右辺暗号文)と同一となる演算により、レスポンス値Z,Zを生成する。換言すると、検証部65は、レスポンス値Z,Zをモディファイドエルガマル暗号処理により暗号化した暗号文(第1左辺暗号文および第2左辺暗号文)と演算結果が同一となる準同型演算により、チャレンジ値eと対象暗号文C,Cとコミットメント文A,Bとを合成した合成暗号文(第1右辺暗号文および第2右辺暗号文)を生成する。
続いて、ステップS24において、検証部65は、下記の式(135)を演算する。
X=(g^Z==A・C )∧(g^Z・PK^Z==B・C )…(135)
なお、“==”は、左辺と右辺が一致していれば真(true)、不一致であれば偽(false)を出力する。また、“∧”は、左辺と右辺の論理積を出力する。すなわち、“true∧true”の場合にはtrueを出力するが、それ以外である場合にはfalseを出力する。
続いて、ステップS25において、検証部65は、Xがtrueであるか否かを判定する。すなわち、検証部65は、第1左辺暗号文と第1右辺暗号文とが一致し且つ第2左辺暗号文と第2右辺暗号文とが一致するか、否かを判定する。
検証部65は、第1左辺暗号文と第1右辺暗号文とが一致し且つ第2左辺暗号文と第2右辺暗号文とが一致する場合には(ステップS25のYes)、処理をステップS26に進める。ステップS26において、復号装置40は、暗号化装置20から受信した対象暗号文C,Cを復号して、平文mを出力する。そして、復号装置40は、本フローを終了する。
検証部65は、第1左辺暗号文と第1右辺暗号文とが一致しない、または、第2左辺暗号文と第2右辺暗号文とが一致しない場合には(ステップS25のNo)、復号を実行せずに、本フローを終了する。
以上のように、第1実施形態に係る暗号処理システム10では、チャレンジ値と対象暗号文とコミットメント文とを準同型演算により合成した暗号文と、レスポンス値を準同型暗号処理により暗号化した暗号文とが一致するように、コミットメント文およびレスポンス値を生成する。これにより、暗号処理システム10によれば、対象暗号文を復号することなく、簡易に、対象暗号文が正当であるか否かを検証できる。
(第2実施形態)
図4は、第2実施形態に係る証明装置30および検証装置50の構成を示す図である。第2実施形態に係る暗号処理システム10は、第1実施形態に係る暗号処理システム10と略同一の機能および構成を有する。従って、第2実施形態に係る暗号処理システム10の説明では、第1実施形態と略同一の機能および構成を有するユニットには同一の符号を付けて、相違点を除き説明を省略する。
第2実施形態に係る証明装置30は、証明側チャレンジ生成部71をさらに有する。また、第2実施形態に係る検証装置50は、チャレンジ生成部63に代えて、検証側チャレンジ生成部72を有する。
証明側チャレンジ生成部71は、コミットメント生成部61により生成されたコミットメント文A,Bを取得する。証明側チャレンジ生成部71は、取得したコミットメント文A,Bを予め定められたハッシュ関数に入力して、チャレンジ値eを生成する。証明側チャレンジ生成部71は、生成したチャレンジ値eをレスポンス生成部62に供給する。
検証側チャレンジ生成部72は、取得部64により受信されたコミットメント文A,Bを取得する。検証側チャレンジ生成部72は、取得したコミットメント文A,Bを予め定められたハッシュ関数に入力して、チャレンジ値eを生成する。ここで、検証側チャレンジ生成部72は、証明側チャレンジ生成部71で用いられているハッシュ関数と同一のハッシュ関数によりチャレンジ値eを生成する。検証側チャレンジ生成部72は、生成したチャレンジ値eを検証部65に供給する。
第2実施形態に係る暗号処理システム10では、証明側チャレンジ生成部71および検証側チャレンジ生成部72を有することにより、検証装置50から証明装置30へのチャレンジ値eの送信を無くすことができる。これにより、暗号処理システム10では、証明装置30から検証装置50への一方向の情報の送信処理で、対象暗号文C,Cが正当であるか否かを検証することができる。
なお、本実施の形態では、チャレンジ値eの生成にハッシュ関数を用いたが、生成に用いることのできる関数はハッシュ関数に限定されず、出力値の予測不能性を持ち、値域が巡回群Zqなる関数ならば何でもよい。
(第3実施形態)
図5は、第3実施形態に係る暗号処理システム10の構成を示す図である。第3実施形態に係る暗号処理システム10は、第2実施形態に係る暗号処理システム10と略同一の機能および構成を有する。従って、第3実施形態に係る暗号処理システム10の説明では、第2実施形態と略同一の機能および構成を有するユニットには同一の符号を付けて、相違点を除き説明を省略する。
第3実施形態に係る暗号化装置20は、複数の平文のそれぞれを暗号化して、複数の暗号文を生成する。また、第3実施形態に係る復号装置40は、複数の暗号文のそれぞれを復号して、複数の平文を出力する。
本例においては、暗号化装置20は、k個(kは2以上の整数)の暗号化部81−1〜81−kを有する。k個の暗号化部81−1〜81−kは、k個の乱数r〜rを生成して、k個の平文m〜mをモディファイドエルガマル暗号処理により暗号化して、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)を生成する。
また、復号装置40は、k個の復号部82−1〜82−kと、決定部83とを有する。k個の復号部82−1〜82−kは、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)を復号して、k個の平文m〜mを出力する。決定部83は、検証装置50によりk組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)の全てが正当であると判定されたことを条件として、k個の復号部82−1〜82−kにより復号されたk個の平文m〜mを出力する。
証明装置30は、k個の平文m〜mおよび乱数r〜rを暗号化装置20から受け取る。そして、証明装置30は、公開鍵情報(Z,q,g,PK)を用いて、シグマプロトコルで検証装置50とやり取りをして、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)のそれぞれが正当であることを検証装置50に対して証明する。
また、検証装置50は、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)を復号装置40から受け取る。そして、検証装置50は、公開鍵情報(Z,q,g,PK)を用いて、シグマプロトコルで証明装置30とやり取りをして、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)のそれぞれが正当であることを検証する。
検証装置50は、受信したk組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)の全てが正当であると判定した場合、受容(Accept)を復号装置40に与える。また、検証装置50は、正当でないと判定した場合、拒否(Reject)を復号装置40に与える。
図6は、第3実施形態に係る証明装置30の構成を示す図である。第3実施形態に係る証明装置30は、k個のコミットメント生成部61−1〜61−kと、合成コミットメント生成部91と、証明側チャレンジ生成部71と、k個のレスポンス生成部62−1〜62−kと、合成レスポンス生成部92とを有する。
k個のコミットメント生成部61−1〜61−kのそれぞれは、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)のそれぞれに対応しており、対応する対象暗号文に対して第1実施形態のコミットメント生成部61と同様の処理を行う。
より詳しくは、コミットメント生成部61−1は、2つの検証値a,bおよび2つのコミットメント文A,Bを生成する。コミットメント生成部61−2は、2つの検証値a,bおよび2つのコミットメント文A,Bを生成する。コミットメント生成部61−kは、2つの検証値a,bおよび2つのコミットメント文A,Bを生成する。
合成コミットメント生成部91は、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)を準同型演算により合成した合成対象暗号文(C1,ttl,C2,ttl)に対応しており、合成対象暗号文(C1,ttl,C2,ttl)に対して第1実施形態のコミットメント生成部61と同様の処理を行う。より詳しくは、合成コミットメント生成部91は、2つの合成検証値attl,bttlおよび2つの合成コミットメント文Attl,Bttlを生成する。
証明側チャレンジ生成部71は、k個のコミットメント生成部61−1〜61−kから出力されたk組のコミットメント文(A,B)〜(A,B)、および、合成コミットメント生成部91から出力された1組の合成コミットメント文(Attl,Bttl)を入力する。そして、証明側チャレンジ生成部71は、(2k+2)個のコミットメント文をハッシュ関数に入力して、k個のチャレンジ値e,e,…,eおよび1個の合成チャレンジ値ettlを出力する。
k個のレスポンス生成部62−1〜62−kのそれぞれは、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)のそれぞれに対応しており、対応する対象暗号文に対して第1実施形態のレスポンス生成部62と同様の処理を行う。
より詳しくは、レスポンス生成部62−1は、チャレンジ値eと、平文mと、乱数rと、2つの検証値a,bとを演算により合成して、2つのレスポンス値Z1,1,Z2,1を生成する。レスポンス生成部62−2は、チャレンジ値eと、平文mと、乱数rと、2つの検証値a,bとを演算により合成して、2つのレスポンス値Z1,2,Z2,2を生成する。レスポンス生成部62−kは、チャレンジ値eと、平文mと、乱数rと、2つの検証値a,bとを演算により合成して、2つのレスポンス値Z1,k,Z2,kを生成する。
合成レスポンス生成部92は、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)を準同型演算により合成した合成対象暗号文(C1,ttl,C2,ttl)に対応している。合成レスポンス生成部92は、k個の平文m,m,…,mを準同型演算に対応する平文演算により合成した合成平文mttlを生成する。モディファイドエルガマル暗号の場合には、合成レスポンス生成部92は、k個の平文m,m,…,mの全てを加算して合成平文mttlを生成する。
合成レスポンス生成部92は、k個の乱数r,r,…,rを準同型演算に対応する演算により合成した合成乱数rttlを生成する。例えば、モディファイドエルガマル暗号の場合、合成レスポンス生成部92は、k個の乱数r,r,…,rの全てを加算して合成乱数rttlを生成する。
そして、合成レスポンス生成部92は、合成チャレンジ値ettlと、合成平文mttlと、合成乱数rttlと、2つの合成検証値attl,bttlとに基づき、第1実施形態のレスポンス生成部62と同様の処理を行う。より詳しくは、合成チャレンジ値ettlと、合成平文mttlと、合成乱数rttlと、2つの合成検証値attl,bttlとを演算により合成して、2つの合成レスポンス値Z1,ttl,Z2,ttlを生成する。
図7は、第3実施形態に係る検証装置50の構成を示す図である。検証装置50は、k個の取得部64−1〜64−kと、合成取得部93と、検証側チャレンジ生成部72と、k個の検証部65−1〜65−kと、合成検証部94とを有する。
k個の取得部64−1〜64−kのそれぞれは、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)のそれぞれに対応しており、対応する対象暗号文に対して第1実施形態の取得部64と同様の処理を行う。
より詳しくは、取得部64−1は、2つのコミットメント文A,B、および、2つのレスポンス値Z1,1,Z2,1を受信する。取得部64−2は、2つのコミットメント文A,B、および、2つのレスポンス値Z1,2,Z2,2を受信する。取得部64−kは、2つのコミットメント文A,B、および、2つの合成レスポンス値Z1,k,Z2,kを受信する。
合成取得部93は、2つの合成コミットメント文Attl,Bttl、および、2つの合成レスポンス値Z1,ttl,Z2,ttlを受信する。
検証側チャレンジ生成部72は、k個の取得部64−1〜64−kにより受信されたk組のコミットメント文(A,B)〜(A,B)、および、合成取得部93により受信された1組の合成コミットメント文(Attl,Bttl)を入力する。そして、検証側チャレンジ生成部72は、(2k+2)個のコミットメント文をハッシュ関数に入力して、k個のチャレンジ値e,e,…,eおよび1個の合成チャレンジ値ettlを出力する。ここで、検証側チャレンジ生成部72は、証明側チャレンジ生成部71で用いられているハッシュ関数と同一のハッシュ関数によりチャレンジ値e,e,…,eおよび合成チャレンジ値ettlを生成する。
k個の検証部65−1〜65−kのそれぞれは、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)のそれぞれに対応しており、対応する対象暗号文に対して第1実施形態の検証部65と同様の処理を行う。
より詳しくは、検証部65−1は、2つのコミットメント文A,B、2つのレスポンス値Z1,1,Z2,1、チャレンジ値e、および、対象暗号文(C1,1,C2,1)に基づき、対象暗号文(C1,1,C2,1)が正当であるか否かを判定する。検証部65−1は、対象暗号文(C1,1,C2,1)が正当である場合には受容(Accept)を復号装置40に供給し、正当でない場合には、拒否(Reject)を復号装置40に供給する。
検証部65−2は、2つのコミットメント文A,B、2つのレスポンス値Z1,2,Z2,2、チャレンジ値e、および、対象暗号文(C1,2,C2,2)に基づき、対象暗号文(C1,2,C2,2)が正当であるか否かを判定する。検証部65−2は、対象暗号文(C1,2,C2,2)が正当である場合には、受容(Accept)を復号装置40に供給し、正当でない場合には、拒否(Reject)を復号装置40に供給する。
検証部65−kは、2つのコミットメント文A,B、2つのレスポンス値Z1,k,Z2,k、チャレンジ値e、および、対象暗号文(C1,k,C2,k)に基づき、対象暗号文(C1,k,C2,k)が正当であるか否かを判定する。検証部65−kは、対象暗号文(C1,k,C2,k)が正当である場合には、受容(Accept)を復号装置40に供給し、正当でない場合には、拒否(Reject)を復号装置40に供給する。
合成検証部94は、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)の全てを取得する。そして、合成検証部94は、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)を準同型演算により合成した合成対象暗号文(C1,ttl,C2,ttl)を生成する。例えば、モディファイドエルガマル暗号の場合、合成検証部94は、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)を乗算して、合成対象暗号文(C1,ttl,C2,ttl)を生成する。
そして、合成検証部94は、2つの合成コミットメント文Attl,Bttl、2つの合成レスポンス値Z1,ttl,Z2,ttl、合成チャレンジ値ettl、および、合成対象暗号文(C1,ttl,C2,ttl)に基づき、第1実施形態の検証部65と同様の処理を行い、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)が正当であるか否かを判定する。合成検証部94は、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)が正当である場合には、受容(Accept)を復号装置40に供給し、正当でない場合には、拒否(Reject)を復号装置40に供給する。
図8は、第3実施形態に係る暗号化装置20および証明装置30の処理フローを示す図である。図8を参照して、モディファイドエルガマル暗号処理を用いた場合の、第3実施形態に係る暗号化装置20および証明装置30の処理フローを説明する。
まず、ステップS51〜S56において、暗号化装置20は、i=1からkまで、iを1ずつインクリメントしながらループ処理を実行する。ループ処理内のステップS52において、暗号化装置20は、平文mを入力する。続いて、ステップS53において、暗号化装置20は、巡回群Zからランダムに乱数rを選択する。
続いて、ステップS54において、暗号化装置20は、平文mを乱数rを用いてモディファイドエルガマル暗号処理により暗号化する。すなわち、暗号化装置20は、下記の式(221)および式(222)の演算により、対象暗号文C1,i,C2,iを生成する。
1,i=g^r …(221)
2,i=g^m・PK^r …(222)
続いて、ステップS55において、暗号化装置20は、対象暗号文C1,i,C2,iを復号装置40へと送信する。ステップS51〜S56のループ処理をi=kまで終了すると、暗号化装置20は、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)を復号装置40へと送信することができる。ステップS51〜S56のループ処理をi=kまで終了すると、暗号化装置20は、処理をステップS57に進める。
続いて、ステップS57〜S60において、証明装置30は、i=1からkまで、iを1ずつインクリメントしながらループ処理を実行する。ループ処理内のステップS58において、証明装置30は、巡回群Zからランダムに2つの検証値a,bを選択する。
続いて、ステップS59において、証明装置30は、検証値bを検証値aを用いてモディファイドエルガマル暗号処理により暗号化して2つのコミットメント文A,Bを生成する。すなわち、証明装置30は、2つの検証値a,b、生成元g、および、公開鍵PKに基づき、下記の式(223)および式(224)の演算により、2つのコミットメント文A,Bを生成する。
=g^a …(223)
=g^b・PK^a …(224)
ステップS57〜S60のループ処理をi=kまで終了すると、証明装置30は、k組のコミットメント文(A,B)〜(A,B)を生成することができる。ステップS57〜S60のループ処理をi=kまで終了すると、証明装置30は、処理をステップS61に進める。
続いて、ステップS61において、証明装置30は、巡回群Zからランダムに2つの合成検証値attl,bttlを選択する。
続いて、ステップS62において、証明装置30は、合成検証値bttlを合成検証値attlを用いてモディファイドエルガマル暗号処理により暗号化して2つの合成コミットメント文Attl,Bttlを生成する。すなわち、証明装置30は、2つの合成検証値attl,bttl、生成元g、および、公開鍵PKに基づき、下記の式(225)および式(226)の演算により、2つの合成コミットメント文Attl,Bttlを生成する。
ttl=g^attl …(225)
ttl=g^bttl・PK^attl …(226)
続いて、ステップS63において、証明装置30は、k組のコミットメント文(A,B)〜(A,B)、および、1組の合成コミットメント文(Attl,Bttl)をハッシュ関数に入力して、k個のチャレンジ値e〜eおよび1個の合成チャレンジ値ettlを出力する。証明装置30は、一例として、下記の式(227)のハッシュ関数により、(2K+2)個の値から、(k+1)個の値を出力する。なお、Gは、巡回群を表す。
H:G 2K+2→Z K+1 …(227)
続いて、ステップS64〜S66において、証明装置30は、i=1からkまで、iを1ずつインクリメントしながらループ処理を実行する。ループ処理内のステップS65において、証明装置30は、2つの検証値a,b、乱数r、平文m、チャレンジ値e、および、巡回群Zの位数qに基づき、下記の式(228)および式(229)の演算により、2つのレスポンス値Z1,i,Z2,iを生成する。
1,i=(a+e・r) mod q …(228)
2,i=(b+e・m) mod q …(229)
ステップS64〜S66のループ処理をi=kまで終了すると、証明装置30は、k組のレスポンス値(Z1,1,Z2,1)〜(Z2,k,Z2,k)を生成することができる。ステップS64〜S66のループ処理をi=kまで終了すると、証明装置30は、処理をステップS67に進める。
続いて、ステップS67において、証明装置30は、k個の平文m,m,…,mの全てを、下記の式(230)に示されるように巡回群Z上で加算して合成平文mttlを生成する。これにより、証明装置30は、k個の平文m,m,…,mを準同型演算に対応する演算により合成することができる。
ttl=(m+m+…+m) mod q …(230)
これとともに、ステップS67において、証明装置30は、k個の乱数r,r,…,rの全てを、下記の式(231)に示されるように巡回群Z上で加算して合成乱数rttlを生成する。これにより、証明装置30は、k個の乱数r,r,…,rを準同型演算に対応する演算により合成することができる。
ttl=(r+r+…+r) mod q …(231)
続いて、ステップS68において、証明装置30は、合成チャレンジ値ettlと、合成平文mttlと、合成乱数rttlと、2つの合成検証値attl,bttlと、巡回群Zの位数qに基づき、下記の式(232)および式(233)の演算により、2つの合成レスポンス値Z1,ttl,Z2,ttlを生成する。
1,ttl=(attl+ettl・rttl) mod q …(232)
2,ttl=(bttl+ettl・mttl) mod q …(233)
続いて、ステップS69において、証明装置30は、k組のコミットメント文(A,B)〜(A,B)、1組の合成コミットメント文(Attl,Bttl)、k組のレスポンス値(Z1,1,Z2,1)〜(Z1,k,Z2,k)、および、1組の合成コミットメント文(Z1,ttl,Z2,ttl)を、検証装置50に送信する。
図9は、第3実施形態に係る復号装置40および検証装置50の処理フローを示す図である。
まず、ステップS81において、検証装置50は、証明装置30から、k組のコミットメント文(A,B)〜(A,B)、1組の合成コミットメント文(Attl,Bttl)、k組のレスポンス値(Z1,1,Z2,1)〜(Z1,k,Z2,k)、および、1組の合成コミットメント文(Z1,ttl,Z2,ttl)を受信する。
続いて、ステップS82において、検証装置50は、受信されたk組のコミットメント文(A,B)〜(A,B)、および、1組の合成コミットメント文(Attl,Bttl)をハッシュ関数に入力して、k個のチャレンジ値e〜eおよび1個の合成チャレンジ値ettlを出力する。ここで、検証装置50は、証明装置30で用いられたハッシュ関数と同一のハッシュ関数により、k個のチャレンジ値e〜eおよび1個の合成チャレンジ値ettlを生成する。
続いて、ステップS83〜S88において、検証装置50は、i=1からkまで、iを1ずつインクリメントしながらループ処理を実行する。
ループ処理内のステップS84において、検証装置50は、レスポンス値Z2,iをレスポンス値Z1,iを用いてモディファイドエルガマル暗号処理により暗号化して第1左辺暗号文および第2左辺暗号文を生成する。すなわち、検証装置50は、2つのレスポンス値Z1,i,Z2,i、生成元g、および、公開鍵PKに基づき、下記の式(234)および式(235)の演算により、第1左辺暗号文および第2左辺暗号文を生成する。
第1左辺暗号文=g^Z1,i …(234)
第2左辺暗号文=g^Z2,i・PK^Z1,i …(235)
続いて、ステップS85において、検証装置50は、チャレンジ値eと対象暗号文C1,iとコミットメント文Aとを、下記の式(236)の準同型演算により合成して第1右辺暗号文を生成する。また、検証装置50は、チャレンジ値eと対象暗号文C2,iとコミットメント文B,iとを、下記の式(237)の準同型演算により合成して第2右辺暗号文を生成する。
第1右辺暗号文=A・C1,i^e …(236)
第2右辺暗号文=B・C2,i^e …(237)
続いて、ステップS86において、検証装置50は、下記の式(238)を演算する。
=(第1左辺暗号文==第1右辺暗号文)∧(第2左辺暗号文==第2右辺暗号文)
=(g^Z1,i==A・C1,i^e)∧(g^Z2,i・PK^Z1,i==B・C2,i^e) …(238)
続いて、ステップS87において、検証装置50は、Xがtrueであるか否かを判定する。Xがtrueの場合(ステップS87のYes)、検証装置50は、処理をステップS88に進める。Xがfalseの場合(ステップS87のNo)、検証装置50は、ループ処理を抜けて、本フローを終了する。
ステップS83〜S88のループ処理をi=kまで終了すると、検証装置50は、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)のそれぞれが正当であると検証することができる。ステップS83〜S88のループ処理をi=kまで終了すると、検証装置50は、処理をステップS89に進める。
続いて、ステップS89において、検証装置50は、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)を下記の式(239)および式(240)に示されるように巡回群G上で乗算して、合成対象暗号文(C1,ttl,C2,ttl)を生成する。
1,ttl=(C1,1・C1,2・…・C1,k) over G …(239)
2,ttl=(C2,1・C2,2・…・C2,k) over G …(240)
なお、式(239)および式(240)において、Gは、対象暗号文を元とする巡回群を表す。また、(x・y over G)は、巡回群G上での乗算を表す。
検証装置50は、式(239)および式(240)の演算を実行することにより、k組の対象暗号文(C1,1,C2,1)〜(C1,k,C2,k)を準同型演算により合成することができる。
続いて、ステップS90において、検証装置50は、合成レスポンス値Z2,ttlを合成レスポンス値Z1,ttlを用いてモディファイドエルガマル暗号処理により暗号化して第1左辺暗号文および第2左辺暗号文を生成する。すなわち、検証装置50は、2つの合成レスポンス値Z1,ttl,Z2,ttl、生成元g、および、公開鍵PKに基づき、下記の式(241)および式(242)の演算により、第1左辺暗号文および第2左辺暗号文を生成する。
第1左辺暗号文=g^Z1,ttl …(241)
第2左辺暗号文=g^Z2,ttl・PK^Z1,ttl …(242)
続いて、ステップS91において、検証装置50は、合成チャレンジ値ettlと合成対象暗号文C1,ttlと合成コミットメント文Attlとを、下記の式(243)の準同型演算により合成して第1右辺暗号文を生成する。また、検証装置50は、合成チャレンジ値ettlと合成対象暗号文C2,ttlと合成コミットメント文Bttlとを、下記の式(244)の準同型演算により合成して第2右辺暗号文を生成する。
第1右辺暗号文=Attl・C1,ttl^ettl …(243)
第2右辺暗号文=Bttl・C2,ttl^ettl …(244)
続いて、ステップS92において、検証装置50は、下記の式(245)を演算する。
ttl=(第1左辺暗号文==第1右辺暗号文)∧(第2左辺暗号文==第2右辺暗号文)
=(g^Z1,ttl==Attl・C1,ttl^ettl)∧(g^Z2,ttl・PK^Z1,ttl==Bttl・C2,ttl^ettl) …(245)
続いて、ステップS93において、検証装置50は、Xttlがtrueであるか否かを判定する。Xttlがtrueの場合(ステップS93のYes)、検証装置50は、処理をステップS94に進める。Xttlがfalseの場合(ステップS93のNo)、検証装置50は、ループ処理を抜けて、本フローを終了する。
続いて、ステップS94〜S96において、復号装置40は、i=1からkまで、iを1ずつインクリメントしながらループ処理を実行する。ループ処理内のステップS95において、復号装置40は、暗号化装置20から受信した対象暗号文C1,i,C2,iを復号して、平文mを出力する。
ステップS94〜S96のループ処理をi=kまで終了すると、復号装置40は、k個の平文m〜mを出力することができる。ステップS94〜S96のループ処理をi=kまで終了すると、復号装置40は、本フローを終了する。
以上のように第3実施形態に係る暗号処理システム10によれば、複数の対象暗号文のそれぞれが正当であるか否かを検証することができる。暗号処理システム10によれば、複数の対象暗号文のそれぞれを個別に検証するとともに、複数の対象暗号文を合成して検証するので、より確実に検証をすることができる。
また、第3実施形態において、証明装置30は、複数のコミットメント生成部61−1〜61−kおよび複数のレスポンス生成部62−1〜62−kを備えない構成であってもよい。すなわち、証明装置30は、合成コミットメント生成部91と、合成レスポンス生成部92と、証明側チャレンジ生成部71とを備える構成であってもよい。
そして、この場合、検証装置50は、複数の取得部64−1〜64−kおよび複数の検証部65−1〜65−kを備えない構成であってもよい。すなわち、検証装置50は、合成取得部93と、合成検証部94と、検証側チャレンジ生成部72とを備える構成であってもよい。
これにより、証明装置30および検証装置50は、複数の対象暗号文のそれぞれを個別に検証しないでよいので、構成を非常に簡易にすることができる。
第3の実施形態では、k個のチャレンジ値e,e,…,eおよび1個の合成チャレンジ値ettlは、相異なる値としているが、全て同一の値であってもよい。すなわち、証明側チャレンジ生成部71は、k組のコミットメント文(A,B)〜(A,B)、および、合成コミットメント生成部91から出力された1組の合成コミットメント文(Attl,Bttl)を受け取ると、1個のチャレンジ値eを出力し、それをレスポンス生成部62−1〜62−kと合成レスポンス生成部92に出力する。また、検証側チャレンジ生成部72は、k個の取得部64−1〜64−kにより受信されたk組のコミットメント文(A,B)〜(A,B)、および、合成取得部93により受信された1組の合成コミットメント文(Attl,Bttl)を受け取ると、(2k+2)個のコミットメント文をハッシュ関数に入力して、1個のチャレンジ値eを、検証部65−1から65−kと合成検証部94に出力する。このように構成することで、証明側チャレンジ生成部71および検証側チャレンジ生成部72が生成すべきチャレンジのビット長を削減することができる。
図10は、第1〜第3実施形態に係る出力装置11および入力装置12のハードウェア構成の一例を示す図である。第1〜第3実施形態に係る出力装置11および入力装置12は、CPU(Central Processing Unit)101などの制御装置と、ROM(Read Only Memory)102やRAM(Random Access Memory)103などの記憶装置と、ネットワークに接続して通信を行う通信I/F104と、各部を接続するバスを備えている。
実施形態にかかる出力装置11および入力装置12で実行されるプログラムは、ROM102等に予め組み込まれて提供される。
実施形態にかかる出力装置11および入力装置12で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
さらに、実施形態にかかる出力装置11および入力装置12で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、実施形態にかかる出力装置11および入力装置12で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
実施形態にかかる出力装置11で実行されるプログラムは、コンピュータを上述した出力装置11の各部(コミットメント生成部61,61−1〜61−k、レスポンス生成部62,62−1〜62−k、証明側チャレンジ生成部71、暗号化部81−1〜81−k、合成コミットメント生成部91、および、合成レスポンス生成部92)として機能させうる。なお、これらの各部は、一部または全部がハードウェアにより構成されていてもよい。
また、実施形態にかかる入力装置12で実行されるプログラムは、コンピュータを上述した入力装置12の各部(チャレンジ生成部63、取得部64,64−1〜64−k、検証部65,65−1〜65−k、検証側チャレンジ生成部72、復号部82−1〜82−k、合成取得部93、合成検証部94)として機能させうる。なお、これらの各部は、一部または全部がハードウェアにより構成されていてもよい。このコンピュータは、CPU101がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
10 暗号処理システム
11 出力装置
12 入力装置
20 暗号化装置
30 証明装置
40 復号装置
50 検証装置
61 コミットメント生成部
62 レスポンス生成部
63 チャレンジ生成部
64 取得部
65 検証部
71 証明側チャレンジ生成部
72 検証側チャレンジ生成部
81 暗号化部
82 復号部
83 決定部
91 合成コミットメント生成部
92 合成レスポンス生成部
93 合成取得部
94 合成検証部
101 CPU
102 ROM
103 RAM
104 通信I/F

Claims (24)

  1. 準同型暗号処理により平文を暗号化した対象暗号文が正当であることを証明する証明装置であって、
    ランダムに選択された検証値からコミットメント文を生成して、前記対象暗号文が正当であることを検証する検証装置へと送信するコミットメント生成部と、
    取得したチャレンジ値と前記平文と前記検証値とを合成したレスポンス値を生成して、前記検証装置へと送信するレスポンス生成部と、
    を備え、
    前記レスポンス生成部は、レスポンス値を用いた第一の演算の結果が、前記チャレンジ値と前記対象暗号文と前記コミットメント文とを第二の演算で処理した結果と同一となる第三の演算により、前記レスポンス値を生成する
    証明装置。
  2. 前記コミットメント生成部は、前記検証値を前記準同型暗号処理により暗号化したコミットメント文を生成して、前記検証装置へと送信し、
    前記レスポンス生成部は、演算結果を前記準同型暗号処理により暗号化した暗号文が、前記チャレンジ値と前記対象暗号文と前記コミットメント文とを予め定められた準同型演算により合成した暗号文と同一となる演算により、前記レスポンス値を生成する
    請求項1に記載の証明装置。
  3. 前記コミットメント文をハッシュ関数に入力して前記チャレンジ値を生成する証明側チャレンジ生成部をさらに備える
    請求項1または2に記載の証明装置。
  4. 前記準同型暗号処理は、モディファイドエルガマル暗号処理である
    請求項1から3の何れか一項に記載の証明装置。
  5. 前記コミットメント生成部は、2つの検証値a、bと、前記モディファイドエルガマル暗号処理で用いる公開鍵PKおよび巡回群の生成元gとに基づき、下記式(11)および下記式(12)で表される2つのコミットメント文A、Bを生成し
    A=g …(11)
    B=g・PK …(12)
    前記レスポンス生成部は、前記対象暗号文の生成に用いた乱数rおよび平文mと、チャレンジ値eと、前記モディファイドエルガマル暗号処理で用いる位数qとに基づき、下記式(13)および下記式(14)で表される2つのレスポンス値Z、Zを生成する
    =(a+e・r) mod q …(13)
    =(b+e・m) mod q …(14)
    請求項4に記載の証明装置。
  6. 前記証明装置は、同一の前記準同型暗号処理により複数の平文を暗号化した複数の対象暗号文が正当であることを証明するものであって、
    ランダムに選択された合成検証値を前記準同型暗号処理により暗号化した合成コミットメント文を生成して、前記検証装置へと送信する合成コミットメント生成部と、
    取得した合成チャレンジ値と前記複数の平文と前記合成検証値とを合成した合成レスポンス値を生成して、前記検証装置へと送信する合成レスポンス生成部と、
    をさらに備え、
    前記合成レスポンス生成部は、演算結果を前記準同型暗号処理により暗号化した暗号文が、前記合成チャレンジ値と前記複数の対象暗号文と前記合成コミットメント文とを予め定められた準同型演算により合成した暗号文と同一となる演算により、前記合成レスポンス値を生成する
    請求項1から5の何れか一項に記載の証明装置。
  7. 前記準同型暗号処理が、モディファイドエルガマル暗号処理である場合、
    前記コミットメント生成部は、2つの合成検証値attl、bttlと、前記モディファイドエルガマル暗号処理で用いる公開鍵PKおよび巡回群の生成元gとに基づき、下記式(21)および下記式(22)で表される2つの合成コミットメント文Attl、Bttlを生成し、
    ttl=g^attl …(21)
    ttl=g^bttl・PK^attl …(22)
    前記合成レスポンス生成部は、前記複数の対象暗号文の生成に用いたk個(kは2以上の整数)の乱数r,r,…,rおよびk個の平文m,m,…,mと、合成チャレンジ値ettlと、前記モディファイドエルガマル暗号処理で用いる位数qとに基づき、下記式(23)および下記式(24)で表される2つの合成レスポンス値Z1,ttl、Z2,ttlを生成する
    1,ttl=attl+ettl・((r+r+…+r) mod q)) mod q …(23)
    2,ttl=bttl+ettl・((m+m+…+m) mod q)) mod q …(24)
    請求項6に記載の証明装置。
  8. 前記証明装置は、
    前記複数の対象暗号文のそれぞれに対応する、複数の前記コミットメント生成部と、
    前記複数の対象暗号文のそれぞれに対応する、複数の前記レスポンス生成部と、
    を備える請求項6または7に記載の証明装置。
  9. 準同型暗号処理により平文を暗号化した対象暗号文を生成する暗号化装置と、
    前記暗号化装置により生成した前記対象暗号文が正当であることを証明する、請求項1から8の何れか一項に記載の証明装置と、
    を備える出力装置。
  10. 準同型暗号処理により平文を暗号化した対象暗号文が正当であることを検証する検証装置であって、
    前記対象暗号文が正当であることを証明する証明装置から、ランダムに選択された検証値から生成されたコミットメント文、および、取得したチャレンジ値と前記平文と前記検証値とを合成したレスポンス値を取得する取得部と、
    前記レスポンス値を第一の演算により演算した結果と、前記チャレンジ値と前記対象暗号文と前記コミットメント文とを第二の演算により演算した結果とが一致した場合に、前記対象暗号文が正当であると判定する検証部と、
    を備え、
    前記レスポンス値が予め定められた手順で生成されていた場合に、前記第一の演算の結果と前記第二の演算の結果とは同一となる
    検証装置。
  11. 前記取得部は、前記証明装置から前記検証値を前記準同型暗号処理により暗号化した前記コミットメント文、および、前記レスポンス値を取得し、
    前記検証部は、前記レスポンス値を前記準同型暗号処理により暗号化した暗号文と、前記チャレンジ値と前記対象暗号文と前記コミットメント文とを予め定められた準同型演算により合成した暗号文とが一致した場合に、前記対象暗号文が正当であると判定し、
    前記検証部は、前記レスポンス値が予め定められた手順で生成されていた場合に、前記レスポンス値を前記準同型暗号処理により暗号化した暗号文と演算結果が同一となる準同型演算により、前記チャレンジ値と前記対象暗号文と前記コミットメント文とを合成する
    請求項10に記載の検証装置。
  12. 前記コミットメント文をハッシュ関数に入力して前記チャレンジ値を生成する検証側チャレンジ生成部をさらに備える
    請求項10または11に記載の検証装置。
  13. 前記準同型暗号処理は、モディファイドエルガマル暗号処理である
    請求項10から12の何れか一項に記載の検証装置。
  14. 前記取得部は、2つの検証値a、bと、前記モディファイドエルガマル暗号処理で用いる公開鍵PKおよび巡回群の生成元gとに基づく、下記式(31)および下記式(32)で表される2つのコミットメント文A、Bを取得し、
    A=g …(31)
    B=g・PK …(32)
    さらに、前記取得部は、前記対象暗号文の生成に用いた乱数rおよび平文mと、チャレンジ値eと、前記モディファイドエルガマル暗号処理で用いる位数qとに基づく、下記式(33)および下記式(34)で表される2つのレスポンス値Z、Zを取得する
    =(a+e・r) mod q …(33)
    =(b+e・m) mod q …(34)
    請求項13に記載の検証装置。
  15. 前記対象暗号文を下記式(35)および式(36)で表されるCおよびCとした場合、
    =g …(35)
    =g・PK …(36)
    前記検証部は、下記式(37)が真の場合に、前記対象暗号文が正当であると判定する
    (g^Z==A・C )∧(g^Z・PK^Z==B・C ) …(37)
    請求項14に記載の検証装置。
  16. 前記検証装置は、同一の準同型暗号処理により複数の平文を暗号化した複数の対象暗号文が正当であることを検証するものであって、
    前記証明装置から、ランダムに選択された合成検証値を前記準同型暗号処理により暗号化した合成コミットメント文、および、取得した合成チャレンジ値と前記複数の平文と前記合成検証値とを合成した合成レスポンス値を取得する合成取得部と、
    前記合成レスポンス値を前記準同型暗号処理により暗号化した暗号文と、前記合成チャレンジ値と前記複数の対象暗号文と前記合成コミットメント文とを予め定められた準同型演算により合成した暗号文とが一致した場合に、前記複数の対象暗号文が正当であると判定する合成検証部と、
    を備え、
    前記合成検証部は、前記合成レスポンス値を前記準同型暗号処理により暗号化した暗号文と演算結果が同一となる準同型演算により、前記合成チャレンジ値と前記複数の対象暗号文と前記合成コミットメント文と合成する
    請求項10から15の何れか一項に記載の検証装置。
  17. 前記準同型暗号処理が、モディファイドエルガマル暗号処理である場合、
    前記合成取得部は、2つの合成検証値attl、bttlと、前記モディファイドエルガマル暗号処理で用いる公開鍵PKおよび巡回群の生成元gとに基づく、下記式(41)および下記式(42)で表される2つの合成コミットメント文Attl、Bttlを取得し、
    ttl=g^attl …(41)
    ttl=g^bttl・PK^attl …(42)
    さらに、前記合成取得部は、前記複数の対象暗号文の生成に用いたk個(kは2以上の整数)の乱数r,r,…,rおよびk個の平文m,m,…,mと、合成チャレンジ値ettlと、前記モディファイドエルガマル暗号処理で用いる位数qとに基づく、下記式(43)および下記式(44)で表される2つの合成レスポンス値Z1,ttl、Z2,ttlを取得する
    1,ttl=attl+ettl・((r+r+…+r) mod q)) mod q …(43)
    2,ttl=bttl+ettl・((m+m+…+m) mod q)) mod q …(44)
    請求項16に記載の検証装置。
  18. 対象暗号文を下記式(45)および式(46)で表されるC1,iおよびC2,iとした場合(iは1以上k以下の整数)、
    1,i=g^r …(45)
    2,i=g^m・PK^r …(46)
    前記検証部は、下記式(47)が真の場合に、前記複数の対象暗号文が正当であると判定する
    (g^Z1,ttl==Attl・(C1,1・C1,2・…・C1,kttl)∧(g^Z2,ttl・PK^Z1,ttl==Bttl・(C2,1・C2,2・…・C2,kttl) …(47)
    請求項17に記載の検証装置。
  19. 前記検証装置は、
    前記複数の対象暗号文のそれぞれに対応する、複数の前記取得部と、
    前記複数の対象暗号文のそれぞれに対応する、複数の前記検証部と、
    を備える請求項16から18の何れか一項に記載の検証装置。
  20. 準同型暗号処理により平文を暗号化した対象暗号文を復号する復号装置と、
    前記復号装置により復号される前記対象暗号文が正当であることを検証する、請求項10から19の何れか一項に記載の検証装置と、
    を備え、
    前記復号装置は、前記検証装置により前記対象暗号文が正当であると判定されたことを条件として、前記対象暗号文を復号する
    入力装置。
  21. 準同型暗号処理により平文を暗号化した対象暗号文が正当であることを証明する証明方法であって、
    ランダムに選択された検証値からコミットメント文を生成して、前記対象暗号文が正当であることを検証する検証装置へと送信するコミットメント生成ステップと、
    取得したチャレンジ値と前記平文と前記検証値とを合成したレスポンス値を生成して、前記検証装置へと送信するレスポンス生成ステップと、
    を含み、
    前記レスポンス生成ステップでは、レスポンス値を用いた第一の演算の結果が、前記チャレンジ値と前記対象暗号文と前記コミットメント文とを第二の演算で処理した結果と同一となる第三の演算により、前記レスポンス値を生成する
    証明方法。
  22. 準同型暗号処理により平文を暗号化した対象暗号文が正当であることを検証する検証方法であって、
    前記対象暗号文が正当であることを証明する証明装置から、ランダムに選択された検証値から生成されたコミットメント文、および、取得したチャレンジ値と前記平文と前記検証値とを合成したレスポンス値を取得する取得ステップと、
    前記レスポンス値を第一の演算により演算した結果と、前記チャレンジ値と前記対象暗号文と前記コミットメント文とを第二の演算により演算した結果とが一致した場合に、前記対象暗号文が正当であると判定する検証ステップと、
    を含み、
    前記レスポンス値が予め定められた手順で生成されていた場合に、前記第一の演算の結果と前記第二の演算の結果とは同一となる
    検証方法。
  23. コンピュータを、準同型暗号処理により平文を暗号化した対象暗号文が正当であることを証明する証明装置として機能させるためのプログラムであって、
    前記コンピュータを、
    ランダムに選択された検証値からコミットメント文を生成して、前記対象暗号文が正当であることを検証する検証装置へと送信するコミットメント生成部と、
    取得したチャレンジ値と前記平文と前記検証値とを合成したレスポンス値を生成して、前記検証装置へと送信するレスポンス生成部と、
    して機能させ、
    前記レスポンス生成部は、レスポンス値を用いた第一の演算の結果が、前記チャレンジ値と前記対象暗号文と前記コミットメント文とを第二の演算で処理した結果と同一となる第三の演算により、前記レスポンス値を生成する
    プログラム。
  24. コンピュータを、準同型暗号処理により平文を暗号化した対象暗号文が正当であることを検証する検証装置として機能させるためのプログラムであって、
    前記コンピュータを、
    前記対象暗号文が正当であることを証明する証明装置から、ランダムに選択された検証値から生成されたコミットメント文、および、取得したチャレンジ値と前記平文と前記検証値とを合成したレスポンス値を取得する取得部と、
    前記レスポンス値を第一の演算により演算した結果と、前記チャレンジ値と前記対象暗号文と前記コミットメント文とを第二の演算により演算した結果とが一致した場合に、前記対象暗号文が正当であると判定する検証部と、
    して機能させ、
    前記レスポンス値が予め定められた手順で生成されていた場合に、前記第一の演算の結果と前記第二の演算の結果とは同一となる
    プログラム。
JP2013098817A 2013-05-08 2013-05-08 証明装置、出力装置、検証装置、入力装置、証明方法、検証方法およびプログラム Pending JP2014220661A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013098817A JP2014220661A (ja) 2013-05-08 2013-05-08 証明装置、出力装置、検証装置、入力装置、証明方法、検証方法およびプログラム
US14/200,406 US9509492B2 (en) 2013-05-08 2014-03-07 Authentication device, output device, verification device and input device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013098817A JP2014220661A (ja) 2013-05-08 2013-05-08 証明装置、出力装置、検証装置、入力装置、証明方法、検証方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2014220661A true JP2014220661A (ja) 2014-11-20

Family

ID=51864797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013098817A Pending JP2014220661A (ja) 2013-05-08 2013-05-08 証明装置、出力装置、検証装置、入力装置、証明方法、検証方法およびプログラム

Country Status (2)

Country Link
US (1) US9509492B2 (ja)
JP (1) JP2014220661A (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9565022B1 (en) 2013-07-02 2017-02-07 Impinj, Inc. RFID tags with dynamic key replacement
US10778680B2 (en) * 2013-08-02 2020-09-15 Alibaba Group Holding Limited Method and apparatus for accessing website
MA40917A (fr) 2014-11-03 2017-09-12 Micali Silvio Prévention de la contrefaçon
KR102423885B1 (ko) 2015-05-08 2022-07-21 한국전자통신연구원 연산 에러 검출이 가능한 준동형 암호 방법 및 그 시스템
CN107852323A (zh) * 2015-07-31 2018-03-27 西尔维奥·米卡利 伪造品防止
CN109564536A (zh) 2016-08-08 2019-04-02 西尔维奥·米卡利 伪造品防止
US10333715B2 (en) * 2016-11-14 2019-06-25 International Business Machines Corporation Providing computation services with privacy
US10742413B2 (en) * 2017-04-25 2020-08-11 International Business Machines Corporation Flexible verifiable encryption from lattices
US11741332B2 (en) 2017-04-27 2023-08-29 Silvio Micali Securing cryptographic keys
KR101809974B1 (ko) * 2017-05-22 2017-12-19 주식회사 에프엔에스벨류 다중 사용자의 인증요소를 조합하여 보안키를 생성하는 보안인증시스템 및 보안인증방법
KR101809976B1 (ko) * 2017-05-22 2017-12-18 전승주 다중 사용자의 인증요소를 조합하여 보안키를 생성하는 보안인증방법
CN107682150B (zh) * 2017-10-27 2020-03-10 武汉大学 一种适用于计算资源非对称领域的共享密钥建立方法
US11316835B2 (en) 2018-06-25 2022-04-26 Virtual Software Systems, Inc. Systems and methods for securing communications
CN109359971B (zh) 2018-08-06 2020-05-05 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
CN109165581A (zh) * 2018-08-09 2019-01-08 广州洪荒智能科技有限公司 一种基于同态加密的隐私保护人脸识别方法
CN109359974B (zh) * 2018-08-30 2020-10-30 创新先进技术有限公司 区块链交易方法及装置、电子设备
JP6871380B2 (ja) 2018-12-29 2021-05-12 アドバンスド ニュー テクノロジーズ カンパニー リミテッド 情報保護のシステム及び方法
CN110912713B (zh) * 2019-12-20 2023-06-23 支付宝(杭州)信息技术有限公司 多方联合进行模型数据处理的方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4181724B2 (ja) * 2000-03-03 2008-11-19 日本電気株式会社 証明付再暗号シャッフル方法と装置、再暗号シャッフル検証方法と装置、入力文列生成方法と装置及び記録媒体
US7725730B2 (en) * 2002-08-09 2010-05-25 Emc Corporation Cryptographic methods and apparatus for secure authentication
JP4771053B2 (ja) * 2005-05-27 2011-09-14 日本電気株式会社 統合シャッフル正当性証明装置、証明統合装置、統合シャッフル正当性検証装置及びミックスネットシステム
JP5790286B2 (ja) * 2011-08-12 2015-10-07 ソニー株式会社 情報処理装置、署名生成装置、情報処理方法、署名生成方法、及びプログラム

Also Published As

Publication number Publication date
US9509492B2 (en) 2016-11-29
US20140334622A1 (en) 2014-11-13

Similar Documents

Publication Publication Date Title
JP2014220661A (ja) 証明装置、出力装置、検証装置、入力装置、証明方法、検証方法およびプログラム
CN111106936B (zh) 一种基于sm9的属性加密方法与系统
CN111740828B (zh) 一种密钥生成方法以及装置、设备、加解密方法
CN107948189B (zh) 非对称密码身份鉴别方法、装置、计算机设备及存储介质
CN113259329B (zh) 一种数据不经意传输方法、装置、电子设备及存储介质
JP4981072B2 (ja) 復号可能かつ検索可能な暗号化のための方法およびシステム
US9698984B2 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
US20140098960A1 (en) Ciphertext Processing Method, Apparatus, and System
US20060083370A1 (en) RSA with personalized secret
RU2005104945A (ru) Эффективное шифрование и аутентификация для систем обработки данных
CN112564907B (zh) 密钥生成方法及装置、加密方法及装置、解密方法及装置
KR101516114B1 (ko) 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템
KR20110090602A (ko) 인증서버 없이 공개키를 인증하는 방법 및 장치
JP2012150378A (ja) プロキシ再暗号化システム、鍵生成装置、再暗号化装置、プロキシ再暗号化方法、プログラム
JPWO2014010202A1 (ja) 暗号化統計処理システム、復号システム、鍵生成装置、プロキシ装置、暗号化統計データ生成装置、暗号化統計処理方法、および、暗号化統計処理プログラム
JP5324813B2 (ja) 鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラム
JP6368047B2 (ja) 鍵交換方法、鍵交換システム、鍵配送装置、代表通信装置、一般通信装置、およびプログラム
WO2010013699A1 (ja) 署名システム
KR20040009766A (ko) 암호 시스템에서 송수신 장치 및 방법
JP5434925B2 (ja) 多者分散乗算装置、多者分散乗算システム及び方法
JP5679344B2 (ja) 署名鍵難読化システム、署名鍵難読化方法、難読化された署名鍵を用いた暗号化署名システム、難読化された署名鍵を用いた暗号化署名方法とプログラム
WO2010013571A2 (ja) グループ署名システム及び方法
WO2021009860A1 (ja) 暗号システム、関数値計算方法及びプログラム
JPWO2021009860A5 (ja)
JP5912281B2 (ja) 復号結果検証装置、方法、システム及びプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20151102