JP4856933B2 - 署名装置、検証装置、復号装置、平文復元装置、情報提供装置、署名システム、通信システム、鍵生成装置及び署名方法 - Google Patents

署名装置、検証装置、復号装置、平文復元装置、情報提供装置、署名システム、通信システム、鍵生成装置及び署名方法 Download PDF

Info

Publication number
JP4856933B2
JP4856933B2 JP2005335018A JP2005335018A JP4856933B2 JP 4856933 B2 JP4856933 B2 JP 4856933B2 JP 2005335018 A JP2005335018 A JP 2005335018A JP 2005335018 A JP2005335018 A JP 2005335018A JP 4856933 B2 JP4856933 B2 JP 4856933B2
Authority
JP
Japan
Prior art keywords
signature
verification
hash value
information
unit
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.)
Expired - Fee Related
Application number
JP2005335018A
Other languages
English (en)
Other versions
JP2007142897A (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.)
NTT Docomo Inc
Yokohama National University NUC
Original Assignee
NTT Docomo Inc
Yokohama National University NUC
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 NTT Docomo Inc, Yokohama National University NUC filed Critical NTT Docomo Inc
Priority to JP2005335018A priority Critical patent/JP4856933B2/ja
Publication of JP2007142897A publication Critical patent/JP2007142897A/ja
Application granted granted Critical
Publication of JP4856933B2 publication Critical patent/JP4856933B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、しきい値暗号方式にしたがった署名装置、検証装置、復号装置、平文復元装置、情報提供装置、署名システム、通信システム、鍵生成装置及び署名方法に関する。
今日、秘匿性を保ちつつ安全に情報を送受信するため、RSAなどの公開鍵暗号方式が広く用いられている。公開鍵暗号方式では、公開鍵と対になる秘密鍵(復号鍵など)が悪意ある第三者に取得されると、情報を安全に送受信することができなくなるため、秘密鍵を安全に保管することが重要である。
このような点を踏まえ、いわゆる“しきい値暗号方式”が実現されている(例えば、非特許文献1及び非特許文献2)。
しきい値暗号方式とは、公開鍵暗号方式における復号鍵を複数の分散鍵に分散し、分散鍵を有する複数の装置(復号サーバ)が共同で処理を実行しなければ、平文を復元できないようにした暗号方式である。また、しきい値暗号方式では、分散鍵を秘密の状態としつつ復号を実行することができる。
Pierre-Alain Fouque and David Pointcheval、"Threshold Cryptosystems Secure against Chosen-Ciphertext Attacks"、ASIACRYPT 2001, pp.351-368、2001年 V. Shoup and R. Gennaro、"Securing Threshold Cryptosystems against Chosen Ciphertext Attack"、Journal of Cryptology, vol.15, no.2, pp.75-96、2002年
ところで、上述した従来のしきい値暗号方式では、平文を暗号化して暗号文とするために必要な演算として、当該平文が決定するよりも前に実行できる演算と、当該平文が決定しないと実行できない演算とが存在する。
また、当該演算には、演算時間を要する“べき乗”の演算と、べき乗と比較して演算時間が非常に短い単なる乗算、論理和(OR)及びハッシュ値などの演算とが混在する。すなわち、べき乗の演算を当該平文が決定するよりも前に実行することができれば、より迅速かつ効率的に平文を暗号化することができる。
しかしながら、非特許文献1に記載されているしきい値暗号方式では、暗号化の対象となる平文が決定するよりも前に、予め実行することができる演算が極めて限られている。このため、平文の決定後に一定の時間や処理能力が必要となるといった問題あった。
これに対して、非特許文献2に記載されるしきい値暗号方式、具体的には、TDH2(Threshold Diffie-Hellman 2)と称呼されているしきい値暗号方式では、平文が決定するよりも前に、平文を暗号文とするために必要な演算の大部分を実行することができる。
しかしながら、当該しきい値暗号方式は、非特許文献1に記載されているしきい値暗号方式が“決定問題の困難性”(hardness of the computational Diffie-Hellman problem)という妥当な仮定の上での安全性を根拠としているのに対し、“判定問題の困難性”(hardness of the decisional Diffie-Hellman problem)という、少々強引な仮定の上での安全性を根拠としているという問題あった。
そこで、本発明は、このような状況に鑑みてなされたものであり、妥当な仮定の上での安全性を根拠としつつ、より迅速かつ容易に必要な処理を実行することができる署名装置、検証装置、復号装置、平文復元装置、情報提供装置、署名システム、通信システム、鍵生成装置及び署名方法を提供することを目的とする。
上述した問題を解決するため、本発明は、次のような特徴を有している。まず、本発明の第1の特徴は、署名対象データ(暗号文c)を取得する署名対象データ取得部(暗号文生成部207)と、任意の方法によって定められたシード(乱数r)を用いて、前記署名対象データの検証に用いられる検証鍵(検証鍵vk)を生成する検証鍵生成部(検証鍵生成部209)と、前記シードを用いて、前記署名対象データに対応する署署名情報(署名情報v)を生成する署名情報生成部(署名情報生成部215)と、前記署名情報を含む署名(署名σ)を前記署名対象データに付加する署名部(署名部217)とを備え、前記署名情報生成部は、出力が常に一様分布にしたがって決まり、他の出力と無相関な関数であるランダムオラクルの存在を仮定した場合、前記検証鍵から作成できない情報(例えば、hとu1のDH問題の答えであるhr=log u1(底はg1))を、前記検証鍵及び前記署名情報を用いて抽出でき、前記検証鍵を用いて有効であると判断された有効署名と、前記検証鍵とのペアに基づいて、前記検証鍵と同一の検証鍵、さらには前記検証鍵と異なる他の検証鍵と、有効署名とのペアを作成することができない前記署名情報を生成する署名装置(端末装置200)であることを要旨とする。
本発明の第2の特徴は、本発明の第1の特徴に係り、少なくとも前記検証鍵を第1のハッシュ関数(ハッシュ関数H1)に入力し、第1のハッシュ値(ハッシュ値hA)を生成する第1ハッシュ値生成部(第1ハッシュ値生成部211)と、少なくも前記第1のハッシュ値及び前記署名対象データを第2のハッシュ関数(ハッシュ関数H2)に入力し、第2のハッシュ値を生成する第2ハッシュ値生成部(第2ハッシュ値生成部213)とをさらに備え、前記署名部は、前記第2のハッシュ値及び前記署名情報を含む署名(署名σ)を前記署名対象データに付加することを要旨とする。
このような署名装置によれば、平文などの署名対象データが決定する前に、予め第1のハッシュ値を演算することができる。さらに、平文などの署名対象データが決定する前に、第1のハッシュ値を用いる他の演算も実行することができる。
また、このような署名装置によれば、すべてのべき乗の演算を当該平文が決定するよりも前に実行することができるため、平文の決定後、迅速かつ効率的に平文を暗号化することができる。
さらに、このような署名装置によれば、検証鍵を第1のハッシュ関数に入力すること、及び第2のハッシュ関数を用いることによって、“緊密な安全性”(詳細は後述)が達成される。
本発明の第3の特徴は、本発明の第2の特徴に係り、前記署名情報生成部は、前記第1のハッシュ値、前記第2のハッシュ値及び前記シードを用いて前記署名情報を生成し、前記署名部は、前記第2のハッシュ値と、前記第2のハッシュ値及び前記シードを用いて生成された前記署名情報とを含む署名を、前記検証鍵とともに、前記シードを平文の暗号化における乱数として用いて暗号化された前記署名対象データに付加することを要旨とする。
本発明の第4の特徴は、署名対象データの検証に用いられる検証鍵を少なくとも入力することによって、第1のハッシュ値を生成する第1のハッシュ関数を取得する検証装置側第1のハッシュ関数取得部(検証部403及び記憶部409)と、少なくとも前記第1のハッシュ値及び前記署名対象データを入力することによって、第2のハッシュ値を生成する第2のハッシュ関数を取得する検証装置側第2のハッシュ関数取得部(検証部403及び記憶部409)と、前記第1のハッシュ関数と、前記第2のハッシュ関数と、前記第1のハッシュ値及び前記第2のハッシュ値を用いて生成され、前記署名対象データに付加されている署名とを用いて前記署名対象データが正当であることを検証する検証装置側検証部(検証部403)とを備える検証装置(復号サーバ400〜400)であることを要旨とする。
本発明の第5の特徴は、暗号化された署名対象データの検証に用いられる検証鍵を少なくとも入力することによって、第1のハッシュ値を生成する第1のハッシュ関数を取得する復号装置側第1のハッシュ関数取得部(検証部403及び記憶部409)と、少なくとも前記第1のハッシュ値及び前記署名対象データを入力することによって、第2のハッシュ値を生成する第2のハッシュ関数を取得する復号装置側第2のハッシュ関数取得部(検証部403及び記憶部409)と、前記第1のハッシュ関数と、前記第2のハッシュ関数と、前記第1のハッシュ値及び前記第2のハッシュ値を用いて生成され、前記署名対象データに付加されている署名と、前記検証鍵とを用いて、前記署名対象データが正当であることを検証する復号装置側検証部(検証部403)と、前記復号装置側検証部によって前記署名対象データが正当であることが検証されたことに応じて、前記署名対象データを復号する復号部(部分復号情報生成部405)とを備える復号装置(復号サーバ400〜400)であることを要旨とする。
本発明の第6の特徴は、平文が暗号化された署名対象データの少なくとも一部分を復号することによって生成された複数の部分復号情報(部分復号情報δ)を受信する受信部(受信部501)と、前記署名対象データの検証に用いられる検証鍵を少なくとも入力することによって、第1のハッシュ値を生成する第1のハッシュ関数を取得する復元装置側第1のハッシュ関数取得部(検証部503及び記憶部511)と、少なくとも前記第1のハッシュ値及び前記署名対象データを入力することによって、第2のハッシュ値を生成する第2のハッシュ関数を取得する復元装置側第2のハッシュ関数取得部(検証部503及び記憶部511)と、前記受信部が受信した前記部分復号情報を結合し、平文を復元する平文復元部(平文復元部505)とを備える平文復元装置(端末装置500)であることを要旨とする。
本発明の第7の特徴は、本発明の第6の特徴に係り、前記部分復号情報を検証する部分復号情報検証鍵(部分復号検証鍵share vk1,…, share vki,…, share vkn)を用いて、前記部分復号情報が正当であることを検証する復元装置側検証部(検証部503)をさらに備え、前記平文復元部は、前記復元装置側検証部によって前記部分復号情報が正当であることが検証されたことに応じて、前記平文を復元することを要旨とする。
本発明の第8の特徴は、暗号化された署名対象データの検証に用いられる検証鍵を少なくとも入力することによって、第1のハッシュ値を生成する第1のハッシュ関数を記憶する情報提供装置側第1のハッシュ関数記憶部(鍵データベース103)と、少なくとも前記第1のハッシュ値及び前記署名対象データを入力することによって、第2のハッシュ値を生成する第2のハッシュ関数を記憶する情報提供装置側第2のハッシュ関数記憶部(鍵データベース103)と、前記第1のハッシュ関数及び前記第2のハッシュ関数を示す関数情報を提供する情報提供部(提供情報生成部101及び送信部105)とを備え、前記情報提供部は、少なくとも前記第2のハッシュ値を含む署名を前記署名対象データに付加する署名装置、または前記署名、前記第1のハッシュ値、前記第2のハッシュ値、前記検証鍵を用いて前記署名対象データが正当であることを検証する検証装置の少なくとも何れかに対して、前記第1のハッシュ関数及び前記第2のハッシュ関数を提供する情報提供装置(情報提供サーバ100)であることを要旨とする。
本発明の第9の特徴は、本発明の第1乃至第3の特徴に係る何れかの署名装置と、本発明の第4の特徴に係る検証装置とを備える署名システムであることを要旨とする。
本発明の第10の特徴は、本発明の第1乃至第3の特徴に係る何れかの署名装置と、本発明の第4に係る検証装置と、本発明の第5の特徴に係る復号装置と、本発明の第6または第7に係る平文復元装置とを備える通信システムであることを要旨とする。
本発明の第11の特徴は、本発明の第9の特徴に係る署名システムにおいて用いられ、署名対象データの検証に用いられる検証鍵、及び任意の方法によって定められたシードを生成する鍵生成部(提供情報生成部101)と、前記検証鍵を検証装置に送信する検証鍵送信部(送信部105)と、前記シードを署名装置に送信するシード送信部(送信部105)とを備える鍵生成装置であることを要旨とする。
本発明の第12の特徴は、本発明の第10の特徴に係る通信システムにおいて用いられ、少なくとも平文の暗号処理及び暗号化された署名対象データの復号処理に用いられる公開鍵及び復号鍵を生成する鍵生成部(提供情報生成部101)と、前記公開鍵を検証装置、復号装置または平文復元装置の少なくとも何れかに送信する公開鍵送信部(送信部105)と、前記復号鍵を前記復号装置に送信する復号鍵送信部(送信部105)とを備える鍵生成装置であることを要旨とする。
本発明の第13の特徴は、署名対象データを取得し、任意の方法によって定められたシードを用いて、前記署名対象データの検証に用いられる検証鍵を生成し、前記シードを用いて、前記署名対象データに対応する署名情報を生成し、前記署名情報を含む署名を前記署名対象データに付加し、前記署名を付加する場合には、出力が常に一様分布にしたがって決まり、他の出力と無相関な関数であるランダムオラクルの存在を仮定した場合、前記検証鍵から作成できない情報を、前記検証鍵及び前記署名情報を用いて抽出でき、前記検証鍵を用いて有効であると判断された有効署名に基づいて、前記検証鍵と異なる他の検証鍵を用いて前記有効署名を作成することができない前記署名を付加する署名方法であることを要旨とする。
本発明の第14の特徴は、本発明の第13の特徴に係り、少なくとも前記検証鍵を第1のハッシュ関数に入力し、第1のハッシュ値を生成し、少なくも前記第1のハッシュ値及び前記署名対象データを第2のハッシュ関数に入力して、第2のハッシュ値を生成し、前記第2のハッシュ値及び前記署名情報を含む署名を前記署名対象データに付加することを要旨とする。
本発明の第15の特徴は、本発明の第14の特徴に係り、前記署名情報を生成する場合、前記第1のハッシュ値、前記第2のハッシュ値及び前記シードを用いて前記署名情報を生成し、前記第2のハッシュ値と、前記第2のハッシュ値及び前記シードを用いて生成された前記署名情報とを含む署名を、前記検証鍵とともに、前記シードを平文の暗号化における乱数として用いて暗号化された前記署名対象データに付加することを要旨とする。
本発明の特徴によれば、妥当な仮定の上での安全性を根拠としつつ、より迅速かつ容易に必要な処理を実行することができる署名装置、検証装置、復号装置、平文復元装置、情報提供装置、署名システム、通信システム、鍵生成装置及び署名方法を提供することができる。
次に、本発明の実施形態について説明する。なお、以下の図面の記載において、同一または類似の部分には、同一または類似の符号を付している。ただし、図面は模式的なものであり、各寸法の比率などは現実のものとは異なることに留意すべきである。
したがって、具体的な寸法などは以下の説明を参酌して判断すべきものである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。
(通信システムの全体概略構成)
図1は、本実施形態に係る通信システムの全体概略構成図である。図1に示すように、本実施形態に係る通信システムは、情報提供サーバ100、端末装置200、暗号文管理サーバ300、復号サーバ400〜400及び端末装置500を含む。
また、本実施形態に係る通信システムは、公開鍵暗号方式における復号鍵を複数の分散鍵に分散し、当該分散鍵を有する複数の復号サーバ(復号サーバ400〜400)が共同で処理を実行しなければ、平文mを復元できないようにした、いわゆる“しきい値暗号方式”にしたがった通信を実行することができる。また、しきい値暗号方式では、分散鍵を秘密の状態としつつ復号を実行することができる。
通信ネットワーク10は、通信システムに含まれる各サーバ及び端末装置を接続する通信ネットワークである。また、本実施形態では、端末装置200及び端末装置500は、無線基地局11A,11Bとの間において無線通信を実行する無線通信端末装置である。なお、端末装置200及び端末装置500は、無線ではなく、有線によって通信ネットワーク10に接続する端末装置であってもよい。
情報提供サーバ100は、端末装置200から端末装置500に対して送信される情報(具体的には、平文m)の暗号化及び復号に必要な情報(以下、提供情報)、例えば、公開情報pkや分散鍵skなどを提供する。
端末装置200は、本実施形態に係るしきい値暗号方式に基づいて、平文mを暗号化した補強暗号文Cを生成する。また、端末装置200は、生成した補強暗号文Cを暗号文管理サーバ300に送信する。なお、補強暗号文Cの生成方法については後述する。
暗号文管理サーバ300は、端末装置200から送信された補強暗号文Cを格納する。また、暗号文管理サーバ300は、復号サーバ400〜400または端末装置500からの要求に応じて、格納している補強暗号文Cを送信する。
復号サーバ400〜400は、暗号文管理サーバ300から送信された補強暗号文Cの正当性を検証するとともに、補強暗号文Cを用いて、平文mの部分的な復号情報である部分復号情報δを生成する。また、復号サーバ400〜400は、生成した部分復号情報δを端末装置500に送信する。
端末装置500は、復号サーバ400〜400から送信された部分復号情報δを検証する。また、端末装置500は、検証した部分復号情報δを用いて、平文mを復元する。
(通信システムの機能ブロック構成)
次に、本実施形態に係る通信システムの機能ブロック構成について説明する。なお、本実施形態では、位数qの群Gにおいて演算を実行するものとする。
また、本実施形態では、素数p(p-1はqを割り切る)に対して、Zp-1の部分群G(位数q)における利用方法を例として説明するが、楕円曲線上でも同様の演算を実行することができる。
さらに、群Gの生成元の一つをg1と定義する。また、特にただし書きがない場合、演算は、mod pにより実行されるものとする。
(1)情報提供サーバ100
図2は、情報提供サーバ100の機能ブロック構成図である。図2に示すように、情報提供サーバ100は、提供情報生成部101、鍵データベース103及び送信部105を備える。本実施形態において、情報提供サーバ100は、“情報提供装置”を構成する。
提供情報生成部101は、公開情報pkや分散鍵skなどを生成する。具体的には、提供情報生成部101は、定義域{0, q-1}の範囲内において、一様な確率で値を一つ選択し、選択した値(乱数x)を秘密情報xとする。
提供情報生成部101は、(1式)を用いて、公開鍵(h)を生成する。
Figure 0004856933
また、提供情報生成部101は、所定の方式(例えば、Shamir法)に基づいて、分散鍵skを生成する。具体的には、提供情報生成部101は、秘密情報xを複数(n個)に分散し、複数(n個)の分散鍵sk1,…, ski,…, sknを生成する。
より具体的には、提供情報生成部101は、0<i<tに対して、aiUZLと定義するとともに、a0=xと定義する。なお、“ZX”とは、0以上X未満の整数の集合(ZX=Z/XZ)を表す。また、“X∈UG”は、Gから一様な確率で要素Xを選択することを示す。
提供情報生成部101は、(2式)及び(3式)を用いて、分散鍵sk1,…, ski,…, sknを生成する。
Figure 0004856933
Figure 0004856933
さらに、提供情報生成部101は、(4式)を用いて、複数(n個)の部分復号検証鍵share vk1,…, share vki,…, share vknを生成する。
Figure 0004856933
ここで、νは、群Gの生成元の一つである。
また、提供情報生成部101は、端末装置200において用いられるハッシュ関数H1及びハッシュ関数H2(例えば、SHA-1)を選択することができる。提供情報生成部101は、選択したハッシュ関数H1及びハッシュ関数H2を示す情報(関数情報)を端末装置200などに提供することができる。
さらに、提供情報生成部101は、署名対象データの検証に用いられる検証鍵vk、任意の方法によって定められたシード(例えば、乱数)、平文mの暗号処理及び暗号化された署名対象データの復号処理に用いられる公開鍵及び復号鍵を生成することができる。本実施形態において、提供情報生成部101は、鍵生成部を構成する。
鍵データベース103は、提供情報生成部101によって生成された公開情報pk(公開鍵)、分散鍵sk1,…, ski,…, skn及び部分復号検証鍵share vk1,…, share vki,…, share vknなどを格納する。
また、鍵データベース103は、端末装置200において用いられるハッシュ関数H1及びハッシュ関数H2を格納することができる。
送信部105は、鍵データベース103に格納されている情報、具体的には、公開情報pk(公開鍵)、分散鍵sk1,…, ski,…, skn及び部分復号検証鍵share vk1,…, share vki,…, share vkn、シード、復号鍵などの提供情報を、通信システムを構成する他のサーバなどに送信する。本実施形態において、送信部105は、検証鍵送信部、シード送信部、公開鍵送信部及び復号鍵送信部を構成する。
また、送信部105は、鍵データベース103に格納されているハッシュ関数H1及びハッシュ関数H2を、端末装置200(署名装置)や復号サーバ400〜400(検証装置)などに送信することができる。本実施形態では、提供情報生成部101と送信部105とによって、情報提供部が構成される。
(2)端末装置200
図3は、端末装置200の機能ブロック構成図である。図3に示すように、端末装置200は、受信部201、第1乱数生成部203、第2乱数生成部205、暗号文生成部207、検証鍵生成部209、第1ハッシュ値生成部211、第2ハッシュ値生成部213、署名情報生成部215、署名部217及び送信部219を備える。本実施形態において、端末装置200は、“署名装置”を構成する。
受信部201は、情報提供サーバ100から公開情報pkを受信する。また、受信部201は、第1ハッシュ値生成部211において用いられるハッシュ関数H1、及び第2ハッシュ値生成部213において用いられるハッシュ関数H2を、情報提供サーバ100から受信することができる。
第1乱数生成部203は、署名情報vなどの生成に用いられる乱数sを生成する。具体的には、第1乱数生成部203は、定義域{0, q-1}の範囲内において、一様な確率で値を選択し、選択した値を乱数sとする。
第2乱数生成部205は、暗号文cなどの生成に用いられるシードを生成する。なお、シードとは、任意の方法によって定められた数字列や文字列などである。本実施形態では、第2乱数生成部205は、シードとして乱数rを生成する。具体的には、第2乱数生成部205は、第1乱数生成部203と同様の方法によって、乱数rを生成する。
暗号文生成部207は、平文mを暗号化し、暗号文cを生成する。具体的には、暗号文生成部207は、(5式)及び(6式)を用いて演算を実行し、暗号文cを生成する。本実施形態において、暗号文生成部207は、乱数rを用いて暗号化された暗号文c(署名対象データ)を取得する署名対象データ取得部を構成する。
Figure 0004856933
Figure 0004856933
ここで、Hは、ハッシュ関数(例えば、SHA-1)を示す。また、*は、排他的論理和を示す。
検証鍵生成部209は、乱数rを用いて、暗号文cの検証に用いられる検証鍵vkを生成する。具体的には、検証鍵生成部209は、(7式)を用いて検証鍵vkを生成する。
Figure 0004856933
ここで、u1が検証鍵vkに相当する。
第1ハッシュ値生成部211は、少なくとも検証鍵vkをハッシュ関数H1(第1のハッシュ関数)に入力し、ハッシュ値hA(第1のハッシュ値)を生成する。本実施形態において、第1ハッシュ値生成部211は、第1ハッシュ値生成部を構成する。
具体的には、第1ハッシュ値生成部211は、(8式)を用いてハッシュ値hAを生成する。
Figure 0004856933
ここで、g2がハッシュ値hAに相当する。
第2ハッシュ値生成部213は、少なくもハッシュ値hA及び暗号文cをハッシュ関数H2(第2のハッシュ関数)に入力し、ハッシュ値hB(第2のハッシュ値)を生成する。本実施形態において、第2ハッシュ値生成部213は、第2ハッシュ値生成部を構成する。
具体的には、第2ハッシュ値生成部213は、(9式)を用いてハッシュ値hBを生成する。
Figure 0004856933
ここで、eがハッシュ値hBに相当する。また、第2ハッシュ値生成部213は、(10式)〜(12式)を用いて、w1、w2及びu2を演算する。
Figure 0004856933
Figure 0004856933
Figure 0004856933
署名情報生成部215は、乱数rを用いて、暗号文cに対応する署名情報vを生成する。具体的には、署名情報生成部215は、ハッシュ値hA、ハッシュ値hB及び乱数rを用いて署名情報vを生成する。
Figure 0004856933
本実施形態では、f及びu2が署名情報vに相当する。
署名部217は、署名情報vを含む署名σを暗号文cに付加する。具体的には、署名部217は、署名σを(e,u2, f)として、暗号文cに付加する。
さらに、署名部217は、暗号文cに署名σが付加された補強暗号文Cを出力する。なお、補強暗号文Cは、(14式)に示すような構成を有する。
Figure 0004856933
上述した署名情報生成部215は、出力が常に一様分布にしたがって決まり、他の出力と無相関な関数であるランダムオラクルの存在を仮定した場合、検証鍵vkから作成できない情報(例えば、hやu1を用いて実行したしきい値暗号方式にしたがった演算結果)を、検証鍵vk及び署名情報vを用いて抽出できる。
より忠実には、ランダムオラクルの存在を仮定した場合、署名部217は、部分復号情報δを圧倒的に高い確率で抽出できる署名σを付加することができる。
さらに、署名情報生成部215は、検証鍵vkを用いて有効であると判断された署名σ(有効署名)と、検証鍵vkとのペアに基づいて、検証鍵vkと同一の検証鍵、さらには、検証鍵vkと異なる他の検証鍵と、有効署名とのペアを作成することができない署名情報vを生成することができる。
例えば、通常の署名では、(vk,σ,m)から(vk,σ',m')を得ることができない(ここで、少なくともσ≠σ'もしくはm≠m'の何れかが成立)。本実施形態に係る署名では、(vk,σ,m)から(vk',σ',m')を得ることができない(ここで、少なくともvk', σ', m'は、σ≠σ'、m≠mもしくはvk≠vk'の何れかが成立)。
また、署名部217は、上述したように、e(ハッシュ値hB)及びf(署名情報v)を含む署名σを前記署名対象データに付加することができる。さらに、署名部217は、e(ハッシュ値hB)と、e(ハッシュ値hB)及び乱数rを用いて生成されたf(署名情報v)とを含む署名σを、u1(検証鍵vk)とともに、乱数rを平文mの暗号化における乱数として用いて暗号化された暗号文cに付加することができる。
送信部219は、署名部217によって出力された補強暗号文Cを暗号文管理サーバ300に送信する。
(3)暗号文管理サーバ300
図4は、暗号文管理サーバ300の機能ブロック構成図である。図4に示すように、暗号文管理サーバ300は、受信部301、暗号文管理部303、暗号文データベース305及び送信部307を備える。
受信部301は、端末装置200から補強暗号文Cを受信する。また、受信部301は、復号サーバ400〜400から補強暗号文Cの送信要求を受信する。
暗号文管理部303は、受信部301が受信した補強暗号文Cを、送信元の端末装置ごとに管理する。また、暗号文管理部303は、受信部301が受信した補強暗号文Cを暗号文データベース305に格納する。
暗号文データベース305は、受信部301が受信した補強暗号文Cを格納するデータベースである。暗号文データベース305は、受信部301が受信した補強暗号文Cと、当該補強暗号文Cに対応する公開情報pkとを対応付けて格納する。
送信部307は、復号サーバ400〜400からの補強暗号文Cの送信要求に応じて、補強暗号文Cを復号サーバ400〜400に送信する。
(4)復号サーバ400〜400
図5は、復号サーバ400の機能ブロック構成図である。図4に示すように、復号サーバ400は、受信部401、検証部403、部分復号情報生成部405、送信部407及び記憶部409を備える。
なお、本実施形態では、復号サーバは複数(400〜400)設けられており、他の復号サーバも復号サーバ400と同一の機能ブロック構成を有する。
また、本実施形態において、復号サーバ400〜400は、“検証装置”及び“復号装置”を構成する。さらに、本実施形態では、端末装置200と復号サーバ400〜400とによって、“署名システム”が構成される。
受信部401は、暗号文管理サーバ300から分散鍵sk及び補強暗号文Cを受信する。
検証部403は、補強暗号文Cに含まれる暗号文cが正当であることを検証する。具体的には、検証部403は、ハッシュ関数H1と、ハッシュ関数H2と、ハッシュ値hA(第1のハッシュ値)及びハッシュ値hB(第2のハッシュ値)を用いて生成され暗号文c(署名対象データ)に付加されている署名σとを用いて暗号文cが正当であることを検証する。本実施形態において、検証部403は、検証装置側検証部を構成する。
より具体的には、検証部403は、(15式)を用いてg2を求める。
Figure 0004856933
さらに、検証部403は、(16式)を用いて当該演算が成立するか否かを判定する。検証部403は、当該演算が成立する場合、暗号文cが正当であると判定する。
Figure 0004856933
すなわち、検証部403は、ハッシュ関数H1と、ハッシュ関数H2と、ハッシュ値hA(第1のハッシュ値)及びハッシュ値hB(第2のハッシュ値)を用いて生成され暗号文c(署名対象データ)に付加されている署名σと、u1(検証鍵vk)とを用いて、暗号文cが正当であることを検証する。本実施形態において、検証部403は、復号装置側検証部を構成する。
また、検証部403は、部分復号情報δが正当であることを検証することができる。検証部403は、部分復号情報δが正当であることを証明する正当性証明情報pfを端末装置500に送信することができる。
部分復号情報生成部405は、部分復号情報δを生成する。具体的には、部分復号情報生成部405は、検証部403によって暗号文cが正当であることが検証されたことに応じて、暗号文cを復号する。本実施形態において、部分復号情報生成部405は、復号部を構成する。
具体的には、部分復号情報生成部405は、(17式)を用いて部分復号情報δ(δi)を生成する。
Figure 0004856933
送信部407は、部分復号情報生成部405によって生成された部分復号情報δを端末装置500に送信する。
記憶部409は、ハッシュ関数H1及びハッシュ関数H2を記憶する。本実施形態では、検証部403と記憶部409とによって、検証装置側第1のハッシュ関数取得部、検証装置側第2のハッシュ関数取得部、復号装置側第1のハッシュ関数取得部、及び復号装置側第2のハッシュ関数取得部が構成される。
なお、本実施形態では、記憶部409にハッシュ関数H1及びハッシュ関数H2に記憶されているが、ハッシュ関数H1及びハッシュ関数H2は、必要なときに、通信ネットワーク10などを介して外部から取得してもよい。
(5)端末装置500
図6は、端末装置500の機能ブロック構成図である。図6に示すように、端末装置500は、受信部501、検証部503、平文復元部505、送信部507、出力部509及び記憶部511を備える。本実施形態において、端末装置500は、“平文復元装置”を構成する。
受信部501は、復号サーバ400〜400のそれぞれによって復号された部分復号情報δを、復号サーバ400〜400から受信する。すなわち、受信部501は、平文mが暗号化された暗号文cの少なくとも一部分を復号することによって生成された複数の部分復号情報δ(δ1〜δn)を受信する。
また、受信部501は、部分復号情報δが正当であることを示す正当性証明情報pfを、復号サーバ400〜400から受信する。さらに、受信部501は、情報提供サーバ100から部分復号検証鍵share vk1,…, share vki,…, share vknを受信する。
検証部503は、部分復号情報δ(δ1〜δn)が正当であることを検証する。本実施形態において、検証部503は、復元装置側検証部を構成する。具体的には、検証部503は、ハッシュ関数H1と、ハッシュ関数H2と、ハッシュ値hA(第1のハッシュ値)及びハッシュ値hB(第2のハッシュ値)を用いて生成され暗号文c(署名対象データ)に付加されている署名σと、部分復号検証鍵share vk1,…, share vki,…, share vknとを用いて、部分復号情報δ(δ1〜δn)が正当であることを検証する。
より具体的には、検証部503は、上述した非特許文献1に記載されている方法にしたがって、部分復号検証鍵share vk1,…, share vki,…, share vknのそれぞれと、それらの生成元νと、正当性証明情報pfとを用いて、複数の部分復号情報δ1〜δnのそれぞれを検証する。
平文復元部505は、検証部503によって暗号文cが正当であることが検証されたことに応じて、受信部501が受信した部分復号情報δ(δ1〜δn)を結合し、平文mを復元する。具体的には、平文復元部505は、(18式)及び(19式)を用いて平文mを復元する。
Figure 0004856933
Figure 0004856933
送信部507は、補強暗号文Cの送信要求を暗号文管理サーバ300に送信する。また、送信部507は、補強暗号文Cの復号要求を復号サーバ400〜400に送信する。
出力部509は、平文復元部505によって復元された平文mを出力、例えば、表示部(不図示)に表示したり、文書ファイルとして生成したりすることができる。
記憶部511は、ハッシュ関数H1及びハッシュ関数H2を記憶する。本実施形態では、検証部503と記憶部511とによって、復元装置側第1のハッシュ関数取得部、及び復元装置側第2のハッシュ関数取得部が構成される。
なお、本実施形態では、記憶部511にハッシュ関数H1及びハッシュ関数H2に記憶されているが、ハッシュ関数H1及びハッシュ関数H2は、必要なときに、通信ネットワーク10などを介して外部から取得してもよい。

