• ポートフォリオ機能


ポートフォリオを新規に作成して保存
既存のポートフォリオに追加保存

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 特174条1項 特許、登録しない。 G09C
審判 査定不服 特17条の2、3項新規事項追加の補正 特許、登録しない。 G09C
審判 査定不服 2項進歩性 特許、登録しない。 G09C
審判 査定不服 特36条6項1、2号及び3号 請求の範囲の記載不備 特許、登録しない。 G09C
管理番号 1341758
審判番号 不服2017-208  
総通号数 224 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2018-08-31 
種別 拒絶査定不服の審決 
審判請求日 2017-01-06 
確定日 2018-06-27 
事件の表示 特願2015- 49638「新暗号規格(AES)向けの柔軟なアーキテクチャおよび命令」拒絶査定不服審判事件〔平成27年 6月11日出願公開,特開2015-108853〕について,次のとおり審決する。 
結論 本件審判の請求は,成り立たない。 
理由 第1.手続の経緯
本願は,平成25年10月25日に出願した特願2013-222466号の一部を,特許法第44条第1項の規定により,平成27年3月12日に新たな特許出願としたものであって,
平成27年3月31日付けで審査請求がなされる共に手続補正がなされ,平成27年12月8日付けで審査官により拒絶理由が通知され,これに対して平成28年6月15日付けで意見書が提出されると共に手続補正がなされたが,平成28年8月31日付けで審査官により拒絶査定がなされ(謄本送達;平成28年9月6日),これに対して平成29年1月6日付けで審判請求がなされると共に手続補正がなされ,平成29年2月22日付けで審査官により特許法第164条第3項の規定に基づく報告がなされたものである。

第2.平成29年1月6日付けの手続補正の却下の決定

[補正却下の決定の結論]

平成29年1月6日付け手続補正を却下する。

[理由]

