TW505839B - Simple algorithmic cryptography engine - Google Patents

Simple algorithmic cryptography engine Download PDF

Info

Publication number
TW505839B
TW505839B TW089128319A TW89128319A TW505839B TW 505839 B TW505839 B TW 505839B TW 089128319 A TW089128319 A TW 089128319A TW 89128319 A TW89128319 A TW 89128319A TW 505839 B TW505839 B TW 505839B
Authority
TW
Taiwan
Prior art keywords
address
instruction
operand
register
processing system
Prior art date
Application number
TW089128319A
Other languages
English (en)
Inventor
George Samuel Fleming
Farrell L Ostler
Antoine Farid Dagher
Original Assignee
Koninkl Philips Electronics Nv
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Koninkl Philips Electronics Nv filed Critical Koninkl Philips Electronics Nv
Application granted granted Critical
Publication of TW505839B publication Critical patent/TW505839B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Description

五 Μ 員 工 消 費 例 、發明說明( 發明背景 ι發明範疇 本發明與處理系統範嘴有關,特 處理器有關。 ”在碼系統中使用的 2·相關技藝之描述 基於對電子化内容資料加密編碼之應用與㈣辦 在叙樂範嘻,數位音訊與視訊記錄加密以保護資^ =受權:複製”戈如在通訊範,,文件加密以防止資料被 未經授權的檢閲,而加密的認證用來驗證文件之眞實性。 一些標準已採用或提議來加密擁有版權的内容資料; 或者,當每次擁有版權的内容資料從一種設備傳到另一 備時,與存取資料相關的安全項目,譬如標鐵,也會採 吳些標準。例如,當一台"符合標準.•之光碟燒錄器, ^一片内含防拷資料之拷貝的光碟片時,記錄會被加密休 濩而/、有符合標準(compliant)”之光碟播放器才可播放 及貝料。"符合標準”之裝置乃執行沿用標準的裝置。假 如孩原始防拷内容資料之複製限制爲"一次拷貝 once ),則该"符合標準”之光碟燒錄器會把此原版拷貝標 上”永不拷貝(copy-never)"的記號。,,符合標準"之光碟燒 錄器會辨認此”永不拷貝”的記號,而不會再複製此 貝假如1^亥^料由非付合標準(non-compliant) π之燒錄 複製,則此資料將不會含有適當的加密項目,而"符合 準之燒錄器或播放器也無法燒錄或播放此複製資料。 標準亦沿用在傳輸性内容資料之加密、簽名及鑑別, 4- 本紙張尺度過用中國國家標準(CNS)A4規格⑵0 X 297公髮— 又 設 製 保 拷 器 標
訂---------MMT. (請先閱讀背面之注意事項再填寫本頁)
I A7 — -— 卩 7 五、發明說明(2 ) tit郵件及其附件。吾人可加密内容資料,又或把已加 t全項目附加至内容資料以識別其來源。安全項目的 (請先閱讀背面之注意事項再填寫本頁) r或”連結―)"方式,乃根據識別原始内容資料在 個傳运過程中有否遭到修改的解密程式。 上逑例子説明加密與解密技術,特別是加密的簽名、驗 f與存取«之使用越形增加,故需要在多種電子設備中 2含加密與解密裝置。每一"符合標準"的音訊或視訊設 A ’包括HI定式和可攜式,必需内含處理或交換鑰或其他 ,全項目的使用工具,而且通常必需包含加密的簽名或驗 a裝置’或涵蓋二者。每_電子郵件之傳送或接收設備, 包括多功能設備如蜂襄式電話,將會預期包含簽名或驗證 裝置’或涵蓋二者。因此,協助加密的簽名、驗證與密碼 鑰處理之裝置,在多種系統中是有需求的。 經濟部智慧財產局員工消費合作社印製 傳統電路設計,雖然是執行數位簽名、驗證與其他鑑別 工作之汉備最省錢的具體實施例,但其成形之加密法卻帶 來具體化演算法過時的風險。至於通用型可程式處理器, 雖可隨密碼學技術轉變而調整其具體化演算法,卻不一定 符合各種需要加密相容性之設備的經濟原則。再者,低成 本通用型可程式處理器則無法達成即時鑑別處理所期許的 效能目的,例如,其可能需要輔助裝置或更高速的處理器 來達成該等目的,這樣便會增加成本。其實,即便低價處 理器加上輔助裝置能符合目的成本,受限於裝載系統的物 理性質’如蜂巢式電話,也會把這些輔助裝置剔除。 -5 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 505839 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(3 ) 發明概述 本發明的目的是提供一種用以協助密碼驗證的可程式化 處理系統。本發明進一步目的是提供一種能夠最有效執行 一般加密與解密公用程式功能的密碼處理系統。本發明更 進一步目的是提供低成本密碼處理系統。 本發明藉由提供一種特別適用於密碼處理的處理器架構 與指令集,達成前述及其他目的。有許多技術可用來降低 設計複雜度至最低程度,以及裝置間互相連接的複雜度至 最低程度,藉此減少所需表面面積及關聯的成本。還有許 多技術可用來簡化密碼處理型處理器程式設計的工作,以 及使此類密碼處理程式設計中預期常用之指令的效率最佳 化。在一較佳低成本具體實施例中,利用一單一連接埠隨 機存取記憶體(random-access memory,RAM)來儲存運算 元、於資料路徑中運用少量的資料匯流排與暫存器,以及 使指令内的指令集最佳化以適用於平行運算。因爲密碼處 理的特徵在於處理多種資料項目的運算,所以特別強調對 夕子元運算之有效處理,包括使用與指令字元等同寬度之 常數。本發明揭示一種簡化算述單元,以最小費用 (overhead),有效支援密碼操作通常需要的功能。在一較 佳具體實施例中利用一種微碼映射指令集,用以協助每個 指令週期中的多重平行運算,並且提供最小費用的直接處 理控制。 圖式之簡單説明 本發月藉由具體範例進一步詳細説明,並以附圖作爲參 -6 - 本紙張尺度適用中®^^I^NS)A4規格⑵Q x 297公髮) (請先閱讀背面之注音?事項再填寫本頁) ----------------線. 五、發明說明(4 ) 考,其中: ㈤爲根據本發明鬧釋密碼處 範例方塊圖。 糸、,死 < 貝科路徑架構的 圖2爲根據本發明闡 6 格式。 睪贫碼處理系統的一對範例指令集
圖3爲根據本發明M 範例方塊圖。 閣釋贫碼處理系統之控制路徑架構的 圖4爲根據本發明關猶 的範例方塊圖。 4碼處理系統之微指令映射處理 ::有圖示中,自同之參考數値代表 或功能。而在後續的所 ^双的秤徵 代表圖!所介紹的項目二:,1〇°至199之參考數値 介紹的項目;300至3 9 9、參考數錢表圖2所 至3 9 9又參考數値代表圖3所介紹的項 目;400至499之參考數値代表圖4所介紹的項目。、 發明之詳細説明 基於觀察到密碼系、統之運算,如數位簽名與驗證、公鑰 一私,之交換處理等,通常都包含大量資料變數,但卻是 相對簡單的算述運算;本發明乃得以產生。常見的密碼系 、·充 算法爲數位簽名 ά 算法(Digitai |gignature Aig〇rithm) DSA。另一種使用在數位簽名與驗證、且已提出成爲標準 (ANSI X9·62)的常見演算法爲橢圓曲線數位簽名演算法 (Elliptic Curve Digital Signature Algorithm) ECDSA。此種 /威算法與數位傳輸内容保護(Digital Transmission Content Protection) DTCP系統的結合體,一直爲配備IEEE-1394連 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 505839 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(5 ) 接裝置之數位音訊與視訊產品所採用。ECDSA特別適用 於低成本具體實施例,因其使用之橢圓曲線法僅包含加 法、減法、乘法與反轉的簡單數學運算。 數位簽名與驗證所使用的資料變數均很大,通常寬度爲 1 6 0或3 2 0個位元。在一較佳具體實施例中,將使用大小 爲3 2個位元寬的資料字元來平均分割資料項目成五或十 個丰元。該選取的資料字元大小乃設計上之妥協:因爲大 字元需要更多的配線與路由,而小字元則在處理資料項目 時需要額外的字元運算。該認清的事實是,大資料字元會 招致配線與路由巨大的額外負擔,而根據本發明之資料流 與控制架構,則較傳統處理系統受到更多限制。 在一較佳具體實施例中,可選擇單一的唯讀記憶體 (ROM)供指令與常數使用,以及選擇單一的隨機存取記 憶體(RAM)供變數使用,用以降低線路複雜度與路由。 因爲資料常數與資料字元以大小相同爲佳,而且最好與指 令儲存於同一唯讀記憶體内;所以在一較佳具體實施例 中,指令字元與資料字元採用同樣大小。 前逮資料項目的簡單數學運算期許引用最少數量之指 令’然而’適用於寬資料項目,與資料字元同樣大小的指 令罕兀’卻需要運用大量不同指令。體認到處理器速度之 重要性’遂根據本發明來建立有效的3 2位元供每一指令 使用,俾使多重平行運算可實行於每一指令内。 圖1A根據本發明闡釋處理系統之資料流架構1 0 0的範 例方塊圖。如此方塊圖所顯示的簡單性,與傳統3 2位元 本紙張尺度過用干國國豕铋準(CNS)A4規袼(21〇 X 297公釐) --------------------訂---------線 (請先閱讀背面之注意事項再填寫本頁)
、發明說明(6 處理系統比較,已實行最佳化把路由複雜程度降低。最重 要的意義是,算述單元() Au 11 〇只不過由 加法器1 1 2及兩個前置運算(pre_〇p )裝置i i 4、1 i 6所組 成。這種簡單性協助平行運算作業以提供一致性。同樣重 要的是’ €憶體1 2 0爲一單一連接埠隨機存取記憶體,只 有最少的輸出扇出(fanout)。這種最少的扇出亦協助平行 運算作業以提供一致性,同時還減少了資料的路由路徑。 以同樣方式,暫存器組130、14〇配置成以AlJ 11〇之輸出 1 11作爲其單一輸入,且同時限制本身輸出。例如,有別 於一般傳統處理器的設計,位址暫存器組13〇的内容僅爲 記憶體120提供定址服務,而不會爲八1; 11〇或其他任何處 理裝置提供輸入。而暫存器組14〇本身不會提供輸出,但 用來提供控制重複運算的條件位元,例如乘法,下面將會 作進:步討論。限制暫存器組13〇、14〇的用途可減少^ 暫存器互相連結的路由需求,且能依服務 组⑴、“。之大小最佳化。例如,位址暫存器== 需能跨越記憶體120位址範圍的寬度,而掃描暫存器組 1 4 0的寬度則只要能存放相關控制旗標即可。 架構_之效率與有效性可依圖2作出最好的説明,圖2 爲根據本發明闌釋一對範例指令格式2〇1、2〇2。如圖所 示,指令格式201、202皆冬古4«旦、…. 含有大量通用指令欄位。因爲 密碼處理需要相對較少的指令類型,所以,由各U扩元 指令組成、包括運用到每—指令内之多重欄位的指令二, 在-較佳具體實施例中就用來執行每一指令内的;行運 (請先閱讀背面之注意事項再填寫本頁) -ώΜ 訂------丨!線· 經濟部智慧財產局員工消費合作社印製 ~ 9 ~ 川5839 經濟部智慧財產局員工消費合作社印制衣 A7 五、發明說明(7 ) 算。多重欄位將討論如後。此等多重欄位不會使用在傳統 乍+元指令集之實施例,因其配置只支援相對較少的指令 類型;此等多重攔位也不會包含於寬字元指令集之實施例 中,因其配置只支援大量的指令類型。 扣令格式攔位2 1 0識別指令所使用的特別格式,並辨別 前述格式201、202及其他格式之間的差異。在一較佳具 體實施例中,將提供三個位元以支援達八種不同格式。根 據本發明,該八種不同格式展現出指令位元與簡化指令攔 位解碼程序的有力關係。吾人可透過選用每一不同格式的 通用欄位來執行通用平行運算,而不需理會格式的類型。 例如,在一較佳具體實施例中,欄位2 3 〇及2 4 〇爲每一格 式類型之通用欄位,因此,欄位2 3 〇及2 4 〇之數値所暗示 的運算、存取記憶體的控制與選擇,均可在每一指令週期 中實行,而與正在執行的特殊指令無關。其他通用搁位, 如攔位212及214,亦包含於每一指令格式。再者,參考 圖4作進-步討論如下,預設給相對一致及可預期之狀能 的約定格式内料使用之難,可提供與格式無關的指令 更多功能的相似性。 ”k跟随(k follows)"攔位212用來傳訊给含有常數、 資料項目k的後續"指令"。欄位212的用途至少提供兩項 優點:容許包含於下-指令内的常触佔用整個指令字元 大小(在一較佳具體實施例中爲32位元);容許此包本於 下-指令内的値k在下一指令週期載入暫存器r〇。在:傳 統的、指令大小已固定的處理系統,—個位元料 10- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公着· I ----—--------^—-------IAW. (請先閱讀背面之注意事項再填寫本頁) 505839 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(8 足於指令字元與常數字元内以辨別二者,是故限定常數字 凡大小較完整指令少一個位元。因此無需説明的,指令内 含有”常數”攔位之替代格式將被提出來使用;在這些格 式中,常數k將少於32個位元,與正常η位元常數値釔相 關的、未指定之較高階位元則被填入零(zer〇_filled)或當 成延伸記號(sign-extended),依不同之特殊格式而定。這 些縮短數値k,通常作爲計算記憶體位址相對於基本位址 之偏♦値’或相對於分支指令之距離値。此距離値標明由 目前指令位置至下一指定指令間的距離。 更新旗標(update flags) ··攔位2 1 4用來識別與處理系統 結合之條件旗標,在執行指令時是否需要修改。美國專利 申請待決案”條件與位址已解耦之分支指令,,,序號 09/466.404,申凊曰期17.12.1 999,以提及的方式併入本 又,揭7F出分支指令與其他條件指令的解耦機制,包括條 件指令内條件旗標存作後續使用之快速識別法。當欄位 214内含確定値時,圖1之傳統系統旗標118的値,例如 進位、零値、偶數及其他條件旗標,討論如下,將會儲存 但不會更新,直至執行另一於攔位2 i 4内含確定値的指 〇 況隐粗存取控制(mem〇ry狀⑶“ c〇ntr〇l )"欄位2 3 〇判別 記憶體120是否有被存取;如是,則不管其存取是來自讀 取運算或寫入運算。如上述所論,記憶體120是單一連接 埠1己憶體,其扇出爲有所限制⑽,藉此容許相對簡單的記 憶體存取控制。再如上述,攔位2 3 〇通用於所有指令,因 11 - ----------—--------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 505839 第089128319號專利申請案 中文說明書修正頁(91年8月) 五、發明説明(9 ) π位址選擇(address select) ”攔位2 4 0判別選擇器1 8 0的 輸入何者是記憶體1 2 0定址所需。該選擇位址可能是間接 裝 位址位置(indirect address location) IDA 185、AU 110 的輸 出 1 1 1、外部位址(external address ) extA 1 88,或位址暫 存器組1 3 0組其中之一。如上述,在所有指令中加入襴位 2 4 0 ’將使記憶體選擇運算平行於其他任何指令。同樣重 要的是,有別於一般傳統處理器的設計,記憶體12〇*au 110間並無任何暫存器元件,因此可容許Au 11〇不需透過 一中繼的”載入暫存器(l〇ad register)”指令,而直接存取 記憶體項目。”位址暫存器變更(addressed代心如 change)”攔位242與位址選擇攔位24〇結合運作,容許在 同扣令週期中,該已定址暫存器進行增量定址或減量定 址,而增量位址或減量位址的記憶體内容則提供給au ιι〇 使用。美國專利申請待決案”循環位址暫存器,,,序號 ~A^6,404,申請曰期1IJX1999,,以提及的方式併入本 文,揭示出循環位址暫存器可容許,,循環增量,,及t,循環減 量·’指令自動調整暫存器的指向器,以提供循環定址功 月匕。、在本發明一較佳具體實施例中,位址選擇搁位2 〇決 定位止暫存器組1 3 〇中每一個暫存器的循環增量及循環減 量功,而位址暫存器變更欄位242則包含這些功能的實 :挎:此技蟄的一種普通技巧般明顯,對位址進行循 :曰:c -供AU 11〇循環增量位址、對内容執行算述運 异、把結果儲存到目的暫存器(討論如下),以及對 -12- ^297¾) ^紙張尺度適财目 A7 B7 五、發明說明(1〇 里=進行循ί衣增量(討論如下),這些程序均在單一指令週 "執行故特別適用於密碼處理及其他應用,包括多字 凡資料項目。 ^外要注意的是,外部位址(external address) extA 188 可谷^外4處理器存取記憶體1 2 〇,而且實際上獨立於處 ^ 0之外。即是説,在本發明一較佳具體實施例 中,例如,王系統可藉由給位址選擇攔位設定一適用値來 存取記憶,,此適用値選取extA 188的輸入來定址記憶體 120。於是主系統可把資料經由輸入以仍1187,直接載入 Z隐體1 2 0中extA 188所定址的位置。該輸入資料可以 =,例如,與電腦文件或標籤結合的散列値,以及用來加 密此散列値以產生與該電腦文件或標籤結合之數位簽名的 密碼鑰。在載入散列値及密碼鑰後,處理系統1〇〇可重新 存取記憶體120,並執行適當的加密功能以提供相關的數 位簽名,该數位簽名將置於記憶體J 2 〇中。然後,主系統 又可經由extA 188重新直接存取記憶體〗2 〇,於是,主系 統經由資料輸出埠extD〇 186,從extA 188所定址的每一 位置躓取記憶體1 2 0内的數位簽名。因此,根據本發明在 廷一方面的特性,藉由外部定址存取記憶體丨2 〇,處理系 統1 0 0將不需直接支援記憶傳輸功能。 . 下四個欄位·· ··右運算元前置運算(right operand pre_op),, 250、左運算元削置運算(left operand pre-op),,252、π 加 法器功能(adder function)" 260 及"nd選擇(nd select)" 262 ’將控制AU 110及其結合元件暫存器r〇 15〇與選擇器 -13- 本紙張尺度適用中國國家標準(CNS)A4規袼(210 X 297公釐) ------------—------訂 —----線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 第089128319號專利申請案 色>v体 中文說明書修正頁(91年g {广月 五、發明説明(Ή ) —〜 1 6 0的運作。左運算元前置運算攔位2 5 2判別記憶體1 2 〇 内疋址項目是否可直接使用;如否,對AU丨丨〇輸入左運算 元為零。以相同方式,11(1選擇欄位262判別AU 11〇的輸出 111或常數k 165兩者中何者該為暫存器⑼15〇的輸入。右 運异元前置運算攔位2 5 0判別暫存器r〇 i 5 〇的内容是否該 為AU 110右運算元的輸入。右運算元前置運算攔位25〇直 接傳运暫存器r 〇丨5 〇的内容至加法器^ 2 (一個 S ’刖置運算)’暫存器Γ〇 15 〇的内容可以是左移位及右 移位,暫存器r〇 150的内容也可以是反轉;此傳送可視為 指令執行時的一種平行運算。如攔位名稱所暗示,此平行 運算將在指令指定的算術運算前執行。右運算元前置運算 攔位2 5 0亦可谷弄加法器1 1 2的右輸入值為零,並因此協 助記憶體1 2 0傳送一值至記憶體丨2 〇的另一 至暫存器13〇、14。'15。其中之…加法器功= 2 6 0判別A U的左輸入與右輸入相加時是否包含進位值、 或反轉進位,或常數!。因此,前置運算功能114與116 , 以及加法器功能112的組合,提供一元的及二元的加法, 還有減法、乘法與二的除法的功能。如此技藝的一種普通 技巧般明顯,在單一指令週期内,由襴位2 5 〇、2 5 2及 260所提供的,將早先結果移位、以及將其與其他附有進 位位元的運算元相加的功能,根據本發明,特別適用於密 碼處理範疇内常用的乘法處理,以及其他應用,包括多字 元資料項目的乘法處理。 ”目的地暫存器(destination register) ”欄位2 7 0識別Αϋ __ -14- 本紙張尺度適用中國國家標準(CNS) Α4規格(210X297公釐) 505839 第089128319號專利申請案 中文說明書修正頁(91年8月) 五 、發明説明(12 1 1 0的運其結果1 1 1之路由目的地。如前所逑,在一丰、、佳 具體實施例中,為了降低路由複雜程度,輸出丨i丨的^ 只限於暫存器组130、140 ,以及作為.Au 11〇結^之 暫存器rO 150的輸入。 口 < ’’更新暫存器(update register·)”攔位280結合”更新暫存 器變更(update register change)"襴位2 8 2,用來定義产人 處理過程中其他尚未執行的平行運算。更新暫存器;‘二 位2 82與位址暫存器變更攔位242相似,其可以對更新暫 存器欄位2 8 0所識別的更新暫存器施以增量或減量運算, 包括猶環指標器的增量或減量運算。 裝 如上所論,指令格式20〗會協助乘法運算的平行執行, 即使另一單一指令正利用其執行其他基本功能,例如^術 運算。當協助平行運算時,指令格式襴位2丨〇會提供其識 別的其他替代指令格式給其他基本功能使用。 、V9 产圖2的指令格式202闡釋一使用在一較佳具體實施例的 範例格式,其運用於分支或呼叫運算並平行於其他輔助運 算。如上述,在一較佳具體實施中,襴位212、214、 2 3 0及240通用於所有指令;且如圖2的說明,攔位25〇、 252、260及262通用於格式201及202。因此,結合欄位 2 12、2 14、23〇、240、25〇、252、26〇及 262 的前述 參考運算與分支或呼叫運算將同時執行。如此技藝的一種 普通技巧般明顯,定址、載入,對運算元進行算術運算, 以準備該運算元供另一分支常式或呼叫常式使用,此等功 能對通用於密碼學及其他應用的重複處理程序,提 -15 本紙張尺度適用中國國豕標準(CMS) A4規格(210X297公釐) 505839 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(13 供高效能及效率的技術。 "條件(condition)"欄位22〇結合"反轉條件(_如 ,οη)欄位222,用來決定下一指令所要使用的兩個 後續位置。即是説’假如條件22〇在第―狀態,程式從第 -位址開始執行,其他的從第二位址開始;至於反轉條件 欄位2 2 2則決定前述第—狀態的値爲"眞(“狀)"或"假 \ )如圖2的説明,在一較佳具體實施中,條件攔 位2 2 0使用,、個位i,即可供測試的不同條件達6 4組。特 別注意的是,根據本發明,攔位220其中一個條件包含,, > ^•頁目等於f #條件,而另—條件則對應爲"資料項 目等於壹"的條件。當多字元資料項目對應的每―資料字 ^均爲零時,"資料項目等於零"的條件設爲冑;而當多 字疋資料項目對應的每一資料字元均爲零、但最不重要資 料字元爲壹時,則"資料項目等於壹"的條件設爲眞。至 於其他包含掃描暫存器組140的特殊位元狀態的條件項 目,,如掃描暫存器组140儲存的每—字元之最不重要位 兀與最重要位it,能協助多字&乘數的乘法運算。還有其 他包含選擇位址暫存器组! 30的位址指標器狀態的條件項 目,則用來協助識別多字元處理運算的開始與結束。如此 技藝的一種普通技巧般明顯,在分支或呼叫指令中使用達 64组不同條件,可提供複雜之重複運算—個有效率及有 效的控制及最佳化方法,例如密碼運算中常執行的 乘法運算。 "下—指令(next instruction)"欄位2 9 〇藉由控制處理系 I ----------------線· (請先閱讀背面之注意事項再填寫本頁) -16- 505839
五、發明說明(14 ) 統每一個下一指令的位址來控制程式流程。圖3爲根據本 發明闡釋控制路徑架構3 〇 〇的範例方塊圖。處理系統之每 才ετ々3 3 1均由纪憶體提供,如圖3所示,即μ 〇。 指令位址3 7 1的序列決定提供給處理系統個別指令3 3工的 順序。指令3 3 1已格式化,如之前圖2所論。程式計數器 310包含指令位址371,而選擇器340、350與370,以 及加法器3 6 0,則依據下一指令攔位29〇的狀態來決定下 一指令的位址,討論如下。 根據本發明一較佳具體實施例,下一指令欄位2 9 〇提供 下列步驟來決定下一指令: pc<=pc+ 1.
If (cond) I hen pc <= k Else pc <= pc + 1.
If (cond) Then pc <= r0 Else pc <= pc + 1 ·
If (cond) Then pc <= k; push(pc+l) Else pc <= If (cond) 1 lien pc <= pop Else pc <= pc + 1 ·
If (cond) Then pc <= pc + k Else pc <= pc + 1 ·
If (cond) Then pc <= k Else pc <= pop.
If (cond) Then pc <= pc + k Else pc <= pop· 如此技藝的一種普通技巧般明顯,第一下一指令決定步 驟(nextinstruction_determination) i 爲下一指令的後續步 驟,而程式計數器pc的値前進加一。第二第三決定步驟u 及iii各爲一傳統條件分支。假如條件爲眞(或假如條件爲 假且”反轉條件”攔位222爲確定),則程式計數器pc設爲 指定位址k,或設爲預定位址rO (包含於圖1的暫存器⑼ -17- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) II —----------------^ AW (請先閱讀背面之注意事項再填寫本頁) (sequence) (branch to k if) (branch to rO if Pc+l· (call if) (return if) (r. branch if) (branch if else return) (r. branch if else relurr Η) ϋ〇 Ιν) v) vi) vii) vlii) 經濟部智慧財產局員工消費合作社印製 505839 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(15 ) 150);除此之外,則前進加一。第四決定步驟卜爲一傳 統條件呼叫,其中,假如條件爲眞,把下一後續指令位址 pc+1推入堆疊3 2 0,程式計數器p c設爲指定位址k。第五 決定步驟v爲一傳統條件轉回,其中,假如條件爲眞,在 堆疊3 2 0爆出呼叫後,把前一步驟的値推入下一後續位 址,並置於程式計數器内。第六決定步驟“爲一傳統相關 分支指令,其中,一常數(正値或負値)與目前程式計數器 p c相加以決定下一指令的位址。注意單一加法器3 6 〇掌控 程式計數器的增量運算,還有相關分支位址的計算這二 者。 特別重要的是決定步驟v i i及viii此二者。根據本發明在 這一方面的特性,此指令集包含"Branch If,Else Return „ I曰令’其中,假如條件爲眞,程式分支至指定或相關位 址;但假如條件爲假,則堆疊爆出轉回位址以呼叫一副程 式,而程式由該副程式轉回。一條件説明内的,,Else Return"結構指令,此指令對副程式執行重複運算時特別 有效及效率;其中,該相同指令用來分支至一位址以執行 下一迭代,或當所有迭代已完成時轉回。其他決定下一後 續指令的技術變化,在審視這些公佈後就如同此技藝的一 種普通技巧般明顯。 圖4闡釋處理器4 〇 〇的範例方塊圖。處理器4 〇 〇代表一 種符合上述討論特點與性能、有效及有效率的架構。圖4 的範例中,處理線路4 5 0依據微碼指令4 5 5運作,而微碼 指令4 5 5由控制每一開關的控制位元455b,以及處理線路 -18- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -------------------^---------^ (請先閱讀背面之注音?事項再填寫本頁) 505839 A7
經濟部智慧財產局員工消費合作社印製 五、發明說明(16 ) 45 0内的狀態裝置所組成。即是説,例如,處理線路45〇 通常由一狀悲機器與微碼指令4 5 5組成,微碼指令4 5 5提 供輸入刺激給狀悲機器’而狀態機器則控制下一狀態的變 遷以及其本身輸出之產生。微碼指令4 5 5,例如,包含一 控制位元,用來決定:是圖1的選擇器16〇已設定提供 的、同時也存在於微碼指令455中的常數k455a ;或是算 述單元AU 110的輸出結果m,何者需要提供至暫存器r〇 1 5 0。微碼指令4 5 5也包含一組控制位元用以決定選擇器 1 8 0所選取的位址輸入,何者需用來定址記憶體〗2 〇 ;此 外,另有一組控制位元決定前置運算裝置1 1 6該執行的運 算;最後,還有一組控制位元決定前置運算裝置i i 4該執 行的運算等等。可認知的,前述指令格式2 〇1、2 〇 2内的 攔位與這些微碼控制位元4 5 5 b是非常一致的。即是說, 根據本發明在這一方面的特性,指令格式2 〇 i、2 〇 2内的 攔位提供微碼指令4 5 5的元件具體而一致的選擇,從而以 最小費用協助處理線路4 5 0的直接控制。 如圖4的説明,指令3 3 1之控制欄位4 1 0與格式欄位2 1 〇 以外的欄位’提供作爲格式映射器的輸入,而預設裝置 4 4 0映射指令3 3 1的每一控制攔位4 1 〇至微碼4 5 5相對應 的控制元件。注意:常數k 4 5 5 a與控制位元4 5 5 b兩者會 影響處理線路4 5 0的運算與結果,且兩者也包含於微碼 4 5 5的控制元件之定義中。 映射/預設裝置440由複數個選擇器441-449組成,而 選擇器441·449會依據指令331指定的格式210,路由控 -19- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱) --------------------訂---------線 (請先閱讀背面之注杳?事項再填寫本頁) 505839 A7 B7 五、發明說明(17 (請先閱讀背面之注意事項再填寫本頁) 制攔位4 1 0的每一位元至相對應控制位元4 5 5 b。即是 説’例如圖2中’不同指令格式201和202包含不同搁位 (242、280、282)與(290、220)於指令的位元位置23_ 31。而映射/預設裝置44〇會依據指令331指定的格式 2 1 0,路由不同欄位自指令的相同位元位置至微碼指令的 不同控制元件。 根據本發明在這一方面的特性,即使映射/預設裝置 440缺少指令331的映射攔,藉由每一控制元件455的預 設控制値,仍可適當地控制微碼指令4 5 5的控制元件。即 是説’例如’範例指令格式20 1、202並未包含設定微碼 指令455内常數k 455a的値之常數攔位。在一較佳具體實 施例中,指令3 3 1缺少指定常數攔位的預設解釋爲空運算 (null operation)。即是説,在缺少指定常數値的狀況下, 値k 455a保留如前。或者,假如該指令包含確定的n k跟隨 攔位2 1 2,由ROM 33〇讀取的下一指令Mi,將完全映 射至微碼指令4 5 5的常數k 455a。(爲了更容易了解,類型 映射器4 3 0被解釋爲接收指令3 3 1的格式2 1 〇之控制輸入 而已。爲了支援"k跟隨"的特性,配置類型映射/預設裝 置4 4 0爲:無論何時,當前一指令包含確定的"k跟隨,,攔 經濟部智慧財產局員工消費合作社印製 位2 1 2,即路由完整的指令3 3 i至微碼指令4 5 5的常數k 分段455a)。 在一較佳具體實施例中,結合控制元件4 5 5的多工器/ 選擇器之輸出相依於格式欄位21〇的内容,其輸入則相依 於有效的預設選項。例如,如上所論,較佳具體實施例的 -20- 本紙張尺度適用中國國家標準(CNS)A4 公釐) 505839 A7 B7 ----^ 五、發明說明(18 ) -種或更多的格式類型(無解説)包含—少於指令字元全 的常數欄位。當接收這些格式類型時,相對應 2 …49配置爲:選擇零値或記號延伸値,置入常數 k 455a内每一未指足的較高階位 /、A人、b ^ ^,扣令的常數欄 位包含7T個位元,32位元常數k 4 帀数K 心取上面26個位元 將設爲預設値零,或設爲—等於該六個位元中最重要位元 的預設値(記號延伸値),依不同之特殊格式而定。控制位 凡455b同樣被提供預設値,且大部份情形爲零運算。微碼 指令4 5 5之每一控制元件的預設値選擇或條件選擇,可爲 任何値或任何條件;但在一較佳具體實施例中,該預設値 或條件,將設定爲那些符合此技藝内一種普通技巧之一致 性的假定値。即是説,例如,當提供的是縮短的資料常數 時,則較咼階位元歸零;當提供的是位址偏移時,則把較 高階位元當作記號延伸;此二種均爲依此技藝内一種普通 技巧所假定的適當預設値。以相似的方式,控制位元組的 預設條件相對應於格式2 0 2的下一指令攔位2 9 0,被一指 令假定爲與程式計數器的昇級一致的。即是説,當一指令 接收不含下一指令欄位2 9 0的格式2 0 1時,預設解釋模組 4 4 0將設定對應於缺少攔位2 9 0之微碼指令4 5 5適當的控 制元件,進而對選擇器340、350及370設定適當的輸入 以執行程式計數器3 1 0的增量程序,因此對缺少外顯指令 攔位之指令提供一致的、可預期的,以及邏輯的效能。 前述至少説明了本發明的原理。有鑑於此,善於此技藝 的將可設計多種配置,此等配置雖未明述或明示於此,卻 -21 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) I --------訂--------線齡 {請先閱讀背面之注咅?事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製
發明說明(19 經濟部智慧財產局員工消費合作社印製 /、紙表達了本發明的原理,且合於本發明的精神與範疇。 例如’藉由多字元資料項目所定下之條件,可定義條件元 件來識別資料項目中至爲重要的非零字元,以協助多字元 運算之控制,如乘法和加法。其他用以降低該已説明的設 計之複雜度的技術,亦同樣可行。例如,圖1的間接位址 指標器IDA 185可設爲一預定位址,如RAM 12〇的位址〇 ; 從而減少間接位址的定址線路及時間。以相似之方式,可 約束位址暫存器組i 3 〇所定址的資料項目於記憶體i 2 〇指 定的範圍内,如此,暫存器組12〇的寬度便能減少至跨越 此指定範圍内之位址即可,而不需跨越整個記憶體丨2 〇之 位址的寬度,使用範例如偏移基本位址。同樣的,本發明 的原理雖然特別適用於密碼學的應用,但揭示於此的技術 與架構也可應用在其他處理系統,特別是那些處理多資料 項目及/或使用相對簡單但重複運算的系統。再者,雖然 在本範例具體實施例中,採用最小要求之格式以達成低生 產成本的目的,但是仍然可以類似之方式,加入額外的裝 置以改善性能表現或簡化程式設計的工作。此外,本發明 的圖式範例僅供説明用途,例如,圖1説明的單一連接埠 RAM 120,用來提供最少路由&RAM 12〇最小互連面積。 至於一多連接埠RAM,例如二連接埠或三連接埠RAM, 加上一可調解多重定址性能之聯合的格式,藉由應用本發 明的原理,可提供相同指令周期内多重記憶體的存取、存 取記憶體前預設記憶體位址等等功能。其他如此技藝的一 種普通技巧般明顯的系統配置、應用,以及最佳化技術, 有鑑於本發明,均在以下申請專利的精神與範疇内。 ----------—--------^---------^ (請先閱讀背面之注意事項再填寫本頁) -22-

Claims (1)

  1. 第089128319號專利申請案 中文申請專利範圍修正本(91年8月) 六、申請專利範圍 1· 一種處理系統’包含: 一處理器(100,3 00,400),配置來執行記憶體 (3 3 0 )内之程式指令組(3 3 1 ), 該處理器(100,3 0 0,400)包含: 一程式計數器(3 10),配置來儲存下一指令位址組 (3 7 1 ),以及 一堆疊(320),配置來儲存至少一轉回位址,該轉回 位址對應於副程式呼叫指令之執行, 吾亥私式指令組(3 3 1)包含: 一 "branch-else-return "指令使處理器(1 〇 〇,3 G 0, 400)執行: 如有關分支條件為第一狀態,置入一分支位址至程式 計數器(310)作為該下一指令位址(371),以及 如有關分支條件為第二狀態,置入該至少一轉回位址 至程式計數器(3 1 〇 )作為該下一指令位址(3 7 1 )。 2· —種處理系統,包含: 一處理器(1 0 0,3 0 0,4 0 0 ),配置來執行程式指令組 (3 3 1 )’該程式指令組(3 3 1 )與佔用記憶體(1 2 0 )的多重 字元之資料項目有關·,該處理器(丨〇 〇,3 0 0,4 0 0 )包 含: 一狀態暫存器(11 8 ),包含狀態旗標, 該狀態旗標包含至少一旗標,該至少一旗標相依於對 應選取資料項目的多重字元。 3·如申請專利範圍第2項之處理系統,其中 該至少一旗標至少包含下列其中一項: 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐
    裝 訂
    505839 A8 B8 C8 D8 六、申請專利範圍
    一資料為零旗標,指示出:由該多重字元中每一字元 組成的選取資料項目内,其中每一字元含一零值, 一資料為壹旗標,指示出··除了由該多重字元中一最 不重要字元組成的目前資料項目外,其餘由該多重字元 中每一字元組成的選取資料項目内,其中每一字元含一 零值;且該最不重要字元内含一壹值,以及
    一資料為最高旗標,多重字元中最重要且非零字元組 成該選取資料項目。 4· 一種處理系統,包含: 一處理器(1G0,3 0 0,400),配置來執行指令暫存器 (410)之目前指令(331),以及 一運算元暫存器(150),配置來提供一運算元予相依 於目細指令(331)之處理器(1〇〇,300,400)處理;以 訂 及 其中 該目前指令(331)包含一常數跟隨旗標(212),且處 理器(100,300,400)配置為: 當目前指令(331)之常數跟隨旗標(212)包含一第一 值時,載入一後續字元至運算元暫存器(150)内,以及 當目前指令(331)之常數跟隨旗標(212)包含一第二 值時,載入該後續字元至下一指令週期之指令暫存器 (410)内。 5· —種處理系統,包含: 一處理器(1 0 0,3 0 0,4 0 0 ),配置來執行程式指令組 -2- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X297公釐) ⑽839
    (331), 一記憶體(120)配置來儲存運算元,每一運算元含有 一對應運算元位址於記憶體(1 2 〇 )内,以及 至少一位址暫存器(130),配置來儲存運算元位址, 以及 其中 該至少一位址暫存器(130)中每一暫存器,配置為: 由該處理器(100,300, 4 0 0 )接收運算元位.址,以及 提供運算元位址作為記憶體(丨2 〇 )唯一之定址輸入。 6·如申請專利範圍第5項之處理系統,其中 該運算元位址置於運算元位址範圍内,以及 Μ至少一位址暫存器(130)中每一暫存器之大小裁截 至能容納運算元位址範圍跨距的最小尺寸。 7·如申請專利範圍第5項之處理系統,其中 當執行至少一指令時,程式指令組(3 3丨)中至少一指 令執行至少兩位址暫存器之修改作業。 8·如申請專利範圍第5項之處理系統,其中 該處理器(1〇〇 ’ 3 00 ’ 400) ’進—步配置來提供一位 址為零旗標,該位址為零旗標在運算元位址為零時得以 判定, 該運算元位址對應一計數指數,以及 該至少一位址暫存器(130),進—步配置為··回應該 處理器(100,3 00,400)之減量指令來進行運算元位 址減量,從而可依據該計數指數進行計數運算。 -3- 本紙張尺度適用中國國家標準(CNS) Α4規格(210X297公釐) ^05839
    9·如申請專利範圍第5項之處理系統,其中 該運算元位址置於運算元位址範圍内,且内含較低位 址與較南位址,以及 、 該程式指令組(3 3 1 )至少包含下列其中一項: 一循環增量指令,其中 於該至少一位址暫存器(130)内進行運算元位址增 量,以及 二在該至少一位址暫存器(130)内之運算元位址大於較 南位址時,於該至少一位址暫存器(130)内重設運算元 位址以相符於較低位址, 一循環減量指令,其中 於孩至少一位址暫存器(1 3 0)内進行運算元位址減 量,以及 在該至少一位址暫存器(130)内之運算元位址小於較 低位址時,於該至少一位址暫存器(1 3 0 )内重設運算元 位址以相符於較高位址, 從而約束該至少一位址暫存器(13〇)内運算元位址於 運算元位址範圍内。 10.如申請專利範圍第9項之處理系統,進一步包含 至少一條件旗標(1 1 8 ),且該條件旗標至少結合下列 其中一項: 藏運算元位址等於較低位址,以及 該運算元位址等於較高位址。 11· 一種處理系統,包含: -4 - 本紙張尺度適财目目家#^iT^ii(210X297公iy 505839
    ABCD 六、申請專利範圍 一處理器(100,300,400),配置來執行程式指令 (331), 一記憶體(120)配置來儲存運算元,每一運算元含有 一對應運算元位址於記憶體(1 2 0 )内, 其中 該處理器(100,300,400)包含一算術單元(112), 以及 該算術單元(112)為 與記憶體(1 2 0 )耦合,因此該算術單元(1 1 2 )僅由記 憶體(1 2 0 )接收第一運算元, 進一步配置為:僅由後述其中一項接收第二運算元 (161):該算術單元(112)之一輸出,以及一常數,以及 進一步配置為:依據第一運算元及第二運算元(161彡 二者中至少其中一者產生輸出。 12·如申請專利範圍第1 1項之處理系統,其中 該算術單元(1 i 2 )僅包含: 一加法器,内含一第一輸入及一第二輸入,依第一輸 入及一第二輸入之算術和作為算術單元(112)的輸出; 一第一運算元選擇器,配置來產生第一輸入作為第一 運算元,以及 一零值; ' 一第二運算元選擇器,配置來產生第二輸入作為下列 其中一項: 該第二運算元(161), 一第二運算元(161)之反轉, -5· 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) - 505839
    一第二運算元(161)之移位,以及 一零值。 13· —種處理系統,包含·· 一處理器(1 〇 〇,3 0 0,4 0 0 ),配置來執行程式指令組 (331), 程式指令組(3 3 1 )的每一指令依複數個格式類型 (201,202)之一格式類型來格式化, 其中 複數個格式類型(201,202)之每一格式類型包含複 數個欄位(210-290),其中每一欄位協助運算之執行平行 於每一程式指令之執行。 14·如申請專利範圍第i 3項之處理系統,其中 至少一格式類型(201)之複數個欄位(210-290)的大多 數襴位(212,214,230,240,250,252,260), 通用於至少另一格式類型(2 02)之複數個攔位(210-290) 的大多數搁位(212,214,230,240,250,252 , 260)〇 15·如申請專利範圍第! 3項之處理系統,其中 每一格式類型之複數個欄位(210-290 )的大多數欄位對 應於微指令(4 5 5 )之控制元件,該等控制元件控制處理 器(100,300,400)内之開關(160,170,180)與狀 態裝置(150,310,320)的運算。 16·如申請專利範圍第1 3項之處理系統,其中 該處理器(100,300,400)包含: -6- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐)
    六、申請專利範圍 〜 -- 一狀態機器(4 5 0),依每—指令對應之微指令(4 5 5 ) 來執行每一指令, —一格式映射器(4 3 0),依指令之格式類型(21〇),使 每一指令的每一控制攔位(41〇)與微指令(4 5 5 )内一相 關之控制元件結合,以及 一預設解釋模组(440),提供一預設條件予微指令 (4 5 5 )内、與每一指令無關的其他控制元件。 17·如申請專利範圍第1 6項之處理系統,其中 該預設條件至少與下列其中一項相依: 該指令之格式類型(210),以及 该指令之至少一控制搁位。 18. 如申請專利範圍第1 6項之處理系統,其中 該預設條件至少包含下列其中一項: 一載入為零條件,配置來設定至少一其他控制元件之 值為零, 一空條件,配置來脫離至少一不受影響的其他控制元 件, 一載入位元條件,配置來設定至少一其他控制元件之 值等於指令内含之值,以及 一增量條件,配置為使與至少一其他控制元件相關之 值進行增量。 19. 如申請專利範圍第1 3項之處理系統,進一步包含: 一記憶體(1 2 0)含有一資料進入連接埠(丨8 7)與一資 料脫離連接埠(1 8 6 ),此二連接埠配置來協助資料項目 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 505839 --—_ _m ffr DB__ 六、申請專利範圍"~~---- 儲存至該記憶體(i 2 〇 )及自該記憶體(1 2 0 )檢索,以及 其中 複數個襴位(210-290)中,至少一欄位包含一位址選擇 搁位(2 4 0 ), 該選擇欄位(2 4 0 )協助一外部位址連接埠(1 8 8 )進行 選擇作業;該外部位址連接埠(丨8 8 )配置來提供另一處 理器直接存取記憶體(丨2 〇 )内、由該外部位址連接埠 (1 8 8 )定址的位置;且該另一處理器可經由資.料進入連 接埠(187)與資料脫離連接埠(186)儲存及檢索資料項 目。 20·如申請專利範圍第1 3項之處理系統,進一步包含·· 複數個儲存元件(120,130,140),以及 其中 複數個欄位(2K3-290 )中,至少兩攔位(27〇,28〇)盥 複數個儲存元件(120,130,14〇)中至少兩儲存元件 相結合,以及 當執行至少一指令時,程式指令組(331)中至少一指 令協助至少兩儲存元件之修改作業。 9 ** 8 -
TW089128319A 1999-12-17 2000-12-29 Simple algorithmic cryptography engine TW505839B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/466,392 US7032100B1 (en) 1999-12-17 1999-12-17 Simple algorithmic cryptography engine

Publications (1)

Publication Number Publication Date
TW505839B true TW505839B (en) 2002-10-11

Family

ID=23851583

Family Applications (1)

Application Number Title Priority Date Filing Date
TW089128319A TW505839B (en) 1999-12-17 2000-12-29 Simple algorithmic cryptography engine

Country Status (7)

Country Link
US (1) US7032100B1 (zh)
EP (1) EP1236077B1 (zh)
JP (1) JP2003517671A (zh)
KR (1) KR100760371B1 (zh)
DE (1) DE60033961T2 (zh)
TW (1) TW505839B (zh)
WO (1) WO2001044900A2 (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2354470A1 (en) 2001-07-30 2003-01-30 Cloakware Corporation Active content for secure digital media
US8010405B1 (en) 2002-07-26 2011-08-30 Visa Usa Inc. Multi-application smart card device software solution for smart cardholder reward selection and redemption
US9852437B2 (en) 2002-09-13 2017-12-26 Visa U.S.A. Inc. Opt-in/opt-out in loyalty system
US8015060B2 (en) 2002-09-13 2011-09-06 Visa Usa, Inc. Method and system for managing limited use coupon and coupon prioritization
US8626577B2 (en) 2002-09-13 2014-01-07 Visa U.S.A Network centric loyalty system
US8060755B2 (en) 2003-04-18 2011-11-15 Via Technologies, Inc Apparatus and method for providing user-generated key schedule in a microprocessor cryptographic engine
US7539876B2 (en) 2003-04-18 2009-05-26 Via Technologies, Inc. Apparatus and method for generating a cryptographic key schedule in a microprocessor
US7536560B2 (en) 2003-04-18 2009-05-19 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic key size
US7321910B2 (en) 2003-04-18 2008-01-22 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US7519833B2 (en) 2003-04-18 2009-04-14 Via Technologies, Inc. Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine
US7532722B2 (en) 2003-04-18 2009-05-12 Ip-First, Llc Apparatus and method for performing transparent block cipher cryptographic functions
US7502943B2 (en) 2003-04-18 2009-03-10 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic block cipher round results
US7529367B2 (en) 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent cipher feedback mode cryptographic functions
US7392400B2 (en) 2003-04-18 2008-06-24 Via Technologies, Inc. Microprocessor apparatus and method for optimizing block cipher cryptographic functions
US7542566B2 (en) 2003-04-18 2009-06-02 Ip-First, Llc Apparatus and method for performing transparent cipher block chaining mode cryptographic functions
US7900055B2 (en) 2003-04-18 2011-03-01 Via Technologies, Inc. Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms
US7844053B2 (en) 2003-04-18 2010-11-30 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US7925891B2 (en) 2003-04-18 2011-04-12 Via Technologies, Inc. Apparatus and method for employing cryptographic functions to generate a message digest
US7827077B2 (en) 2003-05-02 2010-11-02 Visa U.S.A. Inc. Method and apparatus for management of electronic receipts on portable devices
JP2005043637A (ja) * 2003-07-22 2005-02-17 Sony Corp 暗号処理装置、および暗号処理演算方法、並びにコンピュータ・プログラム
US8554610B1 (en) 2003-08-29 2013-10-08 Visa U.S.A. Inc. Method and system for providing reward status
US7051923B2 (en) 2003-09-12 2006-05-30 Visa U.S.A., Inc. Method and system for providing interactive cardholder rewards image replacement
US8005763B2 (en) 2003-09-30 2011-08-23 Visa U.S.A. Inc. Method and system for providing a distributed adaptive rules based dynamic pricing system
US8407083B2 (en) 2003-09-30 2013-03-26 Visa U.S.A., Inc. Method and system for managing reward reversal after posting
US7653602B2 (en) 2003-11-06 2010-01-26 Visa U.S.A. Inc. Centralized electronic commerce card transactions
JP2005141160A (ja) * 2003-11-10 2005-06-02 Japan Science & Technology Agency セキュア・プロセッサ
US9860055B2 (en) * 2006-03-22 2018-01-02 Synopsys, Inc. Flexible architecture for processing of large numbers and method therefor
US20110145082A1 (en) 2009-12-16 2011-06-16 Ayman Hammad Merchant alerts incorporating receipt data
US8429048B2 (en) 2009-12-28 2013-04-23 Visa International Service Association System and method for processing payment transaction receipts
CN104424128B (zh) * 2013-08-19 2019-12-13 上海芯豪微电子有限公司 变长指令字处理器系统和方法
US9940129B2 (en) * 2015-04-24 2018-04-10 Optimum Semiconductor Technologies, Inc. Computer processor with register direct branches and employing an instruction preload structure
KR102484262B1 (ko) * 2016-03-14 2023-01-04 삼성전자주식회사 컴퓨팅 시스템, 이의 구동 방법 및 컴파일 방법

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5311547A (en) 1976-07-20 1978-02-02 Oki Electric Ind Co Ltd Program call order system
US4399507A (en) 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor
US5053952A (en) 1987-06-05 1991-10-01 Wisc Technologies, Inc. Stack-memory-based writable instruction set computer having a single data bus
US5117498A (en) 1988-08-19 1992-05-26 Motorola, Inc. Processer with flexible return from subroutine
CA1311063C (en) 1988-12-16 1992-12-01 Tokumichi Murakami Digital signal processor
US4987595A (en) 1989-09-11 1991-01-22 Motorola, Inc. Secure cryptographic processor arrangement
US5778423A (en) * 1990-06-29 1998-07-07 Digital Equipment Corporation Prefetch instruction for improving performance in reduced instruction set processor
US5623621A (en) * 1990-11-02 1997-04-22 Analog Devices, Inc. Apparatus for generating target addresses within a circular buffer including a register for storing position and size of the circular buffer
JP2773471B2 (ja) * 1991-07-24 1998-07-09 日本電気株式会社 情報処理装置
US5463749A (en) * 1993-01-13 1995-10-31 Dsp Semiconductors Ltd Simplified cyclical buffer
US5365591A (en) 1993-10-29 1994-11-15 Motorola, Inc. Secure cryptographic logic arrangement
US5539888A (en) * 1993-12-23 1996-07-23 Unisys Corporation System and method for processing external conditional branch instructions
JP3789583B2 (ja) * 1997-02-19 2006-06-28 株式会社ルネサステクノロジ データ処理装置
US6167488A (en) * 1997-03-31 2000-12-26 Sun Microsystems, Inc. Stack caching circuit with overflow/underflow unit
US6189092B1 (en) * 1997-06-30 2001-02-13 Matsushita Electric Industrial Co., Ltd. Pipeline processor capable of reducing branch hazards with small-scale circuit
US6553426B2 (en) 1997-10-06 2003-04-22 Sun Microsystems, Inc. Method apparatus for implementing multiple return sites
US6167506A (en) * 1997-11-17 2000-12-26 Advanced Micro Devices, Inc. Replacing displacement in control transfer instruction with encoding indicative of target address, including offset and target cache line location

Also Published As

Publication number Publication date
JP2003517671A (ja) 2003-05-27
WO2001044900A3 (en) 2002-07-11
DE60033961T2 (de) 2007-12-06
DE60033961D1 (de) 2007-04-26
WO2001044900A2 (en) 2001-06-21
KR20010102201A (ko) 2001-11-15
EP1236077A2 (en) 2002-09-04
KR100760371B1 (ko) 2007-09-20
US7032100B1 (en) 2006-04-18
EP1236077B1 (en) 2007-03-14

Similar Documents

Publication Publication Date Title
TW505839B (en) Simple algorithmic cryptography engine
US7720220B2 (en) Cipher message assist instruction
CN110659244A (zh) 内联编码能力
US7770024B2 (en) Security message authentication instruction
TWI808869B (zh) 硬體處理器及處理器
EP1623316B1 (en) Processing message digest instructions
CN109479003B (zh) 用于安全椭圆曲线密码指令的处理器、系统、方法和设备
CN113051626A (zh) 基于动态密钥推导的多密钥全存储器加密的方法和装置
US11222127B2 (en) Processor hardware and instructions for SHA3 cryptographic operations
CN113050989A (zh) 用于以密码方式与数据联系的使用限制的指令的装置、方法和系统
EP4202655A1 (en) Circuitry and methods for implementing capability-based compartment switches with descriptors
WO2022212243A1 (en) Hardware accelerator using direct memory access to execute a modular arithmetic operation
CN116266121A (zh) 用于实现使用窄寄存器的能力的电路和方法
CN116302104A (zh) 用于实现通过有界能力寻址的非冗余元数据存储装置的电路和方法
EP1684167A2 (en) Method of processing signed displacement computer instruction

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees