(57)【要約】本発明は、受信者の公開鍵自体ではなく、その公開鍵のエイリアスを暗号化することによって、従来技術グループ暗号化スキームを改善する。グループ管理者は、エイリアスの暗号、対応する公開鍵、および対応する証明書を公開データベースＤＢ上で公開する。エイリアスは、公開鍵に対して適切に選定された関数ｆの結果として得られる値であり、公開鍵のハッシュと見なされ得る。これは、エイリアスは公開鍵より小さくすることができるので、結果として生じる構造のサイズおよびコストの著しい減少を可能にすることができる。具体的には、受信者の公開鍵内にグループ要素があるのと同じ回数、第２の暗号化スキームを適用する必要がない。
2015501110.tif 000002
【特許請求の範囲】
【請求項１】
暗号文ｃを取得するために公開鍵ｐｋを用いて受信者のためのタグｔに関して平文ｍをグループ暗号化する方法であって、前記方法は、デバイス（１１０）において、
−  署名する鍵ＯＴＳ．ｓｋおよび検証する鍵ＯＴＳ．ｖｋを取得するステップと、
−  ｃ１＝Ｅ１．Ｅｎｃｒｙｐｔ｛ｐｋ｝（ｍ，ＯＴＳ．ｖｋ）およびｃ２＝Ｅ２．Ｅｎｃｒｙｐｔ｛ｐｋＯＡ｝（ｆ（ｐｋ），ＯＴＳ．ｖｋ）を計算することによって、第１の暗号化された値ｃ１および第２の暗号化された値ｃ２を作成するステップであって、Ｅ１が第１の暗号化アルゴリズムであり、Ｅ２が第２の暗号化アルゴリズムであり、ｆがマッピング関数である、ステップと、
−  ｓ＝ＯＴＳ．Ｓｉｇｎ｛ＯＴＳ．ｓｋ｝（ｃ１，ｃ２，ｔ）を計算することによって、前記署名する鍵ＯＴＳ．ｓｋを使用して、前記第１の暗号化された値ｃ１、前記第２の暗号化された値ｃ２、および前記タグｔに対する署名ｓを作成するステップであって、ＯＴＳ．Ｓｉｇｎが署名アルゴリズムである、ステップと、
−  前記暗号文ｃを出力するステップであって、前記暗号文ｃは、前記第１の暗号化された値ｃ１、前記第２の暗号化された値ｃ２、前記検証する鍵ＯＴＳ．ｖｋ、および前記署名ｓを含む、ステップと、
を含む、前記方法。
【請求項２】
メッセージｍが公的に検証可能な関係Ｒを満たす、請求項１に記載の方法。
【請求項３】
第１の暗号化された値ｃ１、第２の暗号化された値ｃ２、検証する鍵ＯＴＳ．ｖｋ、および署名ｓを含むグループ暗号ｃを復号化する方法であって、前記署名ｓが、前記第１の暗号化された値ｃ１、前記第２の暗号化された値ｃ２、およびタグｔに対するものであり、前記方法が、デバイス（１２０）において、
−  前記グループ暗号ｃを受信するステップと、
−  検証する鍵ＯＴＳ．ｖｋに関して前記署名ｓを検証するステップと、
−  前記署名ｓが正常に検証された場合、復号アルゴリズムＥ１および前記検証する鍵ＯＴＳ．ｖｋを使用して、前記第１の暗号化された値ｃ１を復号化するステップと、
を含む、前記方法。
【請求項４】
前記署名検証ステップが、前記第１の暗号化された値ｃ１の復号が公開関係Ｒを満たすことを検証するステップをさらに含む、請求項３に記載の方法。
【請求項５】
暗号文ｃを取得するために公開鍵ｐｋを用いた受信者のためのタグｔに関する平文ｍのグループ暗号化のためのデバイス（１１０）であって、
−  署名する鍵ＯＴＳ．ｓｋおよび検証する鍵ＯＴＳ．ｖｋを取得し、
−  ｃ１＝Ｅ１．Ｅｎｃｒｙｐｔ｛ｐｋ｝（ｍ，ＯＴＳ．ｖｋ）およびｃ２＝Ｅ２．Ｅｎｃｒｙｐｔ｛ｐｋＯＡ｝（ｆ（ｐｋ），ＯＴＳ．ｖｋ）を計算することによって、第１の暗号化された値ｃ１および第２の暗号化された値ｃ２を作成し、Ｅ１が第１の暗号化アルゴリズムであり、Ｅ２が第２の暗号化アルゴリズムであり、ｆがマッピング関数であり、
−  ｓ＝ＯＴＳ．Ｓｉｇｎ｛ＯＴＳ．ｓｋ｝（ｃ１，ｃ２，ｔ）を計算することによって、前記署名する鍵ＯＴＳ．ｓｋを使用して前記第１の暗号化された値ｃ１、前記第２の暗号化された値ｃ２、および前記タグｔに対する署名ｓを作成し、ＯＴＳ．Ｓｉｇｎが署名アルゴリズムであり、
−  前記暗号文ｃを出力し、前記暗号文ｃは、前記第１の暗号化された値ｃ１、前記第２の暗号化された値ｃ２、前記検証する鍵ＯＴＳ．ｖｋ、および前記署名ｓを含む、
ように構成されたプロセッサー（１１２）を備える、前記デバイス（１１０）。
【請求項６】
メッセージｍが、公的に検証可能な関係Ｒを満たす、請求項５に記載のデバイス。
【請求項７】
第１の暗号化された値ｃ１、第２の暗号化された値ｃ２、検証する鍵ＯＴＳ．ｖｋ、および署名ｓを含み、前記署名ｓが、前記第１の暗号化された値ｃ１、前記第２の暗号化された値ｃ２、およびタグｔに対するものである、グループ暗号ｃを復号化するデバイス（１２０）であって、
−  前記グループ暗号ｃを受信し、
−  検証する鍵ＯＴＳ.ｖｋに対して前記署名ｓを検証し、
−  前記署名ｓが正常に検証された場合、復号アルゴリズムＥ１および前記検証する鍵ＯＴＳ．ｖｋを使用して、前記第１の暗号化された値ｃ１を復号化する、
ように構成されたプロセッサー（１２２）を備える、前記デバイス（１２０）。
【請求項８】
前記プロセッサーが、前記第１の暗号化された値ｃ１の復号が公開関係Ｒを満たすことを検証するようにさらに構成される、請求項７に記載のデバイス。
【請求項９】
プロセッサーによって実行されるとき請求項１または２の前記方法を実行する命令を格納したコンピュータプログラム製品（１１４）。
【請求項１０】
プロセッサーによって実行されるとき請求項３または４の前記方法を実行する命令を格納したコンピュータプログラム製品（１２４）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に暗号化に関し、詳細にはグループ暗号化に関する。
【背景技術】
【０００２】
本項は、以下で説明および／または特許請求する本発明の様々な特徴に関連し得る技術の様々な特徴を読者に紹介することを意図するものである。この説明は、読者に背景情報を提供して本発明の様々な特徴のより良い理解を促進するのに有用であると考えられる。したがって、これらの記述は、この観点から読まれるべきであって、従来技術として認める（ａｄｍｉｓｓｉｏｎｓ  ｏｆ  ｐｒｉｏｒ  ａｒｔ）ものではないことを理解されたい。
【０００３】
本項では、グループ暗号化プリミティブが定義され、必要なビルディングブロック−公開鍵暗号化、タグベース暗号化、およびワンタイム署名−が提示され、グループ暗号化における現況技術が説明される。
【０００４】
グループ暗号化は、Ｋｉａｙｉａｓ−Ｔｓｉｏｕｎｉｓ−Ｙｕｎｇによってグループ署名の暗号化に類似したものとして発表された（例えば、非特許文献１参照。）。グループ暗号化は、正当なユーザのグループ内の受信者（復号者）を隠匿することが望ましい状況で有用である。
【０００５】
説明に役立つ例は、送信される広告にプロファイルが適合する加入顧客に特定の広告を送信することを希望するネットワークサービスプロバイダ（ＮＳＰ）である。同時に、ＮＳＰは、そのクライアント、すなわちＮＳＰに広告送信の代金を支払う企業に対して、受信者の正確な識別情報を秘密にしながら、問題の広告を彼の加入者のグループ内に実際に送信したことを証明することを希望する。広告の受信者のプライバシーは、ＮＳＰの加入者のグループ内でも保護されるべきである。
【０００６】
グループ暗号化は、送信者（この例ではＮＳＰ）がターゲットにされたユーザのためにメッセージ（広告）を暗号化することを可能にし、さらに、形成された暗号文が有効であること（例えば、対応する平文が何らかの関係を満たすこと）、および加入者のグループのある匿名のメンバが復号可能であることを検証者が確認することを可能にするので、この問題の信頼できそうな解決策となる。グループ暗号化はまた、指定されたオーソリティによる争議の場合に、暗号文をオープンし受信者の識別情報を復元する機能をサポートする。
【０００７】
より正式には、グループ暗号化（ＧＥ）スキームは、グループメンバを登録するグループ管理者（ＧＭ）と、対応する暗号文から受信者の識別情報を復元可能なオープニングオーソリティ（ＯＡ：Opening Authority）を必要とする。
【０００８】
ＧＥスキームの基礎となる主なプロシージャは、次の通りである。
・Ｊｏｉｎ。ＧＭと潜在的なグループメンバとの間の対話型プロトコル。ＧＭは、グループメンバの公開鍵ｐｋｉに対して、証明書ｃｅｒｔｉを発行する。ＧＭはさらに、このペア（ｐｋｉ，ｃｅｒｔｉ）を公開データベースＤＢに格納する。
・Ｅｎｃｒｙｐｔ。暗号化のコンテキストを指定するバイナリー文字列である入力タグｔに関して、ターゲットにされたグループメンバの公開鍵ｐｋに基づいて、入力メッセージｍでの暗号文ｃを生成する。偽のメッセージを送信することを防止するために、暗号化されるメッセージｍが、何らかのアプリオリな関係を満たすことが必要とされる。ｍは関係Ｒに関する「インスタンス」ｘ（公開値）の「証（ｗｉｔｎｅｓｓ）」であり、すなわち、（ｍ，ｘ）∈Ｒである。この意味で、Ｅｎｃｒｙｐｔはまた、暗号化された証に対応するインスタンスｘを出力する。
・Ｄｅｃｒｙｐｔ。暗号文が作製された公開鍵ｐｋに対応する秘密鍵ｓｋを使用して、入力タグｔに関して入力された暗号文ｃ内の暗号化されたメッセージｍを復元する。プロシージャはさらに、復元されたメッセージが入力インスタンスｘの証である、すなわち（ｍ，ｘ）∈Ｒであるかどうか確認する。該当する場合、アルゴリズムはｍを出力し、そうでない場合、アルゴリズムはＦａｉｌを出力する。
・Ｏｐｅｎ。暗号文ｃ、タグｔ、およびＯＡの秘密鍵を入力し、暗号文を作成した公開鍵ｐｋを入力タグｔに関して復元する。
・Ｐｒｏｖｅ。暗号文を作成するエンティティから、対話型であれ非対話型であれ、証拠を任意の検証者に提供する。検証者は、問題の暗号文が有効である（例えば、基礎をなすメッセージが関係Ｒを満たす）こと、および、それが何らかの匿名の登録されたグループメンバによって復号できることを確信するべきである。
【０００９】
公開鍵暗号（ＰＫＥ）スキームは、（公開鍵，秘密鍵）という形式のペアを生成する鍵生成アルゴリズムと、受信者の公開鍵を使用して入力メッセージの暗号を生成する暗号化アルゴリズムと、入力暗号文内の暗号化されたメッセージを、適切な秘密鍵を使用して復元する復号アルゴリズムとを備える。
【００１０】
タグベース暗号化スキーム（ＴＢＥ）はさらに、暗号化と復号の両方に関して追加の引数すなわちタグを必要とする。非公式には、タグは、暗号化についての情報（日付、コンテキストなど）を指定する適切な長さのバイナリー文字列である。
【００１１】
ワンタイムディジタル署名スキームは、せいぜい１つのメッセージに署名するために使用可能である。他の場合、署名は改ざん可能である。署名されるメッセージごとに新しい公開鍵が必要とされる。それらは、「通常の」ディジタル署名のように、鍵生成アルゴリズム、署名するアルゴリズム、および検証アルゴリズムによって定義される。ワンタイム署名スキームのセキュリティは、公開鍵を仮定すれば、メッセージと対応する署名との新しい有効なペアを見つけ出す困難さに依拠する。
【００１２】
前述のＫｉａｙｉａｓ−Ｔｓｉｏｕｎｉｓ−Ｙｕｎｇによる論文は、ユーザ公開鍵の証明のためのディジタル署名スキームＳ、メッセージを暗号化するためのタグベース暗号化スキームＥ１、受信者公開鍵を暗号化するための別のタグベース暗号化スキームＥ２、並びに使用された鍵およびその証明書にコミットするためのコミットメントスキームを使用する、セキュアなグループ暗号化スキームのための汎用的な構造を提供する。より詳細には、このスキームは次のように機能する。
・Ｊｏｉｎ。ＧＭは、その秘密署名する鍵Ｓ．ｓｋを使用して、ユーザの公開鍵ｐｋに対する署名ｓ（言い換えれば証明書）を作成する。ＧＭはさらに、（ｐｋ，ｓ）を公開データベースＤＢに格納する。
・Ｅｎｃｒｙｐｔ｛ｐｋ｝（ｍ，ｔ）。タグｔに関して、公開鍵ｐｋを用いて、受信者に対してメッセージｍを（（ｍ，ｘ）∈Ｒであるように、ただしｘは公開値）暗号化するために、アリスは、
・ｐｋに対するコミットメントｃ３および証明書に対するコミットメントｃ４を作成し、
・Ｅ２．Ｅｎｃｒｙｐｔを使用して、オープニングオーソリティの公開鍵ｐｋＯＡに基づいて、タグ（ｔ，ｃ３，ｃ４）に関してｐｋを暗号化し、ｃ２という結果を取得し、
・Ｅ１．Ｅｎｃｒｙｐｔを使用して、公開鍵ｐｋに基づいて、タグ（ｔ，ｃ２，ｃ３，ｃ４）に関してｍを暗号化し、ｃ１という結果を取得し、
・ｔに関する、ｐｋに基づくｍのグループ暗号として、タプル（ｃ１，ｃ２，ｃ３，ｃ４）を返す。
・Ｄｅｃｒｙｐｔ｛ｓｋ｝（ｃ，ｔ，ｘ）。最初にｃを（ｃ１，ｃ２，ｃ３，ｃ４）と解析し、次に、秘密鍵ｓｋを使用してｃ１および（ｔ，ｃ２，ｃ３，ｃ４）に対してＥ１．Ｄｅｃｒｙｐｔを呼び出し、（ｍ，ｘ）∈Ｒの場合は結果、例えばｍを返し、他の場合は「ｆａｉｌ」を返す。
・Ｏｐｅｎ｛ｓｋＯＡ｝（ｃ，ｔ）。最初にｃを（ｃ１，ｃ２，ｃ３，ｃ４）と解析し、次に、ＯＡの秘密鍵ｓｋＯＡを使用してｃ２および（ｔ，ｃ３，ｃ４）に対してＥ２．Ｄｅｃｒｙｐｔを呼び出し、結果を返す。
・Ｐｒｏｖｅ（ｃ，ｔ，ｘ）。タグｔに関して暗号文ｃ＝（ｃ１，ｃ２，ｃ３，ｃ４）を作成したエンティティであるアリスは、暗号文が有効であり、ｃ２内に暗号化され、証明書がｃ４内にコミットされたｃ３内にコミットされる公開鍵に対応する秘密鍵によって復号可能であるという証拠を提供する。アリスはさらに、暗号文の基礎となるメッセージが、公開関係Ｒに関するｘの証であることを証明する。アリスは、前述の証拠を提供する目的でｃを生成するために使用される秘密コイン（すなわち、コミットメントｃ３およびｃ４、ならびに暗号ｃ１およびｃ２を生成するために使用されるランダム値）を使用する。
【００１３】
Ｃａｔｈａｌｏ−Ｌｉｂｅｒｔ−Ｙｕｎｇは、グループ暗号化スキームの具体的な実現を提供した（例えば、非特許文献２参照。）。このスキームは、メッセージを暗号化するためにＳｈａｃｈａｍの暗号化スキーム［例えば、非特許文献３参照。］を、また受信者の公開鍵を暗号化するためにＫｉｌｔｚの暗号［例えば、非特許文献４参照。］を使用する。この解決策は、Ｐｒｏｖｅプロシージャの基礎となる証拠に対するコミットメントｃ３およびｃ４を適用しないことによって、Ｋｉａｙｉａｓ−Ｔｓｉｏｕｎｉｓ−Ｙｕｎｇにより提供された構造から逸脱する。
【００１４】
より正確には、Ｓは論文に記載のディジタル署名スキームを指し、ＯＴＳは任意のセキュアな一署名スキームを指し、［Ｋｉｌｔｚ］はＫｉｌｔｚの暗号化スキームを指し、［Ｓｈａｃｈａｍ］はＳｈａｃｈａｍの暗号化スキームを指す場合、スキームは、次によって定義される。
・Ｊｏｉｎ。入力公開鍵ｐｋに対して、ＧＭは、その秘密署名する鍵Ｓ．ｓｋを使用して署名（または証明書）を作成し、（ｐｋ，ｃｅｒｔ）を公開データベースＤＢに格納する。
・Ｅｎｃｒｙｐｔ｛ｐｋ｝（ｍ，ｔ）。タグｔに関して公開鍵ｐｋを用いて受信者のためにメッセージｍ（ここで、ｍは何らかの（ｘ，ｙ）のＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ解ｅ（ｍ，ｇ）＝ｅ（ｘ，ｙ）、ここで、ｅはメッセージ空間、例えばＧ、の基礎となるペアリングであり、ｇはこのグループの生成元である）を暗号化するために、アリスは、
・署名する鍵と検証する鍵のペア（ＯＴＳ．ｓｋ，ＯＴＳ．ｖｋ）を生成するためにＯＴＳ．ｋｅｙｇｅｎを呼び出す。
・ｃ１＝［Ｓｃｈａｃｈａｍ］．Ｅｎｃｒｙｐｔ｛ｐｋ｝（ｍ，（ＯＴＳ．ｖｋ，ｔ））およびｃ２＝［Ｋｉｌｔｚ］．Ｅｎｃｒｙｐｔ｛ｐｋＯＡ｝（ｐｋ，ＯＴＳ．ｖｋ）を作成する。ｃ１のために使用されるタグは（ＯＴＳ．ｖｋ，ｔ）であり、ｃ２のために使用するタグは検証鍵ＯＴＳ．ｓｋである。
・ＯＴＳ．ｓｋを使用して、（ｃ１，ｃ２，ｔ）に対してワンタイム署名ｓを作成する。ｓ＝ＯＴＳ．Ｓｉｇｎ｛ＯＴＳ．ｓｋ｝（ｃ１，ｃ２，ｔ）である。
・ｔに関する、ｐｋに基づくｍのグループ暗号として、ｃ＝（ｃ１，ｃ２，ＯＴＳ．ｖｋ，ｓ）を返す。
・Ｄｅｃｒｙｐｔ｛ｓｋ｝（ｃ，ｔ，ｘ，ｙ）
・ｃを（ｃ１，ｃ２，ＯＴＳ．ｖｋ，ｓ）と解析する。
・ＯＴＳ．ｖｋに関して（ｃ１，ｃ２，ｔ）に対する署名ｓを確認する。ＯＴＳ．Ｖｅｒｉｆｙ｛ＯＴＳ．ｖｋ｝（ｓ，（ｃ１，ｃ２，ｔ））＝０の場合、Ｆａｉｌを返し、他の場合は、［Ｓｈａｃｈａｍ］．Ｄｅｃｒｙｐｔ｛ｓｋ｝（ｃ１，（ＯＴＳ．ｖｋ，ｔ）を計算する。それが（ｘ，ｙ）に関するＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ解である場合は、計算された値を返し、他の場合はＦａｉｌを返す。
・Ｏｐｅｎ｛ｓｋＯＡ｝（ｃ，ｔ）
・ｃを（ｃ１，ｃ２，ＯＴＳ．ｖｋ，ｓ）と解析する。
・ＯＴＳ．ｖｋに関して（ｃ１，ｃ２，ｔ）に対する署名ｓを確認する。ＯＴＳ．Ｖｅｒｉｆｙ｛ＯＴＳ．ｖｋ｝（ｓ，（ｃ１，ｃ２，ｔ））＝０の場合、Ｆａｉｌを返し、他の場合は、［Ｋｉｌｔｚ］．Ｄｅｃｒｙｐｔ｛ｓｋＯＡ｝（ｃ２，ＯＴＳ．ｖｋ）を呼び出し、その結果を返す。
・Ｐｒｏｖｅ（ｃ，ｔ，ｘ，ｙ）。タグｔに関して暗号文ｃを作製したエンティティであるアリスは、ｃが適格であり、それは証明された公開鍵を有する何らかの匿名のメンバによって復号可能であるという非対話型証拠を提供する。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】Aggelos Kiayias, Yiannis Tsiounis, and Moti Yung: “Group Encryption”, ASIACRYPT 2007： pp. 181-199
【非特許文献２】Julien Cathalo, Benoit Libert， Moti Yung: “Group Encryption： Non-interactive Realization in the Standard Model”, ASIACRYPT 2009: pp. 179-196
【非特許文献３】Hovav Shacham: “A Cramer-Shoup Encryption Scheme from the Linear Assumption and from Progressively Weaker Linear Variants”, Cryptology ePrint Archive, Report 2007/074
【非特許文献４】Eike Kiltz: “Chosen-Ciphertext Security from Tag-Based Encryption”, TCC 2006: pp. 581-600
【非特許文献５】Jens Groth, Amit Sahai: Efficient Non-interactive Proof Systems for Bilinear Groups. EUROCRYPT 2008: 415-432
【非特許文献６】Masayuki Abe, Georg Fuchsbauer, Jens Groth, Kristiyan Haralambiev and Miyako Ohkubo, “Structure-Preserving Signatures and Commitments to Group Elements”; CRYPTO 2010: 209-236
【非特許文献７】David Cash, Eike Kiltz and Victor Shoup, “The Twin Diffie-Hellman Problem and Applications”; Journal of Cryptology 22(4): 470-504(2009)
【非特許文献８】Claus P. Schnorr, “Efficient signature generation by smart cards”, Journal of Cryptology, 4(3):161-179, 1991
【非特許文献９】Jan Camenisch, “Group signature schemes and payment systems based on the discrete logarithm problem”, PhD thesis, vol.2 of ETH Series in Information Security and Cryptography, Hartung-Gorre Verlag, 1998 (ISBN 3-89649-286-1)
【非特許文献１０】Jens Groth, Rafail Ostrovsky and Amit Sahai, “Non-interactive Zaps and New Techniques for NIZK”; CRYPTO 2006: 97-111
【発明の概要】
【発明が解決しようとする課題】
【００１６】
Ｋｉａｙｉａｓ−Ｔｓｉｏｕｎｉｓ−ＹｕｎｇおよびＣａｔｈａｌｏ−Ｌｉｂｅｒｔ−Ｙｕｎｇによって提供されたスキームは、強いセキュリティ概念に適合する暗号化スキーム（すなわち、強力な敵対者に対してセキュアである暗号化スキーム）を用いて構造をインスタンス化することによって、セキュアなグループ暗号化を達成する。使用されるビルディングブロックによると、結果として得られる実現は次のように比較される。
１．Ｋｉａｙｉａｓ−Ｔｓｉｏｕｎｉｓ−Ｙｕｎｇ：彼らの汎用的構造のインスタンス化は、１０２４ビットのモジュラスを使用したサイズ２．５ｋＢの暗号文と、サイズ７０ｋＢの証拠を達成する。さらに、この証拠は検証者との対話を伴い、したがって、同じ証拠を数回実行することを証明者が希望する場合には、彼女が暗号文を生成するために使用されたすべてのランダム性を記憶している必要がある。
２．Ｃａｔｈａｌｏ−Ｌｉｂｅｒｔ−Ｙｕｎｇは、上記のスキームを改善する。それは、２５６ビットのモジュラスを使用した１．２５ｋＢのより小さな暗号文と、１６．１２５ｋＢのより小さな証拠を達成する。さらに、この証拠は非対話型であるという利点を有し、したがって、ステートフル証明者を必要としない。しかし、この証拠は、費用のかかるＧｒｏｔｈ−Ｓａｈａｉ証拠システムを利用しており、このシステムが必要とする数百または数千のペアリング式検証により、それは非実用的なものとなる。
【００１７】
したがって、暗号文および証拠のサイズまたはコストのせいでＫｉａｙｉａｓ−Ｔｓｉｏｕｎｉｓ−ＹｕｎｇとＣａｔｈａｌｏ−Ｌｉｂｅｒｔ−Ｙｕｎｇの両方は依然としてかなり費用がかかることが当業者には理解されよう。
【００１８】
例えば、Ｋｉａｙｉａｓ−Ｔｓｉｏｕｎｉｓ−ＹｕｎｇとＣａｔｈａｌｏ−Ｌｉｂｅｒｔ−Ｙｕｎｇの両方は、公開鍵の各構成要素を暗号化することを用いる−公開鍵は常にグループ要素のベクトルからなる−ものであり、その結果、（リソース使用の点で）費用のかかる同じ暗号化（「Ｅ２」または［Ｋｉｌｔｚ］）をｎ回適用し、ここで、ｎは受信者の公開鍵内の要素の数を表す。
【００１９】
改善されたＧＥスキームを提供する解決策が必要とされていることは、当業者には理解されよう。本発明は、そのような解決策を提供する。
【課題を解決するための手段】
【００２０】
第１の特徴では、本発明は、暗号文ｃを取得するために公開鍵ｐｋを用いて受信者のためにタグｔに関して平文ｍをグループ暗号化する方法を対象とする。デバイスは、署名する鍵ＯＴＳ．ｓｋおよび検証する鍵ＯＴＳ．ｖｋを取得し、ｃ１＝Ｅ１．Ｅｎｃｒｙｐｔ｛ｐｋ｝（ｍ，ＯＴＳ．ｖｋ）およびｃ２＝Ｅ２．Ｅｎｃｒｙｐｔ｛ｐｋＯＡ｝（ｆ（ｐｋ），ＯＴＳ．ｖｋ）を計算することによって、第１の暗号化された値ｃ１および第２の暗号化された値ｃ２を作成し、Ｅ１は第１の暗号化アルゴリズムであり、Ｅ２は第２の暗号化アルゴリズムであり、ｆはマッピング関数であり、ｓ＝ＯＴＳ．Ｓｉｇｎ｛ＯＴＳ．ｓｋ｝（ｃ１，ｃ２，ｔ）を計算することによって、署名する鍵ＯＴＳ．ｓｋを使用して第１の暗号化された値ｃ１、第２の暗号化された値ｃ２、およびタグｔに対する署名ｓを作成し、ＯＴＳ．Ｓｉｇｎは署名アルゴリズムであり、暗号文ｃを出力し、暗号文ｃは、第１の暗号化された値ｃ１、第２の暗号化された値ｃ２、検証する鍵ＯＴＳ．ｖｋ、および署名ｓを含む。
【００２１】
第１の好ましい実施形態では、メッセージｍは、公的に検証可能な関係Ｒを満たす。
【００２２】
第２の特徴では、本発明は、第１の暗号化された値ｃ１、第２の暗号化された値ｃ２、検証する鍵ＯＴＳ．ｖｋ、および署名ｓを含むグループ暗号ｃを復号化する方法であって、署名ｓは、第１の暗号化された値ｃ１、第２の暗号化された値ｃ２、およびタグｔに対するものである、方法を対象とする。デバイスは、グループ暗号ｃを受信し、検証する鍵ＯＴＳ．ｖｋに関して署名ｓを検証し、署名ｓが正常に検証された場合、復号アルゴリズムＥ１および検証する鍵ＯＴＳ．ｖｋを使用して、第１の暗号化された値ｃ１を復号化する。
【００２３】
第１の好ましい実施形態では、署名を検証するステップは、第１の暗号化された値ｃ１の復号が公開関係Ｒを満たすことを検証するステップをさらに含む。
【００２４】
第３の特徴では、本発明は、暗号文ｃを取得するために公開鍵ｐｋを用いた受信者のためのタグｔに関する平文ｍのグループ暗号化のためのデバイスを対象とする。デバイスは、署名する鍵ＯＴＳ．ｓｋおよび検証する鍵ＯＴＳ．ｖｋを取得し、ｃ１＝Ｅ１．Ｅｎｃｒｙｐｔ｛ｐｋ｝（ｍ，ＯＴＳ．ｖｋ）およびｃ２＝Ｅ２．Ｅｎｃｒｙｐｔ｛ｐｋＯＡ｝（ｆ（ｐｋ），ＯＴＳ．ｖｋ）を計算することによって、第１の暗号化された値ｃ１および第２の暗号化された値ｃ２を作成し、Ｅ１は第１の暗号化アルゴリズムであり、Ｅ２は第２の暗号化アルゴリズムであり、ｆはマッピング関数であり、ｓ＝ＯＴＳ．Ｓｉｇｎ｛ＯＴＳ．ｓｋ｝（ｃ１，ｃ２，ｔ）を計算することによって、署名する鍵ＯＴＳ．ｓｋを使用して第１のコミットメントｃ１、第２のコミットメントｃ２、およびタグｔに対する署名ｓを作成し、ＯＴＳ．Ｓｉｇｎは署名アルゴリズムであり、暗号文ｃを出力し、暗号文ｃは、第１の暗号化された値ｃ１、第２の暗号化された値ｃ２、検証する鍵ＯＴＳ．ｖｋ、および署名ｓを含む、ように構成されたプロセッサーを備える。
【００２５】
第１の好ましい実施形態では、メッセージｍは、公的に検証可能な関係Ｒを満たす。
【００２６】
第４の特徴では、本発明は、第１の暗号化された値ｃ１、第２の暗号化された値ｃ２、検証する鍵ＯＴＳ．ｖｋ、および署名ｓを含むグループ暗号ｃを復号化するデバイスを対象とし、署名ｓは、第１の暗号化された値ｃ１、第２の暗号化された値ｃ２、およびタグｔに対するものである。前バイスは、グループ暗号ｃを受信し、検証する鍵ＯＴＳ．ｖｋに関して署名ｓを検証し、署名ｓが正常に検証された場合、復号アルゴリズムＥ１および検証する鍵ＯＴＳ．ｖｋを使用して、第１の暗号化された値ｃ１を復号化するように構成されたプロセッサーを備える。
【００２７】
第１の好ましい実施形態では、プロセッサーは、第１の暗号化された値ｃ１の復号が公開関係Ｒを満たすことをさらに検証する。
【００２８】
第５の特徴では、本発明は、プロセッサーによって実行されるとき第１の特徴の方法を実行する命令を格納したコンピュータプログラム製品を対象とする。
【００２９】
第６の特徴では、本発明は、プロセッサーによって実行されるとき第２の特徴の方法を実行する命令を格納したコンピュータプログラム製品を対象とする。
【図面の簡単な説明】
【００３０】
次に、添付の図面を参照しながら、本発明の好ましい特徴を非限定的な例として説明する。
【図１】本発明の好ましい実施形態によるグループ暗号システムを示す図である。
【発明を実施するための形態】
【００３１】
本発明の進歩性のある主要なアイデアは、受信者の公開鍵自体ではなく公開鍵のエイリアス（alias）を暗号化することである。グループ管理者（ＧＭ）は、公開鍵、エイリアスの対応する暗号、および証明書を公開データベースＤＢ内で公開する。エイリアスは、公開鍵に対して適用された適切に選定されたマッピング関数ｆの結果として得られる値である。
【００３２】
関数ｆを使用する計算は、好ましくは、実行するのが容易であり、関数は、好ましくは入力のサイズを減少させ、２つの異なる入力値は、結果としてデータベースＤＢ内に同一のエントリをもたらさないべきである。マッピング関数ｆは、例えばデータベース内のそのエントリが一意となるまで新しいメッセージをランダム化することによってグループ管理者にこの性質を確保することにより衝突困難な一種のハッシュ関数と言われてよい。
【００３３】
これは、エイリアスは公開鍵より小さくすることができるので、結果として生じる構造のサイズおよびコストの著しい減少を可能にすることができる。具体的には、受信者の公開鍵内にグループ要素があるのと同じ回数、第２の暗号化スキームを適用する必要がない。
【００３４】
しかし、欠点は、Ｏｐｅｎプロシージャで、エイリアスの原像（公開鍵）があるかどうかデータベースＤＢ内を見るためにオープニングオーソリティＯＡが必要とされることである。幸運なことに、Ｏｐｅｎプロシージャに頼るのは、非常にまれ、すなわち争議の場合にのみ発生する。
【００３５】
本発明のグループ暗号化スキームでは、いくつかのビルディングブロックを使用する（例は、この説明において後で与えられる）。
・暗号化スキーム：２つの暗号化スキームＥ１およびＥ２が使用される。本発明の目的のためには、以下で定義されるように、Ｅ１およびＥ２が脆弱にセキュリティ保護されれば十分であることに留意しなければならない。
【００３６】
弱いセキュアな暗号化スキームは、「最高の」セキュリティ概念に到達しない暗号化スキームである。Ｅ１に適したセキュリティ概念は、選択的タグ弱選択暗号文攻撃の下で識別不可能かつ匿名である（ＩＮＤ−ｓｔ−ｗＣＣＡおよびＡＮＯ−ｓｔ−ｗＣＣＡ）。Ｅ２の場合、ＩＮＤ−ｓｔ−ｗＣＣＡセキュリティのみが必要とされる。
【００３７】
両方のセキュリティ概念は、セキュリティ目標（ＩＮＤまたはＡＮＯ）と攻撃モデル（ｓｔ−ｗＣＣＡ）を結び付ける。
【００３８】
識別不可能性（ＩＮＤ）目標は、非公式には、メッセージについての情報を暗号文から取得する困難さを示す。匿名性（ＡＮＯ）とは、公開鍵についての情報を暗号文から推定する困難さを指す。
【００３９】
攻撃モデルｓｔ−ｗＣＣＡに関して、それは、攻撃者がチャレンジすることを望むタグに彼女があらかじめ（チャレンジ公開鍵を受信する前に）コミットし、このチャレンジタグを含む復号クエリーを彼女が発行することができないシナリオを指す。
・署名または証明スキーム：グループ要素に署名する署名スキームが使用される。適切な候補は、構造を維持する署名スキームＳ、すなわち検証鍵、メッセージ、および署名がグループ要素であり、検証アルゴリズムがペアリング式検証の術語からなるスキームである。
・ワンタイム署名スキーム：セキュアなワンタイム署名ＯＴＳが使用される。
・関係Ｒ：公的に検証可能な関係が使用される。
関数ｆ：効率的に計算可能な（入力のサイズに対する多項式時間に関して評価可能である）関数ｆが使用される。
【００４０】
これらのビルディングブロックを使用すると、このスキームは次のように構築される。
・Ｊｏｉｎ。入力公開鍵ｐｋに対して、ＧＭは、Ｓ．ｓｋを使用したｐｋに対する署名（または証明書）ｃｅｒｔに加えて、ｆ（ｐｋ）を計算する（Ｓは、使用される証明スキームである）。ＧＭはさらに、（ｐｋ，ｆ（ｐｋ），ｃｅｒｔ）を公開データベースＤＢに格納する。衝突を回避する、すなわちｆを使用して２つの異なる公開鍵ｐｋおよびｐｋ’が同じ値にマッピングされることを回避するために、ＧＭは簡単な方策に進んでよいことに留意されたい。特定の関数ｆが使用される場合の１つの可能な方策について、以下で詳細に説明する。
・Ｅｎｃｒｙｐｔ｛ｐｋ｝（ｍ，ｔ）。タグｔに関して、公開鍵ｐｋを用いて、受信者のためにメッセージｍ（既知の関係Ｒに関して何らかのｘの証である）を暗号化するために、エンティティは、
・署名する鍵と検証する鍵のペア（ＯＴＳ．ｓｋ，ＯＴＳ．ｖｋ）を生成するためにＯＴＳ．ｋｅｙｇｅｎを呼び出す。
・（ｃ１，ｃ２）＝（Ｅ１．Ｅｎｃｒｙｐｔ｛ｐｋ｝（ｍ，ＯＴＳ．ｖｋ），Ｅ２．Ｅｎｃｒｙｐｔ｛ｐｋＯＡ｝（ｆ（ｐｋ），ＯＴＳ．ｖｋ））を作成する。ＯＴＳ．ｖｋがタグと見なされることに留意されたい。
・ＯＴＳ．ｓｋを使用して、（ｃ１，ｃ２，ｔ）に対して署名ｓを作成する。ｓ＝ＯＴＳ．Ｓｉｇｎ｛ＯＴＳ．ｓｋ｝（ｃ１，ｃ２，ｔ）である。
・ｔに関する、ｐｋに基づくｍのグループ暗号として、ｃ＝（ｃ１，ｃ２，ＯＴＳ．ｖｋ，ｓ）を返す。
・Ｄｅｃｒｙｐｔ｛ｓｋ｝（ｃ，ｔ，ｘ）。
・ｃを（ｃ１，ｃ２，ＯＴＳ．ｖｋ，ｓ）と解析する。
・ＯＴＳ．ｖｋに関して、（ｃ１，ｃ２，ｔ）に対する署名ｓを検証する。ＯＴＳ．Ｖｅｒｉｆｙ｛ＯＴＳ．ｖｋ｝（ｓ，（ｃ１，ｃ２，ｔ））＝０の場合、Ｆａｉｌを返し、他の場合は、Ｅ１．Ｄｅｃｒｙｐｔ｛ｓｋ｝（ｃ１，ＯＴＳ．ｖｋ）を計算する。それがＲに関するｘの証である場合は、計算された値を返し、他の場合はＦａｉｌを返す。
・Ｏｐｅｎ｛ｓｋＯＡ｝（ｃ，ｔ）。
・ｃを（ｃ１，ｃ２，ＯＴＳ．ｖｋ，ｓ）と解析する。
・ＯＴＳ．ｖｋに関して、（ｃ１，ｃ２，ｔ）に対する署名ｓを検証する。ＯＴＳ．Ｖｅｒｉｆｙ｛ＯＴＳ．ｖｋ｝（ｓ，（ｃ１，ｃ２，ｔ））＝０の場合、Ｆａｉｌを返し、他の場合は、値Ｆを返すＥ２．Ｄｅｃｒｙｐｔ｛ｓｋＯＡ｝（ｃ２，ＯＴＳ．ｖｋ）を呼び出す。
・関数ｆに関して値Ｆの原像があるかどうかＤＢを調べ、この調査の結果を返す。
・Ｐｒｏｖｅ（ｃ，ｔ，ｘ）。タグｔに関する暗号文ｃを作成したエンティティは、ｃ＝（ｃ１，ｃ２，ＯＴＳ．ｖｋ，ｓ）を生成するために使用されるランダムコインを使用して次の証拠を提供する。
・何らかの公開鍵ｐｋに基づいてタグＯＴＳ．ｖｋに関してｃ１の基礎となるメッセージの認識の証拠、およびこのメッセージが関係Ｒに関するｘの証であるという証拠。
・鍵ｐｋＯＡに基づいてタグＯＴＳ．ｖｋに関してｃ２の復号の認識の証拠、およびこの復号がｐｋに対する関数ｆの値であるという証拠。
・ｐｋに対する証明書ｃｅｒｔの認識の証拠。
【００４１】
署名および暗号化スキームの特定のクラスは、これらの証拠の効率的な性能を可能にする。
【００４２】
非対話型証拠に関して、Ｇｒｏｔｈ−Ｓａｈａｉ［例えば、非特許文献５参照。］互換暗号系などの、問題の証（例えば署名／暗号化スキームの場合はメッセージもしくは鍵、関数ｆの場合は原像、または関係Ｒの場合は証）の認識の効率的な非対話型証拠を受け入れる構成要素を使用することが好ましい。この意味で、いわゆる保型（ａｕｔｏｍｏｒｐｈｉｃ）署名（すなわち、検証鍵メッセージと結果として生成される署名とがグループ要素であり、検証アルゴリズムがペアリング積式の論理積からなる署名スキーム）と、暗号化アルゴリズムが入力に対して群演算またはペアリング演算を実行する暗号化スキーム（これは、メッセージ、公開鍵、および暗号文がグループ要素であることを必要とする）を使用することができる。関数ｆはまた、入力に対して群（または、双線形群の場合はペアリング）演算を実行する。同じことが関係Ｒにも当てはまる。
【００４３】
同様に、証の効率的な対話型証拠を受け入れる構成要素を使用することが好ましい。この意味では、メッセージＭに対する署名σを仮定すると、φ（Ｓ，Ｍ）がｇ（Ｒ，ｖｋ）を評価し、ここで、ｖｋは検証鍵、ｇはパブリック関数、（Ｓ，Ｒ）はσから変換されたペアであり、ここで、ＲはσまたはＭについて何ら情報を明らかにせず、Ｓは署名の「不可欠な」部分であるように、準同形関数φを定義することを可能にする署名スキームを使用することが好ましい。基礎となる変換アルゴリズムはＣＯＮＶＥＲＴアルゴリズムと呼ばれる。所与の鍵および所与のタグに関する復号の正確さの効率的な証拠を受け入れる暗号化スキームを使用することも好ましい。さらに、公開鍵を暗号化するために使用されるスキーム（Ｅ２）はメッセージに関して準同形であるべきであり、スキームＥ１は、公開鍵とメッセージの両方に関して準同形であるべきである。さらに、暗号化スキームＥ１は、ＣＯＭＰＵＴＥアルゴリズムと呼ばれるアルゴリズムの結果として作成し、このアルゴリズムは、入力に対して、所与のタグｔに関する公開鍵ｐｋに基づくメッセージｍの暗号ｃ１は、ｃ１とｃ’１の合成がタグｔに関するｐｋとｐｋ’の合成に基づくｍとｍ’の合成の暗号に等しいように、同じタグｔに関する別の公開鍵ｐｋ’に基づく別のメッセージｍ’の別の暗号ｃ’１を作成する。合成は、関係する要素が属するセットを備えた代数群演算を適用すると理解されなければならない。さらに、関数ｆは、好ましくは、準同形関数である（２つの入力の合成に適用されるｆは、これらの２つの入力におけるｆの値の合成である）。同様に、関係Ｒは、インスタンスｘを仮定すると、準同形関数Ｆ＿Ｒおよび像ＩをＦ＿Ｒ（ｗ）＝Ｉであるように定義することを可能にするべきであり、ここで、ｗはインスタンスｘに対応する証である。
【００４４】
本発明と共に使用するのに好ましい署名スキームは、非特許文献６によって提唱されるスキームである。
【００４５】
本発明と共に使用するのに好ましい暗号化スキームは、非特許文献７によって提供される脆弱にセキュアなタグベース変数である。
【００４６】
好ましい関数ｆは、公開鍵がグループ要素のｎ個のベクトルである場合、以下である。
【００４７】
【数１】
2015501110.tif 000003
【００４８】
ここで、（Ｇ，・）は、何らかのｄである位数を持つ群、ｎは何らかの整数、ａ１，…，ａｎはＺｄすなわち整数モジュロｄのセットからのパブリック要素である。次に、関数ｆは、群Ｇ内のｎ個の要素のタプルを群Ｇ内の要素にマッピングする。
【００４９】
ｆのこの選定により、ＧＭは、鍵ｐｋを系統的にランダム化することによって衝突を回避することができる。より正確には、ＧＭは、関数
【００５０】
【数２】
2015501110.tif 000004
【００５１】
の衝突を回避するために、指数群Ｚｄ内の乱数ｒ＝（ｒ１，…，ｒｎ）を考慮してｐｋをランダム化する。ＧＭはさらに、受信者がその秘密鍵を相応に更新できるようにするためにｒを公開する−これは、
【００５２】
【数３】
2015501110.tif 000005
【００５３】
であるときにのみ可能であり、ここで、ｇｉはＧの既知の生成元、ｘｉはＸｉに対応する秘密鍵である。証明書は、新しく計算された公開鍵に対して計算され、鍵およびそのエイリアスと共にＤＢに格納される。
【００５４】
最後に、好ましい関係Ｒは（ｍ，ｘ，ｙ）∈Ｒ⇔ｅ（ｍ，Ｐ）＝ｅ（ｘ，ｙ）であり、ここで、ｅはドメインＧ×Ｈを用いた効率的なペアリング（ＧとＨは暗号双線形群）、ＰはＨからの固定要素である。
【００５５】
公開鍵ｐｋを用いて受信者のために暗号文ｃを生成した証明者と任意の検証者との間の対話型Ｐｒｏｖｅプロトコルは、３つのパス、すなわち、コミットメント、チャレンジ、およびレスポンスを進む。コミットメントパスでは、証明者は、グループ管理者の公開鍵Ｓ．ｐｋ、公開ｐｋ、および対応する証明書の入力に対してＣＯＮＶＥＲＴアルゴリズムを実行して、ペア（Ｓ，Ｒ）を取得する。証明者はまた、入力ｃ１に対してＣＯＭＰＵＴＥアルゴリズムを実行し、タプル（ｐｋ’，ｍ’，ｃ’１）を取得する。次に、証明者は、Ｆ’＝ｆ（ｐｋ’）、Ｉ’＿Ｒ＝Ｆ＿Ｒ（ｍ’）、およびｌ’＝φ（Ｓ’，ｐｋ’）を計算する。最後に、証明者は、公開鍵ｐｋＯＡに基づくＦ’の暗号であるｃ’２を計算する。証明者は、タプル（Ｒ，Ｉ’，Ｉ’＿Ｒ，ｃ’２）を検証者に送信する。このタプルを受信すると、チャレンジパスでは、検証者は、整数ｂをランダムに選択し、Ｆ＿Ｒ（ｍ）＝Ｉ＿Ｒであるように、Ｉ＝ｇ（Ｒ，Ｓ．ｐｋ）およびＩ＿Ｒを計算する。検証者は、チャレンジｂを証明者に送信する。このチャレンジを受信すると、証明者は、値ｚｓ、ｚｐｋ、ｚｍ、およびｚＦを計算および送信し、ここで、ｚｐｋはｐｋ’とｐｋｂの合成、ｚｓはＳ’とＳｂの合成、ｚｍはｍ’とｍｂの合成、ｚＦはＦ’とＦｂの合成である。最後に、証明者は、（ＰｏＫ１）ｃ’１とｃ１ｂの合成がタグｔに関して公開鍵ｚｐｋに基づくｚｍの暗号であり、（ＰｏＫ２）ｃ’２とｃ２ｂの合成がタグｔに関して公開鍵ｐｋＯＡに基づくｚＦの暗号であるという認識を証明する。プロトコルの終了時に、検証者は、（１）φ（ｚｓ，ｚｐｋ）がＩ’とＩｂの合成に等しい、（２）Ｆ＿Ｒ（ｚｍ）がＩ’＿ＲとＩｂ＿Ｒの合成である、（３）ｆ（ｚｐｋ）がｚＦに等しい、および（４）ＰｏＫ１およびＰｏＫ２が有効である場合、承認する。好ましい暗号化スキームを用いてインスタンス化されたとき、認識ＰｏＫ１およびＰｏＫ２の証拠が離散対数の相等性を示すことに帰着することが、当業者にはわかるであろう。その効率的な方法は、非特許文献８の独創的な仕事から導き出すことができる。非特許文献９も参照されたい。
【００５６】
図１は、本発明の好ましい実施形態によるグループ暗号のためのシステム１００を示す。図を簡略化し、理解しやすくするため、システム内のデバイス間の接続は省略されている。
【００５７】
システム１００は、それぞれ他のデバイスと通信するように構成された少なくとも１つのインターフェースユニット１１１、１２１を備える送信者１１０および受信者１２０と、少なくとも１つのプロセッサー（「プロセッサー」）１１２、１２２と、累算器および中間計算結果などのデータを格納するように構成された少なくとも１つのメモリ１１３、１２３を備える。システム１００は、グループ管理者１３０と、データベース１４０と、サードパーティ１５０と、オープニングオーソリティ１６０とをさらに備える。わかりやすいように示されていないが、これらのデバイスのそれぞれは、プロセッサーおよびメモリなどの必要なハードウェアを備える。
【００５８】
送信者１１０のプロセッサー１１２は、本グループ暗号化スキームのＥｎｃｒｙｐｔ部分およびＰｒｏｖｅ部分を実行するように構成され、受信者１２０のプロセッサー１２２は、受信されたグループ暗号を復号化する、すなわちＤｅｃｒｙｐｔを実行するように適合される。グループ管理者１３０は、Ｊｏｉｎ部分を実行し、それによって、データをデータベース１４０に格納するように構成される。サードパーティ１５０は、送信者によって提供される証拠を検証するように構成され、オープニングオーソリティ１６０は、グループ暗号化スキームのＯｐｅｎ部分を実行するように構成される。ＣＤ−ＲＯＭまたはＤＶＤなどの第１のコンピュータプログラム製品１１４は、送信者１１０のプロセッサー１１２によって実行されるとき本発明によるＥｎｃｒｙｐｔｉｏｎおよびＰｒｏｖｅを実行する、格納された命令を備える。第２のコンピュータプログラム製品１２４は、受信者１２０のプロセッサー１２２によって実行されるとき本発明によるＤｅｃｒｙｐｔを実行する格納された命令を備える。
【００５９】
本発明のグループ暗号化スキームが、従来技術によるスキームと比較すると、サイズおよびコストの著しい減少を可能にすることができることは、当業者には理解されよう。例えば、本発明のＧＥスキームは、それが、Ｅ１およびＥ２をインスタンス化するために、
・例えば非特許文献６によって提唱される署名スキーム
・例えば非特許文献１０によって提供されるワンタイム署名
・例えば非特許文献７によって提供される脆弱にセキュアなタグベース変数
を用いてインスタンス化された場合、（従来技術における１．２５ｋＢまたは２．５ｋＢではなく）０．４ｋＢの暗号文をもたらす。
【００６０】
さらに、証拠は、より短くなり、検証者との対話があってもなくても実行可能であり（対話型証拠の場合は１ｋＢ、非対話型証拠の場合は２ｋＢ）、費用がかからない対話型証拠か費用のかかる非対話型証拠かの選定は後者に委ねられる。さらに、証拠の検証は、３２５回のペアリング計算を必要とする（従来技術における３８９５回のペアリング計算と比較される）。
【００６１】
前述のように、本発明のＧＥスキームは、公開鍵のエイリアスの原像を見つけるために各ＯｐｅｎプロシージャにおいてデータベースＤＢにアクセスするという欠点を有する。幸運なことに、Ｏｐｅｎに頼ることは、衝突の場合にのみ発生し、すなわち非常にまれである。
【００６２】
本発明をＧＥに関して説明してきたが、その範囲は、この種類の暗号スキームに制限されない。（オンライン）公開ＤＢ内に存在する（長い）メッセージの暗号を含むいかなる暗号スキームも、本発明から等しく利益を得ることができる。本発明を適用すると、（短い）エイリアスがＤＢの各メッセージに関連付けられ、ＤＢに追加される。次に、メッセージの暗号は、エイリアスの暗号と交換され、したがって、暗号文のサイズを短縮する。復号化すると、エイリアスが復元され、オンラインＤＢに対する要求を使用して、関連付けられたメッセージも復元される。
【００６３】
明細書ならびに（必要に応じて）特許請求の範囲および図面に開示されている各特徴は、独立して、または任意の適切な組み合わせで、提供されてよい。ハードウェアで実施されると説明した特徴はまた、ソフトウェアで実施されてもよいし、その逆も同様である。請求項に出現する参照番号は、単なる例示にすぎず、請求項の範囲に限定的な影響を及ぼすものではない。
【図１】
2015501110.tif 000006
【国際調査報告】
2015501110.tif 000007
2015501110.tif 000008
2015501110.tif 000009