1.補正の内容
平成29年1月6日付けの手続補正(以下,「本件手続補正」という)により,平成28年6月15日付けの手続補正により補正された特許請求の範囲,
「【請求項1】
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
第1の128ビットソース/宛先レジスタおよび第2の128ビットソースレジスタを使用するためのAdvanced Encryption Standard(AES)暗号化命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
実行部であって,前記AES暗号化命令が,前記実行部に,前記第1の128ビットソース/宛先レジスタおよび前記第2の128ビットソースレジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記第1の128ビットソース/宛先レジスタ内に結果を格納させるべく,前記復号化部に連結された,前記複数の汎用コアのうちの前記1つの実行部と
を備える,汎用プロセッサ。
【請求項2】
前記AES暗号化命令は,128ビットラウンド鍵,192ビットラウンド鍵および256ビットラウンド鍵のうちのいずれかを利用可能である,請求項1に記載の汎用プロセッサ。
【請求項3】
前記AES暗号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに備える,請求項1又は2に記載の汎用プロセッサ。
【請求項4】
メモリとの通信を制御するメモリコントローラと,
プロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
第1の128ビットソース/宛先レジスタおよび第2の128ビットソースレジスタを使用するためのAdvanced Encryption Standard(AES)暗号化命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
実行部であって,前記AES暗号化命令が,前記実行部に,前記第1の128ビットソース/宛先レジスタおよび前記第2の128ビットソースレジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記第1の128ビットソース/宛先レジスタ内に結果を格納させるべく,前記復号化部に連結された,前記複数の汎用コアのうちの前記1つの実行部と
を有する,システム。
【請求項5】
前記AES暗号化命令は,128ビットラウンド鍵,192ビットラウンド鍵および256ビットラウンド鍵のうちのいずれかを利用可能である,請求項4に記載のシステム。
【請求項6】
前記プロセッサは,前記AES暗号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに有する,請求項4または5に記載のシステム。
【請求項7】
前記メモリコントローラは,ダブルデータレートメモリとの通信を制御する,請求項4から6のいずれか一項に記載のシステム。
【請求項8】
ランダムアクセスメモリ(RAM)と,
ネットワークインタフェースコントローラと,
前記RAMに連結されたプロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
第1の128ビットソース/宛先レジスタおよび第2の128ビットソースレジスタを使用するためのAdvanced Encryption Standard(AES)暗号化命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
実行部であって,前記AES暗号化命令が,前記実行部に,前記第1の128ビットソース/宛先レジスタおよび前記第2の128ビットソースレジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記第1の128ビットソース/宛先レジスタ内に結果を格納させるべく,前記復号化部に連結された,前記複数の汎用コアのうちの前記1つの実行部と
を有する,モバイルコンピュータ。
【請求項9】
前記AES暗号化命令は,128ビットラウンド鍵,192ビットラウンド鍵および256ビットラウンド鍵のうちのいずれかを利用可能である,請求項8に記載のモバイルコンピュータ。
【請求項10】
前記AES暗号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに備える,請求項8または9に記載のモバイルコンピュータ。
【請求項11】
入出力コントローラをさらに備える,請求項8から10のいずれか一項に記載のモバイルコンピュータ。
【請求項12】
前記入出力コントローラに連結された格納デバイスをさらに備える,請求項11に記載のモバイルコンピュータ。
【請求項13】
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
4つのAdvanced Encryption Standard(AES)命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
前記複数の汎用コアのうちの前記1つの実行部と
を備え,
前記4つのAES命令のそれぞれは,固有演算コードを有し,
前記4つのAES命令は,
複数のうちの一の128ビットソース/宛先レジスタと,複数のうちの一の128ビットソースレジスタとを使用するための第1AES暗号化命令と,
複数のうちの一の128ビットソースレジスタと,複数のうちの一の128ビット宛先レジスタとを使用するための第2AES暗号化命令と
を含み,
第1AES暗号化命令が,前記実行部に,第1AES暗号化命令の前記一の128ビットソース/宛先レジスタおよび前記一の128ビットソースレジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記一の128ビットソース/宛先レジスタ内に第1の結果を格納させ,
前記第2AES暗号化命令が,前記実行部に,前記第2AES暗号化命令の前記一の128ビットソースレジスタからデータを受信させ,列混合を含む複数の演算を実行させ,かつ,前記第2AES暗号化命令の前記一の128ビット宛先レジスタ内に第2の結果を格納させるべく,前記実行部が前記復号化部に連結されている,プロセッサ。
【請求項14】
前記第1AES暗号化命令は,128ビットラウンド鍵,192ビットラウンド鍵および256ビットラウンド鍵のうちのいずれかを使用可能である,請求項13に記載のプロセッサ。
【請求項15】
前記第1AES暗号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに備える,請求項13または14に記載のプロセッサ。
【請求項16】
メモリとの通信を制御するメモリコントローラと,
プロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
4つのAdvanced Encryption Standard(AES)命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
,前記複数の汎用コアのうちの前記1つの実行部と
を有し,
前記4つのAES命令のそれぞれは,固有演算コードを有し,
前記4つのAES命令は,
複数のうちの一の128ビットソース/宛先レジスタと,複数のうちの一の128ビットソースレジスタとを使用するための第1AES暗号化命令と,
複数のうちの一の128ビットソースレジスタと,複数のうちの一の128ビット宛先レジスタとを使用するための第2AES暗号化命令と
を含み,
前記第1AES暗号化命令が,前記実行部に,前記第1AES暗号化命令の前記一の128ビットソースレジスタおよび前記一の128ビットソース/宛先レジスタからデータを受信し,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記一の128ビットソース/宛先レジスタ内に第1の結果を格納させ,
前記第2AES暗号化命令が,前記実行部に,前記第2AES暗号化命令の前記一の128ビットソースレジスタからデータを受信させ,列混合を含む複数の演算を実行させ,かつ,前記第2AES暗号化命令の前記一の128ビット宛先レジスタ内に第2の結果を格納させるべく,
前記実行部が前記復号化部に連結されている,システム。
【請求項17】
前記第1AES暗号化命令は,128ビットラウンド鍵,192ビットラウンド鍵および256ビットラウンド鍵のうちのいずれかを利用可能である,請求項16に記載のシステム。
【請求項18】
前記プロセッサは,前記第1AES暗号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに有する,請求項16または17に記載のシステム。
【請求項19】
前記メモリコントローラは,ダブルデータレートメモリとの通信を制御する,請求項16から18のいずれか一項に記載のシステム。
【請求項20】
ランダムアクセスメモリ(RAM)と,
ネットワークインタフェースコントローラと,
前記RAMに連結されたプロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
4つのAdvanced Encryption Standard(AES)命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
前記複数の汎用コアのうちの前記1つの実行部と
を有し,
前記4つのAES命令のそれぞれは,固有演算コードを有し,
前記4つのAES命令は,
複数のうちの一の128ビットソース/宛先レジスタと,複数のうちの一の128ビットソースレジスタとを使用するための第1AES暗号化命令と,
複数のうちの一の128ビットソースレジスタと,複数のうちの一の128ビット宛先レジスタとを使用するための第2AES暗号化命令と
を含み,
前記第1AES暗号化命令が,前記実行部に,前記第1AES暗号化命令の前記一の128ビットソースレジスタおよび前記一の128ビットソース/宛先レジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記一の128ビットソース/宛先レジスタ内に第1の結果を格納させ,
前記第2AES暗号化命令が,前記実行部に,前記第2AES暗号化命令の前記一の128ビットソースレジスタからデータを受信させ,列混合を含む複数の演算を実行させ,かつ,前記第2AES暗号化命令の前記一の128ビット宛先レジスタ内に第2の結果を格納させるべく,前記実行部が前記復号化部に連結されている,モバイルコンピュータ。
【請求項21】
前記第1AES暗号化命令は,128ビットラウンド鍵,192ビットラウンド鍵および256ビットラウンド鍵のうちのいずれかを利用可能である,請求項20に記載のモバイルコンピュータ。
【請求項22】
前記プロセッサは,前記第1AES暗号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに有する,請求項20または21に記載のモバイルコンピュータ。
【請求項23】
入出力コントローラをさらに備える,請求項20から22のいずれか一項に記載のモバイルコンピュータ。
【請求項24】
前記入出力コントローラに連結された格納デバイスをさらに備える,請求項23に記載のモバイルコンピュータ。
【請求項25】
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
複数のうちの第1の128ビットソース/宛先レジスタおよび複数のうちの第2の128ビットソースレジスタを使用するためのAdvanced Encryption Standard(AES)復号化命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
実行部であって,前記AES復号化命令が,前記実行部に,前記第1の128ビットソース/宛先レジスタおよび前記第2の128ビットソースレジスタからデータを受信させ,逆バイト換字,逆行シフトおよび排他的論理和を含むが逆列混合が省かれた,AESシングル復号化ラウンドのための複数の演算を実行させ,かつ,前記第1の128ビットソース/宛先レジスタ内に結果を格納させるべく,前記復号化部に連結された,前記複数の汎用コアのうちの前記1つの実行部と
を備える,プロセッサ。
【請求項26】
前記AES復号化命令は,128ビットラウンド鍵,192ビットラウンド鍵および256ビットラウンド鍵のうちのいずれかを利用可能である,請求項25に記載のプロセッサ。
【請求項27】
前記AES復号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに備える,請求項25または26に記載のプロセッサ。
【請求項28】
メモリとの通信を制御するメモリコントローラと,
プロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
複数のうちの第1の128ビットソース/宛先レジスタおよび複数のうちの第2の128ビットソースレジスタを使用するためのAdvanced Encryption Standard(AES)復号化命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
実行部であって,前記AES復号化命令が,前記実行部に,前記第1の128ビットソース/宛先レジスタおよび前記第2の128ビットソースレジスタからデータを受信させ,逆バイト換字,逆行シフトおよび排他的論理和を含むが逆列混合が省かれた,AESシングル復号化ラウンドのための複数の演算を実行させ,かつ,前記第1の128ビットソース/宛先レジスタ内に結果を格納させるべく,前記復号化部に連結された,前記複数の汎用コアのうちの前記1つの実行部と
を有する,システム。
【請求項29】
前記AES復号化命令は,128ビットラウンド鍵,192ビットラウンド鍵および256ビットラウンド鍵のうちのいずれかを利用可能である,請求項28に記載のシステム。
【請求項30】
前記プロセッサは,前記AES復号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに有する,請求項28または29に記載のシステム。
【請求項31】
前記メモリコントローラは,ダブルデータレートメモリとの通信を制御する,請求項28から30のいずれか一項に記載のシステム。
【請求項32】
ランダムアクセスメモリ(RAM)と,
ネットワークインタフェースコントローラと,
前記RAMに連結されたプロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
複数のうちの第1の128ビットソース/宛先レジスタおよび複数のうちの第2の128ビットソースレジスタを使用するためのAdvanced Encryption Standard(AES)復号化命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
実行部であって,前記AES復号化命令が,前記実行部に,前記第1の128ビットソース/宛先レジスタおよび前記第2の128ビットソースレジスタからデータを受信させ,逆バイト換字,逆行シフトおよび排他的論理和を含むが逆列混合が省かれた,AESシングル復号化ラウンドのための複数の演算を実行させ,かつ,前記第1の128ビットソース/宛先レジスタ内に結果を格納させるべく,前記復号化部に連結された,前記複数の汎用コアのうちの前記1つの実行部と
を有する,モバイルコンピュータ。
【請求項33】
前記AES復号化命令は,128ビットラウンド鍵,192ビットラウンド鍵および256ビットラウンド鍵のうちのいずれかを利用可能である,請求項32に記載のモバイルコンピュータ。
【請求項34】
前記プロセッサは,前記AES復号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに有する,請求項32または33に記載のモバイルコンピュータ。
【請求項35】
入出力コントローラをさらに備える,請求項32から34のいずれか一項に記載のモバイルコンピュータ。
【請求項36】
前記入出力コントローラに連結された格納デバイスをさらに備える,請求項35に記載のモバイルコンピュータ。
【請求項37】
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
4つのAdvanced Encryption Standard(AES)命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
前記複数の汎用コアのうちの前記1つの実行部と
を備え,
前記4つのAES命令のそれぞれは,固有演算コードを有し,
前記4つのAES命令が,
複数のうちの一の128ビットソース/宛先レジスタおよび複数のうちの一の128ビットソースレジスタを使用するための第1AES復号化命令と,
複数のうちの一の128ビットソースレジスタおよび複数のうちの一の128ビット宛先レジスタを使用するための第2AES復号化命令と
を含み,
前記第1AES復号化命令が,前記実行部に,前記第1AES復号化命令の前記一の128ビットソースレジスタおよび前記一の128ビットソース/宛先レジスタからデータを受信させ,逆バイト換字,逆行シフトおよび排他的論理和を含むが逆列混合が省かれた,AESシングル復号化ラウンドのため複数の演算を実行させ,かつ,前記一の128ビットソース/宛先レジスタ内に第1の結果を格納させ,
前記第2AES復号化命令が,前記実行部に,前記第2AES復号化命令の前記一の128ビットソースレジスタからデータを受信させ,逆列混合を含む複数の演算を実行させ,かつ,前記第2AES復号化命令の前記一の128ビット宛先レジスタ内に第2の結果を格納させるべく,
前記実行部が前記復号化部に連結されている,プロセッサ。
【請求項38】
前記第1AES復号化命令は,128ビットラウンド鍵,192ビットラウンド鍵および256ビットラウンド鍵のうちのいずれかを利用可能である,請求項37に記載のプロセッサ。
【請求項39】
前記第1AES復号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに備える,請求項37または38に記載のプロセッサ。
【請求項40】
メモリとの通信を制御するメモリコントローラと,
プロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
4つのAdvanced Encryption Standard(AES)命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
前記複数の汎用コアのうちの前記1つの実行部と
を有し,
前記4つのAES命令のそれぞれは,固有演算コードを有し,
前記4つのAES命令は,
複数のうちの一の128ビットソース/宛先レジスタおよび複数のうちの一の128ビットソースレジスタを使用するための第1AES復号化命令と,
複数のうちの一の128ビット宛先レジスタおよび複数のうちの一の128ビットソースレジスタを使用するための第2AES復号化命令と
を含み,
前記第1AES復号化命令が,前記実行部に,前記第1AES復号化命令の前記一の128ビットソースレジスタおよび前記一の128ビットソース/宛先レジスタからデータを受信させ,逆バイト換字,逆行シフトおよび排他的論理和を含むが逆列混合が省かれた,AESシングル復号化ラウンドのため複数の演算を実行させ,かつ,前記一の128ビットソース/宛先レジスタ内に第1の結果を格納させ,
前記第2AES復号化命令が,前記実行部に,前記第2AES復号化命令の前記一の128ビットソースレジスタからデータを受信させ,逆列混合を含む複数の演算を実行させ,かつ,前記第2AES復号化命令の前記一の128ビット宛先レジスタ内に第2の結果を格納させるべく,
前記実行部が前記復号化部に連結されている,システム。
【請求項41】
前記第1AES復号化命令は,128ビットラウンド鍵,192ビットラウンド鍵および256ビットラウンド鍵のうちのいずれかを利用可能である,請求項40に記載のシステム。
【請求項42】
前記プロセッサは,前記第1AES復号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに有する,請求項40または41に記載のシステム。
【請求項43】
前記メモリコントローラは,ダブルデータレートメモリとの通信を制御する,請求項40から42のいずれか一項に記載のシステム。
【請求項44】
ランダムアクセスメモリ(RAM)と,
ネットワークインタフェースコントローラと,
前記RAMに連結されたプロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
4つのAdvanced Encryption Standard(AES)命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
前記複数の汎用コアのうちの前記1つの実行部と
を有し,
前記4つのAES命令のそれぞれは,固有演算コードを有し,
前記4つのAES命令は,
複数のうちの一の128ビットソース/宛先レジスタおよび複数のうちの一の128ビットソースレジスタを使用するための第1AES復号化命令と,
複数のうちの一の128ビットソースレジスタおよび複数のうちの一の128ビット宛先レジスタを使用するための第2AES復号化命令と
を含み,
前記第1AES復号化命令が,前記実行部に,前記第1AES復号化命令の前記一の128ビットソースレジスタおよび前記一の128ビットソース/宛先レジスタからデータを受信させ,逆バイト換字,逆行シフトおよび排他的論理和を含むが逆列混合が省かれた,AESシングル復号化ラウンドのため複数の演算を実行させ,かつ,前記一の128ビットソース/宛先レジスタ内に第1の結果を格納させ,
前記第2AES復号化命令が,前記実行部に,前記第2AES復号化命令の前記一の128ビットソースレジスタからデータを受信させ,逆列混合を含む複数の演算を実行させ,かつ,前記第2AES復号化命令の前記一の128ビット宛先レジスタ内に第2の結果を格納させるべく,
前記実行部が前記復号化部に連結されている,モバイルコンピュータ。
【請求項45】
前記第1AES復号化命令は,128ビットラウンド鍵,192ビットラウンド鍵および256ビットラウンド鍵のうちのいずれかを利用可能である,請求項44に記載のモバイルコンピュータ。
【請求項46】
前記プロセッサは,前記第1AES復号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに有する,請求項44または45に記載のモバイルコンピュータ。
【請求項47】
入出力コントローラをさらに備える,請求項44から46のいずれか一項に記載のモバイルコンピュータ。
【請求項48】
前記入出力コントローラに連結された格納デバイスをさらに備える,請求項47に記載のモバイルコンピュータ。
【請求項49】
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
4つのAdvanced Encryption Standard(AES)命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
前記複数の汎用コアのうちの前記1つの実行部と
を備え,
前記4つのAES命令のそれぞれは,固有演算コードを有し,
前記4つのAES命令は,
複数のうちの一の128ビットソース/宛先レジスタと,複数のうちの一の128ビットソースレジスタとを使用するための第1AES暗号化命令と,
複数のうちの一の128ビットソースレジスタと,複数のうちの一の128ビット宛先レジスタとを使用するための第2AES暗号化命令と,
複数のうちの一の128ビットソース/宛先レジスタと,複数のうちの一の128ビットソースレジスタとを使用するための第3AES復号化命令と,
複数のうちの一の128ビットソースレジスタと,複数のうちの一の128ビット宛先レジスタとを使用するための第4AES復号化命令と
を含み,
前記第1AES暗号化命令が,前記実行部に,前記第1AES暗号化命令の前記一の128ビットソース/宛先レジスタおよび前記第1AES暗号化命令の前記一の128ビットソースレジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記第1AES暗号化命令の前記一の128ビットソース/宛先レジスタ内に第1の結果を格納させ,
前記第2AES暗号化命令が,前記実行部に,前記第2AES暗号化命令の前記一の128ビットソースレジスタからデータを受信させ,列混合を含む複数の演算を実行させ,かつ,前記第2AES暗号化命令の前記一の128ビット宛先レジスタ内に第2の結果を格納させ,
前記第3AES復号化命令が,前記実行部に,前記第3AES復号化命令の前記一の128ビットソース/宛先レジスタおよび前記第3AES復号化命令の前記一の128ビットソースレジスタからデータを受信させ,逆バイト換字,逆行シフトおよび排他的論理和を含むが逆列混合が省かれた,AESシングル復号化ラウンドのための複数の演算を実行させ,かつ,前記第3AES復号化命令の前記一の128ビットソース/宛先レジスタ内に第3の結果を格納させ,
前記第4AES復号化命令が,前記実行部に,前記第4AES復号化命令の前記一の128ビットソースレジスタからデータを受信させ,逆列混合を含む複数の演算を実行させ,かつ,前記第4AES復号化命令の前記一の128ビット宛先レジスタ内に第4の結果を格納させるべく,
前記実行部が前記復号化部に連結されている,プロセッサ。
【請求項50】
前記AES暗号化命令は,128ビットラウンド鍵,192ビットラウンド鍵および256ビットラウンド鍵のうちのいずれかを利用可能である,請求項49に記載のプロセッサ。
【請求項51】
前記AES暗号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに備える,請求項49または50に記載のプロセッサ。
【請求項52】
メモリとの通信を制御するメモリコントローラと,
プロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
4つのAdvanced Encryption Standard(AES)命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
前記複数の汎用コアのうちの前記1つの実行部と
を有し,
前記4つのAES命令のそれぞれは,固有演算コードを有し,
前記4つのAES命令は,
複数のうちの一の128ビットソース/宛先レジスタおよび複数のうちの一の128ビットソースレジスタを使用するための第1AES暗号化命令と,
複数のうちの一の128ビットソースレジスタおよび複数のうちの一の128ビット宛先レジスタを使用するための第2AES暗号化命令と,
複数のうちの一の128ビットソース/宛先レジスタおよび複数のうちの一の128ビットソースレジスタを使用するための第3AES復号化命令と,
複数のうちの一の128ビットソースレジスタおよび複数のうちの一の128ビット宛先レジスタを使用するための第4AES復号化命令と
を含み,
前記第1AES暗号化命令が,前記実行部に,前記第1AES暗号化命令の前記一の128ビットソース/宛先レジスタおよび前記第1AES暗号化命令の前記一の128ビットソースレジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記第1AES暗号化命令の前記一の128ビットソース/宛先レジスタ内に第1の結果を格納させ,
前記第2AES暗号化命令が,前記実行部に,前記第2AES暗号化命令の前記一の128ビットソースレジスタからデータを受信させ,列混合を含む複数の演算を実行させ,かつ,前記第2AES暗号化命令の前記一の128ビット宛先レジスタ内に第2の結果を格納させ,
前記第3AES復号化命令が,前記実行部に,前記第3AES復号化命令の前記一の128ビットソース/宛先レジスタおよび前記第3AES復号化命令の前記一の128ビットソースレジスタからデータを受信させ,逆バイト換字,逆行シフトおよび排他的論理和を含むが逆列混合が省かれた,AESシングル復号化ラウンドのための複数の演算を実行させ,かつ,前記第3AES復号化命令の前記一の128ビットソース/宛先レジスタ内に第3の結果を格納させ,
前記第4AES復号化命令が,前記実行部に,前記第4AES復号化命令の前記一の128ビットソースレジスタからデータを受信させ,逆列混合を含む複数の演算を実行させ,かつ,前記第4AES復号化命令の前記一の128ビット宛先レジスタ内に第4の結果を格納させるべく,
前記実行部が前記復号化部に連結されている,システム。
【請求項53】
前記メモリは,ダブルデータレートメモリである,請求項52に記載のシステム。
【請求項54】
前記AES暗号化命令は,128ビットラウンド鍵,192ビットラウンド鍵および256ビットラウンド鍵を利用可能である,請求項52または53に記載のシステム。
【請求項55】
前記プロセッサは,前記AES暗号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに有する,請求項52から54のいずれか一項に記載のシステム。
【請求項56】
ランダムアクセスメモリ(RAM)と,
ネットワークインタフェースコントローラと,
前記RAMに連結されたプロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
4つのAdvanced Encryption Standard(AES)命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
前記複数の汎用コアのうちの前記1つの実行部と
を有し,
前記4つのAES命令のそれぞれは,固有演算コードを有し,
前記4つのAES命令は,
複数のうちの一の128ビットソース/宛先レジスタおよび複数のうちの一の128ビットソースレジスタを使用するための第1AES暗号化命令と,
複数のうちの一の128ビットソースレジスタおよび複数のうちの一の128ビット宛先レジスタを使用するための第2AES暗号化命令と,
複数のうちの一の128ビットソース/宛先レジスタおよび複数のうちの一の128ビットソースレジスタを使用するための第3AES復号化命令と,
複数のうちの一の128ビットソースレジスタおよび複数のうちの一の128ビット宛先レジスタを使用するための第4AES復号化命令と
を含み,
前記第1AES暗号化命令が,前記実行部に,前記第1AES暗号化命令の前記一の128ビットソース/宛先レジスタおよび前記第1AES暗号化命令の前記一の128ビットソースレジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記第1AES暗号化命令の前記一の128ビットソース/宛先レジスタ内に第1の結果を格納させ,
前記第2AES暗号化命令が,前記実行部に,前記第2AES暗号化命令の前記一の128ビットソースレジスタからデータを受信させ,列混合を含む複数の演算を実行させ,かつ,前記第2AES暗号化命令の前記一の128ビット宛先レジスタ内に第2の結果を格納させ,
前記第3AES復号化命令が,前記実行部に,第3AES復号化命令の前記一の128ビットソース/宛先レジスタおよび前記第3AES復号化命令の前記一の128ビットソースレジスタからデータを受信させ,逆バイト換字,逆行シフトおよび排他的論理和を含むが逆列混合が省かれた,AESシングル復号化ラウンドのための複数の演算を実行させ,かつ,前記第3AES復号化命令の前記一の128ビットソース/宛先レジスタ内に第3の結果を格納させ,
前記第4AES復号化命令が,前記実行部に,前記第4AES復号化命令の前記一の128ビットソースレジスタからデータを受信させ,逆列混合を含む複数の演算を実行させ,かつ,前記第4AES復号化命令の前記一の128ビット宛先レジスタ内に第4の結果を格納させるべく,
前記実行部が前記復号化部に連結されている,モバイルコンピュータ。
【請求項57】
前記AES暗号化命令は,128ビットラウンド鍵,192ビットラウンド鍵および256ビットラウンド鍵のうちのいずれかを利用可能である,請求項56に記載のモバイルコンピュータ。
【請求項58】
前記プロセッサは,前記AES暗号化命令を実行するマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに有する,請求項56または57に記載のモバイルコンピュータ。
【請求項59】
入出力コントローラをさらに備える,請求項56から58のいずれか一項に記載のモバイルコンピュータ。
【請求項60】
前記入出力コントローラに連結された格納デバイスをさらに備える,請求項59に記載のモバイルコンピュータ。」(以下,上記引用の請求項各項を,「補正前の請求項」という)は,
「【請求項1】
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
第1の128ビットソース/宛先レジスタおよび第2の128ビットソースレジスタを使用するためのAdvanced Encryption Standard(AES)暗号化命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
実行部であって,前記AES暗号化命令が,前記実行部に,前記第1の128ビットソース/宛先レジスタおよび前記第2の128ビットソースレジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記第1の128ビットソース/宛先レジスタ内に結果を格納させるべく,前記復号化部に連結された,前記複数の汎用コアのうちの前記1つの実行部と
を備え,
前記実行部は,AES鍵スケジューリング演算のために使用される1又は複数の実行ポートとは異なる実行ポートを有する,汎用プロセッサ。
【請求項2】
前記AES暗号化命令は,AES-128,AES-192およびAES-256のために利用されることが可能である,請求項1に記載の汎用プロセッサ。
【請求項3】
前記AES暗号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに備える,請求項1又は2に記載の汎用プロセッサ。
【請求項4】
メモリとの通信を制御するメモリコントローラと,
プロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
第1の128ビットソース/宛先レジスタおよび第2の128ビットソースレジスタを使用するためのAdvanced Encryption Standard(AES)暗号化命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
実行部であって,前記AES暗号化命令が,前記実行部に,前記第1の128ビットソース/宛先レジスタおよび前記第2の128ビットソースレジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記第1の128ビットソース/宛先レジスタ内に結果を格納させるべく,前記復号化部に連結された,前記複数の汎用コアのうちの前記1つの実行部と
を有し,
前記実行部は,AES鍵スケジューリング演算のために使用される1又は複数の実行ポートとは異なる実行ポートを含む,システム。
【請求項5】
前記AES暗号化命令は,AES-128,AES-192およびAES-256のために利用されることが可能である,請求項4に記載のシステム。
【請求項6】
前記プロセッサは,前記AES暗号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに有する,請求項4または5に記載のシステム。
【請求項7】
前記メモリコントローラは,ダブルデータレートメモリとの通信を制御する,請求項4から6のいずれか一項に記載のシステム。
【請求項8】
ランダムアクセスメモリ(RAM)と,
ネットワークインタフェースコントローラと,
前記RAMに連結されたプロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
第1の128ビットソース/宛先レジスタおよび第2の128ビットソースレジスタを使用するためのAdvanced Encryption Standard(AES)暗号化命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
実行部であって,前記AES暗号化命令が,前記実行部に,前記第1の128ビットソース/宛先レジスタおよび前記第2の128ビットソースレジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記第1の128ビットソース/宛先レジスタ内に結果を格納させるべく,前記復号化部に連結された,前記複数の汎用コアのうちの前記1つの実行部と
を有し,
前記実行部は,AES鍵スケジューリング演算のために使用される1又は複数の実行ポートとは異なる実行ポートを含む,モバイルコンピュータ。
【請求項9】
前記AES暗号化命令は,AES-128,AES-192およびAES-256のために利用されることが可能である,請求項8に記載のモバイルコンピュータ。
【請求項10】
前記AES暗号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに備える,請求項8または9に記載のモバイルコンピュータ。
【請求項11】
入出力コントローラをさらに備える,請求項8から10のいずれか一項に記載のモバ
ルコンピュータ。
【請求項12】
前記入出力コントローラに連結された格納デバイスをさらに備える,請求項11に記載のモバイルコンピュータ。
【請求項13】
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
4つのAdvanced Encryption Standard(AES)命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
前記複数の汎用コアのうちの前記1つの実行部と
を備え,
前記4つのAES命令のそれぞれは,固有演算コードを有し,
前記4つのAES命令は,
複数のうちの一の128ビットソース/宛先レジスタと,複数のうちの一の128ビットソースレジスタとを使用するための第1AES暗号化命令と,
複数のうちの一の128ビットソースレジスタと,複数のうちの一の128ビット宛先レジスタとを使用するための第2AES暗号化命令と
を含み,
第1AES暗号化命令が,前記実行部に,第1AES暗号化命令の前記一の128ビットソース/宛先レジスタおよび前記一の128ビットソースレジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記一の128ビットソース/宛先レジスタ内に第1の結果を格納させ,
前記第2AES暗号化命令が,前記実行部に,前記第2AES暗号化命令の前記一の128ビットソースレジスタからデータを受信させ,列混合を含む複数の演算を実行させ,かつ,前記第2AES暗号化命令の前記一の128ビット宛先レジスタ内に第2の結果を格納させるべく,前記実行部が前記復号化部に連結されており,
前記実行部は,AES鍵スケジューリング演算のために使用される1又は複数の実行ポートとは異なる実行ポートを含む,プロセッサ。
【請求項14】
前記第1AES暗号化命令は,AES-128,AES-192およびAES-256のために利用されることが可能である,請求項13に記載のプロセッサ。
【請求項15】
前記第1AES暗号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに備える,請求項13または14に記載のプロセッサ。
【請求項16】
メモリとの通信を制御するメモリコントローラと,
プロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
4つのAdvanced Encryption Standard(AES)命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
,前記複数の汎用コアのうちの前記1つの実行部と
を有し,
前記4つのAES命令のそれぞれは,固有演算コードを有し,
前記4つのAES命令は,
複数のうちの一の128ビットソース/宛先レジスタと,複数のうちの一の128ビットソースレジスタとを使用するための第1AES暗号化命令と,
複数のうちの一の128ビットソースレジスタと,複数のうちの一の128ビット宛先レジスタとを使用するための第2AES暗号化命令と
を含み,
前記第1AES暗号化命令が,前記実行部に,前記第1AES暗号化命令の前記一の128ビットソースレジスタおよび前記一の128ビットソース/宛先レジスタからデータを受信し,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記一の128ビットソース/宛先レジスタ内に第1の結果を格納させ,
前記第2AES暗号化命令が,前記実行部に,前記第2AES暗号化命令の前記一の128ビットソースレジスタからデータを受信させ,列混合を含む複数の演算を実行させ,かつ,前記第2AES暗号化命令の前記一の128ビット宛先レジスタ内に第2の結果を格納させるべく,
前記実行部が前記復号化部に連結されており,
前記実行部は,AES鍵スケジューリング演算のために使用される1又は複数の実行ポートとは異なる実行ポートを含む,システム。
【請求項17】
前記第1AES暗号化命令は,AES-128,AES-192およびAES-256のために利用されることが可能である,請求項16に記載のシステム。
【請求項18】
前記プロセッサは,前記第1AES暗号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに有する,請求項16または17に記載のシステム。
【請求項19】
前記メモリコントローラは,ダブルデータレートメモリとの通信を制御する,請求項16から18のいずれか一項に記載のシステム。
【請求項20】
ランダムアクセスメモリ(RAM)と,
ネットワークインタフェースコントローラと,
前記RAMに連結されたプロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
4つのAdvanced Encryption Standard(AES)命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
前記複数の汎用コアのうちの前記1つの実行部と
を有し,
前記4つのAES命令のそれぞれは,固有演算コードを有し,
前記4つのAES命令は,
複数のうちの一の128ビットソース/宛先レジスタと,複数のうちの一の128ビットソースレジスタとを使用するための第1AES暗号化命令と,
複数のうちの一の128ビットソースレジスタと,複数のうちの一の128ビット宛先レジスタとを使用するための第2AES暗号化命令と
を含み,
前記第1AES暗号化命令が,前記実行部に,前記第1AES暗号化命令の前記一の128ビットソースレジスタおよび前記一の128ビットソース/宛先レジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記一の128ビットソース/宛先レジスタ内に第1の結果を格納させ,
前記第2AES暗号化命令が,前記実行部に,前記第2AES暗号化命令の前記一の128ビットソースレジスタからデータを受信させ,列混合を含む複数の演算を実行させ,かつ,前記第2AES暗号化命令の前記一の128ビット宛先レジスタ内に第2の結果を格納させるべく,前記実行部が前記復号化部に連結されており,
前記実行部は,AES鍵スケジューリング演算のために使用される1又は複数の実行ポートとは異なる実行ポートを含む,モバイルコンピュータ。
【請求項21】
前記第1AES暗号化命令は,AES-128,AES-192およびAES-256のために利用されることが可能である,請求項20に記載のモバイルコンピュータ。
【請求項22】
前記プロセッサは,前記第1AES暗号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに有する,請求項20または21に記載のモバイルコンピュータ。
【請求項23】
入出力コントローラをさらに備える,請求項20から22のいずれか一項に記載のモバイルコンピュータ。
【請求項24】
前記入出力コントローラに連結された格納デバイスをさらに備える,請求項23に記載のモバイルコンピュータ。
【請求項25】
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
複数のうちの第1の128ビットソース/宛先レジスタおよび複数のうちの第2の128ビットソースレジスタを使用するためのAdvanced Encryption Standard(AES)復号化命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部であって,前記AES復号化命令は,暗号化を示す0の代わりに復号化を示す1である演算の方向を示すビットを含む,復号化部と,
実行部であって,前記AES復号化命令が,前記実行部に,前記第1の128ビットソース/宛先レジスタおよび前記第2の128ビットソースレジスタからデータを受信させ,逆バイト換字,逆行シフトおよび排他的論理和を含むが逆列混合が省かれた,AESシングル復号化ラウンドのための複数の演算を実行させ,かつ,前記第1の128ビットソース/宛先レジスタ内に結果を格納させるべく,前記復号化部に連結された,前記複数の汎用コアのうちの前記1つの実行部と
を備える,プロセッサ。
【請求項26】
前記AES復号化命令は,AES-128,AES-192およびAES-256のために利用されることが可能である,請求項25に記載のプロセッサ。
【請求項27】
前記AES復号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに備える,請求項25または26に記載のプロセッサ。
【請求項28】
メモリとの通信を制御するメモリコントローラと,
プロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
複数のうちの第1の128ビットソース/宛先レジスタおよび複数のうちの第2の128ビットソースレジスタを使用するためのAdvanced Encryption Standard(AES)復号化命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部であって,前記AES復号化命令は,暗号化を示す0の代わりに復号化を示す1である演算の方向を示すビットを含む,復号化部と,
実行部であって,前記AES復号化命令が,前記実行部に,前記第1の128ビットソース/宛先レジスタおよび前記第2の128ビットソースレジスタからデータを受信させ,逆バイト換字,逆行シフトおよび排他的論理和を含むが逆列混合が省かれた,AESシングル復号化ラウンドのための複数の演算を実行させ,かつ,前記第1の128ビットソース/宛先レジスタ内に結果を格納させるべく,前記復号化部に連結された,前記複数の汎用コアのうちの前記1つの実行部と
を有する,システム。
【請求項29】
前記AES復号化命令は,AES-128,AES-192およびAES-256のために利用されることが可能である,請求項28に記載のシステム。
【請求項30】
前記プロセッサは,前記AES復号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに有する,請求項28または29に記載のシステム。
【請求項31】
前記メモリコントローラは,ダブルデータレートメモリとの通信を制御する,請求項28から30のいずれか一項に記載のシステム。
【請求項32】
ランダムアクセスメモリ(RAM)と,
ネットワークインタフェースコントローラと,
前記RAMに連結されたプロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
複数のうちの第1の128ビットソース/宛先レジスタおよび複数のうちの第2の128ビットソースレジスタを使用するためのAdvanced Encryption Standard(AES)復号化命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
実行部であって,前記AES復号化命令が,前記実行部に,前記第1の128ビットソース/宛先レジスタおよび前記第2の128ビットソースレジスタからデータを受信させ,逆バイト換字,逆行シフトおよび排他的論理和を含むが逆列混合が省かれた,AESシングル復号化ラウンドのための複数の演算を実行させ,かつ,前記第1の128ビットソース/宛先レジスタ内に結果を格納させるべく,前記復号化部に連結された,前記複数の汎用コアのうちの前記1つの実行部と
を有し,
前記AES復号化命令は,暗号化を示す0の代わりに復号化を示す1である演算の方向を示すビットを含む,モバイルコンピュータ。
【請求項33】
前記AES復号化命令は,AES-128,AES-192およびAES-256のために利用されることが可能である,請求項32に記載のモバイルコンピュータ。
【請求項34】
前記プロセッサは,前記AES復号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに有する,請求項32または33に記載のモバイルコンピュータ。
【請求項35】
入出力コントローラをさらに備える,請求項32から34のいずれか一項に記載のモバイルコンピュータ。
【請求項36】
前記入出力コントローラに連結された格納デバイスをさらに備える,請求項35に記載のモバイルコンピュータ。
【請求項37】
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
4つのAdvanced Encryption Standard(AES)命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
前記複数の汎用コアのうちの前記1つの実行部と
を備え,
前記4つのAES命令のそれぞれは,固有演算コードを有し,
前記4つのAES命令が,
複数のうちの一の128ビットソース/宛先レジスタおよび複数のうちの一の128ビットソースレジスタを使用するための第1AES復号化命令と,
複数のうちの一の128ビットソースレジスタおよび複数のうちの一の128ビット宛先レジスタを使用するための第2AES復号化命令と
を含み,
前記第1AES復号化命令が,前記実行部に,前記第1AES復号化命令の前記一の128ビットソースレジスタおよび前記一の128ビットソース/宛先レジスタからデータを受信させ,逆バイト換字,逆行シフトおよび排他的論理和を含むが逆列混合が省かれた,AESシングル復号化ラウンドのため複数の演算を実行させ,かつ,前記一の128ビットソース/宛先レジスタ内に第1の結果を格納させ,
前記第2AES復号化命令が,前記実行部に,前記第2AES復号化命令の前記一の128ビットソースレジスタからデータを受信させ,逆列混合を含む複数の演算を実行させ,かつ,前記第2AES復号化命令の前記一の128ビット宛先レジスタ内に第2の結果を格納させるべく,
前記実行部が前記復号化部に連結されており,
前記実行部は,AES鍵スケジューリング演算のために使用される1又は複数の実行ポートとは異なる実行ポートを有する,プロセッサ。
【請求項38】
前記第1AES復号化命令は,AES-128,AES-192およびAES-256のために利用されることが可能である,請求項37に記載のプロセッサ。
【請求項39】
前記第1AES復号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに備える,請求項37または38に記載のプロセッサ。
【請求項40】
メモリとの通信を制御するメモリコントローラと,
プロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
4つのAdvanced Encryption Standard(AES)命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
前記複数の汎用コアのうちの前記1つの実行部と
を有し,
前記4つのAES命令のそれぞれは,固有演算コードを有し,
前記4つのAES命令は,
複数のうちの一の128ビットソース/宛先レジスタおよび複数のうちの一の128ビットソースレジスタを使用するための第1AES復号化命令と,
複数のうちの一の128ビット宛先レジスタおよび複数のうちの一の128ビットソースレジスタを使用するための第2AES復号化命令と
を含み,
前記第1AES復号化命令が,前記実行部に,前記第1AES復号化命令の前記一の128ビットソースレジスタおよび前記一の128ビットソース/宛先レジスタからデータを受信させ,逆バイト換字,逆行シフトおよび排他的論理和を含むが逆列混合が省かれた,AESシングル復号化ラウンドのため複数の演算を実行させ,かつ,前記一の128ビットソース/宛先レジスタ内に第1の結果を格納させ,
前記第2AES復号化命令が,前記実行部に,前記第2AES復号化命令の前記一の128ビットソースレジスタからデータを受信させ,逆列混合を含む複数の演算を実行させ,かつ,前記第2AES復号化命令の前記一の128ビット宛先レジスタ内に第2の結果を格納させるべく,
前記実行部が前記復号化部に連結されており,
前記実行部は,AES鍵スケジューリング演算のために使用される1又は複数の実行ポートとは異なる実行ポートを有する,システム。
【請求項41】
前記第1AES復号化命令は,AES-128,AES-192およびAES-256のために利用されることが可能である,請求項40に記載のシステム。
【請求項42】
前記プロセッサは,前記第1AES復号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに有する,請求項40または41に記載のシステム。
【請求項43】
前記メモリコントローラは,ダブルデータレートメモリとの通信を制御する,請求項40から42のいずれか一項に記載のシステム。
【請求項44】
ランダムアクセスメモリ(RAM)と,
ネットワークインタフェースコントローラと,
前記RAMに連結されたプロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
4つのAdvanced Encryption Standard(AES)命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
前記複数の汎用コアのうちの前記1つの実行部と
を有し,
前記4つのAES命令のそれぞれは,固有演算コードを有し,
前記4つのAES命令は,
複数のうちの一の128ビットソース/宛先レジスタおよび複数のうちの一の128ビットソースレジスタを使用するための第1AES復号化命令と,
複数のうちの一の128ビットソースレジスタおよび複数のうちの一の128ビット宛先レジスタを使用するための第2AES復号化命令と
を含み,
前記第1AES復号化命令が,前記実行部に,前記第1AES復号化命令の前記一の128ビットソースレジスタおよび前記一の128ビットソース/宛先レジスタからデータを受信させ,逆バイト換字,逆行シフトおよび排他的論理和を含むが逆列混合が省かれた,AESシングル復号化ラウンドのため複数の演算を実行させ,かつ,前記一の128ビットソース/宛先レジスタ内に第1の結果を格納させ,
前記第2AES復号化命令が,前記実行部に,前記第2AES復号化命令の前記一の128ビットソースレジスタからデータを受信させ,逆列混合を含む複数の演算を実行させ,かつ,前記第2AES復号化命令の前記一の128ビット宛先レジスタ内に第2の結果を格納させるべく,
前記実行部が前記復号化部に連結されており,
前記実行部は,AES鍵スケジューリング演算のために使用される1又は複数の実行ポートとは異なる実行ポートを有する,モバイルコンピュータ。
【請求項45】
前記第1AES復号化命令は,AES-128,AES-192およびAES-256のために利用されることが可能である,請求項44に記載のモバイルコンピュータ。
【請求項46】
前記プロセッサは,前記第1AES復号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに有する,請求項44または45に記載のモバイルコンピュータ。
【請求項47】
入出力コントローラをさらに備える,請求項44から46のいずれか一項に記載のモバイルコンピュータ。
【請求項48】
前記入出力コントローラに連結された格納デバイスをさらに備える,請求項47に記載のモバイルコンピュータ。
【請求項49】
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
4つのAdvanced Encryption Standard(AES)命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
前記複数の汎用コアのうちの前記1つの実行部と
を備え,
前記4つのAES命令のそれぞれは,固有演算コードを有し,
前記4つのAES命令は,
複数のうちの一の128ビットソース/宛先レジスタと,複数のうちの一の128ビットソースレジスタとを使用するための第1AES暗号化命令と,
複数のうちの一の128ビットソースレジスタと,複数のうちの一の128ビット宛先レジスタとを使用するための第2AES暗号化命令と,
複数のうちの一の128ビットソース/宛先レジスタと,複数のうちの一の128ビットソースレジスタとを使用するための第3AES復号化命令と,
複数のうちの一の128ビットソースレジスタと,複数のうちの一の128ビット宛先レジスタとを使用するための第4AES復号化命令と
を含み,
前記第1AES暗号化命令が,前記実行部に,前記第1AES暗号化命令の前記一の128ビットソース/宛先レジスタおよび前記第1AES暗号化命令の前記一の128ビットソースレジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記第1AES暗号化命令の前記一の128ビットソース/宛先レジスタ内に第1の結果を格納させ,
前記第2AES暗号化命令が,前記実行部に,前記第2AES暗号化命令の前記一の128ビットソースレジスタからデータを受信させ,列混合を含む複数の演算を実行させ,かつ,前記第2AES暗号化命令の前記一の128ビット宛先レジスタ内に第2の結果を格納させ,
前記第3AES復号化命令が,前記実行部に,前記第3AES復号化命令の前記一の128ビットソース/宛先レジスタおよび前記第3AES復号化命令の前記一の128ビットソースレジスタからデータを受信させ,逆バイト換字,逆行シフトおよび排他的論理和を含むが逆列混合が省かれた,AESシングル復号化ラウンドのための複数の演算を実行させ,かつ,前記第3AES復号化命令の前記一の128ビットソース/宛先レジスタ内に第3の結果を格納させ,
前記第4AES復号化命令が,前記実行部に,前記第4AES復号化命令の前記一の128ビットソースレジスタからデータを受信させ,逆列混合を含む複数の演算を実行させ,かつ,前記第4AES復号化命令の前記一の128ビット宛先レジスタ内に第4の結果を格納させるべく,
前記実行部が前記復号化部に連結されており,
前記実行部は,AES鍵スケジューリング演算のために使用される1又は複数の実行ポートとは異なる実行ポートを有する,プロセッサ。
【請求項50】
前記AES暗号化命令は,AES-128,AES-192およびAES-256のために利用されることが可能である,請求項49に記載のプロセッサ。
【請求項51】
前記AES暗号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに備える,請求項49または50に記載のプロセッサ。
【請求項52】
メモリとの通信を制御するメモリコントローラと,
プロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
4つのAdvanced Encryption Standard(AES)命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
前記複数の汎用コアのうちの前記1つの実行部と
を有し,
前記4つのAES命令のそれぞれは,固有演算コードを有し,
前記4つのAES命令は,
複数のうちの一の128ビットソース/宛先レジスタおよび複数のうちの一の128ビットソースレジスタを使用するための第1AES暗号化命令と,
複数のうちの一の128ビットソースレジスタおよび複数のうちの一の128ビット宛先レジスタを使用するための第2AES暗号化命令と,
複数のうちの一の128ビットソース/宛先レジスタおよび複数のうちの一の128ビットソースレジスタを使用するための第3AES復号化命令と,
複数のうちの一の128ビットソースレジスタおよび複数のうちの一の128ビット宛先レジスタを使用するための第4AES復号化命令と
を含み,
前記第1AES暗号化命令が,前記実行部に,前記第1AES暗号化命令の前記一の128ビットソース/宛先レジスタおよび前記第1AES暗号化命令の前記一の128ビットソースレジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記第1AES暗号化命令の前記一の128ビットソース/宛先レジスタ内に第1の結果を格納させ,
前記第2AES暗号化命令が,前記実行部に,前記第2AES暗号化命令の前記一の128ビットソースレジスタからデータを受信させ,列混合を含む複数の演算を実行させ,かつ,前記第2AES暗号化命令の前記一の128ビット宛先レジスタ内に第2の結果を格納させ,
前記第3AES復号化命令が,前記実行部に,前記第3AES復号化命令の前記一の128ビットソース/宛先レジスタおよび前記第3AES復号化命令の前記一の128ビットソースレジスタからデータを受信させ,逆バイト換字,逆行シフトおよび排他的論理和を含むが逆列混合が省かれた,AESシングル復号化ラウンドのための複数の演算を実行させ,かつ,前記第3AES復号化命令の前記一の128ビットソース/宛先レジスタ内に第3の結果を格納させ,
前記第4AES復号化命令が,前記実行部に,前記第4AES復号化命令の前記一の128ビットソースレジスタからデータを受信させ,逆列混合を含む複数の演算を実行させ,かつ,前記第4AES復号化命令の前記一の128ビット宛先レジスタ内に第4の結果を格納させるべく,
前記実行部が前記復号化部に連結されており,
前記実行部は,AES鍵スケジューリング演算のために使用される1又は複数の実行ポートとは異なる実行ポートを有する,システム。
【請求項53】
前記メモリは,ダブルデータレートメモリである,請求項52に記載のシステム。
【請求項54】
前記AES暗号化命令は,AES-128,AES-192およびAES-256のために利用されることが可能である,請求項52または53に記載のシステム。
【請求項55】
前記プロセッサは,前記AES暗号化命令を実行する複数のマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに有する,請求項52から54のいずれか一項に記載のシステム。
【請求項56】
ランダムアクセスメモリ(RAM)と,
ネットワークインタフェースコントローラと,
前記RAMに連結されたプロセッサと
を備え,
前記プロセッサは,
複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
4つのAdvanced Encryption Standard(AES)命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
前記複数の汎用コアのうちの前記1つの実行部と
を有し,
前記4つのAES命令のそれぞれは,固有演算コードを有し,
前記4つのAES命令は,
複数のうちの一の128ビットソース/宛先レジスタおよび複数のうちの一の128ビットソースレジスタを使用するための第1AES暗号化命令と,
複数のうちの一の128ビットソースレジスタおよび複数のうちの一の128ビット宛先レジスタを使用するための第2AES暗号化命令と,
複数のうちの一の128ビットソース/宛先レジスタおよび複数のうちの一の128ビットソースレジスタを使用するための第3AES復号化命令と,
複数のうちの一の128ビットソースレジスタおよび複数のうちの一の128ビット宛先レジスタを使用するための第4AES復号化命令と
を含み,
前記第1AES暗号化命令が,前記実行部に,前記第1AES暗号化命令の前記一の128ビットソース/宛先レジスタおよび前記第1AES暗号化命令の前記一の128ビットソースレジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記第1AES暗号化命令の前記一の128ビットソース/宛先レジスタ内に第1の結果を格納させ,
前記第2AES暗号化命令が,前記実行部に,前記第2AES暗号化命令の前記一の128ビットソースレジスタからデータを受信させ,列混合を含む複数の演算を実行させ,かつ,前記第2AES暗号化命令の前記一の128ビット宛先レジスタ内に第2の結果を格納させ,
前記第3AES復号化命令が,前記実行部に,第3AES復号化命令の前記一の128ビットソース/宛先レジスタおよび前記第3AES復号化命令の前記一の128ビットソースレジスタからデータを受信させ,逆バイト換字,逆行シフトおよび排他的論理和を含むが逆列混合が省かれた,AESシングル復号化ラウンドのための複数の演算を実行させ,かつ,前記第3AES復号化命令の前記一の128ビットソース/宛先レジスタ内に第3の結果を格納させ,
前記第4AES復号化命令が,前記実行部に,前記第4AES復号化命令の前記一の128ビットソースレジスタからデータを受信させ,逆列混合を含む複数の演算を実行させ,かつ,前記第4AES復号化命令の前記一の128ビット宛先レジスタ内に第4の結果を格納させるべく,
前記実行部が前記復号化部に連結されており,
前記実行部は,AES鍵スケジューリング演算のために使用される1又は複数の実行ポートとは異なる実行ポートを有する,モバイルコンピュータ。
【請求項57】
前記AES暗号化命令は,AES-128,AES-192およびAES-256のために利用されることが可能である,請求項56に記載のモバイルコンピュータ。
【請求項58】
前記プロセッサは,前記AES暗号化命令を実行するマイクロ演算を格納するマイクロコード読み取り専用メモリ(ROM)をさらに有する,請求項56または57に記載のモバイルコンピュータ。
【請求項59】
入出力コントローラをさらに備える,請求項56から58のいずれか一項に記載のモバイルコンピュータ。
【請求項60】
前記入出力コントローラに連結された格納デバイスをさらに備える,請求項59に記載のモバイルコンピュータ。」(以下,上記引用の請求項各項を,「補正後の請求項」という)に補正された。

