【事件の表示】
　特願２００９−５５２９３５「新暗号規格（ＡＥＳ）向けの柔軟なアーキテクチャおよび命令」拒絶査定不服審判事件〔平成２０年１０月　９日国際公開，ＷＯ２００８／１２１６１４，平成２２年　６月１０日国内公表，特表２０１０−５２０５１７〕について，次のとおり審決する。
【結　論】
　本件審判の請求は，成り立たない。
【理　由】
第１．手続の経緯
　本願は，２００８年３月２５日（パリ条約による優先権主張外国庁受理２００７年３月２８日　アメリカ合衆国）を国際出願日とする出願であって，
　平成２１年９月３日付けで特許法第１８４条の４第１項の規定による明細書，請求の範囲，及び，図面（図面の中の説明に限る）の日本語による翻訳文が提出されると共に，同日付けで審査請求と手続補正がなされ，平成２３年１２月２２日付けで審査官により拒絶理由が通知され，これに対して平成２４年５月１０日付けで意見書が提出されると共に手続補正がなされたが，平成２４年６月４日付けで審査官により拒絶査定がなされ（発送；平成２４年６月１２日），これに対して平成２４年１０月１１日付けで審判請求がなされると共に手続補正がなされ，平成２５年３月４日付けで審査官により特許法第１６４条第３項の規定に基づく報告がなされ，平成２５年４月１５日付けで当審により特許法第１３４条第４項の規定に基づく審尋がなされ，平成２５年７月９日付けで回答書の提出があったものである。
　
第２．平成２４年１０月１１日付けの手続補正の却下の決定
　
　［補正却下の決定の結論］
　
　平成２４年１０月１１日付け手続補正を却下する。
　
　［理由］
　
１．補正の内容
　平成２４年１０月１１日付けの手続補正（以下，「本件手続補正」という）により，平成２４年５月１０日付けの手続補正により補正された特許請求の範囲，
「　【請求項１】
　新暗号規格命令セット（ＡＥＳ命令セット）を実行する実行部を備える装置であって，
　前記ＡＥＳ命令セットは，少なくとも１つのシングルラウンドのＡＥＳラウンド命令および少なくとも１つのシングルラウンドのＡＥＳ鍵生成命令を含み，前記実行部にプログラム可能な数のＡＥＳラウンドを実行させ，
　前記ＡＥＳ命令セットは，前記プログラム可能な数の前記ＡＥＳラウンドを実行させる場合であって，前記ＡＥＳラウンドの実行回数が１回目より多い場合に，前記実行部に，
　鍵をレジスタにロードさせ，
　前記鍵が複数の前記ＡＥＳラウンドに対して利用される単一の鍵である場合に，前記鍵に基づいて複数の前記ＡＥＳラウンドのためのラウンド鍵スケジュールを予め計算し，前記鍵が異なるＡＥＳラウンドにおいて使用される複数の異なる鍵である場合に，少なくとも１つの前記ＡＥＳラウンドにおいて暗号化および復号化のうちの少なくとも１つを実行する前に，前記ＡＥＳラウンドのうちの少なくとも１つのためにオンザフライでラウンド鍵を計算することによって，前記プログラム可能な数の前記ＡＥＳラウンドで利用するラウンド鍵を生成させ，
　前記ＡＥＳラウンドのそれぞれにおいて，前記ＡＥＳラウンドの入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して一連のＡＥＳラウンド演算を行わせて，次のＡＥＳラウンドの次の入力または前記ＡＥＳ命令の結果を提供させる，装置。
　　【請求項２】
　前記ＡＥＳ命令セットは，前記プログラム可能な数の前記ＡＥＳラウンドを実行させる場合であって，前記ＡＥＳラウンドの実行回数が１回目である場合，前記一連のＡＥＳラウンド演算を行う前に，前記実行部に，前記鍵に基づいて前記ＡＥＳラウンドのためのラウンド鍵を予め計算させ，前記ＡＥＳラウンドについて予め計算された前記ラウンド鍵を前記レジスタ内にロードさせる，請求項１に記載の装置。
　　【請求項３】
　前記一連のＡＥＳラウンド演算により，前記実行部は，
　前記ＡＥＳラウンドの入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して排他的論理和（ＸＯＲ）演算を行って，中間値を生成し，
　ルックアップテーブルに格納されている値に基づいて，前記中間値の各バイトに対して置換演算を行い，
　前記置換演算の結果に，前記中間値の行をシフトさせるビット線形変換を行う，請求項２に記載の装置。
　　【請求項４】
　前記ＡＥＳラウンドの実行回数−１に対して前記一連のＡＥＳラウンド演算を行うことで，前記実行部は，
　前記ＡＥＳラウンドの前記入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して排他的論理和（ＸＯＲ）演算を行って，中間値を生成し，
　ルックアップテーブルに格納されている値に基づいて，前記中間値の各バイトに対して置換演算を行い，
　前記置換演算の結果に，前記中間値の行をシフトさせるビット線形変換を行い，
　前記置換演算の結果に，前記中間値の列同士を混合させるビット線形変換を行う，請求項１に記載の装置。
　　【請求項５】
　前記プログラム可能な数のＡＥＳラウンドが最終ＡＥＳラウンドを含み，前記最終ＡＥＳラウンドにおいて，前記一連のＡＥＳラウンド演算は，前記実行部に，
　前記ラウンドの入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して排他的論理和（ＸＯＲ）演算を行わせて，中間値を生成させ，
　ルックアップテーブルに格納されている値に基づいて，前記中間値の各バイトに対して置換演算を行わせ，
　前記置換演算の結果に，前記中間値の行をシフトさせるビット線形変換を行わせる，請求項４に記載の装置。
　　【請求項６】
　前記結果は暗号化された値である，請求項１から５のいずれか１項に記載の装置。
　　【請求項７】
　前記結果は復号化された値である，請求項１から５のいずれか１項に記載の装置。
　　【請求項８】
　第１のＡＥＳラウンドの鍵および入力がレジスタファイルに格納されている，請求項１から７のいずれか１項に記載の装置。
　　【請求項９】
　前記レジスタファイルは複数の１２８ビットレジスタを含む，請求項８に記載の装置。
　　【請求項１０】
　少なくとも１つのシングルラウンドの新暗号規格ラウンド命令（ＡＥＳラウンド命令）および少なくとも１つのシングルラウンドのＡＥＳ鍵生成命令を含むＡＥＳ命令セットを用いて，プログラム可能な数のＡＥＳラウンドを実行する段階を備え，
　前記ＡＥＳラウンドの実行回数が１回目より多い場合に，
　鍵をレジスタにロードする段階と，
　前記鍵が複数の前記ＡＥＳラウンドに対して利用される単一の鍵である場合に，前記鍵に基づいて複数の前記ＡＥＳラウンドのためのラウンド鍵スケジュールを予め計算し，前記鍵が異なるＡＥＳラウンドにおいて使用される複数の異なる鍵である場合に，少なくとも１つの前記ＡＥＳラウンドにおいて暗号化および復号化のうちの少なくとも１つを実行する前に，前記ＡＥＳラウンドのうちの少なくとも１つのためにオンザフライでラウンド鍵を計算することによって，前記プログラム可能な数のＡＥＳラウンドで利用するラウンド鍵を生成する段階と，
　前記ＡＥＳラウンドのそれぞれにおいて，前記ＡＥＳラウンドの入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して一連のＡＥＳラウンド演算を行い，次のＡＥＳラウンドの次の入力または前記ＡＥＳ命令の結果を提供する段階と，を備える方法。
　　【請求項１１】
　前記ＡＥＳラウンドの実行回数が１回目である場合，前記一連のＡＥＳラウンド演算を行う前に，前記鍵に基づいて前記ＡＥＳラウンドのためのラウンド鍵を予め計算し，前記ＡＥＳラウンドについて予め計算された前記ラウンド鍵を前記レジスタ内にロードする段階を備える，請求項１０に記載の方法。
　　【請求項１２】
　前記一連のＡＥＳラウンド演算を行う段階は，
　前記ＡＥＳラウンドの入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して排他的論理和（ＸＯＲ）演算を行って，中間値を生成する段階と，
　ルックアップテーブルに格納されている値に基づいて，前記中間値の各バイトに対して置換演算を行う段階と，
　前記置換演算の結果に，前記中間値の行をシフトさせるビット線形変換を行う段階と，を有する，請求項１１に記載の方法。
　　【請求項１３】
　前記ラウンドの数１に対して前記一連のＡＥＳラウンド演算を行う段階は，
　前記ＡＥＳラウンドの前記入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して排他的論理和（ＸＯＲ）演算を行って，中間値を生成する段階と，
　ルックアップテーブルに格納されている値に基づいて，前記中間値の各バイトに対して置換演算を行う段階と，
　前記置換演算の結果に，前記中間値の行をシフトさせるビット線形変換を行う段階と，
　前記置換演算の結果に，前記中間値の列同士を混合させるビット線形変換を行う段階と，を有する，請求項１０に記載の方法。
　　【請求項１４】
　前記プログラム可能な数のＡＥＳラウンドが最終ＡＥＳラウンドを含み，前記最終ＡＥＳラウンドにおいて，前記一連のＡＥＳラウンド演算を行う段階は，
　前記ラウンドの入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して排他的論理和（ＸＯＲ）演算を行って，中間値を生成する段階と，
　ルックアップテーブルに格納されている値に基づいて，前記中間値の各バイトに対して置換演算を行う段階と，
　前記置換演算の結果に，前記中間値の行をシフトさせるビット線形変換を行う段階と，を有する，請求項１３に記載の方法。
　　【請求項１５】
　前記結果は暗号化された値である，請求項１０から１４のいずれか１項に記載の方法。
　　【請求項１６】
　前記結果は復号化された値である，請求項１０から１４のいずれか１項に記載の方法。
　　【請求項１７】
　第１のＡＥＳラウンドの鍵および入力がレジスタファイルに格納されている，請求項１０から１６のいずれか１項に記載の方法。
　　【請求項１８】
　前記レジスタファイルは複数の１２８ビットレジスタを含む，請求項１７に記載の方法。
　　【請求項１９】
　請求項１０から１７のいずれか１項に記載の方法を実行する手段を備えるシステム。
　　【請求項２０】
　コンピュータに，新暗号規格命令セット（ＡＥＳ命令セット）を用いて，プログラム可能な数のＡＥＳラウンドを実行させるためのプログラムであって，
　前記プログラム可能な数の前記ＡＥＳラウンドを実行させる場合であって，前記ＡＥＳラウンドの実行回数が１回目より多い場合に，鍵をレジスタにロードし，前記鍵が複数の前記ＡＥＳラウンドに対して利用される単一の鍵である場合に，前記鍵に基づいて複数の前記ＡＥＳラウンドのためのラウンド鍵スケジュールを予め計算し，前記鍵が異なるＡＥＳラウンドにおいて使用される複数の異なる鍵である場合に，少なくとも１つの前記ＡＥＳラウンドにおいて暗号化および復号化のうちの少なくとも１つを実行する前に，前記ＡＥＳラウンドのうちの少なくとも１つのためにオンザフライでラウンド鍵を計算することによって，前記プログラム可能な数のＡＥＳラウンドで利用するラウンド鍵を生成する手順と，
　前記ＡＥＳラウンドのそれぞれにおいて，前記ＡＥＳラウンドの入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して一連のＡＥＳラウンド演算を行わせて，次のＡＥＳラウンドの次の入力または前記ＡＥＳ命令の結果を提供する手順と，をコンピュータに実行させるためのプログラム。
　　【請求項２１】
　コンピュータに，
　前記ＡＥＳラウンドの実行回数が１回目である場合，前記一連のＡＥＳラウンド演算を行う前に，前記鍵に基づいて前記ＡＥＳラウンドのためのラウンド鍵を予め計算し，前記ＡＥＳラウンドについて予め計算された前記ラウンド鍵を前記レジスタ内にロードする手順，をさらに実行させるための請求項２０に記載のプログラム。」（以下，上記引用の請求項各項を，「補正前の請求項」という）は，
「　【請求項１】
　新暗号規格命令セット（ＡＥＳ命令セット）を実行する実行部を備える装置であって，
　前記ＡＥＳ命令セットは，少なくとも１つのシングルラウンドのＡＥＳラウンド命令および少なくとも１つのシングルラウンドのＡＥＳ鍵生成命令を含み，前記実行部にプログラム可能な数のＡＥＳラウンドを実行させ，
　前記プログラム可能な数の前記ＡＥＳラウンドを実行する場合であって，前記ＡＥＳラウンドを実行する回数が１回より多い場合に，
　前記実行部は，入力鍵をレジスタにロードし，
　前記ＡＥＳ命令セットは，前記実行部に，
　複数のブロックに対して同じ鍵を利用する場合に，前記入力鍵に基づいて複数の前記ＡＥＳラウンドのためのラウンド鍵スケジュールを予め計算し，異なる鍵を利用して各ブロックを暗号化および復号化のうちの少なくとも１つを実行する場合に，少なくとも１つの前記ＡＥＳラウンドにおいて暗号化および復号化のうちの少なくとも１つを実行する前に，前記ＡＥＳラウンドのうちの少なくとも１つのためにオンザフライでラウンド鍵を計算することによって，前記プログラム可能な数の前記ＡＥＳラウンドで利用するラウンド鍵を生成させ，
　前記ＡＥＳラウンドのそれぞれにおいて，前記ＡＥＳラウンドの入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して一連のＡＥＳラウンド演算を行わせて，次のＡＥＳラウンドの次の入力または前記ＡＥＳ命令の結果を提供させる，装置。
　　【請求項２】
　前記ＡＥＳ命令セットは，前記プログラム可能な数の前記ＡＥＳラウンドを実行させる場合であって，前記ＡＥＳラウンドを実行する回数が１回である場合，前記一連のＡＥＳラウンド演算を行う前に，前記実行部に，前記鍵に基づいて前記ＡＥＳラウンドのためのラウンド鍵を予め計算させ，前記ＡＥＳラウンドについて予め計算された前記ラウンド鍵を前記レジスタ内にロードさせる，請求項１に記載の装置。
　　【請求項３】
　前記実行部は，
　前記ＡＥＳラウンドの入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して排他的論理和（ＸＯＲ）演算を行って，中間値を生成し，
　前記一連のＡＥＳラウンド演算により，前記実行部は，
　ルックアップテーブルに格納されている値に基づいて，前記中間値の各バイトに対して置換演算を行い，
　前記置換演算の結果に，前記中間値の行をシフトさせるビット線形変換を行う，請求項２に記載の装置。
　　【請求項４】
　前記実行部は，
　前記ＡＥＳラウンドの前記入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して排他的論理和（ＸＯＲ）演算を行って，中間値を生成し，
　前記実行部は，前記ＡＥＳラウンドを実行する回数−１に対して前記一連のＡＥＳラウンド演算を行うことで，
　ルックアップテーブルに格納されている値に基づいて，前記中間値の各バイトに対して置換演算を行い，
　前記置換演算の結果に，前記中間値の行をシフトさせるビット線形変換を行い，
　前記置換演算の結果に，前記中間値の列同士を混合させるビット線形変換を行う，請求項１に記載の装置。
　　【請求項５】
　前記プログラム可能な数のＡＥＳラウンドが最終ＡＥＳラウンドを含み，前記最終ＡＥＳラウンドにおいて，前記一連のＡＥＳラウンド演算は，前記実行部に，
　ルックアップテーブルに格納されている値に基づいて，前記中間値の各バイトに対して置換演算を行わせ，
　前記置換演算の結果に，前記中間値の行をシフトさせるビット線形変換を行わせる，請求項４に記載の装置。
　　【請求項６】
　前記結果は暗号化された値である，請求項１から５のいずれか１項に記載の装置。
　　【請求項７】
　前記結果は復号化された値である，請求項１に記載の装置。
　　【請求項８】
　第１のＡＥＳラウンドの鍵および入力がレジスタファイルに格納されている，請求項１から７のいずれか１項に記載の装置。
　　【請求項９】
　前記レジスタファイルは複数の１２８ビットレジスタを含む，請求項８に記載の装置。
　　【請求項１０】
　少なくとも１つのシングルラウンドの新暗号規格ラウンド命令（ＡＥＳラウンド命令）および少なくとも１つのシングルラウンドのＡＥＳ鍵生成命令を含むＡＥＳ命令セットを用いて，プログラム可能な数のＡＥＳラウンドを実行する段階を備え，
　前記ＡＥＳラウンドを実行する回数が１回より多い場合に，
　入力鍵をレジスタにロードする段階と，
　複数のブロックに対して同じ鍵を利用する場合に，前記入力鍵に基づいて複数の前記ＡＥＳラウンドのためのラウンド鍵スケジュールを予め計算することによって，前記プログラム可能な数のＡＥＳラウンドで利用するラウンド鍵を生成する段階と，
　異なる鍵を利用して各ブロックを暗号化および復号化のうちの少なくとも１つを実行する場合に，少なくとも１つの前記ＡＥＳラウンドにおいて暗号化および復号化のうちの少なくとも１つを実行する前に，前記ＡＥＳラウンドのうちの少なくとも１つのためにオンザフライでラウンド鍵を計算することによって，前記プログラム可能な数のＡＥＳラウンドで利用するラウンド鍵を生成する段階と，
　前記ＡＥＳラウンドのそれぞれにおいて，前記ＡＥＳラウンドの入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して一連のＡＥＳラウンド演算を行い，次のＡＥＳラウンドの次の入力または前記ＡＥＳ命令の結果を提供する段階と，を備える方法。
　　【請求項１１】
　前記ＡＥＳラウンドを実行する回数が１回である場合，前記一連のＡＥＳラウンド演算を行う前に，前記鍵に基づいて前記ＡＥＳラウンドのためのラウンド鍵を予め計算し，前記ＡＥＳラウンドについて予め計算された前記ラウンド鍵を前記レジスタ内にロードする段階を備える，請求項１０に記載の方法。
　　【請求項１２】
　前記ＡＥＳラウンドの入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して排他的論理和（ＸＯＲ）演算を行って，中間値を生成する段階をさらに有し，
　前記一連のＡＥＳラウンド演算を行う段階は，
　ルックアップテーブルに格納されている値に基づいて，前記中間値の各バイトに対して置換演算を行う段階と，
　前記置換演算の結果に，前記中間値の行をシフトさせるビット線形変換を行う段階と，を有する，請求項１１に記載の方法。
　　【請求項１３】
　前記ＡＥＳラウンドの前記入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して排他的論理和（ＸＯＲ）演算を行って，中間値を生成する段階を更に有し，
　前記ＡＥＳラウンドを実行する回数−１に対して前記一連のＡＥＳラウンド演算を行う段階は，
　ルックアップテーブルに格納されている値に基づいて，前記中間値の各バイトに対して置換演算を行う段階と，
　前記置換演算の結果に，前記中間値の行をシフトさせるビット線形変換を行う段階と，
　前記置換演算の結果に，前記中間値の列同士を混合させるビット線形変換を行う段階と，を有する，請求項１０に記載の方法。
　　【請求項１４】
　前記プログラム可能な数のＡＥＳラウンドが最終ＡＥＳラウンドを含み，前記最終ＡＥＳラウンドにおいて，前記一連のＡＥＳラウンド演算を行う段階は，
　ルックアップテーブルに格納されている値に基づいて，前記中間値の各バイトに対して置換演算を行う段階と，
　前記置換演算の結果に，前記中間値の行をシフトさせるビット線形変換を行う段階と，を有する，請求項１３に記載の方法。
　　【請求項１５】
　前記結果は暗号化された値である，請求項１０から１４のいずれか１項に記載の方法。
　　【請求項１６】
　前記結果は復号化された値である，請求項１０に記載の方法。
　　【請求項１７】
　第１のＡＥＳラウンドの鍵および入力がレジスタファイルに格納されている，請求項１０から１６のいずれか１項に記載の方法。
　　【請求項１８】
　前記レジスタファイルは複数の１２８ビットレジスタを含む，請求項１７に記載の方法。
　　【請求項１９】
　請求項１０から１７のいずれか１項に記載の方法を実行する手段を備えるシステム。
　　【請求項２０】
　コンピュータに，新暗号規格命令セット（ＡＥＳ命令セット）を用いて，プログラム可能な数のＡＥＳラウンドを実行させるためのプログラムであって，
　前記プログラム可能な数の前記ＡＥＳラウンドを実行させる場合であって，前記ＡＥＳラウンドを実行する回数が１回より多い場合に，
　入力鍵をレジスタにロードする手順と，
　複数のブロックに対して同じ鍵を利用する場合に，前記入力鍵に基づいて複数の前記ＡＥＳラウンドのためのラウンド鍵スケジュールを予め計算することによって，前記プログラム可能な数のＡＥＳラウンドで利用するラウンド鍵を生成する手順と，
　異なる鍵を利用して各ブロックを暗号化および復号化のうちの少なくとも１つを実行する場合に，少なくとも１つの前記ＡＥＳラウンドにおいて暗号化および復号化のうちの少なくとも１つを実行する前に，前記ＡＥＳラウンドのうちの少なくとも１つのためにオンザフライでラウンド鍵を計算することによって，前記プログラム可能な数のＡＥＳラウンドで利用するラウンド鍵を生成する手順と，
　前記ＡＥＳラウンドのそれぞれにおいて，前記ＡＥＳラウンドの入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して一連のＡＥＳラウンド演算を行わせて，次のＡＥＳラウンドの次の入力または前記ＡＥＳ命令の結果を提供する手順と，をコンピュータに実行させるためのプログラム。
　　【請求項２１】
　コンピュータに，
　前記ＡＥＳラウンドを実行する回数が１回である場合，前記一連のＡＥＳラウンド演算を行う前に，前記鍵に基づいて前記ＡＥＳラウンドのためのラウンド鍵を予め計算し，前記ＡＥＳラウンドについて予め計算された前記ラウンド鍵を前記レジスタ内にロードする手順，をさらに実行させるための請求項２０に記載のプログラム。」（以下，上記引用の請求項各項を，「補正後の請求項」という）に補正された。
　
２．補正の適否
（１）新規事項
　本件手続補正が，特許法第１８４条の１２第２項により読み替える同法第１７条の２第３項の規定を満たすものであるか否か，即ち，本件手続補正が，平成２１年９月３日付けで提出された明細書，請求の範囲，及び，図面（図面の中の説明に限る）の日本語による翻訳文（以下，これを「当初明細書等」という）に記載した事項の範囲内でなされたものであるかについて，以下に検討する。
　
ア．補正後の請求項１に，
「新暗号規格命令セット（ＡＥＳ命令セット）を実行する実行部を備える装置であって，
　前記ＡＥＳ命令セットは，・・・前記実行部にプログラム可能な数のＡＥＳラウンドを実行させ，・・・
　前記ＡＥＳ命令セットは，前記実行部に，
　複数のブロックに対して同じ鍵を利用する場合に，前記入力鍵に基づいて複数の前記ＡＥＳラウンドのためのラウンド鍵スケジュールを予め計算し，異なる鍵を利用して各ブロックを暗号化および復号化のうちの少なくとも１つを実行する場合に，少なくとも１つの前記ＡＥＳラウンドにおいて暗号化および復号化のうちの少なくとも１つを実行する前に，前記ＡＥＳラウンドのうちの少なくとも１つのためにオンザフライでラウンド鍵を計算することによって，前記プログラム可能な数の前記ＡＥＳラウンドで利用するラウンド鍵を生成させ」，
　と記載され，
　補正後の請求項１０に，
「ＡＥＳ命令セットを用いて，プログラム可能な数のＡＥＳラウンドを実行する段階を備え，・・・
　複数のブロックに対して同じ鍵を利用する場合に，前記入力鍵に基づいて複数の前記ＡＥＳラウンドのためのラウンド鍵スケジュールを予め計算することによって，前記プログラム可能な数のＡＥＳラウンドで利用するラウンド鍵を生成する段階と，
　異なる鍵を利用して各ブロックを暗号化および復号化のうちの少なくとも１つを実行する場合に，少なくとも１つの前記ＡＥＳラウンドにおいて暗号化および復号化のうちの少なくとも１つを実行する前に，前記ＡＥＳラウンドのうちの少なくとも１つのためにオンザフライでラウンド鍵を計算することによって，前記プログラム可能な数のＡＥＳラウンドで利用するラウンド鍵を生成する段階」，
　と記載され，
　補正後の請求項２０に，
「コンピュータに，新暗号規格命令セット（ＡＥＳ命令セット）を用いて，プログラム可能な数のＡＥＳラウンドを実行させるためのプログラムであって，・・・
　複数のブロックに対して同じ鍵を利用する場合に，前記入力鍵に基づいて複数の前記ＡＥＳラウンドのためのラウンド鍵スケジュールを予め計算することによって，前記プログラム可能な数のＡＥＳラウンドで利用するラウンド鍵を生成する手順と，
　異なる鍵を利用して各ブロックを暗号化および復号化のうちの少なくとも１つを実行する場合に，少なくとも１つの前記ＡＥＳラウンドにおいて暗号化および復号化のうちの少なくとも１つを実行する前に，前記ＡＥＳラウンドのうちの少なくとも１つのためにオンザフライでラウンド鍵を計算することによって，前記プログラム可能な数のＡＥＳラウンドで利用するラウンド鍵を生成する手順」，
　と記載されていて，上記引用の補正後の請求項１，補正後の請求項１０，及び，補正後の請求項２０の記載は，その記載内容から，何れも，
“ＡＥＳラウンドを実行する過程において，複数のブロックに対して同じ鍵を利用するか，異なる鍵を利用するかの識別を行い，その結果に基づいて，
複数のブロックに対して同じ鍵を利用する場合には，入力鍵に基づいて複数の前記ＡＥＳラウンドのためのラウンド鍵スケジュールを予め計算し，
異なる鍵を利用して各ブロックを暗号化および復号化のうちの少なくとも１つを実行する場合には，少なくとも１つの前記ＡＥＳラウンドにおいて暗号化および復号化のうちの少なくとも１つを実行する前に，前記ＡＥＳラウンドのうちの少なくとも１つのためにオンザフライでラウンド鍵を計算することによって，前記プログラム可能な数の前記ＡＥＳラウンドで利用するラウンド鍵を生成する”処理を行う態様を含むものであることは，明らかである。
　上記指摘の，補正後の請求項１，補正後の請求項１０，及び，補正後の請求項２０に記載された内容に含まれる態様に対して，当初明細書等には，その段落【００３６】〜段落【００４０】に，
　
Ａ．「【００３６】
　
多くのブロックについて同じ鍵を利用する場合，各ラウンドのラウンド鍵（鍵スケジュール）は，予め計算されてメモリ（例えばレベル１データキャッシュ２０４）に格納されているので，各ブロックの暗号化／復号化演算の前に同じ鍵スケジュールを再度計算する必要がない
　　【表２】
RK[0]=入力鍵
　Fori=1..10
   RK[i]=AESNextRoundKey(RK[i-1])
  End
　