(通信システムの動作)
次に、上述した通信システムの動作について説明する。具体的には、(1)鍵生成処理、(2)暗号化処理、及び(3)復号及び復元処理の内容について説明する。
(1)鍵生成処理
図7は、通信システムの全体概略シーケンス図である。まず、鍵生成処理について説明する。図7に示すように、ステップS10において、情報提供サーバ100は、通信システムを構成する他の装置に提供される提供情報を生成する。
具体的には、情報提供サーバ100は、公開情報pk(公開鍵)、分散鍵sk1,…, ski,…, skn及び部分復号検証鍵share vk1,…, share vki,…, share vknを生成する。
ステップS20において、情報提供サーバ100は、生成した公開情報pkを端末装置200、暗号文管理サーバ300、復号サーバ400〜400及び端末装置500にそれぞれ送信する。
ステップS30において、情報提供サーバ100は、生成した分散鍵sk1,…, ski,…, sknを復号サーバ400〜400に送信する。例えば、情報提供サーバ100は、分散鍵sk1を復号サーバ400に送信する。
ステップS40において、情報提供サーバ100は、生成した部分復号検証鍵share vk1,…, share vki,…, share vknを端末装置500に送信する。
(2)暗号化処理
次に、暗号化処理について説明する。図7に示すように、ステップS100において、端末装置200は、平文mの暗号化処理を実行する。具体的には、端末装置200は、図8に示す暗号化処理フローにしたがって、平文mの暗号化処理を実行する。
図8に示すように、ステップS101において、端末装置200は、乱数rを選択する。
ステップS103において、端末装置200は、(5式)を用いて、べき乗演算を実行する。
ステップS105において、端末装置200は、(7式)を用いた演算を実行し、u1(検証鍵vk)を生成する。
ステップS107において、端末装置200は、(8式)を用いた演算を実行し、g2(ハッシュ値hA)を演算する。
ステップS109において、端末装置200は、(11式)を用いて、u2を演算する。
ステップS111において、端末装置200は、乱数sを選択する。
ステップS113において、端末装置200は、(10式)を用いて、w1を演算する。
ステップS115において、端末装置200は、(11式)を用いて、w2を演算する。
なお、ステップS101〜S115の処理順序は、必ずしも図8に示したフローにしたがう必要はない。また、ステップS101〜S115の処理は、平文mが決定する前に、予め実行することができる。
ステップS117において、端末装置200は、(6式)を用いた演算を実行し、暗号文cを生成する。
ステップS119において、端末装置200は、(9式)を用いた演算を実行し、e(ハッシュ値hB)を生成する。
ステップS121において、端末装置200は、(13式)を用いた演算を実行し、f(署名情報v)を生成する。
ステップS123において、端末装置200は、(14式)を用いた演算を実行し、補強暗号文Cを生成する。
次に、図7に示すように、ステップS200において、端末装置200は、生成した補強暗号文Cを暗号文管理サーバ300に送信する。
ステップS210において、暗号文管理サーバ300は、受信した補強暗号文Cを格納する。
(3)復号及び復元処理
次に、復号及び復元処理について説明する。図7に示すように、ステップS220において、端末装置500は、補強暗号文Cの送信要求を暗号文管理サーバ300に送信する。
ステップS230において、暗号文管理サーバ300は、当該送信要求に基づいて、格納している補強暗号文Cを端末装置500に送信する。なお、ステップS220及びS230の処理は省略しても構わない。
ステップS240において、端末装置500は、補強暗号文Cに含まれる暗号文cの復号要求を復号サーバ400〜400に送信する。
ステップS250において、復号サーバ400〜400は、当該復号要求に基づいて、補強暗号文Cの送信要求を暗号文管理サーバ300に送信する。
ステップS260において、暗号文管理サーバ300は、当該送信要求に基づいて、格納している補強暗号文Cを端末装置500に送信する。
ステップS270において、復号サーバ400〜400は、補強暗号文Cに含まれる暗号文cの正当性を検証する。具体的には、復号サーバ400〜400は、図9に示すフローにしたがって正当性検証処理と復号処理を実行する
図9に示すように、ステップS271において、復号サーバ(例えば、復号サーバ400)は、(15式)を用いてg2を求める。ステップS273において、復号サーバは、(16式)を用いてe'を求める。
ステップS275において、復号サーバは、当該演算が成立するか否かを判定する。当該演算が成立する場合(ステップS275のYES)、ステップS277において、復号サーバは、暗号文cが正当であると判定し、暗号文cを復号する。
一方、当該演算が成立しない場合(ステップS275のNO)、ステップS279において、復号サーバは、暗号文cが正当でないと判定し、Invalid symbolを出力する。
次いで、図8に示すように、ステップS280において、復号サーバ400〜400は、部分復号情報δ(δ1〜δn)を生成する。具体的には、復号サーバ400〜400のそれぞれは、(17式)を用いて部分復号情報δを生成する。
ステップS290において、復号サーバ400〜400は、生成した部分復号情報δ(δ1〜δn)を端末装置500に送信する。
ステップS300において、端末装置500は、受信した部分復号情報δ(δ1〜δn)の正当性を検証する。具体的には、端末装置500は、(18式)を用いて演算を実行し、部分復号検証鍵share vk1,…, share vki,…, share vknのそれぞれと、それらの生成元νと、正当性証明情報pfとを用いて、複数の部分復号情報δ1〜δnのそれぞれを検証する。
ステップS310において、端末装置500は、部分復号情報δ(δ1〜δn)を結合し、(19式)を用いて平文mを復元する。
(作用・効果)
以上説明した本実施形態に係る通信システムによれば、平文m(署名対象データ)が決定する前に、予めハッシュ値hAを演算することができる。さらに、平文mが決定する前に、ハッシュ値hAを用いる他の演算(例えば、(11式)や(12式))も実行することができる。
また、本通信システムによれば、すべてのべき乗の演算を平文mが決定するよりも前に実行することができるため、平文mの決定後、迅速かつ効率的に平文mを暗号化することができる。
すなわち、本通信システムによれば、上述した非特許文献1に記載されているしきい値暗号方式と比較して、平文mの暗号化処理を実行する端末装置200に要求される処理能力や必要記憶容量が低減される。このため、処理能力や記憶容量が限定的な無線通信端末装置であっても迅速かつ効率的に平文mを暗号化することができる。
さらに、本通信システムによれば、少なくとも検証鍵vkをハッシュ関数H1に入力すること、及びハッシュ関数H2を用いることによって、“緊密な安全性”が達成される。ここで、緊密な安全性とは、以下の議論において確率PAと、確率PBとの差が無視できるほど小さいことをいう。
暗号方式や署名方式の安全性に関する議論では、当該方式の安全性を確率PAで破る攻撃者が居たときに、安全性の根拠となる仮定(ある問題が難しいという仮定)を確率PBで破れるという帰着を行う。
つまり、緊密な安全性では、当該署名方式にしたがった署名をもとに、ランダムオラクルをシミュレーションした場合、安全性の根拠となる問題を圧倒的な確率で解くということになる。このとき、確率PAと確率PBとの差は、小さいほうがいい。確率PA=1であっても、確率PB≒0.00000000000001では帰着効率が悪く、仮定の内容に飛躍があり過ぎて望ましくない。
また、暗号文cに単に署名を付加すると、次の二つの問題があり、安全性の向上が保障されない。
まず、選択暗号文攻撃においてターゲットとなる暗号文c、つまり、攻撃者は、解読したい暗号文(検証鍵を含む)をもとに、別な検証鍵で有効だと判断される署名を偽造する。攻撃者は、暗号文cと何らかの関連性がある暗号文c'を構成できてしまうと、暗号文c'の復号結果から暗号文cに関する情報を得られる可能性がある。このような事象は、ある検証鍵のもとで有効だと判断される署名をもとに、別な検証鍵で有効だと判断される署名を偽造できる場合に発生し得る。
このような事象は、検証鍵vkをハッシュ関数H1に入力すること、及びハッシュ関数H2を用いることによって防止できる。
また、“緊密な安全性”を有さない署名を用いると、選択暗号文攻撃に対する安全性の証明が行えないといった問題がある。選択暗号文攻撃を選択平文攻撃と同様にするために選択暗号文攻撃による復号結果の“シミュレーション”を実行する都度、確率PAと確率PBとの差がどんどん大きくなってしまうためである。
なお、“シミュレーション”とは、安全性証明に用いる手法の一つである。具体的には、攻撃者が得た情報を攻撃者自身が構成(シミュレーション)可能な場合、攻撃者が得た情報に価値が無いと見なし、「当該情報を与えても攻撃者の攻撃は有利にならない」とする議論のことである。解読できない署名や暗号文にシミュレーションできる情報を与えてもその署名や暗号文は安全と見なす。
緊密な安全性を有する署名では、ランダムオラクルモデルのもとにおいて、ある問題を署名の結果から圧倒的な確率で解くということになる。
上述したように、本通信システムでは、検証鍵vkをハッシュ関数H1に入力すること、及びハッシュ関数H2を用いるため、攻撃者が署名を構成した場合、秘密鍵に関する部分情報を持っていることになるため、秘密鍵(暗号化のための乱数)に関する情報をもとに復号結果のシミュレーションを実行することができる。
つまり、以上説明したように、本通信システムによれば、決定問題の困難性(hardness of the computational Diffie-Hellman problem)という妥当な仮定の上での安全性を根拠としつつ、より迅速かつ容易に暗号化などに必要な処理を実行することができる。
(その他の実施形態)
上述したように、本発明の一実施形態を通じて本発明の内容を開示したが、この開示の一部をなす論述及び図面は、本発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態が明らかとなろう。
例えば、上述した本発明の実施形態では、Diffie-Hellman(DH)に基づくしきい値暗号方式を例として説明したが、例えば、RSAに基づくしきい値暗号方式にも本発明を適用することができる。また、これらのしきい値暗号方式に基づいて、一般的な公開鍵暗号方式において用いられる情報(秘密鍵や公開鍵)を構成することもできる。
例えば、RSAの場合、鍵生成としてはじめにΛ/2ビットの素数p, qを生成する。ここで、セキュリティパラメータΛ2を導入する。また、gcd(e, φ(N)) = 1 となるような整数eを選択する。暗号文の生成は以下のように実行する。まず、0からN-1までの範囲で一様な確率で乱数sを演算し、h = seとなるhを求める。検証鍵はhになり、これらを用いて、以下の演算を実行する。
署名σ = (u, v)は以下のように生成する。平文のビット数を“l”(エル)としてハッシュ関数は(20式)のように定義する。また、特にただし書きがない場合、演算はmod Nにより実行されるものとする。
Figure 0004856933
まず、(21式)による演算を実行する。次いで、乱数rj(j = 1, 2, . . .,Λ2)、(22式)及び(23式)を用いて、コミット値CTを演算する。
Figure 0004856933
Figure 0004856933
Figure 0004856933
次に、(24式)を用いて、チャレンジctを得る。
Figure 0004856933
さらに、(25式)を用いて、レスポンスRを返す。また、暗号文は、(26式)に示すような構成となる。
Figure 0004856933
Figure 0004856933
検証は以下のように実行する。まず、(27式)による演算を実行する。
Figure 0004856933
次に、(28式)が成立するか否かを判定する。なお、sの抽出は、Hの監視により可能となることにより安全性の証明を実行する。
Figure 0004856933
なお、暗号文が正しい場合、hを部分復号し、部分復号情報を出力する。部分復号、部分復号情報の検証及び復号処理の方法は、「P.-A.Fouque, G.Poupard and J.Stern, "Sharing Decryption in the Context of Voting or Lotteries," Financial Cryptography 2000, pp.90--104, 2000」において紹介されている方法を用いることができる。
また、上述した本発明の実施形態では、署名装置として、無線通信端末装置である端末装置200を用いる形態としたが、本発明は、携帯情報端末(PDA)やICカードにも適用することができる。
上述した本発明の実施形態では、復号サーバ400〜400が、検証装置及び復号装置の機能を具備する形態としたが、検証装置の機能を提供するサーバを復号サーバ400〜400と別個に設けても構わない。
上述した本発明の実施形態では、暗号文管理サーバ300を介して補強暗号文Cを送受信する形態としたが、端末装置200は、暗号文管理サーバ300を用いずに、復号サーバ400〜400に直接補強暗号文Cを送信するようにしてもよい。さらに、復号サーバ400〜400が端末装置500の機能を兼ね備え、平文mを復元するようにしてもよい。
また、端末装置200の機能及び端末装置500の機能を1台の端末装置に具備してもよい。さらに、上述した通信システムを構成する各装置の機能は、コンピュータや通信端末装置において実行可能なプログラムとしても提供することもできる。
上述した本発明の実施形態では、乱数rを用いて暗号化された暗号文cを署名対象データとしていて、かつ乱数rをシードとして用いているが、暗号化されていない署名対象データに署名σを付加してもよい。
このように、本発明は、ここでは記載していない様々な実施の形態などを含むことは勿論である。したがって、本発明の技術的範囲は、上述の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
本発明の実施形態に係る通信システムの全体概略構成図である。 本発明の実施形態に係る情報提供サーバの機能ブロック構成図である。 本発明の実施形態に係る端末装置(暗号化側)の機能ブロック構成図である。 本発明の実施形態に係る暗号文管理サーバの機能ブロック構成図である。 本発明の実施形態に係る復号サーバの機能ブロック構成図である。 本発明の実施形態に係る端末装置(復元側)の機能ブロック構成図である。 本発明の実施形態に係る通信システムの全体概略シーケンス図である。 本発明の実施形態に係る端末装置(暗号化側)における暗号化処理フローである。 本発明の実施形態に係る復号サーバにおける正当性検証処理と復号処理のフローである。
符号の説明
10…通信ネットワーク、11A,11B…無線基地局、100…情報提供サーバ、101…提供情報生成部、103…鍵データベース、105…送信部、200…端末装置、201…受信部、203…第1乱数生成部、205…第2乱数生成部、207…暗号文生成部、209…検証鍵生成部、211…第1ハッシュ値生成部、213…第2ハッシュ値生成部、215…署名情報生成部、217…署名部、219…送信部、300…暗号文管理サーバ、301…受信部、303…暗号文管理部、305…暗号文データベース、307…送信部、400〜400…復号サーバ、401…受信部、403…検証部、405…部分復号情報生成部、407…送信部、409…記憶部、500…端末装置、501…受信部、503…検証部、505…平文復元部、507…送信部、509…出力部、511…記憶部