2.補正の適否
(1)新規事項
本件手続補正が,特許法第17条の2第3項の規定を満たすものであるか否か,即ち,本件手続補正が,願書に最初に添付された,明細書,特許請求の範囲,及び,図面(以下,これを「当初明細書等」という)に記載した事項の範囲内でなされたものであるかについて,以下に検討する。

ア.本件手続補正は,補正前の請求項25に記載の「AES復号化命令」に対して,「AES復号化命令は,暗号化を示す0の代わりに復号化を示す1である演算の方向を示すビットを含む」という限定事項を付加することを含むものである。

イ.上記ア.において指摘の限定事項について検討すると,当初明細書等には,「AES復号化命令」に対して,「AES復号化命令は,暗号化を示す0の代わりに復号化を示す1である演算の方向を示すビットを含む」という記載は存在しない。
そこで,当初明細書等から,当該限定事項に相当する構成が読み取れるかについて,以下に検討する。

ウ.当初明細書等には,次の記載が存在する。

a.「【0027】
一実施形態では,暗号化ラウンド,復号化ラウンド,暗号化復号化最終ラウンド最終ラウンドを行い,ラウンド暗号鍵またはラウンド復号鍵を算出するのに,それぞれ別個のAES命令を含むAES命令セットが提供される。一実施形態では,AES命令セットが6つのAES命令を含む。各AESラウンド命令は,固有演算コード(opcode)を有する。固定幅ラウンド鍵の一実施形態(例えば128ビット)におけるAES命令セットのAESラウンド命令を,以下の表1に示す。
【表1】