　STATE=入力ブロック
　STATE=STATExorRK[0]
　
　Fori=1..9
   STATE=AESENCRYPTRound(STATE,RK[i])
  END
  STATE=AESENCRYPTLastRound(STATE,RK[10])
　【００３７】
　１０エレメントを有するアレイ（ＲＫ）を利用して，鍵の鍵スケジュールを格納する。ＡＥＳ−１２８暗号の入力鍵を，ＲＫ［０］に格納して，９ラウンド鍵ＲＫ［０］−ＲＫ［１］を，ＡＥＳ命令セットからAESNextRoundKey命令を読み出すことで予め計算する。
AESNextRoundKey命令は，現在のラウンド鍵に基づいて次のラウンドを計算する。鍵スケジュールについて予め計算されたラウンド鍵は，レベル１データキャッシュ２０４のラウンド鍵２１４に格納されてよい
　【００３８】
　本例においては，そのラウンドのラウンド鍵である鍵スケジュールの該当部分（拡張鍵）が直接レジスタファイル３０４から入力されると，ＡＥＳラウンドを行うループに入る前に，排他的論理和（ＸＯＲ）演算を，状態と鍵とに対して行う。各ラウンド１から９においては，ＡＥＳ命令セットからAESENCRYPTRound命令を呼び出して，ＡＥＳラウンド演算を１ラウンドについて行う。最終ラウンド（ラウンド１０）については，ＡＥＳ命令セットからAESENCRYPTLastRound命令を呼び出して，この最終ラウンドにＡＥＳラウンド演算を行う。
　【００３９】
　ＡＥＳ命令が暗号化または復号化する情報は，暗号または複号演算を開始する第１のＡＥＳ命令が発行される前に，レジスタファイル３０４のソース／宛先レジスタ３０６へロードされる。
ソースレジスタ３０６の情報の暗号化／復号化に利用される鍵は，レジスタファイル３０４の１以上の他のレジスタ３０８に格納されている
１２８ビット鍵の場合，鍵の全１２８ビットが，レジスタファイル３０４の他の１２８ビットレジスタのいずれかに格納される
　【００４０】
　表２に示す例においては，レジスタファイル３０４のレジスタ３０８のいずれかにロードされる前に，鍵に基づいて各ラウンドのラウンド鍵が予め計算されて，レベル１データキャッシュ２０４に格納されていてよい。各ラウンドの鍵は，さらに，レジスタファイル３０４の１以上のレジスタに格納されていてもよく，または，レベル１データキャッシュ２０４のラウンド鍵２１４に格納されていてもよい。」（下線は，当審にて，説明の都合上，附加したものである。以下，同じ。）
　
　との記載が存在し，また，当初明細書等の段落【００５５】〜段落【００５８】に，
　
Ｂ．「【００５５】
　
異なる鍵を利用して各ブロックを暗号化／復号化する場合（例えば，データパケットを暗号化／復号化するネットワークインタフェースコントローラ（ＮＩＣ）の場合），ラウンド鍵は，以下の表３でＡＥＳ−１２８暗号の疑似コードで示すように各ラウンドについて暗号化／復号化を行う前に，その都度計算されてよい
　　【表３】
RK[0]=入力鍵
　
　STATE=入力ブロック
　STATE=STATExorRK[0]
　
　Fori=1..9
   RK[i]=AESNextRoundKey(RK[i-1])
   STATE=AESENCRYPTRound(STATE,RK[i])
  End