Claims (15)

  1. 署名対象データを取得する署名対象データ取得部と、
    任意の方法によって定められたシードを用いて、前記署名対象データの検証に用いられる検証鍵を生成する検証鍵生成部と、
    前記シードを用いて、前記署名対象データに対応する署名情報を生成する署名情報生成部と、
    前記署名情報を含む署名を前記署名対象データに付加する署名部と
    を備え、
    前記署名情報生成部は、
    出力が常に一様分布にしたがって決まり、他の出力と無相関な関数であるランダムオラクルの存在を仮定した場合、前記検証鍵のみから作成できない情報を、前記検証鍵及び前記署名情報を用いて抽出でき、
    前記検証鍵を用いて有効であると判断された有効署名と、前記検証鍵とのペアに基づいて、前記検証鍵と同一の検証鍵、さらには前記検証鍵と異なる他の検証鍵と、有効署名とのペアを作成することができない前記署名情報を生成する署名装置。
  2. 少なくとも前記検証鍵を第1のハッシュ関数に入力し、第1のハッシュ値を生成する第1ハッシュ値生成部と、
    少なくも前記第1のハッシュ値及び前記署名対象データを第2のハッシュ関数に入力し、第2のハッシュ値を生成する第2ハッシュ値生成部と
    をさらに備え、
    前記署名部は、前記第2のハッシュ値及び前記署名情報を含む署名を前記署名対象データに付加する請求項1に記載の署名装置。
  3. 前記署名情報生成部は、前記第1のハッシュ値、前記第2のハッシュ値及び前記シードを用いて前記署名情報を生成し、
    前記署名部は、前記第2のハッシュ値と、前記第2のハッシュ値及び前記シードを用いて生成された前記署名情報とを含む署名を、前記検証鍵とともに、前記シードを平文の暗号化における乱数として用いて暗号化された前記署名対象データに付加する請求項2に記載の署名装置。
  4. 署名対象データの検証に用いられる検証鍵を少なくとも入力することによって、第1のハッシュ値を生成する第1のハッシュ関数を取得する検証装置側第1のハッシュ関数取得部と、
    少なくとも前記第1のハッシュ値及び前記署名対象データを入力することによって、第2のハッシュ値を生成する第2のハッシュ関数を取得する検証装置側第2のハッシュ関数取得部と、
    前記第1のハッシュ関数と、前記第2のハッシュ関数と、前記第1のハッシュ値及び前記第2のハッシュ値を用いて生成され、前記署名対象データに付加されている署名とを用いて前記署名対象データが正当であることを検証する検証装置側検証部と
    を備える検証装置。
  5. 暗号化された署名対象データの検証に用いられる検証鍵を少なくとも入力することによって、第1のハッシュ値を生成する第1のハッシュ関数を取得する復号装置側第1のハッシュ関数取得部と、
    少なくとも前記第1のハッシュ値及び前記署名対象データを入力することによって、第2のハッシュ値を生成する第2のハッシュ関数を取得する復号装置側第2のハッシュ関数取得部と、
    前記第1のハッシュ関数と、前記第2のハッシュ関数と、前記第1のハッシュ値及び前記第2のハッシュ値を用いて生成され、前記署名対象データに付加されている署名と、前記検証鍵とを用いて、前記署名対象データが正当であることを検証する復号装置側検証部と、
    前記復号装置側検証部によって前記署名対象データが正当であることが検証されたことに応じて、前記署名対象データを復号する復号部と
    を備える復号装置。
  6. 平文が暗号化された署名対象データの少なくとも一部分を復号することによって生成された複数の部分復号情報を受信する受信部と、
    前記署名対象データの検証に用いられる検証鍵を少なくとも入力することによって、第1のハッシュ値を生成する第1のハッシュ関数を取得する復元装置側第1のハッシュ関数取得部と、
    少なくとも前記第1のハッシュ値及び前記署名対象データを入力することによって、第2のハッシュ値を生成する第2のハッシュ関数を取得する復元装置側第2のハッシュ関数取得部と、
    前記受信部が受信した前記部分復号情報を結合し、平文を復元する平文復元部と
    を備える平文復元装置。
  7. 前記部分復号情報を検証する部分復号情報検証鍵を用いて、前記部分復号情報が正当であることを検証する復元装置側検証部をさらに備え、
    前記平文復元部は、前記復元装置側検証部によって前記部分復号情報が正当であることが検証されたことに応じて、前記平文を復元する請求項6に記載の平文復元装置。
  8. 暗号化された署名対象データの検証に用いられる検証鍵を少なくとも入力することによって、第1のハッシュ値を生成する第1のハッシュ関数を記憶する情報提供装置側第1のハッシュ関数記憶部と、
    少なくとも前記第1のハッシュ値及び前記署名対象データを入力することによって、第2のハッシュ値を生成する第2のハッシュ関数を記憶する情報提供装置側第2のハッシュ関数記憶部と、
    前記第第1のハッシュ関数及び前記第2のハッシュ関数を示す関数情報を提供する情報提供部と
    を備え、
    前記情報提供部は、
    少なくとも前記第2のハッシュ値を含む署名を前記署名対象データに付加する署名装置、または
    前記署名、前記第1のハッシュ値、前記第2のハッシュ値、前記検証鍵を用いて前記署名対象データが正当であることを検証する検証装置
    の少なくとも何れかに対して、前記第第1のハッシュ関数及び前記第2のハッシュ関数を提供する情報提供装置。
  9. 請求項1乃至3の何れかの署名装置と、
    請求項4の検証装置と
    を備える署名システム。
  10. 請求項1乃至3の何れかの署名装置と、
    請求項4の検証装置と、
    請求項5の復号装置と、
    請求項6または7の平文復元装置と
    を備える通信システム。
  11. 請求項9の署名システムにおいて用いられ、署名対象データの検証に用いられる検証鍵、及び任意の方法によって定められたシードを生成する鍵生成部と、
    前記検証鍵を検証装置に送信する検証鍵送信部と、
    前記シードを署名装置に送信するシード送信部と
    を備える鍵生成装置。
  12. 請求項10の通信システムにおいて用いられ、少なくとも平文の暗号処理及び暗号化された署名対象データの復号処理に用いられる公開鍵及び復号鍵を生成する鍵生成部と、
    前記公開鍵を検証装置、復号装置または平文復元装置の少なくとも何れかに送信する公開鍵送信部と、
    前記復号鍵を前記復号装置に送信する復号鍵送信部と
    を備える鍵生成装置。
  13. 署名対象データを取得し、
    任意の方法によって定められたシードを用いて、前記署名対象データの検証に用いられる検証鍵を生成し、
    前記シードを用いて、前記署名対象データに対応する署名情報を生成し、
    前記署名情報を含む署名を前記署名対象データに付加し、
    前記署名を付加する場合には、出力が常に一様分布にしたがって決まり、他の出力と無相関な関数であるランダムオラクルの存在を仮定した場合、前記検証鍵のみから作成できない情報を、前記検証鍵及び前記署名情報を用いて抽出でき、
    前記検証鍵を用いて有効であると判断された有効署名に基づいて、前記検証鍵と異なる他の検証鍵を用いて前記有効署名を作成することができない前記署名を付加する署名方法。
  14. 少なくとも前記検証鍵を第1のハッシュ関数に入力し、第1のハッシュ値を生成し、
    少なくも前記第1のハッシュ値及び前記署名対象データを第2のハッシュ関数に入力して、第2のハッシュ値を生成し、
    前記第2のハッシュ値及び前記署名情報を含む署名を前記署名対象データに付加する請求項13に記載の署名方法。
  15. 前記署名情報を生成する場合、前記第1のハッシュ値、前記第2のハッシュ値及び前記シードを用いて前記署名情報を生成し、
    前記第2のハッシュ値と、前記第2のハッシュ値及び前記シードを用いて生成された前記署名情報とを含む署名を、前記検証鍵とともに、前記シードを平文の暗号化における乱数として用いて暗号化された前記署名対象データに付加する請求項14に記載の署名方法。
