【事件の表示】
　特願２００３−３０５１４０「暗号化／復号化装置及び暗号化／復号化方法」拒絶査定不服審判事件〔平成１７年　３月２４日出願公開、特開２００５−　７７５１７〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
第１．手続の経緯
　本願は、平成１５年８月２８日の出願であって、平成２０年６月２０日付けで拒絶理由通知がなされ、同年９月１日付けで意見書が提出されるとともに手続補正がなされたが、同年１０月８日付けで拒絶査定がなされ、これに対し、同年１１月２０日付けで拒絶査定に対する審判請求がなされ、同年１２月１５日付けで手続補正がなされ、平成２１年３月２７日付けで審査官により前置報告がなされ、平成２２年７月９日付けで当審より審尋がなされ、同年９月９日付けで前記審尋に対する回答書が提出されたものである。
　
　
第２．平成２０年１２月１５日付けの手続補正についての補正却下の決定
［補正却下の決定の結論］
　平成２０年１２月１５日付けの手続補正を却下する。
　
［理由］
１．本件補正
　平成２０年１２月１５日付けの手続補正（以下、「本件補正」という）は、平成２０年９月１日付けの手続補正により補正された特許請求の範囲の記載、
「　【請求項１】
データ変換テーブルによりデータを変換するデータ変換手段と、変換されたデータとキーとを演算する処理手段と、前記キーを記憶するキーレジスタとを有し、前記データ変換手段によるデータ変換及び前記処理手段による演算処理を複数ラウンド繰り返すことにより、前記データの暗号化／復号化を行う暗号化／復号化装置であって
　前記データ変換手段を複数設け、前記複数のデータ変換手段からの出力を前記処理手段及び前記キーレジスタに供給する構成とされており、
　前記処理手段によるデータ処理時、前記複数のデータ変換手段にデータが入力され、変換されたデータが出力されることにより発生する空き時間を利用して、前記複数のデータ変換手段によって、キーデータを変換して、前記キーレジスタに記憶されたキーを更新させる制御手段を有することを特徴とする暗号化／復号化装置。
　　【請求項２】
前記複数のデータ変換手段は、所定期間毎に、前記データを構成するブロックデータを行毎に変換するものであり、
　前記制御手段は、前記ラウンド毎の最終クロックで前記複数のデータ変換手段に前記キーを構成するキーデータを入力し、前記ラウンド毎の最初のクロックで前記複数のデータ変換手段から前記キーデータを変換した前記キーレジスタの取り込むことを特徴とする請求項１記載の暗号化／復号化装置。
　　【請求項３】
前記複数のデータ変換手段は、前記データ変換テーブルが記憶された不揮発性メモリから構成されたことを特徴とする請求項１記載の暗号化／復号化装置。
　　【請求項４】
前記データは、所定列のブロックデータから構成されており、
　前記複数のデータ変換手段は、前記データ変換テーブルを前記列毎に有することを特徴とする請求項１乃至３のいずれか一項記載の暗号化／復号化装置。
　　【請求項５】
データ変換テーブルによりデータを変換する複数のデータ変換手段によりデータ変換を行うデータ変換手順と、変換されたデータとキーレジスタに記憶されたキーとを処理手段によって演算する処理手順とを有し、前記データ変換手順によるデータ変換及び前記処理手順による演算処理を複数ラウンド繰り返すことにより、前記データの暗号化／復号化を行う暗号化／復号化方法であって、
　前記複数のデータ変換手段の出力を前記処理手段及び前記キーレジスタに供給し、前記処理手順によるデータ処理時、前記データ変換手順において前記複数のデータ変換手段にデータが入力され、変換されたデータが出力されることにより発生する空き時間を利用して、前記複数のデータ変換手段によってキーデータを変換して、前記キーレジスタに記憶されたキーを更新させる制御手順を有することを特徴とする暗号化／復号化方法。」を、
　
「　【請求項１】
　データ変換テーブルによりデータを変換するデータ変換手段と、変換されたデータとキーとを演算する処理手段と、前記キーを記憶するキーレジスタとを有し、前記データ変換手段によるデータ変換及び前記処理手段による演算処理を複数ラウンド繰り返すことにより、前記データの暗号化／復号化を行う暗号化／復号化装置であって
　前記データ変換手段は、所定列のデータを同時に変換可能な構成とされており、前記列と同じ所定数設けられており、前記データの変換及び前記キーの展開とで兼用され、
　前記所定数のデータ変換手段により変換されたデータは、前記処理手段に供給され、前記所定数のデータ変換手段により展開されたキーは、前記キーレジスタに供給する構成とされており、
　前記処理手段によるデータ処理時、前記所定数のデータ変換手段にデータが入力され、変換されたデータが出力されることにより発生する空き時間を利用して、前記所定数のデータ変換手段によって、キーデータを巡回させて展開し、前記キーレジスタに記憶されたキーを更新させる制御手段を有することを特徴とする暗号化／復号化装置。
　　【請求項２】
　前記所定数のデータ変換手段は、所定期間毎に、前記データを構成するブロックデータを行毎に変換するものであり、
　前記制御手段は、前記ラウンド毎の最終クロックで前記所定数のデータ変換手段に前記キーを構成するキーデータを入力し、前記ラウンド毎の最初のクロックで前記所定数のデータ変換手段から前記キーデータを変換した前記キーレジスタの取り込むことを特徴とする請求項１記載の暗号化／復号化装置。
　　【請求項３】
　前記所定数のデータ変換手段は、前記データ変換テーブルが記憶された不揮発性メモリから構成されたことを特徴とする請求項１記載の暗号化／復号化装置。
　　【請求項４】
　前記データは、所定列のブロックデータから構成されており、
　前記所定数のデータ変換手段は、前記データ変換テーブルを前記列毎に有することを特徴とする請求項１乃至３のいずれか一項記載の暗号化／復号化装置。
　　【請求項５】
　データ変換テーブルによりデータを変換する複数のデータ変換手段によりデータ変換を行うデータ変換手順と、変換されたデータとキーレジスタに記憶されたキーとを処理手段によって演算する処理手順とを有し、前記データ変換手順によるデータ変換及び前記処理手順による演算処理を複数ラウンド繰り返すことにより、前記データの暗号化／復号化を行う暗号化／復号化方法であって、
　前記データ変換手段は、所定列のデータを同時に変換可能な構成とされており、前記列と同じ所定数設けられており、前記データの変換及び前記キーの展開とで兼用され、
　前記複数のデータ変換手段により変換されたデータは、前記処理手段に供給され、前記複数のデータ変換手段により展開されたキーは、前記キーレジスタに供給し、前記処理手順によるデータ処理時、前記データ変換手順において前記複数のデータ変換手段にデータが入力され、変換されたデータが出力されることにより発生する空き時間を利用して、前記所定数のデータ変換手段によってキーデータを巡回させて展開して、前記キーレジスタに記憶されたキーを更新させる制御手順を有することを特徴とする暗号化／復号化方法。」、
に補正するものである。
　
　
２．補正の適否
　請求項１についてする本件補正が、特許法第１７条の２の規定を満足しているかについて、以下に検討する。
　
（１）新規事項の有無、補正の目的要件
　本件補正は、願書に最初に添付した明細書、特許請求の範囲又は図面に記載した事項の範囲内においてなされており、特許法第１７条の２第３項の規定に適合する。
　
　請求項１についてする本件補正は、
ａ．本件補正前における、「複数設け」た「前記データ変換手段」からの「出力を前記処理手段及び前記キーレジスタに供給する構成とされて」いるとの記載を、本件補正後においては、「前記データ変換手段は、所定列のデータを同時に変換可能な構成とされており、前記列と同じ所定数設けられており、前記データの変換及び前記キーの展開とで兼用され」、かつ、「前記所定数のデータ変換手段により変換されたデータは、前記処理手段に供給され、前記所定数のデータ変換手段により展開されたキーは、前記キーレジスタに供給する構成とされて」いると補正し、
ｂ．前記「データ変換手段」が、本件補正前においては「キーデータを変換」するとの記載を、本件補正後においては「キーデータを巡回させて展開」すると補正する、
ものである。
　
　前記ａの補正は、
ａ１．「データ変換手段」が、本件補正前は「複数設け」られていたものを、本件補正後にあっては「前記列と同じ所定数設けられて」いると限定し、
ａ２．前記「データ変換手段」は、本件補正前は単に「前記複数のデータ変換手段からの出力を前記処理手段及び前記キーレジスタに供給する構成とされて」いたものを、本件補正後にあっては「前記所定数のデータ変換手段により変換されたデータは、前記処理手段に供給され、前記所定数のデータ変換手段により展開されたキーは、前記キーレジスタに供給する構成とされて」いると限定し、
ａ３．前記「データ変換手段」が、本件補正後にあっては「所定列のデータを同時に変換可能な構成とされ」るとともに「前記データの変換及び前記キーの展開とで兼用され」ることを新たに限定した、
ものと認められる。
　そして、前記ｂの補正は、本件補正前の「キーデータを変換」するとの態様を、本件補正後にあっては、「キーデータを巡回させて展開」することに限定するものである。
　
　以上から、請求項１についてする本件補正は、特許法第１７条の２第４項第２号の特許請求の範囲の減縮（請求項に記載した発明を特定するために必要な事項を限定するものであって、その補正前の当該請求項に記載された発明とその補正後の請求項に記載された発明の産業上の利用分野及び解決しようとする課題が同一であるもの）を目的とするものである。
　
（２）独立特許要件
　以上のとおり、請求項１についてする本件補正は、特許法１７条の２第４項第２号の特許請求の範囲の減縮を目的とすることから、次に、本件補正後の請求項１に係る発明（以下、「補正後の発明」という。）が特許出願の際独立して特許を受けることができるものであるかについて、検討する。
　
（２−１）引用発明
　原査定の拒絶の理由に引用された国際公開第０３／０５３００１号（以下、「引用文献」という。）には、図面とともに次の事項が記載されている。（下線は、参考のため、当審で付したものである。以下、他の文献についても同様。）
Ａ．“BACKGROUND OF THE INVENTION
　An encryption engine for performing the American National Standard Institute (ANSI) advanced encryption standard (AES) enciphers and deciphers blocks of data, typically 128 bits (block size) using a variable length key up to 256 bits. Deciphering is accomplished using the same key that was used for encrypting but with the schedule of addressing the key bits altered so that the deciphering is the reverse of the encryption process.”（明細書の第１頁第９〜１５行）
［和訳：発明の背景
  ＡＮＳＩ(American National Standard Institute)のＡＥＳ(Advanced encryption standard)を実施するための暗号化エンジンは、２５６ビットまでの可変長のキーを用いて、一般には１２８ビット（ブロックサイズ）のデータブロックを暗号化し且つ復号する。復号は、暗号化に使用されたものと同一のキーを用いてなされるが、復号の処理が暗号化処理の逆となるようにキービットのアドレッシングのスケジュールが変えられる。］
　