　RK[10]=AESNextRoundKey(RK[9])
  STATE=AESENCRYPTLastRound(STATE,RK[10])
　【００５６】
　
本例においては，該ラウンドのラウンド鍵は，鍵スケジュール（拡張鍵）の１０ラウンド各々（つまり，ラウンド１−９およびラウンド１０（最終ラウンド））に対してラウンド鍵を利用して暗号化を行う前に生成される
　
　と記載されていて，上記Ａに記載された内容から，当初明細書等には，
「多くのブロックについて同じ鍵を利用する場合，各ラウンドのラウンド鍵（鍵スケジュール）は，予め計算されてメモリ（例えばレベル１データキャッシュ２０４）に格納されている」点が記載され，該“ラウンド鍵が，メモリに予め格納されている”ことを実現するために，“入力鍵を，格納して，ラウンド鍵を，ＡＥＳ命令セットからAESNextRoundKey命令を読み出すことで予め計算する”ことが記載されていることが読み取れ，
　上記Ｂに記載された内容から，当初明細書等には，
“異なる鍵を利用して各ブロックを暗号化／復号化する場合，ラウンド鍵は，各ラウンドについて暗号化／復号化を行う前に，その都度計算されてよい”ことが記載されていると読み取れる。
　即ち，当初明細書等には，
“多くのブロックについて同じ鍵を利用する場合，各ラウンドのラウンド鍵（鍵スケジュール）は，入力鍵を，格納して，ラウンド鍵を，ＡＥＳ命令セットからAESNextRoundKey命令を読み出すことで予め計算されてメモリに格納されている”態様と，
“異なる鍵を利用して各ブロックを暗号化／復号化する場合，ラウンド鍵は，各ラウンドについて暗号化／復号化を行う前に，その都度計算されてよい”という態様とが，記載されていることまでは読み取ることができるが，上記引用の記載からは，単に，“同じ鍵を利用する場合”と，“異なる鍵を利用する場合”とが，それぞれ，個別に存在していることを示すに止まり，これら２つの態様の関連性，即ち，当初明細書等に記載された，一連の処理において，該２つの態様が，関連して処理されるのか，或いは，相互に関連しない，別の態様として処理されるのかについては，上記Ａ，及び，Ｂの記載内容から読み取ることはできない。
　そして，当初明細書等に記載された「ＡＥＳ命令セット」について，当初明細書等に，
　
Ｃ．「　【００２７】
　一実施形態では，暗号化ラウンド，復号化ラウンド，暗号化復号化最終ラウンド最終ラウンドを行い，ラウンド暗号鍵またはラウンド復号鍵を算出するのに，それぞれ別個のＡＥＳ命令を含むＡＥＳ命令セットが提供される。
一実施形態では，ＡＥＳ命令セットが６つのＡＥＳ命令を含む。各ＡＥＳラウンド命令は，固有演算コード（ｏｐｃｏｄｅ）を有する。固定幅ラウンド鍵の一実施形態（例えば１２８ビット）におけるＡＥＳ命令セットのＡＥＳラウンド命令を，以下の表１に示す
AESENCRYPTRound xmmsrcdst xmm
　　入力：　データ（＝宛先），ラウンド鍵
　　出力：　ラウンド鍵を用いたＡＥＳラウンドによる変換後のデータ
AESENCRYPTLastRound xmmsrcdst xmm
　　入力：　データ（＝宛先），ラウンド鍵
　　出力：　ラウンド鍵を用いたＡＥＳ最終ラウンドによる変換後のデータ
AESDECRYPTRound xmmsrcdst xmm
　　入力：　データ（＝宛先），ラウンド鍵
　　出力：　ラウンド鍵を用いたＡＥＳラウンドによる変換後のデータ
AESDECRYPTLastRound xmmsrcdst xmm
　　入力：　データ（＝宛先），ラウンド鍵
　　出力：　ラウンド鍵を用いたＡＥＳ最終ラウンドによる変換後のデータ
AESNextRoundKey xmmsrc1,2 xmm dst（直近）
　　入力：　鍵の下位１２８ビット，鍵の上位１２８ビット，ラウンド数の
　　　　　　インジケータ
　　出力：　入力から得られた次のラウンド鍵
AESPreviousRoundKey xmmsrc1,2 xmm dst（直近）
　　入力：　鍵の下位１２８ビット，鍵の上位１２８ビット，ラウンド数の
　　　　　　インジケータ
　　出力：　入力から得られた前のラウンド鍵
　【００２８】
　
ＡＥＳ命令セットは，４つのＡＥＳラウンド命令（暗号化，復号化，暗号化最終ラウンド，復号化最終ラウンド），および２つのＡＥＳラウンド鍵命令（次のラウンド鍵および前のラウンド鍵）を含む。ＡＥＳ命令セットのＡＥＳラウンド命令は，最終ラウンド以外の全てのラウンドに利用される暗号化および復号化ラウンド演算を行うシングルラウンド演算を含む
　【００２９】
　さらに
ＡＥＳ命令セットは，最終復号化ラウンドのＡＥＳ復号命令および最終暗号化ラウンドのＡＥＳ暗号命令を含む
・・・・・（中略）・・・・
　【００３１】
　
ＡＥＳ命令セットの他の２つのＡＥＳ命令は，鍵のサイズ（つまり，１２８ビット，１９２ビット，または２５６ビット）に応じてＡＥＳラウンド用のラウンド鍵を生成する
　【００３２】
　また別の実施形態では，直近のフィールドの代わりに，異なる鍵のサイズが，各々が固有演算コードを有する別個の命令として実装されてよい。
この実施形態では，ＡＥＳラウンド鍵命令の数は，各ラウンド鍵演算（例えばAESNextRoundKey_128，AESNextRoundKey_192，およびAESNextRoundKey_256）について３つの別個の命令を含み，AESPreviousRoundKeyもまた，これらに類似した３つの命令のセットを含む
　【００３３】
　
レジスタファイル３０４は，ＡＥＳ命令セットのＡＥＳ命令が利用しうる１２８ビットレジスタを複数有する
　【００３４】
　
表１に示すＡＥＳ命令セットの一実施形態を利用するソースコードの例を，以下の表２に示す。本例においては，多くのブロックに対して同じ鍵を利用する暗号化を行うアプリケーションで性能が最適化されている
　
　と記載されており，上記Ｃの特に下線を附した箇所の記載内容から，本願における「ＡＥＳ命令セット」について，
　“ＡＥＳ命令セットが６つのＡＥＳ命令を含むこと，４つのＡＥＳラウンド命令（暗号化，復号化，最終暗号化ラウンド，最終復号化ラウンド），および２つのＡＥＳラウンド鍵命令（次のラウンド鍵および前のラウンド鍵）を含むこと，そして，ＡＥＳ命令セットのＡＥＳラウンド命令は，最終ラウンド以外の全てのラウンドに利用される暗号化および復号化ラウンド演算を行うシングルラウンド演算を含むこと，更に，ＡＥＳ命令セットは，最終復号化ラウンドのＡＥＳ復号命令および最終暗号化ラウンドのＡＥＳ暗号命令を含むこと，ＡＥＳ命令セットの他の２つのＡＥＳ命令は，鍵のサイズ（つまり，１２８ビット，１９２ビット，または２５６ビット）に応じてＡＥＳラウンド用のラウンド鍵を生成すること，ＡＥＳラウンド鍵命令の数は，各ラウンド鍵演算（例えばAESNextRoundKey_128，AESNextRoundKey_192，およびAESNextRoundKey_256）について３つの別個の命令を含み，AESPreviousRoundKeyもまた，これらに類似した３つの命令のセットを含むこと，レジスタファイルが，ＡＥＳ命令セットのＡＥＳ命令が利用しうる１２８ビットレジスタを複数有すること”は読み取れるが，上記指摘の内容は，単に，「ＡＥＳ命令セット」が，複数の命令を含んでいることを示すのみであり，また，それぞれの命令についても，それらの命令が実行される場合に,何らかの条件分岐が起こることを指し示す構成については，上記Ｃの記載中には存在せず，また，上記Ｃの記載内容から当業者にとって自明の事項であるとも認められない。そして，上記Ｃ以外の当初明細書等の記載内容を加味しても，“ＡＥＳ命令セットが処理される過程において，鍵の利用条件に応じて処理が変更される”ことは，記載されておらず，また，当初明細書等の記載内容から，当業者にとって自明の事項とは認められない。
　即ち，上記に引用した補正後の請求項１に記載されているように，
“ＡＥＳ命令セットが，実行部に，
　複数のブロックに対して同じ鍵を利用する場合に，入力鍵に基づいて複数のＡＥＳラウンドのためのラウンド鍵スケジュールを予め計算し，
　異なる鍵を利用して各ブロックを暗号化および復号化のうちの少なくとも１つを実行する場合に，少なくとも１つのＡＥＳラウンドにおいて暗号化および復号化のうちの少なくとも１つを実行する前に，ＡＥＳラウンドのうちの少なくとも１つのためにオンザフライでラウンド鍵を計算することによって，プログラム可能な数の前記ＡＥＳラウンドで利用するラウンド鍵を生成させ”ることを実現するための，「ＡＥＳ命令セット」の構成，或いは，動作に関しては，上記Ｃの記載中には，何ら記載されおらず，また，上記Ｃの記載，及び，当初明細書等の他の箇所の記載内容から，当業者にとって自明の事項とは認められない。
　同様に，上記引用の補正後の請求項１０における，
“ＡＥＳ命令セットを用いて，プログラム可能な数のＡＥＳラウンドを実行する段階を備え，
　複数のブロックに対して同じ鍵を利用する場合に，入力鍵に基づいて複数の前記ＡＥＳラウンドのためのラウンド鍵スケジュールを予め計算することによって，前記プログラム可能な数のＡＥＳラウンドで利用するラウンド鍵を生成する段階と，
　異なる鍵を利用して各ブロックを暗号化および復号化のうちの少なくとも１つを実行する場合に，少なくとも１つの前記ＡＥＳラウンドにおいて暗号化および復号化のうちの少なくとも１つを実行する前に，前記ＡＥＳラウンドのうちの少なくとも１つのためにオンザフライでラウンド鍵を計算することによって，前記プログラム可能な数のＡＥＳラウンドで利用するラウンド鍵を生成する段階”という記載が内包する，
　“複数のブロックに対して同じ鍵を利用する場合と，異なる鍵を利用して各ブロックを暗号化および復号化のうちの少なくとも１つを実行する場合とに応じて，プログラム可能な数のＡＥＳラウンドで利用するラウンド鍵を生成する段階を選択する”という態様については，上記Ａ〜Ｃ，及び，対応する図面，並びに，当初明細書等の上記Ａ〜Ｃ以外の箇所に記載されておらず，上記Ａ〜Ｃの記載内容，及び，対応する図面に開示の内容，並びに，当初明細書等の上記Ａ〜Ｃ以外の記載内容を参酌しても，当業者にとって自明の事項ではない。
　同様に，上記引用の補正後の請求項２０における，
“コンピュータに，新暗号規格命令セット（ＡＥＳ命令セット）を用いて，プログラム可能な数のＡＥＳラウンドを実行させるためのプログラムであって，
　複数のブロックに対して同じ鍵を利用する場合に，入力鍵に基づいて複数の前記ＡＥＳラウンドのためのラウンド鍵スケジュールを予め計算することによって，前記プログラム可能な数のＡＥＳラウンドで利用するラウンド鍵を生成する手順と，
　異なる鍵を利用して各ブロックを暗号化および復号化のうちの少なくとも１つを実行する場合に，少なくとも１つの前記ＡＥＳラウンドにおいて暗号化および復号化のうちの少なくとも１つを実行する前に，前記ＡＥＳラウンドのうちの少なくとも１つのためにオンザフライでラウンド鍵を計算することによって，前記プログラム可能な数のＡＥＳラウンドで利用するラウンド鍵を生成する手順”という記載が内包する，
“複数のブロックに対して同じ鍵を利用する場合と，異なる鍵を利用して各ブロックを暗号化および復号化のうちの少なくとも１つを実行する場合とに応じて，プログラム可能な数のＡＥＳラウンドで利用するラウンド鍵を生成する段階を選択する”という態様は，当初明細書等には記載されておらず，また，当初明細書等の記載内容から，当業者にとって自明の事項でもない。
　
イ．補正後の請求項３に，
「前記実行部は，
　前記ＡＥＳラウンドの入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して排他的論理和（ＸＯＲ）演算を行って，中間値を生成し，
　前記一連のＡＥＳラウンド演算により，前記実行部は，
　ルックアップテーブルに格納されている値に基づいて，前記中間値の各バイトに対して置換演算を行い，
　前記置換演算の結果に，前記中間値の行をシフトさせるビット線形変換を行う，請求項２に記載の装置。」
　と記載され，補正後の請求項４に，
「前記実行部は，
　前記ＡＥＳラウンドの前記入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して排他的論理和（ＸＯＲ）演算を行って，中間値を生成し，
　前記実行部は，前記ＡＥＳラウンドを実行する回数−１に対して前記一連のＡＥＳラウンド演算を行うことで，
　ルックアップテーブルに格納されている値に基づいて，前記中間値の各バイトに対して置換演算を行い，
　前記置換演算の結果に，前記中間値の行をシフトさせるビット線形変換を行い，
　前記置換演算の結果に，前記中間値の列同士を混合させるビット線形変換を行う，請求項１に記載の装置。」
　と記載されていて,上記引用の補正後の請求項３，及び，請求項４の「前記実行部は，前記ＡＥＳラウンドの入力および前記ＡＥＳラウンドの前記ラウンド鍵に対して排他的論理和（ＸＯＲ）演算を行って」という記載から，“ＸＯＲ演算は，ＡＥＳラウンドの入力及びラウンド鍵に対して行われる”ものであって，補正後の請求項３，及び，請求項４が，直接・間接に補正後の請求項１を引用するものであることを踏まえると，上記引用の“ＸＯＲ演算”は，「ＡＥＳラウンド」の中で行われるものと解される。
　この点に関して，本願明細書の発明の詳細な説明，及び，図面には，
　
Ｄ．「【００４８】
　ブロック状態３１４では，ＡＥＳラウンドロジック３２４への
１２８ビットの入力（状態）に，ビットワイズＸＯＲを用いて，鍵（ラウンドに関連付けられた拡張鍵の１２８ビットの部分）を追加して，１２８ビットの中間値（状態）を生成する
　
　という記載が存在し，【図３】に，「ＡＥＳラウンドロジック」が，
「ブロック状態３１４→Ｓ−ボックス／逆Ｓ−ボックス３１６→行シフト３１８→逆列混合またはヌル混合３２０→ラウンド鍵加算３２６」から構成されていることが示されている。そして，「ＡＥＳ暗号化ラウンド命令のフロー」については，本願明細書の段落【００５９】〜段落【００６６】，及び，【図４】に示されている。
　しかしながら，段落【００４８】に記載された“中間値の生成”を，段落【００５９】〜段落【００６６】にしめされた「フロー」の中で行うことは，本願明細書には記載されておらず，【図３】，【図４】の記載内容を加味しても，本願明細書，及び，図面の記載内容から読み取れるものではない。
　加えて，“ＡＥＳラウンド”については，例えば，本願の第１国出願前に既に公知である，「清家秀律，黒川恭一「ＡＥＳ暗号用ＳｕｂＢｙｔｅ，ＭｉｘＣｏｌｕｍｎｓ変換の方式設計」，情報処理学会研究報告．ＣＳＥＣ，［コンピュータセキュリティ］，２００１（７５），一般社団法人情報処理学会，２００１年７月２５日発行，ｐ１１９−１２６」（以下，これを「周知技術文献」という）に，
　
Ｅ．「2　AES （Rijndael）暗号の概要
　AES 暗号となったRijndaelは，ベルギーのJoan　Daemen氏とVincent　Rijmen氏により開発された暗号である。
　アルゴリズムでは，128-bitの暗号化及び復号のdataと，128，192，256-bitの秘密鍵を使っている。
　暗号化においては，SubBytes，ShiftRows，MixColumns，AddRoundKeyという4つの変換部により構成されたRoundを，入力された秘密鍵のbit数により10，12，14回実行する。
ただし，Roundを実行する前に，入力dataにAddRoundKey変換が行われること
　復号においても，暗号化と同様であるが，Roundを構成している変換部がInvSubBytes，InvShiftRows，IsnvMixColumns変換に換わる。
　拡大鍵の生成は，秘密鍵から行い，秘密鍵のbit数（128，192，256-bit）により生成される拡大鍵のbit数が決まる。」（１２０頁左欄１５行〜３０行）
　
　とあるように，“入力と，ラウンド鍵との排他的論理和は，ラウンドの前に行われること”は，当該技術分野の技術常識である。
　そして，上記指摘の技術常識を踏まえれば，上記Ｄに引用した「中間値（状態）を生成する」ことが，段落【００５９】〜段落【００６６】に示された「ＡＥＳ暗号化ラウンド命令のフロー」の中で行われるものでないことは明らかである。
　よって，本願明細書の発明の詳細な説明には，当該技術分野における技術常識を踏まえても，“ＡＥＳラウンドの処理過程において，ラウンドの入力とラウンド鍵に対して排他的論理和（ＸＯＲ）を行って中間値を生成する”ことは記載されていない。
　以上検討したとおりであるから，補正後の請求項３，及び，請求項４に係る発明は，本願明細書の発明の詳細な説明に記載されたものではない。
　補正後の請求項１２，及び，請求項１３にも，上記指摘の記載が存在するので，補正後の請求項３，及び，請求項４と同じく，補正後の請求項１２，及び，請求項１３に係る発明は，本願明細書の発明の詳細な説明に記載されたものではない。
　
　よって，上記ア．，及び，イ．において検討したことから，本件手続補正は，当初明細書等の記載の範囲内でなされたものではない。
　
３．補正却下むすび
　したがって，本件手続補正は，特許法第１８４条の１２第２項により読み替える同法第１７条の２第３項の規定に違反するので，同法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　
　よって，補正却下の決定の結論のとおり決定する。
　
第３．本願発明について
　平成２４年１０月１１日付けの手続補正は，上記のとおり却下されたので，本願に係る発明は，平成２４年５月１０日付けの手続補正により補正された，上記「第２．平成２４年１０月１１日付けの手続補正の却下の決定」の「１．補正の内容」において，補正前の請求項１〜請求項２１として引用された記載により特定されるものである。
　
第４．原審の拒絶理由
　一方，原審において，平成２３年１２月２２日付けで通知された拒絶理由（以下，これを，「原審拒絶理由」という）は，概略，次のとおりである。
　
「　　　　　　　　　　　　　　　理　由
Ａ．この出願は，特許請求の範囲の記載が下記の点で，特許法第３６条第６項第１号に規定する要件を満たしていない。
　　　　　　　　　　　　　　　　　記
　請求項１には「前記ＡＥＳラウンドの数が１より大きい場合，鍵を一時的鍵レジスタにロードさせ」と記載されている。
　しかしながら，「一時的鍵レジスタ」とは，発明の詳細な説明に記載された何れの事項により支持されるものか不明である。
　また，前記の記載における「鍵」とは，「各ＡＥＳラウンドを行う前に，前記鍵に基づいて前記ＡＥＳラウンドのラウンド鍵を生成させ」との記載からみて，１２８，１９２，または２５６ビットの鍵の鍵スケジュールを生成する鍵（３３段落）のことであるから，そのような１２８，１９２，または２５６ビットの鍵を一時的鍵レジスタにロードさせることが，「前記ＡＥＳラウンドの数が１より大きい場合」に行われるということも，発明の詳細な説明に記載された何れの事項により支持されるものか不明である。
　請求項１０，１９，２１についても同様のことがいえる。
　
　よって，請求項１−２２に係る発明は，発明の詳細な説明に記載したものでない。
　
Ｂ．省略
　
Ｃ．省略」
　
第５．原審拒絶理由に対する当審の判断
１．請求項１について
　平成２４年５月１０日付けの手続補正によって，平成２１年９月３日付けの手続補正により補正された請求項１に記載された，
「前記ＡＥＳラウンドの数が１より大きい場合，鍵を一時的鍵レジスタにロードさせ」（以下，これを「引用記載１」という），
　は，
「前記ＡＥＳラウンドの実行回数が１回目より多い場合に，前記実行部に，鍵をレジスタにロードさせ」（以下，これを「引用記載２」という），
　と補正されたので，上記引用の補正後の記載によって，原審拒絶理由によって指摘された拒絶の理由が解消したかについて，以下に検討する。
　
　引用記載１，及び，引用記載２中の「鍵」とは，本願明細書の発明の詳細な説明の，
　
（ａ）「【００３３】
　レジスタファイル３０４は，ＡＥＳ命令セットのＡＥＳ命令が利用しうる１２８ビットレジスタを複数有する。１２８ビットレジスタは，ソースオペランド，ラウンド鍵，およびＡＥＳ命令の結果を格納しうる。第１ラウンドでは，ＡＥＳ命令は，暗号される１２８ビットの平文または復号される１２８ビットの暗号文であってよいソースオペランドを受信する。
１２８ビット，１９２ビット，または２５６ビットの鍵の鍵スケジュールを生成する鍵
レジスタファイル３０４内の複数の１２８ビットレジスタ３０８のいずれかに格納されていてよい
　
　という記載中の下線を附した，
「１２８ビット，１９２ビット，または２５６ビットの鍵の鍵スケジュールを生成する鍵」，
　に相当するものである。
　上記（ａ）には，前記「１２８ビット，１９２ビット，または２５６ビットの鍵の鍵スケジュールを生成する鍵」に関して，「レジスタファイル３０４内の複数の１２８ビットレジスタ３０８のいずれかに格納されていてよい」と記載されていて，前記「１２８ビット，１９２ビット，または２５６ビットの鍵の鍵スケジュールを生成する鍵」が，「レジスタ」に格納されていることまでは読み取れる。
　しかしながら，上記（ａ）においては，前記「１２８ビット，１９２ビット，または２５６ビットの鍵の鍵スケジュールを生成する鍵」が，どのタイミングで，「レジスタ」に格納されるかについては記載されていない。
　上記（ａ）以外の本願明細書の発明の詳細な説明において，「鍵」，及び，「レジスタ」，並びに，「ロード」に関連する記載として，
　
（ｂ）「【００１１】
　
各ラウンドにおける鍵の生成は，ラウンド鍵を格納する暗黙の１２８ビットレジスタを利用して，その都度（on the fly）（つまり各ラウンド直前に）行われてよい
　
（ｃ）「【００１９】
　図２は，図１に示すプロセッサ１０１の一実施形態のブロック図である。プロセッサ１０１は，レベル１（Ｌ１）命令キャッシュ２０２から受信したプロセッサ命令を復号化するフェッチ復号化部２０６を含む。
命令実行に利用されるデータはレジスタファイル２０８に格納されていてよい
一実施形態においては，レジスタファイル２０８は，複数の１２８ビットレジスタを含み，これらは，ＡＥＳ命令が利用するデータを格納する際，ＡＥＳ命令が利用する
　【００２０】
　一実施形態においては，
レジスタファイルは，ストリーミング（シングルインストラクションマルチプルデータ（ＳＩＭＤ））エクステンション（ＳＳＥ）インストラクションのセットを有するＩｎｔｅｌ　Ｐｅｎｔｉｕｍ（登録商標）　ＭＭＸプロセッサに提供されている１２８ビットのＭＭＸレジスタに類似した１２８ビットレジスタ群である
　【００２１】
　フェッチ復号化部２０６は，Ｌ１命令キャッシュ２０２からマイクロインストラクションをフェッチして，該マイクロインストラクションを復号化して，マイクロコード読み取り専用メモリ（ＲＯＭ）２１４に格納されうるマイクロ演算（μｏｐｓ）と称される簡単な演算に分割する。実行部２１０は，マイクロ演算をスケジューリングして実行する。示されている実施形態では，実行部２１０のＡＥＳ機能１０３は，ＡＥＳ命令セット用のマイクロ演算を含む。
リタイヤ部２１２は，実行された命令の結果を，レジスタまたはメモリに書き込む
ＡＥＳ命令が利用するラウンド鍵２１４は，Ｌ１データキャッシュ２０４に格納されており，実行部２１０にロードされて，マイクロ演算がＡＥＳ命令セットのＡＥＳ命令を実行するのに利用されてよい
　
（ｄ）「【００２８】
　ＡＥＳ命令セットは，４つのＡＥＳラウンド命令（暗号化，復号化，暗号化最終ラウンド，復号化最終ラウンド），および２つのＡＥＳラウンド鍵命令（次のラウンド鍵および前のラウンド鍵）を含む。ＡＥＳ命令セットのＡＥＳラウンド命令は，最終ラウンド以外の全てのラウンドに利用される暗号化および復号化ラウンド演算を行うシングルラウンド演算を含む。例えば，表１の
AESENCRYPTRoundのシングルラウンド命令では，入力データが１２８ビットレジスタ（xmmsrcdst）に格納され，ラウンド鍵が別の１２８ビットレジスタ（xmm）に格納される
この命令は，１２８ビットxmmsrcdstレジスタに格納されている入力データ（ソース）に対してＡＥＳラウンド演算を行い，１２８ビットxmmsrcdstレジスタに格納されている入力データを，ラウンド演算実行結果で上書きする
　【００２９】
　さらにＡＥＳ命令セットは，最終復号化ラウンドのＡＥＳ復号命令および最終暗号化ラウンドのＡＥＳ暗号命令を含む。例えば，表１の
AESENCRYPTLastRoundのシングルラウンド命令では，入力データが１２８ビットレジスタ（xmmsrcdst）に格納され，ラウンド鍵が別の１２８ビットレジスタ（xmm）に格納される
この命令は，xmmsrcdstレジスタに格納されている入力データ（ソース）に対してＡＥＳラウンド演算を行い，xmmsrcdstレジスタに格納されている入力データを，ラウンド演算実行結果で上書きする
xmmレジスタは，ラウンド演算のラウンド鍵を格納する
　【００３０】
　別の実施形態では，
ラウンドおよび最終ラウンド命令（例えば，AESENCRYPTRoundおよびAESENCRYPTLastRound）が，レジスタファイル３０４からではなくて，メモリ（ｍ／１２８）から入力を受け取ってよい
・・・・（中略）・・・・
　【００３３】
　
レジスタファイル３０４は，ＡＥＳ命令セットのＡＥＳ命令が利用しうる１２８ビットレジスタを複数有する。１２８ビットレジスタは，ソースオペランド，ラウンド鍵，およびＡＥＳ命令の結果を格納しうる
１２８ビット，１９２ビット，または２５６ビットの鍵の鍵スケジュールを生成する鍵は，レジスタファイル３０４内の複数の１２８ビットレジスタ３０８のいずれかに格納されていてよい
ラウンド鍵も，レジスタファイルの１２８ビットレジスタ３０８のいずれかに格納されてよい
全ての命令は，レジスタファイルのレジスタを利用し，さらに，後述するようにメモリから直接入力を得てよい
　
（ｅ）「【００３８】
　本例においては，
そのラウンドのラウンド鍵である鍵スケジュールの該当部分（拡張鍵）が直接レジスタファイル３０４から入力されると，ＡＥＳラウンドを行うループに入る前に，排他的論理和（ＸＯＲ）演算を，状態と鍵とに対して行う
　【００３９】
　
ＡＥＳ命令が暗号化または復号化する情報は，暗号または複号演算を開始する第１のＡＥＳ命令が発行される前に，レジスタファイル３０４のソース／宛先レジスタ３０６へロードされる
ソースレジスタ３０６の情報の暗号化／復号化に利用される鍵は，レジスタファイル３０４の１以上の他のレジスタ３０８に格納されている
１２８ビット鍵の場合，鍵の全１２８ビットが，レジスタファイル３０４の他の１２８ビットレジスタのいずれかに格納される
１２８ビットより大きい鍵のサイズに対しては，最上位ビット（１２８ビットより大きい）を，１２８ビットレジスタのうち別のものに格納する
　【００４０】
　表２に示す例においては，
レジスタファイル３０４のレジスタ３０８のいずれかにロードされる前に，鍵に基づいて各ラウンドのラウンド鍵が予め計算されて，レベル１データキャッシュ２０４に格納されていてよい
各ラウンドの鍵は，さらに，レジスタファイル３０４の１以上のレジスタに格納されていてもよく，または，レベル１データキャッシュ２０４のラウンド鍵２１４に格納されていてもよい
・・・・（中略）・・・・
　【００４２】
　ラウンド毎の暗号化または復号化演算を行う前に，実行部２１０は，状態および鍵をレジスタファイル３０４から取得する。各暗号化／復号化ラウンド演算は，読み取り専用メモリ（ＲＯＭ）２１４の鍵スケジューラ３０２に格納されているＡＥＳ命令のマイクロ演算を利用して行われる。ここに示す実施形態では，
状態（１２８ビットブロックの状態）は，レジスタ３０６に格納されており，鍵は，レジスタファイル３０４の他のレジスタ３０８の１以上に格納されている
ＡＥＳ命令の実行の結果生じる状態をレジスタファイル３０４のレジスタ３０６に格納する
　
（ｆ）「【００５４】
　本例では，１２８ビットＡＥＳ暗号化ラウンド演算を，拡張鍵が{ＲＫ［１］，ＲＫ［２］，…ＲＫ［１０］}として表される鍵を利用して行う。ラウンド鍵は，AESDECRYPTRound命令を発行する前に，AESPreviousRoundKey xmmsrc1,2 xmm dst（中間）命令を発行することで生成されうる。
ラウンド鍵は，レベル１データキャッシュ２０４からブロック状態３１４へ直接ロードされてもよいし，または，先ずレジスタファイル３０４のレジスタ（xmm）に格納されていて，その後，レジスタからブロック状態３１４へロードされてもよい
　
（ｇ）「【００６１】
　ブロック４０２で，フェッチ復号化部２０６による命令復号化中，暗号化が必要である旨を制御ロジック３２２に格納して，
暗号化ラウンド実行に利用されるラウンド鍵および１２８ビットブロック状態（ソース）をレジスタファイル３０４から実行部２１０へロードする
・・・・（中略）・・・・
　【００６６】
　ブロック４１２で，その
ラウンドの暗号化演算の結果（１２８ビットブロック状態）を，レジスタファイル３０４のソース／宛先レジスタ３０２に格納する
　
（ｈ）「【００６８】
　図５は，図３の実行部２１０によるＡＥＳ暗号化最終ラウンド命令のフローを示すフローグラフである。
　ブロック５００で，実行は，ＡＥＳ暗号化最終ラウンド命令を待つ。もしもＡＥＳ暗号化最終ラウンド命令がフェッチ復号化部２０６で既に復号化されている場合，処理はブロック５０２に進む。復号化されていない場合は，ブロック５００に留まり，ＡＥＳラウンド暗号化命令を待つ。
　ブロック５０２で，ブロック４０４（図４）との関連で説明したＳ−ボックスルックアップに類似した方法で最終ラウンドにＳ−ボックスルックアップを行う。処理はブロック５０４へ進む。
　ブロック５０４で，ブロック４０６（図４）で他のラウンドとの関連で説明したような方法で最終ラウンドに行シフト演算を行う。処理はブロック５０６へ進む。
　ブロック５０６で，拡張鍵からのラウンド鍵，およびそのＡＥＳラウンドの行シフト３１８または列混合３２０の結果の排他的論理和演算を行う。処理はブロック５０８へ進む。
　
ブロック５０８で，暗号化最終ラウンド演算の結果を，レジスタファイル３０４のソース／宛先レジスタ３０６に格納する
【００６９】
　図６は，図３の実行部２１０によるＡＥＳ復号化ラウンド命令のフローを示すフローグラフである。
　ブロック６００で，実行は，ＡＥＳ復号化ラウンド命令を待つ。ＡＥＳ復号化ラウンド命令がフェッチ復号化部２０６により既に復号化されている場合，処理はブロック６０２に進む。復号化されていない場合は，ブロック６００に留まり，ＡＥＳ復号化ラウンド命令を待つ。
　ブロック６０２で，フェッチ復号化部２０６による命令復号化中，復号化ラウンドを行う必要がある旨を制御ロジック３２２に格納して，
復号化ラウンド実行に利用されるラウンド鍵およびソース（１２８ビットブロック状態）をレジスタファイル３０４から実行部２１０へロードする
　ブロック６０４で行う処理は復号化である。ＡＥＳ規格に定義されている逆ｓ−ボックスルックアップを行うことで，置換演算を１２８ビットブロック状態に対して行う。処理はブロック６０６へ進む。
　ブロック６０６で，ＦＩＰＳ　ＰＵＢ１９７で定義されている逆行シフト演算を行う。処理はブロック６０８へ進む。
　ブロック６０８で，ＦＩＰＳ　ＰＵＢ１９７で定義されている逆行シフト演算を行う。処理はブロック６１０へ進む。
　ブロック６１０で，拡張鍵からのラウンド鍵，およびそのＡＥＳラウンドの行シフト３１８または列混合３２０の結果の排他的論理和演算を行う。処理はブロック６１２へ進む。
　
ブロック６１２で，そのラウンドの復号化演算の結果（１２８ビットブロック状態）を，レジスタファイル３０４のソース／宛先レジスタ３０２に格納する
　【００７０】
　図７は，図３の実行部２１０によるＡＥＳ復号化最終ラウンド命令のフローを示すフローグラフである。
　ブロック７００で，実行部２１０は，ＡＥＳ復号化最終ラウンド命令を待つ。もしもＡＥＳ復号化最終ラウンド命令がフェッチ復号化部２０６で既に復号化されている場合，処理はブロック７０２に進む。復号化されていない場合は，ブロック７００に留まり，ＡＥＳ復号化ラウンド命令を待つ。
　ブロック７０２で，ＦＩＰＳ　ＰＵＢ１９７で定義されている逆ｓ−ボックスルックアップを行うことで，最終ラウンドの１２８ビットブロック状態に置換演算を行う。処理はブロック７０４へ進む。
　ブロック７０４で，ＦＩＰＳ　ＰＵＢ１９７で定義されているような方法で最終ラウンドに逆行シフト演算を行う。処理はブロック７０６へ進む。
　ブロック７０６で，拡張鍵からのラウンド鍵，およびそのＡＥＳラウンドの行シフト３１８または列混合３２０の結果の排他的論理和演算を行う。処理はブロック７０８へ進む。
　
ブロック７０８で，復号化最終ラウンド演算の結果を，レジスタファイル３０４のソース／宛先レジスタ３０６に格納する
　
　と記載されていて，上記（ｂ）〜（ｈ）に引用した記載中の下線を附した記載内容の内，特に，「ロード」に関して，上記（ｂ）に引用した記載中の段落【００２１】に，
「
ＡＥＳ命令が利用するラウンド鍵２１４は，Ｌ１データキャッシュ２０４に格納されており，実行部２１０にロードされて，マイクロ演算がＡＥＳ命令セットのＡＥＳ命令を実行するのに利用されてよい
　上記（ｅ）に引用した記載中の段落【００４０】に，
「
レジスタファイル３０４のレジスタ３０８のいずれかにロードされる前に，鍵に基づいて各ラウンドのラウンド鍵が予め計算されて，レベル１データキャッシュ２０４に格納されていてよい
　上記（ｆ）に，
「
ラウンド鍵は，レベル１データキャッシュ２０４からブロック状態３１４へ直接ロードされてもよいし，または，先ずレジスタファイル３０４のレジスタ（xmm）に格納されていて，その後，レジスタからブロック状態３１４へロードされてもよい
　上記（ｇ）に引用した記載中の段落【００６１】に，
「
暗号化ラウンド実行に利用されるラウンド鍵および１２８ビットブロック状態（ソース）をレジスタファイル３０４から実行部２１０へロードする
　上記（ｈ）に引用した段落【００６９】に，
「
復号化ラウンド実行に利用されるラウンド鍵およびソース（１２８ビットブロック状態）をレジスタファイル３０４から実行部２１０へロードする
　とあるが，「レジスタ」への「ロード」に関連するものは，引用記載４のみであり，他の引用記載３，引用記載５〜引用記載７における「ロード」は，「レジスタ」，或いは，「レジスタファイル」から「実行部」への「ロード」である。
　そして，引用記載３〜引用記載７における「ロード」は，引用記載２にあるように，「ＡＥＳラウンドの実行回数が１回目より多い場合」を契機として，「実行部に，鍵をレジスタにロードさせ」るものではない。
　上記（ｂ）〜（ｈ）に引用した記載中の上記で「ロード」について検討した，下線を附された記載箇所は，何れも，「レジスタ」に関連するものではあるが，これら，「レジスタ」に関連した記載からは，引用記載２の，「ＡＥＳラウンドの実行回数が１回目より多い場合」を契機として，「実行部に，鍵をレジスタにロードさせ」ることは読み取れない。
　そして，上記（ｂ）〜（ｈ）の記載以外の本願明細書の発明の詳細な説明の記載内容，及び，図面の内容からも，引用記載２に示された構成を読み取ることはできず，当該技術分野における技術常識を勘案しても，本願明細書の発明の詳細な説明，及び，図面に示された事項から，当業者にとって自明の事項とは認められない。
　以上に検討したとおりであるから，平成２４年５月１０日付けの手続補正により補正された，本願の請求項１に係る発明は，依然として，本願明細書の発明の詳細な説明に記載されたものではない。
　
２．請求項１０について
　平成２４年５月１０日付けの手続補正によって，平成２１年９月３日付けの手続補正により補正された請求項１０に記載された，
「ＡＥＳ命令のプログラム可能なＡＥＳラウンドの数が１より大きい場合，鍵を一時的鍵レジスタにロードして」（以下，これを「引用記載８」という），
　は，
「前記ＡＥＳラウンドの実行回数が１回目より多い場合に，鍵をレジスタにロードする段階」（以下，これを「引用記載９」という），
　と補正されたが，引用記載９の内容は，引用記載２の内容と,ほぼ，同等であるから，上記「１．請求項１について」において検討したとおり，
　平成２４年５月１０日付けの手続補正により補正された請求項１０に係る発明は，依然として，本願明細書の発明の詳細な説明に記載されたものではない。
　
３．請求項１９について
　平成２１年９月３日付けの手続補正により補正された請求項１９に記載された，
「ＡＥＳ命令のプログラム可能なＡＥＳラウンドの数が１より大きい場合，鍵を一時的鍵レジスタにロードし」（以下，これを「引用記載１０」という），
　は，平成２４年５月１０日付けの手続補正によって，その請求項２０の，
「前記ＡＥＳラウンドの実行回数が１回目より多い場合に，鍵をレジスタにロードし」（以下，これを「引用記載１１」という），
　と補正されたが，引用記載１１の内容は，引用記載２の内容と，ほぼ，同等であるから，上記「１．請求項１について」において検討したとおり，
　平成２４年５月１０日付けの手続補正により補正された請求項２０（原審拒絶理由時の請求項１９）に係る発明は，依然として，本願明細書の発明の詳細な説明に記載されたものではない。
　
　以上１．〜３．に検討したとおりであるから，原審拒絶理由において，理由Ａとして指摘した事項は，平成２４年５月１０日付けの手続補正後の請求項１，請求項１０，及び，請求項２０（原審拒絶理由時の請求項１９）において，依然として解消しておらず，平成２４年５月１０日付けの手続補正により補正された，本願の請求項１，請求項１０，及び，請求項２０に係る発明は，本願明細書の発明の詳細な説明に記載されたものではない。
　
第６．むすび
　したがって，本願は，特許法第３６条第６項第１号に規定する要件を満たしていない。
　
　よって，結論のとおり審決する。