(57)【特許請求の範囲】
【請求項１】
１つの暗号化装置と１以上の復号装置とで通信を行なうための暗号化装置であって、
平文を暗号化するためのセッション鍵（以下、「暗号セッション鍵」という。）を生成する暗号セッション鍵生成部と、
入力された平文を、前記暗号セッション鍵を用いて暗号化する平文暗号部と、
復号装置ごとに、平文の番号情報を生成するメッセージ番号生成部と、
暗号化された平文に、復号装置の数だけ、前記番号情報を結合するカウンター結合部と、
平文ごとに、各復号装置に対する状態を更新し、復号装置の数だけ、暗号セッション鍵を暗号化するための秘密鍵（以下、「鍵秘密鍵」という。）とメッセージ認証コードを生成するための秘密鍵（以下、「タグ秘密鍵」という。）を生成する擬似乱数生成部と、
前記暗号セッション鍵を、復号装置ごとに、前記鍵秘密鍵との排他的論理和によって暗号化する鍵暗号部と、
前記カウンター結合部の出力に、復号装置の数だけ、前記鍵暗号部の出力を結合する暗号鍵結合部と、
前記暗号鍵結合部の出力から、復号装置ごとに、前記タグ秘密鍵を用いてメッセージ認証コードを生成するタグ生成部と、
暗号化された平文、復号装置ごとの番号情報、復号装置ごとの暗号化された暗号セッション鍵、および復号装置ごとのメッセージ認証コードを出力する出力部
を備える暗号化装置。
【請求項２】
請求項１記載の暗号化装置であって、
ハッシュ用のセッション鍵（以下、「ハッシュセッション鍵」という。）を生成するハッシュセッション鍵生成部と、
前記カウンター結合部の出力を、前記ハッシュセッション鍵を用いて、ハッシュ関数により変換する鍵付きハッシュ部と、
前記鍵付きハッシュ部の出力に、前記ハッシュセッション鍵を結合する鍵結合部
も備え、
前記暗号鍵結合部は、前記鍵結合部の出力に、復号装置の数だけ、前記鍵暗号部の出力を結合すること
前記出力部は、暗号化された平文、復号装置ごとの番号情報、ハッシュセッション鍵、復号装置ごとの暗号化された暗号セッション鍵、および復号装置ごとのメッセージ認証コードを出力すること
を特徴とする暗号化装置。
【請求項３】
請求項１記載の暗号化装置であって、
前記暗号鍵結合部の出力に、復号装置の数だけ、前記メッセージ認証コードを結合するタグ結合部と、
復号装置ごとに固定された秘密鍵（以下、「固定秘密鍵」という。）を生成する固定秘密鍵生成部と、
前記タグ結合部の出力から、復号装置ごとに、前記固定秘密鍵を用いてメッセージ認証コード（以下、「固定メッセージ認証コード」という。）を生成する固定タグ生成部
も備え、
前記メッセージ番号生成部は、すべての復号装置に共通の１つの番号情報のみを生成すること、
前記カウンター結合部は、暗号化された平文に、前記番号情報を結合すること、
前記出力部は、暗号化された平文、１つの番号情報、復号装置ごとの暗号化された暗号セッション鍵、復号装置ごとのメッセージ認証コード、および復号装置ごとの固定メッセージ認証コードを出力すること
を特徴とする暗号化装置。
【請求項４】
請求項２記載の暗号化装置であって、
前記暗号鍵結合部の出力に、復号装置の数だけ、前記メッセージ認証コードを結合するタグ結合部と、
復号装置ごとに固定された秘密鍵（以下、「固定秘密鍵」という。）を生成する固定秘密鍵生成部と、
前記タグ結合部の出力から、復号装置ごとに、前記固定秘密鍵を用いてメッセージ認証コード（以下、「固定メッセージ認証コード」という。）を生成するタグ生成部
も備え、
前記メッセージ番号生成部は、すべての復号装置に共通の１つの番号情報のみを生成すること、
前記カウンター結合部は、暗号化された平文に、前記番号情報を結合すること、
前記出力部は、暗号化された平文、１つの番号情報、ハッシュセッション鍵、復号装置ごとの暗号化された暗号セッション鍵、復号装置ごとのメッセージ認証コード、および復号装置ごとの固定メッセージ認証コードを出力すること
を特徴とする暗号化装置。
【請求項５】
１つの暗号化装置と１以上の復号装置とで通信を行なうための暗号化装置であって、
平文を暗号化するためのセッション鍵（以下、「暗号セッション鍵」という。）を生成する暗号セッション鍵生成部と、
入力された平文を、前記暗号セッション鍵を用いて暗号化する平文暗号部と、
復号装置ごとに、平文の番号情報を生成するメッセージ番号生成部と、
暗号化された平文に、復号装置の数だけ、前記番号情報を結合するカウンター結合部と、
ハッシュ用のセッション鍵（以下、「ハッシュセッション鍵」という。）を生成するハッシュセッション鍵生成部と、
前記カウンター結合部の出力を、前記ハッシュセッション鍵を用いて、ハッシュ関数により変換する鍵付きハッシュ部と、
前記鍵付きハッシュ部の出力に、前記ハッシュセッション鍵を結合する鍵結合部と、
復号装置の数だけ、擬似乱数生成部のステージ番号を生成するステージ番号生成部と、
前記ステージ番号が生成された復号装置に対する状態を更新し、セッション鍵を暗号化するための秘密鍵（以下、「鍵秘密鍵」という。）とメッセージ認証コードを生成するための秘密鍵（以下、「タグ秘密鍵」という。）を生成する擬似乱数生成部と、
前記暗号セッション鍵を、復号装置ごとに、前記鍵秘密鍵を用いて暗号化する鍵暗号部と、
前記鍵結合部の出力に、復号装置の数だけ、前記鍵暗号部の出力を結合する暗号鍵結合部と、
前記暗号鍵結合部の出力から、復号装置ごとに、前記タグ秘密鍵を用いてメッセージ認証コードを生成するタグ生成部と、
暗号化された平文、復号装置ごとの番号情報、復号装置ごとのステージ番号情報、ハッシュセッション鍵、復号装置ごとの暗号化された暗号セッション鍵、および復号装置ごとのメッセージ認証コードを出力する出力部
を備える暗号化装置。
【請求項６】
１つの暗号化装置と１以上の復号装置とで通信を行なうための復号装置であって、
暗号化された平文、番号情報、暗号化された平文を暗号したセッション鍵（以下、「暗号セッション鍵」という。）、およびメッセージ認証コードを受信する入力部と、
前記入力部で暗号化された平文が受信されるたびに、状態を更新し、暗号セッション鍵を暗号化するための秘密鍵（以下、「鍵秘密鍵」という。）とメッセージ認証コードを生成するための秘密鍵（以下、「タグ秘密鍵」という。）を生成する擬似乱数生成部と、
暗号化された暗号セッション鍵を、前記鍵秘密鍵との排他的論理和によって復号する鍵復号部と、
受信した暗号化された平文、番号情報、および暗号化された暗号セッション鍵が結合したビット列から、前記タグ秘密鍵を用いてメッセージ認証コードを生成するタグ生成部と、
平文の番号情報を生成するメッセージ番号生成部と、
受信した番号情報と前記メッセージ番号生成部で生成した番号情報とを比較し、受信したメッセージ認証コードと前記タグ生成部で生成したメッセージ認証コードとを比較し、どちらも一致した場合に受信した情報が正常であると判断する比較部と、
前記比較部が正常と判断した場合に、受信した暗号化された平文を、前記暗号セッション鍵を用いて、復号する平文復号部
を備える復号装置。
【請求項７】
請求項６記載の復号装置であって、
受信した暗号化された平文と番号情報が結合したビット列を、受信したハッシュ用のセッション鍵（以下、「ハッシュセッション鍵」という。）を用いて、ハッシュ関数により変換する鍵付きハッシュ部と、
前記鍵付きハッシュ部の出力に、前記ハッシュセッション鍵を結合する鍵結合部と、
前記鍵結合部の出力に、受信した暗号化された暗号セッション鍵を結合する暗号鍵結合部
も備え、
前記入力部は、暗号化された平文、番号情報、ハッシュセッション鍵、暗号化された暗号セッション鍵、およびメッセージ認証コードを受信すること、
前記タグ生成部は、前記暗号鍵結合部の出力から、前記タグ秘密鍵を用いてメッセージ認証コードを生成すること
を特徴とする復号装置。
【請求項８】
請求項６記載の復号装置であって、
受信した暗号化された平文、番号情報、および暗号化された暗号セッション鍵が結合したビット列に、受信したメッセージ認証コードを結合するタグ結合部と、
固定された秘密鍵（以下、「固定秘密鍵」という。）を生成する固定秘密鍵生成部と、
前記タグ結合部の出力から、生成された固定秘密鍵を用いてメッセージ認証コード（以下、「固定メッセージ認証コード」という。）を生成する固定タグ生成部
も備え、
前記入力部は、暗号化された平文、番号情報、暗号化された暗号セッション鍵、メッセージ認証コード、および固定メッセージ認証コードを受信すること、
前記比較部は、受信した番号情報と前記メッセージ番号生成部で生成した番号情報とを比較し、受信したメッセージ認証コードと前記タグ生成部で生成したメッセージ認証コードとを比較し、受信した固定メッセージ認証コードと前記固定タグ生成部で生成した固定メッセージ認証コードとを比較し、すべて一致した場合に受信した情報が正常であると判断すること
を特徴とする復号装置。
【請求項９】
請求項７記載の復号装置であって、
前記暗号鍵結合部の出力に、受信したメッセージ認証コードを結合するタグ結合部と、
固定された秘密鍵（以下、「固定秘密鍵」という。）を生成する固定秘密鍵生成部と、
前記タグ結合部の出力から、生成された固定秘密鍵を用いて固定メッセージ認証コード（以下、「固定メッセージ認証コード」という。）を生成する固定タグ生成部
も備え、
前記入力部は、暗号化された平文、番号情報、ハッシュセッション鍵、暗号化された暗号セッション鍵、メッセージ認証コード、および固定メッセージ認証コードを受信すること、
前記比較部は、受信した番号情報と前記メッセージ番号生成部で生成した番号情報とを比較し、受信したメッセージ認証コードと前記タグ生成部で生成したメッセージ認証コードとを比較し、受信した固定メッセージ認証コードと前記固定タグ生成部で生成した固定メッセージ認証コードとを比較し、すべて一致した場合に受信した情報が正常であると判断すること
を特徴とする復号装置。
【請求項１０】
１つの暗号化装置と１以上の復号装置とで通信を行なうための復号装置であって、
暗号化された平文、番号情報、ステージ番号情報、ハッシュ用のセッション鍵（以下、「ハッシュセッション鍵」という。）、暗号化された平文を暗号化したセッション鍵（以下、「暗号セッション鍵」という。）、およびメッセージ認証コードを受信する入力部と、
受信した暗号化された平文と番号情報が結合したビット列を、受信したハッシュセッション鍵を用いて、ハッシュ関数により変換する鍵付きハッシュ部と、
前記鍵付きハッシュ部の出力に、前記ハッシュセッション鍵を結合する鍵結合部と、
ステージ番号を生成するステージ番号生成部と、
前記ステージ番号生成部がステージ番号を生成すると状態を更新し、セッション鍵を暗号化するための秘密鍵（以下、「鍵秘密鍵」という。）とメッセージ認証コードを生成するための秘密鍵（以下、「タグ秘密鍵」という。）を生成する擬似乱数生成部と、
暗号化された暗号セッション鍵を、前記鍵秘密鍵を用いて復号する鍵復号部と、
前記鍵結合部の出力に、受信した暗号化された暗号セッション鍵を結合する暗号鍵結合部と、
前記暗号鍵結合部の出力から、前記タグ秘密鍵を用いてメッセージ認証コードを生成するタグ生成部と、
平文の番号情報を生成するメッセージ番号生成部と、
受信した番号情報と前記メッセージ番号生成部で生成した番号情報とを比較し、受信したステージ番号と前記ステージ番号生成部で生成したステージ番号とを比較し、受信したメッセージ認証コードと前記タグ生成部で生成したメッセージ認証コードとを比較し、すべて一致した場合に受信した情報が正常であると判断する比較部と、
前記比較部が正常と判断した場合に、受信した平文を、前記暗号セッション鍵を用いて、復号する平文復号部
を備える復号装置。
【請求項１１】
１つの暗号化装置と１以上の復号装置とで通信を行なうための暗号化方法であって、
暗号セッション鍵生成部で、平文を暗号化するためのセッション鍵（以下、「暗号セッション鍵」という。）を生成する暗号セッション鍵生成ステップと、
平文暗号部で、入力された平文を、前記暗号セッション鍵を用いて暗号化する平文暗号ステップと、
メッセージ番号生成部で、復号装置ごとに、平文の番号情報を生成するメッセージ番号生成ステップと、
カウンター結合部で、暗号化された平文に、復号装置の数だけ、前記番号情報を結合するカウンター結合ステップと、
擬似乱数生成部で、平文ごとに、各復号装置に対する状態を更新し、復号装置の数だけ、暗号セッション鍵を暗号化するための秘密鍵（以下、「鍵秘密鍵」という。）とメッセージ認証コードを生成するための秘密鍵（以下、「タグ秘密鍵」という。）を生成する擬似乱数生成ステップと、
鍵暗号部で、前記暗号セッション鍵を、復号装置ごとに、前記鍵秘密鍵との排他的論理和によって暗号化する鍵暗号ステップと、
暗号鍵結合部で、前記カウンター結合ステップの出力に、復号装置の数だけ、前記鍵暗号ステップの出力を結合する暗号鍵結合ステップと、
タグ生成部で、前記暗号鍵結合ステップの出力から、復号装置ごとに、前記タグ秘密鍵を用いてメッセージ認証コードを生成するタグ生成ステップと、
出力部で、暗号化された平文、復号装置ごとの番号情報、復号装置ごとの暗号化された暗号セッション鍵、および復号装置ごとのメッセージ認証コードを出力する出力ステップ
を有する暗号化方法。
【請求項１２】
請求項１１記載の暗号化方法であって、
ハッシュセッション鍵生成部で、ハッシュ用のセッション鍵（以下、「ハッシュセッション鍵」という。）を生成するハッシュセッション鍵生成ステップと、
鍵付きハッシュ部で、前記カウンター結合ステップの出力を、前記ハッシュセッション鍵を用いて、ハッシュ関数により変換する鍵付きハッシュステップと、
鍵結合部で、前記鍵付きハッシュステップの出力に、前記ハッシュセッション鍵を結合する鍵結合ステップ
も有し、
前記暗号鍵結合ステップは、前記鍵結合ステップの出力に、復号装置の数だけ、前記鍵暗号ステップの出力を結合すること
前記出力ステップは、暗号化された平文、復号装置ごとの番号情報、ハッシュセッション鍵、復号装置ごとの暗号化された暗号セッション鍵、および復号装置ごとのメッセージ認証コードを出力すること
を特徴とする暗号化方法。
【請求項１３】
請求項１１記載の暗号化方法であって、
タグ結合部で、前記暗号鍵結合ステップの出力に、復号装置の数だけ、前記メッセージ認証コードを結合するタグ結合ステップと、
固定秘密鍵生成部で、復号装置ごとに固定された秘密鍵（以下、「固定秘密鍵」という。）を生成する固定秘密鍵生成ステップと、
固定タグ生成部で、前記タグ結合ステップの出力から、復号装置ごとに、前記固定秘密鍵を用いてメッセージ認証コード（以下、「固定メッセージ認証コード」という。）を生成する固定タグ生成ステップ
も有し、
前記メッセージ番号生成ステップは、すべての復号装置に共通の１つの番号情報のみを生成すること、
前記カウンター結合ステップは、暗号化された平文に、前記番号情報を結合すること、
前記出力ステップは、暗号化された平文、１つの番号情報、復号装置ごとの暗号化された暗号セッション鍵、復号装置ごとのメッセージ認証コード、および復号装置ごとの固定メッセージ認証コードを出力すること
を特徴とする暗号化方法。
【請求項１４】
請求項１２記載の暗号化方法であって、
タグ結合部で、前記暗号鍵結合ステップの出力に、復号装置の数だけ、前記メッセージ認証コードを結合するタグ結合ステップと、
固定秘密鍵生成部で、復号装置ごとに固定された秘密鍵（以下、「固定秘密鍵」という。）を生成する固定秘密鍵生成ステップと、
タグ生成部で、前記タグ結合ステップの出力から、復号装置ごとに、前記固定秘密鍵を用いてメッセージ認証コード（以下、「固定メッセージ認証コード」という。）を生成するタグ生成ステップ
も有し、
前記メッセージ番号生成ステップは、すべての復号装置に共通の１つの番号情報のみを生成すること、
前記カウンター結合ステップは、暗号化された平文に、前記番号情報を結合すること、
前記出力ステップは、暗号化された平文、１つの番号情報、ハッシュセッション鍵、復号装置ごとの暗号化された暗号セッション鍵、復号装置ごとのメッセージ認証コード、および復号装置ごとの固定メッセージ認証コードを出力すること
を特徴とする暗号化方法。
【請求項１５】
１つの暗号化装置と１以上の復号装置とで通信を行なうための暗号化方法であって、
暗号セッション鍵生成部で、平文を暗号化するためのセッション鍵（以下、「暗号セッション鍵」という。）を生成する暗号セッション鍵生成ステップと、
平文暗号部で、入力された平文を、前記暗号セッション鍵を用いて暗号化する平文暗号部と、
メッセージ番号生成部で、復号装置ごとに、平文の番号情報を生成するメッセージ番号生成ステップと、
カウンター結合部で、暗号化された平文に、復号装置の数だけ、前記番号情報を結合するカウンター結合ステップと、
ハッシュセッション鍵生成部で、ハッシュ用のセッション鍵（以下、「ハッシュセッション鍵」という。）を生成するハッシュセッション鍵生成ステップと、
鍵付きハッシュ部で、前記カウンター結合ステップの出力を、前記ハッシュセッション鍵を用いて、ハッシュ関数により変換する鍵付きハッシュステップと、
鍵結合部で、前記鍵付きハッシュステップの出力に、前記ハッシュセッション鍵を結合する鍵結合ステップと、
ステージ番号生成部で、復号装置の数だけ、擬似乱数生成部のステージ番号を生成するステージ番号生成ステップと、
擬似乱数生成部で、前記ステージ番号が生成された復号装置に対する状態を更新し、セッション鍵を暗号化するための秘密鍵（以下、「鍵秘密鍵」という。）とメッセージ認証コードを生成するための秘密鍵（以下、「タグ秘密鍵」という。）を生成する擬似乱数生成ステップと、
鍵暗号部で、前記暗号セッション鍵を、復号装置ごとに、前記鍵秘密鍵を用いて暗号化する鍵暗号ステップと、
暗号鍵結合部で、前記鍵結合ステップの出力に、復号装置の数だけ、前記鍵暗号ステップの出力を結合する暗号鍵結合ステップと、
タグ生成部で、前記暗号鍵結合ステップの出力から、復号装置ごとに、前記タグ秘密鍵を用いてメッセージ認証コードを生成するタグ生成ステップと、
出力部で、暗号化された平文、復号装置ごとの番号情報、復号装置ごとのステージ番号情報、ハッシュセッション鍵、復号装置ごとの暗号化された暗号セッション鍵、および復号装置ごとのメッセージ認証コードを出力する出力ステップ
を有する暗号化方法。
【請求項１６】
１つの暗号化装置と１以上の復号装置とで通信を行なうための復号方法であって、
入力部で、暗号化された平文、番号情報、暗号化された平文を暗号したセッション鍵（以下、「暗号セッション鍵」という。）、およびメッセージ認証コードを受信する入力ステップと、
擬似乱数生成部で、前記入力部で暗号化された平文が受信されるたびに、状態を更新し、暗号セッション鍵を暗号化するための秘密鍵（以下、「鍵秘密鍵」という。）とメッセージ認証コードを生成するための秘密鍵（以下、「タグ秘密鍵」という。）を生成する擬似乱数生成ステップと、
鍵復号部で、暗号化された暗号セッション鍵を、前記鍵秘密鍵との排他的論理和によって復号する鍵復号ステップと、
タグ生成部で、受信した暗号化された平文、番号情報、および暗号化された暗号セッション鍵が結合したビット列から、前記タグ秘密鍵を用いてメッセージ認証コードを生成するタグ生成ステップと、
メッセージ番号生成部で、平文の番号情報を生成するメッセージ番号生成ステップと、
比較部で、受信した番号情報と前記メッセージ番号生成ステップで生成した番号情報とを比較し、受信したメッセージ認証コードと前記タグ生成ステップで生成したメッセージ認証コードとを比較し、どちらも一致した場合に受信した情報が正常であると判断する比較ステップと、
平文復号部で、前記比較ステップが正常と判断した場合に、受信した暗号化された平文を、前記暗号セッション鍵を用いて、復号する平文復号ステップ
を有する復号方法。
【請求項１７】
請求項１６記載の復号方法であって、
鍵付きハッシュ部で、受信した暗号化された平文と番号情報が結合したビット列を、受信したハッシュ用のセッション鍵（以下、「ハッシュセッション鍵」という。）を用いて、ハッシュ関数により変換する鍵付きハッシュステップと、
鍵結合部で、前記鍵付きハッシュステップの出力に、前記ハッシュセッション鍵を結合する鍵結合ステップと、
暗号鍵結合部で、前記鍵結合ステップの出力に、受信した暗号化された暗号セッション鍵を結合する暗号鍵結合ステップ
も有し、
前記入力ステップは、暗号化された平文、番号情報、ハッシュセッション鍵、暗号化された暗号セッション鍵、およびメッセージ認証コードを受信すること、
前記タグ生成ステップは、前記暗号鍵結合ステップの出力から、前記タグ秘密鍵を用いてメッセージ認証コードを生成すること
を特徴とする復号方法。
【請求項１８】
請求項１６記載の復号方法であって、
タグ結合部で、受信した暗号化された平文、番号情報、および暗号化された暗号セッション鍵が結合したビット列に、受信したメッセージ認証コードを結合するタグ結合ステップと、
固定秘密鍵生成部で、固定された秘密鍵（以下、「固定秘密鍵」という。）を生成する固定秘密鍵生成ステップと、
固定タグ生成部で、前記タグ結合ステップの出力から、生成された固定秘密鍵を用いてメッセージ認証コード（以下、「固定メッセージ認証コード」という。）を生成する固定タグ生成ステップ
も有し、
前記入力ステップは、暗号化された平文、番号情報、暗号化された暗号セッション鍵、メッセージ認証コード、および固定メッセージ認証コードを受信すること、
前記比較ステップは、受信した番号情報と前記メッセージ番号生成ステップで生成した番号情報とを比較し、受信したメッセージ認証コードと前記タグ生成ステップで生成したメッセージ認証コードとを比較し、受信した固定メッセージ認証コードと前記固定タグ生成ステップで生成した固定メッセージ認証コードとを比較し、すべて一致した場合に受信した情報が正常であると判断すること
を特徴とする復号方法。
【請求項１９】
請求項１７記載の復号方法であって、
タグ結合部で、前記暗号鍵結合ステップの出力に、受信したメッセージ認証コードを結合するタグ結合ステップと、
固定秘密鍵生成部で、固定された秘密鍵（以下、「固定秘密鍵」という。）を生成する固定秘密鍵生成ステップと、
固定タグ生成部で、前記タグ結合ステップの出力から、生成された固定秘密鍵を用いて固定メッセージ認証コード（以下、「固定メッセージ認証コード」という。）を生成する固定タグ生成ステップ
も有し、
前記入力ステップは、暗号化された平文、番号情報、ハッシュセッション鍵、暗号化された暗号セッション鍵、メッセージ認証コード、および固定メッセージ認証コードを受信すること、
前記比較ステップは、受信した番号情報と前記メッセージ番号生成ステップで生成した番号情報とを比較し、受信したメッセージ認証コードと前記タグ生成ステップで生成したメッセージ認証コードとを比較し、受信した固定メッセージ認証コードと前記固定タグ生成ステップで生成した固定メッセージ認証コードとを比較し、すべて一致した場合に受信した情報が正常であると判断すること
を特徴とする復号方法。
【請求項２０】
１つの暗号化装置と１以上の復号装置とで通信を行なうための復号方法であって、
入力部で、暗号化された平文、番号情報、ステージ番号情報、ハッシュ用のセッション鍵（以下、「ハッシュセッション鍵」という。）、暗号化された平文を暗号化したセッション鍵（以下、「暗号セッション鍵」という。）、およびメッセージ認証コードを受信する入力ステップと、
鍵付きハッシュ部で、受信した暗号化された平文と番号情報が結合したビット列を、受信したハッシュセッション鍵を用いて、ハッシュ関数により変換する鍵付きハッシュステップと、
鍵結合部で、前記鍵付きハッシュステップの出力に、前記ハッシュセッション鍵を結合する鍵結合ステップと、
ステージ番号生成部で、ステージ番号を生成するステージ番号生成ステップと、
前記ステージ番号生成ステップがステージ番号を生成すると、擬似乱数生成部で、状態を更新し、セッション鍵を暗号化するための秘密鍵（以下、「鍵秘密鍵」という。）とメッセージ認証コードを生成するための秘密鍵（以下、「タグ秘密鍵」という。）を生成する擬似乱数生成ステップと、
鍵復号部で、暗号化された暗号セッション鍵を、前記鍵秘密鍵を用いて復号する鍵復号ステップと、
暗号鍵結合部で、前記鍵結合ステップの出力に、受信した暗号化された暗号セッション鍵を結合する暗号鍵結合ステップと、
タグ生成部で、前記暗号鍵結合ステップの出力から、前記タグ秘密鍵を用いてメッセージ認証コードを生成するタグ生成ステップと、
メッセージ番号生成部で、平文の番号情報を生成するメッセージ番号生成ステップと、
比較部で、受信した番号情報と前記メッセージ番号生成ステップで生成した番号情報とを比較し、受信したステージ番号と前記ステージ番号生成ステップで生成したステージ番号とを比較し、受信したメッセージ認証コードと前記タグ生成ステップで生成したメッセージ認証コードとを比較し、すべて一致した場合に受信した情報が正常であると判断する比較ステップと、
平文復号部で、前記比較ステップが正常と判断した場合に、受信した平文を、前記暗号セッション鍵を用いて、復号する平文復号ステップ
を有する復号方法。
【請求項２１】
請求項１１から２０のいずれかに記載の方法の各ステップを、コンピュータに実行させるプログラム。
【請求項２２】
請求項２１記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つの暗号化装置と１以上の復号装置とで通信（同報通信）を行なうための暗号化装置、復号装置、暗号化方法、復号方法、それらの方法を用いたプログラム、および記録媒体に関する。
【背景技術】
【０００２】
１つの暗号化装置と１つの復号装置との通信では、前方安全性と暗号文列に対する正真性は重要である。前方安全性とは、暗号通信のある時点で秘密鍵が攻撃者に知られてしまった場合、少なくともそれ以前の暗号文の安全性が守られることである。正真性とは、送信者が送信したデータを攻撃者が一時的に保存しておき、その内容に対して改ざんを行うような攻撃に対する安全性である。
【０００３】
前方安全性を確保するための一般的な方法としては、秘密鍵の更新にステートフルな前方安全擬似乱数生成器Ｇを利用する方法が知られている（非特許文献１）。この方法では、初期（ステージ番号０）の状態での秘密鍵を、暗号化装置と復号装置とで共有しておき、秘密鍵を更新するタイミング（ステージ番号を変更するタイミング）もあらかじめ決めておく。このようにすれば、暗号化装置と復号装置とは、同じステージ番号とその番号に対応する秘密鍵を共有することができる。なお、過去の秘密鍵は記録されることなく廃棄される。したがって、過去の秘密鍵は分からない。
正真性を確保するための一般的な方法としては、メッセージ認証コード（ＭＡＣ：Message Authentication Code）によるタグを付与する方法がある（非特許文献２）。この方法の場合、メッセージ認証コードで使用する秘密鍵が漏洩しない限り、メッセージ単体に対する改ざんは防止されている。
【０００４】
しかし、複数のメッセージが送られる場合、メッセージ単体に対する改ざんは防止できても、メッセージのコピー、順番の入れ替え、削除、挿入などの改ざんはあり得る。つまり、１つの文は正しくても、文の列としては正しくない、という状況があり得る。そこで、メッセージの番号も含めてメッセージ認証コードによるタグを付与する方法もある。
さらに、１つの暗号化装置と１以上の復号装置との同報通信では、復号装置（受信者）が動的に変化する（復号装置リストが変化する）。また、通信が一方向の場合には、データの抜けなどを検出しても、暗号化装置（送信者）に問い合わせることができない。
【０００５】
１つの暗号化装置と１以上の復号装置とで同報通信を行う暗号化装置の機能構成例を図１に示す。図１の暗号化装置の機能構成例は、公開されている機能構成例ではない。しかし、上記の従来技術と課題から、当業者が容易に想到できると考えられる構成である。暗号化装置９００は、セッション鍵生成部９１０、平文暗号部９２０、メッセージ番号生成部９３０、ステージ番号生成部９４０、カウンター結合部９５０、擬似乱数生成部（ＰＲＮＧ）９６０、鍵暗号部９７０、暗号鍵結合部９８０、タグ生成部９９０、出力部９９５から構成される。
【０００６】
セッション鍵生成部９１０は、セッション鍵Ｋを生成する。平文暗号部９２０は、セッション鍵Ｋを用いて、平文（メッセージ）ｍを暗号化し、暗号文ｃを出力する。メッセージ番号生成部９３０は、復号装置ごと、平文（メッセージ）ごとにメッセージの番号情報ｃｔｒ−ｕを生成する。ここで、“−ｕ”は、復号装置ごとに個別に付与される情報であることを示している。以下のその他の記号についても同じである。カウンター結合部９５０は、生成された復号装置の数分の番号情報ｃｔｒ−ｕを、暗号文ｃに結合する（ビット列とビット列とを単純に結合する）。ステージ番号生成部９４０は、復号装置ごとに、秘密鍵を更新するタイミングになると、ステージ番号ｉ−ｕを変更する。擬似乱数生成部（ＰＲＮＧ）９６０は、ステージ番号ｉ−ｕが変更された復号装置用の状態ｓｉ−ｕを更新し、秘密鍵（セッション鍵を暗号化するための秘密鍵ｋＥ−ｕとタグを生成するための秘密鍵ｋＴ−ｕ）を生成する。鍵暗号部９７０は、セッション鍵を暗号化するための秘密鍵ｋＥ−ｕを用いてセッション鍵Ｋを暗号化し、暗号化されたセッション鍵ｈ−ｕを出力する。暗号鍵結合部９８０は、カウンター結合部９５０の出力に鍵暗号部９７０の出力を結合する。タグ生成部９９０は、タグを生成するための秘密鍵ｋＴ−ｕを用いて、暗号鍵結合部９８０の出力からメッセージ認証コードｔａｇ−ｕを生成する。出力部９９５は、暗号文ｃ、復号装置ごとの番号情報ｃｔｒ−ｕ、復号装置ごとのステージ番号ｉ−ｕ、復号装置ごとの暗号化されたセッション鍵ｈ−ｕ、復号装置ごとのメッセージ認証コードｔａｇ−ｕを出力する。このような構成であれば、前方安全性と正真性を確保し、１つの暗号化装置と１以上の復号装置とで同報通信を行うことができる。
【０００７】
しかし、図１の構成例の場合、以下のような問題点がある。（１）鍵暗号部９７０には、強い暗号化方法を採用しなければならない。したがって、鍵暗号部９７０での演算量が非常に多くなる。（２）メッセージ認証コードｔａｇ−ｕを、暗号文ｃを用いて復号装置の数だけ計算しなければならない。また、暗号文ｃは一般的に長いため、タグ生成部９９０の演算量も多くなる。（３）ステージ番号として非常に大きな値を付与したメッセージを復号装置に送りつけるようなＤｏＳ（Denial-of-Service）攻撃を受けた場合、タグを生成するための秘密鍵ｋＴ−ｕを何度も更新しなければメッセージの認証ができない。つまり、ＤｏＳ攻撃に対応できない。（４）番号情報ｃｔｒ−ｕを復号装置ごとに付与しているので、復号装置が増えると通信量が増大する。（５）ステージ番号ｉ−ｕも復号装置ごとに付与しているので、復号装置が増えると通信量が増大する。（６）復号装置ごとに、番号情報ｃｔｒ−ｕ、ステージ番号ｉ−ｕ、擬似乱数生成部の状態ｓｉ−ｕ、セッション鍵を暗号化するための秘密鍵ｋＥ−ｕ、タグを生成するための秘密鍵ｋＴ−ｕを記録しなければならないため、多くの記録容量が必要となる。
【非特許文献１】M. Bellare and B.Yee, “Forward-Security in Private-Key Cryptography,” Topics in Cryptology - CT-RSA 2003, Lecture Notes in Computer Science 2612 (2003), Springer-Verlag.
【非特許文献２】結城浩「暗号技術入門−秘密の国のアリス」、ソフトバンクパブリッシング株式会社、２００３年．
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の暗号化装置や復号装置は、１つの暗号化装置と１以上の復号装置とで同報通信を行う場合に、前方安全性と正真性を確保しながら、演算量、通信量、記録容量を少なくし、ＤｏＳ攻撃に対応することを目的としている。演算量の低減では、特にセッション鍵を暗号化する演算量とメッセージ認証コードを生成する演算量の削減を図る。通信量の低減では、復号装置が増えた場合に、通信量が多くなりにくい方法を実現する。
【課題を解決するための手段】
【０００９】
本発明の暗号化装置および復号装置は、次の３つの手段のいくつかを組み合わせた構成である。（１）擬似乱数生成部で、平文（メッセージ）ごとに、各復号装置のステージ番号を更新し、平文を暗号化するためのセッション鍵（以下、「暗号セッション鍵」という。）を暗号化するための秘密鍵（以下、「鍵秘密鍵」という。）とメッセージ認証コードを生成するための秘密鍵（以下、「タグ秘密鍵」という。）を生成する。また、鍵暗号部で、排他的論理和によって暗号セッション鍵を暗号化する。（２）鍵付きハッシュ部で、ハッシュ用のセッション鍵（以下、「ハッシュセッション鍵」という。）を用いて、暗号文とメッセージの番号情報とを、ハッシュ関数により変換する。（３）固定タグ生成部で、固定された秘密鍵（以下、「固定秘密鍵」という。）を用いてメッセージ認証コード（以下、「固定メッセージ認証コード」という。）を生成する。
上記の３つの手段の組み合わせとしては、（１）のみ、（１）と（２）、（１）と（３）、（１）と（２）と（３）、（２）のみの組み合わせがある。
【発明の効果】
【００１０】
上記の（１）の手段によって、鍵秘密鍵生成の頻度が増加する。しかし、暗号セッション鍵の暗号化を排他的論理和により行うことができる。また、ステージ番号の生成が不要となるので、演算量は少なくなると期待できる。さらに、復号装置ごとに必要だったステージ番号が不要になるので、送信する必要がなくなり、通信量と記録容量を削減できる。鍵秘密鍵とタグ秘密鍵は毎回更新されるので、鍵秘密鍵とタグ秘密鍵を記録する必要がなくなり、記録容量をさらに削減できる。
【００１１】
上記の（２）の手段によって、暗号文の長さを短くした上でメッセージ認証コードを生成することができる。したがって、タグ生成部の演算量を少なくすることができる。
上記の（３）の手段によって、ＤｏＳ攻撃をされた場合でも、固定秘密鍵を用いて、メッセージが正しいか否かを検証できる。したがって、ＤｏＳ攻撃に対応できる。メッセージ認証コードが増加するが、メッセージの番号をすべての復号装置に対して共通にできるので、通信量の増減はほとんどない。固定秘密鍵を復号装置だけ記録しなければならなくなるが、メッセージ番号を復号装置ごとに記録する必要がなくなるので、記録容量の増減はほとんどない。
【００１２】
上記のように本発明の暗号化装置や復号装置は、１つの暗号化装置と１以上の復号装置とで同報通信を行う場合に、前方安全性と正真性を確保しながら、演算量、通信量、記録容量を少なくし、ＤｏＳ攻撃に対応することができる。
【発明を実施するための最良の形態】
【００１３】
以下では、説明の重複を避けるため同じ機能を有する構成部や同じ処理を行う処理ステップには同一の番号を付与し、説明を省略する。
【００１４】
［第１実施形態］
図２に、第１実施形態の暗号化装置の機能構成例を示す。図３に、１つの平文（メッセージ）が入力された時の第１実施形態の暗号化装置の処理フローを示す。暗号化装置７００は、暗号セッション鍵生成部１１０、平文暗号部１１５、メッセージ番号生成部３２０、カウンター結合部３２５、擬似乱数生成部１４５、  鍵暗号部１５０、暗号鍵結合部１５５、タグ生成部１６０、出力部７３０を備えている。
暗号セッション鍵生成部１１０は、平文ｍを暗号化するためのセッション鍵ＫＭ（以下、「暗号セッション鍵」という。）を生成する（Ｓ１１０）。平文暗号部１１５は、暗号化装置７００に入力された平文ｍを、暗号セッション鍵ＫＭを用いて暗号化し、暗号文ｃを出力する（Ｓ１１５）。メッセージ番号生成部３２０は、送信先である復号装置ごとに、平文（メッセージ）の番号情報ｃｔｒ−ｕを生成する（Ｓ３２０）。ここで、“−ｕ”は、復号装置ごとに個別に付与される情報であることを示している。以下のその他の記号についても同じである。カウンター結合部３２５は、暗号文ｃに、復号装置の数だけ、番号情報ｃｔｒ−ｕを結合する（Ｓ３２５）。なお、「結合する」とは、ビット列とビット列とを単純につなげること（並べること）を意味している。擬似乱数生成部１４５は、平文（メッセージ）ｍごとに、各復号装置に対する状態ｓＧ−ｕを更新し、復号装置の数だけ、暗号セッション鍵ＫＭを暗号化するための秘密鍵ｋＥ−ｕ（以下、「鍵秘密鍵」という。）とメッセージ認証コードｔａｇ−ｕを生成するための秘密鍵ｋＴ−ｕ（以下、「タグ秘密鍵」という。）を生成する（Ｓ１４５）。鍵暗号部１５０は、暗号セッション鍵ＫＭを、復号装置ごとに、鍵秘密鍵ｋＥ−ｕとの排他的論理和によって暗号化し、暗号化された暗号セッション鍵ｈ−ｕを出力する（Ｓ１５０）。暗号鍵結合部１５５は、カウンター結合部の出力ｃ‖ｃｔｒ−ｕに、復号装置の数だけ、暗号化された暗号セッション鍵ｈ−ｕを結合する（Ｓ１５５）。タグ生成部１６０は、暗号鍵結合部の出力ｃ‖ｃｔｒ−ｕ‖ｈ−ｕから、復号装置ごとに、タグ秘密鍵ｋＴ−ｕを用いてメッセージ認証コードｔａｇ−ｕを生成する（Ｓ１６０）。出力部７３０は、暗号文ｃ、復号装置ごとの番号情報ｃｔｒ−ｕ、復号装置ごとの暗号化された暗号セッション鍵ｈ−ｕ、および復号装置ごとのメッセージ認証コードｔａｇ−ｕを、復号装置に送信する（Ｓ７３０）。
【００１５】
図４に、第１実施形態の復号装置の機能構成例を示す。図５に、１つの暗号文が入力された時の第１実施形態の復号装置の処理フローを示す。復号装置７５０は、入力部７８０、  擬似乱数生成部２４５、鍵復号部２５０、タグ生成部２６０、メッセージ番号生成部４２０、比較部４８５、平文復号部２１５、および状態情報生成部４９０を備えている。
【００１６】
入力部７８０は、暗号文ｃ、復号装置ごとの番号情報ｃｔｒ−ｕ、復号装置ごとの暗号化された暗号セッション鍵ｈ−ｕ、および復号装置ごとのメッセージ認証コードｔａｇ−ｕが入力されると、暗号文ｃ、当該復号装置の番号情報ｃｔｒ−ｕ、当該復号装置の暗号化された暗号セッション鍵ｈ−ｕ、および当該復号装置のメッセージ認証コードｔａｇ−ｕを抜き出す（Ｓ７８０）。擬似乱数生成部２４５は、入力部７８０で暗号文が受信されるたびに、状態ｓＧ−ｕを更新し、暗号セッション鍵ＫＭを暗号化するための秘密鍵ｋＥ−ｕ（以下、「鍵秘密鍵」という。）とメッセージ認証コードｔａｇ−ｕを生成するための秘密鍵ｋＴ−ｕ（以下、「タグ秘密鍵」という。）を生成する（Ｓ２４５）。鍵復号部２５０は、暗号化された暗号セッション鍵ｈ−ｕを、鍵秘密鍵ｋＥ−ｕとの排他的論理和によって復号し、暗号セッション鍵ＫＭを出力する（Ｓ２５０）。タグ生成部２６０は、受信した暗号化された平文ｃ、番号情報ｃｔｒ−ｕ、および暗号化された暗号セッション鍵ｈ−ｕが結合したビット列ｃ‖ｃｔｒ−ｕ‖ｈ−ｕから、タグ秘密鍵ｋＴ−ｕを用いてメッセージ認証コードＣ−ｔａｇ−ｕを生成する（Ｓ２６０）。メッセージ番号生成部４２０は、平文（メッセージ）の番号情報Ｃ−ｃｔｒ−ｕを生成する（Ｓ４２０）。比較部４８５は、受信した番号情報ｃｔｒ−ｕとメッセージ番号生成部４２０で生成した番号情報Ｃ−ｃｔｒ−ｕとを比較し、受信したメッセージ認証コードｔａｇ−ｕとタグ生成部２６０で生成したメッセージ認証コードＣ−ｔａｇ−ｕとを比較し、どちらも一致した場合に受信した情報が正常であると判断する（Ｓ４８５）。どちらかが一致しない場合には、エラー対応の処理を行う（Ｓ２９９）。なお、エラー対応の処理としては、処理を中止する方法、擬似乱数生成部２４５の状態ｓＧ−ｕを１つ進め、再度ステップＳ１５０からやり直してみる方法などがある。平文復号部２１５は、比較部４８５が正常と判断した場合に、受信した暗号文ｃを、暗号セッション鍵ＫＭを用いて、復号し、平文（メッセージ）ｍを得る（Ｓ２１５）。また、状態情報生成部４９０は、擬似乱数生成部２４５の状態ｓＧ−ｕと受信した番号情報ｃｔｒ−ｕとを状態情報として出力する（Ｓ４９０）。
【００１７】
第１実施形態の暗号化装置と復号装置では、擬似乱数生成部で、平文（メッセージ）ごとに、各復号装置のステージ番号を更新し、鍵秘密鍵とタグ秘密鍵を生成した。また、鍵暗号部で、排他的論理和によって暗号セッション鍵を暗号化した。
このような構成と処理フローによって、鍵秘密鍵生成の頻度が増加する。しかし、暗号セッション鍵の暗号化を排他的論理和により行うことができる。また、ステージ番号の生成が不要となるので、演算量は少なくなると期待できる。さらに、復号装置ごとに必要だったステージ番号が不要になるので、送信する必要がなくなり、通信量と記録容量を削減できる。鍵秘密鍵とタグ秘密鍵は毎回更新されるので、鍵秘密鍵とタグ秘密鍵を記録する必要がなくなり、記録容量をさらに削減できる。
【００１８】
［第２実施形態］
図６に、第２実施形態の暗号化装置の機能構成例を示す。図７に、１つの平文（メッセージ）が入力された時の第２実施形態の暗号化装置の処理フローを示す。暗号化装置３００は、暗号セッション鍵生成部１１０、平文暗号部１１５、メッセージ番号生成部３２０、カウンター結合部３２５、ハッシュセッション鍵生成部１３０、鍵付きハッシュ部１３５、鍵結合部１４０、擬似乱数生成部１４５、  鍵暗号部１５０、暗号鍵結合部１５５、タグ生成部１６０、出力部３８０を備えている。
【００１９】
図６と図２の構成上の違いは、ハッシュセッション鍵生成部１３０、鍵付きハッシュ部１３５、鍵結合部１４０が付加されたことである。ステップＳ１１０〜Ｓ３２５、Ｓ１４５、Ｓ１５０は第１実施形態（図２、図３）と同じである。ハッシュセッション鍵生成部１３０は、ステップＳ１１０〜Ｓ３２５と並行して、ハッシュ用のセッション鍵（以下、「ハッシュセッション鍵」という。）を生成する（Ｓ１３０）。ステップＳ１３０とステップＳ３２５が終了すると、鍵付きハッシュ部１３５は、カウンター結合部３２５の出力ｃ‖ｃｔｒ−ｕを、ハッシュセッション鍵ＫＨを用いて、ハッシュ関数により変換する（Ｓ１３５）。鍵結合部１４０は、鍵付きハッシュ部の出力ｄに、ハッシュセッション鍵ＫＨを結合する（Ｓ１４０）。
【００２０】
以下の処理は、処理内容は第１実施形態とほとんど同じであるが、構成の変更に伴い、扱うデータ（各構成部への入力データ）が異なる。暗号鍵結合部１５５は、鍵結合部１４０の出力ｄ‖ＫＨに、復号装置の数だけ、鍵暗号部１５０の出力ｈ−ｕを結合する（Ｓ１５５）。タグ生成部１６０が、暗号鍵結合部１５５の出力ｄ‖ＫＨ‖ｈ−ｕから、タグ秘密鍵ｋＴ−ｕを用いてメッセージ認証コードｔａｇ−ｕを生成する（Ｓ１６０）。出力部３８０は、暗号文ｃ、復号装置ごとの番号情報ｃｔｒ−ｕ、ハッシュセッション鍵ＫＨ、復号装置ごとの暗号化された暗号セッション鍵ｈ−ｕ、および復号装置ごとのメッセージ認証コードｔａｇ−ｕを出力する（Ｓ３８０）。
【００２１】
図８に、第２実施形態の復号装置の機能構成例を示す。図９に、１つの暗号文が入力された時の第２実施形態の復号装置の処理フローを示す。復号装置４００は、入力部４８０、鍵付きハッシュ部２３５、鍵結合部２４０、暗号鍵結合部２５５、擬似乱数生成部２４５、鍵復号部２５０、タグ生成部２６０、メッセージ番号生成部４２０、比較部４８５、平文復号部２１５、および状態情報生成部４９０を備えている。
【００２２】
図８と図４の構成上の違いは、鍵付きハッシュ部２３５、鍵結合部２４０、暗号鍵結合部２５５が付加されたことである。入力部４８０は、暗号文ｃ、復号装置ごとの番号情報ｃｔｒ−ｕ、ハッシュセッション鍵ＫＨ、復号装置ごとの暗号化された暗号セッション鍵ｈ−ｕ、および復号装置ごとのメッセージ認証コードｔａｇ−ｕを受け取ると、暗号文ｃ、当該復号装置の番号情報ｃｔｒ−ｕ、ハッシュセッション鍵ＫＨ、当該復号装置の暗号化された暗号セッション鍵ｈ−ｕ、および当該復号装置のメッセージ認証コードｔａｇ−ｕを抜き出す（Ｓ４８０）。鍵付きハッシュ部２３５は、受信した暗号化された平文ｃと番号情報ｃｔｒ−ｕが結合したビット列ｃ‖ｃｔｒ−ｕを、受信したハッシュセッション鍵ＫＨを用いて、ハッシュ関数により変換する（Ｓ２３５）。鍵結合部２４０は、鍵付きハッシュ部２３５の出力ｄに、ハッシュセッション鍵ＫＨを結合する（Ｓ２４０）。暗号鍵結合部２５５は、鍵結合部２４０の出力ｄ‖ＫＨに、受信した暗号化された暗号セッション鍵ｈ−ｕを結合する（Ｓ２５５）。
【００２３】
他の処理は、処理内容は第１実施形態（図４、図５）とほとんど同じであるが、構成の変更に伴い、扱うデータ（各構成部への入力データ）が異なる。ステップＳ２４５は、第１実施形態と同じである。ステップＳ２６０では、タグ生成部２６０が、暗号鍵結合部２５５の出力ｄ‖ＫＨ‖ｈ−ｕから、タグ秘密鍵ｋＴ−ｕを用いてメッセージ認証コードＣ−ｔａｇ−ｕを生成する（Ｓ２６０）。ステップＳ２５０、Ｓ４８５、Ｓ２１５、Ｓ４９０、Ｓ２９９は、第１実施形態と同じである。
【００２４】
第２実施形態の暗号化装置と復号装置では、擬似乱数生成部で、平文（メッセージ）ごとに、各復号装置のステージ番号を更新し、鍵秘密鍵とタグ秘密鍵を生成した。また、鍵暗号部で、排他的論理和によって暗号セッション鍵を暗号化した。さらに、第２実施形態の暗号化装置と復号装置は、鍵付きハッシュ部で、ハッシュセッション鍵を用いて、暗号文とメッセージの番号情報とを、ハッシュ関数により変換した。
【００２５】
このような構成と処理フローによって、鍵秘密鍵生成の頻度が増加する。しかし、暗号セッション鍵の暗号化を排他的論理和により行うことができる。また、ステージ番号の生成が不要となるので、演算量は少なくなると期待できる。さらに、復号装置ごとに必要だったステージ番号が不要になるので、送信する必要がなくなり、通信量と記録容量を削減できる。鍵秘密鍵とタグ秘密鍵は毎回更新されるので、鍵秘密鍵とタグ秘密鍵を記録する必要がなくなり、記録容量をさらに削減できる。また、ハッシュ関数を使うことにより、暗号文の長さを短くした上でメッセージ認証コードを生成することができる。したがって、タグ生成部の演算量を少なくすることができる。
【００２６】
［第３実施形態］
図１０に、第３実施形態の暗号化装置の機能構成例を示す。図１１に、１つの平文（メッセージ）が入力された時の第３実施形態の暗号化装置の処理フローを示す。暗号化装置５００は、暗号セッション鍵生成部１１０、平文暗号部１１５、メッセージ番号生成部１２０、カウンター結合部１２５、擬似乱数生成部１４５、  鍵暗号部１５０、暗号鍵結合部１５５、タグ生成部１６０、タグ結合部１６５、固定秘密鍵生成部１７０、固定タグ生成部１７５、出力部５８０を備えている。
【００２７】
図１０と図２の構成上の違いは、タグ結合部１６５、固定秘密鍵生成部１７０、固定タグ生成部１７５が付加されたことである。ステップＳ１１０とＳ１１５は第１実施形態（図２、図３）と同じである。タグ結合部１６５、固定秘密鍵生成部１７０、固定タグ生成部１７５が付加されたことによって、メッセージ番号生成部１２０は、すべての復号装置に共通の１つのメッセージの番号情報ｃｔｒを生成する（Ｓ１２０）。カウンター結合部１２５は、平文暗号部１１５から出力された暗号文ｃに、１つの番号情報ｃｔｒのみを結合する（Ｓ１２５）。ステップＳ１４５〜Ｓ１６０は第１実施形態と同じである。タグ結合部１６５は、暗号鍵結合部の出力ｃ‖ｃｔｒ‖ｈ−ｕに、復号装置の数だけ、メッセージ認証コードｔａｇ−ｕを結合する（Ｓ１６５）。固定秘密鍵生成部１７０は、復号装置ごとに固定された秘密鍵ｓＴ−ｕ（以下、「固定秘密鍵」という。）を生成する（Ｓ１７０）。固定タグ生成部１７５は、タグ結合部１６５の出力ｃ‖ｃｔｒ‖ｈ−ｕ‖ｔａｇ−ｕから、復号装置ごとに、固定秘密鍵ｓＴ−ｕを用いてメッセージ認証コードｔａｇ’−ｕ（以下、「固定メッセージ認証コード」という。）を生成する（Ｓ１７５）。なお、固定タグ生成部１７５は、常に同じ秘密鍵である固定秘密鍵ｓＴ−ｕを用いているが、入力であるデータ列ｃ‖ｃｔｒ‖ｈ−ｕ‖ｔａｇ−ｕが変化するため、生成される固定メッセージ認証コードｔａｇ’−ｕは、変化する。出力部５８０は、暗号化された平文ｃ、１つの番号情報ｃｔｒ、復号装置ごとの暗号化された暗号セッション鍵ｈ−ｕ、復号装置ごとのメッセージ認証コードｔａｇ−ｕ、および復号装置ごとの固定メッセージ認証コードｔａｇ’−ｕを出力する（Ｓ５８０）。
【００２８】
図１２に、第３実施形態の復号装置の機能構成例を示す。図１３に、１つの暗号文が入力された時の第３実施形態の復号装置の処理フローを示す。復号装置６００は、入力部６８０、擬似乱数生成部２４５、鍵復号部２５０、タグ生成部２６０、メッセージ番号生成部２２０、タグ結合部２６５、固定秘密鍵生成部２７０、固定タグ生成部２７５、比較部２８５、平文復号部２１５、および状態情報生成部２９０を備えている。
【００２９】
図１２と図４の構成上の違いは、タグ結合部２６５、固定秘密鍵生成部２７０、固定タグ生成部２７５が付加されたことである。これらの構成上の違いにより、処理フローは以下のように変更される。入力部６８０は、暗号文ｃ、１つの番号情報ｃｔｒ、復号装置ごとの暗号化された暗号セッション鍵ｈ−ｕ、復号装置ごとのメッセージ認証コードｔａｇ−ｕ、および復号装置ごとの固定メッセージ認証コードｔａｇ’−ｕを受け取ると、暗号文ｃ、番号情報ｃｔｒ、当該復号装置の暗号化された暗号セッション鍵ｈ−ｕ、当該復号装置のメッセージ認証コードｔａｇ−ｕ、および当該復号装置の固定メッセージ認証コードｔａｇ’−ｕを抜き出す（Ｓ６８０）。タグ結合部２６５は、受信した暗号文ｃ、番号情報ｃｔｒ、および暗号化された暗号セッション鍵ｈ−ｕが結合したビット列ｃ‖ｃｔｒ‖ｈ−ｕに、受信したメッセージ認証コードｔａｇ−ｕを結合する（Ｓ２６５）。固定秘密鍵生成部２７０は、固定秘密鍵ｓＴ−ｕを生成する（Ｓ２７０）。固定タグ生成部２７５は、タグ結合部２６５の出力ｃ‖ｃｔｒ‖ｈ−ｕ‖ｔａｇ−ｕから、固定秘密鍵生成部２７０で生成された固定秘密鍵ｓＴ−ｕを用いて固定メッセージ認証コードＣ−ｔａｇ’−ｕを生成する（Ｓ２７５）。メッセージ番号生成部２２０は、メッセージの番号情報Ｃ−ｃｔｒを生成する（Ｓ２２０）。ステップＳ２４５〜Ｓ２６０は第１実施形態（図４、図５）と同じである。比較部２８５は、受信した番号情報ｃｔｒとメッセージ番号生成部２２０で生成した番号情報Ｃ−ｃｔｒとを比較し、受信したメッセージ認証コードｔａｇ−ｕとタグ生成部２６０で生成したメッセージ認証コードＣ−ｔａｇ−ｕとを比較し、受信した固定メッセージ認証コードｔａｇ’−ｕと固定タグ生成部２７５で生成した固定メッセージ認証コードＣ−ｔａｇ’−ｕとを比較し、すべて一致した場合に受信した情報が正常であると判断する（Ｓ２８５）。ステップＳ２１５とＳ２９９は第１実施形態と同じである。状態情報生成部２９０は、擬似乱数生成部２４５の状態ｓＧ−ｕと固定秘密鍵生成部２７０が生成した固定秘密鍵ｓＴ−ｕが結合したビット列ｓＧ−ｕ‖ｓＴ−ｕ、および受信した番号情報ｃｔｒとを状態情報として出力する（Ｓ２９０）。
【００３０】
第３実施形態の暗号化装置と復号装置では、擬似乱数生成部で、平文（メッセージ）ごとに、各復号装置のステージ番号を更新し、鍵秘密鍵とタグ秘密鍵を生成した。また、鍵暗号部で、排他的論理和によって暗号セッション鍵を暗号化した。また、第３実施形態の暗号化装置と復号装置では、固定タグ生成部で、固定秘密鍵を用いて固定メッセージ認証コードを生成した。
【００３１】
このような構成と処理フローによって、鍵秘密鍵生成の頻度が増加する。しかし、暗号セッション鍵の暗号化を排他的論理和により行うことができる。また、ステージ番号の生成が不要となるので、演算量は少なくなると期待できる。さらに、復号装置ごとに必要だったステージ番号が不要になるので、送信する必要がなくなり、通信量と記録容量を削減できる。鍵秘密鍵とタグ秘密鍵は毎回更新されるので、鍵秘密鍵とタグ秘密鍵を記録する必要がなくなり、記録容量をさらに削減できる。また、固定メッセージ認証コードを用いることで、受信した番号情報ｃｔｒに異常があることを、固定秘密鍵を用いて発見できる。例えば、固定メッセージ認証コードを用いない復号装置の場合、突然非常に大きい番号情報ｃｔｒが付与されたメッセージが送られてくると、擬似乱数生成部１４５の状態ｓＧ−ｕを番号情報ｃｔｒに対応する状態まで更新し、その状態で得たタグ秘密鍵ｋＴ−ｕを用いなければ、メッセージを認証できない。しかし、本実施形態の復号装置６００は、突然非常に大きい番号情報ｃｔｒが付与されたメッセージが送られてきても、固定秘密鍵ｓＴ−ｕを用いてメッセージを認証できる。つまり、擬似乱数生成部１４５の状態を更新することなく、ＤｏＳ攻撃によるメッセージであることを識別できる。したがって、ＤｏＳ攻撃に対応できる。メッセージ認証コードが増加するが、メッセージの番号をすべての復号装置に対して共通にできるので、通信量の増減はほとんどない。固定秘密鍵を復号装置だけ記録しなければならなくなるが、メッセージ番号を復号装置ごとに記録する必要がなくなるので、記録容量の増減はほとんどない。
【００３２】
［第４実施形態］
第４実施形態が、本発明のすべての手段を備えた実施形態である。図１４に、第４実施形態の暗号化装置の機能構成例を示す。図１５に、１つの平文（メッセージ）が入力された時の第４実施形態の暗号化装置の処理フローを示す。暗号化装置１００は、暗号セッション鍵生成部１１０、平文暗号部１１５、メッセージ番号生成部１２０、カウンター結合部１２５、ハッシュセッション鍵生成部１３０、鍵付きハッシュ部１３５、鍵結合部１４０、擬似乱数生成部１４５、鍵暗号部１５０、暗号鍵結合部１５５、タグ生成部１６０、タグ結合部１６５、固定秘密鍵生成部１７０、固定タグ生成部１７５、出力部１８０を備えている。
【００３３】
以下では、第２実施形態との違いを示しながら説明する。図１４と図６の構成上の違いは、タグ結合部１６５、固定秘密鍵生成部１７０、固定タグ生成部１７５が付加されたことである。ステップＳ１１０とＳ１１５は第２実施形態（図６、図７）と同じである。タグ結合部１６５、固定秘密鍵生成部１７０、固定タグ生成部１７５が付加されたことによって、メッセージ番号生成部１２０は、すべての復号装置に共通の１つのメッセージの番号情報ｃｔｒを生成する（Ｓ１２０）。カウンター結合部１２５は、平文暗号部１１５から出力された暗号文ｃに、１つの番号情報ｃｔｒのみを結合する（Ｓ１２５）。ステップＳ１３０〜Ｓ１６０は第１実施形態と同じである。タグ結合部１６５は、暗号鍵結合部の出力ｄ‖ＫＨ‖ｈ−ｕに、復号装置の数だけ、メッセージ認証コードｔａｇ−ｕを結合する（Ｓ１６５）。固定秘密鍵生成部１７０は、復号装置ごとに固定された秘密鍵ｓＴ−ｕ（以下、「固定秘密鍵」という。）を生成する（Ｓ１７０）。固定タグ生成部１７５は、タグ結合部１６５の出力ｄ‖ＫＨ‖ｈ−ｕ‖ｔａｇ−ｕから、復号装置ごとに、固定秘密鍵ｓＴ−ｕを用いてメッセージ認証コードｔａｇ’−ｕ（以下、「固定メッセージ認証コード」という。）を生成する（Ｓ１７５）。出力部１８０は、暗号化された平文ｃ、１つの番号情報ｃｔｒ、ハッシュセッション鍵ＫＨ、復号装置ごとの暗号化された暗号セッション鍵ｈ−ｕ、復号装置ごとのメッセージ認証コードｔａｇ−ｕ、および復号装置ごとの固定メッセージ認証コードｔａｇ’−ｕを出力する（Ｓ１８０）。
【００３４】
図１６に、第４実施形態の復号装置の機能構成例を示す。図１７に、１つの暗号文が入力された時の第４実施形態の復号装置の処理フローを示す。復号装置２００は、入力部２８０、鍵付きハッシュ部２３５、鍵結合部２４０、暗号鍵結合部２５５、擬似乱数生成部２４５、鍵復号部２５０、タグ生成部２６０、メッセージ番号生成部２２０、タグ結合部２６５、固定秘密鍵生成部２７０、固定タグ生成部２７５、比較部２８５、平文復号部２１５、および状態情報生成部２９０を備えている。
【００３５】
図１６と図８の構成上の違いは、タグ結合部２６５、固定秘密鍵生成部２７０、固定タグ生成部２７５が付加されたことである。これらの構成上の違いにより、処理フローは以下のように変更される。入力部２８０は、暗号文ｃ、１つの番号情報ｃｔｒ、ハッシュセッション鍵ＫＨ、復号装置ごとの暗号化された暗号セッション鍵ｈ−ｕ、復号装置ごとのメッセージ認証コードｔａｇ−ｕ、および復号装置ごとの固定メッセージ認証コードｔａｇ’−ｕを受け取ると、暗号文ｃ、番号情報ｃｔｒ、ハッシュセッション鍵ＫＨ、当該復号装置の暗号化された暗号セッション鍵ｈ−ｕ、当該復号装置のメッセージ認証コードｔａｇ−ｕ、および当該復号装置の固定メッセージ認証コードｔａｇ’−ｕを抜き出す（Ｓ２８０）。ステップＳ２３５〜Ｓ２５５は、第２実施形態（図８、図９）と同じである。タグ結合部２６５は、暗号鍵結合部２５５の出力ｄ‖ＫＨ‖ｈ−ｕに、受信したメッセージ認証コードｔａｇ−ｕを結合する（Ｓ２６５）。固定秘密鍵生成部２７０は、固定秘密鍵ｓＴ−ｕを生成する（Ｓ２７０）。固定タグ生成部２７５は、タグ結合部２６５の出力ｄ‖ＫＨ‖ｈ−ｕ‖ｔａｇ−ｕから、固定秘密鍵生成部２７０で生成された固定秘密鍵ｓＴ−ｕを用いて固定メッセージ認証コードＣ−ｔａｇ’−ｕを生成する（Ｓ２７５）。メッセージ番号生成部２２０は、メッセージの番号情報Ｃ−ｃｔｒを生成する（Ｓ２２０）。ステップＳ２４５〜Ｓ２６０は第２実施形態（図８、図９）と同じである。比較部２８５は、受信した番号情報ｃｔｒとメッセージ番号生成部２２０で生成した番号情報Ｃ−ｃｔｒとを比較し、受信したメッセージ認証コードｔａｇ−ｕとタグ生成部２６０で生成したメッセージ認証コードＣ−ｔａｇ−ｕとを比較し、受信した固定メッセージ認証コードｔａｇ’−ｕと固定タグ生成部２７５で生成した固定メッセージ認証コードＣ−ｔａｇ’−ｕとを比較し、すべて一致した場合に受信した情報が正常であると判断する（Ｓ２８５）。ステップＳ２１５とＳ２９９は第１実施形態と同じである。状態情報生成部２９０は、擬似乱数生成部２４５の状態ｓＧ−ｕと固定秘密鍵生成部２７０が生成した固定秘密鍵ｓＴ−ｕが結合したビット列ｓＧ−ｕ‖ｓＴ−ｕ、および受信した番号情報ｃｔｒとを状態情報として出力する（Ｓ２９０）。
【００３６】
第４実施形態の暗号化装置と復号装置では、擬似乱数生成部で、平文（メッセージ）ごとに、各復号装置のステージ番号を更新し、鍵秘密鍵とタグ秘密鍵を生成した。また、鍵暗号部で、排他的論理和によって暗号セッション鍵を暗号化した。また、第４実施形態の暗号化装置と復号装置は、鍵付きハッシュ部で、ハッシュセッション鍵を用いて、暗号文とメッセージの番号情報とを、ハッシュ関数により変換した。さらに、第４実施形態の暗号化装置と復号装置では、固定タグ生成部で、固定秘密鍵を用いて固定メッセージ認証コードを生成した。
【００３７】
このような構成と処理フローによって、鍵秘密鍵生成の頻度が増加する。しかし、暗号セッション鍵の暗号化を排他的論理和により行うことができる。また、ステージ番号の生成が不要となるので、演算量は少なくなると期待できる。さらに、復号装置ごとに必要だったステージ番号が不要になるので、送信する必要がなくなり、通信量と記録容量を削減できる。鍵秘密鍵とタグ秘密鍵は毎回更新されるので、鍵秘密鍵とタグ秘密鍵を記録する必要がなくなり、記録容量をさらに削減できる。また、ハッシュ関数を使うことにより、暗号文の長さを短くした上でメッセージ認証コードを生成することができる。したがって、タグ生成部の演算量を少なくすることができる。さらに、固定メッセージ認証コードを用いることで、ＤｏＳ攻撃に対応できる。メッセージ認証コードが増加するが、メッセージの番号をすべての復号装置に対して共通にできるので、通信量の増減はほとんどない。固定秘密鍵を復号装置だけ記録しなければならなくなるが、メッセージ番号を復号装置ごとに記録する必要がなくなるので、記録容量の増減はほとんどない。
【００３８】
［第５実施形態］
図１８に、第５実施形態の暗号化装置の機能構成例を示す。図１９に、１つの平文（メッセージ）が入力された時の第５実施形態の暗号化装置の処理フローを示す。暗号化装置８００は、暗号セッション鍵生成部１１０、平文暗号部１１５、メッセージ番号生成部３２０、カウンター結合部３２５、ハッシュセッション鍵生成部１３０、鍵付きハッシュ部１３５、鍵結合部１４０、擬似乱数生成部８４５、鍵暗号部８２０、暗号鍵結合部１５５、タグ生成部１６０、ステージ番号生成部８４０、出力部８３０を備えている。
【００３９】
図１８と図６（第２実施形態）との構成上の違いは、ステージ番号生成部８４０が付加されていることである。また、擬似乱数生成部８４５は、平文（メッセージ）ごとに状態を更新するのではなく、あらかじめ定めたルールに従ってステージ番号生成部８４０がステージ番号ｉ−ｕを生成した時に更新する。あらかじめ定めたルールとしては、一定数のメッセージごとにステージ番号ｉ−ｕを生成するルールや、一定時間（日数）ごとにステージ番号ｉ−ｕを生成するルールなどがある。さらに、擬似乱数生成部８４５の状態を平文（メッセージ）ごとに更新しないので、鍵暗号部８２０では、排他的論理和による暗号方法を採用することはできず、強固な暗号化方法を採用しなければならない。ただし、強固な暗号化方法であれば、どの方法でもよい。
【００４０】
ステップＳ１１０〜Ｓ１４０は、第２実施形態（図６、図７）と同じである。ステージ番号生成部８４０は、復号装置の数だけ、あらかじめ定めたルールに従って、擬似乱数生成部８４５のステージ番号ｉ−ｕを生成する（Ｓ８４０）。言い換えると、ステージ番号生成部８４０は、復号装置ごとのあらかじめ定めたルールに従って、新しいステージ番号ｉ−ｕを生成するタイミングであると判断した場合は、復号装置ごとに新しいステージ番号ｉ−ｕを生成する（Ｓ８４０）。擬似乱数生成部８４５は、新しいステージ番号ｉ−ｕが生成された復号装置に対して、状態ｓＧ−ｕを更新し、鍵秘密鍵ｋＥ−ｕとタグ秘密鍵ｋＴ−ｕを生成する（Ｓ８４５）。なお、新しい鍵秘密鍵ｋＥ−ｕとタグ秘密鍵ｋＴ−ｕが生成されなかった復号装置用の鍵秘密鍵ｋＥ−ｕとタグ秘密鍵ｋＴ−ｕには、前の平文（メッセージ）の暗号化に用いた鍵秘密鍵ｋＥ−ｕとタグ秘密鍵ｋＴ−ｕを用いる。したがって、暗号化装置８００の記録部（図１８中には図示していない）には、全ての復号装置に対する鍵秘密鍵ｋＥ−ｕとタグ秘密鍵ｋＴ−ｕを記録しておく必要がある。
【００４１】
鍵暗号部８２０は、暗号セッション鍵ＫＭを、復号装置ごとに、鍵秘密鍵ｋＥ−ｕを用いて暗号化する（Ｓ８２０）。ステップＳ１５５とＳ１６０は、第２実施形態と同じである。出力部８３０は、暗号文ｃ、復号装置ごとの番号情報ｃｔｒ−ｕ、復号装置ごとのステージ番号情報ｉ−ｕ、ハッシュセッション鍵ＫＨ、復号装置ごとの暗号化された暗号セッション鍵ｈ−ｕ、および復号装置ごとのメッセージ認証コードｔａｇ−ｕを出力する（Ｓ８３０）。
【００４２】
図２０に、第５実施形態の復号装置の機能構成例を示す。図２１に、１つの暗号文が入力された時の第５実施形態の復号装置の処理フローを示す。復号装置８５０は、入力部８８０、鍵付きハッシュ部２３５、鍵結合部２４０、暗号鍵結合部２５５、擬似乱数生成部８９５、鍵復号部８６５、タグ生成部２６０、メッセージ番号生成部４２０、ステージ番号生成部８９０、比較部８８５、平文復号部２１５、および状態情報生成部４９０を備えている。
【００４３】
図２０と図８（第２実施形態）との構成上の違いは、ステージ番号生成部８９０が付加されたことである。また、擬似乱数生成部８９５は、メッセージを受信するごとに状態を更新するのではなく、あらかじめ定めたルールに従ってステージ番号生成部８９０がステージ番号ｉ−ｕを生成した時に更新する。あらかじめ定めたルールとしては、一定数のメッセージごとにステージ番号ｉ−ｕを生成するルールや、一定時間（日数）ごとにステージ番号ｉ−ｕを生成するルールなどがある。さらに、擬似乱数生成部８９５の状態を平文（メッセージ）ごとに更新しないので、鍵復号部８６５では、排他的論理和による復号方法を採用することはできず、暗号化装置８００の鍵暗号部８２０が採用する強固な暗号化方法に対応した復号方法にしなければならない。
【００４４】
入力部８８０は、暗号文ｃ、復号装置ごとの番号情報ｃｔｒ−ｕ、復号装置ごとのステージ番号ｉ−ｕ、ハッシュセッション鍵ＫＨ、復号装置ごとの暗号化された暗号セッション鍵ｈ−ｕ、および復号装置ごとのメッセージ認証コードｔａｇ−ｕを受け取ると、暗号文ｃ、当該復号装置の番号情報ｃｔｒ−ｕ、当該復号装置のステージ番号ｉ−ｕ、ハッシュセッション鍵ＫＨ、当該復号装置の暗号化された暗号セッション鍵ｈ−ｕ、および当該復号装置のメッセージ認証コードｔａｇ−ｕを抜き出す（Ｓ８８０）。ステップＳ２３５〜Ｓ２５５、およびステップＳ４２０は第２実施形態（図８、図９）と同じである。ステージ番号生成部８９０は、あらかじめ定めたルールに従って、擬似乱数生成部８９５のステージ番号Ｃ−ｉ−ｕを生成する（Ｓ８９０）。言い換えると、ステージ番号生成部８９０は、あらかじめ定めたルールに従って、新しいステージ番号Ｃ−ｉ−ｕを生成するタイミングであると判断した場合は、新しいステージ番号Ｃ−ｉ−ｕを生成する（Ｓ８９０）。擬似乱数生成部８９５は、新しいステージ番号Ｃ−ｉ−ｕが生成された場合には、状態ｓＧ−ｕを更新し、鍵秘密鍵ｋＥ−ｕとタグ秘密鍵ｋＴ−ｕを生成する（Ｓ８９５）。なお、新しい鍵秘密鍵ｋＥ−ｕとタグ秘密鍵ｋＴ−ｕが生成されなかった場合には、前の平文（メッセージ）の復号に用いた鍵秘密鍵ｋＥ−ｕとタグ秘密鍵ｋＴ−ｕを用いる。したがって、復号装置８５０の記録部（図２０中には図示していない）には、鍵秘密鍵ｋＥ−ｕとタグ秘密鍵ｋＴ−ｕを記録しておく必要がある。
【００４５】
タグ生成部２６０は、暗号鍵結合部２５５の出力ｄ‖ＫＨ‖ｈ−ｕから、タグ秘密鍵ｋＴ−ｕを用いてメッセージ認証コードＣ−ｔａｇ−ｕを生成する（Ｓ２６０）。鍵復号部８６５は、暗号化装置８００の鍵暗号部８２０の暗号化方法に対応した復号方法で、暗号セッション鍵ＫＭを復号する（Ｓ８６５）。比較部８８５は、受信した番号情報ｃｔｒ−ｕとメッセージ番号生成部４２０で生成した番号情報Ｃ−ｃｔｒ−ｕとを比較し、受信したメッセージ認証コードｔａｇ−ｕとタグ生成部２６０で生成したメッセージ認証コードとを比較し、受信したステージ番号ｉ−ｕとステージ番号生成部で生成したステージ番号Ｃ−ｉ−ｕとを比較し、すべて一致した場合に受信した情報が正常であると判断する（Ｓ８８５）。ステップＳ２１５、Ｓ４９０、Ｓ２９９は、第２実施形態と同じである。
【００４６】
第２実施形態の暗号化装置と復号装置は、鍵付きハッシュ部で、ハッシュセッション鍵を用いて、暗号文とメッセージの番号情報とを、ハッシュ関数により変換した。このような構成と処理フローによって、暗号文の長さを短くした上でメッセージ認証コードを生成することができる。したがって、タグ生成部の演算量を少なくすることができる。
【００４７】
なお、上記の５つの実施形態は、図２２に示すコンピュータの記録部１０２０に、上記方法の各ステップを実行させるプログラムを読み込ませ、制御部１０１０、入力部１０３０、出力部１０４０などに動作させることで実施できる。また、コンピュータに読み込ませる方法としては、プログラムをコンピュータ読み取り可能な記録媒体に記録しておき、記録媒体からコンピュータに読み込ませる方法、サーバ等に記録されたプログラムを、電気通信回線等を通じてコンピュータに読み込ませる方法などがある。
【図面の簡単な説明】
【００４８】
【図１】従来技術から当業者が容易に想到できると考えられる同報通信を行う暗号化装置の機能構成例を示す図。
【図２】第１実施形態の暗号化装置の機能構成例を示す図。
【図３】１つの平文（メッセージ）が入力された時の第１実施形態の暗号化装置の処理フローを示す図。
【図４】第１実施形態の復号装置の機能構成例を示す図。
【図５】１つの暗号文が入力された時の第１実施形態の復号装置の処理フローを示す図。
【図６】第２実施形態の暗号化装置の機能構成例を示す図。
【図７】１つの平文（メッセージ）が入力された時の第２実施形態の暗号化装置の処理フローを示す図。
【図８】第２実施形態の復号装置の機能構成例を示す図。
【図９】１つの暗号文が入力された時の第２実施形態の復号装置の処理フローを示す図。
【図１０】第３実施形態の暗号化装置の機能構成例を示す図。
【図１１】１つの平文（メッセージ）が入力された時の第３実施形態の暗号化装置の処理フローを示す図。
【図１２】第３実施形態の復号装置の機能構成例を示す図。
【図１３】１つの暗号文が入力された時の第３実施形態の復号装置の処理フローを示す図。
【図１４】第４実施形態の暗号化装置の機能構成例を示す図。
【図１５】１つの平文（メッセージ）が入力された時の第４実施形態の暗号化装置の処理フローを示す図。
【図１６】第４実施形態の復号装置の機能構成例を示す図。
【図１７】１つの暗号文が入力された時の第４実施形態の復号装置の処理フローを示す図。
【図１８】第５実施形態の暗号化装置の機能構成例を示す図。
【図１９】１つの平文（メッセージ）が入力された時の第５実施形態の暗号化装置の処理フローを示す図。
【図２０】第５実施形態の復号装置の機能構成例を示す図。
【図２１】１つの暗号文が入力された時の第５実施形態の復号装置の処理フローを示す図。
【図２２】コンピュータの機能構成例を示す図。
【図１】
0004758824.tif 000002
【図２】
0004758824.tif 000003
【図３】
0004758824.tif 000004
【図４】
0004758824.tif 000005
【図５】
0004758824.tif 000006
【図６】
0004758824.tif 000007
【図７】
0004758824.tif 000008
【図８】
0004758824.tif 000009
【図９】
0004758824.tif 000010
【図１０】
0004758824.tif 000011
【図１１】
0004758824.tif 000012
【図１２】
0004758824.tif 000013
【図１３】
0004758824.tif 000014
【図１４】
0004758824.tif 000015
【図１５】
0004758824.tif 000016
【図１６】
0004758824.tif 000017
【図１７】
0004758824.tif 000018
【図１８】
0004758824.tif 000019
【図１９】
0004758824.tif 000020
【図２０】
0004758824.tif 000021
【図２１】
0004758824.tif 000022
【図２２】
0004758824.tif 000023