【0028】
AES命令セットは,4つのAESラウンド命令(暗号化,復号化,暗号化最終ラウンド,復号化最終ラウンド),および2つのAESラウンド鍵命令(次のラウンド鍵および前のラウンド鍵)を含む。AES命令セットのAESラウンド命令は,最終ラウンド以外の全てのラウンドに利用される暗号化および復号化ラウンド演算を行うシングルラウンド演算を含む。例えば,表1のAESENCRYPTRoundのシングルラウンド命令では,入力データが128ビットレジスタ(xmmsrcdst)に格納され,ラウンド鍵が別の128ビットレジスタ(xmm)に格納される。この命令は,128ビットxmmsrcdstレジスタに格納されている入力データ(ソース)に対してAESラウンド演算を行い,128ビットxmmsrcdstレジスタに格納されている入力データを,ラウンド演算実行結果で上書きする。故に,xmmsrcdstは当初は入力データを,そして後には,AESラウンド演算結果を格納する。」

b.「【0031】
AES命令セットの他の2つのAES命令は,鍵のサイズ(つまり,128ビット,192ビット,または256ビット)に応じてAESラウンド用のラウンド鍵を生成する。これらAESラウンド鍵命令の一方は暗号化演算に利用されるラウンド鍵を生成し,他方は復号化演算に利用されるラウンド鍵を生成する。AESNextRoundKey AESPreviousRoundKey命令における直近のフィールドは,鍵のサイズを特定する{128,192,256}。」

c.「【0072】
図8は,ラウンド鍵を生成し暗号化および復号化を行うのに利用されうる直近のバイトを有するAESラウンド命令の一実施形態を示す。表1に示すAES命令セットの代わりに単一のAESラウンド命令を提供することで,AES命令セットの機能を行う。単一のAES命令が行う特定の機能は,直近のバイト(key_select_modifier)内のビットに暗号化されている。直近のバイトにより,AESラウンド命令は,各命令が固有演算コードを有する複数の新たな命令を作成する代わりに,新たな特徴を追加するよう拡張される。
【0073】
AESラウンド命令は,記号として以下のように定義されうる。
dest:=aes_key_round(source2,source1),key_select_modifier」

d.「【0075】
図8を参照すると,destはラウンドNに対して128ビットの拡張鍵を格納し,ソース2はラウンドN-1に対して128ビットの拡張鍵を格納し,ソース1はラウンドN-2に対して128ビットの拡張鍵を格納する。key_select_modifierは,現在のラウンド数(N),演算の方向(暗号化/復号化),およびAES鍵のサイズを提供するのに利用される8ビットの直近の値である。AES-128では,ソース1は不要であるので無視される。実行部はAES部であり,フラグ(整数または浮動小数点)は利用されない。」

e.「【0077】
直近のバイトのビット4は演算の方向(暗号化または復号化)を示す(例えば一実施形態では0=暗号,および1=復号,また別の実施形態では1=暗号,および0=復号,というように)。
(この段落,以下省略。)」

f.「



エ.上記cの「ラウンド鍵を生成し暗号化および復号化を行うのに利用されうる直近のバイトを有するAESラウンド命令の一実施形態を示す。表1に示すAES命令セットの代わりに単一のAESラウンド命令を提供することで,AES命令セットの機能を行う」という記載(なお,引用記載中の「直近」は,英語原文は“immediate”であり,当該技術分野においては,通常「即値」と日本語訳する。以下,同じ),同じく,上記cの「単一のAES命令が行う特定の機能は,直近のバイト(key_select_modifier)内のビットに暗号化されている。直近のバイトにより,AESラウンド命令は,各命令が固有演算コードを有する複数の新たな命令を作成する代わりに,新たな特徴を追加するよう拡張される」という記載,同じく上記cの「AESラウンド命令は,記号として以下のように定義されうる。 dest:=aes_key_round(source2,source1),key_select_modifier」という記載,上記dの「図8を参照すると,destはラウンドNに対して128ビットの拡張鍵を格納し,ソース2はラウンドN-1に対して128ビットの拡張鍵を格納し,ソース1はラウンドN-2に対して128ビットの拡張鍵を格納する。key_select_modifierは,現在のラウンド数(N),演算の方向(暗号化/復号化),およびAES鍵のサイズを提供するのに利用される8ビットの直近の値である」という記載,同じく,上記dの「key_select_modifierは,現在のラウンド数(N),演算の方向(暗号化/復号化),およびAES鍵のサイズを提供するのに利用される8ビットの直近の値である」という記載,及び,上記eの「直近のバイトのビット4は演算の方向(暗号化または復号化)を示す(例えば一実施形態では0=暗号,および1=復号,また別の実施形態では1=暗号,および0=復号,というように)」という記載から,上記cに「表1に示すAES命令セットの代わりに単一のAESラウンド命令を提供することで,AES命令セットの機能を行う」旨の記載はあるものの,同じく,上記dの「destはラウンドNに対して128ビットの拡張鍵を格納し,ソース2はラウンドN-1に対して128ビットの拡張鍵を格納し,ソース1はラウンドN-2に対して128ビットの拡張鍵を格納する」という記載から,上記cの「dest:=aes_key_round(source2,source1),key_select_modifier」という「AESラウンド命令」は,「暗号化」,或いは,「復号化」に用いる「ラウンド鍵」の生成に関する命令であると読み取ることができる。そうすると,当該「AESラウンド命令」における「key_select_modifier」に,「演算の方向(暗号化/復号化)」を示す情報が含まれているとしても,当該AESラウンド命令」は,上記a,及び,bに引用した,「表1に示すAES命令セット」のうち,「AESENCRYPTRoundのシングルラウンド命令」に相当する「128ビットxmmsrcdstレジスタに格納されている入力データ(ソース)に対してAESラウンド演算を行い,128ビットxmmsrcdstレジスタに格納されている入力データを,ラウンド演算実行結果で上書きする」といった処理を読み取ることはできず,高々,「暗号化」,或いは,「復号化」に用いる「ラウンド鍵」を生成することが読み取れるに止まる。
したがって,上記eの「直近のバイトのビット4は演算の方向(暗号化または復号化)を示す(例えば一実施形態では0=暗号,および1=復号,また別の実施形態では1=暗号,および0=復号,というように)」という記載が存在しているとしても,当該「0」,「1」は,生成されるラウンド鍵が,「暗号化」に用いられるか,「復号化」に用いるかを示す情報に過ぎず,当初明細書等の記載内容からは,補正後の本願の請求項25に記載されているような,「複数のうちの第1の128ビットソース/宛先レジスタおよび複数のうちの第2の128ビットソースレジスタを使用するためのAdvanced Encryption Standard(AES)復号化命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部であって,前記AES復号化命令は,暗号化を示す0の代わりに復号化を示す1である演算の方向を示すビットを含む,復号化部」が記載されていることを,読み取ることはできない。
よって,本件手続補正は,当初明細書等の記載の範囲内でなされたものでない。

3.補正却下むすび
したがって,本件手続補正は,特許法第17条の2第3項の規定に違反するので,同法第159条第1項において読み替えて準用する同法第53条第1項の規定により却下すべきものである。

よって,補正却下の決定の結論のとおり決定する。

第3.原審の拒絶理由
原審における平成27年12月8日付けの拒絶理由(以下,これを「原審拒絶理由」という)は,概略,次のとおりである。

「1.(新規事項)平成27年3月31日付けでした手続補正は,下記の点で願書に最初に添付した明細書,特許請求の範囲又は図面に記載した事項の範囲内においてしたものでないから,特許法第17条の2第3項に規定する要件を満たしていない。

2.(サポート要件)この出願は,特許請求の範囲の記載が下記の点で,特許法第36条第6項第1号に規定する要件を満たしていない。

3.(進歩性)この出願の下記の請求項に係る発明は,その出願前に日本国内又は外国において,頒布された下記の刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基いて,その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから,特許法第29条第2項の規定により特許を受けることができない。

記 (引用文献等については引用文献等一覧参照)

●理由1(新規事項)について
・請求項 2,5,9,14,17,21,26,29,33,38,41,45,50,54,57
平成27年3月31日付け手続補正書により,請求項2は「前記AES暗号化命令は,128ビットラウンド鍵,192ビットラウンド鍵および256ビットラウンド鍵のうちのいずれかを利用可能である,請求項1に記載のプロセッサ。」と補正され,他の請求項についても同様の補正がなされた。

この補正について検討するに,願書に最初に添付した明細書,特許請求の範囲又は図面(以下「当初明細書等」という)には,以下の記載がある。

「【0010】
AESは,128,192,または256ビットのサイズの鍵を用いて,128ビットブロックに施されるブロック暗号である。鍵のサイズに応じて,演算列を多くのラウンド(10,12,または14)について繰り返す。」

「【0028】
・・・前略・・・例えば,表1のAESENCRYPTRoundのシングルラウンド命令では,入力データが128ビットレジスタ(xmmsrcdst)に格納され,ラウンド鍵が別の128ビットレジスタ(xmm)に格納される。この命令は,128ビットxmmsrcdstレジスタに格納されている入力データ(ソース)に対してAESラウンド演算を行い,128ビットxmmsrcdstレジスタに格納されている入力データを,ラウンド演算実行結果で上書きする。故に,xmmsrcdstは当初は入力データを,そして後には,AESラウンド演算結果を格納する。」

「【0031】
AES命令セットの他の2つのAES命令は,鍵のサイズ(つまり,128ビット,192ビット,または256ビット)に応じてAESラウンド用のラウンド鍵を生成する。」

「【0033】
・・・前略・・・128ビット,192ビット,または256ビットの鍵の鍵スケジュールを生成する鍵は,レジスタファイル304内の複数の128ビットレジスタ308のいずれかに格納されていてよい。またラウンド鍵も,レジスタファイルの128ビットレジスタ308のいずれかに格納されてよい。」

「【0035】
鍵のサイズは,128ビット,192ビット,または256ビットであってよい。行われるラウンドの数(n)は,鍵のサイズに応じて1,10,12,または14で,各ラウンド鍵は固定サイズ(128ビット)であってよい。ラウンド値数が10,12,14の場合,AESマイクロ演算は,128ビット,192ビット,または256ビットの鍵サイズに対して標準的なAES暗号化および復号化を行ってよい。」

当初明細書等の明細書段落[0010],[0035]には,128,192,または256ビットのサイズの鍵を用いることが記載されているものの,その鍵が,AES暗号化命令が用いる「ラウンド鍵」であることは,記載されていない。そして,段落[0031]の記載,及び,段落[0035]の記載「128ビット,192ビット,または256ビットの鍵の鍵スケジュールを生成する鍵」を参照すれば,128,192,または256ビットのサイズの鍵とは,鍵スケジュールによりラウンド鍵を生成するために用いる鍵であって,ラウンド鍵ではない。そして,段落[0028]の記載「ラウンド鍵が別の128ビットレジスタ(xmm)に格納される。」,段落[0033]の記載「またラウンド鍵も,レジスタファイルの128ビットレジスタ308のいずれかに格納されてよい。
」,段落[0035]の記載「各ラウンド鍵は固定サイズ(128ビット)であってよい。」からすると,当初明細書等には,AES暗号化命令が用いるラウンド鍵が,128ビットであることは記載されているものの,192ビットあるいは256ビットであることは,記載も示唆もされていない。
そうすると「前記AES暗号化命令は,・・・192ビットラウンド鍵および256ビットラウンド鍵のうちのいずれかを利用可能である」ことをいう,請求項2に対する補正は,当初明細書等の記載の範囲内においてしたものではない。
他の請求項に対する補正についても同様のことがいえる。

●理由2(サポート要件)について

・請求項 2,5,9,14,17,21,26,29,33,38,41,45,50,54,57
請求項2に記載の「前記AES暗号化命令は,・・・192ビットラウンド鍵および256ビットラウンド鍵のうちのいずれかを利用可能である」なる事項は, 理由1.の項で述べたと同様のことから,本願明細書の発明の詳細な説明に記載されたものではない。他の請求項についても同様のことがいえる。

よって,請求項2,5,9,14,17,21,26,29,33,38,41,45,50,54,57に係る発明は,発明の詳細な説明に記載したものでない。

●理由3(進歩性)について
(以下,省略。)」

第4.原審拒絶理由についての当審の判断
1.17条の2第3項について
平成29年1月6日付けの手続補正は,上記のとおり却下されおり,平成28年6月15日付けの手続補正によっては,原審拒絶理由において,新規事項と指摘された「請求項2,5,9,14,17,21,26,29,33,38,41,45,50,54,57」の補正は行われていないので,拒絶理由に指摘の事項は,依然として解消していない。

2.36条6項1号について
原審拒絶理由における指摘は,17条の2第3項と同じ内容のものであるから,上記1.において検討したとおり,拒絶理由に指摘の事項は,依然として解消していない。

3.29条2項について
(1)本願発明について
平成29年1月6日付けの手続補正は,上記のとおり却下されたので,本願の請求項1に係る発明(以下,これを「本願発明」という)は,平成28年6月15日付けの手続補正により補正された特許請求の範囲の請求項1に記載された,上記「第2.平成29年1月6日付けの手続補正の却下の決定」の「1.補正の内容」において,補正前の請求項1として引用した,次のとおりのものである。

「 複数の汎用コアと,
複数の命令をキャッシュするレベル1命令キャッシュと,
レベル1データキャッシュと,
バスインタフェース部と,
複数の128ビットレジスタと,
第1の128ビットソース/宛先レジスタおよび第2の128ビットソースレジスタを使用するためのAdvanced Encryption Standard(AES)暗号化命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部と,
実行部であって,前記AES暗号化命令が,前記実行部に,前記第1の128ビットソース/宛先レジスタおよび前記第2の128ビットソースレジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記第1の128ビットソース/宛先レジスタ内に結果を格納させるべく,前記復号化部に連結された,前記複数の汎用コアのうちの前記1つの実行部と
を備える,汎用プロセッサ。」

(2)引用刊行物に記載の事項
ア.原審拒絶理由に引用された,本願の原出願の第1国出願前に既に公知である,「.Implementing the Advanced Encryption Standard on Xtensa Processors,Application note [online], 2005年11月, Tensilica, Inc.p1-75」(以下,これを「引用文献1」という)には,関連する図面と共に,次の事項が記載されている。

A.「


」(5頁下から19行?6頁4行)
(TIE言語は,カスタム・レジスタ・ファイルによって拡張されるXtensaプロセッサを可能にする。そのカスタム・レジスタ・ファイルは,1024ビット幅と,2から64レジスタ列まで可能である。AESエンジンは,AESレジスタ・ファイルと名付けられた,128ビット幅のレジスタ・ファイルによって,プロセッサを拡張することで,この機能を活用する。

AESレジスタ・ファイルをサポートするために,アセンブリ言語を記述する必要はない。そのCコンパイラは,自動的に,AESレジスタ・ファイルをサポートするように拡張される。TIE言語は,あなたに,ソフトウエア・プログラムと共に用いられ得る,カスタム・データ・タイプを定義することを許可する。丁度,Cの組込データ・タイプ(int,short,char,etc.)のように,コンパイラは,カスタム・レジスタ・ファイルのための,カスタム・データ・タイプのプログラム変数のレジスタ配分を管理する。もし,ソフトウエア・プログラムが,カスタム・データ・タイプの多くのインスタンスを用いるなら,レジスタ・ファイル内で,レジスタの数を増やすことによって,性能を良くすることができるであろう。AES暗号の簡素さに起因して,2-レジスタAESレジスタ・ファイルは,コア・エリアを最小化するように選択される。AESレジスタ・ファイルは,TIEにおいて,以下のように,簡単に定義される。

//Declare 128bit regfile aes
regfile aes 128 2 aes
<当審にて訳出。以下,同じ。>)

B.「

」(17頁1行?同頁7行)
(暗号化に先立って,いくつかの初期化が行われる。暗号鍵が,鍵スケジュールにおいて,既に拡張されていると仮定すると,ポインタp_keyは,鍵スケジュールのベース・アドレスと共に初期化される。同様に,ポインタp_inは,平文人力バッファのアドレスと共に初期化される。

暗号化は,ポインタp_inから,変数my_stateの中に割り当てられている平文から開始する。コンパイラは,AESレジスタ・ファイル内のレジスタを,my_state変数に割り当て,平文テキストデータを,割り当てられたレジスタの中にロードするために,aes_li命令を推測する。)

C.「

」(17頁21行?同頁41行)
(10 最適化:命令結合
前章において,AES変換と,これらAES変換を実行するために生成された,個々のTIE命令が,考察された。ROUNDKEY命令を除いて,それぞれは,実行するために,シングル・サイクルを要した。我々は,個々のTIE命令をまとめて,結合されたTIE命令とすることで,暗号化の効率を上げることができ,それぞれの暗号化ラウンドのために,シングル命令を発行し得る。しかしながら,暗号化ラウンドのいくつかに用いられた,変換の結合は,異なっている。暗号化ラウンドは,ラウンド0と,ラウンド10を除いて,変換の全てを用いることを思い出せ。ラウンド0においては,RoundKey変換のみが実行される。ラウンド10は,MixColumnes変換を使用しない。それ故,全ての暗号化ラウンドをサポートするために,3つの個別の命令が,必要とされる。

生成された3つのTIE命令は:

・ENSTEP0,それは,RoundKey変換のみを実行する。

・ENSTEP1,それは,全ての変換を実行する。

・ENSTEP2,それは,MixColumnes以外のすべての変換を実行する。

3つの命令全てに関して,別々の変換をサポートするために,独立したロジックを生成することは,多少,無駄があるかもしれない。ENSTEP0と,ENSTEP2は,ENSTEP1命令に含まれている,処理のサブセットを実行するので,ロジックは,それらの命令の間で,共有することができる。この共有は,全ての変換ステージを含む,TIEセマンティック・ブロックと共になされる。セマンティック・ブロックを介するデータ・フローは,取得された命令に基づいて,選択的に送られる。これは,以下に要約したTIEコードによって示される。)

D.「

」(19頁下から12行?同頁下から5行)
(パイプライン制御論理が,命令間のレジスタ依存状態を認めたときはいつでも,パイプライン・バブルが挿入される。ENSTEP1命令は,aes0レジスタ(2レジスタAESレジスタ・ファイルのレジスタ0)を,入力として,使用し,aes0レジスタの中に書き戻すための,新しい値を計算するために,2サイクルを使用する。続く命令もまた,aes0レジスタを使用するので,レジスタ依存状態が存在する。パイプライン制御論理は,aes0の新しい値が計算されてしまうまでは,引き続く命令が,開始することができなくなるように,バブルを挿入するであろう。パイプライン・バブルは,もし,ENSTEP命令の間に,aes0の独立な命令が挿入されたならば,取り除くことが可能である。)

イ.原審拒絶理由に引用された,本願の原出願の第1国出願前に既に公知である,「大島篤,新約・見てわかる パソコン解体新書:第3回 Coreマイクロアーキテクチャ に迫る[後編],[online],2007年2月1日.IT Media」(以下,これを「引用文献2」という)には,関連する図面と共に,次の事項が記載されている。

E.「



F.「



ウ.原審拒絶理由に引用された,本願の原出願の第1国出願前に既に公知である,「Bertoni, G. M., et al., Speeding Up AES Extending a 32bit Processor Instruction Set, International Conference on Application-specific Systems, Architectures and Processors, 2006, 2006年」(以下,これを「引用文献3」という)には,関連する図面と共に,次の事項が記載されている。

G.「5.1 Byte oriented solution
In the byte-oriented solution the used instructions are the byte-wise versions of both the SBox and the SMix instructions. Considering the status matrix stored in the in the registers R0-R3 and the round key stored in the registers R4-R7, the assembler code that performs one AES round is depicted on the left of Figure 3. For the last round the code is the same, but the SMix instruction must be replaced by SBox. At the beginning of the computation, four Xor instructions are sufficient to calculate the first key addition. Consider the current contribute stored in the registers R4-R7, and the round constant stored in R8; the assembler code that calculates the next contribute of the key schedule is shown on the right of Figure 3.」(4頁左欄下から4行?同頁右欄10行)
(バイト指向の解法において,用いられる命令は,SBox命令と,SMix命令の両方の,バイト拡張版である。レジスタR0-R3に格納された,ステータス・マトリクスと,レジスタR4-R7に格納された,ラウンド鍵を考慮して,1つのAESラウンドを行う,アセンブラ・コードは,図3の左側に描かれている。最後のラウンドのために,コードは同じであるが,SMix命令は,SBoxによって置き換えられねばならない。計算の開始において,4つのXor命令は,最初の鍵加算を計算するのに十分である。レジスタR4-R7に格納されている,現在の貢献と,R8に格納されている,ラウンド定数を考察せよ;鍵スケジュールの次の貢献を計算するアセンブラ・コードは,図3の右側に示されている。)

(3)引用文献1に記載の発明
ア.上記Aの「The TIE language enables the Xtensa processor to be extended with custom register files(TIE言語は,カスタム・レジスタ・ファイルによって拡張されるXtensaプロセッサを可能にする)」という記載,及び,同じく,上記Aの「The AES engine can take advantage of this capability by extending the processor with a 128-bit wide register file ,named the AES register file(AESエンジンは,AESレジスタ・ファイルと名付けられた,128ビット幅のレジスタ・ファイルによって,プロセッサを拡張することで,この機能を活用する)」という記載から,引用文献1においては,
“AES暗号化を実行するものであって,AESレジスタ・ファイルと呼ばれる,128ビット幅のレジスタ・ファイルを有する,Xtensaプロセッサ”が記載されていることが読み取れる。

イ.上記Aの「If a software program uses many instances of the custom data type,you could improve performance by increasing the number of registers in the register file(もし,ソフトウエア・プログラムが,カスタム・データ・タイプの多くのインスタンスを用いるなら,レジスタ・ファイル内で,レジスタの数を増やすことによって,性能を良くすることができるであろう)」という記載と,上記ア.において検討した事項から,引用文献1においては,
“AES暗号化を実行するものであって,AESレジスタ・ファイルと呼ばれる,128ビット幅のレジスタ・ファイルの中に,複数のレジスタを有する,Xtensaプロセッサ”が記載されていることが読み取れる。

ウ.上記Bの「The compiler allocates a register in the AES register file to the my_state variable and infers the aes_li instruction to load the plaintext data into the allocated register(コンパイラは,AESレジスタ・ファイル内のレジスタを,my_state変数に割り当て,平文テキストデータを,割り当てられたレジスタの中にロードするために,aes_li命令を推測する)」という記載と,上記ア.において検討した事項から,引用文献1からは,
“コンパイラによってコンパイルされた,平文テキストを,割り当てられたレジスタにロードするという命令を実行する,Xtensaプロセッサ”が読み取れる。

エ.上記Cの「AES transformations and created individual TIE instructions to perform these transformations were discussed(AES変換と,これらAES変換を実行するために生成された,個々のTIE命令が,考察された)」という記載と,同じく,上記Cの「We may increase the encryption performance by merging the individual TIE instructions into a combined TIE instruction and issue the single instruction for each encryption round(我々は,個々のTIE命令をまとめて,結合されたTIE命令とすることで,暗号化の効率を上げることができ,それぞれの暗号化ラウンドのために,シングル命令を発行し得る)」という記載,及び,同じく,上記Cの「Recall that the encryption rounds use all the transformations with the exception of round 0 and round 10(暗号化ラウンドは,ラウンド0と,ラウンド10を除いて,変換の全てを用いることを思い出せ)」という記載から,引用文献1においては,
“各AES暗号化ラウンドの為に,シングル命令が発行され,前記命令が実行される”ものであることが読み取れる。

オ.上記Cの「ENSTEP0 instruction that only performs the RoundKey transformation(ENSTEP0,それは,RoundKey変換のみを実行する)」という記載,同じく,上記Cの「ENSTEP1 instruction that performs all transformations(ENSTEP1,それは,全ての変換を実行する)」という記載,及び,上記Dの「The ENSTEP1 instruction takes the aes0 register(register0 of the 2 register AES register file) as an input and takes 2 cycles to calculate the new value to be written back into the aes0 register(ENSTEP1命令は,aes0レジスタ(2レジスタAESレジスタ・ファイルのレジスタ0)を,入力として,使用し,aes0レジスタの中に書き戻すための,新しい値を計算するために,2サイクルを使用する)」という記載と,上記ア.において検討した事項から,「aes0レジスタ」が,「128ビット幅」であることは明らかであることから,引用文献1においては,
“ラウンド0と,ラウンド10以外で実行される,RoundKey変換命令を含む,ENSTEP1命令は,128ビット幅のaes0レジスタに入力されたデータに対して,暗号化ラウンドを実行し,結果を,同じ,128ビット幅のaes0レジスタに書き戻す”ものであることが読み取れる。

カ.上記Cの「ENSTEP2 instruction that performs all transformations except the MixColumns transformation(ENSTEP2,それは,MixColumnes以外のすべての変換を実行する)」という記載から,
引用文献1において,「ENSTEP2命令」も,“RoundKey変換命令を含み,MixColumnesを行わない128ビット幅のaes0レジスタに入力されたデータに対して,暗号化ラウンドを実行し,結果を,同じ,128ビット幅のaes0レジスタに書き戻す”ことを行うものであることが読み取れる。

キ.以上,ア.?カ.において検討した事項から,引用文献1には,次の発明(以下,これを「引用発明」という)が記載されているものと認める。

「AES暗号化を実行するものであって,AESレジスタ・ファイルと呼ばれる,128ビット幅のレジスタ・ファイルの中に,複数のレジスタを有し,
コンパイラによってコンパイルされた,平文テキストを,割り当てられたレジスタにロードするという命令を実行し,
各AES暗号化ラウンドの為に,シングル命令が発行され,前記命令が実行され,
ラウンド0と,ラウンド10以外で実行される,RoundKey変換命令を含み,MixColumnesを行わない,ENSTEP2命令は,128ビット幅のaes0レジスタに入力されたデータに対して,暗号化ラウンドを実行し,結果を,同じ,128ビット幅のaes0レジスタに書き戻す,Xtensaプロセッサ。」

(4)本願発明と引用発明との対比
ア.引用発明においては,「AESレジスタ・ファイルと呼ばれる,128ビット幅のレジスタ・ファイルの中に,複数のレジスタを有」しているので,
引用発明における「AESレジスタ・ファイルと呼ばれる,128ビット幅のレジスタ・ファイルの中に,複数のレジスタ」が,
本願発明における「複数の128ビットレジスタ」に相当する。

イ.引用発明においても,「コンパイラ」が,「命令」を「コンパイル」しており,引用発明においては,「RoundKey変換命令を含む,ENSTEP1命令」が,存在し,当該命令は,「AES暗号化ラウンド」において実行される命令であるから,
本願発明における「第1の128ビットソース/宛先レジスタおよび第2の128ビットソースレジスタを使用するためのAdvanced Encryption Standard(AES)暗号化命令」とは,
“AES暗号化命令”である点で共通するので,
引用発明における「コンパイラによってコンパイルされた,平文テキストを,割り当てられたレジスタにロードするという命令」と,
本願発明における「第1の128ビットソース/宛先レジスタおよび第2の128ビットソースレジスタを使用するためのAdvanced Encryption Standard(AES)暗号化命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する,前記複数の汎用コアのうちの1つの復号化部」とは,
“AES暗号化命令を含む,複数の命令を復号化する,復号化部”である点で共通する。

ウ.引用発明において,「MixColumnesを行わない」ということは,即ち,「列混合」を行わないということであり,引用発明における「ENSTEP2命令」は,「AES暗号化ラウンド」において,それ以外の処理は,行うものであると解せるので,
引用発明における「RoundKey変換命令を含み,MixColumnesを行わない,ENSTEP2命令は,128ビット幅のaes0レジスタに入力されたデータに対して,暗号化ラウンドを実行し,結果を,同じ,128ビット幅のaes0レジスタに書き戻す」ことと,
本願発明における「実行部であって,前記AES暗号化命令が,前記実行部に,前記第1の128ビットソース/宛先レジスタおよび前記第2の128ビットソースレジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記第1の128ビットソース/宛先レジスタ内に結果を格納させるべく,前記復号化部に連結された,前記複数の汎用コアのうちの前記1つの実行部」とは,
“実行部であって,AES暗号化命令が,前記実行部に,第1の128ビットソース/宛先レジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記第1の128ビットソース/宛先レジスタ内に結果を格納させる,実行部”である点で共通する。

エ.以上,上記ア.?ウ.において検討したとおりであるから,本願発明と,引用発明との一致点,及び,相違点は,次のとおりである。

[一致点]
複数の128ビットレジスタと,
AES暗号化命令を含む,複数の命令を復号化する,復号化部と,
実行部であって,AES暗号化命令が,前記実行部に,第1の128ビットソース/宛先レジスタからデータを受信させ,バイト換字,行シフトおよび排他的論理和を含むが列混合が省かれた,AESシングル暗号化ラウンドのための複数の演算を実行させ,かつ,前記第1の128ビットソース/宛先レジスタ内に結果を格納させる,実行部と
を備える,汎用プロセッサ。

[相違点1]
本願発明においては,「複数の汎用コア」が存在しているのに対して,
引用発明においては,「コア」が複数あるかについては,言及されていない点。

[相違点2]
“複数の命令を復号化する”に関して,
本願発明においては,「複数の命令をキャッシュするレベル1命令キャッシュ」が存在し,「第1の128ビットソース/宛先レジスタおよび第2の128ビットソースレジスタを使用するためのAdvanced Encryption Standard(AES)暗号化命令を含む前記レベル1命令キャッシュからの前記複数の命令を復号化する」ものであるのに対して,
引用発明においては,「複数の命令をキャッシュするレベル1命令キャッシュ」についての言及がない点。

[相違点3]
本願発明が,「レベル1データキャッシュ」を備えるものであるのに対して,
引用発明においては,「レベル1データキャッシュ」の言及がない点。

[相違点4]
“128ビットソース/宛先レジスタからデータを受信させ”る点に関して,
本願発明においては,「第1の128ビットソース/宛先レジスタおよび前記第2の128ビットソースレジスタからデータを受信させ」るものであるのに対して,
引用発明においては,「第2の128ビットソースレジスタからデータを受信させ」ることについての言及がない点。

(5)相違点についての当審の判断
ア.[相違点1]について
上記Eに引用した,引用文献2の記載にもあるとおり,プロセッサに「複数のコア」を持たせるとことは,本願の原出願の第1国出願前に,当業者には周知の技術事項である。
したがって,引用発明におけるプロセッサが,「複数のコア」を有するよう構成することは,当業者が,適宜なし得る事項である。
よって,[相違点1]は,格別のものではない。

イ.[相違点2],及び,[相違点3]について
上記E及びFに引用した,引用文献2の記載にもあるとおり,プロセッサに,「複数の命令をキャッシュするレベル1命令キャッシュ」を設け,当該キャッシュからの,複数の命令をデコードするよう構成すること,及び,「レベル1データキャッシュ」を設け,アドレス等のデータを保持するように構成することは,本願の原出願の第1国出願前に,当業者には,周知の技術事項であるから,
引用発明におけるプロセッサに,「レベル1命令キャッシュ」,及び,「レベル1データキャッシュ」を設けることは,当業者が適宜なし得る事項である。
よって,[相違点2],及び,[相違点3]は,格別のものではない。

ウ.[相違点4]について
上記Gに引用した,引用文献3には,「データ」,「ラウンド鍵」の双方に,「レジスタ」を割り当てることが記載されていて,当該「データ」用の「レジスタ」,「ラウンド鍵」用の「レジスタ」は,「ビットソース」を扱っているといえるので,「ラウンド鍵」用の「レジスタ」に「第2の128ビットソースレジスタ」といった名称を与えることは,当業者が,必要に応じて適宜なし得る事項である。
そうすると,引用発明の「128ビット幅のaes0レジスタ」を「第1の128ビットソース/宛先レジスタおよび第2の128ビットソースレジスタ」とすることは,当業者が容易になし得る事項である。
よって,[相違点4]は,格別のものではない。

エ.以上,上記ア.?ウ.において検討したとおり,[相違点1]?[相違点4]は,そして,本願発明の構成によってもたらされる効果も,当業者であれば容易に予測できる程度のものであって,格別なものとは認められない。

第5.むすび
したがって,平成28年6月15日付けの手続補正は,特許法第17条の2第3項に規定する要件を満たしていない。
加えて,本願は,特許法第36条第6項第1号に規定する要件を満たしていない。
加えて,本願発明は,本願の特許出願前に日本国内又は外国において頒布された刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基づいて当業者が容易に発明をすることができたものであるので,特許法第29条第2項の規定により特許を受けることができない。

よって,結論のとおり審決する。
 
審理終結日 2018-01-23 
結審通知日 2018-01-30 
審決日 2018-02-14 
出願番号 特願2015-49638(P2015-49638)
審決分類 P 1 8・ 55- Z (G09C)
P 1 8・ 537- Z (G09C)
P 1 8・ 561- Z (G09C)
P 1 8・ 121- Z (G09C)
最終処分 不成立  
前審関与審査官 中里 裕正  
特許庁審判長 高木 進
特許庁審判官 佐久 聖子
石井 茂和
発明の名称 新暗号規格(AES)向けの柔軟なアーキテクチャおよび命令  
代理人 龍華国際特許業務法人  

プライバシーポリシー   セキュリティーポリシー   運営会社概要   サービスに関しての問い合わせ