(57)【要約】  ＳＭＳ４暗号アルゴリズムを実現する暗号化および復号化処理方法とそのシステムを開示する。本方法は第１に、定配列を用意して、データ記憶ユニットに外部データを入力して、第１データ変換を実行し、第２に、第２データ変換を実行し、第３に、全ての所定のデータ変換が完了して、反復的暗号化および復号化処理の結果を得るまで、第２データ変換を繰り返す。
2009528559.tif 000002
【特許請求の範囲】
【請求項１】
反復的暗号化および復号化データ処理のステップを含むＳＭＳ４暗号アルゴリズムの暗号化および復号化処理方法であって、特に、
第１定配列のデータの幅および深さを設定し、深さが同じデータを１行として構成して、第１定配列を格納するステップと、
記憶された外部データを第１クロック周期の立ち上がりエッジまたは立ち下がりエッジにおいて出力するステップと、
前記格納された第１定配列の第１行の第１データに対するデータ変換処理を、前記第１クロック周期内で、前記記憶された外部データを用いて実行して、前記第１クロック周期の第１変換データを得るステップと、
前記格納された第１定配列の第１行の第２データに対するデータ変換処理を、前記第１クロック周期の第１変換データを用いて実行して、前記第１クロック周期の第２変換データを得るステップと、
同様に、前記格納された第１定配列の第１行の残り全てのデータに対するデータ変換処理を順次実行して、前記第１クロック周期の変換処理データを得るステップと、
第２クロック周期の立ち上がりエッジまたは立ち下がりエッジにおいて、前記第１クロック周期の変換処理データを記憶するステップと、
前記格納された第１定配列の第２行の第１データに対するデータ変換処理を、第２クロック周期内で、前記第１クロック周期の記憶された変換処理データを用いて実行して、前記第２クロック周期の第１変換データを得るステップと、
前記格納された第１定配列の第２行の第２データに対するデータ変換処理を、前記第２クロック周期の第１変換データを用いて実行して、前記第２クロック周期の第２変換データを得るステップと、
同様に、前記格納された第１定配列の第２行の残り全てのデータに対するデータ変換処理を順次実行して、前記第２クロック周期の変換処理データを得るステップと、
プロセスの数が深さの値に等しいデータ変換処理プロセスを、前記データ変換処理プロセスが完了するまで繰り返すことにより、前記反復的暗号化および復号化処理の結果を得るステップとを含む方法。
【請求項２】
前記第１定配列が以下の条件、すなわち、
データはアドレスの降順に並べて格納されていて、
前記第１定配列のデータの幅および深さは、前記データ変換処理の数に基づいて設定されていて、幅と深さの積は１０２４であって、
深さが同じデータは１行として構成されることを満たす、請求項１に記載の方法。
【請求項３】
前記反復的暗号化および復号化データ処理のステップの前に、第１の追加的暗号化および復号化データ処理のステップが含まれていて、前記ステップが、
第２定配列のデータの幅を、前記第１の追加的暗号化および復号化データ処理のステップにおける前記データ変換処理の数に応じて設定し、前記第２定配列のデータの深さは１であって、深さが同じデータを１行として構成して、前記第２定配列を格納するステップと、
記憶された外部データ、前記クロック周期の立ち上がりエッジまたは立ち下がりエッジにおいて出力するステップと、
前記格納された第２定配列の第１データに対するデータ変換処理を、前記クロック周期内で、前記記憶された外部データを用いて実行して、第１変換データを得るステップと、
前記格納された第２定配列の第２データに対するデータ変換処理を、前記第１変換データを用いて実行して、第２変換データを得るステップと、
同様に、前記格納された第２定配列の全ての残りのデータに対するデータ変換処理を、前記第１の追加的暗号化および復号化データ処理のステップにおいて順次実行して、前記第１の追加的暗号化および復号化データ処理の結果を得るステップと、
第１の追加的暗号化および復号化データ処理の結果を、前記反復的暗号化および復号化データ処理における外部データとするステップとを含む、請求項１に記載の方法。
【請求項４】
前記第１定配列および第２定配列が以下の条件、すなわち、
前記第２定配列のデータの幅は、前記第１の追加的暗号化および復号化データ処理のステップにおけるデータ変換の数と３２の積に等しく、前記第２定配列のデータの深さは１であって、前記第２定配列のデータの幅と深さの積が決定され、
前記第２定配列のデータの幅と深さの積と、前記第１定配列のデータの幅と深さの積との和は１０２４であることを満たす、請求項３に記載の方法。
【請求項５】
前記反復的暗号化および復号化データ処理のステップの後で、第２の追加的暗号化および復号化データ処理のステップが更に含まれていて、前記ステップが、
第３定配列のデータの幅を、前記第２の追加的暗号化および復号化データ処理のステップにおけるデータ変換処理の数に応じて設定し、前記第３定配列のデータの深さは１であって、深さが同じデータを１行として構成して、前記第３定配列を格納するステップと、
前記反復的暗号化および復号化データ処理の結果を記憶して、前記記憶されたデータをクロック周期の立ち上がりエッジまたは立ち下がりエッジにおいて出力するステップと、
前記格納された第３定配列の第１データに対するデータ変換処理を、前記クロック周期内で、前記記憶された外部データを用いて実行して、第１変換データを得るステップと、
前記格納された第３定配列の第２データに対するデータ変換処理を、前記第１変換データを用いて実行して、第２変換データを得るステップと、
同様に、前記格納された第３定配列の残り全てのデータに対するデータ変換処理を、前記第２の追加的暗号化および復号化データ処理のステップにおいて順次実行して、前記暗号化および復号化データ処理の最終結果となる、前記第２の追加的暗号化および復号化データ処理の結果を得るステップとを含む、請求項３に記載の方法。
【請求項６】
前記第１定配列、第２定配列、および第３定配列が以下の条件、すなわち、
前記第２定配列のデータの幅は、前記第１の追加的暗号化および復号化データ処理のステップにおけるデータ変換の数と３２の積に等しく、前記第２定配列のデータの深さは１であって、前記第２定配列のデータの幅と深さの積が決定され、
前記第３定配列のデータの幅は、前記第２の追加的暗号化および復号化データ処理のステップにおけるデータ変換の数と３２の積に等しく、前記第３定配列のデータの深さは１であって、前記第３定配列のデータの幅と深さの積が決定され、
前記第２定配列のデータの幅と深さの積、第３定配列のデータの幅と深さの積、および第１定配列のデータの幅と深さの積の和は１０２４であることを満たす、請求項５に記載の方法。
【請求項７】
前記反復的暗号化および復号化データ処理のステップの後で、第２の追加的暗号化および復号化データ処理のステップが更に含まれていて、前記ステップが、
第３定配列のデータの幅を、前記第２の追加的暗号化および復号化データ処理のステップにおけるデータ変換処理の数に応じて設定し、前記第３定配列のデータの深さは１であって、深さが同じデータを１行として構成して、前記第３定配列を格納するステップと、
前記反復的暗号化および復号化データ処理の結果を記憶して、前記記憶されたデータをクロック周期の立ち上がりエッジまたは立ち下がりエッジにおいて出力するステップと、
前記格納された第３定配列の第１データに対するデータ変換処理を、前記クロック周期内で、前記記憶された外部データを用いて実行して、第１変換データを得るステップと、
前記格納された第３定配列の第２データに対するデータ変換処理を、前記第１変換データを用いて実行して、第２変換データを得るステップと、
同様に、前記格納された第３定配列の残り全てのデータに対するデータ変換処理を、前記第２の追加的暗号化および復号化データ処理のステップにおいて順次実行して、前記暗号化および復号化データ処理の最終結果となる、前記第２の追加的暗号化および復号化データ処理の結果を得るステップとを含む、請求項１に記載の方法。
【請求項８】
前記第１定配列および第３定配列が以下の条件、すなわち、
前記第３定配列のデータの幅は、前記第２の追加的暗号化および復号化データ処理のステップにおけるデータ変換の数と３２の積に等しく、前記第３定配列のデータの深さは１であって、前記第３定配列のデータの幅と深さの積が決定され、
前記第３定配列のデータの幅と深さの積と、前記第１定配列のデータの幅と深さの積との和は１０２４であることを満たす、請求項７に記載の方法。
【請求項９】
第１定配列格納ユニット、第１データ記憶ユニット、および第１データ変換ユニットを含む反復的暗号化および復号化データ処理装置を含む、ＳＭＳ４暗号アルゴリズムにおける暗号化および復号化処理システムであって、前記第１データ変換ユニットは複数のＮ個のデータ変換サブユニットを含んでおり、
前記第１定配列格納ユニットは、第１定配列を格納して、各クロック周期内で前記第１定配列のデータの各行を前記第１データ変換ユニットの複数のＮ個のデータ変換サブユニットへ各々順次送るべく適合されていて、
前記第１データ記憶ユニットは、データを記憶し、前記記憶されたデータを各クロック周期の立ち上りエッジまたは立ち下がりエッジにおいて入力端から出力端へ送信して、各クロック周期内で前記データを第１データ変換サブユニットへ送るべく適合されていて、
前記複数のＮ個のデータ変換サブユニットは、処理の数が深さの値に等しいデータ変換処理を、前記データ変換処理プロセスが完了するまで、各クロック周期内で順次実行し、前記得られた変換データを後続処理のため次のデータ変換サブユニットへ送ることにより、前記反復的暗号化および復号化データ処理の結果を得るべく適合されているシステム。
【請求項１０】
前記第１定配列が以下の条件、すなわち、
前記データの幅および深さは、前記データ変換サブユニットの数Ｎに基づいて設定されており、幅と深さの積は１０２４であって、深さが同じデータは１行として構成され、且つ前記データはアドレスの降順に並べられることを満たす、請求項９に記載のシステム。
【請求項１１】
第１の追加的暗号化および復号化データ処理装置を更に含み、前記装置は、第２定配列格納ユニット、第２データ記憶ユニット、および第２データ変換ユニットを含み、前記第２データ変換ユニットは複数のＭ個のデータ変換サブユニットを含み、
前記第２定配列格納ユニットは、第２定配列を格納して、各クロック周期内で前記第２定配列のデータの各行を前記第２データ変換ユニットの複数のＭ個のデータ変換サブユニットへ各々順次送るべく適合されていて、
前記第２データ記憶ユニットは、データを記憶し、前記記憶されたデータを各クロック周期の立ち上りエッジまたは立ち下がりエッジにおいて入力端から出力端へ送信して、各クロック周期内で前記データを前記第２データ変換サブユニットへ出力すべく適合されていて、
前記複数のＭ個のデータ変換サブユニットは、処理の数が深さの値に等しいデータ変換処理を、前記データ変換処理プロセスが完了するまで、各クロック周期内で順次実行し、得られた変換データを後続処理のため次のデータ変換サブユニットへ送ることにより、前記反復的暗号化および復号化データ処理における記憶データとなる、第１の追加的暗号化および復号化データ処理の結果を得るべく適合されている、請求項９に記載のシステム。
【請求項１２】
前記第１定配列および第２定配列が以下の条件、すなわち、
前記第２定配列のデータの幅および深さは、前記第１の追加的暗号化および復号化データ処理装置における前記データ変換サブユニットの数Ｍに基づいて設定されており、深さが同じデータは１行として構成され、前記第２定配列のデータの幅は、前記第１の追加的暗号化および復号化データ処理装置における前記データ変換サブユニットの数Ｍと３２の積に等しく、前記第２定配列のデータの深さは１であって、前記第２定配列のデータの幅と深さの積はＭ×３２×１であると決定され、
前記第２定配列のデータの幅と深さの積Ｍ×３２×１と、前記第１定配列のデータの幅と深さの積との和は１０２４であることを満たす、請求項１１に記載のシステム。
【請求項１３】
第２の追加的暗号化および復号化データ処理装置を更に含み、前記装置は、第３定配列格納ユニット、第３データ記憶ユニット、および第３データ変換ユニットを含み、前記第３データ変換ユニットは複数のＱ個のデータ変換サブユニットを含み、
前記第３定配列格納ユニットは、第３定配列を格納して、各クロック周期内で前記第３定配列のデータの各行を前記第３データ変換ユニットの複数のＱ個のデータ変換サブユニットへ各々順次送るべく適合されていて、前記第３定配列のデータの幅および深さは、前記データ変換サブユニットの数Ｑに基づいて設定されており、前記第３定配列のデータの深さは１であって、深さが同じデータは１行として構成されていて、
前記第３データ記憶ユニットは、データを記憶し、前記記憶されたデータを各クロック周期の立ち上りエッジまたは立ち下がりエッジにおいて入力端から出力端へ送信して、各クロック周期内で前記データを前記第３データ変換サブユニットへ送るべく適合されていて、
前記複数のＱ個のデータ変換サブユニットは、処理の数が深さの値に等しいデータ変換処理を、前記データ変換処理プロセスが完了するまで、各クロック周期内で順次実行し、得られた変換データを後続処理のため次のデータ変換サブユニットへ送ることにより、前記暗号化および復号化データ処理の最終結果となる、第２の追加的暗号化および復号化データ処理の結果を得るべく適合されている、請求項１１に記載のシステム。
【請求項１４】
前記第１定配列、第２定配列、および第３定配列が以下の条件、すなわち、
前記第２定配列のデータの幅および深さは、前記第１の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｍに基づいて設定されており、深さが同じデータは１行として構成され、前記第２定配列のデータの幅は、前記第１の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｍと３２の積に等しく、前記第２定配列のデータの深さは１であって、前記第２定配列のデータの幅と深さの積はＭ×３２×１であり、
前記第３定配列のデータの幅および深さは、前記第２の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｑに基づいて設定されており、深さが同じデータは１行として構成され、前記第３定配列のデータの幅は、前記第２の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｑと３２の積に等しく、前記第３定配列のデータの深さは１であって、前記第３定配列のデータの幅と深さの積はＱ×３２×１であり、
前記第２定配列のデータの幅と深さの積Ｍ×３２×１、第３定配列のデータの幅と深さの積Ｑ×３２×１、および第１定配列のデータの幅と深さの積の和は１０２４である、請求項１３に記載のシステム。
【請求項１５】
第２の追加的暗号化および復号化データ処理装置を更に含み、前記装置は、第３定配列格納ユニット、第３データ記憶ユニット、および第３データ変換ユニットを含み、前記第３データ変換ユニットは複数のＱ個のデータ変換サブユニットを含み、
前記第３定配列格納ユニットは、第３定配列を格納して、各クロック周期内で第３定配列のデータの各行を前記第３データ変換ユニットの複数のＱ個のデータ変換サブユニットへ各々順次送るべく適合されていて、
前記第３データ記憶ユニットは、データを記憶し、前記記憶されたデータを各クロック周期の立ち上りエッジまたは立ち下がりエッジにおいて入力端から出力端へ送信して、各クロック周期内でデータを第３データ変換サブユニットへ送るべく適合されていて、
前記複数のＱ個のデータ変換サブユニットは、処理の数が深さの値に等しいデータ変換処理を、前記データ変換処理プロセスが完了するまで、各クロック周期内で順次実行し、得られた変換データを後続処理のため次のデータ変換サブユニットへ送ることにより、前記暗号化および復号化データ処理の最終結果となる、第２の追加的暗号化および復号化データ処理の結果を得るべく適合されている、請求項９に記載のシステム。
【請求項１６】
前記第１定配列および第３定配列が以下の条件、すなわち、
前記第３定配列のデータの幅および深さは、前記第２の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｑに基づいて設定されており、深さが同じデータは１行として構成され、前記第３定配列のデータの幅は、前記第２の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｑと３２の積に等しく、前記第３定配列のデータの深さは１であって、前記第３定配列のデータの幅と深さの積はＱ×３２×１であり、
前記第３定配列のデータの幅と深さの積Ｑ×３２×１と、前記第１定配列のデータの幅と深さの積との和は１０２４であることを満たす、請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報技術分野に関し、特にＳＭＳ４暗号アルゴリズムにおける暗号化および復号化処理方法とシステムに関する。
【背景技術】
【０００２】
ＳＭＳ４暗号アルゴリズムを実装する際の必須要素としてキー拡張ユニット、並びに暗号化および復号化ユニットがあるが、その内部構造および処理プロセスは同一である。暗号化および復号化ユニットは、主として３個の部分、すなわちデータ記憶ユニット、定配列格納ユニット、およびデータ変換ユニットで構成されている。
【０００３】
データ記憶ユニットは、データを記憶するための汎用トリガで構成されている。ユニット内に記憶されたデータは、１クロック周期内では不変である。汎用トリガは、データ入力端のデータが立ち上りクロックエッジまたは立ち下りクロックエッジにおいてトリガの出力端へ送られる一方、他の時点においてトリガ出力端のデータは不変であるデータの一時的格納要素である。
【０００４】
定配列格納ユニットは、定配列を格納する格納ユニットである。従来技術による定配列は一般に、暗号化および復号化処理の前に用意された幅３２ビット、深さ３２ビットのデータアレイである。定配列格納ユニット内のデータは、アドレスの降順に並べられていて、ｒｋ０、ｒｋ１、・・・ｒｋ３１と名付けられている。
【０００５】
データ変換ユニットは、暗号アルゴリズムに従いデータ処理を行なうユニットである。例えば、国際ＳＭＳ４暗号アルゴリズムによるデータ処理において、データ変換ユニットにより実行される演算は、暗号アルゴリズムで指定された１種類の変換しか含んでいない。
【０００６】
従来、ＳＭＳ４暗号アルゴリズムによる暗号化および復号化データ処理プロセスは以下の通りである。
【０００７】
１）データ記憶ユニットに外部データを入力する。特に、データは、外部データがデータ記憶ユニットに入力された後でデータ記憶ユニットの出力端から出力される。例えば、１２８ビットの外部データは、各々３２ビットを含む４個のデータブロックに分割されて、各々Ａ０、Ａ１、Ａ２およびＡ３と名付けられる。データ記憶ユニットの出力端から出力されるデータは依然として１２８ビットであって、各々３２ビットを含む４個のデータブロックに分割されて各々ａ０、ａ１、ａ２およびａ３と名付けられる。
【０００８】
２）データ変換処理を実行する。
【０００９】
データ記憶ユニットの出力端からのデータは、データ変換処理のためデータ変換ユニットへ入力される。例えば、データ記憶ユニットの出力端からのデータａ０、ａ１、ａ２およびａ３は、データ変換ユニットを介して１２８ビットのデータＣ０、Ｃ１、Ｃ２およびＣ３に変換される。
【００１０】
３）第２データ変換処理を実行する。
【００１１】
先のデータ変換処理の後でデータは再びデータ記憶ユニットに格納され、次いで、データ記憶ユニットの出力端からのデータは、第２データ変換処理のため再びデータ変換ユニットに入力される。
【００１２】
４）最終的なデータ処理結果を得るべく第２データ変換処理を繰り返す。
【００１３】
１２８ビットの外部データの場合、第２データ変換処理は３０回繰り返される。すなわち、最終的なデータ処理結果を得るためにデータ変換処理を合計３２回実行する。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
上述の従来技術では、暗号化および復号化処理の前に幅３２ビット、深さ３２ビットの定配列が用意され、データ変換ユニットは暗号アルゴリズムで指定されている１種類の変換演算しか実行しないため、データ変換処理を何回も繰り返す結果となった。例えば、１２８ビットのデータを暗号化するために、データ変換処理は、最終的なデータ処理結果を得るために３２回繰り返す必要がある。
【００１５】
更に、上述の従来技術では暗号化および復号化の効率が低い。暗号化効率は、単位時間内に暗号化されるデータの量である。例えば、１２８ビットのデータを暗号化するためにデータ変換処理を３２回繰り返す。現在の実用的なアプリケーションは一般に低クロック周波数であるため、単位時間内に暗号化されるデータの量は少なく、且つ効率が低い。暗号化効率が指定されている場合、クロック周波数を上げる必要がある。しかし、現実のアプリケーションではクロック周波数を上げることは難しいため、実際の暗号化効率は依然として低い。クロック周波数を上げることで更に、集積回路の設計および実装が困難になり、信号の整合性が低下し、設計コストが上昇する。更に、従来技術における方法により設計された集積回路を本システムに適用した場合、印刷回路基板（ＰＣＢ）のコストが増大し、ＰＣＢおよび製品実装に困難をきたす恐れがある。また、システムに大きな干渉が存在し、他の設備や装置の通常および高効率動作に影響を与える恐れがある。
【課題を解決するための手段】
【００１６】
本発明の一実施形態は、データ変換処理の反復回数を減らして暗号化効率を向上させる、ＳＭＳ４暗号アルゴリズムの暗号化および復号化処理方法とそのシステムを提供する。
【００１７】
本発明の技術的な解決策は以下の通りである。
【００１８】
ＳＭＳ４暗号アルゴリズムの暗号化および復号化処理方法は、反復的暗号化および復号化データ処理のステップを含んでおり、本方法は特に以下のステップを含む。
【００１９】
第１定配列のデータの幅および深さを設定し、深さが同じデータを１行として構成して、第１定配列を格納する。
【００２０】
記憶された外部データを第１クロック周期の立ち上がりエッジまたは立ち下がりエッジにおいて出力する。
【００２１】
格納された第１定配列の第１行の第１データに対するデータ変換処理を、第１クロック周期内で記憶された外部データを用いて実行して、第１クロック周期の第１変換データを得る。
【００２２】
格納された第１定配列の第１行の第２データに対するデータ変換処理を、第１クロック周期の第１変換データを用いて実行して、第１クロック周期の第２変換データを得る。
【００２３】
同様に、格納された第１定配列の第１行の残り全てのデータに対するデータ変換処理を順次実行して、第１クロック周期の変換処理データを得る。
【００２４】
第２クロック周期の立ち上がりエッジまたは立ち下がりエッジにおいて、第１クロック周期の変換処理データを記憶する。
【００２５】
格納された第１定配列の第２行の第１データに対するデータ変換処理を、第２クロック周期内で、第１クロック周期の記憶された変換処理データを用いて実行して、第２クロック周期の第１変換データを得る。
【００２６】
格納された第１定配列の第２行の第２データに対するデータ変換処理を、第２クロック周期の第１変換データを用いて実行して、第２クロック周期の第２変換データを得る。
【００２７】
同様に、格納された第１定配列の第２行の残り全てのデータに対するデータ変換処理を順次実行して、第２クロック周期の変換処理データを得る。
【００２８】
プロセスの数が深さの値に等しいデータ変換処理プロセスを、そのデータ変換処理プロセスが完了するまで繰り返すことにより、反復的暗号化および復号化処理の最終結果を得る。
【００２９】
好適には、第１定配列は以下の要件を満たす。
【００３０】
データはアドレスの降順に並べて格納される。
【００３１】
第１定配列のデータの幅および深さは、データ変換処理の数に基づいて設定されていて、幅と深さの積は１０２４であり、深さが同じデータは１行として構成される。
【００３２】
好適には、反復的暗号化および復号化データ処理のステップの前に、第１の追加的暗号化および復号化データ処理のステップが含まれていて、第１の追加的暗号化および復号化データ処理が以下のステップを含む。
【００３３】
第２定配列のデータの幅を、第１の追加的暗号化および復号化データ処理のステップにおけるデータ変換処理の数に応じて設定し、第２定配列のデータの深さは１であって、深さが同じデータを１行として構成して、第２定配列を格納する。
【００３４】
記憶された外部データをクロック周期の立ち上がりエッジまたは立ち下がりエッジにおいて出力する。
【００３５】
格納された第２定配列の第１データに対するデータ変換処理を、このクロック周期内で記憶された外部データを用いて実行して、第１変換データを得る。
【００３６】
格納された第２定配列の第２データに対するデータ変換処理を、第１変換データを用いて実行して、第２変換データを得る。
【００３７】
同様に、格納された第２定配列の全ての残りのデータに対するデータ変換処理を、第１の追加的暗号化および復号化データ処理のステップにおいて順次実行して、反復的暗号化および復号化データ処理における外部データとなる、第１の追加的暗号化および復号化データ処理の結果を得る。
【００３８】
好適には、第１定配列および第２定配列は以下の条件を満たす。
【００３９】
第２定配列のデータの幅は、第１の追加的暗号化および復号化データ処理のステップにおけるデータ変換の数と３２の積に等しく、第２定配列のデータの深さは１であって、第２定配列のデータの幅と深さの積が決定される。
【００４０】
第２定配列のデータの幅と深さの積と、第１定配列のデータの幅と深さの積との和は１０２４である。
【００４１】
好適には、反復的暗号化および復号化データ処理のステップの後で、第２の追加的暗号化および復号化データ処理のステップが更に含まれていて、このステップは以下のステップを含む。
【００４２】
第３定配列のデータの幅を、第２の追加的暗号化および復号化データ処理のステップにおけるデータ変換処理の数に応じて設定し、第３定配列のデータの深さは１であって、深さが同じデータを１行として構成して、第３定配列を格納する。
【００４３】
反復的暗号化および復号化データ処理の結果を記憶して、記憶されたデータをクロック周期の立ち上がりエッジまたは立ち下がりエッジにおいて出力する。
【００４４】
格納された第３定配列の第１データに対するデータ変換処理を、このクロック周期内で記憶された外部データを用いて実行して、第１変換データを得る。
【００４５】
格納された第３定配列の第２データに対するデータ変換処理を、第１変換データを用いて実行して、第２変換データを得る。
【００４６】
同様に、格納された第３定配列の残り全てのデータに対するデータ変換処理を、第２の追加的暗号化および復号化データ処理のステップにおいて順次実行して、暗号化および復号化データ処理の最終結果となる、第２の追加的暗号化および復号化データ処理の結果を得る。
【００４７】
好適には、第１定配列、第２定配列、および第３定配列は以下の条件を満たす。
【００４８】
第２定配列のデータの幅は、第１の追加的暗号化および復号化データ処理のステップにおけるデータ変換の数と３２の積に等しく、第２定配列のデータの深さは１であって、第２定配列のデータの幅と深さの積が決定される。
【００４９】
第３定配列のデータの幅は、第２の追加的暗号化および復号化データ処理のステップにおけるデータ変換の数と３２の積に等しく、第３定配列のデータの深さは１であって、第３定配列のデータの幅と深さの積が決定される。
【００５０】
第２定配列のデータの幅と深さの積、第３定配列のデータの幅と深さの積、および第１定配列のデータの幅と深さの積の和は１０２４である。
【００５１】
好適には、反復的暗号化および復号化データ処理のステップの後で、第２の追加的暗号化および復号化データ処理のステップが更に含まれていて、このステップは以下のステップを含む。
【００５２】
第３定配列のデータの幅を、第２の追加的暗号化および復号化データ処理のステップにおけるデータ変換処理の数に応じて設定し、第３定配列のデータの深さは１であって、深さが同じデータを１行として構成して、第３定配列を格納する。
【００５３】
反復的暗号化および復号化データ処理の結果を記憶して、記憶されたデータをクロック周期の立ち上がりエッジまたは立ち下がりエッジにおいて出力する。
【００５４】
格納された第３定配列の第１データに対するデータ変換処理を、クロック周期内で記憶された外部データを用いて実行して、第１変換データを得る。
【００５５】
格納された第３定配列の第２データに対するデータ変換処理を、第１変換データを用いて実行して、第２変換データを得る。
【００５６】
同様に、格納された第３定配列の残り全てのデータに対するデータ変換処理を、第２の追加的暗号化および復号化データ処理のステップにおいて順次実行して、暗号化および復号化データ処理の最終結果となる、第２の追加的暗号化および復号化データ処理の結果を得る。
【００５７】
好適には、第１定配列および第３定配列は以下の条件を満たす。
【００５８】
第３定配列のデータの幅は、第２の追加的暗号化および復号化データ処理のステップにおけるデータ変換の数と３２の積に等しく、第３定配列のデータの深さは１であって、第３定配列のデータの幅と深さの積が決定される。
【００５９】
第３定配列のデータの幅と深さの積と、第１定配列のデータの幅と深さの積との和は１０２４である。
【００６０】
ＳＭＳ４暗号アルゴリズムにおける暗号化および復号化処理システムは、第１定配列格納ユニット、第１データ記憶ユニット、および第１データ変換ユニットを含む反復的暗号化および復号化データ処理装置を含み、第１データ変換ユニットは複数のＮ個のデータ変換サブユニットを含む。特に、第１定配列格納ユニットは、第１定配列を格納して、各クロック周期内で第１定配列のデータの各行を第１データ変換ユニットの複数のＮ個のデータ変換サブユニットへ各々順次送るべく適合されている。
【００６１】
第１データ記憶ユニットは、データを記憶し、記憶されたデータを各クロック周期の立ち上りエッジまたは立ち下がりエッジにおいて入力端から出力端へ送信して、各クロック周期内でデータを第１データ変換サブユニットへ出力すべく適合されている。
【００６２】
複数のＮ個のデータ変換サブユニットは、処理の数が深さの値に等しいデータ変換処理を、そのデータ変換処理プロセスが完了するまで、各クロック周期内で順次実行し、得られた変換データを後続処理のため次のデータ変換サブユニットへ出力することにより、反復的暗号化および復号化データ処理の結果を得るべく適合されている。
【００６３】
好適には、第１定配列は以下の条件を満たす。
【００６４】
データの幅および深さは、データ変換サブユニットの数Ｎに基づいて設定されており、幅と深さの積は１０２４であって、深さが同じデータは１行として構成され、且つデータはアドレスの降順に並べられる。
【００６５】
好適には、第１の追加的暗号化および復号化データ処理装置が更に含まれる。その装置は、第２定配列格納ユニット、第２データ記憶ユニット、および第２データ変換ユニットを含み、第２データ変換ユニットは複数のＭ個のデータ変換サブユニットを含む。特に、第２定配列格納ユニットは、第２定配列を格納して、各クロック周期内で第２定配列のデータの各行を第２データ変換ユニットの複数のＭ個のデータ変換サブユニットへ各々順次出力すべく適合されている。
【００６６】
第２データ記憶ユニットは、データを記憶し、記憶されたデータを各クロック周期の立ち上りエッジまたは立ち下がりエッジにおいて入力端から出力端へ送信して、各クロック周期内でデータを第２データ変換サブユニットへ出力すべく適合されている。
【００６７】
複数のＭ個のデータ変換サブユニットは、処理の数が深さの値に等しいデータ変換処理を、そのデータ変換処理プロセスが完了するまで、各クロック周期内で順次実行し、得られた変換データを後続処理のため次のデータ変換サブユニットへ出力することにより、反復的暗号化および復号化データ処理における記憶データとなる、第１の追加的暗号化および復号化データ処理の結果を得るべく適合されている。
【００６８】
好適には、第１定配列および第２定配列は以下の条件を満たす。
【００６９】
第２定配列のデータの幅および深さは、第１の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｍに基づいて設定されており、深さが同じデータは１行として構成され、第２定配列のデータの幅は、第１の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｍと３２の積に等しく、第２定配列のデータの深さは１であって、第２定配列のデータの幅と深さの積はＭ×３２×１である。
【００７０】
第２定配列のデータの幅と深さの積Ｍ×３２×１と、第１定配列のデータの幅と深さの積との和は１０２４である。
【００７１】
好適には、第２の追加的暗号化および復号化データ処理装置が更に含まれる。その装置は、第３定配列格納ユニット、第３データ記憶ユニット、および第３データ変換ユニットを含み、第３データ変換ユニットは複数のＱ個のデータ変換サブユニットを含む。特に、第３定配列格納ユニットは、第３定配列を格納して、各クロック周期内で第３定配列のデータの各行を第３データ変換ユニットの複数のＱ個のデータ変換サブユニットへ各々順次出力すべく適合されていて、第３定配列のデータの幅および深さは、データ変換サブユニットの数Ｑに基づいて設定されており、第３定配列のデータの深さは１であって、深さが同じデータは１行として構成されている。
【００７２】
第３データ記憶ユニットは、データを記憶し、記憶されたデータを各クロック周期の立ち上りエッジまたは立ち下がりエッジにおいて入力端から出力端へ送信して、各クロック周期内でデータを第３データ変換サブユニットへ出力すべく適合されている。
【００７３】
複数のＱ個のデータ変換サブユニットは、処理の数が深さの値に等しいデータ変換処理を、そのデータ変換処理プロセスが完了するまで、各クロック周期内で順次実行し、得られた変換データを後続処理のため次のデータ変換サブユニットへ出力することにより、暗号化および復号化データ処理の最終結果となる、第２の追加的暗号化および復号化データ処理の結果を得るべく適合されている。
【００７４】
好適には、第１定配列、第２定配列、および第３定配列は以下の条件を満たす。
【００７５】
第２定配列のデータの幅および深さは、第１の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｍに基づいて設定されており、深さが同じデータは１行として構成され、第２定配列のデータの幅は、第１の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｍと３２の積に等しく、第２定配列のデータの深さは１であって、第２定配列のデータの幅と深さの積はＭ×３２×１である。
【００７６】
第３定配列のデータの幅および深さは、第２の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｑに基づいて設定されており、深さが同じデータは１行として構成され、第３定配列のデータの幅は、第２の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｑと３２の積に等しく、第３定配列のデータの深さは１であって、第３定配列のデータの幅と深さの積はＱ×３２×１である。
【００７７】
第２定配列のデータの幅と深さの積Ｍ×３２×１、第３定配列のデータの幅と深さの積Ｑ×３２×１、および第１定配列のデータの幅と深さの積の和は１０２４である。
【００７８】
好適には、第２の追加的暗号化および復号化データ処理装置が更に含まれる。その装置は、第３定配列格納ユニット、第３データ記憶ユニット、および第３データ変換ユニットを含み、第３データ変換ユニットは複数のＱ個のデータ変換サブユニットを含む。特に、第３定配列格納ユニットは、第３定配列を格納して、各クロック周期内で第３定配列のデータの各行を第３データ変換ユニットの複数のＱ個のデータ変換サブユニットへ各々順次出力すべく適合されている。
【００７９】
第３データ記憶ユニットは、データを記憶し、記憶されたデータを各クロック周期の立ち上りエッジまたは立ち下がりエッジにおいて入力端から出力端へ送信して、各クロック周期内でデータを第３データ変換サブユニットへ出力すべく適合されている。
【００８０】
複数のＱ個のデータ変換サブユニットは、処理の数が深さの値に等しいデータ変換処理を、そのデータ変換処理プロセスが完了するまで、各クロック周期内で順次実行し、得られた変換データを後続処理のため次のデータ変換サブユニットへ出力することにより、暗号化および復号化データ処理の最終結果となる、第２の追加的暗号化および復号化データ処理の結果を得るべく適合されている。
【００８１】
好適には、第１定配列および第３定配列は以下の条件を満たす。
【００８２】
第３定配列のデータの幅および深さは、第２の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｑに基づいて設定されており、深さが同じデータは１行として構成され、第３定配列のデータの幅は、第２の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｑと３２の積に等しく、第３定配列のデータの深さは１であって、第３定配列のデータの幅と深さの積はＱ×３２×１である。
【００８３】
第３定配列のデータの幅と深さの積Ｑ×３２×１と、第１定配列のデータの幅と深さの積との和は１０２４である。
【発明の効果】
【００８４】
ＳＭＳ４暗号アルゴリズムにおける本発明の暗号化および復号化処理方法において、定配列を設定して、対応するデータ変換サブユニットを提供することによりデータ変換処理の反復回数が減少する。単位時間内に暗号化されるデータ量が大幅に増加するため暗号化の効率が向上する。例えば、１２８ビットのデータを暗号化するために４個のデータ変換サブユニットを用いる場合、８クロック周期だけ動作することにより最終的なデータ処理結果を出力することができる。従って、同一クロック周波数の場合、暗号化の効率は４倍向上する。
【００８５】
ＳＭＳ４暗号アルゴリズムにおける本発明の暗号化および復号化処理システムにおいて、求められる暗号化効率を満たす前提で、クロック周波数は従来技術の１／ｎに過ぎない。例えば、１２８ビットのデータを暗号化するために４個のデータ変換サブユニットを用いる場合、クロック周波数は従来技術の１／４に過ぎない。
【００８６】
更に、同一処理効率の場合、本発明の解決策による集積回路の設計および実装が容易になって、信号の整合性が大幅に最適化されて設計コストが減少する。更に、本発明で設計された集積回路を用いれば、求められる暗号化効率を満たす場合に、クロック周波数は従来技術の１／ｎに過ぎないようにできる。同一処理効率を有しながら、ＰＣＢコストを低減することができ、ＰＣＢの設計および製品を容易に実現することができ、システム内での干渉が減少し、且つ他の設備および装置に対する影響も大幅に減少する。
【発明を実施するための最良の形態】
【００８７】
本出願は、２００６年３月２日に中国特許庁に出願された中国特許出願第２００６１００４１８６３．９号「ＳＭＳ４暗号アルゴリズムにおける暗号化および復号化処理の方法」の優先権を主張するものであり、その全文を本明細書に参照により援用する。
【００８８】
図１は、本発明の第１の実施形態による反復的暗号化および復号化データ処理の概略図であり、第１データ記憶ユニット１、第１定配列格納ユニット３、および第１データ変換ユニット２を含む。
【００８９】
第１データ記憶ユニット１は、外部データおよび最終データ変換処理の結果を記憶すべく適合されている。第１データ記憶ユニット１は一般に、Ｄトリガ、ＪＫトリガ等の汎用トリガを用いることができる。汎用トリガはデータの一時格納要素であって、データ入力端のデータが立ち上りクロックエッジまたは立ち下りクロックエッジにおいてトリガの出力端へ送られる一方、他の時間ではトリガ出力端のデータは不変である。換言すれば、同一データ変換処理期間内では、第１データ記憶ユニット１により記憶されたデータは不変である。
【００９０】
第１データ変換ユニット２は、暗号アルゴリズム要件に従いデータ処理を実行すべく適合されている。例えば、国際ＳＭＳ４暗号アルゴリズムに従いデータ処理をする場合、第１データ変換ユニット２により完了された動作は、暗号アルゴリズムで指定された１種類の変換だけを含んでいてよい。
【００９１】
定配列格納ユニット３は定配列データを格納すべく適合されている。本発明の第１の実施形態で使用される定配列は、鍵拡張処理で得られた結果のデータであって、アドレスの降順に並べられていて、定配列の幅および深さは循環体の第１データ変換ユニット２に含まれるデータ変換サブユニットの数に基づいて設定されており、幅と深さの積は１０２４である。例えば、４個のデータ変換サブユニットを用いる場合、定配列の幅は１２８ビットであって深さは８である。８個のデータ変換サブユニットを用いる場合、定配列の幅は２５６ビットであって深さは４である。
【００９２】
図１を参照すると、本発明の第１の実施形態における反復的暗号化および復号化データ処理は以下のステップを含む。
【００９３】
１．第１定配列のデータの幅および深さを、データ変換サブユニットの数に基づいて設定し、深さが同じデータは１行として構成して、第１定配列を格納する。
【００９４】
２．記憶された外部データを第１クロック周期の立ち上がりエッジまたは立ち下がりエッジにおいて出力する。
【００９５】
３．格納された第１定配列の第１行の第１データに対するデータ変換処理を、第１クロック周期内で記憶された外部データを用いて実行して、第１クロック周期の第１変換データを得る。
【００９６】
格納された第１定配列の第１行の第２データに対するデータ変換処理を、第１クロック周期の第１変換データを用いて実行して、第１クロック周期の第２変換データを得る。
【００９７】
同様に、格納された第１定配列の第１行の残り全てのデータに対するデータ変換処理を順次実行して、第１クロック周期の変換処理データを得る。
【００９８】
４．第２クロック周期の立ち上がりエッジまたは立ち下がりエッジにおいて、第１クロック周期の変換処理データを記憶する。
【００９９】
格納された第１定配列の第２行の第１データに対するデータ変換処理を、第２クロック周期内で記憶された第１変換処理データを用いて実行して、第２クロック周期の第１変換データを得る。
【０１００】
格納された第１定配列の第２行の第２データに対するデータ変換処理を、第２クロック周期の第１変換データを用いて実行して、第２クロック周期の第２変換データを得る。
【０１０１】
同様に、格納された第１定配列の第２行の残り全てのデータに対するデータ変換処理を順次実行して、第２クロック周期の変換処理データを得る。
【０１０２】
５．プロセスの数が深さの値に等しい上記データ変換処理プロセスを、そのデータ変換処理プロセスが完了するまで繰り返すことにより、反復的暗号化および復号化処理の結果を得る。
【０１０３】
図２は、本発明の第２の実施形態による反復的暗号化および復号化データ処理の概略図であり、第１データ記憶ユニット１、第１定配列格納ユニット３、および第１データ変換ユニット２を含み、第１データ変換ユニット２は４個のデータ変換サブユニット、すなわち第１データ変換サブユニット２００、第２データ変換サブユニット２０１、第３データ変換サブユニット２０２、および第４データ変換サブユニット２０３を含む。本発明の第２の実施形態において、データ変換サブユニットの数は４である。データ変換サブユニットの数が３２の約数である場合、反復的暗号化および復号化データ処理への実装が好適であって、その処理プロセスは本発明の第２の実施形態と同様である。
【０１０４】
図２を参照すると、本発明の第２の実施形態における反復的暗号化および復号化データ処理は以下のステップを含む。
【０１０５】
１）定配列を用意する。
【０１０６】
（１）鍵拡張処理で得られた第１定配列のデータをアドレスの降順に並べて、定配列格納ユニット３に格納する。
【０１０７】
（２）データ変換処理におけるデータ変換ユニット２に含まれるデータ変換サブユニットの数に基づいて幅と深さの積が１０２４であるように、幅および深さを設定する。
【０１０８】
（３）深さが同じデータを第１定配列の１行として構成する。
【０１０９】
２）第１データ記憶ユニット１に外部データを入力する。
【０１１０】
（１）第１データ記憶ユニット１の入力端に外部データを入力する。
【０１１１】
（２）クロック立ち上がりエッジまたはクロック立ち下がりエッジにおいてデータを第１データ記憶ユニット１の入力端から出力端へ送信する。
【０１１２】
３）第１データ変換処理を実行する。
【０１１３】
（１）第１定配列格納ユニット３に格納されている第１定配列の第１行のデータを、クロック周期内で、第１データ変換ユニット２のデータ変換サブユニット２００〜２０３へ各々出力する。
【０１１４】
（２）同一クロック周期内で、第１データ記憶ユニット１の出力端のデータを、データ変換処理のため第１データ変換サブユニット２００に入力し、第１データ変換サブユニット２００から出力されたデータを、データ変換処理のため次のデータ変換サブユニット２０１に入力し、同様に、データ変換ユニット２の全てのデータ変換サブユニット２００〜２０３がデータ変換処理を順次完了するまで繰り返す。
【０１１５】
４）第２データ変換処理を実行する。
【０１１６】
（１）次のクロックエッジ時点で第１データ記憶ユニット１に先のデータ変換処理のデータを格納する。
【０１１７】
(２）第１定配列格納ユニット３に格納されている第１定配列の次の行のデータを、クロック周期内で、第１データ変換ユニット２のデータ変換サブユニット２００〜２０３に各々入力する。
【０１１８】
（３）同一クロック周期内で、第１データ記憶ユニット１の出力端のデータを、データ変換処理のため第１データ変換サブユニット２００に入力し、第１データ変換サブユニット２００から出力されたデータを、データ変換処理のため次のデータ変換サブユニット２０１に入力し、同様に、データ変換ユニット２の全てのデータ変換サブユニット２００〜２０３がデータ変換処理を順次完了するまで繰り返す。
【０１１９】
５）第２データ変換処理を繰り返す。
【０１２０】
指定された全てのデータ変換処理プロセスが完了するまで第２データ変換処理を繰り返すことにより、反復的暗号化および復号化データ処理の結果を得る。
【０１２１】
追加的暗号化および復号化データ処理を用いて、反復的暗号化および復号化データ処理により完了されなかったデータ変換処理を補完的に実行する。特に、第１データ変換ユニット２に含まれるデータ変換サブユニットの数が３２の約数でない場合に、反復的暗号化および復号化データ処理および追加的暗号化および復号化データ処理を組み合わせてデータ変換処理を実行する。以下、第３〜第５の実施形態について特にこの場合を説明すべく記述する。
【０１２２】
図３は、本発明の第３の実施形態による反復的暗号化および復号化データ処理の前に提供される追加的暗号化および復号化データ処理の概略図であり、第１の追加的暗号化および復号化データ処理装置５０１と、反復的暗号化および復号化データ処理装置４を含む。反復的暗号化および復号化データ処理装置４の構成要素は、本発明の第２の実施形態と同一である。第１の追加的暗号化および復号化データ処理装置５０１は、第２データ記憶ユニット１０１、第２定配列格納ユニット３０１、および第２データ変換ユニット２１を含み、第２データ変換ユニット２１は第１データ変換サブユニット２１０、第２データ変換サブユニット２１１等を含む。
【０１２３】
図３を参照すると、反復的暗号化および復号化データ処理の前に提供される追加的暗号化および復号化データ処理は以下のステップを含んでいてよい。
【０１２４】
１）定配列を用意する。
【０１２５】
（１）鍵拡張処理で得られた第２定配列のデータをアドレスの降順に並べて、第２定配列格納ユニット３０１に格納する。
【０１２６】
（２）ｉ）反復的暗号化および復号化データ処理における第１定配列の幅および深さを決定する。
【０１２７】
反復的暗号化および復号化データ処理における第１データ変換ユニット２に含まれるデータ変換サブユニットの数Ｎに基づいて幅および深さを設定することにより、反復的暗号化および復号化データ処理における第１定配列のデータの幅と深さの積を得る。
【０１２８】
ｉｉ）追加的暗号化および復号化データ処理における第２定配列の幅および深さを決定する。
【０１２９】
追加的暗号化および復号化データ処理における第２データ変換ユニット２１に含まれるデータ変換サブユニットの数に基づいて幅および深さを設定し、第２定配列のデータの幅は、追加的暗号化および復号化データ処理におけるデータ変換サブユニットの数Ｍと３２の積に等しく、追加的暗号化および復号化データ処理における定配列のデータの深さは１である。
【０１３０】
追加的暗号化および復号化データ処理における第２定配列のデータの幅と深さの積を、追加的暗号化および復号化データ処理におけるデータ変換サブユニットの数Ｍ×３２×１として決定する。
【０１３１】
ｉｉｉ）追加的暗号化および復号化データ処理における第２定配列のデータは以下の条件を満たすべきである。
【０１３２】
反復的暗号化および復号化データ処理における第１定配列のデータの幅と深さの積と、追加的暗号化および復号化データ処理における第２定配列のデータの幅と深さの積Ｍ×３２×１との和は１０２４である。
【０１３３】
（３）第１および第２定配列において深さが同じデータを１行として構成する。
【０１３４】
２）第２データ記憶ユニット１０１に外部データを入力する。
【０１３５】
（１）第２データ記憶ユニット１０１の入力端に外部データを入力する。
【０１３６】
（２）クロック立ち上がりエッジまたはクロック立ち下がりエッジにおいてデータを第２データ記憶ユニット１０１の入力端からその出力端へ送信する。
【０１３７】
３）追加的なデータ変換処理を実行する。
【０１３８】
（１）第２定配列格納ユニット３０１に格納されている第２定配列のデータを、クロック周期内で、第２データ変換ユニット２１のデータ変換サブユニット２１０、２１１等へ各々出力する。
【０１３９】
（２）同一クロック周期内で、第２データ記憶ユニット１０１の出力端のデータを、データ変換処理のため第１データ変換サブユニット２１０に入力し、第１データ変換サブユニット２１０から出力されたデータを、データ変換処理のため次のデータ変換サブユニット２１１に入力し、同様に、第２データ変換ユニット２１の全てのデータ変換サブユニット２１０、２１１等がデータ変換処理を順次完了するまで繰り返すことにより、第１の追加的暗号化および復号化データ処理装置５０１のデータ処理結果を得る。
【０１４０】
４）第１の追加的暗号化および復号化データ処理装置５０１からのデータ処理結果を反復的暗号化および復号化データ処理装置４の外部データとして用いることにより、反復的暗号化および復号化データ処理を完了する。
【０１４１】
図４は、本発明の第４の実施形態による反復的暗号化および復号化データ処理の後で提供される追加的暗号化および復号化データ処理の概略図であり、反復的暗号化および復号化データ処理装置４と、第２の追加的暗号化および復号化データ処理装置５０２とを含む。反復的暗号化および復号化データ処理装置４の構成要素は、本発明の第２の実施形態と同一である。第２の追加的暗号化および復号化データ処理装置５０２は、第３データ記憶ユニット１０２、第３定配列格納ユニット３０２、および第３データ変換ユニット２２を含み、第３データ変換ユニット２２は第１データ変換サブユニット２２０、第２データ変換サブユニット２２１等を含む。
【０１４２】
図４を参照すると、反復的暗号化および復号化データ処理の後、提供される追加的暗号化および復号化データ処理は以下のステップを含んでいてよい。
【０１４３】
１）定配列を用意する。
【０１４４】
（１）反復的暗号化および復号化データ処理で得られた第１定配列のデータをアドレスの降順に並べて、第１定配列格納ユニット３に格納する。
【０１４５】
（２）ｉ）反復的暗号化および復号化データ処理における第１定配列の幅および深さを決定する。
【０１４６】
反復的暗号化および復号化データ処理におけるデータ変換ユニット２に含まれるデータ変換サブユニットの数Ｎに基づいて幅および深さを設定することにより、反復的暗号化および復号化データ処理における第１定配列のデータの幅と深さの積を得る。
【０１４７】
ｉｉ）追加的暗号化および復号化データ処理における第３定配列の幅および深さを決定する。
【０１４８】
追加的暗号化および復号化データ処理における第３定配列のデータの幅が、追加的暗号化および復号化データ処理におけるデータ変換サブユニットの数Ｑと３２の積に等しく、追加的暗号化および復号化データ処理における第３定配列のデータの深さが１であることに基づいて、追加的暗号化および復号化データ処理における第３定配列のデータの幅と深さの積をＱ×３２×１として決定する。
【０１４９】
ｉｉｉ）追加的暗号化および復号化データ処理における第３定配列のデータは以下の条件を満たすべきである。
【０１５０】
反復的暗号化および復号化データ処理における第１定配列のデータの幅と深さの積と、追加的暗号化および復号化データ処理における第３定配列のデータの幅と深さの積Ｑ×３２×１との和は１０２４である。
【０１５１】
（３）定配列において深さが同じデータを１行として構成する。
【０１５２】
反復的暗号化および復号化データ処理装置４から得られたデータを第３データ記憶ユニット１０２に入力する。
【０１５３】
（１）反復的暗号化および復号化データ処理装置４から得られたデータを第３データ記憶ユニット１０２の入力端に入力する。
【０１５４】
（２）クロック立ち上がりエッジまたはクロック立ち下がりエッジにおいてデータを第３データ記憶ユニット１０２の入力端からその出力端へ送信する。
【０１５５】
３）追加的なデータ変換処理を実行する。
【０１５６】
（１）第３定配列格納ユニット３０２に格納されている第３定配列のデータを、クロック周期内で、第３データ変換ユニット２２のデータ変換サブユニット２２２、２２１等へ各々出力する。
【０１５７】
（２）同一クロック周期内で、第３データ記憶ユニット１０２の出力端のデータを、データ変換処理のため第１データ変換サブユニット２２０に入力し、第１データ変換サブユニット２２０から出力されたデータを、データ変換処理のため次のデータ変換サブユニット２２１に入力し、同様に、第３データ変換ユニット２２の全てのデータ変換サブユニット２２０、２２１等がデータ変換処理を順次完了するまで繰り返すことにより、第２の追加的暗号化および復号化データ処理装置５０２のデータ処理結果を得る。
【０１５８】
４）第２の追加的暗号化および復号化データ処理装置５０２からのデータ処理結果を、暗号化および復号化データ処理の最終結果として用いる。
【０１５９】
追加的暗号化および復号化データ処理は、反復的暗号化および復号化データ処理の前後またはその両方で実行することができる。図５は、本発明の第５の実施形態による反復的暗号化および復号化データ処理の前後の両方で提供される追加的暗号化および復号化データ処理の概略図であり、第１の追加的暗号化および復号化データ処理装置５０１、反復的暗号化および復号化データ処理装置４、および第２の追加的暗号化および復号化データ処理装置５０２を含む。必要に応じて、第１および第２の追加的暗号化および復号化データ処理装置の各々は１個以上のデータ変換サブユニットを含んでいてよい。
【０１６０】
図２を参照すると、本発明の第６の実施形態において、データ変換ユニット２は、４個のデータ変換サブユニット、すなわち第１データ変換サブユニット２００、第２データ変換サブユニット２０１、第３データ変換サブユニット２０２、および第４データ変換サブユニット２０３を含む。第１定配列の幅は１２８ビットであって、深さは８である。反復的暗号化および復号化データ処理プロセスを用いて暗号化および復号化処理を行ない、そのステップは以下の通りである。
【０１６１】
１）第１定配列を用意する。
【０１６２】
（１）第１定配列を第１定配列格納ユニット３に格納する。
【０１６３】
（２）４個のデータ変換サブユニットがデータ変換処理に含まれるため、第１定配列の幅は１２８ビットであって深さは８である。
【０１６４】
（３）幅が１２８ビットである第１定配列のデータを深さ８の８行に分割し、各々の行をｒｋ０、ｒｋ１、・・・、ｒｋ７と名付け、第１定配列の１２８ビットのデータの各行を各々３２ビットである４個のデータブロックに分割、すなわちｒｋ０をｒｋ０ａ、ｒｋ０ｂ、ｒｋ０ｃおよびｒｋ０ｄに、ｒｋ１をｒｋ１ａ、ｒｋ１ｂ、ｒｋ１ｃおよびｒｋ１ｄに分割する。以下同様である。
【０１６５】
２）第１データ記憶ユニット１に外部データを入力する。
【０１６６】
（１）第１データ記憶ユニット１の入力端に外部データを入力する。この場合、外部データは１２８ビットのデータであって、各々３２ビットを含む４個のデータブロックに分割されて各々Ａ０、Ａ１、Ａ２およびＡ３と名付けられている。
【０１６７】
（２）クロック立ち上がりエッジまたはクロック立ち下がりエッジにおいて、データを第１データ記憶ユニット１の入力端から出力端へ送信する。この場合、第１データ記憶ユニット１は、各々３２ビットを含む４個のデータブロックに分割されて各々ａ０、ａ１、ａ２およびａ３と名付けられた１２８ビットのデータを出力する。
【０１６８】
３）第１データ変換処理を実行する。
【０１６９】
（１）第１定配列格納ユニット３に格納されている第１定配列の第１行のデータを、クロック周期内で、データ変換サブユニット２００〜２０３へ各々出力する。
【０１７０】
（２）同一クロック周期内で、第１データ記憶ユニット１の出力端のデータを、データ変換処理のため第１データ変換サブユニット２００に入力し、第１データ変換サブユニット２００から出力されたデータを、データ変換処理のため次のデータ変換サブユニット２０１に入力し、同様に、全てのデータ変換サブユニット、すなわちデータ変換サブユニット２００〜２０３がデータ変換処理を順次完了するまで繰り返す。例えば、第１データ記憶ユニット１の出力端からデータａ０、ａ１、ａ２、ａ３、および第１定配列格納ユニット３から出力されたデータｒｋ０ａをデータ変換処理のため第１データ変換サブユニット２００へ送り、変換処理を受けたデータは依然として１２８ビットであって各々Ｂ０、Ｂ１、Ｂ２およびＢ３と名付けられている。
【０１７１】
第１データ変換サブユニット２００から出力されたデータＢ０、Ｂ１、Ｂ２およびＢ３と、第１定配列格納ユニット３から出力されたデータｒｋ０ｂをデータ変換処理のため第２データ変換サブユニット２０１へ送り、変換処理を受けたデータは依然として１２８ビットであってＣ０、Ｃ１、Ｃ２およびＣ３と名付けられている。
【０１７２】
第２データ変換サブユニット２０１から出力されたデータＣ０、Ｃ１、Ｃ２およびＣ３と、第１定配列格納ユニット３から出力されたデータｒｋ０ｃをデータ変換処理のため第３データ変換サブユニット２０２へ送り、変換処理を受けたデータは依然として１２８ビットであってＤ０、Ｄ１、Ｄ２およびＤ３と名付けられている。
【０１７３】
第３データ変換サブユニット２０２から出力されたデータＤ０、Ｄ１、Ｄ２およびＤ３と、第１定配列格納ユニット３から出力されたデータｒｋ０ｄをデータ変換処理のため第４データ変換サブユニット２０３へ送り、変換処理を受けたデータは依然として１２８ビットであってＥ０、Ｅ１、Ｅ２およびＥ３と名付けられている。
【０１７４】
すなわち、Ｅ０、Ｅ１、Ｅ２およびＥ３は、初回のデータ変換処理の結果得られたデータである。
【０１７５】
４）第２データ変換処理を実行する。
【０１７６】
（１）先のデータ変換処理のデータＥ０、Ｅ１、Ｅ２およびＥ３を第１データ記憶ユニット１に格納して、クロックエッジ時点で第１データ記憶ユニット１の出力端からのデータｅ０、ｅ１、ｅ２およびｅ３をデータ変換サブユニット２００〜２０３に順次入力する。
【０１７７】
（２）第１定配列格納ユニット３に格納されている第１定配列の次の行のデータｒｋ１ａ、ｒｋ１ｂ、ｒｋ１ｃおよびｒｋ１ｄをデータ変換サブユニット２００〜２０３に各々入力する。
【０１７８】
（３）第２変換処理を実行する。
【０１７９】
５）第２データ変換処理を反復することにより、暗号化および復号化データ処理結果を得る。
【０１８０】
第２データ変換処理が実行される度に、１回のデータ変換処理周期が完了する。第２データ変換処理が６回繰り返された場合、すなわちデータ変換処理が合計８回実行された場合、最後のデータ変換処理で出力されたデータが最終的なデータ処理結果である。
【０１８１】
データ変換ユニット２が２個のデータ変換サブユニット含んでいれば、反復的暗号化および復号化データ処理は１回の暗号化および復号化処理を完了するために１６クロック周期にわたり実行される。データ変換ユニット２が８個のデータ変換サブユニットを含んでいれば、反復的暗号化および復号化データ処理は１回の暗号化および復号化処理を完了するために４クロック周期にわたり実行される。データ変換ユニット２が１６個のデータ変換サブユニットを含んでいれば、反復的暗号化および復号化データ処理は１回の暗号化および復号化処理を完了するために２クロック周期にわたり実行される。
【０１８２】
本発明の実施形態によるＳＭＳ４暗号アルゴリズムの暗号化および復号化処理方法において、定配列を設定して、対応するデータ変換サブユニットを提供することによりデータ変換処理の反復回数が減少する。単位時間内に暗号化されるデータ量が大幅に増加するため暗号化の効率が向上する。例えば、１２８ビットのデータを暗号化するために４個のデータ変換サブユニットを用いる場合、８クロック周期動作することにより最終的なデータ処理結果を出力することができる。従って、同一クロック周波数の場合、暗号化の効率は４倍向上する。
【０１８３】
本発明の実施形態によるＳＭＳ４暗号アルゴリズムにおける暗号化および復号化処理システムにおいて、求められる暗号化効率を満たす前提で、クロック周波数は従来技術の１／ｎに過ぎない。例えば、１２８ビットのデータを暗号化するために４個のデータ変換サブユニットを用いる場合、クロック周波数は従来技術の１／４に過ぎない。
【０１８４】
更に、同一処理効率の場合、本発明の解決策における集積回路の設計および実装がより容易であって、信号の整合性が大幅に最適化されて設計コストが減少する。更に、本発明で設計された集積回路を用いれば、求められる暗号化効率を満たす場合に、クロック周波数は従来技術の１／ｎに過ぎないようにできる。同一の処理効率で、ＰＣＢコストを低減することができ、ＰＣＢの設計および製品を容易に実現することができ、システム内での干渉が減少し、且つ他の設備および装置に対する影響も大幅に減少する。
【図面の簡単な説明】
【０１８５】
【図１】本発明の第１の実施形態による反復的暗号化および復号化データ処理の概略図である。
【図２】本発明の第２の実施形態による反復的暗号化および復号化データ処理の概略図である。
【図３】本発明の第３の実施形態による反復的暗号化および復号化データ処理の前に提供される追加的暗号化および復号化データ処理の概略図である。
【図４】本発明の第４の実施形態による反復的暗号化および復号化データ処理の後で提供される追加的暗号化および復号化データ処理の概略図である。
【図５】本発明の第５の実施形態による反復的暗号化および復号化データ処理の前後で提供される追加的暗号化および復号化データ処理の概略図である。
【図１】
2009528559.tif 000003
【図２】
2009528559.tif 000004
【図３】
2009528559.tif 000005
【図４】
2009528559.tif 000006
【図５】
2009528559.tif 000007
【手続補正書】
【提出日】平成20年10月8日(2008.10.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
反復的暗号化および復号化データ処理のステップを含むＳＭＳ４暗号アルゴリズムの暗号化および復号化処理方法であって、特に、
第１定配列のデータの幅および深さを設定し、第１定配列を格納するステップと、
記憶された外部データを第１クロック周期の立ち上がりエッジまたは立ち下がりエッジにおいて出力するステップと、
前記格納された第１定配列の第１行の第１データに対するデータ変換処理を、前記第１クロック周期内で、前記記憶された外部データを用いて実行して、前記第１クロック周期の第１変換データを得るステップと、
前記格納された第１定配列の第１行の第２データに対するデータ変換処理を、前記第１クロック周期の第１変換データを用いて実行して、前記第１クロック周期の第２変換データを得るステップと、
同様に、前記格納された第１定配列の第１行の残り全てのデータに対するデータ変換処理を順次実行して、前記第１クロック周期の変換処理データを得るステップと、
第２クロック周期の立ち上がりエッジまたは立ち下がりエッジにおいて、前記第１クロック周期の変換処理データを記憶するステップと、
前記格納された第１定配列の第２行の第１データに対するデータ変換処理を、第２クロック周期内で、前記第１クロック周期の記憶された変換処理データを用いて実行して、前記第２クロック周期の第１変換データを得るステップと、
前記格納された第１定配列の第２行の第２データに対するデータ変換処理を、前記第２クロック周期の第１変換データを用いて実行して、前記第２クロック周期の第２変換データを得るステップと、
同様に、前記格納された第１定配列の第２行の残り全てのデータに対するデータ変換処理を順次実行して、前記第２クロック周期の変換処理データを得るステップと、
プロセスの数が深さの値に等しいデータ変換処理プロセスを、前記データ変換処理プロセスが完了するまで繰り返すことにより、前記反復的暗号化および復号化処理の結果を得るステップとを含む方法。
【請求項２】
前記第１定配列が以下の条件、すなわち、
データはアドレスの降順に並べて格納されていて、
前記第１定配列のデータの幅および深さは、前記データ変換処理の数に基づいて設定されていて、幅と深さの積は１０２４であることを満たす、請求項１に記載の方法。
【請求項３】
前記反復的暗号化および復号化データ処理のステップの前に、第１の追加的暗号化および復号化データ処理のステップが含まれていて、前記ステップが、
第２定配列のデータの幅を、前記第１の追加的暗号化および復号化データ処理のステップにおける前記データ変換処理の数に応じて設定し、前記第２定配列のデータの深さは１であって、前記第２定配列を格納するステップと、
記憶された外部データ、前記クロック周期の立ち上がりエッジまたは立ち下がりエッジにおいて出力するステップと、
前記格納された第２定配列の第１データに対するデータ変換処理を、前記クロック周期内で、前記記憶された外部データを用いて実行して、第１変換データを得るステップと、
前記格納された第２定配列の第２データに対するデータ変換処理を、前記第１変換データを用いて実行して、第２変換データを得るステップと、
同様に、前記格納された第２定配列の全ての残りのデータに対するデータ変換処理を、前記第１の追加的暗号化および復号化データ処理のステップにおいて順次実行して、前記第１の追加的暗号化および復号化データ処理の結果を得るステップと、
第１の追加的暗号化および復号化データ処理の結果を、前記反復的暗号化および復号化データ処理における外部データとするステップとを含む、請求項１に記載の方法。
【請求項４】
前記第１定配列および第２定配列が以下の条件、すなわち、
前記第２定配列のデータの幅は、前記第１の追加的暗号化および復号化データ処理のステップにおけるデータ変換の数と３２の積に等しく、前記第２定配列のデータの深さは１であって、前記第２定配列のデータの幅と深さの積が決定され、
前記第２定配列のデータの幅と深さの積と、前記第１定配列のデータの幅と深さの積との和は１０２４であることを満たし、
前記反復的暗号化および復号化データ処理のステップの後で、第２の追加的暗号化および復号化データ処理のステップが更に含まれていて、前記ステップが、
第３定配列のデータの幅を、前記第２の追加的暗号化および復号化データ処理のステップにおけるデータ変換処理の数に応じて設定し、前記第３定配列のデータの深さは１であって、前記第３定配列を格納するステップと、
前記反復的暗号化および復号化データ処理の結果を記憶して、前記記憶されたデータをクロック周期の立ち上がりエッジまたは立ち下がりエッジにおいて出力するステップと、
前記格納された第３定配列の第１データに対するデータ変換処理を、前記クロック周期内で、前記記憶された外部データを用いて実行して、第１変換データを得るステップと、
前記格納された第３定配列の第２データに対するデータ変換処理を、前記第１変換データを用いて実行して、第２変換データを得るステップと、
同様に、前記格納された第３定配列の残り全てのデータに対するデータ変換処理を、前記第２の追加的暗号化および復号化データ処理のステップにおいて順次実行して、前記暗号化および復号化データ処理の最終結果となる、前記第２の追加的暗号化および復号化データ処理の結果を得るステップとを含む、請求項３に記載の方法。
【請求項５】
前記第１定配列、第２定配列、および第３定配列が以下の条件、すなわち、
前記第２定配列のデータの幅は、前記第１の追加的暗号化および復号化データ処理のステップにおけるデータ変換の数と３２の積に等しく、前記第２定配列のデータの深さは１であって、前記第２定配列のデータの幅と深さの積が決定され、
前記第３定配列のデータの幅は、前記第２の追加的暗号化および復号化データ処理のステップにおけるデータ変換の数と３２の積に等しく、前記第３定配列のデータの深さは１であって、前記第３定配列のデータの幅と深さの積が決定され、
前記第２定配列のデータの幅と深さの積、第３定配列のデータの幅と深さの積、および第１定配列のデータの幅と深さの積の和は１０２４であることを満たす、請求項４に記載の方法。
【請求項６】
前記反復的暗号化および復号化データ処理のステップの後で、第２の追加的暗号化および復号化データ処理のステップが更に含まれていて、前記ステップが、
第３定配列のデータの幅を、前記第２の追加的暗号化および復号化データ処理のステップにおけるデータ変換処理の数に応じて設定し、前記第３定配列のデータの深さは１であって、前記第３定配列を格納するステップと、
前記反復的暗号化および復号化データ処理の結果を記憶して、前記記憶されたデータをクロック周期の立ち上がりエッジまたは立ち下がりエッジにおいて出力するステップと、
前記格納された第３定配列の第１データに対するデータ変換処理を、前記クロック周期内で、前記記憶された外部データを用いて実行して、第１変換データを得るステップと、
前記格納された第３定配列の第２データに対するデータ変換処理を、前記第１変換データを用いて実行して、第２変換データを得るステップと、
同様に、前記格納された第３定配列の残り全てのデータに対するデータ変換処理を、前記第２の追加的暗号化および復号化データ処理のステップにおいて順次実行して、前記暗号化および復号化データ処理の最終結果となる、前記第２の追加的暗号化および復号化データ処理の結果を得るステップとを含む、請求項１に記載の方法。
【請求項７】
前記第１定配列および第３定配列が以下の条件、すなわち、
前記第３定配列のデータの幅は、前記第２の追加的暗号化および復号化データ処理のステップにおけるデータ変換の数と３２の積に等しく、前記第３定配列のデータの深さは１であって、前記第３定配列のデータの幅と深さの積が決定され、
前記第３定配列のデータの幅と深さの積と、前記第１定配列のデータの幅と深さの積との和は１０２４であることを満たす、請求項６に記載の方法。
【請求項８】
第１定配列格納ユニット、第１データ記憶ユニット、および第１データ変換ユニットを含む反復的暗号化および復号化データ処理装置を含む、ＳＭＳ４暗号アルゴリズムにおける暗号化および復号化処理システムであって、前記第１データ変換ユニットは複数のＮ個のデータ変換サブユニットを含んでおり、
前記第１定配列格納ユニットは、第１定配列を格納して、各クロック周期内で前記第１定配列のデータの各行を前記第１データ変換ユニットの複数のＮ個のデータ変換サブユニットへ各々順次送るべく適合されていて、
前記第１データ記憶ユニットは、データを記憶し、前記記憶されたデータを各クロック周期の立ち上りエッジまたは立ち下がりエッジにおいて入力端から出力端へ送信して、各クロック周期内で前記データを第１データ変換サブユニットへ送るべく適合されていて、
前記複数のＮ個のデータ変換サブユニットは、処理の数が深さの値に等しいデータ変換処理を、前記データ変換処理プロセスが完了するまで、各クロック周期内で順次実行し、前記得られた変換データを後続処理のため次のデータ変換サブユニットへ送ることにより、前記反復的暗号化および復号化データ処理の結果を得るべく適合されているシステム。
【請求項９】
前記第１定配列が以下の条件、すなわち、
前記データの幅および深さは、前記データ変換サブユニットの数Ｎに基づいて設定されており、幅と深さの積は１０２４であって、且つ前記データはアドレスの降順に並べられることを満たす、請求項８に記載のシステム。
【請求項１０】
第１の追加的暗号化および復号化データ処理装置を更に含み、前記装置は、第２定配列格納ユニット、第２データ記憶ユニット、および第２データ変換ユニットを含み、前記第２データ変換ユニットは複数のＭ個のデータ変換サブユニットを含み、
前記第２定配列格納ユニットは、第２定配列を格納して、各クロック周期内で前記第２定配列のデータの各行を前記第２データ変換ユニットの複数のＭ個のデータ変換サブユニットへ各々順次送るべく適合されていて、
前記第２データ記憶ユニットは、データを記憶し、前記記憶されたデータを各クロック周期の立ち上りエッジまたは立ち下がりエッジにおいて入力端から出力端へ送信して、各クロック周期内で前記データを前記第２データ変換サブユニットへ出力すべく適合されていて、
前記複数のＭ個のデータ変換サブユニットは、処理の数が深さの値に等しいデータ変換処理を、前記データ変換処理プロセスが完了するまで、各クロック周期内で順次実行し、得られた変換データを後続処理のため次のデータ変換サブユニットへ送ることにより、前記反復的暗号化および復号化データ処理における記憶データとなる、第１の追加的暗号化および復号化データ処理の結果を得るべく適合されている、請求項８に記載のシステム。
【請求項１１】
前記第１定配列および第２定配列が以下の条件、すなわち、
前記第２定配列のデータの幅および深さは、前記第１の追加的暗号化および復号化データ処理装置における前記データ変換サブユニットの数Ｍに基づいて設定されており、前記第２定配列のデータの幅は、前記第１の追加的暗号化および復号化データ処理装置における前記データ変換サブユニットの数Ｍと３２の積に等しく、前記第２定配列のデータの深さは１であって、前記第２定配列のデータの幅と深さの積はＭ×３２×１であると決定され、
前記第２定配列のデータの幅と深さの積Ｍ×３２×１と、前記第１定配列のデータの幅と深さの積との和は１０２４であることを満たす、請求項１０に記載のシステム。
【請求項１２】
第２の追加的暗号化および復号化データ処理装置を更に含み、前記装置は、第３定配列格納ユニット、第３データ記憶ユニット、および第３データ変換ユニットを含み、前記第３データ変換ユニットは複数のＱ個のデータ変換サブユニットを含み、
前記第３定配列格納ユニットは、第３定配列を格納して、各クロック周期内で前記第３定配列のデータの各行を前記第３データ変換ユニットの複数のＱ個のデータ変換サブユニットへ各々順次送るべく適合されていて、前記第３定配列のデータの幅および深さは、前記データ変換サブユニットの数Ｑに基づいて設定されており、前記第３定配列のデータの深さは１であり、
前記第３データ記憶ユニットは、データを記憶し、前記記憶されたデータを各クロック周期の立ち上りエッジまたは立ち下がりエッジにおいて入力端から出力端へ送信して、各クロック周期内で前記データを前記第３データ変換サブユニットへ送るべく適合されていて、
前記複数のＱ個のデータ変換サブユニットは、処理の数が深さの値に等しいデータ変換処理を、前記データ変換処理プロセスが完了するまで、各クロック周期内で順次実行し、得られた変換データを後続処理のため次のデータ変換サブユニットへ送ることにより、前記暗号化および復号化データ処理の最終結果となる、第２の追加的暗号化および復号化データ処理の結果を得るべく適合されている、請求項１０に記載のシステム。
【請求項１３】
前記第１定配列、第２定配列、および第３定配列が以下の条件、すなわち、
前記第２定配列のデータの幅および深さは、前記第１の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｍに基づいて設定されており、前記第２定配列のデータの幅は、前記第１の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｍと３２の積に等しく、前記第２定配列のデータの深さは１であって、前記第２定配列のデータの幅と深さの積はＭ×３２×１であり、
前記第３定配列のデータの幅および深さは、前記第２の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｑに基づいて設定されており、前記第３定配列のデータの幅は、前記第２の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｑと３２の積に等しく、前記第３定配列のデータの深さは１であって、前記第３定配列のデータの幅と深さの積はＱ×３２×１であり、
前記第２定配列のデータの幅と深さの積Ｍ×３２×１、第３定配列のデータの幅と深さの積Ｑ×３２×１、および第１定配列のデータの幅と深さの積の和は１０２４である、請求項１２に記載のシステム。
【請求項１４】
第２の追加的暗号化および復号化データ処理装置を更に含み、前記装置は、第３定配列格納ユニット、第３データ記憶ユニット、および第３データ変換ユニットを含み、前記第３データ変換ユニットは複数のＱ個のデータ変換サブユニットを含み、
前記第３定配列格納ユニットは、第３定配列を格納して、各クロック周期内で第３定配列のデータの各行を前記第３データ変換ユニットの複数のＱ個のデータ変換サブユニットへ各々順次送るべく適合されていて、
前記第３データ記憶ユニットは、データを記憶し、前記記憶されたデータを各クロック周期の立ち上りエッジまたは立ち下がりエッジにおいて入力端から出力端へ送信して、各クロック周期内でデータを第３データ変換サブユニットへ送るべく適合されていて、
前記複数のＱ個のデータ変換サブユニットは、処理の数が深さの値に等しいデータ変換処理を、前記データ変換処理プロセスが完了するまで、各クロック周期内で順次実行し、得られた変換データを後続処理のため次のデータ変換サブユニットへ送ることにより、前記暗号化および復号化データ処理の最終結果となる、第２の追加的暗号化および復号化データ処理の結果を得るべく適合されている、請求項８に記載のシステム。
【請求項１５】
前記第１定配列および第３定配列が以下の条件、すなわち、
前記第３定配列のデータの幅および深さは、前記第２の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｑに基づいて設定されており、前記第３定配列のデータの幅は、前記第２の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｑと３２の積に等しく、前記第３定配列のデータの深さは１であって、前記第３定配列のデータの幅と深さの積はＱ×３２×１であり、
前記第３定配列のデータの幅と深さの積Ｑ×３２×１と、前記第１定配列のデータの幅と深さの積との和は１０２４であることを満たす、請求項１４に記載のシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
第１定配列のデータの幅および深さを設定し、第１定配列を格納する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
第１定配列のデータの幅および深さは、データ変換処理の数に基づいて設定されていて、幅と深さの積は１０２４である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
第２定配列のデータの幅を、第１の追加的暗号化および復号化データ処理のステップにおけるデータ変換処理の数に応じて設定し、第２定配列のデータの深さは１であって、第２定配列を格納する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
第３定配列のデータの幅を、第２の追加的暗号化および復号化データ処理のステップにおけるデータ変換処理の数に応じて設定し、第３定配列のデータの深さは１であって、第３定配列を格納する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
第３定配列のデータの幅を、第２の追加的暗号化および復号化データ処理のステップにおけるデータ変換処理の数に応じて設定し、第３定配列のデータの深さは１であって、第３定配列を格納する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００６４
【補正方法】変更
【補正の内容】
【００６４】
データの幅および深さは、データ変換サブユニットの数Ｎに基づいて設定されており、幅と深さの積は１０２４であって、且つデータはアドレスの降順に並べられる。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
第２定配列のデータの幅および深さは、第１の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｍに基づいて設定されており、第２定配列のデータの幅は、第１の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｍと３２の積に等しく、第２定配列のデータの深さは１であって、第２定配列のデータの幅と深さの積はＭ×３２×１である。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００７１
【補正方法】変更
【補正の内容】
【００７１】
好適には、第２の追加的暗号化および復号化データ処理装置が更に含まれる。その装置は、第３定配列格納ユニット、第３データ記憶ユニット、および第３データ変換ユニットを含み、第３データ変換ユニットは複数のＱ個のデータ変換サブユニットを含む。特に、第３定配列格納ユニットは、第３定配列を格納して、各クロック周期内で第３定配列のデータの各行を第３データ変換ユニットの複数のＱ個のデータ変換サブユニットへ各々順次出力すべく適合されていて、第３定配列のデータの幅および深さは、データ変換サブユニットの数Ｑに基づいて設定されており、第３定配列のデータの深さは１である。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００７５
【補正方法】変更
【補正の内容】
【００７５】
第２定配列のデータの幅および深さは、第１の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｍに基づいて設定されており、第２定配列のデータの幅は、第１の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｍと３２の積に等しく、第２定配列のデータの深さは１であって、第２定配列のデータの幅と深さの積はＭ×３２×１である。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
第３定配列のデータの幅および深さは、第２の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｑに基づいて設定されており、第３定配列のデータの幅は、第２の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｑと３２の積に等しく、第３定配列のデータの深さは１であって、第３定配列のデータの幅と深さの積はＱ×３２×１である。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００８２
【補正方法】変更
【補正の内容】
【００８２】
第３定配列のデータの幅および深さは、第２の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｑに基づいて設定されており、第３定配列のデータの幅は、第２の追加的暗号化および復号化データ処理装置におけるデータ変換サブユニットの数Ｑと３２の積に等しく、第３定配列のデータの深さは１であって、第３定配列のデータの幅と深さの積はＱ×３２×１である。
【国際調査報告】
2009528559.tif 000008
2009528559.tif 000009
2009528559.tif 000010
2009528559.tif 000011
2009528559.tif 000012
2009528559.tif 000013