(57)【特許請求の範囲】
【請求項１】
暗号文の受信者が該暗号文または、対応する平文の作成者を認証する認証付暗号システムの暗号化装置における認証付暗号方法において、
送信者の署名鍵ｓｋｓ、署名検証鍵ｐｋｓ、暗号化鍵ｐｋｒとし、該署名検証鍵ｐｋｓと該暗号化鍵ｐｋｒが公開鍵として公開されている場合に、二者間の暗号通信に使用する公開鍵暗号方法であって、受信者を特定する固有値をＩＤｂとし、暗号文ｃを作成する場合に、
乱数生成手段が、乱数ｒを生成する乱数生成ステップと、
宛先認証子作成手段が、前記受信者を特定する固有値ＩＤｂと前記乱数ｒから宛先認証子ｈを作成する宛先認証子作成ステップと、
署名生成手段が、前記宛先認証子ｈに対する署名σを前記署名鍵を用いて生成する署名生成ステップと、
暗号化手段が、（ｍ，ｒ，σ）を前記暗号化鍵ｐｋｒを用いて暗号化し、暗号文ｃを得る暗号化ステップと、
を行うことを特徴とする認証付暗号方法。
【請求項２】
前記宛先認証子作成ステップにおいて、
前記宛先認証子作成手段が、前記宛先認証子ｈを生成する際に、前記乱数ｒと前記ＩＤｂから作成したｈに対して、同一のｈとなる異なるｒ’、ＩＤｂ’を作成することが不可能、あるいは、非常に困難である手法を用いる請求項１記載の認証付暗号方法。
【請求項３】
前記署名生成ステップにおいて、
前記署名生成手段が、前記署名σを生成する際に、
適応的選択文書攻撃に対して潜在的偽造不可能な方法を用いる請求項１記載の認証付暗号方法。
【請求項４】
前記暗号化ステップにおいて、
前記暗号化手段が、適応的選択暗号文攻撃に対して識別不可能な方法を用いる請求項１記載の認証付暗号方法。
【請求項５】
暗号文の受信者が該暗号文または、対応する平文の作成者を認証する認証付暗号システムにおける認証付暗号装置であって、
送信者の署名鍵ｓｋｓ、署名検証鍵ｐｋｓ、暗号化鍵ｐｋｒとし、該署名検証鍵ｐｋｓと該暗号化鍵が公開鍵として公開されている場合に、
乱数ｒを生成する乱数生成手段と、
前記受信者を特定する固有値ＩＤｂと前記乱数ｒから宛先認証子ｈを作成する宛先認証子作成手段と、
前記宛先認証子ｈに対する署名σを前記署名鍵を用いて生成する署名生成手段と、
（ｍ，ｒ，σ）を前記暗号化鍵ｐｋｒを用いて暗号化し、暗号文ｃを得る暗号化手段とを有することを特徴とする認証付暗号装置。
【請求項６】
前記宛先認証子生成手段は、
前記乱数ｒと前記ＩＤｂから作成したｈに対して、同一のｈとなる異なるｒ’、ＩＤｂ’を作成することが不可能、あるいは、非常に困難である手段を用いる請求項５記載の認証付暗号装置。
【請求項７】
前記署名生成手段は、
適応的選択文書攻撃に対して潜在的偽造不可能な方法を用いる請求項５記載の認証付暗号装置。
【請求項８】
前記暗号化手段は、
適応的選択暗号文攻撃に対して識別不可能な方法を用いる請求項５記載の認証付暗号装置。
【請求項９】
コンピュータに、
請求項５乃至８記載の認証付暗号装置の機能を実行させることを特徴とする認証付暗号プログラム。
【請求項１０】
請求項９記載の認証付暗号プログラムを格納したことを特徴とするコンピュータが読み取り可能な記録媒体。
【請求項１１】
暗号文の受信者が該暗号文または、対応する平文の作成者を認証する認証付暗号システムにおける認証付復号方法において、
署名検証鍵ｐｋｓ、該署名検証鍵ｐｋｓ、受信者の復号鍵ｓｋｒとし、該署名検証鍵ｐｋｓと暗号化鍵ｐｋｒが公開鍵として公開されている場合に、二者間の暗号通信に使用する公開鍵復号方法であって、受信者を特定する固有値をＩＤｂとし、暗号文ｃを復号する場合に、
復号手段が、前記暗号文ｃを前記復号鍵ｓｋｒを用いて復号し、復号の過程で、不正な暗号文と判断された場合には、処理を中止し、正当な暗号文である場合には、復号結果（ｍ，ｒ，σ）を得る復号ステップと、
宛先認証子生成手段が、前記受信者の特定する固有値ＩＤｂと乱数ｒから宛先認証子ｈを作成する宛先認証子生成ステップと、
署名検証手段が、前記署名σが前記宛先認証子ｈに対する正しい署名であることを前記署名検証鍵ｐｋｓを用いて検証し、検証に合格すれば、ｍを正当なメッセージとし、不合格であれば、ｍは不正なメッセージであると判断する署名検証ステップと、
を行うことを特徴とする認証付復号方法。
【請求項１２】
暗号文の受信者が該暗号文または、対応する平文の作成者を認証する認証付暗号システムにおける認証付復号装置であって、
署名検証鍵ｐｋｓ、該署名検証鍵ｐｋｓ、受信者の復号鍵ｓｋｒとし、該署名検証鍵ｐｋｓと暗号化鍵ｐｋｒが公開鍵として公開されている場合に、
前記暗号文ｃを前記復号鍵ｓｋｒを用いて復号し、復号の過程で、不正な暗号文と判断された場合には、処理を中止し、正当な暗号文である場合には、復号結果（ｍ，ｒ，σ）を得る復号手段と、
前記受信者の特定する固有値ＩＤｂと乱数ｒから宛先認証子ｈを作成する宛先認証子生成手段と、
前記署名σが前記宛先認証子ｈに対する正しい署名であることを前記署名検証鍵ｐｋｓを用いて検証し、検証に合格すれば、ｍを正当なメッセージとし、不合格であれば、ｍは不正なメッセージであると判断する署名検証手段と、
を有することを特徴とする認証付復号装置。
【請求項１３】
コンピュータに、
請求項１２記載の認証付復号装置の機能を実行させることを特徴とする認証付復号プログラム。
【請求項１４】
請求項１３の認証付復号プログラムを格納したことを特徴とするコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、認証付暗号方法及び認証付復号方法及び装置及びプログラム及びコンピュータが読み取り可能な記録媒体に係り、特に、電気通信システムにおける暗号及びディジタル署名技術の、暗号文の受信者が該暗号文または、対応する平文の作成者を認証する認証付システムでの、認証付暗号方法及び認証付復号方法及び装置及びプログラム及びコンピュータが読み取り可能な記録媒体に関する。
【０００２】
【従来の技術】
二者間の暗号通信で、受信者が受信文書の完全性を検証する方法が従来より知られている。受信者と送信者が他者に秘密の鍵を共有している、いわゆる共通鍵設定方法においては、送信する暗号文にデータ認証子(Message Authentication Code:MAC) を添付することでデータ認証が可能である。事前の鍵共有が困難な状況においては、公開鍵暗号に基づいてディジタル署名を送信文に付与することによってデータ認証を行うことが一般的である。しかしながら、公開鍵暗号に基づくディジタル署名を添付することは、通信の当事者以外の第三者にとっても、送信者がある平文を送信したことについて証拠性を持ってしまう。指定検証者署名は、署名が指定した検証者から第三者に流通したとしても、第三者にとっては、それが元々の発信者の署名であるのか、その検証者が偽造した署名であるのか区別がつかないという特性を持つ。その特性ゆえ、第三者にとっては、発信者の署名としての証拠性を持たない署名方法である。
従来の技術として、Cramer等による「Disignated Verifier 署名方法("Proofs of Partial Knowledge and Simplified Design of Witncess Hiding Proofs" Crypto'94, LNCS 839, pp.174-187, Springer Verlag, 1994)について説明する。
ｐi ，ｑi をそれぞれ大きな素数とし、ｑi はｐi を割り切るものとする。ｇi をｐi の位数ｑi の部分群の生成源とする。
【０００３】
ｘi ∈Ｚqi
を秘密鍵、
ｙi ＝ｇi xi mod  ｐi
をと共に公開鍵とする。
【０００４】
２個の公開鍵（ｙj ，ｇj ，ｑj ，ｐj ）ｊ＝０，１のうち、いずれかのｙi に関して、対応する秘密鍵ｘi を知る署名者は、以下の手順で文書ｍに対する署名を生成する。以下の例では、一般性を失うことなく、ｉ＝０であるする。Ｈをｑ0 ，ｑ1 うち大きい方のビット数の出力域を持つハッシュ関数とする。集合αから一つの元のβをランダムに選ぶ行為をβ←αと書くことにする。
【０００５】
▲１▼  以下を実行する。
【０００６】
（ａ）  ｓ1 ←Ｚqi
（ｂ）  ｃ1 ←｛０，１｝L
（ｃ）  ｚ1 ：＝ｇ1 s1ｙ1 c1 mod  ｐ1
▲２▼  ｒ0 ←Ｚq0
▲３▼  ｚ0 ：＝ｇi ri mod  ｐ0
▲４▼  ｃ：＝Ｈ（ｚ0 ‖ｚ1 ‖ｍ）
▲５▼  ｃ0 ＝ｃ×ｃ1   （但し、×は論理積）
▲６▼  ｓ0 ：＝ｒ0 −ｃ0 ・ｘ0 mod ｑ0
▲７▼  （ｃ0 ，ｓ0 ，ｃ1 ，ｓ1 ）を出力する。
【０００７】
文書ｍに対する署名（ｃ0 ，ｓ0 ，ｃ1 ，ｓ1 ）は、以下が成り立つとき、正しい署名と認める。
【０００８】
ｃ0 ×ｃ1 ＝Ｈ（ｇ00s0，ｙ0 co mod p0 ‖ｇ1 s1ｙi ci mod  ｐ1 ‖ｍ）
（但し、×は論理積）
上記の従来の方法によれば、署名の受信者は、署名者がどの公開鍵に対応する秘密鍵を保持しているのかを見分けることはできない。従って、第三者にとっては、発信者の署名としての証拠性を持たない署名方法である。上記の私的検証者署名を用いて、暗号文に署名を付けることによって、受信者は受信した文書が発信者の意図したものであることを確認できる。
【０００９】
【発明が解決しようとする課題】
しかしながら、上記従来のDesignated  Verifier署名に基づく方法では、第三者にとって、送信者あるいは指定検証者のいずれかが生成した署名としての証拠性を有している。よって、指定検証者の意図的な署名漏洩に対しては、送信者はその署名の否認できるが、第三者が何等かの手段で入手した署名に対しては、送信者及び指定検証者の両者が共にその送受信内容を否認することはできない。
本発明は、上記の点に鑑みなされたもので、送受信者が共に第三者に対して通信内容の否認が可能であるが、正当な受信者はメッセージ認証が可能な、認証付暗号方法及び認証付復号方法及び装置及びプログラム及びコンピュータが読み取り可能な記録媒体を提供することを目的とする。
【００１０】
【課題を解決するための手段】
図１は、本発明の原理を説明するための図である。
【００１１】
本発明（請求項１）は、暗号文の受信者が該暗号文または、対応する平文の作成者を認証する認証付暗号システムの暗号化装置における認証付暗号方法において、
送信者の署名鍵ｓｋｓ、署名検証鍵ｐｋｓ、暗号化鍵ｐｋｒとし、該署名検証鍵ｐｋｓと該暗号化鍵ｐｋｒが公開鍵として公開されている場合に、二者間の暗号通信に使用する公開鍵暗号方法であって、受信者を特定する固有値をＩＤｂとし、暗号文ｃを作成する場合に、
乱数生成手段が、乱数ｒを生成する乱数生成ステップ（ステップ１）と、
宛先認証子作成手段が、受信者を特定する固有値ＩＤｂと乱数ｒから宛先認証子ｈを作成する宛先認証子作成ステップ（ステップ２）と、
署名生成手段が、宛先認証子ｈに対する署名σを署名鍵を用いて生成する署名生成ステップ（ステップ３）と、
暗号化手段が、（ｍ，ｒ，σ）を暗号化鍵ｐｋｒを用いて暗号化し、暗号文ｃを得る暗号化ステップ（ステップ４）と、を行う。
【００１２】
本発明（請求項２）は、宛先認証子作成ステップにおいて、
宛先認証子作成手段が、宛先認証子ｈを生成する際に、乱数ｒとＩＤｂから作成したｈに対して、同一のｈとなる異なるｒ’、ＩＤｂ’を作成することが不可能、あるいは、非常に困難である手法を用いる。
【００１３】
本発明（請求項３）は、署名生成ステップにおいて、
署名生成手段が、署名σを生成する際に、適応的選択文書攻撃に対して潜在的偽造不可能な方法を用いる。
【００１４】
本発明（請求項４）は、暗号化ステップにおいて、
暗号化手段が、適応的選択暗号文攻撃に対して識別不可能な方法を用いる。
【００１５】
図２は、本発明の原理構成図である。
【００１６】
本発明（請求項５）は、暗号文の受信者が該暗号文または、対応する平文の作成者を認証する認証付暗号システムにおける認証付暗号装置であって、
送信者の署名鍵ｓｋｓ、署名検証鍵ｐｋｓ、暗号化鍵ｐｋｒとし、該署名検証鍵ｐｋｓと該暗号化鍵ｐｋｒが公開鍵として公開されている場合に、
乱数ｒを生成する乱数生成手段１１と、
受信者を特定する固有値ＩＤb と乱数ｒから宛先認証子ｈを作成する宛先認証子作成手段１２と、
宛先認証子ｈに対する署名σを署名鍵を用いて生成する署名生成手段１３と、
（ｍ，ｒ，σ）を暗号化鍵ｐｋｒを用いて暗号化し、暗号文ｃを得る暗号化手段１４とを有する。
【００１７】
本発明（請求項６）は、宛先認証子生成手段１２において、乱数ｒとＩＤb から作成したｈに対して、同一のｈとなる異なるｒ’，ＩＤb ’を作成することが不可能、あるいは、非常に困難である手段を用いる。
【００１８】
本発明（請求項７）は、署名生成手段１３において、適応的選択文書攻撃に対して潜在的偽造不可能な方法を用いる。
【００１９】
本発明（請求項８）は、暗号化手段１４において、適応的選択暗号文攻撃に対して識別不可能な方法を用いる。
【００２０】
本発明（請求項９）は、コンピュータに、請求項５乃至８記載の認証付暗号装置の機能を実行させる認証付暗号プログラムである。
【００２４】
本発明（請求項１０）は、請求項９記載の認証付暗号プログラムを格納したコンピュータ読み取り可能な記録媒体である。
【００２５】
本発明（請求項１１）は、暗号文の受信者が該暗号文または、対応する平文の作成者を認証する認証付暗号システムにおける認証付復号方法において、
署名検証鍵ｐｋｓ、該署名検証鍵ｐｋｓ、受信者の復号鍵ｓｋｒとし、該署名検証鍵ｐｋｓと暗号化鍵ｐｋｒが公開鍵として公開されている場合に、二者間の暗号通信に使用する公開鍵復号方法であって、受信者を特定する固有値をＩＤｂとし、暗号文ｃを復号する場合に、
復号手段が、暗号文ｃを復号鍵ｓｋｒを用いて復号するステップ（ステップ５）と、
復号の過程で、不正な暗号文と判断された場合には（ステップ６）、処理を中止するステップ（ステップ７）と、
正当な暗号文である場合には、復号結果（ｍ，ｒ，σ）を得るステップ（ステップ８）と、
宛先認証子生成手段が、受信者の特定する固有値ＩＤｂと乱数ｒから宛先認証子ｈを作成するステップ（ステップ９）と、
署名検証手段が、署名σが宛先認証子ｈに対する正しい署名であることを署名検証鍵ｐｋｓを用いて検証するステップ（ステップ１０）と、
検証に合格すれば、ｍを正当なメッセージとし（ステップ１１）、不合格であれば、ｍは不正なメッセージであると判断するステップ（ステップ１２）と、を行う。
【００２６】
本発明（請求項１２）は、暗号文の受信者が該暗号文または、対応する平文の作成者を認証する認証付暗号システムにおける認証付復号装置であって、
署名検証鍵ｐｋｓ、該署名検証鍵ｐｋｓ、受信者の復号鍵ｓｋｒとし、該署名検証鍵ｐｋｓと暗号化鍵ｐｋｒが公開鍵として公開されている場合に、
暗号文ｃを復号鍵ｓｋｒを用いて復号し、復号の過程で、不正な暗号文と判断された場合には、処理を中止し、正当な暗号文である場合には、復号結果（ｍ，ｒ，σ）を得る復号手段２１と、
受信者の特定する固有値ＩＤｂと乱数ｒから宛先認証子ｈを作成する宛先認証子生成手段２２と、
署名σが宛先認証子ｈに対する正しい署名であることを署名検証鍵ｐｋｓを用いて検証し、検証に合格すれば、ｍを正当なメッセージとし、不合格であれば、ｍは不正なメッセージであると判断する署名検証手段２３と、を有する。
【００２７】
本発明（請求項１３）は、コンピュータに、請求項１２記載の認証付復号装置の機能を実行させる認証付復号プログラムである。
【００２８】
本発明（請求項１４）は、請求項１３の認証付復号プログラムを格納したコンピュータ読み取り可能な記録媒体である。
【００２９】
上記のように、本発明では、乱数ｒを生成し、受信者の公開鍵など受信者を特定する識別子をＩＤb とし、ｒとＩＤb から宛先認証子ｈを作成し（宛先認証子の作成方法は、ｒとＩＤb から作成したｈに対して、同一のｈとなる異なるｒ’，ＩＤ’b を作成することが不可能あるいは、非常に困難であるような手段）、ｈに対して署名σを付け（署名方法は、適応的選択文書攻撃対して潜在的に偽造不可能（ＥＵＦ−ＣＭＡ）な方法）、ｍ，ｒ，σの組を暗号化して（暗号方法は、適応的選択暗号文攻撃に対して識別不可能（ＩＮＤ−ＣＣＡ）な方法）送信する。これにより、署名対象は乱数と受信者の識別子からなる宛先認証子であり、メッセージｍとは無関係のため、署名はｍに対する証拠性を持たない。
【００３０】
また、ＩＮＤ−ＣＣＡな暗号方式は、平文を知るものしかその暗号文を作成することができないという特徴を有する。よって、受信した暗号文を復号した結果、送信者Ａによる、Ｂ宛の、第三者には偽造不可能な署名が得られたことにより、受信暗号文を復号できる正当な受信者だけは、得られた平文がＡによって作成されたものであることを納得することができる。
【００３１】
【発明の実施の形態】
以下、図面と共に本発明の実施の形態を説明する。
【００３２】
以下の説明において、ｓｋｓ、ｐｋｓをそれぞれ送信者の署名鍵、署名検証鍵とし、ｓｋｒ，ｐｋｒをそれぞれ受信者の復号鍵、暗号化鍵とし、署名検証鍵ｐｋｓと暗号化鍵ｐｋｒが公開鍵として公開されている場合に、二者間の暗号通信に使用するものとする。
【００３３】
図３は、本発明の一実施の形態における認証暗号化装置の構成を示す。
【００３４】
同図に示す認証暗号化装置１０は、乱数ｒを生成する乱数生成部１１、ＩＤb とｒから宛先認証子ｈを作成する宛先認証部１２、ｈに対する署名σをｓｋｓを用いて生成する署名生成部１３と、（ｍ，ｒ，σ）を暗号化鍵ｐｋｒを用いて暗号化し、暗号文ｃを得る暗号化部１４から構成される。
【００３５】
図４は、本発明の一実施の形態における認証復号装置の構成を示す。
【００３６】
同図に示す認証復号装置２０は、暗号文ｃを復号鍵ｓｋｒを用いて復号し、不正な暗号文と判断された場合に、処理を中止し、正当な暗号文である場合には復号結果（ｍ，ｒ，σ）を得る復号部２１、受信者固有値ＩＤb と乱数ｒから宛先認証子ｈを作成する宛先認証子生成部２２、署名σが宛先認証子ｈに対する正しい署名であることを署名検証鍵ｐｋｓを用いて検証し、検証に合格すれば、ｍを正当なメッセージとし、不合格であれば、ｍは不正なメッセージであると判断する署名検証部２３から構成される。
【００３７】
次に、上記の構成における動作を説明する。
【００３８】
以下に述べる動作の前提を説明する。
【００３９】
送信者Ａは、署名鍵ｓｋｓと暗号化鍵ｐｋｒを持ち、暗号化鍵ｐｋｒは、公開されているものとする。同様に、受信者Ｂは復号鍵ｓｋｒと署名検証鍵ｐｋｓを持ち、署名検証鍵ｐｋｓは公開されているものとする。
【００４０】
以下で、二項演算子「ａ＋ｂ」は、ａ，ｂのビット毎の排他的論理和を示し、「ａ‖ｂ」は、ａとｂを結合したビット列を示す。「｜ａ｜」は、ａのビット数を表す。送信者及び受信者を特定できる文字列（氏名、あるいは、公開鍵でもよい）をそれぞれ、ＩＤa ，ＩＤb とする。
【００４１】
送信者Ａから受信者Ｂに送信する文書ｍに対する暗号文は、図３の暗号化部１４で作成する。以下に動作を図４、図５に基づいて説明する。
【００４２】
図５は、本発明の一実施例の暗号化手順のフローチャートである。
【００４３】
ステップ１０１）  乱数生成部１１によって、乱数ｒを生成する。
【００４４】
ステップ１０２）  宛先認証子生成部１２によって、ＩＤb とｒから宛先認証子ｈを生成する。
【００４５】
ステップ１０３）  署名生成部１３によって、宛先認証子ｈに対する署名σを署名鍵ｓｋｓを用いて生成する。
【００４６】
ステップ１０４）  暗号化部１４によって、ｍ‖ｒ‖σを暗号化鍵ｐｋｒを用いて暗号化し、暗号文ｃを得る。
【００４７】
次に、復号化時の処理について説明する。
【００４８】
図６は、本発明の一実施の形態における復号手順のフローチャートである。
【００４９】
ステップ２０１）  復号部２１によって、暗号文ｃを復号鍵ｓｋｒを用いて復号する。
【００５０】
ステップ２０２）  復号の過程で不正な暗号文と判断された場合は、処理を中止する。
【００５１】
ステップ２０３）  正当な暗号文である場合には復号結果ｍ‖ｒ‖σを得る。
ステップ２０４）  宛先認証子生成部２２によって、ＩＤb とｒから宛先認証子ｈを作成する。
【００５２】
ステップ２０５）  署名検証部２３によって、署名σが宛先認証子ｈに対する送信者Ａの正しい署名であることを公開鍵ｐｋｓを用いて検証する。
【００５３】
ステップ２０６）  検証に合格すれば、ｍを正当なメッセージとして受理する。
【００５４】
ステップ２０７）  不合格であれば、ｍは不正なメッセージであると判断する。
【００５５】
【実施例】
以下、図面と共に本発明の実施例を説明する。
【００５６】
［第１の実施例］
本実施例では、前述の図３に示す宛先認証子作成部として、ハッシュ手段を用いる場合について説明する。
【００５７】
図７は、本発明の第１の実施例の認証暗号化装置の構成を示し、図８は、本発明の第１の実施例の認証復号装置の構成を示す。図７、図８においてそれぞれ、図３、図４と異なるのは、ハッシュ部１２、ハッシュ部２２のみである。
【００５８】
以下に、本実施例の動作を説明する。
【００５９】
送信者Ａは、署名鍵ｓｋｓと、暗号化鍵ｐｋｒを持ち、暗号化鍵ｐｋｒは公開されているものとする。同様に、受信者Ｂは復号鍵ｓｋｒと署名検証鍵ｐｋｓを持ち、署名検証鍵ｐｋｒは公開されているものとする。
【００６０】
送信者Ａから受信者Ｂに送信する文書ｍに対する暗号文は、以下に示す暗号化部１４で作成する。
【００６１】
▲１▼  乱数生成部１１によって、１６０ビットの乱数ｒを生成する。
【００６２】
▲２▼  ハッシュ部１２により、ｈ＝Ｈ（ｒ，ＩＤb ）を計算する。
【００６３】
▲３▼  署名生成部１３によってｈに対する署名σを署名鍵ｓｋｓを用いて生成する。
【００６４】
▲４▼  暗号化部１４によって、ｍ‖ｒ‖σを暗号化鍵ｐｋｒを用いて暗号化し、暗号文ｃを得る。
【００６５】
次に、送信者Ａから得た暗号文ｃの復号の手順は以下のようになる。
【００６６】
▲１▼  復号部２１によって、暗号文ｃを復号鍵ｓｋｒで復号する。復号の過程で、不正な暗号文と判断された場合は、処理を中止する。正当な暗号文である場合には、復号結果ｍ‖ｒ‖σを得る。
【００６７】
▲２▼  ハッシュ部２２により、ｈ＝Ｈ（ｒ，ＩＤb ）を計算する。
【００６８】
▲３▼  署名検証部２３によって、署名σがｈに対する送信者Ａの正しい署名であることを署名検証鍵ｐｋｓを用いて検証する。検証に合格すれば、ｍを正当なメッセージとして受理する。不合格であれば、ｍは不正なメッセージであると判断する。
【００６９】
なお、乱数ｒの長さは、セキュリティの程度に依存して決定されるため、１６０ビットでなくともよい。長い方が署名の偽造が困難になる。
【００７０】
［第２の実施例］
本実施例では、前述の図３に示す宛先認証子作成部として、文字列結合手段を用いる場合について説明する。
【００７１】
図９は、本発明の第２の実施例の認証暗号化装置の構成を示し、図１０は、本発明の第２の実施例の認証復号装置の構成を示す。図９、図１０においてそれぞれ、図３、図４と異なるのは、文字列結合部１２、文字列結合部２２のみである。
【００７２】
以下に、本実施例の動作を説明する。
【００７３】
送信者Ａから受信者Ｂに送信する文書ｍに対する暗号文は、以下に示す暗号化部１４で作成する。
【００７４】
▲１▼  乱数生成部１１によって、１６０ビットの乱数ｒを生成する。
【００７５】
▲２▼  文字列結合部１２によって、ｈ＝ＩＤb ‖ｒを計算する。
【００７６】
▲３▼  署名生成部１３によってｈに対する署名σを署名鍵ｓｋｓを用いて生成する。
【００７７】
▲４▼  暗号化部１４によって、ｍ‖ｒ‖σを暗号化鍵ｐｋｒを用いて暗号化し、暗号文ｃを得る。
【００７８】
次に、送信者Ａから得た暗号文ｃの復号の手順は以下のようになる。
【００７９】
▲１▼  復号部２１によって、暗号文ｃを復号鍵ｓｋｒで復号する。復号の過程で、不正な暗号文と判断された場合は、処理を中止する。正当な暗号文である場合には、復号結果ｍ‖ｒ‖σを得る。
【００８０】
▲２▼  文字列結合部２２により、ｈ＝ＩＤb ‖ｒを計算する。
【００８１】
▲３▼  署名検証部２３によって、署名σがｈに対する送信者Ａの正しい署名であることをｐｋｓを用いて検証する。検証に合格すれば、ｍを正当なメッセージとして受理する。不合格であれば、ｍは不正なメッセージであると判断する。
【００８２】
なお、上記の図３、図４、図７、図８、図９、図１０に示す認証暗号化装置及び認証復号装置の構成を要素をプログラムとして構築し、認証暗号化装置及び認証復号装置として利用されるコンピュータにインストールすることも可能である。
【００８３】
また、構築されたプログラムを認証暗号化装置及び認証復号装置として利用されるコンピュータに接続されるハードディスクや、フレキシブルディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体に格納しておき、本発明を実施する際にインストールすることにより、容易に本発明を実現できる。
【００８４】
なお、本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【００８５】
【発明の効果】
上述のように、本発明によれば、送受信者が共に、第三者に対して通信内容の否認が可能であるが、正当な受信者は、受信したデータの完全性を確認することができる。
【図面の簡単な説明】
【図１】本発明の原理を説明するための図である。
【図２】本発明の原理構成図である。
【図３】本発明の一実施の形態における認証暗号化装置の構成図である。
【図４】本発明の一実施の形態における復号認証装置の構成図である。
【図５】本発明の一実施の形態における暗号化手順のフローチャートである。
【図６】本発明の一実施の形態における復号手順のフローチャートである。
【図７】本発明の第１の実施例の認証暗号化装置の構成図である。
【図８】本発明の第１の実施例の認証復号装置の構成図である。
【図９】本発明の第２の実施例の認証暗号化装置の構成図である。
【図１０】本発明の第２の実施例の認証復号装置の構成図である。
【符号の説明】
１０  認証暗号化装置
１１  乱数生成手段、乱数生成部
１２  宛先認証子生成手段、宛先認証子生成部
１３  署名生成手段、署名生成部
１４  暗号化手段、暗号化部
２０  認証復号装置
２１  復号手段、復号部
２２  宛先認証子生成手段、宛先認証子生成部
２３  署名検証手段、署名検証部
【図１】
0004000899.tif 000002
【図２】
0004000899.tif 000003
【図３】
0004000899.tif 000004
【図４】
0004000899.tif 000005
【図５】
0004000899.tif 000006
【図６】
0004000899.tif 000007
【図７】
0004000899.tif 000008
【図８】
0004000899.tif 000009
【図９】
0004000899.tif 000010
【図１０】
0004000899.tif 000011