TWI279692B - Method of enciphering/deciphering storage of a computing environment, system therefor, and computer program product thereof - Google Patents
Method of enciphering/deciphering storage of a computing environment, system therefor, and computer program product thereof Download PDFInfo
- Publication number
- TWI279692B TWI279692B TW093112742A TW93112742A TWI279692B TW I279692 B TWI279692 B TW I279692B TW 093112742 A TW093112742 A TW 093112742A TW 93112742 A TW93112742 A TW 93112742A TW I279692 B TWI279692 B TW I279692B
- Authority
- TW
- Taiwan
- Prior art keywords
- storage
- instruction
- storage unit
- item
- bit
- Prior art date
Links
- 238000003860 storage Methods 0.000 title claims abstract description 105
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000004590 computer program Methods 0.000 title claims 7
- 238000012545 processing Methods 0.000 claims description 20
- 238000005192 partition Methods 0.000 claims description 11
- 210000004556 brain Anatomy 0.000 claims description 4
- 230000014759 maintenance of location Effects 0.000 claims 2
- 230000005611 electricity Effects 0.000 claims 1
- 150000003839 salts Chemical class 0.000 claims 1
- 230000011218 segmentation Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 53
- 238000006073 displacement reaction Methods 0.000 description 20
- 238000004088 simulation Methods 0.000 description 8
- OTZZZISTDGMMMX-UHFFFAOYSA-N 2-(3,5-dimethylpyrazol-1-yl)-n,n-bis[2-(3,5-dimethylpyrazol-1-yl)ethyl]ethanamine Chemical compound N1=C(C)C=C(C)N1CCN(CCN1C(=CC(C)=N1)C)CCN1C(C)=CC(C)=N1 OTZZZISTDGMMMX-UHFFFAOYSA-N 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000001066 destructive effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007595 memory recall Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- 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/30094—Condition code generation, e.g. Carry, Zero flag
-
- 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/3017—Runtime instruction translation, e.g. macros
-
- 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
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/342—Extension of operand address space
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Storage Device Security (AREA)
- Telephone Function (AREA)
- Executing Machine-Instructions (AREA)
- Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
- Peptides Or Proteins (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Description
1279692 五、發明說明(1) 【發明所屬之領域】 本發明係關於電腦系統結構,更具體地係新指令,增 加I BM Z /結構並且可被其他結構模擬。 【先前技術】 在此發明前,I 經由許多非常有才華的工程師產生 自所知的機器,如I 9 6 0年代的IBM系統3 6 0至今天一特殊結 構,係,因為其對運算系統的重要,成為所知的”大型電 腦the mainframe”),其運作原理係經由描述 於其大型電腦實施的指令,此指令係由丨Bm發明明 採用,來說明機器的結構。包含IBM之運作原理〜乃亚 (Principles of Operation)歷年來的說明,、 型電腦所展示的運算機器的重要貢獻。M .、、、,、改進大 作原理於測年12月出版,已成=準:二:/結:運 SA22- 7832-00。 版的參考貧料, 我們認為更進的新指令會協助此技藝, 一 z/結構機器,以及亦可被其他較簡且可包含於 此述。 π機為所模擬,如 【發明内容】 本發明之主要目的係提供♦央處理器 態及分區指令,供加密及解密電腦儲存;的问步、問題狀 本發明之另一目的係提供—指令來提供=^。— 密作業的密碼鑰(encryption key)。 加後、或解
1279692 五、發明說明(2) 本發明之另一目的係提供一指令來指定欲被加密或解 密的記憶體。 本發明之另一目的係提供一指令,供加密或解密一連 鎖作業中的複數個記憶體位置。 本發明之另一目的係經由模擬另一執行此指令的電腦 系統,提供加密或解密記憶體位置。 【實施方式】 首先討論的是,密碼訊息(CIPHER MESSAGE) (KM)指令 及連鎖密碼訊息(CIPHER MESSAGE WITH CHAININGMKMC) 指令,接著討論執行這些指令的較佳電腦系統。另一方面 討論,一第二佳電腦系統模擬另一電腦系統,以執行這些 指令。 密碼訊息(K Μ) 圖1係在RR腿令格式下的密碼訊息指令。 連鎖密碼訊息(K M C ) 圖2係在RRE指令格式下的連鎖密碼訊息。 指定的一功能 執行通用暫存器(general register)〇令的功能碼所 〇的位元位置5 了 -及連鎖密碼訊息 °對密碼功能來 忽視指令的1 6 - 2 3位元。通用暫存5| 6 3包含功能碼。圖3及4分別顯示密碼訊φ 的指定功能碼。所有其他功能碼未被指定
4IBM04034TW.ptd $ 6頁 1279692 五、發明說明(3) 說,56位元係修改位元(modifie]: bit),指定是否運作一 加密或解密作業。此修改位元被所有其他功能所忽視。通 用暫存器0的所有其他位元被忽視。通用暫存器1包含儲存 中的參數塊的最左項位元之邏輯位址。在2 4位元的位址模 式中,通用暫存器i的位元位置4 0 - 6 3之内容構成其位址, 並且忽視位元位置〇 — 39的内容。在31位元的位址模式中, 通用暫存器1的位元位置33-63之内容構成其位址,並且忽 視位元位置〇 — 3 2的内容。 在6 4位元的位址模式中,通用暫存器}的位元位置〇 一 63之内容構成其位址。 圖3顯示密碼訊息之功能碼。 圖4顯示連鎖密碼訊息之功能碼。 所有其他功能碼未被指定。查詢功能提供指示其他 能的可使用性之手段。查詢功能忽視通用暫存器了 及R1 + 1的内容。 —對所有其他功能而言,第二運算元係依功能碼的指 疋’使用一密碼鑰於其參數塊中來加密,並且將其妗= f於第「運算元位i。對連鎖密碼訊息而言,加密亦 一初始連鎖值於其參數塊中,並且此連鎖值以 份被更新。 咬邗的一部 R1攔指派一通用暫存器,並且必定指派一偶數 器,·否則,認出一規格異常(specif icati〇n except i on ) ° K2攔指派-偶—奇對通用暫存器,並且必定指派—偶 4iBM04034TW.ptd 第7頁 1279692 五、發明說明(4) 數暫存器;否則,認出一規格異常。 抑 卓 及卓二運异元的表左項位元之位置係由通用暫存 =R1、R2的内容個別指定。第二運算元位置的位元數係指 定於通用暫存器R2 + ;l。第一運算元與第二運算元有相同長 度。 如運作的一部份,通用暫存器R丨及R2的地址係以處理 的位凡數遞增,以及通用暫存器R2 + 1的長度係以相同數字 遞減。此地址與長度的形成及更新係根據其地址模式。 在24位凡的位址模式中,通用暫存器R1及R2的位元位置 40 -63之内容分別構成其第一及第二運算元的位址,並且 j視位元位置〇 —39的内容;更新地址的4〇_63位元替換苴 乙:暫存器R1及R2相對應的位元,更新位址的位 y、 被忽視,並且通用暫存器R1AR2的位元置0 2容設為零。*31位元的位址模式中,a 二二 二 =元位置33-63之内容分別構成其第-及第二運算i 位元替換Ϊ ί ϊ : Γ32的内容被忽視;更新地址的33 —63 址…忽視… 置32之内容設為零:64=:暫!器R1及R2的位元位 R1及R2的位元位置〇 63 ^址核式中,通用暫存器 元的位址…分成其第-及第二運算 相對應的内容,忽視f靳仞 ^ 暫存态R1及R2 “現更新位址的位元位置40之勃广 在位元及3 1位元的位址模式中,通用卷丁 位元位置32 -6 3之内袞έ日成—、用暫存器R2 + 1的 又内谷組成一 32位兀的無正頁符號二進
4iBM04034TW.ptd
第8頁 1279692 五、發明說明(5) 數,以指定第一及第二運算元的位元數,並且忽視位元位 置0 - 31的内容;更新值的32 - 6 3位元替換其通用暫存器R2 + 1相對應的位元。在6 4位元的位址模式中,通用暫存器R 2 + 1的位元位置0-6 3之内容組成一 6 4位元的無正頁符號二進 數,以指定第一及第二運算元的位址;並且更新值替換其 通用暫存器R2 + 1相對應的内容。 在2 4位元或3 1位元的位址模式中,通用暫存器R1、R 2 及R2 + 1的位元位置0-31之内容永遠保持不變。圖5顯示前 述的通用暫存器之内容。 在此存取暫存模式中,存取暫存器1、R 1及r 2分別指 定包含參數塊、第一及第二運算元的地址空間(address spaces ) ° 、、口果係以處理自第一及步一疋异兀的最左邊開始,业 且往右逐塊進行而取得。當在第二運算元的位元數如通用 暫存器R2 + 1所指定已被處理,並放置於第一運算元位置時 (稱為正常完成normal completion),或當一中央處理 2定的塊數比第二運算元已處理的長度較β少時(稱為部: 疋成 partial completion),則運算 =的=根據其模式,並且可依每次執行中的央指處令理:不 同數。此中央處理器決定的塊數通常 的情況下,此數可為零,並且條件碼…c二特殊 ~令业且馀仵碼3可被设為無進展。 :而,令央處理器會避免此無進展案例無止境的一再發 若發生以下狀況 則不可預期第一運算元位置及其連
1279692 五、發明說明(6) 鎖值攔的結果 1·密碼鑰欄部分重疊(over lap)第—運算元的任一立、 2·連鎖值欄部分重疊第一運算元或第/ 一部份· 份。 昂一連异το的任_部 3 ·第一運算元及第二運算元破壞性地部分重疊 (destructively overlap)。當第—運算元位"置會在資 料 到右 已被移入其中後被做一源頭使用時,假設處理曰 運作以及一次運作一位元,則運算元 二到右 重聶。 ^ 70破稱為破壞性地部分 田運作因為正常完成而結束時,設定條件碼為〇,、 及…果值於R2 + 1為零。當運作因為部分完成而結束,、气 定條件碼為3,以及結果值於R2 + 1不為零。 、,設 當辨識一儲存-變更(storage —a lternati〇n)pER事件小 於4K個額外位元,於此事件被報告前,被儲存於 ^ 元位置。 逑异 §第一運算元長度起初為零時,不存取參考塊、第一 及第二運算元,不改變通用暫存器^及R2 + 1, 二 件碼設為零。 业且條 當R 1及R2欄的内容相同時,指定暫存器的内容僅依产 理的位元數遞增,而非雙倍的處理位元數。 处 如其他中央處理器及通道程式所視,參考塊及儲存運算元 的參考可係多數存取的參考,存取至這些儲存位置不一定 採塊-並行(block-concurrent),並且這些存取或參考 順序係無定義。
4iB_034TW.ptd 第10頁 1279692 -----^_______ 五、發明說明(7) 在某些特殊情況下,指令執行可經由設定條件碼3, ,不更新其暫存器及連鎖值,以反應處理的第一及第二運 #元之最後單元來完成。在這情況中處理的單元大小係根 據其情況及模式,但限制使其第一及第二運算元之已處理 但未報告的部分,不致於儲存中部分重疊。在所有情況 令’所有處理的第一運算元的改變位元被設定,且適時的 報告PER儲存—變更事件。 存取異常可報告一比處理於指令的一單一執行較大的 運异元部分;然而,存取異常不辨識一運算元長度之外的 位置或比現在進行處理的現今位置大於41(位元外的位置。 用於功能描述的符號 以下符號用於隨後描述的密碼訊息及連鎖密碼訊息。 針對資料加密運算式功能(data-encryption-algorithm) (DEA) ’忽視位於DEA餘中每一位元的資料加密運算式鑰同 位(DEA-key-parity)位元,無論输的 DEA-key-parity,運 作正常進行。資料-加密運算式的更詳細描述可於美國全 國資訊系統標準(American National Standard for Information Systems),ANSI-X3. 92. 1 98 卜資料加密運 算式(Data Encryption algorithm)中找到。 圖6描述按位元互斥(Bit-wise Exclusive Or),圖7 描述DEA加密及解密的符號。 密碼訊息-查詢(KM-Query) (KΜ功能碼〇 )
4[BM04034TW.ptd 第11頁 1279692 五、發明說明(8) 指令使用的運算元及地址的位置顯示於圖5。 使用於KM-Query功能的參數塊有如圖8所示之格式。 128位元狀態字(status word)儲存於參數塊中。此欄的〇 1 2 7位元为別對應於选碼§fL息指令的功能碼〇 — 1 2 7。當位元 為一時,安裝對應的功能;否則,不安裝此 。 /7月匕 ° 當KM-Query功能執行完成時,設定條件碼為〇 ;條件 碼3不適用於此功能。 密碼訊息-資料加密運算式(KM-DEA) (KM功能碼1 ) 指令使用的運算元及地址的位置顯示於圖5。 使用於功能K M _ D E A的參數塊有如圖q所示之才夂式。 當通用暫存器0中的修改位元為零時,運作一加密作 業。運算元2中的8位元明碼塊(P卜P2,…,Pn)經使用 D E A運算式與參數塊中的6 4位元密碼鑰加密。每一明碼塊 獨立被加密;即,加密作業不連鎖運作。密碼塊(c i, C2,…,Cn)儲存於運算元i。此運作顯示於圖1〇。 當通用暫存器〇中的修改位元為—時,運作一解密作 業。運异元2中的8位元密碼塊(C 1,C2,…,Cn )經使用 DEA運异式與參數塊中的64位元密碼輪解密。每一密碼塊 獨立被解密;即,加密作業不連鎖運作。明碼塊(ρι, P2,…,Pn)儲存於運算元1。此KM〜DEA解密作業顯示於圖 1卜 密碼訊息-二倍資料加密運算式-1 2 8 ( & μ — T d e a - 1 2 8 )( K Μ
4l_4034TW.ptd 第12頁 1279692 五、發明說明(9) 功能碼2 ) 指令使用的運算元及地址的位置顯示於圖5。使用於 功能KM-TDEA-128功能的參數塊有如圖12所示之格式。 當通用暫存器0中的修改位元為零時,運作一加密作業。 運算元2中的8位元明碼塊(PI,P2,…,Pn)經使用TDEA (Triple DEA )(三倍DEA)運算式與參考塊中的二個64位元 密碼鑰加密。每一明碼塊獨立被加密;即,加密作業不連 鎖運作。密碼塊(C 1,C 2,…,C η )儲存於運算元1。此K Μ-TDEA-128加密作業顯示於圖13。 當通用暫存器0中的修改位元為一時,運作一解密作 業。運算元2中的8位元密碼塊(Cl,C2,…,Cn)經使用 TDEA運算式與參數塊中的二個64位元密碼鑰解密。每一密 碼塊獨立被解密;即,加密作業不連鎖運作。明碼塊 (P卜P2,…,Pn)儲存於運算元卜此KM-TDEA-128解密作 業顯示於圖1 4。 密碼訊息-三倍資料加密運算式-192 (KM-TDEA-192) (KM 功能碼2) 指令使用的運算元及地址的位置顯示於圖5。 使用於功能KM-TDEA-192功能的參數塊有如圖15所示 之格式。 當通用暫存器0中的修改位元為零時,運作一加密作 業。運算元2中的8位元明碼塊(P卜P2,…,Pn)經使用 TDEA運算式與參數塊中的三個64位元密碼鑰加密。每一明
4ίΒΜ04034πν.ριϋ 第13頁 1279692 五、發明說明(10) 碼塊獨立被加密;即,加密作業不連鎖運作。密碼塊 ((:1’02’〜,(:11)儲存於運算元卜此〇-了0£八-192加密作 業顯示於圖1 6。 當通用暫存器〇中的修改位元為一時,運作一解密作 業。運算元2中的8位元密碼塊(Cl,C2,…,Cn)經使用 TDEA運异式與參數塊中的三個64位元密碼输解密。每一密 碼塊獨立被解密;即,加密作業不連鎖運作。明碼塊 (PI,P2,…,pn)儲存於運算元1。此KM__TDEA —192解密作 業顯示於圖1 7。 Λ 連鎖密碼訊息-查詢(K M C - Q u e r y ) ( K M C功能碼〇 ) 指令使用的運算元及地址的位置顯示於圖5。 使用於KMC-Query功能的參數塊有如圖! 8所示之格 式。 口 1 2 8位元狀態字(s t a t u s w 〇 r d )儲存於參數塊中。此攔 的0-1 27位元分別對應於連鎖密碼訊息指令的功能碼〇一 1 27。當位元為一時,安裝對應的功能;否則,不安裝此 功能。 " 當KMC-Query功能執行完成時,設定條件碼為〇 ;條件 碼3不適用於此功能。 連鎖密碼訊息-資料加密運算式(KMC-DEA) (KM功能碼1 ) 指令使用的運算元及地址的位置顯示於圖5。 使用於KMC-DEA功能的參數塊有如圖19所示之格式。
第14頁 1279692 五、發明說明(11) 當通用暫存器0中的修改位元為零時’運作一加密作 業。運算元2中的8位元明碼塊(P1,p2 ’ ···,Pn)經使用 D E A運算式與參數塊中的6 4位元密碼鑰及6 4位元的連鎖值 加密。 供衍生第一密碼塊的連鎖值,稱為初始連鎖值 (I CV ),係參數塊的連鎖值;供衍生每一隨後的密碼塊的 連鎖值係其相對應的先前密碼塊。此密碼塊(C 1,C2, …,Cn)儲存於運算元1。最後的密碼塊係輸出連鎖值 (output chaining value)(OCV),並且儲存至參數塊的連 鎖值攔。此KMC-DEA加密作業顯示於圖20。 當通用暫存器〇中的修改位元為一時,運作一解密作 業。運算元2中的8位元密碼塊(Cl,C2,···,Cn)經使用 DEA運算式與參數塊中的64位元密碼鑰及64位元的連鎖值 解密。 供衍生第一明碼塊的連鎖值,稱為初始連鎖值 (I c V )’係於參數塊中;供衍生每一隨後的明碼塊的連鎖 值係其相對應的先前密碼塊。每一明碼塊(P i,P 2,···,
Pn)儲存於運算元i。最後的密碼塊係輸出連鎖值(〇cv), 並且儲存至參數塊的連鎖值攔。此KMC-DEA-解密作業顯示 於圖2 1。 連鎖密碼訊息—三倍資料加密運算式—128 (KMC-TDEA-128) (K M C功能碼2 ) 指令使用的運算元及地址的位置顯示於圖5。
4iBM04034TW.ptd 第15頁 1279692 五、發明說明(12) 使用於功能KM-TDEA-128功能的參數塊有如圖22所示 之格式。 Μ通用暫存器〇中的修改位元為零時,運作一加密作 業。運异元2中的8位元明碼塊(Ρ卜Ρ2,···,Ρη)經使用 TDEA運算式與參數塊中的二個64位元密碼鑰及二個64位元 的連鎖值加密。 供衍生第一密碼塊的連鎖值,稱為初始連鎖值 (I CV ),係參考數的連鎖值;供衍生每一隨後的密碼塊的 連鎖值係其相對應的先前密碼塊。此密碼塊(Cl,C2, • ’ C n)儲存於運算元1。最後的密碼塊係輸出連鎖值 (OCV)’並且儲存至參數塊的連鎖值攔。此KMC-TDEA-128 加密作業顯示於圖2 3。 當通用暫存器0中的修改位元為一時,運作一解密作 業。運算元2中的8位元密碼塊(Π,C2,…,Cn)經使用 T D E A運异式與參數塊中的6 4位元密碼鑰及6 4位元的連鎖值 及二個6 4位元的連鎖值解密。 供衍生第一明碼塊的連鎖值,稱為初始連鎖值 (I CV )’係於參考塊中;供衍生每一隨後的明碼塊的連鎖 值係其相對應的先前密碼塊。每一明碼塊(P1,P2,…, Pn)儲存於運算元i。最後的密碼塊係輸出連鎖值(〇cv), 並且儲存至參數塊的連鎖值攔。此KMC-TDEA-12 8作業顯示 於圖24。 連鎖密碼訊息-三倍資料加密運算式-1 92 (KMC-TDEA-1 92)
4[BM04034TW.ptci ^ _ 吊lb頁 1279692 五、發明說明(13) (K M C功能碼3 ) 指令使用的運算元及地址的位置顯示於圖5。 使用於功能KMC-TDEA-192功能的參數塊有如圖25所示 之格式。 當通用暫存器0中的修改位元為零時,運作一加密作 業。運算元2中的8位元明碼塊(PI,Ρ2,…,經使用 T D Ε Α運算式與參數塊中的三個6 4位元密碼鑰及6 4位元的連 鎖值加密。 供衍生第一密碼塊的連鎖值,稱為初始連鎖值 (I CV ),係參數塊的連鎖值;供衍生每一隨後的密碼塊的 連鎖值係其相對應的先前密碼塊。此密碼塊(C1,C 2, …,Cn)儲存於運算元1。最後的密碼塊係輸出連鎖值 (OCV),並且儲存至參數塊的連鎖值攔。此KMC-TDEA-192 加密作業顯示於圖26。 當通用暫存器0中的修改位元為一時,運作一解密作 業。運算元2中的8位元密碼塊(Cl,C2,…,Cn)經使用 TDEA運算式與參數塊中的三個64位元密碼鑰及64位元的連 鎖值解密。 供衍生第一明碼塊的連鎖值,稱為初始連鎖值 (I CV ),係於參數塊中;供衍生每一隨後的明碼塊的連鎖 值係其相對應的先前密碼塊。每一明碼塊(Ρ1,Ρ 2,…, Ρ η )儲存於運算元1。最後的密碼塊係輸出連鎖值(〇 c V ), 並且儲存至參數塊的連鎖值欄。此1(^!(:-0£4-192解密作業 顯示於圖2 7。
4[BM(}4034TW.ptd 第17頁 1279692 五、發明說明(14) 密碼訊息及連鎖密碼訊息的特殊條件 若發生以下任一情況,則辨認一規格異常,並且不採 取其他行動: 1.通用暫存器0的5 7- 6 3位元指定一未指定的或未安裝的功 能碼。 2 . R 1或R 2攔指派一奇數暫存器或通用暫存器0。 3.第二運算元長度非一指派功能的資料塊大小之倍數(參 考圖7 - 3於7 - 3 5頁以決定密碼訊息功能的貢料塊大小,爹 考圖7 - 4於7 - 3 5頁以決定連鎖密碼訊息功能的資料塊大 小)。此規格異常條件不適用於查詢功能。 結果條件碼: 0正常結束 3部分結束 程式異常: 1存取(提取(fetch),運算元2及密碼鑰;存取,運算元 1 ;提取及存取,連鎖值) 1運作(若未安裝訊息-安全協助) 1規格 圖2 8係一表顯示密碼訊息及連鎖密碼訊息的執行之優先順
4[BM04034TW.ptd 第18頁 1279692 五、發明說明(15) 序。 程式筆記: 1 .當設定條件碼3時,包含運算元地址及長度的通用暫存 器,以及對連鎖密碼訊息,參數塊中的連鎖值,通常係被 更新以使得程式可容易地分支回指令以繼續運作。 對於不平常的情況,中央處理器預防無進展案例無止境的 一再發生,亦預防當第一及第二運算元要被重新處理的部 分重疊於儲存中時,將設定條件碼3。因此,每當條件碼3 設為不暴露至一無止境的循環及不暴露於不正確地重試指 令時,此程式可安全地分支回到指令。 2. 若第二運算元的長度起初不為零以及條件碼0被設定, 則暫存器依條件碼3被更新的方法更新。對於連鎖密碼訊 息,連鎖值在此情況係如額外運算元可以其為相同連鎖的 一部份處理。 3. 為了節省儲存,第一及第二運算元可完全重疊或第一運 算元的起始點可在第二運算元的起始點左方。任一情況 中,部分重疊非破壞性。 密碼共處理器(Crypto Coprocessor) 較佳實施例提供一密碼共處理器,係可與此所描述的 指令一起使用,並且執行密碼訊息及協助連鎖訊息作業的 變化,其連鎖訊息作業的變化可與適當的指令實行於連鎖 及密碼使用。
4iiM)4034TW.ptd 第19頁 1279692 五、發明說明(16) 圖2 9描述此密碼共處理器係直接連接至一資料路徑 此資料路徑係通用於所有於一般使用的微處理器中的内部 執行單元,其微處理器具有多數個執行管線。此微處理器 内部匯流排(1 )係通用於所有其他執行單元係連接至密碼 控制單元(cryptographic control unit) (2),以及此控 制單元監控此匯流排所應該執行的處理器指令。 此密碼控制單元提供一密碼共處理器直接連接至一資 料路徑,此資料路徑係通用於所有於一般使用的微處理器 中的中央處理單元之内部執行單元,供可使用的硬體(E〇 …Ε η ),或自具有多數個執行管線的較佳實施例之結合給 中央處理單元。當遇到一密碼指令於一命令暫存芎(3 ), 控制單元(2 )自可使用的硬體啟動適當的演算法。運瞀元 資料係被相同的内部處理器經由一輸入先進先出暫存^ (input FIFO register)(4)遞送。當一作業完成時:^ 一 狀態,存器(6 )設立一旗標,並且結果可自輪出先進先出 暫存器(output FIFO register)(5)被讀取。 施例係設計為可延展,以根據 定實施所有需要的硬體搜尋 出暫存器(7)係通用於所有搜 本發明所描述的較佳實 系統的性能目標,包含一特 器。此資料路徑至輸入及輸 尋器。 於中央處理器的 选作業一較小延 本發明密碼功能的較佳實施例係實施 執行單元硬體’此實施提供呼叫及執行加 遲並且增加其效能。 此降低的延遲增加系統中一般處理器的性能,其系統
1279692 五、發明說明(Π) 頻繁地作許多加密作業’具體地僅當牽涉少數量的資料 時。這允許可顯著地增快涉及安全線上交易的處理之實 施。最一般的安全線上交易方法牽涉一組三個演算法。第 一演算法僅於一對話(s e s s i 0 η )使用一次,並可實施於硬 體或軟體,當其他運作於此對話的每一交易時被啟動,呼 叫外部硬體的延遲成本,以及執行軟體中演算法的時間成 本皆可被本發明解決。 圖3 0中,概念的顯示如何實行本較佳實施例於一具有 上述的微處理器的大型電腦(mainframe),如IBM内的實驗 證明,可有效地使用於長位移(long di 3?1&〇611^111:)設備 電腦結構指令格式的商業實施’此指令被程式設計者所使 用,通常係今日的n C"程式設計者。儲存於儲存媒介的這 些指令格式可被原生的執行於一 Ζ/結構I ΒΜ伺服器,或執 行於其他結構的機器。他們可模擬於現今或未來I 大型 電腦伺服器以及其他IBM的機器(例如,pSerieys1服器及 X S e r i e s伺服器)。他們可被執行於執行l i n u X的機器或使 用IBM、Inte卜AMD、Sun Microsystems及其他者所製造 的硬體的不同類型的機器。在執行於z /結構的硬體之外, 亦可使用 Linux以及使用 Hercules、UMX、FXI或 Plat form Solutions模擬的機器,其中一般執行係於一模擬模式。 在模擬模式中,被模擬的特定指令被解密,並且一次常式 被建構以實施個別指令,如在一 ” c"次常式或驅動程式, 或如同熟知此技藝者在了解本發明較佳實施例後的一些其 他提供一驅動程式給特定硬體的方法。許多軟體及硬體模
4ΙΒΜ040341ΐν.ριά 第21頁 1279692 五、發明說明(18) 擬專利包含,但不限制於US5551013 Beausoleil et al. 的一 ••硬體模擬之多處理器π,以及US6 0 0 9 2 6 1 : Scalzi et a 1 ·的”供模擬不相容指令於一目標處理器的儲存的目標 常式的處理";以及US5574873: Davidian et al的"解密 客指令以直接存取模擬此客指令的模擬常式”; US6308225: Gorishek et 8 1的”使用於共處理器支援以允 許非原生碼執行於一系統之對稱多處理器匯流排以及晶片 集π ;以及US6 4 63 582 : Lethin et al的,,結構模擬的動態 最佳化物件碼翻澤器以及動態最佳化物件碼翻譯方法,,· 以及US5790825: EricTraut的”經由主指令的動態重新編 輯模擬客指令於主電腦的方法”;以及許多其他描述已知 =法的變化以達成指令格式的模擬,係結構化給一不同 器給一熟知此技藝者可使用的目標機器,以及以上表裕 使用的商業軟體技術。 〆汽所 在較佳實施例中,針對一 s u p e r s c a 1 a r )指令的現今前長 存器及1 2位元無符號位移或基 位元無符號位移的總結,而組 移指令格式’經由基準暫存 暫存器、索引暫存器及2 〇位元 運鼻元儲存位址。 非超純量(non 位移指令格式,經由基準暫 準暫存器、索引暫存器及12 成運作儲存位址,及新長位 及20位元無符號位移或基準 無符號位移的總結,而組成 理器執行於硬體中 一具有不同原生指 或經 令組 如圖3 0所示,這些指令係由處 由軟體所設定的指令的模擬執行^ 的電腦中。
1279692 五、發明說明(19) 在圖3 0中, 儲存器。本發明 腦中。# 5 0 2顯示 亦可包含已被提 被轉移至一指令 何類型。# 5 0 4顯 體,# 5 0 1,載入 憶體,或運作某 精準類型,先前 長位移指令可於 一電腦系統,則 構,包含長位移 可實行於一主電 制可通常以一或 在此兩情泥下, 更具體地, 式為1 2位元無符 址 顯示一包含指令 所描述的長位移指令 機制供自一電腦記 取的這些 解密器, 示一機制 資料至暫 些數學或 已經由指 此執行。 此圖如上 指令,係 腦的軟體 多個軟體 提取一指 此結構化 號位移的 指令的本區 # 5 0 3,係決 供執行指令 存器 自一 亦可使用一具有額外 佳地係2 0位元, 正頁符號位。此 一電腦儲存媒介 體’並包含指令 器,係儲存於一 部份包含一運4乍 係包含一 電腦結構 ,供產生 碼供使用 電腦儲存 碼以指定 邏輯運作。 令解密器被 若長位移指 述完成。然 被模擬於另 ,#505° 在 次常式於模 令、解密並 的指令可使 電腦結構, 指令格式供 用以構成運 化的指令包 執行處理器 經由一編輯 媒介5 0 1中, 要運作的作 及資料的電腦記憶體 ’起初會儲存於此電 憶體提取指令,並且 緩衝。接者原始指令 疋已被提取的指八么 。這可包含自記憶' 暫存器儲存資料回記 要被運作的此運作之 決定。本發明所述之 令係被原生地執行於 而,若一指令設定处 一電腦,上述的處^ 此狀況下,上述的機 擬器軟體内被實 執行。 :於一有1 見今指令格 取迷开疋儲存地 =額外位移位元, ^儲存位址的延伸有 ^電腦軟體,儲存於 ϋ碼,利用此電腦軟 $或模擬器/翻譯 其中指令碼的第― 業,以及—第二部分
五、發明說明(20) :指ίΐ;:運算ΐ。此長位移指令利用長位移功能指 令’允許額外位址被直接地定位。 如圖3 0所示,這此相人# γ . 一扣7係經一處理器執行於一硬體, 或經執行於一具有一不同斥匕八 的模擬指令。 门原生I組的電腦之軟體所設定 依較佳實施例的電腦結構,位移搁係定義為兩 較不重要的部分係1 2位元,餘炎^ 對運算元2,最重要的部分係8位一 1對運异疋1或DL2 元丨或〇112對運算元2。係8位70 ,稱為DH,DH1對運算 f再η者、r :乂仏電腦結構具有一指令格式使得作業碼 (opcode)係位於位元位置〇至7及 為R1於位元位置8至U,一会a I 目榦皙存為% 1 1 R,一 I嘴糾女时 索引暫存裔稱為X2於位元位置 r . 土準暫存4稱為B2於位元位置1 6至1 9 , 一位移 (displacement)由兩部公媸# ^ ^ ^ ^ 位晋?ί)$ Μ,ν β @ 構成,其第一部份稱為DL2位元 位置20至31以及第二部分稱為Μ2位元位置“至 置〇至';=7具有—指令格令使得作業碼係位於… 7及40至47’ 一目標暫存器稱為R1於位元位置8至 «!卜一原始暫存器稱為R3於位元位置1 2至1 5,~美準卷在 m:::位置16至19, 一位移由兩部分構成,其第 位置32ίί9 位置2〇至31以及第二部分稱為M2位元 再者’本具有一長位移功能的電腦結構具有一 A 式’使得作業碼係位於位元位置〇至7及4 〇至4 7,一 存ϋ稱為m於位元位置8至η…遮罩值稱為 1279692 五、發明說明(21) 置1 2至1 5,一基準暫f々 移由兩部分構成,其J 5為β2於位元位置1 6至1 9,一位 及第二部分稱為DH 伤稱為儿2位元位置2〇至31以 位70位置32至39。 ». 示有長位移功能的本較佳雷腦紝士塞 格式,使得作業碼係位於位又佳電恥…構具有一指令 值稱為I 2於位元位置8至、丨5,—置0至7及4 0至4 7,一立即 位置1 6至1 9,一位移由兩部分基準暫^器稱為B2於位元 位元位置20至31以及第二部分上^,其弟一部份稱為 杳#用鉍护八筏捃田 %為1位兀位置3 2至3 9。 田使用新指令係僅用此新2 — 令格式所建立時,本長位移功^兀’,,、正頁符號位移的指 本電腦結構的-“ :4電腦結構有效地運作。 號位移的指令格式的現今心例利用具有僅有12位元無符 柊式,a γ ^ ^ 、、、°構,並且現在被定義於新指令 Γ立移的較高階8位元,_,皆為零時,有現今 攔,不為零時,有-2〇位元移的車父向階8位元,dh 是本2本發明之較佳實施例在此描述及顯示,需認知的 =不限制於在此揭露的精準結構,i且保留所有如 附力專利範圍所定義之本發明範圍的改變及修改的權利。
4iBM04()34TW.pui 第25頁 1279692 圖式簡單說明 【圖式簡單說明】 以下本發明的詳細描述,並參照伴隨圖式可使熟之此 技藝者對這些及其他目的顯而易知,其中: 圖1係R R E指令格式的密碼訊息指令(Κ Μ ), 圖2係R R Ε指令格式的連鎖密碼訊息指令(K M C ), 圖3係圖1之密碼訊息指令的功能碼的表; 圖4係圖2之連鎖密碼訊息指令的功能碼的表; 圖5係密碼訊息及連鎖密碼訊息指令的通用暫存器分配的 圖示; 圖6顯示位元互斥0 r的符號; 圖7顯示DEA加密及解密的符號; 圖8顯示KM-Query的參數塊的格式; 圖9顯KM-DEA的參數塊; 圖1 0顯示KM-DEA加密作業; 圖1 1顯示KM-DEA解密作業; 圖12顯示1^-了0人-128的參數塊的格式; 圖13顯示KM-TE-128加密作業; 圖14顯示KM-TE-128解密作業; 圖15顯示〇-111^-192的參數塊的格式; 圖1 6顯示KM-TE-1 92加密作業; 圖17顯示KM-TE-192解密作業; 圖18顯示KMC-Query的參數塊的格式; 圖1 9顯示KMC-DEA的參數塊的格式; 圖20顯示KM-DEA加密作業;
4iBM04034TW.ptd 第26頁 1279692 圖式簡單說明 圖21顯示ΚΜ-DEA解密作業; 圖22顯示1^(:-丁0£人-128的參數塊的格式; 圖23顯示KM-TDEA-128加密作業; 圖24顯示KM- TDEA-128解密作業; 圖2 5顯示〇〇丁0£人-12 8的參數塊的格式; 圖26顯示KM-TDEA-192加密作業; 圖27顯示KM- TDEA-192解密作業; 圖2 8顯示KM及KMC的執行優先順序的表; 圖2 9顯示本密碼共處理器; 圖3 0顯示包含依本較佳實施例的指令與資料以及供提取、 解密及執行這些指令的機制,在一電腦系統執行這些結構 化的指令或使用於本結構指令的模擬中機制的一電腦記憶 體儲存器的概括較佳實施例。 圖元件符號說明 1微處理器内部匯流排 2密碼控制單元 3命令暫存器 4輸入先進先出暫存器 5輸出先進先出暫存器 6狀態暫存器 7資料路徑 5 0 1包含指令及資料的電腦記憶體 5 0 2提取指令
4[BM()4034TW.ptd 第27頁 1279692 圖式簡單說明 5 0 3指令解密器 5 0 4指令執行 5 0 5主機電腦模擬另一電腦
4[BIVI04(B4TW.pUi 第28頁
Claims (1)
1279692 --— 1 · 一種將—計算環境的儲存加密(encipher )之方法,該 方法包含: 經由—指令,指定一欲被加密的儲存單元;以及 將該儲存單元加密。 πο 士明求項1所述之方法,其中該指定包含提供與該儲存 單元相關的一資料結構(d a t a s t r u c t u r e )之位置資訊 (l〇Cati〇n information)。 3 ·如%求項2所述之方法,其中該位置資訊包含該資料結 構之一源頭(origin)。 、 、° 月求項3所述之方法,其中该位置貧訊更包含該資料 、°構之一項目(entry)之一索引(index),且該項目對應該 儲存單元。 5 ·如請求項1所述之方法,其中該加密包含藉由該指令提 供 後、碼鑰(cryptographic key)。 6·如請求項1所述之方法,其中該儲存單元包含一儲存分 段(segment )之一以及一儲存分區(region),以及其中該 資料結構包含一分段資料結構之一以及一分區資料結構。 7 ·如請求項1所述之方法,其中該加密係經該指令運作。 8 ·如請求項1所述之方法,其中該加密包含設定與該儲存 單元相關之一密碼鑰。 9.如請求項1所述之方法,其中該資料結構包含複數個項 目’以及其中該加密更包含使用一索引’以取得與欲被加 密的該儲存單元相關之該項目,該項目具有該密碼鑰。 1 0 ·如請求項1所述之方法,其中該儲存單元包含一儲存分
4[iM)4034TW.pt(i 第29頁 1279692 六 段 、申請專利範圍 ' ’該儲存分段包含複數個儲存頁(page )。 11 ·如請求項丨所述之方法,其中該儲存單元勺人 區’該儲存分區包含複數個儲存分段,一 t含一健存分 數個儲存頁。 存分段包含複 12·如請求項丨所述之方法,其中該指定 存單元,以及該加密包含將該複數個儲 -疋複數個儲 密。 W叶早兀加 13·如請求項12所述之方法,其中該加密 — Uhalning 〇perati〇n),以將該複數 各、鎖運作 如請求们所述之方法,其中該儲存加密。 1 5·如請求項1所述之方法,其中該指令 二擬儲存。 體、韌體及軟體。 扣“糸實施於至少一硬 1 6·如請求項丨所述之方法装中該 之一架構的處理蕈元所*» ’、 係破一模仿該指令 理早元之一架構。 架構不同於該處 17·—種將—計算環境的 方法包含·· 褚存解在(decipher)之方法,該 二::Ϊ令’指定〜欲被加密的儲存單元;以及 將β儲存單元解密。 乂及 1 8 ·如請求項】7所成 、 存單元相奶、 去’其中泫指定包含提供盘兮絲 f早二相關的一資料結構之位置資訊。 供…亥储 結構之一源Y 8所述之方法,其中該位置資訊包含該資料 2〇.如請求項19所述之方法,其中該位置資訊更包含該資
4fBM()4034TW.ptd
第30頁 1279692 ------ 申請專利範圍 料結構之一項目之一索引 2 1 ·如请求項1 7所述之方法 提供一密螞鑰。 2 2 ·如請求項1 7所述之方法 公段之一以及一儲存分區 且違項目對應該儲存單元。 ’其中該解密包含藉由該指令 分 段 其中該儲存單元包含一儲 資料姓=久一儸什π吸,以及其中該資料結構包含一分 貝科結構之一以及一分區資料結構。 再匕$刀 作3:如請求項m述之方法,其中該解密係經該指令運 其中該解密包含設定與該儲 24·如請求項17所述之方法 存單元相關之一密碼鑰。 25·如請求項17所述之方法,其中該 項目,以及其中該解密更包含使用一、科「構包含複數個 ^密的該儲存單元相關之該項目,該以取得與欲 餘。 負目具有该密碼 儲存 儲存 存分段包含 Γ段如請Λ項17所述之方法,其令該健存單元包含 ^儲存分段包含複數個儲存頁。 27_如請求項17所述之方法,其中嗲锉尨w 分區,兮钟+ \广A A ,、甲4储存早元包含 Μ儲存分區包含複數個儲 禝數個儲存頁。 于刀仅 v Ί 28·如請求項17所述之方法,盆 儲存單元,以及士歹解宠4 ’、 Λ曰疋匕含指定複數個 29.如請求項28所述之方將甘該複數個儲存單元解密。 ίη 亥複數個儲存單元解密。 3連鎖運 30·如❺求項17所述之方 其中5亥儲存包含虛擬儲存。
1279692 六、申請專利範圍 3 1.如請求項1 7所述之方法,其中該指令係實施於至少一 硬體、韌體及軟體。 3 2 .如請求項1 7所述之方法,其中該指令係被一模仿該指 令之一架構的處理單元所執行,該指令之該架構不同於該 處理單元之一架構。 3 3. —種供一計算環境的儲存加密之系統,該系統包含: 一指令指定一欲被加密的儲存單元;以及 一資料加密功能將該儲存單元加密。 3 4 .如請求項3 3所述之系統,其中該指令包含提供與該儲 存單元相關的一資料結構之位置資訊。 3 5 .如請求項3 4所述之系統,其中該位置資訊包含該資料 結構之一源頭。 3 6 .如請求項3 5所述之系統,其中該位置資訊更包含該資 料結構之一項目之一索引,且該項目對應該儲存單元。 3 7.如請求項3 3所述之系統,其中該指令提供一密碼鑰。 3 8 .如請求項3 3所述之系統,其中該儲存單元包含一儲存 分段之一以及一儲存分區,以及其中該資料結構包含一分 段資料結構之一以及一分區資料結構。 3 9 .如請求項3 3所述之系統,其中該加密包含設定與該儲 存單元相關之一密碼餘。 4 0 .如請求項3 3所述之系統,其中該資料結構包含複數個 項目,以及其中該加密更包含使用一索引,以取得與欲 被加密的該儲存單元相關之該項目,該項目具有該密碼 錄0
4iBM04()34TW.pu! 第32頁 1279692 申請專利範圍 如請求項33所述之系統,其中該儲 ^ ’咸儲存分段包含複數個儲存頁。 3 一儲存 •。如請求項33所述之系統,其中該儲存單八 區,該儲存分區包含複數個儲存分幹,一 G 3 —儲存 數個儲存頁。 又,一儲存分段包含 4 3 .如請求項3 3所述之系統,其中 ^左结- τ这指令包含招々> 存早7C,以及該資料加密 扣疋设數個 犯將邊後數個儲存 丨" π廿早兀加 U 分 42 分 複 儲 密 44.如請求項43所述之系統,发 連鎖運作,以將該複數個儲存單元'貝,力0密功能包含— 45+請求項33所述之系統#其7;^^ 46·如睛求項33所述之系石^ I合虛擬儲存。 軟體實施該指令。 更包&至少一硬體、物體及 更包含一模仿該指令之—架 該指令之該架構不同於該處 47·如請求項33所述之系統, 構的處理單元以執行該指令 理單元之一架構。 % 48·—種供—計算環境的儲存 一指令沪宗一铪诎a解在之糸統,該系統包含· -資/解密的健存單元;以及 49.π如請求項48所述之系統4存复V:解密。 存單元相關沾-欠" ’、令4指令包含提#盘兮枝 5 〇 .如:求關:二貧料結構之位置資訊。k供與㈣ 社搂令求項49所述之系統,其t^ w t 結構之一源頭。 ^ T ^位置資訊包含該資料 5 1 ·如請求項5 〇所述之系 ”、/、中泫位置資訊更包含該資
4iBM0403411V.ptc| 第33頁 1279692 :、、申請專利範圍 料結構之—項目之一索引, 52. 如請求項48所述之系統 53. 如請求項48所述之系統 分,之一以及一儲存分區, 4項目對應該儲存單元。 ;:該指令提供一密碼鑰。 ’以、Λ1?#單以含一儲存 二資料▲结構之一以及…資料結:該資料結構包含-分 存單VVV員48所述之系統’其中該解密包含一盘 |子早兀相關之一密碼鑰。 匕s叹疋與該儲 2·如凊求項48所述之系統,其中兮 LL目’以及其中該解密更包含使用-f引含複數個 匕加密的該儲存單元相關之該項g,目以取得與欲 八·如請求項55所述之系統,其令該二有该密碼餘。 ^1,該错存分段包含複數個儲存頁 疋包含一儲存 匕如請求項爾述之系統,其,該頁 U,—存分區包含複數個 子早-包含-儲存 |後數個儲存頁。 廿刀杈一儲存分段包含 |儲存罩-长員48所述之系統,其中該指令包含於—… |密 ’以及該資料解密功能將該複數個儲ν,Λ: 丨連鎖運V托項5:所述之系統’其令該資料解密功能包人 U如二以將該複數個健存單元解密。 61·如“ΐ:ίΐί: ’ ^該儲存包含虛擬儲存。 丨軟體實施該指:系統’更包含至少-硬體,及 62.如請求項48所述之系統,更包含—模仿該指令之一架 仙\|(}4()3彻 • ptd 第34頁 1279692 六、申請專利範圍 一 構的處理單元以執行嗲 |理單元之一架構。…,该指令之該架構不同於該處 63·一種電腦程式產品,包含· 丨供運腦可使用媒介,.係具有電腦可讀取" 運作將—計算環境的儲存加密之方法,心ϊί式碍, I 經由一指令,於a μ方法包含·· # 私疋一欲被加密的儲存嵐- ^將該儲存單元加密。 j砵存早兀;以及 6 4 ·如請求項6 3所述之 密碼鑰。 耘式產品,其中該指令提供— 6 5 ·如5青求項6 4所述之電 |定複數個儲存單元,以及/式產^’其中該指定包含指 I加密。 該加始、包含將該複數個儲存單元 6 6 .如請求項6 5所述之電 |連鎖運作,以Μ $ s 工產品,其中該加密包含_ 67如往七將忒複數個儲存單元加密。 J ·。月求項6 4所述之電腦栽—方口 ;仿該指令之-架構的處理/元執V該更Λ含電腦碼供-|架構不同於該處理單元之一架構。"曰7 ,该指令之該 6 8 ·種電腦程式產品,包含·· I#、$ ί夕一電腦可使用媒介,係有電腦可讀取π $ r環境的儲存解密之方法, I元包含複數:::存;旨定:r解密㈣存單元,存單 將該儲存單元解密。 69.如請求項_述之電腦程式產品,其中該指令提供— 第35頁 4iBtVI〇4〇34TW.ptc( 1279692 六、申請專利範圍 密碼錄。 7 0 .如請求項6 8所述之電腦程式產品,其中該指定包含指 定複數個儲存單元,以及該解密包含將該複數個儲存單元 解密。 7 1.如請求項7 0所述之電腦程式產品,其中該解密包含一 連鎖運作,以將該複數個儲存單元解密。 7 2 .如請求項6 8所述之電腦程式產品,更包含電腦碼供一 模仿該指令之一架構的處理單元執行該指令,該指令之該 架構不同於該處理單元之一架構。
4[BM()4034TW.pui 第36頁
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/435,916 US7257718B2 (en) | 2003-05-12 | 2003-05-12 | Cipher message assist instructions |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200511040A TW200511040A (en) | 2005-03-16 |
TWI279692B true TWI279692B (en) | 2007-04-21 |
Family
ID=33417043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW093112742A TWI279692B (en) | 2003-05-12 | 2004-05-06 | Method of enciphering/deciphering storage of a computing environment, system therefor, and computer program product thereof |
Country Status (15)
Country | Link |
---|---|
US (6) | US7257718B2 (zh) |
EP (1) | EP1623294B1 (zh) |
KR (1) | KR100745430B1 (zh) |
CN (1) | CN100394348C (zh) |
AT (1) | ATE355552T1 (zh) |
AU (1) | AU2004236861A1 (zh) |
CA (1) | CA2523241C (zh) |
DE (1) | DE602004005025T2 (zh) |
ES (1) | ES2279366T3 (zh) |
GB (1) | GB2413878B (zh) |
IL (1) | IL171906A (zh) |
PL (1) | PL1623294T3 (zh) |
RU (1) | RU2334268C2 (zh) |
TW (1) | TWI279692B (zh) |
WO (1) | WO2004099950A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7802108B1 (en) * | 2002-07-18 | 2010-09-21 | Nvidia Corporation | Secure storage of program code for an embedded system |
US20040230813A1 (en) * | 2003-05-12 | 2004-11-18 | International Business Machines Corporation | Cryptographic coprocessor on a general purpose microprocessor |
KR100604828B1 (ko) * | 2004-01-09 | 2006-07-28 | 삼성전자주식회사 | 펌웨어 암호화 방법 및 해독 방법과 그 처리 장치 |
KR101123742B1 (ko) * | 2005-12-23 | 2012-03-16 | 삼성전자주식회사 | 사용자 인터페이스와 소프트웨어 간의 신뢰 경로 설정 방법및 장치 |
US20100169637A1 (en) * | 2008-06-28 | 2010-07-01 | Visisoft, Llc | Palette for real-time display of previously accessed documents |
US9317286B2 (en) * | 2009-03-31 | 2016-04-19 | Oracle America, Inc. | Apparatus and method for implementing instruction support for the camellia cipher algorithm |
US8832464B2 (en) * | 2009-03-31 | 2014-09-09 | Oracle America, Inc. | Processor and method for implementing instruction support for hash algorithms |
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 |
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 |
US20100246815A1 (en) * | 2009-03-31 | 2010-09-30 | Olson Christopher H | Apparatus and method for implementing instruction support for the kasumi cipher algorithm |
US8356185B2 (en) * | 2009-10-08 | 2013-01-15 | Oracle America, Inc. | Apparatus and method for local operand bypassing for cryptographic instructions |
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 |
US9851969B2 (en) * | 2010-06-24 | 2017-12-26 | International Business Machines Corporation | Function virtualization facility for function query of a processor |
US9179303B2 (en) * | 2010-11-17 | 2015-11-03 | Qualcomm Incorporated | Methods and apparatus for transmitting and receiving secure and non-secure data |
US8737604B2 (en) | 2011-05-09 | 2014-05-27 | Advanced Micro Devices, Inc. | Processor with architecture implementing the advanced encryption standard |
US9201629B2 (en) | 2013-03-14 | 2015-12-01 | International Business Machines Corporation | Instruction for performing a pseudorandom number seed operation |
US8873750B2 (en) | 2013-03-14 | 2014-10-28 | International Business Machines Corporation | Instruction for performing a pseudorandom number generate operation |
US9411600B2 (en) * | 2013-12-08 | 2016-08-09 | Intel Corporation | Instructions and logic to provide memory access key protection functionality |
US20150234750A1 (en) * | 2014-02-18 | 2015-08-20 | Aspeed Technology Inc. | Method and apparatus for addressing a memory containing different bit-length field variables |
US10642987B2 (en) * | 2017-01-19 | 2020-05-05 | Ebay Inc. | Cryptography based fraud tracking |
US11121856B2 (en) * | 2018-06-15 | 2021-09-14 | Intel Corporation | Unified AES-SMS4—Camellia symmetric key block cipher acceleration |
US11706039B2 (en) | 2020-12-26 | 2023-07-18 | Intel Corporation | ISA accessible physical unclonable function |
US11700135B2 (en) | 2020-12-26 | 2023-07-11 | Intel Corporation | ISA accessible physical unclonable function |
US12022013B2 (en) | 2020-12-26 | 2024-06-25 | Intel Corporation | ISA accessible physical unclonable function |
Family Cites Families (32)
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 |
JPS56149645A (en) * | 1980-04-21 | 1981-11-19 | Nec Corp | Instruction word deciphering device of information processor |
US4578530A (en) * | 1981-06-26 | 1986-03-25 | Visa U.S.A., Inc. | End-to-end encryption system and method of operation |
EP0354774B1 (en) | 1988-08-11 | 1996-04-10 | International Business Machines Corporation | Data cryptography using control vectors |
US5058164A (en) * | 1990-05-03 | 1991-10-15 | National Semiconductor Corp. | Encryption of streams of addressed information to be used for program code protection |
JP3086507B2 (ja) | 1991-10-02 | 2000-09-11 | 旭化成工業株式会社 | 熱可塑性合成樹脂成形品 |
US5666411A (en) | 1994-01-13 | 1997-09-09 | Mccarty; Johnnie C. | System for computer software protection |
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 |
US5787302A (en) * | 1996-05-15 | 1998-07-28 | Philips Electronic North America Corporation | Software for producing instructions in a compressed format for a VLIW processor |
US20010025337A1 (en) | 1996-06-10 | 2001-09-27 | Frank Worrell | Microprocessor including a mode detector for setting compression mode |
US6226680B1 (en) * | 1997-10-14 | 2001-05-01 | Alacritech, Inc. | Intelligent network interface system method for protocol processing |
JPH11249873A (ja) | 1998-03-02 | 1999-09-17 | Mitsubishi Electric Corp | ドライバ機能の動的管理方式及び動的管理方法 |
DE69936856T2 (de) * | 1998-06-03 | 2008-04-30 | Cryptography Research Inc., San Francisco | Ausgewogene kryptographische rechenmethode und apparat zur schlupfminimierung in smartcards und anderen kryptosystemen |
US6298442B1 (en) * | 1998-06-03 | 2001-10-02 | Cryptography Research, Inc. | Secure modular exponentiation with leak minimization for smartcards and other cryptosystems |
KR20020026370A (ko) | 1999-08-09 | 2002-04-09 | 러셀 비. 밀러 | 메시지 인증 코드를 발생시키기 위한 방법 및 장치 |
US6675298B1 (en) * | 1999-08-18 | 2004-01-06 | Sun Microsystems, Inc. | Execution of instructions using op code lengths longer than standard op code lengths to encode data |
US7278016B1 (en) * | 1999-10-26 | 2007-10-02 | International Business Machines Corporation | Encryption/decryption of stored data using non-accessible, unique encryption key |
US6542981B1 (en) * | 1999-12-28 | 2003-04-01 | Intel Corporation | Microcode upgrade and special function support by executing RISC instruction to invoke resident microcode |
CA2305078A1 (en) * | 2000-04-12 | 2001-10-12 | Cloakware Corporation | Tamper resistant software - mass data encoding |
JP4098478B2 (ja) * | 2001-01-31 | 2008-06-11 | 株式会社東芝 | マイクロプロセッサ |
JP2002353960A (ja) * | 2001-05-30 | 2002-12-06 | Fujitsu Ltd | コード実行装置およびコード配布方法 |
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 |
US7266703B2 (en) * | 2001-06-13 | 2007-09-04 | Itt Manufacturing Enterprises, Inc. | Single-pass cryptographic processor and method |
US7360076B2 (en) * | 2001-06-13 | 2008-04-15 | Itt Manufacturing Enterprises, Inc. | Security association data cache and structure |
US20030028765A1 (en) | 2001-07-31 | 2003-02-06 | Cromer Daryl Carvis | Protecting information on a computer readable medium |
JP2003051819A (ja) * | 2001-08-08 | 2003-02-21 | Toshiba Corp | マイクロプロセッサ |
US6996725B2 (en) * | 2001-08-16 | 2006-02-07 | Dallas Semiconductor Corporation | Encryption-based security protection for processors |
US6765030B2 (en) * | 2002-03-22 | 2004-07-20 | The University Of North Carolina At Chapel Hill | Methods of forming polymeric structures using carbon dioxide and polymeric structures formed therapy |
US7254696B2 (en) * | 2002-12-12 | 2007-08-07 | Alacritech, Inc. | Functional-level instruction-set computer architecture for processing application-layer content-service requests such as file-access requests |
CN100539289C (zh) | 2006-05-23 | 2009-09-09 | 索尼株式会社 | 电池 |
-
2003
- 2003-05-12 US US10/435,916 patent/US7257718B2/en active Active
-
2004
- 2004-05-04 PL PL04731048T patent/PL1623294T3/pl unknown
- 2004-05-04 CA CA2523241A patent/CA2523241C/en not_active Expired - Lifetime
- 2004-05-04 WO PCT/GB2004/001928 patent/WO2004099950A1/en active IP Right Grant
- 2004-05-04 DE DE602004005025T patent/DE602004005025T2/de not_active Expired - Lifetime
- 2004-05-04 GB GB0516236A patent/GB2413878B/en not_active Expired - Lifetime
- 2004-05-04 RU RU2005121915/09A patent/RU2334268C2/ru active
- 2004-05-04 AU AU2004236861A patent/AU2004236861A1/en not_active Abandoned
- 2004-05-04 KR KR1020057018960A patent/KR100745430B1/ko active IP Right Grant
- 2004-05-04 AT AT04731048T patent/ATE355552T1/de active
- 2004-05-04 CN CNB2004800078072A patent/CN100394348C/zh not_active Expired - Lifetime
- 2004-05-04 ES ES04731048T patent/ES2279366T3/es not_active Expired - Lifetime
- 2004-05-04 EP EP04731048A patent/EP1623294B1/en not_active Expired - Lifetime
- 2004-05-06 TW TW093112742A patent/TWI279692B/zh not_active IP Right Cessation
-
2005
- 2005-11-10 IL IL171906A patent/IL171906A/en unknown
-
2007
- 2007-03-28 US US11/692,382 patent/US8103860B2/en active Active
-
2009
- 2009-02-27 US US12/394,579 patent/US7720220B2/en not_active Expired - Lifetime
-
2011
- 2011-12-13 US US13/324,396 patent/US8261048B2/en not_active Expired - Fee Related
-
2012
- 2012-06-04 US US13/487,929 patent/US8661231B2/en not_active Expired - Lifetime
-
2013
- 2013-12-31 US US14/144,830 patent/US9424055B2/en not_active Expired - Fee Related
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI279692B (en) | Method of enciphering/deciphering storage of a computing environment, system therefor, and computer program product thereof | |
US9596076B1 (en) | Encrypted data exchange between computer systems | |
US8498418B2 (en) | Conversion of cryptographic key protection | |
JP7116050B2 (ja) | 認証命令を含む暗号メッセージを実現するコンピュータ・プログラム製品、コンピュータ・システム、およびコンピュータ実装方法 | |
US10027640B2 (en) | Secure data re-encryption | |
CN105074712A (zh) | 代码处理装置和程序 | |
TWI354929B (en) | Method and computer program product for executing | |
WO2021114885A1 (zh) | 敏感信息保护方法、装置、计算设备及存储介质 | |
US11200346B2 (en) | Secure computation for reading multiple elements from a secure text array | |
JP6974959B2 (ja) | 統合された記憶媒体のための保存データ(dar)暗号化 | |
WO2020145340A1 (ja) | 秘密配列アクセス装置、秘密配列アクセス方法、およびプログラム | |
US8935771B2 (en) | System, method, and computer security device having virtual memory cells | |
JP2010257045A5 (zh) | ||
TWI565285B (zh) | A cryptographic device, a memory system, a decoding device, a cryptographic method, a decoding method, a cryptographic program product and a decoding program product | |
JP3642533B2 (ja) | プログラムカード及びこれを用いた計算機 | |
JP6521499B2 (ja) | 暗号処理装置、半導体メモリ及びメモリシステム | |
US20240330205A1 (en) | Storage inline encryption circuit | |
JP7215525B2 (ja) | 端末、制御方法、及びプログラム | |
CN104318134B (zh) | 一种数据保护方法 | |
JP7215245B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP7063628B2 (ja) | 暗号化装置、暗号化方法およびプログラム | |
CN113132081A (zh) | 一种用户信息加密、解密方法及装置、设备和存储介质 | |
JP2020123375A (ja) | セキュリティリスク管理システム、端末、サーバ、制御方法、プログラム | |
JP2009232034A (ja) | 暗号装置及び復号装置及び暗号方法及び復号方法及びプログラム | |
JP2009211292A (ja) | 暗号化方法、復号化方法、暗号化装置、復号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MK4A | Expiration of patent term of an invention patent |