Ｂ．“There is shown in Fig. 1 an AES encryption engine 10 according to this invention with an associated input circuit 12 and output circuit 14. 
The advanced encryption standard (AES) algorithm performed by AES encryption engine 10 is illustrated in Fig. 2, where incoming data block 16 first undergoes an SBOX transformation 18 then a shift row transformation 20 followed by a mix column transformation 22 in which key 23 is added. The output at 24 is fed back over line 26 a number of times, the number depending upon the particular AES algorithm chosen.
［和訳：図１には、関連する入力回路１２および出力回路１４と共に、本発明によるＡＥＳ暗号化エンジン１０が示されている。ＡＥＳ暗号化エンジン１０によって実施されるAdvanced Encryption Standard(ＡＥＳ)アルゴリズムは図２に示され、ここでは、入力されるデータブロック１６は最初にＳ−ＢＯＸ変換手段１８を経て、そしてシフトロウ変換手段２０の後に、キー２３が付加されるミックスカラム変換手段２２を経る。２４での出力はライン２６上を何回もフィードバックされ、その回数は、選択された特定のＡＥＳアルゴリズムに依存する。例えば、以下のチャートＩのようである。］
　
Ｃ．“for the algorithm AES-128 the key length is four, the block size is four and the number of rounds or iterations is 10, whereas for AES-192, where the key length is six and block size is four, the number of iterations is 12 and for AES-256 the number of iterations is 14. 
Each time a round is executed a new key is introduced. The AES algorithm subbyte transformation is effected using an S-BOX wherein the data block 16 is comprised of four words 30,32, 34,36 each of four bytes, S
００
-S
０３
, S
１０
-Ｓ
１３
, S
２０
-S
２３
, and S
３０
-S
３３
. The S-BOX transformation first takes the multiplicative inverse in GF 
−１
(２
８
) and then applies an affine over GF(２) transformation defined by the matrix expression as shown in box 38, Fig. 3. The output is the subbyte transformation 17 of data block 16.
The subbyte l transformation 17, Fig. 4 then undergoes a shift row transformation in which the first row 30a, is not rotated at all, the second row 32a is rotated one byte, the third row 34a is rotated two bytes, and the fourth row 36a is rotated three bytes. The shifting is depicted by the schematic 40 and results in the shift row transformed data block 19 wherein the same values appear but shifted one, two, and three places in rows 32b, 34b, and 36b.
The mix column transformation and addition of the round key, Fig. 5, data block 19 is then multiplied a column at a time by the mix column transformation matrix 42, in this example the second column 44 is shown being multiplied by the mixed column transformation matrix. To this is added the round key in this case column 46, to obtain the completed advanced encryption standard cipher function 48 of the first data block 16.
［和訳：アルゴリズムＡＥＳ−１２８については、キーの長さは４であり、ブロックサイズは４であり、そしてラウンドまたは繰り返しの数は１０であり、一方、ＡＥＳ−１９２については、キーの長さは６であり、ブロックサイズは４であり、繰り返し数は１２であり、そしてＡＥＳ−２５６については、繰り返し数は１４である。ラウンドが実行される度に、新たなキーが取り入れられる。ＡＥＳアルゴリズムサブバイト変換は、Ｓ−ＢＯＸを用いて達成され、ここで、データブロック１６は４つのワード３０，３２，３４，３６から構成され、それぞれは４バイトのＳ００−Ｓ０３，Ｓ１０−Ｓ１３，Ｓ２０−Ｓ２３，Ｓ３０−Ｓ３３である。Ｓ−ＢＯＸ変換は、最初に、ＧＦ−１(２８)で逆数の演算をし、そして図３のボックス３８に示されるように行列表現により定義されたアフィン変換ＧＦ(２)変換を適用する。その出力は、データブロック１６のサブバイト変換１７である。そして、図４のサブバイト変換１７は、シフトロウ変換を経て、その変換において、第１行３０ａは全くローテイションされず、第２行３２ａは１バイトだけローテイションされ、第３行３４ａは２バイトだけローテイションされ、第４行３６ａは３バイトだけローテイションされる。このシフトは同図の記号４０で表現され、結果としてシフトロウ変換されたデータブロック１９を発生し、そこには同一の値が現れるが、行３２ｂ，３４ｂ，３６ｂにおいて１つ，２つ，３つの場所だけシフトされる。それから、図５のミックスカラム変換およびラウンドキーの付加により、データブロック１９は、１回でその列がミックスカラム変換行列４２と乗算され、この例では、第２の列４４がミックスカラム変換行列と乗算されることが示されている。これにラウンドキーが加えられ、このケースでは列４６であり、結果的に第１データブロック１６のAdvanced Encryption Standard暗号機能４８が得られる。］
　
Ｄ．“In one embodiment, according to this invention, 
AES encryption engine 10 may include a parallel look-up table 60 for performing the S-BOX transformation, a parallel look-up table 62 for performing the shift row transformation
Once the keys or subkeys are generated and stored as at key storage 80 in Fig. 6, they are used a round key at a time for each iteration or round performed, where a round key includes four words of four 8-bit bytes each. 
The S-BOX parallel look-up table 60 operates as shown in Fig. 7 where a data word 90 consisting of four 8-bit bytes is submitted to an address translation circuit 92, which addresses specific addresses in the memory 94 which are then read out in some correlated relationship to produce the data word 90'pursuant to the subbyte transformation to resulting in data block 17, Fig. 3.
Shift row parallel look-up table 62, performs the byte rotation as depicted in Fig. 4 by applying the data word 100, Fig. 8, through an address translation circuit 102 to address specific sites in memory 104 which are then read out correlated to produce the rotated byte configuration 106 as depicted in Fig. 4.
［和訳：一実施形態において、本発明によれば、ＡＥＳ暗号化エンジン１０は、Ｓ−ＢＯＸ変換を実施するためのパラレルルックアップテーブル６０と、シフトロウ変換を実施するためのパラレルルックアップテーブル６２と、ミックスカラム及びキー付加演算を実施するためのガロアフィールド乗算器６４を備えても良い。各繰り返しで異なるキーまたはラウンドキーが提供される。例えば、ＡＥＳ１２８アルゴリズムの実施では、１０のラウンドが存在し、各ラウンドはキーが供給される。各繰り返しで異なるラウンドキー６６が取り入れられる。ラウンドキーは、ローテイションワードパラレルルックアップテーブル７４及びＳ−ＢＯＸパラレルルックアップテーブル７６を備えるキージェネレータ回路７２により、入力７１を通して取り入れられたマスターキーからキージェネレータ６８によって生成される。ローテイションワードパラレルルックアップテーブル７４は、ワード（ａ０，ａ１，ａ２，ａ３）を入力として受け取り、その巡回的な展開を実施し、ワードを（ａ１，ａ２，ａ３，ａ０）として返す。Ｓ−ＢＯＸパラレルルックアップテーブル７６は、図３に更に詳細に表現されるように、図２のＳ−ＢＯＸ機能１８と同じようなＳ−ＢＯＸ機能を実施する。一旦、キー又はサブキーが発生され、図６におけるキーストレージ８０に格納されると、それらは、各繰り返し又は実施されるラウンドについて同時にラウンドキーとして使用され、ここで、ラウンドキーは４つのワードを備え、それぞれ８ビットバイトである。
  Ｓ−ＢＯＸパラレルルックアップテーブル６０は、図７に示されるように作用し、ここで、４つの８ビットバイトから成るデータワード９０は、アドレス変換回路９２に与えられ、それはメモリ９４における特定のアドレスを指定し、そしてメモリは或る相関関係で読み出され、サブバイト変換に従ってデータワード９０’を生成し、その結果として図３のデータブロック１７を生じる。シフトロウパラレルルックアップテーブル６２は、アドレス変換回路１０２を通して図８のデータワード１００を適用して、図４に示されるようなローテイションされたバイト構成１０６を生じるように、メモリ１０４の特定の場所を指定して読み出すことにより、図４に示されるようなバイトローテイションを実施する。］
　
Ｅ．“
Rotation word parallel look-up table 74 may be implemented in a similar fashion to shift row parallel look-up table 62 as shown in Fig. 8. And S-BOX parallel look-up table 76 in key generator 68 may be implemented as S-BOX parallel look-up table 60 shown in Fig. 7.
　Although thus far the embodiments shown uses two separate parallel look-up tables to perform the S-BOX and shift row operations in the AES encryption engine and uses third and fourth parallel look-up tables to do the rotation word and S-BOX operations in the round key generation, this is not a necessary limitation of the invention. For example, as shown in Fig. 11 input circuit 12a may be interconnected with a single parallel look-up table 61 via a configuration control circuit 150 which, upon an instruction, on line 152 can configure parallel look-up table 61 either for an S-BOX operation or a shift row operation. 
Since these operations occur at different times the same parallel look-up table may do double duty performing each function but at a different time with a consequent savings in hardware.
The invention can be simplified realizing that the four parallel look-up tables (PLUTs) can be treated as one 272-byte linear parallel look-up table (PLUT). Where a 256byte S-Box PLUT can be shared by the cipher and the round key generator. And the ShiftRow and WordShift transforms, which are two memory-less byte rotation operations, can share the same 16-byte look-up table.
［和訳：ローテイションワードパラレルルックアップテーブル７４は、図８に示されるようなシフトロウパラレルルックアップテーブル６２と同様の方法で実施されてもよい。そして、キージェネレータ６８におけるＳ−ＢＯＸパラレルルックアップテーブル７６は、図７に示されるＳ−ＢＯＸパラレルルックアップテーブル６０として実施されてもよい。
  これまでに示された実施形態は、二つに分離したパラレルルックアップテーブルを使用してＡＥＳ暗号化エンジンにおけるシフトロウ及びＳ−ＢＯＸを実施し、そして第３及び第４パラレルルックアップテーブルを使用してラウンドキー発生におけるＳ−ＢＯＸ動作およびローテイションワードを行ったが、これは本発明の必然的な制限ではない。例えば、図１１に示されるように、入力回路１２ａは、コンフィギュレーションコントロール回路１５０を介して単一のパラレルルックアップテーブル６１と相互接続されてもよく、コンフィギュレーションコントロール回路１５０は、ライン１５２上の命令でＳ−ＢＯＸ動作またはシフトロウ動作の何れかのためにパラレルルックアップテーブル６１を設定することができる。これらの動作は異なる時刻に発生するので、同一のパラレルルックアップテーブルは２倍のデューティで各機能を実施できるが、異なる時刻であれば必然的にハードウェアを節約する結果になる。加えて、図１２のパラレルルックアップテーブル６１ａは、４つの異なるモード、即ち、コンフィグレーション回路１５４の制御の下で、暗号ラウンドのためのシフトロウおよびＳ−ＢＯＸ、並びにキー発生のためのＳ−ＢＯＸおよびローテイションワードに取り入れられてもよい。従って、ライン１５６上の命令に応答するコンフィギュレーション回路１５４は、パラレルルックアップテーブル６１ａを構成して、暗号Ｓ−ＢＯＸ、暗号シフトロウ、キーローテイションワード、又は、キーＳ−ＢＯＸ動作の何れかを実施することができる。暗号動作が発生する第１及び第２のモードにおいて、パラレルルックアップテーブル６１ａからの出力は、ガロアフィールド乗算器６４に直接的に与えられるであろう。キー発生、ローテイションワード、およびＳ−ＢＯＸ機能が実施される第３および第４のモードにおいては、パラレルルックアップテーブル６１ａからの出力は、キーストレージ８０ａに配信され、ここで、それはガロアフィールド乗算器６４によってアクセスされることができる。図１２は、実際の論理回路を備えるモードスイッチ回路１５４を使用するが、これは本発明の必然的な制限ではない。本発明は、４つのパラレルルックアップテーブル（ＰＬＵＴｓ）が一つの２７２バイトリニアパラレルルックアップテーブル（ＰＬＵＴ）として取り扱われることを実現して簡単化できる。２５６バイトのＳ−ＢｏｘＰＬＵＴは、暗号およびラウンドキージェネレータによって共有することができる。そして、二つのメモリレスのバイトローテイション動作であるところのシフトロウ及びワードシフト変換は、同一の１６バイトルックアップテーブルを共有することができる。パラレルルックアップテーブルにおける正確なアドレスは、開始アドレスをルックアップされる値に加えることにより見つけ出される。従って、モードスイッチ回路は、単に、二つのパラレルルックアップテーブル開始アドレスとして実施できる。］
　
Ｆ．“
There is shown in Fig. 15 a reconfigurable parallel look-up table system 310 for implementing this invention which includes a row index register R
２
, 312 and a column index register R
１
, 314, an address translation circuit 316 and a memory 318 which contains a number of look-up tables. The output from memory 318 is delivered to output register 320. Memory 318 includes a number of look-up tables and row index register 312 holds the values to be looked up in those look-up tables.
［和訳：図１５に、本発明を実施するための再構成可能なパラレルルックアップテーブルシステム３１０が示されており、ロウインデックスレジスタＲ２ ３１２と、カラムインデックスレジスタＲ１ ３１４と、アドレス変換回路３１６と、多数のルックアップテーブルを含むメモリ３１８とを備える。メモリ３１８からの出力は、出力レジスタ３２０に配信される。メモリ３１８は、複数のルックアップテーブルと、それらのルックアップテーブルにおいてルックアップされる値を保持するロウインデックスレジスタ３１２とを備える。例えば、ロウインデックスレジスタ３１２は、メモリ３１８でルックアップテーブルにおいてルックアップされる角度を保持してもよく、ここでは、それらの角度に対し、ルックアップテーブルのそれぞれが、異なる機能、サイン値、コサイン値、タンジェント値の中の一つ、等々を備えてもよい。カラムインデックスレジスタ３１４は、メモリに格納された各ルックアップテーブルの開始アドレスを表す値を格納する。例えば、もしメモリ３１８が、それぞれ６４バイトの８個のルックアップテーブルを保持すれば、カラム３０，３２，３４，３６，３８，４０，４２，４４と一致するそれらルックアップテーブルについての開始点は、０，６４，１２８，１９２，２５６，３２０，３８４，４４８であろう。アドレス変換回路１６は、ロウインデックスレジスタ３１２の値を、ルックアップテーブルのそれぞれの開始アドレスの表示と結びつけて、インデックスレジスタにおける各値に対するアドレスを同時に発生し、それらの値の機能を並列に各ルックアップテーブルに配置する。］
　
Ｇ．Fig.２〜Fig.５から、S-BOX18、SHIFTROWS20及びMIXCOLUMNS22で順次処理されるDATA BLOCK16は、４行×４列の行列をなすデータとして扱われて処理がなされることが見て取れる。そして、Fig.３から、前記４行×４列の行列をなすデータを、要素毎に前記S-BOX18により変換を行うことが見て取れる。
　また、Fig.７においては、ADRESS TRANSLATION90に供給されるDATA WORD90は、Fig.３に記載された前記４行×４列の行列をなすデータであるDATA BLOCK16の第一行を構成するＳ００〜Ｓ０３のデータであること、前記DATA WORD90が、当該Ｓ００〜Ｓ０３のデータ毎に、前記ADRESS TRANSLATION90で処理されてS-BOXの要素94に供給されることが、それぞれ、見て取れる。
　さらに、Fig.８においては、ADRESS TRANSLATION100に供給されるDATA WORDは、前記４行×４列の行列をなすＳ００〜Ｓ３３における全データであること、前記DATA WORDが、当該Ｓ００〜Ｓ３３のデータ毎に、前記ADRESS TRANSLATION100で処理されてSHIFTROWS104に供給されることが、それぞれ、見て取れる。
　
　
ａ．Ｂの“The advanced encryption standard (AES) algorithm performed by AES encryption engine 10 is illustrated in Fig. 2, where incoming data block 16 first undergoes an SBOX transformation 18 then a shift row transformation 20 followed by a mix column transformation 22 in which key 23 is added. The output at 24 is fed back over line 26 a number of times, the number depending upon the particular AES algorithm chosen.（ＡＥＳ暗号化エンジン１０によって実施されるAdvanced Encryption Standard(ＡＥＳ)アルゴリズムは図２に示され、ここでは、入力されるデータブロック１６は最初にＳ−ＢＯＸ変換手段１８を経て、そしてシフトロウ変換手段２０の後に、キー２３が付加されるミックスカラム変換手段２２を経る。２４での出力はライン２６上を何回もフィードバックされ、その回数は、選択された特定のＡＥＳアルゴリズムに依存する。）”、Ｄの“ Once the keys or subkeys are generated and stored as at key storage 80 in Fig. 6, they are used a round key at a time for each iteration or round performed, where a round key includes four words of four 8-bit bytes each.（一旦、キー又はサブキーが発生され、図６におけるキーストレージ８０に格納されると、それらは、各繰り返し又は実施されるラウンドについて同時にラウンドキーとして使用され、ここで、ラウンドキーは４つのワードを備え、それぞれ８ビットバイトである。）”から、ＡＥＳ暗号化エンジンは、入力されるデータブロックを変換するＳ−ＢＯＸ変換手段と、シフトロウ変換手段と、ミックスカラム変換手段及びラウンドキーを格納するキーストレージを有し、前記データブロックが前記Ｓ−ＢＯＸ変換手段を経て、シフトロウ変換手段の後に、ミックスカラム変換手段を経るという動作を所定数のラウンド繰り返す装置である。
　そして、Ｃの“Each time a round is executed a new key is introduced. The AES algorithm subbyte transformation is effected using an S-BOX wherein the data block 16 is comprised of four words 30,32, 34,36 each of four bytes, S００-S０３, S１０-Ｓ１３, S２０-S２３, and S３０-S３３. The S-BOX transformation first takes the multiplicative inverse in GF −１(２８) and then applies an affine over GF(２) transformation defined by the matrix expression as shown in box 38, Fig. 3. The output is the subbyte transformation 17 of data block 16.（ラウンドが実行される度に、新たなキーが取り入れられる。ＡＥＳアルゴリズムサブバイト変換は、Ｓ−ＢＯＸを用いて達成され、ここで、データブロック１６は４つのワード３０，３２，３４，３６から構成され、それぞれは４バイトのＳ００−Ｓ０３，Ｓ１０−Ｓ１３，Ｓ２０−Ｓ２３，Ｓ３０−Ｓ３３である。Ｓ−ＢＯＸ変換は、最初に、ＧＦ−１(２８)で逆数の演算をし、そして図３のボックス３８に示されるように行列表現により定義されたアフィン変換ＧＦ(２)変換を適用する。その出力は、データブロック１６のサブバイト変換１７である。）”、Ｄの“AES encryption engine 10 may include a parallel look-up table 60 for performing the S-BOX transformation,……（ＡＥＳ暗号化エンジン１０は、Ｓ−ＢＯＸ変換を実施するためのパラレルルックアップテーブル６０……を含む）”及び“ The S-BOX parallel look-up table 76 performs an S-BOX function similar to S-BOX function 18, Fig. 2 as depicted in more detail in Fig. 3.（Ｓ−ＢＯＸパラレルルックアップテーブル７６は、図３に更に詳細に表現されるように、図２のＳ−ＢＯＸ機能１８と同じようなＳ−ＢＯＸ機能を実施する。）”、ＧのFig.３及びFig.７の図示態様から、Ｓ−ＢＯＸ変換手段は、それぞれが４バイトからなる４つのワードで構成されたデータブロックを各バイト毎にＳ−ＢＯＸパラレルルックアップテーブルによりサブバイト変換するものである。
　Ｄの“AES encryption engine 10 may include a parallel look-up table 60 for performing the S-BOX transformation, a parallel look-up table 62 for performing the shift row transformation,……（ＡＥＳ暗号化エンジン１０は、Ｓ−ＢＯＸ変換を実施するためのパラレルルックアップテーブル６０と、シフトロウ変換を実施するためのパラレルルックアップテーブル６２……を含む）及び“Shift row parallel look-up table 62, performs the byte rotation as depicted in Fig. 4……（シフトロウパラレルルックアップテーブル６２は……図４に示されるようなバイトローテイションを実施する）”から、シフトロウ変換手段は、シフトロウパラレルルックアップテーブルによりシフトロウ変換を実施するものである。
　また、Ｃの“The mix column transformation and addition of the round key, Fig. 5, data block 19 is then multiplied a column at a time by the mix column transformation matrix 42, in this example the second column 44 is shown being multiplied by the mixed column transformation matrix. To this is added the round key in this case column 46, to obtain the completed advanced encryption standard cipher function 48 of the first data block 16.（図５のミックスカラム変換およびラウンドキーの付加により、データブロック１９は、１回でその列がミックスカラム変換行列４２と乗算され、この例では、第２の列４４がミックスカラム変換行列と乗算されることが示されている。これにラウンドキーが加えられ、このケースでは列４６であり、結果的に第１データブロック１６のAdvanced Encryption Standard暗号機能４８が得られる。）”から、ミックスカラム変換手段は、データブロックをミックスカラム変換してラウンドキーを付加する手段であり、結果的に入力されたデータブロックをＡＥＳ暗号化する手段である。
　以上から、引用文献には、
　それぞれが４バイトからなる４つのワードで構成されたデータブロックを各バイト毎にＳ−ＢＯＸパラレルルックアップテーブルによりサブバイト変換するＳ−ＢＯＸ変換手段と、シフトロウパラレルルックアップテーブルによりシフトロウ変換を実施するシフトロウ変換手段と、ミックスカラム変換とラウンドキーの付加を行うミックスカラム変換手段、及び、前記ラウンドキーを格納するキーストレージを有し、前記データブロックが前記サブバイト変換の処理を経て前記シフトロウ変換の処理の後で前記ミックスカラム変換されて前記ラウンドキーが付加されるという演算処理を所定回数繰り返すことで、入力されたデータブロックをＡＥＳ暗号化するＡＥＳ暗号化エンジン、
が記載されている。
　
ｂ−１．Ｃの“The S-BOX transformation first takes the multiplicative inverse in GF −１(２８) and then applies an affine over GF(２) transformation defined by the matrix expression as shown in box 38, Fig. 3. The output is the subbyte transformation 17 of data block 16. （Ｓ−ＢＯＸ変換は、最初に、ＧＦ−１(２８)で逆数の演算をし、そして図３のボックス３８に示されるように行列表現により定義されたアフィン変換ＧＦ(２)変換を適用する。その出力は、データブロック１６のサブバイト変換１７である。）”、Ｄの“The S-BOX parallel look-up table 60 operates as shown in Fig. 7 where a data word 90 consisting of four 8-bit bytes is submitted to an address translation circuit 92, which addresses specific addresses in the memory 94 which are then read out in some correlated relationship to produce the data word 90'pursuant to the subbyte transformation to resulting in data block 17, Fig. 3. （Ｓ−ＢＯＸパラレルルックアップテーブル６０は、図７に示されるように作用し、ここで、４つの８ビットバイトから成るデータワード９０は、アドレス変換回路９２に与えられ、それはメモリ９４における特定のアドレスを指定し、そしてメモリは或る相関関係で読み出され、サブバイト変換に従ってデータワード９０’を生成し、その結果として図３のデータブロック１７を生じる。）”、及び、ＧのFig.３及びFig.７の図示態様から、
　Ｓ−ＢＯＸ変換手段は、データブロックをワード単位でバイト毎にアドレス変換回路でアドレス変換したバイト毎の出力を、Ｓ−ＢＯＸパラレルルックアップテーブルを格納するメモリのアドレスとして当該メモリを読み出すことによりサブバイト変換を行う手段である、
と解される。
　
ｂ−２．Ｃの“The subbyte l transformation 17, Fig. 4 then undergoes a shift row transformation in which the first row 30a, is not rotated at all, the second row 32a is rotated one byte, the third row 34a is rotated two bytes, and the fourth row 36a is rotated three bytes. The shifting is depicted by the schematic 40 and results in the shift row transformed data block 19 wherein the same values appear but shifted one, two, and three places in rows 32b, 34b, and 36b. （そして、図４のサブバイト変換１７は、シフトロウ変換を経て、その変換において、第１行３０ａは全くローテイションされず、第２行３２ａは１バイトだけローテイションされ、第３行３４ａは２バイトだけローテイションされ、第４行３６ａは３バイトだけローテイションされる。このシフトは同図の記号４０で表現され、結果としてシフトロウ変換されたデータブロック１９を発生し、そこには同一の値が現れるが、行３２ｂ，３４ｂ，３６ｂにおいて１つ，２つ，３つの場所だけシフトされる。）”、Ｄの“Shift row parallel look-up table 62, performs the byte rotation as depicted in Fig. 4 by applying the data word 100, Fig. 8, through an address translation circuit 102 to address specific sites in memory 104 which are then read out correlated to produce the rotated byte configuration 106 as depicted in Fig. 4.（シフトロウパラレルルックアップテーブル６２は、アドレス変換回路１０２を通して図８のデータワード１００を適用して、図４に示されるようなローテイションされたバイト構成１０６を生じるように、メモリ１０４の特定の場所を指定して読み出すことにより、図４に示されるようなバイトローテイションを実施する。）”、ＧのFig.４及びFig.８の図示態様から、
　シフトロウ変換手段は、データブロックの全データをバイト毎にアドレス変換回路によりアドレス変換したバイト毎の出力を、シフトロウパラレルルックアップテーブルを格納するメモリのアドレスとして当該メモリを読み出すことにより、Ｓ−ＢＯＸ変換手段から供給された行列データである前記データブロックのデータを当該行列の行毎に所定バイト分シフトさせるシフトロウ変換を行い、当該シフトロウ変換されたデータをミックスカラム変換手段に供給する手段である、
と解される。
　
ｂ−３．Ｄの“Each iteration a different key or round key is provided. For example, in an AES 128 algorithm implementation there will be ten rounds, each round will be supplied with a key. Each iteration a different round key 66 is introduced. The round keys are generated by the key generator 68 from a master key 70 introduced through input 71, by means of key generator circuit 72 which includes a rotation word parallel look-up table 74 and an S-BOX parallel look-up table 76. The rotation word parallel look-up table 74 simply takes a word (ao, al, a2, a3) as input and performs a cyclical permutation and returns the word as (al, a2, a3, ao). The S-BOX parallel look-up table 76 performs an S-BOX function similar to S-BOX function 18, Fig. 2 as depicted in more detail in Fig. 3. Once the keys or subkeys are generated and stored as at key storage 80 in Fig. 6, they are used a round key at a time for each iteration or round performed, where a round key includes four words of four 8-bit bytes each.（各繰り返しで異なるキーまたはラウンドキーが提供される。例えば、ＡＥＳ１２８アルゴリズムの実施では、１０のラウンドが存在し、各ラウンドはキーが供給される。各繰り返しで異なるラウンドキー６６が取り入れられる。ラウンドキーは、ローテイションワードパラレルルックアップテーブル７４及びＳ−ＢＯＸパラレルルックアップテーブル７６を備えるキージェネレータ回路７２により、入力７１を通して取り入れられたマスターキーからキージェネレータ６８によって生成される。ローテイションワードパラレルルックアップテーブル７４は、ワード（ａ０，ａ１，ａ２，ａ３）を入力として受け取り、その巡回的な展開を実施し、ワードを（ａ１，ａ２，ａ３，ａ０）として返す。Ｓ−ＢＯＸパラレルルックアップテーブル７６は、図３に更に詳細に表現されるように、図２のＳ−ＢＯＸ機能１８と同じようなＳ−ＢＯＸ機能を実施する。一旦、キー又はサブキーが発生され、図６におけるキーストレージ８０に格納されると、それらは、各繰り返し又は実施されるラウンドについて同時にラウンドキーとして使用され、ここで、ラウンドキーは４つのワードを備え、それぞれ８ビットバイトである。）”から、
　ラウンドキーをローテイションワードパラレルルックアップテーブル及びＳ−ＢＯＸパラレルルックアップテーブルを備えるキージェネレータ回路に入力して巡回的な展開を実施してキーストレージに格納するという処理を、ラウンド毎に実施すること、
が記載されている。
　
　ここで、Ｅの“Rotation word parallel look-up table 74 may be implemented in a similar fashion to shift row parallel look-up table 62 as shown in Fig. 8. And S-BOX parallel look-up table 76 in key generator 68 may be implemented as S-BOX parallel look-up table 60 shown in Fig. 7.（ローテイションワードパラレルルックアップテーブル７４は、図８に示されるようなシフトロウパラレルルックアップテーブル６２と同様の方法で実施されてもよい。そして、キージェネレータ６８におけるＳ−ＢＯＸパラレルルックアップテーブル７６は、図７に示されるＳ−ＢＯＸパラレルルックアップテーブル６０として実施されてもよい。）”から、前記ローテイションワードパラレルルックアップテーブル及びＳ−ＢＯＸパラレルルックアップテーブルを用いたラウンドキー生成は、シフトロウパラレルルックアップテーブルを用いたシフトロウ変換、及び、Ｓ−ＢＯＸパラレルルックアップテーブルを用いたＳ−ＢＯＸ変換と同様の方法で行うことが記載されている。
　してみれば、前記キージェネレータ回路は、ローテイションワードパラレルルックアップテーブル及びＳ−ＢＯＸパラレルルックアップテーブルに対応するアドレス変換回路を、それぞれ、有することは明らかである。
　
ｂ−４．Ｅの“Rotation word parallel look-up table 74 may be implemented in a similar fashion to shift row parallel look-up table 62 as shown in Fig. 8. And S-BOX parallel look-up table 76 in key generator 68 may be implemented as S-BOX parallel look-up table 60 shown in Fig. 7.（ローテイションワードパラレルルックアップテーブル７４は、図８に示されるようなシフトロウパラレルルックアップテーブル６２と同様の方法で実施されてもよい。そして、キージェネレータ６８におけるＳ−ＢＯＸパラレルルックアップテーブル７６は、図７に示されるＳ−ＢＯＸパラレルルックアップテーブル６０として実施されてもよい。）”、“For example, as shown in Fig. 11 input circuit 12a may be interconnected with a single parallel look-up table 61 via a configuration control circuit 150 which, upon an instruction, on line 152 can configure parallel look-up table 61 either for an S-BOX operation or a shift row operation. （例えば、図１１に示されるように、入力回路１２ａは、コンフィギュレーションコントロール回路１５０を介して単一のパラレルルックアップテーブル６１と相互接続されてもよく、コンフィギュレーションコントロール回路１５０は、ライン１５２上の命令でＳ−ＢＯＸ動作またはシフトロウ動作の何れかのためにパラレルルックアップテーブル６１を設定することができる。）”及び“The invention can be simplified realizing that the four parallel look-up tables (PLUTs) can be treated as one 272-byte linear parallel look-up table (PLUT). Where a 256byte S-Box PLUT can be shared by the cipher and the round key generator. And the ShiftRow and WordShift transforms, which are two memory-less byte rotation operations, can share the same 16-byte look-up table.（本発明は、４つのパラレルルックアップテーブル（ＰＬＵＴｓ）が一つの２７２バイトリニアパラレルルックアップテーブル（ＰＬＵＴ）として取り扱われることを実現して簡単化できる。２５６バイトのＳ−ＢｏｘＰＬＵＴは、暗号およびラウンドキージェネレータによって共有することができる。そして、二つのメモリレスのバイトローテイション動作であるところのシフトロウ及びワードシフト変換は、同一の１６バイトルックアップテーブルを共有することができる。）”から、引用文献には、
　Ｓ−ＢＯＸ変換手段がＳ−ＢＯＸパラレルルックアップテーブルを、シフトロウ変換手段がシフトロウパラレルルックアップテーブルを、そして、キージェネレータ回路はローテイションワードパラレルルックアップテーブル及びＳ−ＢＯＸパラレルルックアップテーブルをというように、都合４つのパラレルルックアップテーブルを設けるのではなく、Ｓ−ＢＯＸ変換、シフトロウ変換及びラウンドキー生成の各処理で、同一のパラレルルックアップテーブルを共有すること、
が記載されている。
　さらに、Ｅの“Since these operations occur at different times the same parallel look-up table may do double duty performing each function but at a different time with a consequent savings in hardware.（これらの動作は異なる時刻に発生するので、同一のパラレルルックアップテーブルは２倍のデューティで各機能を実施できるが、異なる時刻であれば必然的にハードウェアを節約する結果になる。）”から、引用文献には、
　前記同一のパラレルルックアップテーブルを共有する前記Ｓ−ＢＯＸ変換、シフトロウ変換及びラウンドキー生成の各処理の動作は異なる時刻に発生する、
ことが記載されている。
　
ｂ−５．Ｆの“There is shown in Fig. 15 a reconfigurable parallel look-up table system 310 for implementing this invention which includes a row index register R２, 312 and a column index register R１, 314, an address translation circuit 316 and a memory 318 which contains a number of look-up tables. The output from memory 318 is delivered to output register 320. Memory 318 includes a number of look-up tables and row index register 312 holds the values to be looked up in those look-up tables.（図１５に、本発明を実施するための再構成可能(reconfigurable)なパラレルルックアップテーブルシステム３１０が示されており、ロウインデックスレジスタＲ２ ３１２と、カラムインデックスレジスタＲ１ ３１４と、アドレス変換回路３１６と、多数のルックアップテーブルを含むメモリ３１８とを備える。メモリ３１８からの出力は、出力レジスタ３２０に配信される。メモリ３１８は、複数のルックアップテーブルと、それらのルックアップテーブルにおいてルックアップされる値を保持するロウインデックスレジスタ３１２とを備える。）”から、引用文献には、
　パラレルルックアップテーブルのシステムを、アドレス変換回路と、多数のルックアップテーブルを含むメモリとを備える再構成可能なシステムとする、
ことが記載されている。
　
ｂ．前記ｂ−１〜３には、「Ｓ−ＢＯＸパラレルルックアップテーブルを格納するメモリ」を利用して「サブバイト変換を行う」こと、「シフトロウパラレルルックアップテーブルを格納するメモリ」を利用して「シフトロウ変換を行い」、「ラウンドキーをローテイションワードパラレルルックアップテーブル及びＳ−ＢＯＸパラレルルックアップテーブル」を利用して「ラウンドキー」を生成することが、それぞれ、記載されている。
　しかしながら、引用発明の「実施形態」においては「同一のパラレルルックアップテーブルを共有すること」がＥに、そして、引用「発明を実施するため」に「メモリ」は「多数のルックアップテーブルを含む」ことがＦに記載されている。
　してみれば、「メモリ」に含まれる「多数のルックアップテーブル」を「パラレルルックアップテーブル」とし、前記「サブバイト変換」、「シフトロウ変換」及び「ラウンドキー」の生成は、前記「パラレルルックアップテーブル」を格納する「メモリ」を利用して行われる、と解される。
　したがって、ｂ−１〜ｂ−５を総合勘案すると、引用文献には、
　アドレス変換回路と、多数のルックアップテーブルを含むメモリとを備える再構成可能なパラレルルックアップテーブルシステムを設け、
　前記パラレルルックアップテーブルシステムを、データブロックをワード単位でバイト毎にサブバイト変換するサブバイト変換処理と、サブバイト変換された行列データを当該行列の行毎に所定バイト分シフトさせるシフトロウ変換処理と、ラウンド毎に入力されたラウンドキーに対し巡回的な展開を実施してキーストレージに格納するラウンドキー生成処理とで共有し、
　前記シフトロウ変換処理されたデータをミックスカラム変換手段に供給するとともに、前記ラウンドキー生成処理で巡回的な展開が実施されたラウンドキーをキーストレージに格納し、
　前記各処理は、前記アドレス変換回路でアドレス変換したバイト毎の出力を前記多数のルックアップテーブルを格納するメモリのアドレスとして、当該メモリを読み出すことに基づいて、異なる時刻に行われる、
ことが記載されていると解される。
　
　以上、ａ、ｂから、引用文献には、次の発明（以下、「引用発明」という）が記載されているものと認められる。
「それぞれが４バイトからなる４つのワードで構成されたデータブロックを各バイト毎に多数のルックアップテーブルによりサブバイト変換するとともに、前記多数のルックアップテーブルによりシフトロウ変換を実施するパラレルルックアップテーブルシステムと、ミックスカラム変換とラウンドキーの付加を行うミックスカラム変換手段、及び、前記ラウンドキーを格納するキーストレージを有し、前記データブロックが前記サブバイト変換の処理を経て前記シフトロウ変換の処理の後で前記ミックスカラム変換されて前記ラウンドキーが付加されるという演算処理を所定回数繰り返すことで、入力されたデータブロックをＡＥＳ暗号化するＡＥＳ暗号化エンジンであって、
　前記パラレルルックアップテーブルシステムは、アドレス変換回路と、多数のルックアップテーブルを含むメモリとを備える再構成可能なシステムであり、
　前記パラレルルックアップテーブルシステムを、データブロックをワード単位でバイト毎にサブバイト変換するサブバイト変換処理と、サブバイト変換された行列データを当該行列の行毎に所定バイト分シフトさせるシフトロウ変換処理と、ラウンド毎にラウンドキーに対し巡回的な展開を実施して前記キーストレージに格納するラウンドキー生成処理とで共有し、
　前記シフトロウ変換処理されたデータをミックスカラム変換手段に供給するとともに、前記ラウンドキー生成処理で巡回的な展開が実施されたラウンドキーを前記キーストレージに格納し、
　前記各処理は、前記アドレス変換回路でアドレス変換したバイト毎の出力を前記多数のルックアップテーブルを格納するメモリのアドレスとして、当該メモリを読み出すことに基づいて、異なる時刻に行われる、
ことを特徴とするＡＥＳ暗号化エンジン。」
　
（２−２）対比
　補正後の発明と引用発明とを対比する。
　
　本願明細書には、段落【００４１】に「ｓ−ｂｏｘ１３−１は、例えば、ＲＯＭ（read only memory）から構成されている。ｓ−ｂｏｘ１３−１を構成するＲＯＭには、データ変換テーブルが格納されており」と記載されている。すなわち、「データ変換テーブル」を格納する「ＲＯＭ」をデータ変換手段としていると認められる。
　したがって、引用発明の「サブバイト変換する」とともに「シフトロウ変換を実施」するのに利用する「多数のルックアップテーブル」は補正後の発明の「データ変換テーブル」に相当し、前記「多数のパラレルルックアップテーブル」を含む引用発明の「メモリ」は補正後の発明の「データ変換手段」に相当する。
　
　引用発明における「シフトロウ変換」が「実施」されたデータブロックの「ミックスカラム変換とラウンドキーの付加を行うミックスカラム変換手段」は、補正後の発明の「変換されたデータとキーとを演算する処理手段」に相当する。
　引用発明における、「ラウンドキー」及び前記「ラウンドキーを格納するキーストレージ」は、それぞれ、補正後の発明の「キー」及び「前記キーを記憶するキーレジスタ」に相当する。
　引用発明において、「データブロック」を「サブバイト変換」して「シフトロウ変換を実施する」ことは、補正後の発明の「データを変換する」ことに相当する。したがって、引用発明において、「前記データブロックが前記サブバイト変換の処理を経て前記シフトロウ変換の処理の後で前記ミックスカラム変換されて前記ラウンドキーが付加されるという演算処理を所定回数繰り返す」ことは、補正後の発明において、「前記データ変換手段によるデータ変換及び前記処理手段による演算処理を複数ラウンド繰り返す」ことに相当する。
　
　引用発明の「ＡＥＳ暗号化エンジン」は「入力されたデータブロックをＡＥＳ暗号化する」装置である。これに対して、補正後の発明の「暗号化／復号化装置」は「データの暗号化／復号化を行う」装置である。
　しかしながら、ラインデール暗号等のＡＥＳ暗号化装置において、暗号化と逆の処理によって復号ができることは周知の事項にすぎない。また、「復号化を行う」ための処理に関する事項が、本件補正後の請求項１には何ら記載されていないばかりでなく、本願明細書にも何ら記載されていない。
　したがって、引用発明の「ＡＥＳ暗号化エンジン」は「入力されたデータブロックをＡＥＳ暗号化する」のに対して、補正後の発明の「暗号化／復号化装置」が「データ」の「暗号化」に加えて「復号化」も「行う」点は、実質的な相異点であるとは認められない。
　よって、引用発明の「ＡＥＳ暗号化エンジン」と補正後の発明の「暗号化／復号化装置」とは、暗号化／復号化装置である点で一致している。
　
　引用発明において、「サブバイト変換された行列データを当該行列の行毎に所定バイト分シフトさせるシフトロウ変換処理」は、「前記アドレス変換回路でアドレス変換したバイト毎の出力を前記多数のルックアップテーブルを格納するメモリのアドレスとして当該メモリを読み出すことに基づいて」行われるものである。
　このとき、前記「シフトロウ変換」で処理される「行列データ」は、「それぞれが４バイトからなる４つのワードで構成されたデータブロック」が「データブロックをワード単位でバイト毎にサブバイト変換するサブバイト変換処理」により「サブバイト変換された」結果のデータである。すなわち、複数の「バイト」のデータにより前記「行列の行」が構成されている。
　ここで、本願明細書の段落【００４２】には「ｓ−ｂｏｘ１３−１〜１３−４により４列のデータを同時に変換できる。ｓ−ｂｏｘ１３−１〜１３−４で４列のデータを４行分変換することにより４行×４列のマトリクス状のデータをデータ変換することが可能となる。」と記載されている。つまり、マトリクスの１行を構成する個々の「データ」を「列のデータ」と称している。
　したがって、引用発明における、個々の「バイト」のデータは、補正後の発明における「列のデータ」に相当する。
　
　引用発明の「メモリ」は「多数のルックアップテーブルを含む」ものである。
　これに対して、補正後の発明の「データ変換手段」はそれ自体が「列と同じ所定数設けられて」いる。しかし、前記「データ変換手段」は「データ変換テーブルによりデータを変換する」ものであるから、「列と同じ所定数設けられて」た「データ変換手段」が有する「データ変換テーブル」も、「列と同じ所定数設けられて」いると認められる。
　したがって、引用発明において、前記「メモリ」が「多数のルックアップテーブルを含む」ことと、補正後の発明において、「データ変換手段」が「列と同じ所定数設けられて」いることとは、データ変換テーブルが複数設けられている点で共通する。
　
　そして、引用発明の「サブバイト変換」における処理「単位」のデータは、「４バイトからなる」１個の「ワード」である。
　一方、「シフトロウ変換」で処理されのは、「それぞれが４バイトからなる４つのワードで構成されたデータブロック」が「データブロックをワード単位でバイト毎にサブバイト変換するサブバイト変換処理」により「サブバイト変換された」結果のデータとしての「行列データ」であるが、前記「シフトロウ変換」は「行列データを当該行列の行毎に所定バイト分シフトさせる」のであるから、一回の「変換」において、少なくとも、「行列の行」をなす「４バイトからなる」１の「ワード」のデータが供給されることは明らかである。
　これに対して、補正後の発明において、「前記データ変換手段は、所定列のデータを同時に変換可能な構成とされて」いるが、このとき、「前記データ変換手段」の「データ変換テーブル」には「所定列のデータ」が供給されることは当然である。
　したがって、引用発明において、「前記パラレルルックアップテーブル」に処理単位として、少なくとも４バイトのデータが供給されることと、補正後の発明において、「前記データ変換手段は、所定列のデータを同時に変換可能な構成とされて」いることとは、データ変換テーブルに所定列のデータが供給される点で共通する。
　
　引用発明の「ラウンド毎にラウンドキーに対し巡回的な展開を実施する」ことは、補正後の発明の「キーの展開」に相当する。
　そして、引用発明は、「パラレルルックアップテーブルシステムを、データブロックをワード単位でバイト毎にサブバイト変換するサブバイト変換処理と、サブバイト変換された行列データを当該行列の行毎に所定バイト分シフトさせるシフトロウ変換処理と、ラウンド毎にラウンドキーに対し巡回的な展開を実施するラウンドキー生成処理とで共有し」ている。ここで、前記「パラレルルックアップテーブルシステム」は「メモリ」を備えているから、前記「メモリ」も、前記「サブバイト変換処理」及び「シフトロウ変換処理」と、前記「ラウンドキー生成処理」とで共有されているものである。
　したがって、引用発明において、「パラレルルックアップテーブルシステムを、データブロックをワード単位でバイト毎にサブバイト変換するサブバイト変換処理と、サブバイト変換された行列データを当該行列の行毎に所定バイト分シフトさせるシフトロウ変換処理と、ラウンド毎にラウンドキーに対し巡回的な展開を実施するラウンドキー生成処理とで共有し」ていることは、補正後の発明の「データ変換手段」が「前記データの変換及び前記キーの展開とで兼用され」ていることに相当する。
　
　引用発明において、「サブバイト変換」した後に「シフトロウ変換処理されたデータをミックスカラム変換手段に供給する」は、前記「サブバイト変換」及び「シフトロウ変換処理」は「前記多数のルックアップテーブル」を利用して行われる。
　したがって、引用発明の「サブバイト変換」した後に「シフトロウ変換処理されたデータをミックスカラム変換手段に供給する」ことと、補正後の発明の「前記所定数のデータ変換手段により変換されたデータは、前記処理手段に供給され」ることとは、複数のデータ変換テーブルを利用して変換されたデータは、処理手段に供給される点で共通する。
　同様に、引用発明において、「前記ラウンドキー生成処理で巡回的な展開が実施されたラウンドキーを前記キーストレージに格納する」ことと、補正後の発明の「前記所定数のデータ変換手段により展開されたキーは、前記キーレジスタに供給する」こととは、複数のデータ変換テーブルを利用して展開されたキーは、キーレジスタに供給する点で共通する。
　
　引用発明は「ラウンド毎にラウンドキーに対し巡回的な展開を実施して前記キーストレージに格納する」ものである。このとき、「巡回的な展開を実施」した「ラウンドキー」を「前記キーストレージに格納する」ことで、直前の「ラウンド」で「キーストレージに格納」されていた「ラウンドキー」は更新されることは明らかである。
　そして、引用発明は「前記各処理は、前記アドレス変換回路でアドレス変換したバイト毎の出力を前記パラレルルックアップテーブルを格納するメモリのアドレスとして当該メモリを読み出すことに基づいて、異なる時刻に行われる」という動作を制御する制御手段を有することは、明らかである。
　このとき、「前記各処理」は「異なる時刻に行われる」ものである。よって、それぞれ、「アドレス変換したバイト毎の出力を前記多数のルックアップテーブルを格納するメモリのアドレスとして当該メモリを読み出すことに基づいて」行われる「ラウンド毎にラウンドキーに対し巡回的な展開を実施して前記キーストレージに格納するラウンドキー生成処理」と「前記データブロックが前記サブバイト変換の処理を経て前記シフトロウ変換の処理」、「前記ミックスカラム変換されて前記ラウンドキーが付加される」処理、及び、前記「サブバイト変換の処理」と前記「シフトロウ変換の処理」と前記「前記ミックスカラム変換されて前記ラウンドキーが付加される」処理を「所定回数繰り返す」ことで「ＡＥＳ暗号化」した「データブロック」を出力する処理とは、タイムシェアリングされて「行われる」ものである。
　すなわち、前記「ラウンド毎にラウンドキーに対し巡回的な展開を実施して前記キーストレージに格納するラウンドキー生成処理」は、「前記ミックスカラム変換されて前記ラウンドキーが付加される」処理を実施する時に、「多数のルックアップテーブル」にデータブロックのデータが供給されて、変換されたデータを「読み出す」処理を実施するに際して生じる空き時間を利用して「行われる」と云い得るものである。
　よって、引用発明において、「前記各処理は、前記アドレス変換回路でアドレス変換したバイト毎の出力を前記多数のルックアップテーブルを格納するメモリのアドレスとして当該メモリを読み出すことに基づいて、異なる時刻に行われる」ことと、補正後の発明において、「前記処理手段によるデータ処理時、前記所定数のデータ変換手段にデータが入力され、変換されたデータが出力されることにより発生する空き時間を利用して、前記所定数のデータ変換手段によって、キーデータを巡回させて展開し、前記キーレジスタに記憶されたキーを更新させる」こととは、前記処理手段によるデータ処理時、複数のデータ変換テーブルにデータが入力され、変換されたデータが出力されることにより発生する空き時間を利用して、前記複数のデータ変換テーブルによって、キーデータを巡回させて展開し、前記キーレジスタに記憶されたキーを更新させる点で、共通する。
　
　以上から、補正後の発明と引用発明とは、以下の点で一致し、また、相違する。
　
（一致点）
　データ変換テーブルによりデータを変換するデータ変換手段と、変換されたデータとキーとを演算する処理手段と、前記キーを記憶するキーレジスタとを有し、前記データ変換手段によるデータ変換及び前記処理手段による演算処理を複数ラウンド繰り返すことにより、前記データの暗号化／復号化を行う暗号化／復号化装置であって、
　前記データ変換テーブルは所定列のデータが供給されるとともに、複数設けられており、前記データ変換手段は前記データの変換及び前記キーの展開とで兼用され、
　前記複数のデータ変換テーブルを利用して変換されたデータは、前記処理手段に供給され、前記複数のデータ変換テーブルを利用して展開されたキーは、前記キーレジスタに供給する構成とされており、
　前記処理手段によるデータ処理時、前記複数のデータ変換テーブルにデータが入力され、変換されたデータが出力されることにより発生する空き時間を利用して、前記複数のデータ変換テーブルによって、キーデータを巡回させて展開し、前記キーレジスタに記憶されたキーを更新させる制御手段を有することを特徴とする暗号化／復号化装置。
　
（相違点１）
　補正後の発明の「データ変換手段」が「所定列のデータを同時に変換可能な構成とされて」いるのに対して、引用発明の「メモリ」が備える「多数のルックアップテーブル」に処理単位として少なくとも４バイトのデータが供給される点。
　
（相違点２）
　補正後の発明は「前記列と同じ所定数」の「データ変換手段」が「設けられて」いるのに対して、引用発明は「多数のルックアップテーブルを含むメモリ」を「備える」点。
　
（相違点３）
　補正後の発明においては、「前記所定数のデータ変換手段」により「変換されたデータ」と「展開されたキー」が得られるのに対して、引用発明においては、「多数のルックアップテーブル」を利用することで「前記シフトロウ変換処理されたデータ」と「巡回的な展開が実施されたラウンドキー」が得られる点。
　
（相違点４）
　補正後の発明は「前記所定数のデータ変換手段にデータが入力され、変換されたデータが出力される」とともに、「前記所定数のデータ変換手段によって、キーデータを巡回させて展開させる」のに対して、引用発明は「前記アドレス変換回路でアドレス変換したバイト毎の出力を前記多数のルックアップテーブルを格納するメモリのアドレスとして当該メモリを読み出す」ことに基づいて「前記各処理」を実行する点。
　
（２−３）判断
相違点１〜４に対して
　引用文献には、「パラレルルックアップテーブルシステムは、アドレス変換回路と、多数のルックアップテーブルを含むメモリとを備える再構成可能なシステム」であることは明記されているものの、前記「多数のルックアップテーブル」をどのように利用して、「サブバイト変換処理」、「シフトロウ変換処理」及び「ラウンドキー生成処理」を行うのかは、十分には記載されていない。
　したがって、引用発明において、処理単位として供給された少なくとも４バイトのデータを同時に変換可能であるのか、「前記アドレス変換回路でアドレス変換したバイト毎の出力を前記パラレルルックアップテーブルを格納するメモリのアドレスとして当該メモリを読み出す」処理に前記「多数のルックアップテーブル」をどのように利用しているのかは、不明である。
　
　そこで、当業者の通常の知識について検討する。
　
　本願出願前に頒布された刊行物である、特開平１１−０２４５５９号公報には、図面とともに以下の事項が記載されている。
ア．「【００１９】……（中略）……
非線形変換手段
ＤＥＳ暗号のＳ−ｂｏｘの１つの要素
【００２０】ここで、
非線形変換手段３４３〜３４６は４つ並列に配置されており
並列実行が可能
　
　すなわち、暗号化装置において、非線形変換のためのＳ−ｂｏｘを並列に配置することにより、当該非線形変換を並列実行することは、暗号化技術において常套手段である。
　
　そして、同様に本願出願前に頒布された刊行物である、佐藤証　他著、“Rijndaelの小型ハードウェア実装”、マルチメディア，分散，協調とモバイル(ＤＩＣＯＭＯ 2001)シンポジウム論文集、社団法人情報処理学会、2001年6月27日発行、情報処理学会シンポジウムシリーズVol.2001、No.7、P.663〜668には、図面とともに以下の事項が記載されている。
イ．「これに対し
RijndaelのＳＰＮ構造
一回の繰り返し処理で全データを変換する
S-Box(正確には８ビットの処理ブロックが１６個並べられている)が必要
ウ．「３　Ｓ−Ｂｏｘの小型化
　３．１　合成体を用いた乗法逆元演算
　
Rijndaelのハードウェア実装においては，S-Boxがデータパス上で大きな割合を占める
エ．「３．２　Ｓ−Ｂｏｘ回路の構成結果
　前節で述べた合成体上の演算を利用したS-Boxを，0.18μmＣＭＯＳスタンダードセル・ライブラリで実装した結果を表１に示す．１バイト入出力あたり452gate(２入力ＮＡＮＤ換算)と小規模な回路で，暗号化と復号化の両方の処理を行うことができる．またaffine変換やセレクタを含まない乗法逆元演算部分は，わずか264gateであった．」（第６６６頁左欄下から９〜３行目）
オ．「４　全体回路構成と性能評価
　４．１　データパス
　図５は今回の実装におけるデータパス部で，小型化を目的としてできる限りリソースの共有を行い，暗号化と復号化を同一ハードウェアで実現したものである．
１ラウンド分の128ビットデータの処理は４分割され，32ビット毎に４サイクルで処理される．
　「暗号／復号化部」ではデータ保持用に128ビットのシフトレジスタを持ち，それ自身でShiftRows変換のローテーションが実行できる．それに続いて
４バイト(32ビット)ごとにS-Boxによる変換SubBytes(復号化ではその逆変換lnvSubBytes)が行われる．
　暗号化と復号化は２：１セレクタで切り替える．暗号化では
　　逆元演算χ−１ → affine変換 → MixColumns
のパスが，復号化では
　　逆affine変換 → χ−１ → InvMixColumns
が選択される．なお，正確には逆元演算χ−１の一部である同形写像δ−１は，逆affine変換とマージされている．さらにセレクタの段数を減らしてクリティカルパスを短くし，かつMixColumnsとInvMixColumnsの演算回路を部分的に共有する工夫も行っている．そして復号化時にはS-Box通過前の値をデータレジスタに格納し，通常はS-Boxの前に置かれるInvMixColumunsを暗号化と同じ位置(S-Boxの後)に移動している．この変更により復号化の副鍵生成にもInvMixColumnsが並列に必要となるが，先に述べたようなセレクタの削減や回路の共有で相殺され，回路の増加はほとんどない．」（第６６６頁右欄第１８行〜第６６７頁左欄第１３行）
カ．「「鍵スケジューリング部」では，
１ラウンド分の128ビットの副鍵生成に，「暗号化／復号化部」のデータパスにあるs-Boxを流用している．したがって１ラウンド分の処理は，Ｓ−Ｂｏｘが「暗号化／復号化部」に４サイクル，「鍵スケジューリング部」に１サイクル使用されるため，計５サイクルを要する．なお，「鍵スケジューリング部」がＳ−ｂｏｘを使用している間，「暗号／復号化部」ではＳｈｉｆｔＲｏｗｓ変換が並列して実行される．
キ．図５から、並列接続された４個のＳ−Ｂｏｘにより、供給された３２ビットのデータの逆元演算χ−１が、８ビットづつ並列実行されていることが見て取れる。
　
　同じく、本願出願前に頒布された刊行物である、佐藤証　他著、“次世代共通鍵暗号ＡＥＳの小型回路アーキテクチャ”、第63回(平成13年後期)全国大会講演論文集（３）、社団法人情報処理学会、2001年9月26日発行、P.3-509〜3-510には、図面とともに以下の事項が記載されている。
ク．「本論文では，128ビットデータを32ビット毎に分け１ラウンドあたり５クロックで処理し，かつ暗号化と復号化を同じデータパスで実行する小型のＡＥＳ回路アーキテクチャを提案する．」（第３−５０９頁左欄第１５〜１７行）
ケ．「２　ＡＥＳのアルゴリズム
　図２にデータ長128ビット，鍵長128ビットのＡＥＳの暗号化アルゴリズムを示す．１１箇所のAddRoundKeyで，図３の鍵スケジューリングによって順次生成されるラウンド鍵が128ビットずつ入力され，データとＸＯＲされる．他の
基本変換SubBytes，ShiftRows，MixColumnsにおいては，128ビットを１６ブロックに分けた１バイト(８ビット)が処理の基本単位
　
SubBytes変換は１バイト入出力の非線形変換を行うS-Boxを１６個並べたもの
コ．「３　データパス・アーキテクチャ
　図４に
提案するＡＥＳハードウェア・アーキテクチャを示す．この構成は128ビットのデータを一度に処理する代わりに，32ビットずつ４回に分けることで回路サイズを削減する
　以下，提案するアーキテクチャにおけるデータフローと，各部の詳細を説明する．暗号化においてデータは128ビットのシフトレジスタに保持され，１サイクルで全ビットのShiftrows(復号化ではInvshiftrows)オペレーションが実行される．そして，5:1セレクタを通って32ビットごとにSubbytes(またはInvsubbytes)変換，Mixcolumns(またはInvmixcolumns)へと続く．ここでShiftRowsとSubbytesの順序が図２と異なっているが，この変更は演算結果には影響を与えない．
　SubBytes変換中のS-Boxのハードウェア実装では，通常はaffine変換と同一化した256（＝2８）エントリ×バイトのテーブルが用いられる．しかし，その方法では組み合わせ回路部の大半がS−Boxで占められてしまい，また暗号化と復号化で別々のテーブルが必要となる．そこで，本アーキテクチャでは，逆元演算とaffine変換を切り離して実装し，逆減演算部を暗号化と復号化で共有している．そして，暗号化では
　　逆元演算χ−１ → affine変換 → MixColumns
のパスが，復号化では
　　逆affine変換 → χ−１ → InvMixColumns
が選択される．復号化においてInvMixColumnsは本来InvSubBytesの前に行われるが，上記のような演算順序に変更することでセレクタを省略し，クリティカルパスを短縮できる．この変更により鍵スケジューリング部にもInvMixColumnsが必要となるが，
暗号化／復号化部のInvMixColumunsがMixColumnsと共用される
　なお，以上のSubBytes変換は，鍵スケジューリングで１ラウンド分の128ビットの副鍵を生成するためにも使用される．従って１ラウンド分の処理には，Subbytes(またはInvsubytes)が
暗号化／復号化部に４サイクル，鍵生成部に１サイクル必要となり，計５サイクルを要する．
　以上が１ラウンド分の処理の概要である．そのほか，暗号／復号化の前処理として，入力データとラウンド鍵との128ビットＸＯＲ(AddRoundKey処理)が行われ，最終ラウンドではMixcolumns(またはInvmixcolunlns)が省略される．これは図４のAddRoundKey直前の5:1セレクタで切り替えられる．前処理のAddRoundKeyも32ビットずつ処理されるため４サイクルを要するが，このときは変換前の鍵をそのまま使用するため，S−Boxによる変換は行われない．このことから暗号化全体のサイクル数は４＋５×10＝54となる．また，復号化も同じサイクル数であるが，最初に一度だけ１０サイクルかけて暗号化最終段の副鍵を生成しておく必要がある．」（第３−５１０頁の左欄第４行〜右欄第８行）
サ．「図４では
４バイト分のS-Boxを用いた
シ．図４から、並列接続された４個のＳ−Ｂｏｘにより、供給された３２ビットのデータの逆元演算χ−１が、８ビットづつ並列実行されていることが見て取れる。
　
　上記キ〜シから、ＡＥＳ暗号化方式としてラインデール暗号化方式を採用した暗号化／復号化装置において、従来、８ビットを基本単位とするＳ−Ｂｏｘを多数必要としていた点を改善するために、
・供給された１ラウンド分１２８ビットのデータブロックを一度に暗号化／復号処理する代わりに、データブロックを４分割して、分割された３２ビット(４バイト)のデータ毎に４サイクルで暗号化／復号処理を行うこと、
・８ビットを基本単位とするＳ−Ｂｏｘを４個並列に接続して、前記分割された３２ビットのデータを各Ｓ−Ｂｏｘに供給することで、逆元演算を並列処理させること、
は本願出願時点では周知技術であった。
　
　ここで、引用発明において、「シフトロウ変換処理」は「サブバイト変換された行列データを当該行列の行毎に所定バイト分シフトさせる」ものである。
　前記「（２−１）引用発明」の項の「ｂ−２」で認定したように、前記「シフトロウ変換処理」を実行する「シフトロウ変換手段」は、前記「ｂ−２」で挙げた引用文献のＣ、Ｄ及びＧのFig.４及びFig.８の図示態様のとおり、「データブロックの全データをバイト毎にアドレス変換回路によりアドレス変換したバイト毎の出力を、シフトロウパラレルルックアップテーブルを格納するメモリのアドレスとして当該メモリを読み出すことにより、Ｓ−ＢＯＸ変換手段から供給された行列データである前記データブロックのデータを当該行列の行毎に所定バイト分シフトさせるシフトロウ変換を行い、当該シフトロウ変換されたデータをミックスカラム変換手段に供給する」手段である。すなわち、「データブロック」それ自体を処理単位としている。しかしながら、引用文献において、前記Ｃ及びＤの記載は、同「ｂ−４」で認定したように「Ｓ−ＢＯＸ変換、シフトロウ変換及びラウンドキー生成の各処理で、同一のパラレルルックアップテーブルを共有すること」が開示されたＥの記載の前に記載されていることから、前記「Ｓ−ＢＯＸ変換、シフトロウ変換及びラウンドキー生成の各処理で、同一のパラレルルックアップテーブルを共有すること」を前提とした記載であるとは、必ずしも云えない。
　ところで、前記「シフトロウ変換処理」は「サブバイト変換された行列データを当該行列の行毎に所定バイト分シフトさせる」ものである以上、「行列データ」の各行を処理単位として、本来は各行毎に独立して行われるものである。
　そして、引用発明の「パラレルルックアップテーブルシステムを、データブロックをワード単位でバイト毎にサブバイト変換するサブバイト変換処理と、サブバイト変換された行列データを当該行列の行毎に所定バイト分シフトさせるシフトロウ変換処理と、ラウンド毎にラウンドキーに対し巡回的な展開を実施して前記キーストレージに格納するラウンドキー生成処理とで共有」するように、当該「パラレルルックアップテーブルシステム」を「再構成」する際に、「シフトロウ変換処理」の処理単位が、「ワード」を「単位」とする「サブバイト変換処理」とは異なる「データブロック」であるより、同じ「ワード」であるほうが、「再構成」の処理が単純化されることは自明である。
　
　さて、引用発明においては、「メモリ」は「多数のルックアップテーブルを含む」ものである。
　しかしながら、前記「メモリ」に「多数のルックアップテーブル」を格納するか、「ルックアップテーブル」を格納した「メモリ」を多数設けるかは、当業者が適宜選択し得る事項にすぎないものである。
　
　したがって、引用発明において、前記周知技術を適用して、
　前記「メモリ」に「多数のルックアップテーブル」を格納することに代えて、「ルックアップテーブル」を格納した「メモリ」を多数設けるとともに、前記「多数」を、前記「多数」の「メモリ」に少なくとも供給される「ワード」のデータの「バイト」数である４、すなわち、「行列」の列の数とすることによって、
　前記「行列」の列の数である４個の「メモリ」に「前記アドレス変換回路でアドレス変換したバイト毎の出力」をそれぞれ供給して、前記「行列」の列の数である４個の「メモリ」の「アドレスとして当該メモリを読み出す」ことに基づいて「前記各処理」を実行し、
　前記「行列」の列の数である４個の「メモリ」に格納された「ルックアップテーブル」を利用した変換処理を並列処理させる、すなわち、当該変換を同時に行わせ、
　前記４個の「メモリ」による前記並列処理の結果を、「ミックスカラム変換手段」ないし「キーストレージ」に供給すること、
当業者が容易に想到し得たものと認められる。
　
　そして、補正後の発明の効果は、引用発明及び前記周知技術に基づいて当業者が予期し得たものと認められる。
　
　よって、相違点１乃至相違点４は格別のものでない。
　
（２−４）回答書の主張
　なお、審判請求人は、平成２２年９月９日付けの回答書において、
「本願の暗号化／復号化装置は、データ変換手段であるｓ−ｂｏｘ１３−１〜１３−４からの出力がシフトロー／ミックスカラム処理部とラウンドキーレジスタの両者に供給される構成です。すなわち本願では、シフトロー／ミックスカラム処理部とラウンドキーには、同じｓ−ｂｏｘ１３−１〜１３−４からの出力が供給されます。
 　この構成は引用文献１には記載されていません。またその他の引用文献にも記載されていません。」、