JP2005335018A 2005-11-18 2005-11-18 署名装置、検証装置、復号装置、平文復元装置、情報提供装置、署名システム、通信システム、鍵生成装置及び署名方法 Expired - Fee Related JP4856933B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005335018A JP4856933B2 (ja) 2005-11-18 2005-11-18 署名装置、検証装置、復号装置、平文復元装置、情報提供装置、署名システム、通信システム、鍵生成装置及び署名方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005335018A JP4856933B2 (ja) 2005-11-18 2005-11-18 署名装置、検証装置、復号装置、平文復元装置、情報提供装置、署名システム、通信システム、鍵生成装置及び署名方法

Publications (2)

Publication Number Publication Date
JP2007142897A JP2007142897A (ja) 2007-06-07
JP4856933B2 true JP4856933B2 (ja) 2012-01-18

Family

ID=38205199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005335018A Expired - Fee Related JP4856933B2 (ja) 2005-11-18 2005-11-18 署名装置、検証装置、復号装置、平文復元装置、情報提供装置、署名システム、通信システム、鍵生成装置及び署名方法

Country Status (1)

Country Link
JP (1) JP4856933B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5142361B2 (ja) * 2007-07-30 2013-02-13 株式会社エヌ・ティ・ティ・ドコモ 正当性検証装置
CN110781140B (zh) * 2019-09-06 2023-08-18 平安科技(深圳)有限公司 区块链中数据签名的方法、装置、计算机设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005321719A (ja) * 2004-05-11 2005-11-17 Ntt Docomo Inc 通信システム、復号装置、復元装置、鍵生成装置及び通信方法

