JP6504679B2 - セキュア暗号ハッシュラウンド機能を提供する命令およびロジック - Google Patents
セキュア暗号ハッシュラウンド機能を提供する命令およびロジック Download PDFInfo
- Publication number
- JP6504679B2 JP6504679B2 JP2017192078A JP2017192078A JP6504679B2 JP 6504679 B2 JP6504679 B2 JP 6504679B2 JP 2017192078 A JP2017192078 A JP 2017192078A JP 2017192078 A JP2017192078 A JP 2017192078A JP 6504679 B2 JP6504679 B2 JP 6504679B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- data
- processor
- destination register
- rounds
- 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 - Fee Related
Links
- 230000015654 memory Effects 0.000 claims description 101
- 238000004422 calculation algorithm Methods 0.000 claims description 97
- 238000012545 processing Methods 0.000 claims description 92
- 238000000034 method Methods 0.000 claims description 38
- 230000017105 transposition Effects 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 13
- 238000013478 data encryption standard Methods 0.000 claims description 11
- 230000002441 reversible effect Effects 0.000 claims description 6
- 238000005096 rolling process Methods 0.000 claims 4
- 238000004587 chromatography analysis Methods 0.000 claims 3
- 238000013468 resource allocation Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 68
- 239000013598 vector Substances 0.000 description 36
- 238000010586 diagram Methods 0.000 description 35
- 238000007667 floating Methods 0.000 description 35
- 238000003860 storage Methods 0.000 description 32
- 238000013461 design Methods 0.000 description 14
- 230000008901 benefit Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 12
- 238000004519 manufacturing process Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000009826 distribution Methods 0.000 description 7
- 239000000872 buffer Substances 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- VOXZDWNPVJITMN-ZBRFXRBCSA-N 17β-estradiol Chemical compound OC1=CC=C2[C@H]3CC[C@](C)([C@H](CC4)O)[C@@H]4[C@@H]3CCC2=C1 VOXZDWNPVJITMN-ZBRFXRBCSA-N 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 241001441724 Tetraodontidae Species 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000005291 magnetic effect Effects 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 101100285899 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SSE2 gene Proteins 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 229910052754 neon Inorganic materials 0.000 description 2
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101000912503 Homo sapiens Tyrosine-protein kinase Fgr Proteins 0.000 description 1
- 102000001332 SRC Human genes 0.000 description 1
- 108060006706 SRC Proteins 0.000 description 1
- 102100026150 Tyrosine-protein kinase Fgr Human genes 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000003467 diminishing effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- 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
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
-
- 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Executing Machine-Instructions (AREA)
- Computer Hardware Design (AREA)
- Advance Control (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Description
本出願は、2012年12月29日に出願された、特許出願番号第13/731,004号、代理人整理番号第P45164、発明の名称「SIMDセキュアハッシュラウンドスライス機能を提供するための命令およびロジック」、および2012年3月30日に出願された、国際出願番号第PCT/US2012/031632号、代理人整理番号第P38728PCT、発明の名称「SHA‐2セキュアハッシュアルゴリズムを処理するための方法および装置」に関連する。
Claims (28)
- Feistel暗号アルゴリズムを使用してセキュア暗号ハッシュアルゴリズムを実行するための第1の命令をデコードするデコードステージと、
1または複数のハードウェア実行ユニットと、を備えるプロセッサであって、
前記第1の命令は前記Feistel暗号アルゴリズムに関連するラウンド数の範囲、ソースデータ、および1または複数のキーオペランドを指定し、
前記1または複数のハードウェア実行ユニットはデコードされた前記第1の命令に応答して、
前記ソースデータに対して初期転置を実行して、前記ソースデータから転置データを生成し、
前記転置データに対し、前記1または複数のキーオペランドを使用して、前記セキュア暗号ハッシュアルゴリズムの1または複数のラウンドの反復を実行して、暗号化データを生成し、
前記暗号化データに対して逆初期転置を実行し、
前記第1の命令の結果をデスティネーションレジスタ内に格納し、
前記1または複数のラウンドの反復は、前記第1の命令により指定される前記ラウンド数の範囲に従って16未満であり、
前記第1の命令は、シングルインストラクションマルチプルデータデスティネーションレジスタオペランド(SIMDデスティネーションレジスタオペランド)を用いて前記デスティネーションレジスタを指定する、プロセッサ。 - 前記第1の命令は、トリプルデータ暗号化標準(TDES)アルゴリズムを使用して、セキュア暗号ハッシュアルゴリズムの単一ラウンドの反復を実行するためのものである、請求項1に記載のプロセッサ。
- 前記1または複数のキーオペランドは、1または複数の48ビットキーを指定する、請求項1または2に記載のプロセッサ。
- 前記1または複数のキーオペランドは、1または複数の56ビットキーを指定する、請求項1または2に記載のプロセッサ。
- 前記1または複数のキーオペランドは、2つのトリプルデータ暗号化標準(TDES)、モード2キーを指定する、請求項1または2に記載のプロセッサ。
- 前記セキュア暗号ハッシュアルゴリズムの前記1または複数のラウンドの反復は、攻撃を阻止するための1または複数の予め定められたキーを使用する1または複数の復号化ラウンドの反復を含む、請求項1から5のいずれか一項に記載のプロセッサ。
- 前記1または複数のラウンドの反復は、攻撃を阻止するための1または複数の予め定められたキーを使用する、請求項1から5のいずれか一項に記載のプロセッサ。
- 前記第1の命令は、64ビットのデスティネーションオペランドを用いて前記デスティネーションレジスタを指定する、請求項1から7のいずれか一項に記載のプロセッサ。
- 前記第1の命令は、32ビットのデスティネーションレジスタのペアとして前記デスティネーションレジスタを指定する、請求項1から7のいずれか一項に記載のプロセッサ。
- 前記SIMDデスティネーションレジスタオペランドは、ソースレジスタおよび前記デスティネーションレジスタを指定する、請求項1から9のいずれか一項に記載のプロセッサ。
- Feistel暗号アルゴリズムを使用してセキュア暗号ハッシュアルゴリズムを実行するための第1の命令をデコーディングする段階と、
ソースデータに対して初期転置を実行して、前記ソースデータから転置データを生成する段階と、
前記第1の命令に応答して、前記転置データに対し、前記1または複数のキーオペランドを使用して、前記セキュア暗号ハッシュアルゴリズムの1または複数のラウンドの反復を実行して、暗号化されたデータを生成する段階と、
前記第1の命令に応答して、暗号化された前記データに対して逆初期転置を実行する段階と、
前記第1の命令の結果を前記第1の命令によって指定されるフォーマットに従い、デスティネーションレジスタ内に格納する段階と、を備える方法であって、
前記第1の命令は前記Feistel暗号アルゴリズムのラウンド数の範囲、前記ソースデータ、および前記1または複数のキーオペランドを指定し、
前記1または複数のラウンドの反復は、前記第1の命令により指定される前記ラウンド数の範囲に従って16未満であり、
前記第1の命令は、シングルインストラクションマルチプルデータデスティネーションレジスタオペランド(SIMDデスティネーションレジスタオペランド)を用いて前記デスティネーションレジスタを指定する、方法。 - 前記セキュア暗号ハッシュアルゴリズムの前記1または複数のラウンドの反復は、攻撃を阻止するための1または複数の予め定められたキーを使用する1または複数の復号化ラウンドの反復を含む、請求項11に記載の方法。
- 攻撃を阻止するための1または複数の予め定められたキーを使用する1または複数の復号化ラウンドの反復を実行する段階を更に備える、請求項11に記載の方法。
- 攻撃を阻止するための予め定められたキーのセットからランダムに選択する段階を更に備える、請求項13に記載の方法。
- 攻撃を阻止するための予め定められたキーの独自のセットから選択する段階を更に備える、請求項13に記載の方法。
- 前記第1の命令は、64ビットのデスティネーションオペランドを用いて前記デスティネーションレジスタを指定する、請求項11から15のいずれか一項に記載の方法。
- 前記第1の命令は、32ビットのデスティネーションレジスタのペアとして前記デスティネーションレジスタを指定する、請求項11から15のいずれか一項に記載の方法。
- 前記SIMDデスティネーションレジスタオペランドは、ソースレジスタおよび前記デスティネーションレジスタを指定する、請求項11に記載の方法。
- 前記セキュア暗号ハッシュアルゴリズムは、トリプルデータ暗号化標準(TDES)アルゴリズムを含む、請求項11から18のいずれか一項に記載の方法。
- 前記デスティネーションレジスタ内に格納された前記第1の命令の前記結果に対し、初期転置を実行して、前記第1の命令の転置された結果を生成する段階と、
第2の命令に応答して、前記第1の命令の転置された前記結果に対し、第2の1または複数のキーオペランドを使用して、前記セキュア暗号ハッシュアルゴリズムの第2の1または複数のラウンドの反復を復号化モードで実行して、復号された暗号化データを生成する段階と、
復号された前記暗号化データに対し、逆初期転置を実行する段階と、を更に備え、
前記第2の1または複数のラウンドの反復は、前記第2の命令により指定されるように16未満である、請求項11に記載の方法。 - 前記デスティネーションレジスタ内に格納された前記第1の命令の前記結果に対し、初期転置を実行する段階と、
第2の命令に応答して、前記デスティネーションレジスタ内に格納された前記第1の命令の結果に対し、第2の1または複数のキーオペランドを使用して、前記セキュア暗号ハッシュアルゴリズムの第2の1または複数のラウンドの反復を暗号化モードで実行して、暗号化された暗号化データを生成する段階と、
暗号化された前記暗号化データに対し、逆初期転置を実行する段階と、を更に備え、
前記第2の1または複数のラウンドの反復は、前記第2の命令により指定されるように16未満である、請求項11に記載の方法。 - Feistel暗号アルゴリズムを使用してセキュア暗号ハッシュアルゴリズムを実行するための第1の命令をデコードする段階と、
前記第1の命令に応答して、ソースデータに対して初期転置を実行して、前記ソースデータから転置データを生成する段階と、
前記第1の命令に応答して、前記転置データに対し、1または複数のキーオペランドを使用して、前記セキュア暗号ハッシュアルゴリズムの1または複数のラウンドの反復を前記第1の命令によって指定されるラウンド数に従い実行して、暗号化データを生成する段階と、
前記暗号化データに対して逆初期転置を実行する段階と、
前記第1の命令の1または複数の結果を前記第1の命令によって指定されるフォーマットスケジュールに従い、デスティネーションレジスタ内に格納する段階と、を備える方法であって、
前記第1の命令は前記Feistel暗号アルゴリズムのラウンド数の範囲、前記ソースデータ、および前記1または複数のキーオペランドを指定し、
前記1または複数のラウンドの反復は、前記第1の命令により指定される前記ラウンド数の範囲に従って16未満であり、
前記第1の命令は、シングルインストラクションマルチプルデータデスティネーションレジスタオペランド(SIMDデスティネーションレジスタオペランド)を用いて前記デスティネーションレジスタを指定する、方法。 - 前記デスティネーションレジスタ内に格納された前記第1の命令の最終結果に対し、初期転置を実行して、前記第1の命令の転置された最終結果を生成する段階と、
第2の命令に応答して、前記第1の命令の転置された前記最終結果に対し、第2の1または複数のキーオペランドを使用して、前記Feistel暗号アルゴリズムの第2の1または複数のラウンドの反復を復号化モードで実行して、復号された暗号化データを生成する段階と、
復号された前記暗号化データに対し、逆初期転置を実行する段階と、更に備え、
前記第2の1または複数のラウンドの反復は、前記第2の命令が指定するように16未満である、請求項22に記載の方法。 - 攻撃を阻止するための予め定められたキーの独自のセットから前記第2の1または複数のキーオペランドを選択する段階を更に備える、請求項23に記載の方法。
- 処理リソースのセットにわたる複数の負荷分散リクエストのための複数のリソース割り当てを格納するためのメモリと、
Feistel暗号アルゴリズムを使用してセキュア暗号ハッシュアルゴリズムを実行するための第1の命令をデコードするためのデコードステージおよび1または複数の実行ユニットを含むプロセッサと、を備えるコンピューティングシステムであって、
前記第1の命令は、前記Feistel暗号アルゴリズムの予め定められたキーのセットからラウンド数の範囲、ソースデータ、および1または複数のキーオペランドを指定し、
前記1または複数の実行ユニットは、デコードされた前記第1の命令に応答して、
前記ソースデータに対して初期転置を実行して、前記ソースデータから転置データを生成し、
前記転置データに対し、前記1または複数のキーオペランドを使用して、前記セキュア暗号ハッシュアルゴリズムの1または複数のラウンドの反復を実行して、暗号化データを生成し、
前記暗号化データに対し、逆初期転置を実行し、
処理リソースの前記セットにわたる複数の負荷分散リクエストのためのリクエストから、リソース割り当てを生成する際に使用される前記第1の命令の結果をデスティネーションレジスタ内に格納し、
前記1または複数のラウンドの反復は、前記第1の命令により指定される前記ラウンド数の範囲に従って16未満であり、
前記第1の命令は、シングルインストラクションマルチプルデータデスティネーションレジスタオペランド(SIMDデスティネーションレジスタオペランド)を用いて前記デスティネーションレジスタを指定する、コンピューティングシステム。 - 前記第1の命令は、トリプルデータ暗号化標準(TDES)アルゴリズムを使用して、セキュア暗号ハッシュアルゴリズムの単一ラウンドの反復を実行するためのものである、請求項25に記載のコンピューティングシステム。
- 前記第1の命令は、64ビットのデスティネーションオペランドを用いて前記デスティネーションレジスタを指定する、請求項25または26に記載のコンピューティングシステム。
- 前記第1の命令は、32ビットのデスティネーションレジスタのペアとして前記デスティネーションレジスタを指定する、請求項25または26に記載のコンピューティングシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/962,933 | 2013-08-08 | ||
US13/962,933 US10038550B2 (en) | 2013-08-08 | 2013-08-08 | Instruction and logic to provide a secure cipher hash round functionality |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016533466A Division JP6220453B2 (ja) | 2013-08-08 | 2014-08-08 | セキュア暗号ハッシュラウンド機能を提供する命令およびロジック |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018013802A JP2018013802A (ja) | 2018-01-25 |
JP6504679B2 true JP6504679B2 (ja) | 2019-04-24 |
Family
ID=52448689
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016533466A Active JP6220453B2 (ja) | 2013-08-08 | 2014-08-08 | セキュア暗号ハッシュラウンド機能を提供する命令およびロジック |
JP2017192078A Expired - Fee Related JP6504679B2 (ja) | 2013-08-08 | 2017-09-29 | セキュア暗号ハッシュラウンド機能を提供する命令およびロジック |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016533466A Active JP6220453B2 (ja) | 2013-08-08 | 2014-08-08 | セキュア暗号ハッシュラウンド機能を提供する命令およびロジック |
Country Status (8)
Country | Link |
---|---|
US (1) | US10038550B2 (ja) |
EP (1) | EP3031167B1 (ja) |
JP (2) | JP6220453B2 (ja) |
KR (1) | KR101821066B1 (ja) |
CN (1) | CN105409158B (ja) |
RU (1) | RU2637463C2 (ja) |
TW (2) | TWI646818B (ja) |
WO (1) | WO2015021380A1 (ja) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8924741B2 (en) | 2012-12-29 | 2014-12-30 | Intel Corporation | Instruction and logic to provide SIMD secure hashing round slice functionality |
US9292298B2 (en) * | 2013-07-08 | 2016-03-22 | Arm Limited | Data processing apparatus having SIMD processing circuitry |
US10038550B2 (en) | 2013-08-08 | 2018-07-31 | Intel Corporation | Instruction and logic to provide a secure cipher hash round functionality |
WO2015077378A1 (en) * | 2013-11-19 | 2015-05-28 | Sunrise Tech Group, Llc | Block mining methods and apparatus |
US10503510B2 (en) | 2013-12-27 | 2019-12-10 | Intel Corporation | SM3 hash function message expansion processors, methods, systems, and instructions |
US9912481B2 (en) * | 2014-03-27 | 2018-03-06 | Intel Corporation | Method and apparatus for efficiently executing hash operations |
US9317719B2 (en) | 2014-09-04 | 2016-04-19 | Intel Corporation | SM3 hash algorithm acceleration processors, methods, systems, and instructions |
US9658854B2 (en) | 2014-09-26 | 2017-05-23 | Intel Corporation | Instructions and logic to provide SIMD SM3 cryptographic hashing functionality |
US10409827B2 (en) * | 2014-10-31 | 2019-09-10 | 21, Inc. | Digital currency mining circuitry having shared processing logic |
US9960909B2 (en) * | 2014-12-08 | 2018-05-01 | Open-Silicon Inc. | High speed and low power hashing system and method |
EP3356931B1 (en) | 2015-09-30 | 2021-06-23 | Hewlett-Packard Development Company, L.P. | Bios runtime verification using external device |
CN105391546A (zh) * | 2015-12-16 | 2016-03-09 | 南京航空航天大学 | 基于双伪随机变换和Feistel结构的轻量级分组密码技术VHF |
US10049057B2 (en) * | 2015-12-18 | 2018-08-14 | Intel Corporation | Instruction and logic for secure instruction execution pipeline |
GB2547247B (en) * | 2016-02-12 | 2019-09-11 | Advanced Risc Mach Ltd | An apparatus and method for controlling use of bounded pointers |
CN105959099A (zh) * | 2016-06-20 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | 一种实现ssr密码加密的方法 |
US9680653B1 (en) * | 2016-10-13 | 2017-06-13 | International Business Machines Corporation | Cipher message with authentication instruction |
US10209959B2 (en) * | 2016-11-03 | 2019-02-19 | Samsung Electronics Co., Ltd. | High radix 16 square root estimate |
US10374793B2 (en) * | 2016-12-09 | 2019-08-06 | Intel Corporation | Simon-based hashing for fuse validation |
CN108462681B (zh) * | 2017-02-22 | 2020-12-29 | 中国移动通信集团公司 | 一种异构网络的通信方法、设备及系统 |
CN109194461B (zh) * | 2018-05-11 | 2022-02-22 | 吉林大学 | 基于双密钥流密码的单向链表顺序加密解密方法 |
EP3595256A1 (de) * | 2018-07-13 | 2020-01-15 | Siemens Aktiengesellschaft | Vorrichtung und verfahren zum betreiben einer durch software gestalteten verarbeitungseinheit für ein gerät |
US10540207B1 (en) * | 2018-07-18 | 2020-01-21 | International Business Machines Corporation | Fast, low memory, consistent hash using an initial distribution |
KR20200048701A (ko) | 2018-10-30 | 2020-05-08 | 삼성전자주식회사 | 사용자 특화 음성 명령어를 공유하기 위한 전자 장치 및 그 제어 방법 |
GB2582900A (en) | 2019-03-18 | 2020-10-14 | Pqshield Ltd | Cryptography using a cryptographic state |
EP4022593A1 (en) * | 2019-08-30 | 2022-07-06 | Telefonaktiebolaget LM Ericsson (publ) | A round-free cryptographic hashing device for secure and low-latency communications |
TWI705687B (zh) * | 2019-09-09 | 2020-09-21 | 新唐科技股份有限公司 | 用於資料加解密的金鑰管理裝置及處理器晶片 |
TWI731407B (zh) | 2019-09-09 | 2021-06-21 | 新唐科技股份有限公司 | 具有旁通通道的金鑰管理裝置及處理器晶片 |
IT201900025567A1 (it) * | 2019-12-24 | 2021-06-24 | St Microelectronics Srl | Procedimento per eseguire operazioni di crittografia in un dispositivo di elaborazione, corrispondenti dispositivo di elaborazione e prodotto informatico |
US11763008B2 (en) | 2020-01-15 | 2023-09-19 | International Business Machines Corporation | Encrypting data using an encryption path and a bypass path |
US11520709B2 (en) | 2020-01-15 | 2022-12-06 | International Business Machines Corporation | Memory based encryption using an encryption key based on a physical address |
CN113742657A (zh) | 2020-05-29 | 2021-12-03 | 台达电子工业股份有限公司 | 软件保护方法及其系统 |
CN112988235B (zh) * | 2021-02-06 | 2022-06-14 | 华中科技大学 | 一种高效率第三代安全散列算法的硬件实现电路及方法 |
Family Cites Families (99)
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 |
US4250483A (en) | 1978-01-30 | 1981-02-10 | Rubner Anthony C | System for signalized intersection control |
DE68926200T2 (de) | 1988-08-11 | 1996-10-17 | Ibm | Geheime Datenübertragung mittels Steuervektoren |
US5339398A (en) | 1989-07-31 | 1994-08-16 | North American Philips Corporation | Memory architecture and method of data organization optimized for hashing |
US5349642A (en) | 1992-11-03 | 1994-09-20 | Novell, Inc. | Method and apparatus for authentication of client server communication |
US5649179A (en) | 1995-05-19 | 1997-07-15 | Motorola, Inc. | Dynamic instruction allocation for a SIMD processor |
US5608801A (en) | 1995-11-16 | 1997-03-04 | Bell Communications Research, Inc. | Efficient cryptographic hash functions and methods for amplifying the security of hash functions and pseudo-random functions |
JPH10340048A (ja) * | 1997-06-06 | 1998-12-22 | Hitachi Ltd | ハッシュ値生成方法、データ暗号化方法、データ復号化方法、ハッシュ値生成装置、データ暗号化装置およびデータ復号化装置 |
US5920900A (en) | 1996-12-30 | 1999-07-06 | Cabletron Systems, Inc. | Hash-based translation method and apparatus with multiple level collision resolution |
US5897637A (en) | 1997-03-07 | 1999-04-27 | Apple Computer, Inc. | System and method for rapidly identifying the existence and location of an item in a file |
US6067547A (en) | 1997-08-12 | 2000-05-23 | Microsoft Corporation | Hash table expansion and contraction for use with internal searching |
US5960434A (en) | 1997-09-26 | 1999-09-28 | Silicon Graphics, Inc. | System method and computer program product for dynamically sizing hash tables |
US6260055B1 (en) | 1997-10-15 | 2001-07-10 | Kabushiki Kaisha Toshiba | Data split parallel shifter and parallel adder/subtractor |
US6226710B1 (en) | 1997-11-14 | 2001-05-01 | Utmc Microelectronic Systems Inc. | Content addressable memory (CAM) engine |
US6269163B1 (en) | 1998-06-15 | 2001-07-31 | Rsa Security Inc. | Enhanced block ciphers with data-dependent rotations |
US6360218B1 (en) | 1998-10-26 | 2002-03-19 | Microsoft Corporation | Compact record format for low-overhead databases |
US6307955B1 (en) | 1998-12-18 | 2001-10-23 | Topaz Systems, Inc. | Electronic signature management system |
US7065633B1 (en) | 1999-01-28 | 2006-06-20 | Ati International Srl | System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU |
US6578131B1 (en) | 1999-04-27 | 2003-06-10 | Microsoft Corporation | Scaleable hash table for shared-memory multiprocessor system |
US6983350B1 (en) | 1999-08-31 | 2006-01-03 | Intel Corporation | SDRAM controller for parallel processor architecture |
US6631419B1 (en) | 1999-09-22 | 2003-10-07 | Juniper Networks, Inc. | Method and apparatus for high-speed longest prefix and masked prefix table search |
US7254231B1 (en) * | 1999-10-14 | 2007-08-07 | Ati International Srl | Encryption/decryption instruction set enhancement |
US6594665B1 (en) | 2000-02-18 | 2003-07-15 | Intel Corporation | Storing hashed values of data in media to allow faster searches and comparison of data |
US6952770B1 (en) | 2000-03-14 | 2005-10-04 | Intel Corporation | Method and apparatus for hardware platform identification with privacy protection |
KR100377172B1 (ko) * | 2000-06-13 | 2003-03-26 | 주식회사 하이닉스반도체 | 데이터 암호화 표준 알고리즘을 이용한 암호화 장치의 키스케쥴러 |
US6470329B1 (en) | 2000-07-11 | 2002-10-22 | Sun Microsystems, Inc. | One-way hash functions for distributed data synchronization |
US20020032551A1 (en) | 2000-08-07 | 2002-03-14 | Jabari Zakiya | Systems and methods for implementing hash algorithms |
US7681018B2 (en) | 2000-08-31 | 2010-03-16 | Intel Corporation | Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set |
JP2002108691A (ja) * | 2000-09-29 | 2002-04-12 | Mitsubishi Electric Corp | 半導体記憶装置および半導体記憶装置の制御方法 |
DE10061998A1 (de) | 2000-12-13 | 2002-07-18 | Infineon Technologies Ag | Kryptographieprozessor |
US7299355B2 (en) | 2001-01-12 | 2007-11-20 | Broadcom Corporation | Fast SHA1 implementation |
US6829355B2 (en) | 2001-03-05 | 2004-12-07 | The United States Of America As Represented By The National Security Agency | Device for and method of one-way cryptographic hashing |
US7073059B2 (en) | 2001-06-08 | 2006-07-04 | Hewlett-Packard Development Company, L.P. | Secure machine platform that interfaces to operating systems and customized control programs |
US7249255B2 (en) | 2001-06-13 | 2007-07-24 | Corrent Corporation | Apparatus and method for a hash processing system using multiple hash storage areas |
US7240203B2 (en) | 2001-07-24 | 2007-07-03 | Cavium Networks, Inc. | Method and apparatus for establishing secure sessions |
KR100423811B1 (ko) | 2001-12-12 | 2004-03-22 | 한국전자통신연구원 | 카스미 암호화 알고리즘을 응용한 암호화 장치 |
US7395412B2 (en) | 2002-03-08 | 2008-07-01 | Ip-First, Llc | Apparatus and method for extending data modes in a microprocessor |
US7400722B2 (en) | 2002-03-28 | 2008-07-15 | Broadcom Corporation | Methods and apparatus for performing hash operations in a cryptography accelerator |
US7069442B2 (en) | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
US7165135B1 (en) | 2002-04-18 | 2007-01-16 | Advanced Micro Devices, Inc. | Method and apparatus for controlling interrupts in a secure execution mode-capable processor |
EP1495401B1 (en) | 2002-04-18 | 2007-01-24 | Advanced Micro Devices, Inc. | Initialization of a computer system including a secure execution mode-capable processor |
US7392384B2 (en) | 2002-06-28 | 2008-06-24 | Hewlett-Packard Development Company, L.P. | Method and system for secure storage, transmission and control of cryptographic keys |
JP2004109420A (ja) | 2002-09-18 | 2004-04-08 | Sony Corp | 乱数生成装置及び乱数生成方法 |
US7925891B2 (en) | 2003-04-18 | 2011-04-12 | Via Technologies, Inc. | Apparatus and method for employing cryptographic functions to generate a message digest |
US7373514B2 (en) | 2003-07-23 | 2008-05-13 | Intel Corporation | High-performance hashing system |
US7921300B2 (en) | 2003-10-10 | 2011-04-05 | Via Technologies, Inc. | Apparatus and method for secure hash algorithm |
US7545928B1 (en) | 2003-12-08 | 2009-06-09 | Advanced Micro Devices, Inc. | Triple DES critical timing path improvement |
US7684563B1 (en) | 2003-12-12 | 2010-03-23 | Sun Microsystems, Inc. | Apparatus and method for implementing a unified hash algorithm pipeline |
US7599489B1 (en) | 2004-02-09 | 2009-10-06 | Sun Microsystems Inc. | Accelerating cryptographic hash computations |
US7496196B2 (en) * | 2004-06-30 | 2009-02-24 | Intel Corporation | Method apparatus and system of performing one or more encryption and/or decryption operations |
WO2006010384A1 (en) | 2004-07-30 | 2006-02-02 | Telefonaktiebolaget Lm Ericsson (Pub) | Secure load balancing in a network |
US7602905B2 (en) | 2004-09-01 | 2009-10-13 | Texas Instruments Incorporated | Processes, circuits, devices, and systems for encryption and decryption and other purposes, and processes of making |
US7370050B2 (en) | 2005-02-28 | 2008-05-06 | Microsoft Corporation | Discoverability and enumeration mechanisms in a hierarchically secure storage system |
WO2006098015A1 (ja) | 2005-03-16 | 2006-09-21 | Mitsubishi Denki Kabushiki Kaisha | データ変換装置及びデータ変換方法 |
US8073892B2 (en) | 2005-12-30 | 2011-12-06 | Intel Corporation | Cryptographic system, method and multiplier |
US7725624B2 (en) | 2005-12-30 | 2010-05-25 | Intel Corporation | System and method for cryptography processing units and multiplier |
US8392174B2 (en) * | 2006-08-07 | 2013-03-05 | International Characters, Inc. | Method and apparatus for lexical analysis using parallel bit streams |
US8020142B2 (en) | 2006-12-14 | 2011-09-13 | Intel Corporation | Hardware accelerator |
US7949130B2 (en) | 2006-12-28 | 2011-05-24 | Intel Corporation | Architecture and instruction set for implementing advanced encryption standard (AES) |
US8538015B2 (en) | 2007-03-28 | 2013-09-17 | Intel Corporation | Flexible architecture and instruction for advanced encryption standard (AES) |
US20100027781A1 (en) | 2007-12-20 | 2010-02-04 | Galbi Duane E | Method and apparatus for enhancing performance of data encryption standard (des) encryption/decryption |
US8281109B2 (en) | 2007-12-27 | 2012-10-02 | Intel Corporation | Compressed instruction format |
US8923510B2 (en) | 2007-12-28 | 2014-12-30 | Intel Corporation | Method and apparatus for efficiently implementing the advanced encryption standard |
US8340280B2 (en) | 2008-06-13 | 2012-12-25 | Intel Corporation | Using a single instruction multiple data (SIMD) instruction to speed up galois counter mode (GCM) computations |
US8788841B2 (en) | 2008-10-23 | 2014-07-22 | Samsung Electronics Co., Ltd. | Representation and verification of data for safe computing environments and systems |
US8194858B2 (en) * | 2009-02-19 | 2012-06-05 | Physical Optics Corporation | Chaotic cipher system and method for secure communication |
US8711159B2 (en) | 2009-02-23 | 2014-04-29 | Microsoft Corporation | VGPU: a real time GPU emulator |
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 |
US8832464B2 (en) | 2009-03-31 | 2014-09-09 | Oracle America, Inc. | Processor and method for implementing instruction support for hash algorithms |
US9680637B2 (en) | 2009-05-01 | 2017-06-13 | Harris Corporation | Secure hashing device using multiple different SHA variants and related methods |
JP5423217B2 (ja) * | 2009-08-04 | 2014-02-19 | 富士通株式会社 | 演算処理装置、情報処理装置、および演算処理装置の制御方法 |
US8356185B2 (en) | 2009-10-08 | 2013-01-15 | Oracle America, Inc. | Apparatus and method for local operand bypassing for cryptographic instructions |
US8417961B2 (en) | 2010-03-16 | 2013-04-09 | Oracle International Corporation | Apparatus and method for implementing instruction support for performing a cyclic redundancy check (CRC) |
WO2011120421A1 (zh) | 2010-03-31 | 2011-10-06 | 北京飞天诚信科技有限公司 | 加密引擎的实现方法 |
US8583902B2 (en) | 2010-05-07 | 2013-11-12 | Oracle International Corporation | Instruction support for performing montgomery multiplication |
US9851969B2 (en) | 2010-06-24 | 2017-12-26 | International Business Machines Corporation | Function virtualization facility for function query of a processor |
FR2963135B1 (fr) | 2010-07-22 | 2013-02-08 | Viaccess Sa | Procede de protection d'un contenu |
JP5367917B2 (ja) | 2011-01-25 | 2013-12-11 | 三洋電機株式会社 | 車載器 |
CA2830779C (en) | 2011-04-06 | 2017-03-07 | Certicom Corp. | Efficient implementation of hash algorithm on a processor |
JP2012252281A (ja) | 2011-06-06 | 2012-12-20 | Canon Inc | 演算処理装置およびその方法、並びに、情報処理装置 |
US8855302B2 (en) | 2011-06-21 | 2014-10-07 | Intel Corporation | Apparatus and method for Skein hashing |
EP2724269B1 (en) | 2011-06-27 | 2020-02-19 | Jethrodata Ltd. | System, method and data structure for fast loading, storing and access to huge data sets in real time |
GB2497070B (en) | 2011-11-17 | 2015-11-25 | Advanced Risc Mach Ltd | Cryptographic support instructions |
US8954754B2 (en) | 2011-12-22 | 2015-02-10 | Intel Corporation | Method and apparatus to process SHA-1 secure hashing algorithm |
EP3627764B1 (en) | 2012-03-30 | 2021-07-28 | Intel Corporation | Method and apparatus to process sha-2 secure hashing algorithm |
US10198248B2 (en) | 2012-07-11 | 2019-02-05 | Intel Corporation | Parallel processing of a single data buffer |
GB2496934B (en) | 2012-08-07 | 2014-06-11 | Imagination Tech Ltd | Multi-stage register renaming using dependency removal |
US8924741B2 (en) | 2012-12-29 | 2014-12-30 | Intel Corporation | Instruction and logic to provide SIMD secure hashing round slice functionality |
US20140362098A1 (en) | 2013-06-10 | 2014-12-11 | Sharp Laboratories Of America, Inc. | Display stream compression |
CN103457719B (zh) | 2013-07-23 | 2016-06-08 | 国家密码管理局商用密码检测中心 | 一种对sm3密码算法hmac模式的侧信道能量分析方法 |
US10038550B2 (en) | 2013-08-08 | 2018-07-31 | Intel Corporation | Instruction and logic to provide a secure cipher hash round functionality |
CN103490895B (zh) | 2013-09-12 | 2016-09-14 | 电小虎能源科技(北京)有限公司 | 一种应用国密算法的工业控制身份认证方法及装置 |
US9424209B2 (en) | 2013-09-19 | 2016-08-23 | Intel Corporation | Dynamic heterogeneous hashing functions in ranges of system memory addressing space |
US9390246B2 (en) | 2013-09-25 | 2016-07-12 | Intel Corporation | Creating secure original equipment manufacturer (OEM) identification |
US9250914B2 (en) | 2013-12-20 | 2016-02-02 | Intel Corporation | Method and apparatus for selecting cache locality for atomic operations |
US10503510B2 (en) | 2013-12-27 | 2019-12-10 | Intel Corporation | SM3 hash function message expansion processors, methods, systems, and instructions |
US9361106B2 (en) | 2013-12-27 | 2016-06-07 | Intel Corporation | SMS4 acceleration processors, methods, systems, and instructions |
US9912481B2 (en) | 2014-03-27 | 2018-03-06 | Intel Corporation | Method and apparatus for efficiently executing hash operations |
US9317719B2 (en) | 2014-09-04 | 2016-04-19 | Intel Corporation | SM3 hash algorithm acceleration processors, methods, systems, and instructions |
-
2013
- 2013-08-08 US US13/962,933 patent/US10038550B2/en active Active
-
2014
- 2014-07-22 TW TW105120330A patent/TWI646818B/zh not_active IP Right Cessation
- 2014-07-22 TW TW103125144A patent/TWI551104B/zh not_active IP Right Cessation
- 2014-08-08 CN CN201480039157.3A patent/CN105409158B/zh active Active
- 2014-08-08 RU RU2016100274A patent/RU2637463C2/ru not_active IP Right Cessation
- 2014-08-08 KR KR1020167000327A patent/KR101821066B1/ko active IP Right Grant
- 2014-08-08 WO PCT/US2014/050339 patent/WO2015021380A1/en active Application Filing
- 2014-08-08 EP EP14834842.8A patent/EP3031167B1/en active Active
- 2014-08-08 JP JP2016533466A patent/JP6220453B2/ja active Active
-
2017
- 2017-09-29 JP JP2017192078A patent/JP6504679B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP3031167B1 (en) | 2019-02-06 |
EP3031167A1 (en) | 2016-06-15 |
KR20160017080A (ko) | 2016-02-15 |
RU2637463C2 (ru) | 2017-12-04 |
TW201642619A (zh) | 2016-12-01 |
TWI646818B (zh) | 2019-01-01 |
EP3031167A4 (en) | 2017-03-29 |
JP2018013802A (ja) | 2018-01-25 |
CN105409158B (zh) | 2019-07-02 |
TWI551104B (zh) | 2016-09-21 |
US20150043729A1 (en) | 2015-02-12 |
JP6220453B2 (ja) | 2017-10-25 |
KR101821066B1 (ko) | 2018-01-22 |
TW201519623A (zh) | 2015-05-16 |
CN105409158A (zh) | 2016-03-16 |
RU2016100274A (ru) | 2017-07-14 |
US10038550B2 (en) | 2018-07-31 |
WO2015021380A1 (en) | 2015-02-12 |
JP2016527569A (ja) | 2016-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6504679B2 (ja) | セキュア暗号ハッシュラウンド機能を提供する命令およびロジック | |
US11849035B2 (en) | Instructions and logic to provide SIMD SM4 cryptographic block cipher | |
US10592245B2 (en) | Instructions and logic to provide SIMD SM3 cryptographic hashing functionality | |
CN106575215B (zh) | 处理指令的系统、设备、方法、处理器、介质和电子设备 | |
US10148428B2 (en) | Instruction and logic to provide SIMD secure hashing round slice functionality | |
KR102307105B1 (ko) | Simd sm3 암호화 해싱 기능을 제공하기 위한 명령어 및 로직 | |
KR102456395B1 (ko) | Simd sm4 암호화 블록 암호 기능성을 제공하는 명령어 및 로직 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180710 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181003 |
|
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: 20190226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190322 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6504679 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |