【手続補正書】
【提出日】平成21年8月20日(2009.8.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
共通鍵ブロック暗号処理を実行する暗号処理装置であり、
ラウンド関数を複数ラウンド繰り返すデータ変換処理を行なう暗号処理部と、
前記ラウンド関数の実行に適用するラウンド鍵を生成する鍵スケジュール部を有し、
前記鍵スケジュール部は、
秘密鍵の変換処理によって中間鍵を生成し、生成した中間鍵を格納するレジスタと、
前記レジスタに格納されたレジスタ格納データに対するデータ変換処理を実行するデータ変換部であり、前記レジスタ格納データを構成する部分データのスワップ（入れ替え）処理を繰り返し実行して複数の異なるラウンド鍵を生成するデータ変換部と、
を有する構成であることを特徴とする暗号処理装置。
【請求項２】
前記データ変換部は、
等しいビット数を持つ部分データの組を２組設定するように前記レジスタ格納データを４つの部分データに区分し、各部分データのスワップ（入れ替え）処理を繰り返し実行して、複数の異なるラウンド鍵を生成する構成であることを特徴とする請求項１に記載の暗号処理装置。
【請求項３】
前記データ変換部は、
２ｍビットからなる前記レジスタ格納データを、
（ａ）先頭ｉビットの部分データＡ０、
（ｂ）先頭からｉ＋１ビット〜ｍビットの部分データＡ１、
（ｃ）先頭からｍ＋１ビット〜２ｍ−ｉビットの部分データＡ２、
（ｄ）末尾ｉビットの部分データＡ３、
上記（ａ）〜（ｄ）に示す４つの部分データに区分し、各部分データのスワップ（入れ替え）処理を繰り返し実行して、複数の異なるラウンド鍵を生成する構成であることを特徴とする請求項１に記載の暗号処理装置。
【請求項４】
前記データ変換部は、
等しいビット数を持つ部分データの組を２組設定するように前記レジスタ格納データを４つの部分データに区分し、各組の部分データのスワップ（入れ替え）処理を実行するダブルスワップ処理実行部と、
前記ダブルスワップ実行部の処理の複数の繰り返し処理の逆処理に相当するデータ変換処理を実行するダブルスワップ逆処理実行部と、
を有する構成であることを特徴とする請求項１に記載の暗号処理装置。
【請求項５】
前記データ変換部は、
暗号化処理におけるラウンド鍵生成と逆順でラウンド鍵を生成する復号用ラウンド鍵生成処理を行なう構成を有し、
等しいビット数を持つ部分データの組を２組設定するように前記レジスタ格納データを４つの部分データに区分し、各組の部分データのスワップ（入れ替え）処理を実行するダブルスワップ処理を予め規定されたラウンド数に基づいて決定される回数分繰り返した結果データを、前記レジスタ格納データに対する変換処理によって生成する復号用ラウンド鍵対応データ変換部と、
前記復号用ラウンド鍵対応データ変換部において変換されたデータに対して、前記ダブルスワップ処理の逆処理を実行して、各ラウンドのラウンド鍵を生成するダブルスワップ逆処理実行部と、
を有することを特徴とする請求項１に記載の暗号処理装置。
【請求項６】
前記データ変換部は、
２ｍビットからなる前記レジスタ格納データを、
（ａ）先頭ｍビットの部分データＡ０、
（ｂ）末尾ｍビットの部分データＡ１、
上記（ａ）〜（ｂ）に示す２つの部分データに区分し、各部分データのスワップ（入れ替え）処理を実行するスワップ処理実行部と、
２ｍビットからなる前記レジスタ格納データを、
（ｃ）先頭（ｍ−ｉ）ビットの部分データＡ０、
（ｄ）先頭から（ｍ−ｉ＋１）ビット〜（ｍ＋ｉ）ビットの部分データＡ１、
（ｅ）先頭から（ｍ＋ｉ＋１）ビット〜末尾ビットの部分データＡ２、
上記（ｃ）〜（ｅ）に示す３つの部分データに区分し、上記（ｃ）と（ｄ）の部分データのスワップ（入れ替え）処理を実行するサブスワップ処理実行部と、
を有し、
前記スワップ処理実行部と、前記サブスワップ処理実行部の処理をラウンド進行に応じて交互に実行してラウンド鍵の生成を実行する構成であることを特徴とする請求項１に記載の暗号処理装置。
【請求項７】
前記データ変換部は、さらに、
前記スワップ処理実行部と、前記サブスワップ処理実行部の処理の繰り返し処理の逆処理に相当するデータ変換を実行する逆変換処理実行部を有することを特徴とする請求項６に記載の暗号処理装置。
【請求項８】
前記鍵スケジュール部は、さらに、
ラウンド毎に異なる定数を生成する定数生成部と、
前記定数生成部の生成した定数と、前記レジスタ格納データとの排他的論理和演算を実行してラウンド鍵を生成する排他的論理和演算部と、
を有する構成であることを特徴とする請求項１〜７いずれかに記載の暗号処理装置。
【請求項９】
前記定数生成部は、
生成する定数より少ないビット数のラウンド毎に異なる少ビット数データのシフトデータの組み合わせによってラウンド毎に異なる定数を生成する構成であることを特徴とする請求項８に記載の暗号処理装置。
【請求項１０】
前記定数生成部は、
生成する定数より少ないビット数の少ビット数データに対するデータ変換によって、ラウンド毎に異なる少ビット数データを生成して、生成した少ビット数データのシフトデータの組み合わせによってラウンド毎に異なる定数を生成する構成であることを特徴とする請求項８に記載の暗号処理装置。
【請求項１１】
暗号処理装置において共通鍵ブロック暗号処理を実行する暗号処理方法であり、
鍵スケジュール部において、暗号処理部で実行する複数ラウンドのラウンド関数の実行に適用する複数のラウンド鍵を生成するラウンド鍵生成ステップと、
暗号処理部において、前記ラウンド鍵を適用したラウンド関数を複数ラウンド繰り返すデータ変換処理を行なう暗号処理ステップとを有し、
前記ラウンド鍵生成ステップは、
秘密鍵の変換処理によって中間鍵を生成してレジスタに格納する中間鍵生成ステップと、
データ変換部が前記レジスタに格納されたレジスタ格納データを構成する部分データのスワップ（入れ替え）処理を繰り返し実行して、複数の異なるラウンド鍵を生成するデータ変換ステップと、
を有するステップであることを特徴とする暗号処理方法。
【請求項１２】
前記データ変換ステップは、
等しいビット数を持つ部分データの組を２組設定するように前記レジスタ格納データを４つの部分データに区分し、各部分データのスワップ（入れ替え）処理を繰り返し実行して、複数の異なるラウンド鍵を生成するステップであることを特徴とする請求項１１に記載の暗号処理方法。
【請求項１３】
前記データ変換ステップは、
２ｍビットからなる前記レジスタ格納データを、
（ａ）先頭ｉビットの部分データＡ０、
（ｂ）先頭からｉ＋１ビット〜ｍビットの部分データＡ１、
（ｃ）先頭からｍ＋１ビット〜２ｍ−ｉビットの部分データＡ２、
（ｄ）末尾ｉビットの部分データＡ３、
上記（ａ）〜（ｄ）に示す４つの部分データに区分し、各部分データのスワップ（入れ替え）処理を繰り返し実行して、複数の異なるラウンド鍵を生成するステップであることを特徴とする請求項１１に記載の暗号処理方法。
【請求項１４】
前記データ変換ステップは、
等しいビット数を持つ部分データの組を２組設定するように前記レジスタ格納データを４つの部分データに区分し、各組の部分データのスワップ（入れ替え）処理を実行するダブルスワップ処理実行ステップと、
前記ダブルスワップ実行ステップの処理の複数の繰り返し処理の逆処理に相当するデータ変換処理を実行するダブルスワップ逆処理実行ステップと、
を有するステップであることを特徴とする請求項１１に記載の暗号処理方法。
【請求項１５】
前記データ変換ステップは、
暗号化処理におけるラウンド鍵生成と逆順でラウンド鍵を生成する復号用ラウンド鍵生成処理を行なうステップを有し、
等しいビット数を持つ部分データの組を２組設定するように前記レジスタ格納データを４つの部分データに区分し、各組の部分データのスワップ（入れ替え）処理を実行するダブルスワップ処理を予め規定されたラウンド数に基づいて決定される回数分繰り返した結果データを、前記レジスタ格納データに対する変換処理によって生成する復号用ラウンド鍵対応データ変換ステップと、
前記復号用ラウンド鍵対応データ変換ステップにおいて変換されたデータに対して、前記ダブルスワップ処理の逆処理を実行して、各ラウンドのラウンド鍵を生成するダブルスワップ逆処理実行ステップと、
を有するステップであることを特徴とする請求項１１に記載の暗号処理方法。
【請求項１６】
前記データ変換ステップステップは、
２ｍビットからなる前記レジスタ格納データを、
（ａ）先頭ｍビットの部分データＡ０、
（ｂ）末尾ｍビットの部分データＡ１、
上記（ａ）〜（ｂ）に示す２つの部分データに区分し、各部分データのスワップ（入れ替え）処理を実行するスワップ処理実行ステップと、
２ｍビットからなる前記レジスタ格納データを、
（ｃ）先頭（ｍ−ｉ）ビットの部分データＡ０、
（ｄ）先頭から（ｍ−ｉ＋１）ビット〜（ｍ＋ｉ）ビットの部分データＡ１、
（ｅ）先頭から（ｍ＋ｉ＋１）ビット〜末尾ビットの部分データＡ２、
上記（ｃ）〜（ｅ）に示す３つの部分データに区分し、上記（ｃ）と（ｄ）の部分データのスワップ（入れ替え）処理を実行するサブスワップ処理実行ステップと、
を有し、
前記スワップ処理実行ステップと、前記サブスワップ処理実行ステップの処理をラウンド進行に応じて交互に実行してラウンド鍵の生成を実行するステップであることを特徴とする請求項１１に記載の暗号処理方法。
【請求項１７】
前記データ変換ステップは、さらに、
前記スワップ処理実行ステップと、前記サブスワップ処理実行ステップの処理の繰り返し処理の逆処理に相当するデータ変換を実行する逆変換処理実行ステップを有することを特徴とする請求項１６に記載の暗号処理方法。
【請求項１８】
前記暗号処理方法は、さらに、
定数生成部が、ラウンド毎に異なる定数を生成する定数生成ステップと、
排他的論理和演算部が、前記定数生成部の生成した定数と、前記レジスタ格納データとの排他的論理和演算を実行してラウンド鍵を生成する排他的論理和演算ステップと、
を有することを特徴とする請求項１１〜１７いずれかに記載の暗号処理方法。
【請求項１９】
前記定数生成ステップは、
生成する定数より少ないビット数のラウンド毎に異なる少ビット数データのシフトデータの組み合わせによってラウンド毎に異なる定数を生成するステップであることを特徴とする請求項１８に記載の暗号処理方法。
【請求項２０】
前記定数生成ステップは、
生成する定数より少ないビット数の少ビット数データに対するデータ変換によって、ラウンド毎に異なる少ビット数データを生成して、生成した少ビット数データのシフトデータの組み合わせによってラウンド毎に異なる定数を生成するステップであることを特徴とする請求項１８に記載の暗号処理方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】削除
【補正の内容】