Also Published As

Publication number Publication date
JP2007142897A (ja) 2007-06-07

Similar Documents

Publication Publication Date Title
EP3779751A1 (en) Multi-party security computing method and apparatus, and electronic device
US7899184B2 (en) Ends-messaging protocol that recovers and has backward security
US20190386825A1 (en) Key exchange devices and methods
US9705683B2 (en) Verifiable implicit certificates
US11870891B2 (en) Certificateless public key encryption using pairings
CN110545169B (zh) 基于非对称密钥池和隐式证书的区块链方法和系统
JP2022521525A (ja) データを検証するための暗号方法
CN110784314A (zh) 无证书的加密信息处理方法
WO2022167163A1 (en) Threshold key exchange
JP2014515125A (ja) データの暗号化のための方法、コンピュータ・プログラム、および装置
JP6468567B2 (ja) 鍵交換方法、鍵交換システム
EP3010173B1 (en) Key storage device, key storage method, and program therefor
KR100396740B1 (ko) 계산적 디피-헬만 가정에 기반하는 안전성 증명 가능한공개키 암호화 방법
US20220038267A1 (en) Methods and devices for secured identity-based encryption systems with two trusted centers
JP4758110B2 (ja) 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法
KR20040009766A (ko) 암호 시스템에서 송수신 장치 및 방법
JP4856933B2 (ja) 署名装置、検証装置、復号装置、平文復元装置、情報提供装置、署名システム、通信システム、鍵生成装置及び署名方法
JP2005198189A (ja) 鍵更新方法、暗号システム、暗号サーバ、端末装置及び外部装置
JP4563037B2 (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
KR101793528B1 (ko) 무인증서 공개키 암호 시스템
JP2005176144A (ja) 端末装置、通信システム及び通信方法
JP4960688B2 (ja) 署名検証装置、暗号化装置、署名検証方法及び暗号化方法
JP2006319485A (ja) 署名装置、署名暗号化装置、検証装置、復号装置、復元装置、情報提供装置、通信システム、署名方法、署名暗号化方法及び検証方法
JP2005198187A (ja) 暗号方法、暗号システム及び端末装置
RU2654122C2 (ru) Способ доставки ключа с проверкой подлинности корреспондента радиосети

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110726

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110926

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: 20111018

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111031

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees