JP4817185B2 - 埋め込み符号を持ったコンピュータ命令値フィールド - Google Patents
埋め込み符号を持ったコンピュータ命令値フィールド Download PDFInfo
- Publication number
- JP4817185B2 JP4817185B2 JP2006276107A JP2006276107A JP4817185B2 JP 4817185 B2 JP4817185 B2 JP 4817185B2 JP 2006276107 A JP2006276107 A JP 2006276107A JP 2006276107 A JP2006276107 A JP 2006276107A JP 4817185 B2 JP4817185 B2 JP 4817185B2
- Authority
- JP
- Japan
- Prior art keywords
- message digest
- instruction
- function
- bit
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims abstract description 21
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 14
- 238000004590 computer program Methods 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 64
- 238000004364 calculation method Methods 0.000 claims description 37
- 238000006073 displacement reaction Methods 0.000 description 29
- 230000007246 mechanism Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/20—Manipulating the length of blocks of bits, e.g. padding or block truncation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Power Engineering (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stereo-Broadcasting Methods (AREA)
- Manufacturing Of Printed Wiring (AREA)
- Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
- Complex Calculations (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明の好ましい諸実施形態の特徴は、添付図面に関連して取り上げた以下の詳細な説明により当業者には明らかになるであろう。
図1は、RRE命令フォーマットの中間メッセージ・ダイジェスト化計算(KIMD)命令の表現である。
図2は、RRE命令フォーマットの最終メッセージ・ダイジェスト化計算(KLMD)命令の表現である。
図6の記号は、中間メッセージ・ダイジェスト化計算機能および最終メッセージ・ダイジェスト化計算機能の以下の説明で使用する。セキュア・ハッシュ・アルゴリズムの詳細な説明は、1995年4月17日にワシントンDCのNational Institute of Standards and Technologyより発行された「Secure Hash Standard, Federal Information Processing Standards」という資料の180−1に記載されている可能性がある。
この命令によって使用されるオペランドおよびアドレスのロケーションは図5に示されている通りである。
KIMD照会パラメータ・ブロックは図7に示されているフォーマットを有する。
128ビットの状況ワードはパラメータ・ブロックに保管される。このフィールドのビット0〜127は、それぞれ中間メッセージ・ダイジェスト化計算命令の機能コード0〜127に対応する。あるビットが1である場合、対応する機能がインストールされており、そうではない場合、その機能はインストールされていない。
KIMD照会機能の実行が完了すると、条件コード0が設定され、条件コード3はこの機能には適用不能である。
この命令によって使用されるオペランドおよびアドレスのロケーションは図5に示されている通りである。
KIMD−SHA−1機能に使用されるパラメータ・ブロックは図8に示されているフォーマットを有する。
20バイトの中間メッセージ・ダイジェスト化は、パラメータ・ブロックに20バイトのチェーン値を指定したSHA−1ブロック・ダイジェスト化・アルゴリズムを使用して、オペランド2の64バイトのメッセージ・ブロック用に生成される。生成された中間メッセージ・ダイジェスト化は、出力チェーン値(OCV)とも呼ばれ、パラメータ・ブロックのチェーン値フィールドに保管される。KIMD−SHA−1動作は図9に示されている。
この命令によって使用されるオペランドおよびアドレスのロケーションは図5に示されている通りである。
KLMD照会機能に使用されるパラメータ・ブロックは図10に示されているフォーマットを有する。
128ビットの状況ワードはパラメータ・ブロックに保管される。このフィールドのビット0〜127は、それぞれ最終メッセージ・ダイジェスト化計算命令の機能コード0〜127に対応する。あるビットが1である場合、対応する機能がインストールされており、そうではない場合、その機能はインストールされていない。
KLMD照会機能の実行が完了すると、条件コード0が設定され、条件コード3はこの機能には適用不能である。
この命令によって使用されるオペランドおよびアドレスのロケーションは図5に示されている通りである。
KLMD−SHA−1機能に使用されるパラメータ・ブロックは図11に示されているフォーマットを有する。
オペランド2のメッセージ(M)用のメッセージ・ダイジェスト化は、パラメータ・ブロックにチェーン値およびメッセージ・ビット長情報を指定したSHA−1アルゴリズムを使用して生成される。
以下の追加の記号は、最終メッセージ・ダイジェスト化計算機能の説明で使用される。
L ストレージ内のオペランド2のバイト長
p<n> n個の埋込みバイト;左端のバイトは16進の80であり、他のバイトはいずれも16進の00である。
z<56> 0からなる56個の埋込みバイトである。
Mbl 全メッセージのビット長を指定する8バイトの値
q<64> 56バイト分の0とそれに続く8バイトのmblからなる埋込みブロック
以下のいずれかが発生した場合、指定例外が認識され、他のアクションは一切行われない。
1.汎用レジスタ0のビット56がゼロではない。
2.汎用レジスタ0のビット57〜63が未割当ての機能コードまたはアンインストールされた機能コードを指定する。
3.R2フィールドが奇数レジスタまたは汎用レジスタ0を指定する。
4.中間メッセージ・ダイジェスト化計算の場合、第2オペランド長が指定された機能のデータ・ブロック・サイズの倍数ではない(中間メッセージ・ダイジェスト化計算機能のデータ・ブロック・サイズを決定するためには図3を参照されたい)。この指定例外条件は照会機能には適用されず、最終メッセージ・ダイジェスト化計算にも適用されない。
0 正常完了
1 ――
2 ――
3 部分完了
アクセス(Access)
オペランド2およびメッセージ・ビット長の取出し;
チェーン値の取出しおよび保管
動作(Operation)
メッセージ・セキュリティ支援機能がインストールされていない場合
指定(Specification)
1.汎用レジスタ0のビット56は、将来の拡張のために予約されており、ゼロに設定しなければならない。
2.条件コード3が設定されると、それぞれ汎用レジスタR2およびR2+1内の第2オペランド・アドレスおよび長さならびにパラメータ・ブロック内のチェーン値は、通常、プログラムが単純に分岐してその命令に戻り、その動作を継続できるように更新される。
異常な状況では、CPUは、進行なしケースの場合に無限の再発を防止する。したがって、プログラムは、無限ループに対する露出なしに条件コード3が設定される場合に必ず、安全に分岐してその命令に戻ることができる。
3.第2オペランドの長さが最初に非ゼロであり、条件コード0が設定される場合、レジスタは条件コード3の場合と同様に更新され、このケースのチェーン値は、それらが同じチェーンの一部であった場合と同様に追加のオペランドを処理できるようなものになっている。
4.中間メッセージ・ダイジェスト化計算命令と最終メッセージ・ダイジェスト化計算命令は、セキュリティ・サービス・アプリケーション・プログラミング・インターフェース(API)によって使用されるように設計されている。これらのAPIは、大きすぎて一度にすべてがストレージ内に収まらないようなものを含む、ほとんど無制限のサイズのメッセージのダイジェスト化を計算するための手段をプログラムに提供する。これは、プログラムがメッセージを部分単位でAPIに渡せるようにすることにより実施される。以下のプログラミング上の注意は、これらのAPIに関して記載されている。
5.メッセージの第1の部分を処理する前に、プログラムはチェーン値フィールド用の初期値を設定しなければならない。SHA−1の場合、初期チェーン値は以下のようにリストされる。
H0=x‘6745 2301’
H1=x‘EFCD AB89’
H2=x‘98BA DCFE’
H3=x‘1032 5476’
H4=x‘C3D2 E1F0’
6.最後の部分以外のメッセージ部分を処理する場合、プログラムは512ビット(64バイト)の倍数単位でメッセージ部分を処理し、中間メッセージ・ダイジェスト化計算命令を使用しなければならない。
7.最後のメッセージ部分を処理する場合、プログラムは元のメッセージの長さをビット単位で計算し、この64ビットの値をパラメータ・ブロックのメッセージ・ビット長フィールドに入れ、最終メッセージ・ダイジェスト化計算命令を使用しなければならない。
8.最終メッセージ・ダイジェスト化計算命令では、第2オペランドがブロック・サイズの倍数である必要はない。その命令は、まず完全なブロックを処理し、すべてのブロックを処理する前に条件コード3を設定することができる。すべての完全なブロックを処理した後、その命令は、第2オペランドの残りの部分を含む、埋込み動作を実行する。これは、SHA−1ブロック・ダイジェスト化・アルゴリズムの1回または2回の反復を必要とする可能性がある。
9.最終メッセージ・ダイジェスト化計算命令は、長さが8ビットの倍数であるメッセージに関するSHA−1埋込みを提供する。8ビットの倍数ではないビット・ストリングにSHA−1を適用する場合、プログラムは、埋込みを実行し、中間メッセージ・ダイジェスト化計算命令を使用しなければならない。
好ましい実施形態では暗号コプロセッサを提供するが、これは、本明細書に記載した命令とともに使用でき、更に暗号メッセージを実行し、チェーニング及び暗号化の用途のために適切な命令とともに使用することができるタスクを様々なチェーン・メッセージの中で支援するためのものである。
Claims (10)
- コンピュータ・システムにおいてメッセージ・ダイジェスト化命令を実行する方法であって、該メッセージ・ダイジェスト化命令は照会機能を含み、該コンピュータ・システムは複数の汎用レジスタ、コンピュータ・メモリと通信可能な汎用マイクロプロセッサを含み、該汎用マイクロプロセッサは1以上の実行ユニットを含み、該実行ユニットはコンピュータ・メモリからフェッチされた命令を実行し、
前記方法は、
メッセージ・ダイジェスト化命令をフェッチするステップと、
前記メッセージ・ダイジェスト化命令をフェッチすることに応答して、予め定義された機能コードによって指定された実行されるべきメッセージ・ダイジェスト化動作を決定するステップであって、前記メッセージ・ダイジェスト化命令中で特定される前記予め定義された機能コードは、メッセージ・ダイジェスト化計算動作又は機能照会動作のいずれか1つを定義する、前記決定するステップと、
前記決定された実行されるべきメッセージ・ダイジェスト化動作がメッセージ・ダイジェスト化計算動作である場合、
前記メッセージ・ダイジェスト化計算動作を実行するステップであって、前記メッセージ・ダイジェスト化計算動作が前記メッセージ・ダイジェスト化命令で指定された、前記コンピュータ・メモリ上のロケーションに対して、ハッシュ・アルゴリズムを実行することを含む、前記実行するステップと、
前記決定された実行されるべきメッセージ・ダイジェスト化動作が機能照会動作である場合、
状況ワード・ビットをパラメータ・ブロック内に保存するステップであって、前記状況ワード・ビットのそれぞれは、前記メッセージ・ダイジェスト化命令の機能としてインストールされている機能のコードのそれぞれに対応し、当該状況ワードの各ビットが1である場合に、当該ビットに対応する前記機能が前記汎用マイクロプロセッサ上にインストールされており、そうでない場合に前記機能がインストールされていない、前記保存するステップと
を含む、前記方法。 - 前記メッセージ・ダイジェスト化計算動作を実行するステップが、
x1)パラメータ・ブロック内のチェーン値フィールド用の20バイトのチェーン値を取得するステップと、
x2)前記オペランドの64バイト・ブロックを入手するステップと、
x3)前記20バイトのチェーン値を用いて、前記オペランドの64バイト・ブロックをハッシュし、新しい20バイトのチェーン値を生成するステップと、
x4)前記オペランドの継続的なブロックのためにステップx2及びx3を繰り返すステップと、
x5)前記生成された新しい20バイトのチェーン値を保存するステップと
を含む、請求項1に記載の方法。 - 前記ハッシュするステップが、セキュアハッシュアルゴリズム(SHA−1)を使用することを含む、請求項2に記載の方法。
- 取得されるべきチェーン値として、20バイトの16進数値、‘6745 2301’、‘EFCD AB89’、‘98BA DCFE’、‘1032 5476’、‘C3D2 E1F0’を格納するステップをさらに含む、請求項2に記載の方法。
- 前記メッセージ・ダイジェスト化命令が、中間メッセージ・ダイジェスト化計算命令又は最終メッセージ・ダイジェスト化計算命令のいずれかを含む、請求項1に記載の方法。
- 前記メッセージ・ダイジェスト化命令が、前記汎用マイクロプロセッサの命令アーキテクチャにネイティブであるフォーマットである、請求項1に記載の方法。
- 前記メッセージ・ダイジェスト化命令が、前記汎用マイクロプロセッサの命令アーキテクチャにネイティブでないフォーマットである場合、
前記メッセージ・ダイジェスト化命令の命令をエミュレートするための所定のソフトウェア・サブルーチンを識別するために前記メッセージ・ダイジェスト化命令を解読するステップと、
前記所定のソフトウェア・サブルーチンを実行するステップと
を含む、請求項1に記載の方法。 - 前記メッセージ・ダイジェスト化命令が
オペコード・フィールドを備え、かつ、符号化された値であることを表す符号化フィールドと関連付けられており、前記符号化フィールドは、
符号インジケータを含む符号インジケータ・フィールドと、
前記符号インジケータ・フィールドの一方の側に隣接し、第1の絶対値(数の大きさ)を含む第1の絶対値フィールドと、
前記符号インジケータ・フィールドの他の一方の側に隣接し、第2の絶対値(数の大きさ)を含む第2の絶対値フィールドと
から構成される、請求項1に記載の方法。 - 前記オペコード・フィールドにより定義された機能を実行するために、前記符号化された値を使用し、該符号化された値が、
前記符号インジケータと、
前記第1の絶対値と、
前記第2の絶対値と
から構成される、請求項8に記載の方法。 - コンピュータ・システムにおいてメッセージ・ダイジェスト化命令を実行するコンピュータ・プログラムであって、該メッセージ・ダイジェスト化命令は照会機能を含み、該コンピュータ・システムは複数の汎用レジスタ、コンピュータ・メモリと通信可能な汎用マイクロプロセッサを含み、該汎用マイクロプロセッサは1以上の実行ユニットを含み、該実行ユニットはコンピュータ・メモリからフェッチされた命令を実行し、
前記コンピュータ・システムに、
メッセージ・ダイジェスト化命令をフェッチするステップと、
前記メッセージ・ダイジェスト化命令をフェッチすることに応答して、予め定義された機能コードによって指定された実行されるべきメッセージ・ダイジェスト化動作を決定するステップであって、前記メッセージ・ダイジェスト化命令中で特定される前記予め定義された機能コードは、メッセージ・ダイジェスト化計算動作又は機能照会動作のいずれか1つを定義する、前記決定するステップと、
前記決定された実行されるべきメッセージ・ダイジェスト化動作がメッセージ・ダイジェスト化計算動作である場合、
前記メッセージ・ダイジェスト化計算動作を実行するステップであって、前記メッセージ・ダイジェスト化計算動作が前記メッセージ・ダイジェスト化命令で指定された、前記コンピュータ・メモリ上のロケーションに対して、ハッシュ・アルゴリズムを実行することを含む、前記実行するステップと、
前記決定された実行されるべきメッセージ・ダイジェスト化動作が機能照会動作である場合、
状況ワード・ビットをパラメータ・ブロック内に保存するステップであって、前記状況ワード・ビットのそれぞれは、前記メッセージ・ダイジェスト化命令の機能としてインストールされている機能のコードのそれぞれに対応し、当該状況ワードの各ビットが1である場合に、当該ビットに対応する前記機能が前記汎用マイクロプロセッサ上にインストールされており、そうでない場合に前記機能がインストールされていない、前記保存するステップと
を実行させる、前記コンピュータ・プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/436,230 US7159122B2 (en) | 2003-05-12 | 2003-05-12 | Message digest instructions |
US10/436,230 | 2003-05-12 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006506214A Division JP4817189B2 (ja) | 2003-05-12 | 2004-05-04 | メッセージ・ダイジェスト化命令を実行するための方法、システムおよびコンピュータ・プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007080278A JP2007080278A (ja) | 2007-03-29 |
JP4817185B2 true JP4817185B2 (ja) | 2011-11-16 |
Family
ID=33417120
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006506214A Expired - Lifetime JP4817189B2 (ja) | 2003-05-12 | 2004-05-04 | メッセージ・ダイジェスト化命令を実行するための方法、システムおよびコンピュータ・プログラム |
JP2006276107A Expired - Lifetime JP4817185B2 (ja) | 2003-05-12 | 2006-10-10 | 埋め込み符号を持ったコンピュータ命令値フィールド |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006506214A Expired - Lifetime JP4817189B2 (ja) | 2003-05-12 | 2004-05-04 | メッセージ・ダイジェスト化命令を実行するための方法、システムおよびコンピュータ・プログラム |
Country Status (11)
Country | Link |
---|---|
US (2) | US7159122B2 (ja) |
EP (1) | EP1623316B1 (ja) |
JP (2) | JP4817189B2 (ja) |
CN (1) | CN1799024B (ja) |
AT (1) | ATE350702T1 (ja) |
DE (1) | DE602004004101T2 (ja) |
ES (1) | ES2279365T3 (ja) |
GB (1) | GB2416609B (ja) |
PL (1) | PL1623316T3 (ja) |
RU (1) | RU2344467C2 (ja) |
WO (1) | WO2004099975A2 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040230813A1 (en) * | 2003-05-12 | 2004-11-18 | International Business Machines Corporation | Cryptographic coprocessor on a general purpose microprocessor |
KR101123742B1 (ko) * | 2005-12-23 | 2012-03-16 | 삼성전자주식회사 | 사용자 인터페이스와 소프트웨어 간의 신뢰 경로 설정 방법및 장치 |
JP5263498B2 (ja) * | 2008-07-09 | 2013-08-14 | セイコーエプソン株式会社 | 信号処理プロセッサ及び半導体装置 |
JP5263497B2 (ja) * | 2008-07-09 | 2013-08-14 | セイコーエプソン株式会社 | 信号処理プロセッサ及び半導体装置 |
US20100250965A1 (en) * | 2009-03-31 | 2010-09-30 | Olson Christopher H | Apparatus and method for implementing instruction support for the advanced encryption standard (aes) algorithm |
US20100246815A1 (en) * | 2009-03-31 | 2010-09-30 | Olson Christopher H | Apparatus and method for implementing instruction support for the kasumi cipher algorithm |
US8832464B2 (en) * | 2009-03-31 | 2014-09-09 | Oracle America, Inc. | Processor and method for implementing instruction support for hash algorithms |
US8654970B2 (en) * | 2009-03-31 | 2014-02-18 | Oracle America, Inc. | Apparatus and method for implementing instruction support for the data encryption standard (DES) algorithm |
US9317286B2 (en) * | 2009-03-31 | 2016-04-19 | Oracle America, Inc. | Apparatus and method for implementing instruction support for the camellia cipher algorithm |
US8356185B2 (en) * | 2009-10-08 | 2013-01-15 | Oracle America, Inc. | Apparatus and method for local operand bypassing for cryptographic instructions |
US9851969B2 (en) | 2010-06-24 | 2017-12-26 | International Business Machines Corporation | Function virtualization facility for function query of a processor |
US10521231B2 (en) | 2010-06-24 | 2019-12-31 | International Business Machines Corporation | Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor |
US8312258B2 (en) * | 2010-07-22 | 2012-11-13 | Intel Corporation | Providing platform independent memory logic |
US8737604B2 (en) | 2011-05-09 | 2014-05-27 | Advanced Micro Devices, Inc. | Processor with architecture implementing the advanced encryption standard |
US8874933B2 (en) * | 2012-09-28 | 2014-10-28 | Intel Corporation | Instruction set for SHA1 round processing on 128-bit data paths |
US9201629B2 (en) | 2013-03-14 | 2015-12-01 | International Business Machines Corporation | Instruction for performing a pseudorandom number seed operation |
US9276750B2 (en) * | 2013-07-23 | 2016-03-01 | Intel Corporation | Secure processing environment measurement and attestation |
US9787278B1 (en) | 2016-09-26 | 2017-10-10 | International Business Machines Corporation | Lossless microwave switch based on tunable filters for quantum information processing |
US10348506B2 (en) * | 2016-09-30 | 2019-07-09 | International Business Machines Corporation | Determination of state of padding operation |
US9680653B1 (en) * | 2016-10-13 | 2017-06-13 | International Business Machines Corporation | Cipher message with authentication instruction |
US10630312B1 (en) * | 2019-01-31 | 2020-04-21 | International Business Machines Corporation | General-purpose processor instruction to perform compression/decompression operations |
US10831497B2 (en) * | 2019-01-31 | 2020-11-10 | International Business Machines Corporation | Compression/decompression instruction specifying a history buffer to be used in the compression/decompression of data |
US11061685B2 (en) * | 2019-02-27 | 2021-07-13 | International Business Machines Corporation | Extended asynchronous data mover functions compatibility indication |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2458331A1 (de) | 1973-12-13 | 1975-06-19 | Honeywell Inf Systems | Datenverarbeitungssystem zur adressierung eines in einem sekundaerspeicher abgelegten datensatzes |
JPS56121138A (en) * | 1980-02-28 | 1981-09-22 | Nippon Telegr & Teleph Corp <Ntt> | Buffer memory controlling system |
US4578530A (en) * | 1981-06-26 | 1986-03-25 | Visa U.S.A., Inc. | End-to-end encryption system and method of operation |
DE68926200T2 (de) | 1988-08-11 | 1996-10-17 | Ibm | Geheime Datenübertragung mittels Steuervektoren |
US5200999A (en) * | 1991-09-27 | 1993-04-06 | International Business Machines Corporation | Public key cryptosystem key management based on control vectors |
AU6629894A (en) | 1993-05-07 | 1994-12-12 | Apple Computer, Inc. | Method for decoding guest instructions for a host computer |
US5666411A (en) * | 1994-01-13 | 1997-09-09 | Mccarty; Johnnie C. | System for computer software protection |
US5551013A (en) | 1994-06-03 | 1996-08-27 | International Business Machines Corporation | Multiprocessor for hardware emulation |
US5673319A (en) | 1995-02-06 | 1997-09-30 | International Business Machines Corporation | Block cipher mode of operation for secure, length-preserving encryption |
US5765030A (en) | 1996-07-19 | 1998-06-09 | Symantec Corp | Processor emulator module having a variable pre-fetch queue size for program execution |
US5774670A (en) * | 1995-10-06 | 1998-06-30 | Netscape Communications Corporation | Persistent client state in a hypertext transfer protocol based client-server system |
US5790825A (en) | 1995-11-08 | 1998-08-04 | Apple Computer, Inc. | Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions |
US6009261A (en) | 1997-12-16 | 1999-12-28 | International Business Machines Corporation | Preprocessing of stored target routines for emulating incompatible instructions on a target processor |
US6226750B1 (en) * | 1998-01-20 | 2001-05-01 | Proact Technologies Corp. | Secure session tracking method and system for client-server environment |
JPH11249873A (ja) * | 1998-03-02 | 1999-09-17 | Mitsubishi Electric Corp | ドライバ機能の動的管理方式及び動的管理方法 |
US6308255B1 (en) | 1998-05-26 | 2001-10-23 | Advanced Micro Devices, Inc. | Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system |
US6463582B1 (en) | 1998-10-21 | 2002-10-08 | Fujitsu Limited | Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method |
KR20020026370A (ko) | 1999-08-09 | 2002-04-09 | 러셀 비. 밀러 | 메시지 인증 코드를 발생시키기 위한 방법 및 장치 |
JP2001142694A (ja) * | 1999-10-01 | 2001-05-25 | Hitachi Ltd | データフィールドのエンコード方法、情報フィールドの拡張方法、及び、コンピュータシステム |
US6542981B1 (en) | 1999-12-28 | 2003-04-01 | Intel Corporation | Microcode upgrade and special function support by executing RISC instruction to invoke resident microcode |
JP2002353960A (ja) | 2001-05-30 | 2002-12-06 | Fujitsu Ltd | コード実行装置およびコード配布方法 |
US7213148B2 (en) * | 2001-06-13 | 2007-05-01 | Corrent Corporation | Apparatus and method for a hash processing system using integrated message digest and secure hash architectures |
US7266703B2 (en) | 2001-06-13 | 2007-09-04 | Itt Manufacturing Enterprises, Inc. | Single-pass cryptographic processor and method |
US20030002666A1 (en) * | 2001-06-13 | 2003-01-02 | Takahashi Richard J. | Method and apparatus for creating a message digest using a parallel, one-way hash algorithm |
US20030028765A1 (en) | 2001-07-31 | 2003-02-06 | Cromer Daryl Carvis | Protecting information on a computer readable medium |
US6996725B2 (en) | 2001-08-16 | 2006-02-07 | Dallas Semiconductor Corporation | Encryption-based security protection for processors |
-
2003
- 2003-05-12 US US10/436,230 patent/US7159122B2/en active Active
-
2004
- 2004-05-04 DE DE602004004101T patent/DE602004004101T2/de not_active Expired - Lifetime
- 2004-05-04 GB GB0518811A patent/GB2416609B/en not_active Expired - Fee Related
- 2004-05-04 CN CN2004800128758A patent/CN1799024B/zh not_active Expired - Lifetime
- 2004-05-04 RU RU2005138547/09A patent/RU2344467C2/ru active
- 2004-05-04 ES ES04731046T patent/ES2279365T3/es not_active Expired - Lifetime
- 2004-05-04 JP JP2006506214A patent/JP4817189B2/ja not_active Expired - Lifetime
- 2004-05-04 EP EP04731046A patent/EP1623316B1/en not_active Expired - Lifetime
- 2004-05-04 AT AT04731046T patent/ATE350702T1/de active
- 2004-05-04 PL PL04731046T patent/PL1623316T3/pl unknown
- 2004-05-04 WO PCT/GB2004/001915 patent/WO2004099975A2/en active IP Right Grant
-
2006
- 2006-10-10 JP JP2006276107A patent/JP4817185B2/ja not_active Expired - Lifetime
- 2006-10-20 US US11/551,292 patent/US7725736B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP4817189B2 (ja) | 2011-11-16 |
ES2279365T3 (es) | 2007-08-16 |
ATE350702T1 (de) | 2007-01-15 |
RU2005138547A (ru) | 2007-06-20 |
PL1623316T3 (pl) | 2007-05-31 |
DE602004004101T2 (de) | 2007-07-05 |
JP2007080278A (ja) | 2007-03-29 |
US20070055886A1 (en) | 2007-03-08 |
DE602004004101D1 (de) | 2007-02-15 |
CN1799024A (zh) | 2006-07-05 |
WO2004099975A2 (en) | 2004-11-18 |
US20040230814A1 (en) | 2004-11-18 |
EP1623316A2 (en) | 2006-02-08 |
CN1799024B (zh) | 2010-04-28 |
GB2416609B (en) | 2006-03-22 |
GB0518811D0 (en) | 2005-10-26 |
US7159122B2 (en) | 2007-01-02 |
WO2004099975A3 (en) | 2006-01-05 |
US7725736B2 (en) | 2010-05-25 |
RU2344467C2 (ru) | 2009-01-20 |
JP2006526202A (ja) | 2006-11-16 |
GB2416609A (en) | 2006-02-01 |
EP1623316B1 (en) | 2007-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4817185B2 (ja) | 埋め込み符号を持ったコンピュータ命令値フィールド | |
JP5357181B2 (ja) | コンピュータ・システム、その動作方法、及び、コンピュータ・プログラム | |
US7770024B2 (en) | Security message authentication instruction | |
JP5039905B2 (ja) | 2つのオペランドに対して演算を行い、その後オペランドの元の値を格納するための命令 | |
JP5052678B2 (ja) | コンピュータを動作させる方法及びシステム | |
JP5657074B2 (ja) | 命令が利用可能な汎用レジスタの数を拡張するための上位ワード・ファシリティ | |
US20080201554A1 (en) | Optional Function Multi-Function Instruction | |
JP2011509474A (ja) | コンピュータを動作させる方法及びシステム | |
JP2011509473A (ja) | Rotatetheninsertselectedbitsファシリティ及びそのための命令 | |
EP1684167A2 (en) | Method of processing signed displacement computer instruction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081015 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081028 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090105 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090105 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20090105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100226 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100226 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100226 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20110301 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110301 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110307 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20110303 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110628 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20110629 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110629 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110817 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20110818 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20110818 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110823 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140909 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4817185 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
EXPY | Cancellation because of completion of term |