と主張している。
　
　しかしながら、引用文献のFig.６には、パラレルルックアップテーブル(parallel look-up table)６０の出力は、シフトロウ変換を実施するためのパラレルルックアップテーブル６２とキージェネレータ６８に供給されるとともに、シフトロウ変換を実施するためのパラレルルックアップテーブル６２の出力は、ミックスカラム及びキー付加演算を実施するためのガロアフィールド乗算器６４と前記キージェネレータ６８に供給されることが記載されている。
　したがって、前記パラレルルックアップテーブル６０、シフトロウ変換を実施するためのパラレルルックアップテーブル６２及びキージェネレータ６８で「多数のルックアップテーブル」を供給する引用発明においては、「前記シフトロウ変換処理されたデータをミックスカラム変換手段に供給するとともに、前記ラウンドキー生成処理で巡回的な展開が実施されたラウンドキーを前記キーストレージに格納」するのであるから、「パラレルルックアップテーブルシステム」の出力は「ミックスカラム変換手段」と「キーストレージ」を有するキージェネレータに供給されることは明らかである。
　
　したがって、仮に「本願の請求項１におけるデータ変換手段と、処理部と、キーレジスタとの関係を明確にする補正」がなされたとしても、そのような補正がなされた補正後の発明は、依然として、引用発明及び前記周知技術に基づいて当業者が容易に発明をすることができたものと認められる。
　
（２−５）独立特許要件についてのまとめ
　以上のとおり、補正後の発明は、引用発明及び周知技術から当業者が容易に発明をすることができたものであるから、特許法第２９条第２項に規定により、特許出願の際独立して特許を受けることができるものではない。
　よって、本件補正は、特許法第１７条の２第５項の規定により準用する特許法第１２６条第５項の規定に適合していない。
　
　
３．小括
　以上のとおりであるから、本件補正は、平成１８年法律第５５号改正附則第３条第１項によりなお従前の例によるとされる同法による改正前の特許法第１７条の２第５項において準用する同法第１２６条第５項の規定に違反するので、同法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　よって、補正却下の決定の結論のとおり、決定する。
　
　
第３．本願発明について
１．本願発明
　平成２０年１２月１５日付けの手続補正は上記のとおり却下されたので、本願の請求項１に係る発明（以下、「本願発明」という。）は、平成２０年９月１日付けの手続補正書により補正された明細書、特許請求の範囲及び図面の記載からみて、その特許請求の範囲の請求項１に記載された以下のとおりのものと認める。
「データ変換テーブルによりデータを変換するデータ変換手段と、変換されたデータとキーとを演算する処理手段と、前記キーを記憶するキーレジスタとを有し、前記データ変換手段によるデータ変換及び前記処理手段による演算処理を複数ラウンド繰り返すことにより、前記データの暗号化／復号化を行う暗号化／復号化装置であって
　前記データ変換手段を複数設け、前記複数のデータ変換手段からの出力を前記処理手段及び前記キーレジスタに供給する構成とされており、
　前記処理手段によるデータ処理時、前記複数のデータ変換手段にデータが入力され、変換されたデータが出力されることにより発生する空き時間を利用して、前記複数のデータ変換手段によって、キーデータを変換して、前記キーレジスタに記憶されたキーを更新させる制御手段を有することを特徴とする暗号化／復号化装置。」
　
　
２．引用発明
　引用発明は、前記「第２．平成２０年１２月１５日付けの手続補正についての補正却下の決定」の「２．補正の適否」の「（２）独立特許要件」の「（２−１）引用発明」の項で認定したとおりである。
　
　
３．対比
　本願発明は、
ａ．補正後の発明の「前記データ変換手段は、所定列のデータを同時に変換可能な構成とされており」における、「所定列のデータを同時に変換可能な構成とされており」の限定を削除し、
ｂ．補正後の発明の「前記データ変換手段」は「前記列と同じ所定数設けられており」における、「前記列と同じ所定」数の限定を削除して、単に「複」数とし、
ｃ．補正後の発明の「前記所定数のデータ変換手段により変換されたデータは、前記処理手段に供給され、前記所定数のデータ変換手段により展開されたキーは、前記キーレジスタに供給する」における、「変換されたデータ」及び「展開されたキー」を単に「出力」に上位概念化し、
ｄ．補正後の発明の「前記データ変換手段」は「前記データの変換及び前記キーの展開とで兼用され」における、「前記データの変換及び前記キーの展開とで兼用され」の限定を削除し、
ｅ．補正後の発明の「キーデータ」を「巡回させて展開」するにおける、「巡回させて展開」を「変換」に上位概念化した、
ものである。
　
　本願発明と引用発明とを対比する。
　本願発明において、前記ａの「所定列のデータを同時に変換可能な構成とされており」の限定が削除されたことにより、前記「第２．平成２０年１２月１５日付けの手続補正についての補正却下の決定」の「２．補正の適否」の「（２）独立特許要件」の「（２−２）対比」の項で記載した引用発明と補正後の発明との相違点のうち、「相違点１」の「補正後の発明の「データ変換手段」が「所定列のデータを同時に変換可能な構成とされて」いるのに対して、引用発明の「メモリ」が備える「多数のルックアップテーブル」に処理単位として少なくとも４バイトのデータが供給される点」は、本願発明においては、相違点ではない。
　
　したがって、本願発明と引用発明とは、以下の点で一致し、また、相違する。
　
（一致点）
　データ変換テーブルによりデータを変換するデータ変換手段と、変換されたデータとキーとを演算する処理手段と、前記キーを記憶するキーレジスタとを有し、前記データ変換手段によるデータ変換及び前記処理手段による演算処理を複数ラウンド繰り返すことにより、前記データの暗号化／復号化を行う暗号化／復号化装置であって、
　前記データ変換テーブルを複数設け、前記複数のデータ変換テーブルからの出力を前記処理手段及び前記キーレジスタに供給する構成とされており、
　前記処理手段によるデータ処理時、前記複数のデータ変換テーブルにデータが入力され、変換されたデータが出力されることにより発生する空き時間を利用して、前記複数のデータ変換テーブルによって、キーデータを変換して、前記キーレジスタに記憶されたキーを更新させる制御手段を有することを特徴とする暗号化／復号化装置。
　
（相違点２’）
　補正後の発明は「データ変換手段を複数設け」ているのに対して、引用発明は「多数のルックアップテーブルを含むメモリ」を「備える」点。
　
（相違点３’）
　補正後の発明においては、「前記複数のデータ変換手段からの出力を前記処理手段及び前記キーレジスタに供給する構成とされて」いるのに対して、引用発明においては、「多数のルックアップテーブル」を利用することで「前記シフトロウ変換処理されたデータ」と「巡回的な展開が実施されたラウンドキー」が得られる点。
　
（相違点４’）
　補正後の発明は「前記複数のデータ変換手段にデータが入力され、変換されたデータが出力される」とともに、「前記複数のデータ変換手段によって、キーデータを変換する」のに対して、引用発明は「前記アドレス変換回路でアドレス変換したバイト毎の出力を前記多数のルックアップテーブルを格納するメモリのアドレスとして当該メモリを読み出す」ことに基づいて「前記各処理」を実行する点。
　
　
４．判断
　本願発明は、補正後の発明の発明特定事項を削除ないし上位概念化したものである。
　したがって、前記相違点２’乃至相違点４’は、補正後の発明と引用発明との相違点である相違点２乃至相違点４と、実質的には変わるところがない。
　したがって、補正後の発明が、前記「第２．平成２０年１２月１５日付けの手続補正についての補正却下の決定」の「２．補正の適否」の「（２）独立特許要件」における各項で検討したと同じ理由により、本願発明は、引用発明及び周知技術に基づいて当業者が容易に発明をすることができたものである。
　
　
５．むすび
　以上のとおり、本願発明は、引用発明及び周知技術に基づいて当業者が容易に発明をすることができたものと認められるから、特許法第２９条第２項の規定により特許を受けることができない。
　
　よって、結論のとおり審決する。