【手続補正書】
【提出日】平成18年9月27日(2006.9.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
Ｆｅｉｓｔｅｌ型共通鍵ブロック暗号処理を実行する暗号処理装置であり、
非線形変換部および線形変換部を有するＳＰＮ型のＦ関数を、複数ラウンド繰り返し実行する構成を有し、
前記複数ラウンド各々に対応するＦ関数の線形変換部は、
正方行列を適用した線形変換処理を実行する構成であり、少なくとも連続する偶数ラウンドおよび連続する奇数ラウンドの各々において異なる正方行列を適用した線形変換処理を実行する構成であることを特徴とする暗号処理装置。
【請求項２】
前記Ｆ関数の線形変換部は、
全ての偶数ラウンドおよび全ての奇数ラウンドにおいて異なる正方行列をそれぞれ適用した線形変換処理を実行する構成であることを特徴とする請求項１に記載の暗号処理装置。
【請求項３】
前記Ｆｅｉｓｔｅｌ型共通鍵ブロック暗号処理のアルゴリズムは、ラウンド数Ｒの暗号処理アルゴリズムであり、
前記Ｆ関数の線形変換部は、
ｒ個の全ての偶数ラウンドおよびｒ個の全ての奇数ラウンドにおいてｒ種類の異なる正方行列を順次適用した線形変換処理を実行する構成であることを特徴とする請求項１に記載の暗号処理装置。
【請求項４】
前記Ｆｅｉｓｔｅｌ型共通鍵ブロック暗号処理のアルゴリズムは、ラウンド数Ｒの暗号処理アルゴリズムであり、
前記Ｆ関数の線形変換部は、
ｒ個の全ての偶数ラウンドおよびｒ個の全ての奇数ラウンドにおいて２≦ｑ＜ｒのｑ種類の異なる正方行列を順次繰り返し適用した線形変換処理を実行する構成であることを特徴とする請求項１に記載の暗号処理装置。
【請求項５】
前記Ｆ関数の線形変換部は、ｍ個の非線形変換部各々の出力するｎビット、総計ｍｎビットの入力に対する線形変換処理を実行する構成であり、
前記Ｆ関数の線形変換部において適用する異なる複数の正方行列の各々は、
前記複数の正方行列を構成する列ベクトルから任意に選択したｍ個の列ベクトルによって構成する行列が線形独立である正方行列として設定したことを特徴とする請求項１に記載の暗号処理装置。
【請求項６】
前記Ｆ関数の線形変換部は、ｍ個の非線形変換部各々の出力するｎビット、総計ｍｎビットの入力に対する線形変換処理を実行する構成であり、
前記Ｆ関数の線形変換部において適用する異なる複数の正方行列の各々は、
前記複数の正方行列を構成する列ベクトルから任意に選択したｍ個の列ベクトルによって構成する行列も正方行列となる正方行列として設定したことを特徴とする請求項１に記載の暗号処理装置。
【請求項７】
前記Ｆ関数の線形変換部において適用する異なる複数の正方行列の各々は、
前記異なる正方行列を構成する要素を全て含む正方行列Ｍから選択された行ベクトルによって構成される行列Ｍ'から抽出された列ベクトルによって構成される行列によって構成されていることを特徴とする請求項１に記載の暗号処理装置。
【請求項８】
前記Ｆ関数の線形変換部において適用する異なる複数の正方行列の各々は、
リードソロモン符号生成行列に基づいて生成された正方行列であることを特徴とする請求項１に記載の暗号処理装置。
【請求項９】
Ｆｅｉｓｔｅｌ型共通鍵ブロック暗号処理を実行する暗号処理方法であり、
非線形変換処理および線形変換処理を実行するＳＰＮ型のＦ関数を、複数ラウンド繰り返し実行し、
前記複数ラウンド各々に対応するＦ関数の線形変換処理は、
正方行列を適用した線形変換処理を実行するとともに、
少なくとも連続する偶数ラウンドおよび連続する奇数ラウンドの各々において異なる正方行列を適用した線形変換処理を実行することを特徴とする暗号処理方法。
【請求項１０】
前記複数ラウンド各々に対応するＦ関数の線形変換処理は、
全ての偶数ラウンドおよび全ての奇数ラウンドにおいて異なる正方行列をそれぞれ適用した線形変換処理を実行することを特徴とする請求項９に記載の暗号処理方法。
【請求項１１】
前記暗号処理方法は、
ラウンド数ＲのＦｅｉｓｔｅｌ型共通鍵ブロック暗号処理を実行し、
前記複数ラウンド各々に対応するＦ関数の線形変換処理は、
ｒ個の全ての偶数ラウンドおよびｒ個の全ての奇数ラウンドにおいてｒ種類の異なる正方行列を順次適用した線形変換処理を実行することを特徴とする請求項９に記載の暗号処理方法。
【請求項１２】
前記暗号処理方法は、
ラウンド数ＲのＦｅｉｓｔｅｌ型共通鍵ブロック暗号処理を実行し、
前記複数ラウンド各々に対応するＦ関数の線形変換処理は、
ｒ個の全ての偶数ラウンドおよびｒ個の全ての奇数ラウンドにおいて２≦ｑ＜ｒのｑ種類の異なる正方行列を順次繰り返し適用した線形変換処理を実行することを特徴とする請求項９に記載の暗号処理方法。
【請求項１３】
前記複数ラウンド各々に対応するＦ関数の線形変換処理は、
ｍ個の非線形変換部各々の出力するｎビット、総計ｍｎビットの入力に対する線形変換処理であり、
前記複数ラウンド各々に対応するＦ関数の線形変換処理において適用する異なる複数の正方行列の各々は、該複数の正方行列を構成する列ベクトルから任意に選択したｍ個の列ベクトルによって構成する行列が線形独立である正方行列であることを特徴とする請求項９に記載の暗号処理方法。
【請求項１４】
前記複数ラウンド各々に対応するＦ関数の線形変換処理は、
ｍ個の非線形変換部各々の出力するｎビット、総計ｍｎビットの入力に対する線形変換処理であり、
前記複数ラウンド各々に対応するＦ関数の線形変換処理において適用する異なる複数の正方行列の各々は、前記複数の正方行列を構成する列ベクトルから任意に選択したｍ個の列ベクトルによって構成する行列も正方行列となる正方行列であることを特徴とする請求項９に記載の暗号処理方法。
【請求項１５】
前記複数ラウンド各々に対応するＦ関数の線形変換処理において適用する異なる複数の正方行列の各々は、前記複数の正方行列を構成する要素を全て含む正方行列Ｍから選択された行ベクトルによって構成される行列Ｍ'から抽出された列ベクトルによって構成される行列によって構成されていることを特徴とする請求項９に記載の暗号処理方法。
【請求項１６】
前記Ｆ関数の線形変換部において適用する異なる複数の正方行列の各々は、
リードソロモン符号生成行列に基づいて生成された正方行列であることを特徴とする請求項９に記載の暗号処理方法。
【請求項１７】
Ｆｅｉｓｔｅｌ型共通鍵ブロック暗号処理を実行するコンピュータ・プログラムであり、
非線形変換処理および線形変換処理を実行するＳＰＮ型のＦ関数を、複数ラウンド繰り返し実行し、
前記複数ラウンド各々に対応するＦ関数の線形変換処理は、
正方行列を適用した線形変換処理を実行するとともに、
少なくとも連続する偶数ラウンドおよび連続する奇数ラウンドの各々において異なる正方行列を適用した線形変換処理を実行するステップであることを特徴とするコンピュータ・プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
本発明の第１の側面は、
Ｆｅｉｓｔｅｌ型共通鍵ブロック暗号処理を実行する暗号処理装置であり、
非線形変換部および線形変換部を有するＳＰＮ型のＦ関数を、複数ラウンド繰り返し実行する構成を有し、
前記複数ラウンド各々に対応するＦ関数の線形変換部は、
正方行列を適用した線形変換処理を実行する構成であり、少なくとも連続する偶数ラウンドおよび連続する奇数ラウンドの各々において異なる正方行列を適用した線形変換処理を実行する構成であることを特徴とする暗号処理装置にある。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
さらに、本発明の暗号処理装置の一実施態様において、前記Ｆ関数の線形変換部は、全ての偶数ラウンドおよび全ての奇数ラウンドにおいて異なる正方行列をそれぞれ適用した線形変換処理を実行する構成であることを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
さらに、本発明の暗号処理装置の一実施態様において、前記Ｆｅｉｓｔｅｌ型共通鍵ブロック暗号処理のアルゴリズムは、ラウンド数Ｒの暗号処理アルゴリズムであり、前記Ｆ関数の線形変換部は、ｒ個の全ての偶数ラウンドおよびｒ個の全ての奇数ラウンドにおいてｒ種類の異なる正方行列を順次適用した線形変換処理を実行する構成であることを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
さらに、本発明の暗号処理装置の一実施態様において、前記Ｆｅｉｓｔｅｌ型共通鍵ブロック暗号処理のアルゴリズムは、ラウンド数Ｒの暗号処理アルゴリズムであり、前記Ｆ関数の線形変換部は、ｒ個の全ての偶数ラウンドおよびｒ個の全ての奇数ラウンドにおいて２≦ｑ＜ｒのｑ種類の異なる正方行列を順次繰り返し適用した線形変換処理を実行する構成であることを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
さらに、本発明の暗号処理装置の一実施態様において、前記Ｆ関数の線形変換部は、ｍ個の非線形変換部各々の出力するｎビット、総計ｍｎビットの入力に対する線形変換処理を実行する構成であり、前記Ｆ関数の線形変換部において適用する異なる複数の正方行列の各々は、前記複数の正方行列を構成する列ベクトルから任意に選択したｍ個の列ベクトルによって構成する行列が線形独立である正方行列として設定したことを特徴とする。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
さらに、本発明の暗号処理装置の一実施態様において、前記Ｆ関数の線形変換部は、ｍ個の非線形変換部各々の出力するｎビット、総計ｍｎビットの入力に対する線形変換処理を実行する構成であり、前記Ｆ関数の線形変換部において適用する異なる複数の正方行列の各々は、前記複数の正方行列を構成する列ベクトルから任意に選択したｍ個の列ベクトルによって構成する行列も正方行列となる正方行列として設定したことを特徴とする。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
さらに、本発明の暗号処理装置の一実施態様において、前記Ｆ関数の線形変換部において適用する異なる複数の正方行列の各々は、前記異なる正方行列を構成する要素を全て含む正方行列Ｍから選択された行ベクトルによって構成される行列Ｍ'から抽出された列ベクトルによって構成される行列によって構成されていることを特徴とする。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
さらに、本発明の暗号処理装置の一実施態様において、前記Ｆ関数の線形変換部において適用する異なる複数の正方行列の各々は、リードソロモン符号生成行列に基づいて生成された正方行列であることを特徴とする。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
さらに、本発明の第２の側面は、
Ｆｅｉｓｔｅｌ型共通鍵ブロック暗号処理を実行する暗号処理方法であり、
非線形変換処理および線形変換処理を実行するＳＰＮ型のＦ関数を、複数ラウンド繰り返し実行し、
前記複数ラウンド各々に対応するＦ関数の線形変換処理は、
正方行列を適用した線形変換処理を実行するとともに、
少なくとも連続する偶数ラウンドおよび連続する奇数ラウンドの各々において異なる正方行列を適用した線形変換処理を実行することを特徴とする暗号処理方法にある。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
さらに、本発明の暗号処理方法の一実施態様において、前記複数ラウンド各々に対応するＦ関数の線形変換処理は、全ての偶数ラウンドおよび全ての奇数ラウンドにおいて異なる正方行列をそれぞれ適用した線形変換処理を実行することを特徴とする。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
さらに、本発明の暗号処理方法の一実施態様において、前記暗号処理方法は、ラウンド数ＲのＦｅｉｓｔｅｌ型共通鍵ブロック暗号処理を実行し、前記複数ラウンド各々に対応するＦ関数の線形変換処理は、ｒ個の全ての偶数ラウンドおよびｒ個の全ての奇数ラウンドにおいてｒ種類の異なる正方行列を順次適用した線形変換処理を実行することを特徴とする。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
さらに、本発明の暗号処理方法の一実施態様において、前記暗号処理方法は、ラウンド数ＲのＦｅｉｓｔｅｌ型共通鍵ブロック暗号処理を実行し、前記複数ラウンド各々に対応するＦ関数の線形変換処理は、ｒ個の全ての偶数ラウンドおよびｒ個の全ての奇数ラウンドにおいて２≦ｑ＜ｒのｑ種類の異なる正方行列を順次繰り返し適用した線形変換処理を実行することを特徴とする。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
さらに、本発明の暗号処理方法の一実施態様において、前記複数ラウンド各々に対応するＦ関数の線形変換処理は、ｍ個の非線形変換部各々の出力するｎビット、総計ｍｎビットの入力に対する線形変換処理であり、前記複数ラウンド各々に対応するＦ関数の線形変換処理において適用する異なる複数の正方行列の各々は、該複数の正方行列を構成する列ベクトルから任意に選択したｍ個の列ベクトルによって構成する行列が線形独立である正方行列であることを特徴とする。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
さらに、本発明の暗号処理方法の一実施態様において、前記複数ラウンド各々に対応するＦ関数の線形変換処理は、ｍ個の非線形変換部各々の出力するｎビット、総計ｍｎビットの入力に対する線形変換処理であり、前記複数ラウンド各々に対応するＦ関数の線形変換処理において適用する異なる複数の正方行列の各々は、前記複数の正方行列を構成する列ベクトルから任意に選択したｍ個の列ベクトルによって構成する行列も正方行列となる正方行列であることを特徴とする。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
さらに、本発明の暗号処理方法の一実施態様において、前記複数ラウンド各々に対応するＦ関数の線形変換処理において適用する異なる複数の正方行列の各々は、前記複数の正方行列を構成する要素を全て含む正方行列Ｍから選択された行ベクトルによって構成される行列Ｍ'から抽出された列ベクトルによって構成される行列によって構成されていることを特徴とする。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
さらに、本発明の暗号処理方法の一実施態様において、前記Ｆ関数の線形変換部において適用する異なる複数の正方行列の各々は、リードソロモン符号生成行列に基づいて生成された正方行列であることを特徴とする。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
さらに、本発明の第３の側面は、
Ｆｅｉｓｔｅｌ型共通鍵ブロック暗号処理を実行するコンピュータ・プログラムであり、
非線形変換処理および線形変換処理を実行するＳＰＮ型のＦ関数を、複数ラウンド繰り返し実行し、
前記複数ラウンド各々に対応するＦ関数の線形変換処理は、
正方行列を適用した線形変換処理を実行するとともに、
少なくとも連続する偶数ラウンドおよび連続する奇数ラウンドの各々において異なる正方行列を適用した線形変換処理を実行するステップであることを特徴とするコンピュータ・プログラムにある。