【手続補正書】
【提出日】平成18年1月12日(2006.1.12)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】  暗号鍵データを入力とし、複数の拡大鍵データを出力する拡大鍵生成装置であって、
前記暗号鍵データを複数の部分鍵データに分割するデータ分割手段と、
前記複数の部分鍵データを入力とし、前記複数の拡大鍵データを出力する一列に接続された複数の鍵変換手段とを備え、
前記複数の鍵変換手段の各々は、
前記複数の部分鍵データまたは前段の鍵変換手段からの複数の出力データを複数の入力データとして受け、前記複数の入力データの各々について、各ビットの値が相互に干渉しない固定的な変換処理を実行し、後段の鍵変換手段への複数の出力データを算出する出力算出部と、
前記複数の入力データを融合して、前記拡大鍵データを算出する拡大鍵算出部とを有する
ことを特徴とする拡大鍵生成装置。
【請求項２】  前記出力算出部は、前記複数の入力データのうちの少なくとも１つに対し、ビット位置をあらかじめ定められた規則に従い変更する
ことを特徴とする請求項１に記載の拡大鍵生成装置。
【請求項３】  前記出力算出部において実行される前記変換処理は、前記入力データのあらかじめ定められたビット位置の値の反転処理である
ことを特徴とする請求項１に記載の拡大鍵生成装置。
【請求項４】  前記出力算出部は、前記複数の入力データのうちの少なくとも１つに対し、所定のビット数だけ巡回シフト操作を実行する
ことを特徴とする請求項１に記載の拡大鍵生成装置。
【請求項５】  前記所定のビット数は、前記巡回シフト操作が施される前記入力データのビット数の約数ではない
ことを特徴とする請求項４に記載の拡大鍵生成装置。
【請求項６】  前記出力算出部は、前記巡回シフト操作を実行した後に、前記複数の入力データの位置をあらかじめ定められた規則に従って入れ替え、前記複数の出力データを算出する
ことを特徴とする請求項４に記載の拡大鍵生成装置。
【請求項７】  前記拡大鍵算出部は、前記複数の入力データの融合における途中過程および前記複数の入力データのうちの少なくとも１つのデータに対し、所定の置換テーブルに基づいた置換処理を実行する
ことを特徴とする請求項４に記載の拡大鍵生成装置。
【請求項８】  前記拡大鍵算出部は、前記複数の入力データの融合における途中過程および前記複数の入力データのうちの少なくとも１つのデータに対し、所定の置換テーブルに基づいた置換処理を実行する
ことを特徴とする請求項１に記載の拡大鍵生成装置。
【請求項９】  前記拡大鍵算出部は、
前記複数の入力データの中から少なくとも２つの入力データを融合して第１の融合データを生成する第１の融合部と、
前記第１の融合データに対し、前記所定の置換テーブルに基づいた置換処理を実行し、置換データを出力するデータ置換部と、
前記置換データと、前記複数の入力データの中から得られる少なくとも１つの入力データとを融合して第２の融合データを生成する第２の融合部と、
少なくとも前記第２の融合データを含むデータを入力とし、前記拡大鍵データを作成する拡大鍵作成部とを含む
ことを特徴とする請求項８に記載の拡大鍵生成装置。
【請求項１０】  前記拡大鍵算出部は、前記複数の入力データの融合の途中結果と最終結果とを連結して前記拡大鍵データを作成する
ことを特徴とする請求項８に記載の拡大鍵生成装置。
【請求項１１】  暗号鍵データを用いて平文データを暗号化する暗号化装置であって、
請求項１に記載の拡大鍵生成装置と、
前記平文データを前記拡大鍵生成装置より生成される複数の拡大鍵データに基づいて暗号化し、暗号文データを生成する手段とを備える
ことを特徴とする暗号化装置。
【請求項１２】  暗号鍵データを用いて平文データを暗号化する暗号化装置であって、
請求項４に記載の拡大鍵生成装置と、
前記平文データを前記拡大鍵生成装置より生成される複数の拡大鍵データに基づいて暗号化し、暗号文データを生成する手段とを備える
ことを特徴とする暗号化装置。
【請求項１３】  暗号鍵データを用いて平文データを暗号化する暗号化装置であって、
請求項５に記載の拡大鍵生成装置と、
前記平文データを前記拡大鍵生成装置より生成される複数の拡大鍵データに基づいて暗号化し、暗号文データを生成する手段とを備える
ことを特徴とする暗号化装置。
【請求項１４】  暗号鍵データを用いて平文データを暗号化する暗号化装置であって、
請求項８に記載の拡大鍵生成装置と、
前記平文データを前記拡大鍵生成装置より生成される複数の拡大鍵データに基づいて暗号化し、暗号文データを生成する手段とを備える
ことを特徴とする暗号化装置。
【請求項１５】  暗号鍵データを用いて暗号文データを復号する復号装置であって、
前記暗号鍵データを受け、複数の拡大鍵データを請求項１に記載の拡大鍵生成装置とは逆の順序で生成する拡大鍵逆生成手段と、
前記複数の拡大鍵データに基づいて、前記暗号文データを復号する逆データ撹乱手段とを備え、
前記拡大鍵逆生成手段は、
前記請求項１に記載の拡大鍵生成装置のうちの所定段数の鍵変換部の処理を１段の処理で実行する鍵補正部と、
一列に接続された複数の逆鍵変換部とを有し、
前記複数の逆鍵変換部は、各々、前記鍵補正部からの出力データまたは前段の逆鍵変換部からの出力データを入力データとして受け、前記入力データより前記拡大鍵データと後段の逆鍵変換部への出力データを作成し、作成される拡大鍵データは前記請求項１に記載の拡大鍵生成装置での作成順序とは逆である
ことを特徴とする復号装置。
【請求項１６】  暗号鍵データを用いて暗号文データを復号する復号装置であって、
前記暗号鍵データを受け、複数の拡大鍵データを請求項４に記載の拡大鍵生成装置とは逆の順序で生成する拡大鍵逆生成手段と、
前記複数の拡大鍵データに基づいて、前記暗号文データを復号する逆データ撹乱手段とを備え、
前記拡大鍵逆生成手段は、
前記請求項４に記載の拡大鍵生成装置のうちの所定段数の鍵変換部の処理を１段の処理で実行する鍵補正部と、
一列に接続された複数の逆鍵変換部とを有し、
前記複数の逆鍵変換部は、各々、前記鍵補正部からの出力データまたは前段の逆鍵変換部からの出力データを入力データとして受け、前記入力データより前記拡大鍵データと後段の逆鍵変換部への出力データを作成し、作成される拡大鍵データは前記請求項４に記載の拡大鍵生成装置での作成順序とは逆である
ことを特徴とする復号装置。
【請求項１７】  暗号鍵データを用いて暗号文データを復号する復号装置であって、
前記暗号鍵データを受け、複数の拡大鍵データを請求項５に記載の拡大鍵生成装置とは逆の順序で生成する拡大鍵逆生成部手段と、
前記複数の拡大鍵データに基づいて、前記暗号文データを復号する逆データ撹乱手段とを備え、
前記拡大鍵逆生成手段は、
前記請求項５に記載の拡大鍵生成装置のうちの所定段数の鍵変換部の処理を１段の処理で実行する鍵補正部と、
一列に接続された複数の逆鍵変換部とを有し、
前記複数の逆鍵変換部は、各々、前記鍵補正部からの出力データまたは前段の逆鍵変換部からの出力データを入力データとして受け、前記入力データより前記拡大鍵データと後段の逆鍵変換部への出力データを作成し、作成される拡大鍵データは前記請求項５に記載の拡大鍵生成装置での作成順序とは逆である
ことを特徴とする復号装置。
【請求項１８】  暗号鍵データを用いて暗号文データを復号する復号装置であって、
前記暗号鍵データを受け、複数の拡大鍵データを請求項８に記載の拡大鍵生成装置とは逆の順序で生成する拡大鍵逆生成手段と、
前記複数の拡大鍵データに基づいて、前記暗号文データを復号する逆データ撹乱手段とを備え、
前記拡大鍵逆生成手段は、
前記請求項８に記載の拡大鍵生成装置のうちの所定段数の鍵変換部の処理を１段の処理で実行する鍵補正部と、
一列に接続された複数の逆鍵変換部とを有し、
前記複数の逆鍵変換部は、各々、前記鍵補正部からの出力データまたは前段の逆鍵変換部からの出力データを入力データとして受け、前記入力データより前記拡大鍵データと後段の逆鍵変換部への出力データを作成し、作成される拡大鍵データは前記請求項８に記載の拡大鍵生成装置での作成順序とは逆である
ことを特徴とする復号装置。
【請求項１９】  暗号鍵データを用いて平文データを暗号化し、暗号文データを生成する暗号化装置と、
前記暗号鍵データを用いて前記暗号文データを復号する復号装置とを備え、
前記暗号化装置は、
前記暗号鍵データを入力とし、複数の拡大鍵データを出力する拡大鍵生成手段と、
前記複数の拡大鍵データに基づいて、前記平文データを暗号化するデータ撹乱手段とを有し、
前記拡大鍵生成手段は、
前記暗号鍵データを複数の部分鍵データに分割するデータ分割部と、
前記複数の部分鍵データを入力とし、前記複数の拡大鍵データを出力する一列に接続された複数の鍵変換部とを含み、
前記複数の鍵変換部の各々は、
前記複数の部分鍵データまたは前段の鍵変換部からの複数の出力データを複数の入力データとして受け、前記複数の入力データの各々について、各ビットの値が相互に干渉しない固定的な変換処理を実行し、後段の鍵変換部への複数の出力データを算出する出力算出部と、
前記複数の入力データを融合して、前記拡大鍵データを算出する拡大鍵算出部とを含む
ことを特徴とする暗号化システム。
【請求項２０】  暗号鍵データを入力とし、複数の拡大鍵データを出力する拡大鍵生成方法であって、
暗号鍵データを複数の部分鍵データに分割するステップと、
前記複数の部分鍵データを入力とし、複数の拡大鍵データを出力する一連の複数の鍵変換ステップとを含み、
前記複数の鍵変換ステップの各々は、
前記複数の部分鍵データまたは前段の鍵変換ステップで出力される複数の出力データを複数の入力データとし、前記複数の入力データの各々について、各ビットの値が相互に干渉しない固定的な変換処理を実行し、後段の鍵変換ステップで用いられる複数の出力データを算出するステップと、
前記複数の入力データを融合して、前記拡大鍵データを算出するステップとを含む
ことを特徴とする拡大鍵生成方法。
【請求項２１】  コンピュータを、平文データに対して暗号鍵データを用いて暗号化処理を行なう暗号化装置として機能させるためのプログラムであって、
前記暗号化装置は、
前記暗号鍵データを入力とし、複数の拡大鍵データを出力する拡大鍵生成手段と、
前記平文データを前記複数の拡大鍵データに基づいて暗号化し、暗号文データを生成する手段とを備え、
前記拡大鍵生成手段は、
前記暗号鍵データを複数の部分鍵データに分割するデータ分割部と、
前記複数の部分鍵データを入力とし、前記複数の拡大鍵データを出力する一列に接続された複数の鍵変換部とを有し、
前記複数の鍵変換部の各々は、
前記複数の部分鍵データまたは前段の鍵変換部からの複数の出力データを複数の入力データとして受け、前記複数の入力データの各々について、各ビットの値が相互に干渉しない固定的な変換処理を実行し、後段の鍵変換部への複数の出力データを算出する出力算出部と、
前記複数の入力データを融合して、前記拡大鍵データを算出する拡大鍵算出部とを含む
ことを特徴とするプログラム。
【請求項２２】  コンピュータを、暗号鍵データを入力とし、複数の拡大鍵データを出力する拡大鍵生成装置として機能させるためのプログラムであって、
前記拡大鍵生成装置は、
前記暗号鍵データを複数の部分鍵データに分割するデータ分割手段と、
前記複数の部分鍵データを入力とし、前記複数の拡大鍵データを出力する一列に接続された複数の鍵変換手段とを備え、
前記複数の鍵変換手段の各々は、
前記複数の部分鍵データまたは前段の鍵変換手段からの複数の出力データを複数の入力データとして受け、前記複数の入力データの各々について、各ビットの値が相互に干渉しない固定的な変換処理を実行し、後段の鍵変換手段への複数の出力データを算出する出力算出部と、
前記複数の入力データを融合して、前記拡大鍵データを算出する拡大鍵算出部とを有する
ことを特徴とするプログラム。