TW378294B - Data processing unit and microprosessor - Google Patents

Data processing unit and microprosessor Download PDF

Info

Publication number
TW378294B
TW378294B TW086107636A TW86107636A TW378294B TW 378294 B TW378294 B TW 378294B TW 086107636 A TW086107636 A TW 086107636A TW 86107636 A TW86107636 A TW 86107636A TW 378294 B TW378294 B TW 378294B
Authority
TW
Taiwan
Prior art keywords
calculation
ain
mod
aforementioned
value
Prior art date
Application number
TW086107636A
Other languages
English (en)
Inventor
Kunihiko Nakada
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of TW378294B publication Critical patent/TW378294B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/728Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic using Montgomery reduction

Description

A7 B7 五、發明説明(1 ) 本發明係關於適用具備有輒餘演算機能的資料處理裝 置而有效之技術,特別是關於適用於使用剩餘乘算演算或 是冪函數剩餘演算之密碼化以及解碼化裝置而有效之技術 0 公開鎖匙密碼技術係密碼技術之一。例如第1 4圖所 示,送訊者對於訊息Μ藉由「C = M *m〇dN」的演算法密 碼化而形成密碼文C,受訊者對於密碼文C藉由「M = C dm〇dN」的演算法解碼化而形成訊息Μ。上述密碼化的 過程所採用的參數e,Ν係公開的,而上述解碼過程所採 用的d則非公開。前述密碼化以及解碼化所使用的演算式 ,係冪函數剩餘演算,可以用通式「X Ymod N」來代表 記述(X,Y,N爲正的整數)。「mod」意味著剩餘演 算,亦即將無法整除的部分以「餘」值來表示,冪函數剩 餘演算「X Ymod N」係將XYUN除之而將其「餘」之值 作爲解。 於密碼化/解碼化裝置,藉由使用冪函數剩餘演算「 X Ymod Ν」(X,Y,N爲正整數),可以得到高度的 機密性以廣爲所知,例如,池野氏與小山氏t所著之「現代 暗號理論」電子情報通信學會編(昭和6 1年出版)就有 其記載。 此處,因爲前述之X,Y,N通常使用1 〇 0位元〜 2 0 0 0位元的非常大的數的緣故,所以要如何使「 X Ymod N」能夠高速的實行其演算在工程學以及數學的 領域來說都是一項課題。 本紙》尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐)-4 - 請 先 閎 讀 背 面 事 頃 再/ 裝 訂 經濟部中央標準局員工消費合作社印製 A7 B7 五、發明説明( 解法之一是由下式所示之古典解法(算法1 )
「算法1」 input X ' Y A = X e
N
B
X 步驟1 步驟2 步驟3
or i = η-1 to 1 step ~ 1 { A = A2 mod N if e i = 1 then A = A· B mod N 步驟4
output A 步驟5 步驟6 步驟7 步驟8 (諸先閎讀背面之注意事項界填寫本¥0 經濟部中央標準局員工消費合作社印製 於此算法中η對應於Y的位元數,e n e nq…e 1係 Y的2進位表現法。此算法概略上係將自乘的剩餘乘算^ A2 mod N」(步驟5_)以及剩餘乘算「A· B mod N」( 步驟6)組合而實行之,之論理值爲1的 個數若爲r (e),前述自乘的剩餘乘算「A2 mod N」反 覆進行η — 1回,而前述剩餘乘算「A · B mod N」則反覆 進行r ( e )回。 如此,在「算法1」,因爲係將冪函數剩餘演算「 XYmod N」分解爲剩餘乘算「A* B mod N」等而實行的 緣故,所以只要使用實現「A · B mod N」的演算機能的演 算裝置即可。 然而,因爲A,B也是非常大的數字,所以例如資料 木紙張尺度適用中國國家標準(CNS )八4規格(210 X四7公釐)-5 - A7 ________B7____ 五、發明説明(3 ) 長度各爲5 1 2位元的話,中間結果A B乘起來是10 2 4位元的成爲問題的龐.大數字。進而A · B以N除之而求 其餘值作爲最終結果的緣故,必須要進行1 0 2 4位元+ 5 1 2位元的等級的龐大值的演算。此處的乘算係藉由將 乘數與被乘數分割而可以藉由微處理器進行平行高速處理 ’但是除法運算要藉,由平行高速處理是有困難的,即使是 將其分解爲剩餘乘算「A· B mod N」而實行計算,該除法 運算處理依舊是阻礙高速化運算的問題。 特別是,爲了要解決名述剩餘乘算「A. B mod N j的 隹...法運算的問題,已知的解法還有不以N來進行除法運算 ,而是實行「A · B . R ―1 mod N j的以下的「算法2 j廣 ' 爲人知。此處,R係2 n ( η係例如N的位元數),而且 係滿足R>N的正的整數。 經濟部中央標準局員工消費合作社印製 關於不藉由N來進行除法運算而是實行「Α· B·!^1 mod N」「算法2」的詳細論證在此並不加以詳述,可以 參考例如 Montgomery. P. L. : Modular Multiplication without Trial Division, Mathemat i ca of Computation ,Vol. 44, No. 170, pp.519-521(1985). Dusse, S.R. and Kal. iski, B. S. Jr.: A Cryptographic. Library for the Motorol a DSP56000. Advances in Cryptology -EUROCRYPTO'90. Lecture Notes in Computer Science 473. Pp. 230-244,Springer-Verlag(1991)等之記載。 「算法2」 本紙張尺度適用中國國家標準(CNS ) A4規格(210Χ297公釐)-6 - A7 B7 五、發明説明( 步驟 步驟2 步驟3
N =-N_1 mod R M=A · B · N-1 mod R t =(A · B+M · N)/R 步驟4 (婧先閱讀背面之注意事項再填寫本頁) i f t ^ Ν then return t-N else return t 發明概要 本發明之發明人經過仔細檢討,發現前法具有如下之 問題點。 第1個問題點 在上述「算法2」中,其步驟1、步驟2的Ν’,Μ必須 要經由前處理事先計算而得之。此外也必須要新增暫時保 管Μ的值的記憶裝置。 第2個問題點 經濟部中夬標準局員工消費合作社印製
進而,於前述「算法2」,在其步驟4必須要進行t 與N的大小比較,因爲必須要依照其比較結果而對於龐大 的值的t與N實際進行t -N的減法運算的緣故,所以由 於反覆進行此種減法運算處理而使得全體的演算時間增X 第3個問題點 此外於上述「算法2」的步驟3,中間結果A . B的資 料長係A、B的分別的資料長(位元數)的合計之資料長 本紙張尺度適用中國國家標準(_ CNS ) A4規格(2丨0 X 297公釐)-7 - A7 B7 五、發明説明(5 ) ,所以是極爲巨大的數目’必須要新設專門用來暫時存放 此值得記億裝置。進而在「算法2」,雖然說可以省略掉 「算法1」之中必要的藉由N來進行的除法運算,但是在 步驟3還是必須耍進行龐大數字A、B、Μ、N之間的乘 法演算,而以如何將此演算有效率地實現作爲課題的解決 之道已由本發明之發明人發現。特別是藉由硬體來實現的 場合,保持A、Β、Ν的值的記憶裝置與實行乘法運算的 演算器之間的資料往來必定要頻繁地進行’因此必須要將 記憶裝置或是貪料匯流排的邏輯電路規模抑制在最小的限 度一事也是由本發明之發明人發現的。 第4個問題點 進而,還具有如何有效率地利用在「算法2」所計算 的剩餘乘算「A.B.R—imodN」,而計算冪函數剩餘演 算「X Y mod N」的課題。 其中一例爲本發灰之$明人適用「算法2」而藉由將 「算法1」變形而獲得以下之「算法3」。 (請先閎—面之注意事項再填寫本頁) -訂 經濟部中央標準局員工消費合作社印裂
「算法.3」 input X ’ Y= 6 n e η- B=R2 mod N A = X A=A · B · R一1 mod N B = A
N 步驟: 步驟2 步驟3 步驟4 步驟5 本纸張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐)- A7 B7
五、發明説明(6 ) for i = η-1 to 1 step - 1 { A = A2· R_1 mod N if e i = 1 then A = A· B· } A=A· R-1 mod N output A 步驟6 步驟7 mod N 步驟8 步驟9 步驟1 0 步驟1 _ 經濟部中央標準局負工消費合作社印製
在此「算法3」,在步驟2「R2 mod N」的計算係必 、須要作爲前處理,例如使用泛用微處理器而以軟體進行計 算的場合,相當耗費計算時間,而會使「算法3」的全體 的計算時間增大的事實也由本發明之發明人發現。此問題 點在於「算法1」的步驟5、6也同樣會發生》 第5個問題點 在前述「算法3」的步驟7計算「A2 . R-1 mod N 」時,因爲係使用剩餘乘算「A = A · Β· R-1 mod N」來 計算的緣故,所以將A的值轉送至B相當費時的事實,也 是由本發明之發明人發現的。此外,在前述「算法3」的 步驟1 0,必須將B的值設定爲B=l’也因此同樣相當費 時》 第6個問題點 進而於「算法3 j的步驟4的「Α = Α· Β· R-1 mod N」’步驟7的「A = A2 . R_ 1 mo d N」以及步驟8的「A (請先閲讀背面之注意事項再填寫本頁)
^ I ......I 訂一;—— 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨0 X 297公釐)-9 _ A7 B7 五、發明説明(7 ) =A · B . R—1 mod N」都必須要將演算結果保存於與輸入 {^姐_囿的記憶裝置A。此時,剩餘乘算「A. B. R-1 mod N」通常無法瞬間實行,而必須要花費相當多的時序而參 J無數次輸入值A、B、N以便同時進行計算,所以途中 的結果以及最終結果並無法與輸丞谆A保存於相同的記億 ς裝置’而有必要作爲暫存記憶值(Temp )而保存於其他的 i己憶裝置(例如暫時暫存器temporary registor)。因此 ’實質的演算式成爲「Temp— A. B. R -1 mod N」·,例 如爲了實行步驟8,在最後必須要實行「A — Temp」,而 暴有計算時間增大的問題》此問題在「算法1」的步驟5 、步驟6也同樣發生。 本潑明係有鑑於上述之問題點而成之發明,係以高速 實現冪函數剩餘演算「XY mod N」爲目的。 特別是使用上述課題專用的硬體設備以及泛用的微處 理器來解決,以實現高速的冪函數剩餘演算「X Y mod N 」爲目的。 此外本發明其他的目的在於實現上述的專用硬體設肩\ 時,將其邏輯電路規模限制爲最小。 本發明其他的目的還有將上述專用的硬體搭載於與 I C卡用微電腦相同的半導體晶片上,以低成本實現容易 Μ 使用的適用冪函數剩餘演算「X Y mod Ν」的供密碼化、 解碼化用的微電腦。 關於本發明之前述以及其他的目的以及其新穎之特徵 ,應可藉由本說明書之記載以及附圖而得以明瞭。 t® ( CNS ) A4M ( 210X297^ ) _ |Q _ ~ siFn-.· --------VLIJ—丨^--- (請先闊讀背面之注意事項再¾1寫本頁) Ί、-·* 經濟部中央標準局員工消費合作社印製 經濟部中央標準局員工消費合作社印製 A7 B7 五、發明説明(8 ) 以下,說明本發明所開示之發明之中較具代表性者之 概要。 亦即,冪函數剩餘演算所使用的資料處理裝置(6 ) ,係將當η爲代表演算值的位元數之正整數,N爲〇 <n < 2 η的η位兀的正整數’ Ain爲OSAin< 2n的η位 元的正整數’入。1^爲〇$入。1^<211的11位元的正整數 ,匕爲0或是正整數時,演算式爲ADUt = f(Ain)m〇d Ν + kN,進行輸入值A in與輸出值A 的值的範圍在〇以上 不滿2 n的整數的剩餘演算之演算手段(3 2 ),以及藉 由此演算手段而控制前述剩餘演算之控制手段(3 1 )製 作於1個半導體基板上而構成的。 一般式所給定的「A〇ui: = f(Ain) mod N + kNj的剩餘 演算,可以表爲 A。u t = A i n · B · R - 1 m o d N + k N 與 A。u t = Ain · B mod N + kN的演算式所分別給定的剩餘演算,此 時·,R 爲 2n,R_1 爲滿足 R · R_1 mod N =1的 0<R_1 SN之η位元的正整數,B係〇SBS2n之η位元的正 整數。 前述演算式A〇ut = Ain· Β· R_1 mod N + kN所給定的 剩餘演算中可fX包含有t = (Ain. B + M· N)/R所給定的演算 處理,及接著給定 i f t 2 R t h e n r e t u r n t - N e 1 s e return t,可以包含將t - N或者是t作爲前述A之 演算處理。如第1圓之例,於t與R的比較,藉由n位元 的t的溢位(overflow)而檢測出前述之t2R。因應溢位的 檢測結果而進行t - N的演算即可,與直接將t與N作爲 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐)_ 11 _ ' " (請先聞讀背面之注意事項#/,填寫本頁)
A7 B7 輕濟部中央標準局員工消費合作社印製 五、發明説明(9 ) 比較對象的場合相比t-N的減法處理的頻率較少,對於 剩餘演算速度的高速化有所助益。 如第1 1圖以及第1 2圖所示,具備有直列式接續的 積和演算器(3 3、3 4 ),實行前述演算處理t = (Ain. B + M· N):/R可得部分積之和。藉此,不需要部分積之一次 記憶用記憶體手段,可以實現演算手段的電路規模的縮小 〇 前述控制手段使用前述直列是接續的積和演算器可以 選擇實行乘數與被乘數爲多倍長的多倍長乘法運算。這可 以適用於供幕函.數剩餘演算用的「R2mod N」的處理所必 要的多倍長乘法演算處理。 前述演算手段,如第5圖所示,可以具備有將前述演 算式A〇ut: = Ain . B · R-1 mod N + kN之中之B值,選擇指 定爲Ain或者是1的手段(16、17) 。藉此,「Ain • B. R_1 mod N + kN」、「Aix^.R-1 mod N + kN」或 者是「Ain · IT1 mod N + kN j可以同樣地演算,不需要 對於保有值B用的暫存器轉送值A,或者是將保有值B用 的暫存器設定爲1的處理,對於剩餘演算處理的高速化有 所助益。 微電腦(MCU),如第3圖所示在1片半導體基板 上包含有前述資料處理裝置(6 ),及將此資料處理裝置 作爲共同處理器(coprocessor)而利用的微處理器(5 ) 。前述微處理器’係於前述資料處理裝置設定前述演算 A〇Ui: = Ain _ B · R_1 mod N + kN所必須要有的輸入值,指 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐)-12 - (請先閎讀背面之注意事項再填窝本頁) -«^1. ί II - - - - 111^· - -- Γ-— i - - --——_ , 訂 • In - — —- · A7 B7 五、發明説明(1Q)
示該演算處理,而利用其演算結果。藉由此微電腦,剩餘 演算式子「A〇ut = Ain. B. R — 1 mod N + kN」、「A〇ut: = Ain2· R_1 mod N + kNj 或者是「A〇ut = Ain. R _1 mod N + kN」所給定的演算,可以藉由內藏積和演算器的共同處 理器來實行,進而於該共同處理器還具備高速實行前處理 「R2mod N」用的乘算機能,使用這些共同處理器的演算 機能,可以用微電腦高速實行冪函數剩餘演算「XYm〇d N •」 。 可以將收容供在前述微處理器上實行冪函數剩餘演算 用的動作程式的R〇M ( 8 )搭載於微電腦的晶片上。此 時,前述演算A〇Ui: = Ain. B· R_1 mod N + kN成爲包含於 前述冪面數剩餘演算的演算。藉此,可以實現對於高度的 隱私性的達成具有助益的微電腦。 進而可以將作爲前述冪函數剩餘演算對象的資料可電 氣改寫地保持著的非易失性記憶體(1 0 )搭載於微電腦 晶片。藉此,可以將應該要保持機密的資料的操作最適化 地作爲I C卡用的微電腦之利用。 將演算結果A 作爲下一個演算的輸入值A in,實 行演算式A Qut = f(A in)所給定之演算的資料處理裝置, 如第7圖所示,可以由分別記億A in與A 的內容之記 憶手段(2 3、24 ),以及對於該記憶手段指示Ain與 A 的記憶場所的相互交換的旗標手段(2 7 ),以及 於前述計算式的演算實行結束後藉由將前述旗標手段.的值 反轉而取代使A in與A的值的物理上的交換,而使 本紙張尺度適用中國國家標準(CNS)A4規格( 210X297公釐)-13 _ . J—5.丨;一ί 裝! (請先閎讀背面之注意事項#,'_填寫本頁) 訂 經濟部中央標準局員工消費合作社印製 經濟部中央標準局員工消費合作社印製 A7 B7 五、發明説明(11) A in與A :的記憶場所在邏輯上交換的控制手段(2 8 、31 )等而構成。藉此,值Ain與A。。*的記憶場所的 交換可以在表面上瞬間實行,對於演算時間的縮短有所助 益。 利用前述直列配置的積和演算器之處理也可以適用於 以下的資料處理裝置。亦即,係將當η爲代表演算值的位 元數之正整數,Ν爲〇<Ν<2Ι^η位元的正整數,
Ain爲〇 SAin< 2η的η位元的正整數,入。“爲0 S Aoui:< 2η的η位元的正整數時,演算式爲AouPf ( Ain )raod N,進行輸入值A in與輸出值的值的範圍在〇 以上不滿2 n的整數的剩餘演算之演算手段,以及藉由此 演算手段而控制前述剩餘演算之控制手段製作於1個半導 體基板上而構成的資料處理裝置。前述演算式爲jUut = f( Ain) mod N之剩餘演算包含了演算式A〇Ui:=Ain· B · IT1 mod N所給定的剩餘演算,此時,R爲2",R-1爲滿足 R · R—1 mod N =1的OiRdSN之η位元的正整數, Β係〇 S B < 2 η之η位元的正整數,前述演算手段,備 有供實行演算式Aou^Ain· Β· R-1 mod Ν所給定的剩餘演 算的直列接續之積和演算器。作爲相對於此之具體的演算 樣態’前述演算式A〇ut = Ain · B · R-1 mod N所給定的剩餘 演算’包含有t = (Ain. B + M· N)/R所給定的演算處理,及 接著給定 if t^R then return t-N else return t* 可以包含將t -N或者是t作爲前述A 之演算處理, 前述演算手段,藉由直列接續的前述積和演算器,實行前 本紙張尺度適用中國國家標準(CNS ) M規格(210><297公釐)_ 14一 (請先閎讀背面之注意事項务填寫本頁) •裝. 訂 A7 ___B7_ 五、發明説明(12) 述演算處理t = (Ain· B + M· N)/R作爲部分積之和。藉此也 同樣,不需要部分積之一次記憶用記憶體手段,所以可以 縮小演算手段的電路規模。 較佳之實施形態 (1 ) 第1實施形態 在上述「算法2」,步驟4必須每次進行t與N的大 小比較,特別是在t與N的值爲相當龐大的值時,因爲實 際上必須要實行t _.N的減算的緣故,所以具有全體計算 時間增大之前述第2個問題點。於第1實施形態之中,爲 了解決此問題點,而將「算法2」的步驟4採用t與R的 大小比較而不是採用t與N的大小比較。其算法如下。 「算法4」 Ν' = - N_1 mod R 步驟 1 M = A · B . Ν’ mod R 步驟 2 t =(A · B + M · N)/R 步驟 3 if R then return t-N else return t 步驟 4 於上述「算法4」,A、B、N的位元數爲n位元, R = 2 n (第n位元爲止的全位元的邏輯值爲0 ’第η + 1位元的邏輯值爲1的2進位數)<*此算法4,係實現後 述之演算式「Aout= Ain· B. IT1 mod N + kN」之演算 法,可以將其處理視爲冪函數剩餘演算用的一個副程式。 本纸張尺度適用中國國家標準( CNS ) A4規格(210X297公釐)-15 - 1. —=11-二- (請先閎讀背面之注意事項再填寫本頁) .裝_ 訂 經濟部中央標準局員工消費合作社印製 經濟部中央標隼局員工消費合作社印製 A7 B7 五、發明説明(13) 於算法4,如果t g R,則將t — N當作A out,如果七 < R,則將t作爲A 〇 u t。 上述演算法4的步驟4的大小比較以及減法運算,係 將步驟3的「t =(A. B + M. N)/R」演算結果t是否在指定 的值2 n ( = R )以上,藉由t的溢位而檢測出,檢測出 湓位時,將步驟3的t補正爲t -N。因而可以稱此特徵 爲「溢位補正」。實現此特徵之電路之一例,係第1圖所 示之溢位補正電路。於第2圖顯示作爲溢位補正電路的比 較例而實現前述算法2的步驟4的電路的方塊圖。 首先,於第2圖,t—N的減法運算係在減算器3 A 被實行,其演算結果係以是否發生借位(borrow)而以選 擇器4 A選擇t或者是t 一 N作爲減法運算的輸出結果。 亦即在此構成t _N的減法運算的實行是絕對必要的。 相對於此,在第1圖的構成中,t的值是否超過指定 的數η所給定的位元數,係以溢位位元〇v是〇或是1而 來判斷。此相當於上述的t與R的大小比較。亦即,因爲 如上述R = 2 η的緣故,如果前述溢位位元0V爲1的話 則t2R,如果溢位位元〇ν爲0的話則爲1: <R。 此處僅在0V= 1而發生溢位時,以減算器3實行t -N的減算,以選擇器3選擇其減法運算的結果而作爲輸 出結果。在〇V= 〇而沒有發生溢位時,減算器3不進行 減法運算,將t直接以選擇器4選擇而作爲輸出結果。溢 位位元0 V,也對控制演算的控制電路3 1供給。控制電 路31因應〇v= 1或是ov=0,而控制例如以減算器 本紙張尺度通用中國國家榡準(CNS ) A4規格(21〇x297公釐_ 16 _ ^ ~I 、I,~^. J ^ J------- '/ . Ί· (諳先M讀t·面之注意事項I填窝本莧) B7 五、發明説明(l4 ) 3進行減法運算與否。進行減法運算的場合,在結束該減 法運算之後將選擇器4的輸出控制掛鉤(latch)於後段。 亦即,在第1圖的構成與第2圖的構成相比,可以降 低實行減法運算的頻率,可以縮短平均演算時間。 此處,前述「算法4」所給定的最終演算結果亦有t 較N爲大的場合。亦即,因爲r ( = 2n) >N,所以經 由步驟3的處理以前述溢位補正所得到的t的值較R爲小 而且較N爲大的話,骸t的值成爲以「算法4」所給定的 演算結果t 。因爲在前述「算法2」的場合是直接與N進 行比較的緣故,所以最終所得到的演算結果t必定較N爲 小。因此,「算法4」全體的演算式以「A . B . R—1 mod I N + kN」表示,有必要藉由補正項kN來解決前述誤差。此 處k爲0或者是正整數。 經濟部中央標準局員工消費合作社印製 前述剩餘演算式「A . B . R-1 mod N + kN」,若將 其值A區分爲輸入值A in與輸出值A 而表示的話,演 算式成爲「Aout= Ain. B· R—1 mod N + kN」。將此簡 化爲一般式的話,演算式可以寫成「Ασι1ΐ= f (A in) modN + kN」,輸入值Ain與輸出值AQUt的值的範圍在N 以上不滿2 n,η係代表演算值的位元數的正整數,NS 0 <N< 2n的η位元的正整數,Ain係〇 SAin< 2n的 η位元的正整數,Aoui:係〇SAQUt< 2"的η位元的正 整數,k係0或者是正整數。前述R爲2n,R-1係滿足R • R-1 mod Ν =1的◦〈RMSN之η位元的正整數’ Β 係〇SBS2n之η位元的正整數。 本紙張尺度適用中國國家標準(CNS ) Α4規格(2丨0X297公釐)-17 - A7 B7 五、發明説明(15) 使用前述「算法4」的場合’伴隨著其補正項而實行幕 函數剩餘演算「XY mod N」而修正「算法3j的話,可 得以下所示之「算法5」 「算法5」 input X ’ Y= enen-:L …e:’ N,R . 步驟 1 B = R 2 m〇d N 步驟 2 A = x 步驟3 A = A · B · R_ 1 mod N + kN 步驟 4 B = A 步驟5 for i = n-1 to 1 step - 1 { .步驟 6 A = A2 · R_1 mod N + kN 步驟 7 if e i = 1 then A = A · B · R—1 mod N + kN 步驟 8 } 步驟9 A = A · R-1 mod N + kN 步驟 1 0 A = A mod N 步驟 1 1 output A 步驟 1 2 前述「算法3」到前述「算法5」的變更點在於分別 變更了步驟4、7、8、1 〇的剩餘演算的演算式之外, 還追加了步驟11。步驟11係爲了要使演算結果較N爲 小而追加的。前述「算法5」的演算也可以藉由泛用微處 理器而實行。但在本實施例中,採用專用的硬體設備之共 同處理器。 本紙張尺度適用中國國家標隼(CNS ) A4規格(210X 297公釐)-18 - _ -.iFii£cz- (請先閲讀背面之注意事項再填窝本頁)
丨-丨丨裝-------訂^-I 經濟部中央標準局員工消費合作社印製 經濟部中央標準局員工消費合作社印製 Μ _____^_Β7____五、發明説明(16 ) 於第3圖,5係微處理器,6係共同處理器’ 7係時 序發生器,8係容納著微處理器5應該要實行之程式或是 固定資料的ROM (讀取專用記憶體,Read Only Memory ),9係提供微處理器5的作業領域之RAM (可隨機讀 寫之記憶體,Random Access Memory) ’ 1 〇.係適用那述 冪函數剩餘演算「XY ffl〇d N」將被符號化的資訊等的保 存所利用到的可以用電氣訊號改寫之E E P R Ο Μ或是快 閃記憶體等的非易失性記憶體(簡稱E EPROM), 1 1係輸出入埠(略稱爲I/O埠)。微處理器5、共同 處理器 6、RAM8、ROM9、EEPROM10 以及 I/O埠1 1共通接續於代表之匯流排1 2、1 3。匯流 排1 2係位址匯流排與控制匯流排的總稱。1 3意味著資 料匯流排。時序發生器7係基於由時序端子C L K而來所 供給的時序訊號產生內部的動作基準時序訊號而供應至微 處理器5以及共同處理器6。I/O埠1 1係結合於資料 輸出入外部端子I/O。Vcc,V ss係微電腦MCU的電 源用外部端子,RE S係微電腦MCU的再開機用外部端 子。 微電腦M C U,並沒有特別的限制,可以如第3圖所 示全部的機能方塊被形成於例如單結晶矽基板般的一個半 導體基板。 前述共同處理器6係作爲實行前述「算法5」的步驟 4、步驟7、步驟8、步驟1_0所示之「A = A .B.R-1 mod N + kN」等的「剩餘演算」之專用硬體,含有演算電 本紙張尺度適用中國國家.標準(CNS ) A4規格(210 X 297公釐)_ 19 A7 B7 經濟部中央標準局員工消費合作社印製 五、發明説明(17) 路3 2與控制電路3 1。前述第1圖的溢位補正電路係包 含於共同處理器6內。剩餘乘算的輸入值A、B、R、N 以及輸出值A係保持於共同處理器6之中的暫存器或者是 RAM等記億裝置。或者是也可以將其保持於前述RAM 9亦可。. 微處理器5>係可以實行周知之演算命令或者是條件 分歧命令等的泛用微處理器,使用共同處理器6實現演算 機能的同時,藉由「算法5」而實現冪函數剩餘演算「 X Y mod N 」。 於第4圖概略顯示藉由「算法5」而實行冪函數剩餘 演算「XY mod N」時藉由微處理器5與共同處理器6而 進行處理之流程圖。於第4圖T1以及T 5係於「算法5 」中微處理器5應該要負擔的冪函數演算處理,C 2係「 算法5」之中共同處理器6應該要負擔的冪函數演算處理 。C 2所進行的演算處理雖未特別加以限制,但爲「算法 5」的步驟4、7、8、10的處理。微處理器5在當共 同處理器6實行演算時,將其所必須要用到的值(A、B 、1^等)設定於例如共同處理器6的內部的暫存器(T2 )。其後微處理器5對於共同處理器6藉由指令等指示開 始進行演算(T3)。共同處理器6使用藉由C1而設定 的輸入值,藉由指令等進行被指示之處理(C 2)。其間 ,微處理器5等待共同處理器6的演算結束,或者是可以 進行其他的處理(T4)。共同處理器6在C2結束演算 時,通知微處理器(C 3)。微處理器5使用共同處理器 (請先聞讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS ) A4規格(210.X297公釐)-20 - A7 B7 經濟部中央標準局員工消費合作社印製 五、發明説明(18 ) 6所計算之結果而進行演算法的處理(T5)。進而還剩 下共同處理器6應該要負擔的冪函數處理的場合,經由 T 6反覆進行上述處理。 第2實施形態 於上述「算法5」,步驟7所示之剩餘乘算「A2. R-1 mod N + kN」可以藉由將步驟8所示之剩餘演算「A • B. R-1 mod N + kN」而將B= A即可實現。然而,實 際上勢將分配於A的暫存器的值向分配給B的暫存器傳送 的緣故,所以會產生演算的實行時間增大的.問題。此外步 驟8 for的迴圈之中反覆執行的場合,因爲可以使用同一 個B值反覆使用的緣故,在步驟7將B的值以A的值來改 寫可以實行較有效率的演算實行。進而,在步驟10所示 的剩餘乘算「A · R-1 mod N + kN」也是同樣可以藉由以 B =1來實現,但是將1設於B會產生使演算的實行時間 增大的問題。這些是對應前述第5個問題點的內容。 爲了解決此問題點,於實現剩餘乘算「A · B _ R_1 rood N + kN」的電路上,採用將B的值代換爲可以選擇是 A的值或者是“1”的構成。 於第5圖顯示解決該課題之演算手段的方塊圖。並沒 有特別的限制,但是第5圖所示之演算手段,可以作爲實 現第3圖的共同處理器6的一個電路構成’而包含在例如 單結晶矽基板一般的一個半導體晶片上所形成的微電腦 M C U 內。 '本紙張尺度適用中國國家標隼(CNS ) Α4规格(210 X 297公釐)-21 -
EiEEE-- (請先閎讀背面之注意事項再*'寫本J ) —―裝------^訂 J------—I— • ί nn * A7 __^_ B7 五、發明説明(19) 於第5圖中,1 5係演算器,1 6係選擇器,1 7係 控制暫存器,18〜2 0係演算用暫存器。選擇器1 6依 控制暫存器1 7的控制位元CB〇、CB 1的值而選擇將 暫存器18、19或是固定值“1”供給至演算器15。 控制暫存器1 7的2個位元CBO、CB 1因應其邏輯值 的組合而指定演算式,亦即,因應其設定值,而將剩餘乘 算「A · B· R-1 mod N + kN」之中的B值,介由選擇器 1 6而選擇暫存器1 8的值A、暫存器1 9的值B或者是 固定值“1”之任一而對演算器1 5供給。因應控制暫存 器1 7的位元CBO、CB1而進行選擇器的選擇動作, 演算器 1 5 可以將「A · B · R-1 mod N + kN」、「A2 . R_1 mod N + kN」或者是「A· R-1 mod N + kN」可以同 樣地演算。亦即,不需要對於保有值B用的暫存器轉送值 A ’或者是將保有值B用的暫存器設定爲1的處理。對於 控制暫存器1 5的值的設定,係由例如第3圖所視之微處 理器5而經由匯流排1 2、1 3而進行。 於第6圖顯示與第5圖之比較例之演算手段的方塊圖 。在第6圖的場合,實行剩餘乘算「A2 . R-1 mod N + kN 」的場合,必須要經由匯流排而進行將A的值轉送至B, 或者是要將B的值設定爲1的處理。 (3 )第3實施形態 於上述「算法5」,在步驟8所代表的剩餘演算「 A ( A〇ut ) = A ( Ain) . B . R一1 mod N + kN」,必須要 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐)-22 -~' ' ~~~ rilkjuuuuuiai-ur (請先閎讀背面之注意事項t填寫衣瓦) -裝· 經濟部中央標準局員工消費合作社印製 ___ B7 五、發明説明(20) 將演算結果(ADUt)保存於與輸入值A (Ain)同樣的記 憶裝置或者是暫存器。剩餘乘算通常無法瞬間實行,而必 須耗費很多的時序(clock)(演算步驟數)而且要多次參 照輸入值A、B、N而進行計算的緣故,無法將計算的中 間結果以及最終結果保存於與輸入值A相同的記億裝置, 而產生保存於一次記憶值(Temp)用的其他的一次記 憶裝置的必要性。因此,演算式「A = A · B · IT1 mod N + kN」成爲「Temp—A. B. R-1 mod N + kN」’爲了實 fr 步驟8,在最後必須要實行「A — Temp」,而具有計算時 間增大的問題已由本發明之發明人發現這對應著前述第6 個問題點。此問題在「算法5」的步驟4、7、1 0也周 樣發生》 於第7圖顯示著眼於解決上述問題點之演算手段之方 塊圖》雖然沒有特別的限制,第7圖所示之演算手段可以 當成是實現第3圖的共同處理器6的一個電路構成’包含 在形成於例如單結晶矽基板般的一個半導體晶片上而形成 的微電腦M C U之內》 經濟部中央標準局員工消費合作社印製 (請先閎讀背面之注意事項再填寫本F0 於第7圖,2 2係演算器,2 3與2 4係容納前述值 Α的暫存器與一次記憶體Temp用的暫時暫存器交互切換而 被利用的暫存器,2 5係供容納B值所被利用的暫存器’ 26係容納N值所被利用的暫存器。暫存器23〜26與 演算器2 2係共通接續於共同演算器內部的匯流排4 0。 於第7圖S1係暫存器2 3的選擇訊號,S 2係暫存 器2 4的選擇訊號。R tmp係對於一次記憶體T e m p的 本纸張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐)-23 - A7 ______B7 五、發明説明(21) 操作訊號,R a係對於A值的操作訊號。操作訊號R tmp ,R a係微處理器因應對於共同處理器供給的指令而由控 制電路3 1輸出的演算控制訊號的一種》 29、30係選擇器。選擇器29、30依照旗標 2 7的值而選擇操作訊號R a或者是R tmp,將選擇的訊 號作爲暫存器選擇訊號S 1、S 2而輸出。旗標2 7爲「 1」時,選擇器2 9選擇操作訊號R a作爲暫存器選擇訊 號S1 ,選擇器3 0選擇操作訊號R trap作爲暫存器選擇 訊號S2。旗標27爲「0」時,選擇器29、30所作 的選擇狀態相反。 前述旗標2 7的設定係藉由旗標反轉控制邏輯2 8-而 進行的。此旗標反轉控制邏輯2 8,係例如包含於前述控 制電路3 1,控制演算的程序的編續器在顯示剩餘乘算「 A· B^ir1 mod N」的結束時間時,與其同步將旗標2 7 的狀態控制爲反轉》 如此,前述暫存器2 3與2 4每次進行剩餘乘算「A • Β· IT1 mod N」時交互被分配爲收容值A或者是一次記 憶值T emp的用途。例如,暫存器2 3在被使用爲容納值 A時,暫存器2 4被使用於一次記憶體T emp的收容。 在剩餘乘算「A · B · IT1 mod N」結束實行時,控制其爲 可以切換對應於操作訊號Ra,R tmp之選擇訊號S 1、 S 2的對應。此暫存器機能的交換,如圖所示,係藉由將 1位元的旗標2 7在剩餘乘算「A · B · R—1 mod N」結束 執行時將其反轉而被控制。藉此,值A、T e m p的內容 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐)-24 _ ~ " " " 1Ξ1Ι-II- (請先《靖背面之注意事頃#/填寫本瓦) 裝· 經濟部中央標準局.員工消費合作社印製 經濟部中央標準局員工消費合作社印製 Μ Β7 五、發明説明(22) 的交換可以在表面上瞬間被執行,對於演算時間的縮短有 所幫助。 第8圖係顯示對於第7圖的演算手段的比較例。於第 8圖所示之演算手段,剩餘乘算「A_ B.R^modNj的 實行成果,首先被收容於被固定分配用來供暫時記憶值 Temp的暫時暫存器,該暫時暫存器的值Temp,.被 轉送至值A專用的暫存器,而值A的暫存器保持著最終結 果。如此的資料轉送會花上很多時間。 於第9圖顯示將第7圖的暫存器2 3〜2 6以RAM 32實現的場合的共同處理器的例。 雖未有特別的限制,在第9圖所示之共同處理器,可 以是適用於作爲第3圖的微電腦MC U的共同處理器6的 一個電路構成,與前述相同,包含於例如單結晶矽基板般 的一個半導體晶片上所形成的微電腦MC U之內。 於第9圖5 0係RAM,在該圖中顯示代表的記億領 域2 3M〜2 6M。記憶領域2 3M、2 4M被利用於交 互切換容納前述值A的領域與容納演算中途結果之一次記 憶值T e m p的領域。記憶值2 5 Μ被利用於容納值B用 ,記憶體2 6Μ被利用爲容納值Ν用。各記憶領域2 3Μ 〜2 6Μ介由演算電路內部的極流排4 0,接續於被代表 顯示的演算器2 2.。對於RAM5 0的操作控制係介由匯 流排52、5 3來進行的。位址訊號係藉由A ms b〜Α〇 的指定位元的位址訊號而進行RAM5 0的定位址( addressing)。 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐)-25 .·--1 — I-i — I--Jj!^----- (請先閎讀f面之注意夢項#填寫本頁) 訂-------^樣J ! A7 B7 五、發明説明(23 ) 於控制暫存器51設定了由微處理器5所供給的指令 ’由控制電路3 1將其解讀,而對演算器2 2等產生控制 訊號。 對於前述記憶領域2 3M〜2 6M的選擇資訊,雖未 加以特別的限制,係指定爲位址訊號的最上位側的2個位 兀Amsb、Amsb-i。此處,Amst>= 1時,因應旗標2 7 的邏輯值而爲了使A 的邏輯值強制反轉的緣故而設 有和閘(AND gate) 5 4以及排他邏輯和閘(NOR gate ) 55,該閘5 5的輸出取代Amsb-:i而被供給至 R A Μ 5 0。A msb=l、A ’時選擇記憶領域 2 3 Μ,A msb=i、A ’《πα-βΐ時選擇記億領域 2 4 Μ, Amsb =0' A’Mb — pO 時選擇記億領域 2 5Μ,A msb = 〇 、A ’ 時選擇記憶領域2 6 Μ。在共同處理器的動 作程式上,A _»sb = l、A „^^ = 0指的是數值Α的收容領域 ,Amst^l、Amsb-ι = 1指的是temp的收容領域。 前述旗標2 7的設定係藉由旗標反轉控制邏輯電路 2 8而進行的。此旗標反轉邏輯電路2 8係例如在況至演 算的程序的控制電路3 1內部的編序器在顯示剩餘乘算「 A · B . IT1 mod N」的結束時間時,與其同步反轉控制旗 標2 7的狀態。 藉此,前述記憶領域2 3M、2 4M分別排他的容納 值A以及一次記憶值Temp。例如,旗標27爲0時, 記億領域2 3M使用於容納值A ’記憶領域2 4M使用於 容納T e m ρ。在剩餘乘算實行結束時旗標2 7的值被反 本紙張尺度適用中國國家標準(cns )八4規格(2丨〇父297公釐)-26 - ----I —. —I I J—裝-- (請先閎讀t·面之注意事項\4:填窝本頁y 訂 經濟部中央標準局員工消費合作社印製 A7 B7 五、發明説明(24) 轉爲1時,於接著的演算中,記憶領域2 3厘用來容納 T e m p,而記憶領域2 4M被使用來容納值A。藉此’ 在取代暫存器而採用R AM 5 0的場合也是可以在表面上 可以瞬間實現值A與T e m ρ的內容的互換。 (4 )第4實施形態 於上述的「算法5」,爲了實行步驟8所代表的實行 剩餘乘算「A = A · B . R-1 mod N + kN」用的演算法,係 以前述「算法4」所記載的方式計算,但是此演算法有必 要考慮以下數點。 前述「算法5」的步驟1、步驟2必須要事先準備N ’、Μ。此外採用極大數值的Μ必須持續保持到演算的時 刻。此外,前述「算法5」的步驟3中,中間結果A Β因 爲成爲值A、B的資料長度的合計之資料長度的極爲龐大 的數字的緣故,所以有必要具有因應這些計算之暫時保存 各值之記億裝置。這些對應於前述之第1個問題點。 此外,在前述「算法5 j的步驟3中有必要進行A、 Β、Μ、N之間的龐大數目之間的乘算,而具有如何有效 率的實現的課題。特別是藉由硬體設備來實現的場合,必 須要頻繁地進行保持A、Β、Ν的值的記憶裝置與實行乘 法運算的演算器之間進行資料的交換,有必要考慮記憶裝 置或是資料匯流排得邏輯電路規模被抑制於最小限度。此 係對應於前述第3個問題點。 此處,作爲解決這些問題的手段,首先,說明關於如 t BI ® CNS ) ( _ 27 _
II -----_!ί 裝 |_. (請先閲讀背面之注意事項I填寫本S·) 經濟部中央標準局員工消費合作杜印製 Α7 __ Β7 五、發明説明(25) 何有效率地進行前述A、Β、Μ、Ν的極爲龐大的值之間 的乘法運算的原理。 於第1 0圖顯示值Β與Μ的區塊分割之例。於第1 0 圖中,顯示將η位元長的Β、Μ分別分割爲L位元長的區 塊的狀態。藉此,Β、Μ係分別被分割爲n/L個區塊。 例如η係5 1 2位元,L係3 2位元。 使用此區塊分割,於「算法4」的步驟3所記載的演 算式「(Α·Β + Μ· Ν)/1?」,施以分解爲部分積的變形的話 ,成爲如下形態。下列式子所顯示的數式變形結果省略了 部分積的項的形式在可以把握的範圍的記.載。 (A. B+M. N)/R =(A· (2n-L. Bn/L-i+…+2L. Βι+Β〇) + (2n-L· Mn/L-:i +…+2L. Mi+Mo) . N)/R =(-((A · B〇 + M〇 · N)/2L+(A · Bi+Mi · N)/2L+- +
(A · Β n / L - 1 + Μ n / L - 1 * N ) ) / 2 L 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項I填寫本瓦) 由此便形式可知,演算「(A. Bi+Mi· N)/2L」反覆進 行n/L次的話可以實現「(a.b + M. N)/R」β 於第1 1圖顯示著眼於藉由前述部分積實行演算「(A • Bi+Mi _ Ν)/2ΐ」用的演算手段之共同處理器之其他例》 雖未加以特別的限制,第1 1圖所示之共同處理器,可以 作爲適用於第3圖的共同處理器6的一個電路構成,與前 述相同,被包含於例如單結晶矽基板般的一個半導體晶片 上而被形成的微電腦M C U之內。 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐)-28 - A7 B7 經濟部中央標準局員工消費合作社印製 五、發明説明(26 ) 於第11圖’33係第1積和演算器,3 4係第2積 和演算器’ 3 5係保持一次記憶值τ e m p用的暫時暫存 器’ 3 6係保持值A所利用的暫存器,3 7係保持收容值 B用的暫存器’ 3 8係收容值N所利用的暫存器,3 9係 M i產生邏輯電路,4 〇係供保存以M i產生邏輯電路所 產生的值Mi用的掛鉤(latch),4 1係進行「+ 2L」用 的移位電路。 第1 1圖所示之電路係基於第1〇圖所示之樣態之區 塊分割而實行「(A. Bi+Mi. N)/2L」演算的電路。首先, 第1積和演算器3 3將暫存器3 5的值T emp,暫存器 3 6的值A ’暫存器3 7的值BI作爲输入值,實行積和 演算「Temp + A· Bi」。其演算結果值作爲Temp2而被送至 下一段的第2積和演算器’3 4。值Temp2係n + L位元長 的整數。另一方面,Mi產生邏輯電路39,將L位元長 的數A〇,Bi,N〇作爲輸入值而產生L位元的整數Mi ,此正 數M i被暫時保存於暫存器4 0。第2積和演算器3 4將 前述Temp2,N,Mi作爲輸入值,實行積和演算「TempZ + Mi · N」。n + L位元長的演算結果的下位L位元全部是0, 將此藉由移位暫存器而將其消除(亦即以2 t除之),η 位元長的結果作爲值Temp而被送往暫存器3 5保存。 反覆實行以上的軌作n/L次的話,可以實現演算「(A • Bi+Mi · N)/2L」。藉此,不必預先將η位元的整數Μ預 先計算而保持之,僅將L位元長的M i於積和演算器3 3 的計算中求之並保存於暫存器4 0即可。可以消除Μ值的 .-Ill, ΙΙ=~Η— -I |~ . (請先閲讀背面之注意事項-s-/^·''窝本頁) .— I 丨、—裝-----1 訂--- ^ J,-- 本紙張尺度適用中國國家標準(CNS ) Α4規格(210X297公釐)-29 - A 7 _____B7__ 五、發明説明(27) 計算時間以及縮小保存Μ值得記憶手段的規模。進而,藉 由將積和演算器3 3與積和演算器3 4直列連接而連續動 作,可以不需要特別設置用來暫時保存n + L位元長的中 間結果Temp2的記億手段。 於第1 2圖顯示著眼於藉由前述部分積而實行「(A· Bi+Mi . IO/21*」演算用的演算部之共同處理器之其他例。 雖未加以特別的限制,在第1 2圖所示之共同處理器,可 以當成是實現第3圖的共同處理器6的一個電路構成’包 含在形成於例如單結晶矽基板般的一個半導體晶片上而形 成的微電腦MCU之內。 經濟部中央標準局員工消費合作社印製 於第12圖之例,對於第1 1圖的共同處理器而言, 在暫存器3 5〜3 8的積和演算器3 3、3 4上以匯流排 4 0接續是不同點。亦即可以藉由RAM4 2構成前述暫 存器3 5〜3 8。藉此,半導體晶片上的暫存器的面積可 以降低。此外,於此構成,因爲特別是藉由匯流排4 0轉 送的資料量相當多,所以具有匯流排的寬度要變大而且半 導體晶片的面積又不能夠增大的必要性》如第1 1圖之例 所示般的藉由將積和演算器3 3與積和演算器3 4直列連 接,可以不需要將中間結果Temp2藉由匯流排轉送,所以 可以降低藉由匯流排得資料轉送量。 (5 )第5實施形態 於第1 1個或是第1 2圖之例,藉由在第1積和演算 器3 3使Temp = 0,在第2積和演算器3 4使Mi · N= 0, 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐),-3〇 - ' ~~ 經濟部中央標準局員工消費合作社印製 A7 |_^___ ___五、發明説明(28) 進而藉由選擇器4 1而進行「+ 2 L」的動作,可以將該 圖所顯亦的演算手段作爲例如「a. Bi」般的多倍長度乘 法演算(較小的數Bi與相當於其多倍長度的較大的數a之 相乘運算)的電路來使用。這是解決前述第4個問題點用 的一個手段。如「A· Bi」般的多倍長度乘法演算,藉由 使用例如「算法5」的步驟2的演算「R 2 mod N」以微 處理器實行而適用,可以使該演算高速化。 亦即,於第1 3圖顯示rR2 ffl〇d N」的計算的概念 圖。於第13圖,11=211,]1=512,1^爲512位 元’ R2僅有最上位的位元爲1 ,下位側的1 〇 2 4位元 全部爲0。以微處理器進行「R 2 mod N」的演算時,將 極大的數R 2以同樣大的數N直接進行除法運算,並非有 效率的方法,所以將被除數由最上位取6 4位元單位的區 塊’此外,將除數由最上位側取3 2位元單位的區塊,依 序將上位側的區塊相除進行運算,藉此所得之值取作商的 概略數。於第1 3圖顯示例如以Q ( = Da+Na)取作商 的概略數。概略而言,對於R2的上位側進行「Q.Na 」的減算。對於「Q · Na」減算的結果進行同樣的處理 。進而藉由對於其結果反覆進行同樣處理之手法,可以得 到「R2 mod N」的結果。實際上在其途中,爲了將剩餘 位元除去而中介著有減法運算處理。此時,根據第1 3圖 之例,前述「Q . Nb」演算的處理,在第1次係3 2位 元與4 8 0位元的龐大數目的乘法運算處理。而且如此龐 大數目的乘法運算處理要反覆很多次。此時,藉由第1 1 本紙張尺度適用中國國家標隼(CNS ) A4規格(210 X 297公釐)-31 - ~~~': A7 B7 五、發明説明(29) 圖或是第12圖所示之共同處理器而利用可以運算的如前 述「A· Bi」的多倍長度乘法運算’換言之’使共同處理 器負擔如此多倍長度演箅的化,在使用微處理器實行「算 法5」之步驟2的演算「R2 mod N」時’可以提高演算 處理的速度。 以上說明了由本發明之發明人所完成之發明,但本發 明並不以上述範圍爲限,在不超過其要旨的範圍內當然可 以進行種種的變更。基於第1、5、7、9、11、12 圖所說明的內容,係爲了使容易理解各課題所分別對應之 解決手段,而說明共同處理器的個別的電路構成,但是也 當然可以將這些構成的全部或者是選擇其中部份構成於一 個共同處理器內而實現之。 此外,值A、B、N的位元數也不限定於5 12位元 ,當然也可以用位元數更多的數。此外,爲了要實現冪函 數剩餘演算而用之硬體設備之構成並不限定於上述各實施 形態所列舉的而是可以加以適當的變更。 此外,上述說明之演算技術,雖未特別加以圖示,但 是在不採用前述算法2的地方依照算法1而進行冪函數剩 餘演算的共同處理器或是微電腦等資料處理裝置也可以適 用。 進而,在上述的說明係以使用補正項kN的場合爲一範 例,但是利用前述直列配置的積和演算器3 3、3 4的處 理,基於前述算法3而進行冪函'數剩餘演算的以下的資料 處理裝置也可以適用。亦即,η係代表演算值的位元數的 k張尺度適用中國國家標準(CNS ) Α4規格(210X297公釐)-32 - ^ ^~~ rF.lEl-ll! (請先閲讀背面之注意事項-^/,填窝本頁) _ —裝-----Ί訂—— 經濟部中央標準局員工消費合作社印製 五、發明説明(30) 正整數,N係0<N<2n的η位元的正整數’人^係0 $八1„<211的11位元的正整數,八。1^係0$八。111:<21: 的η位元的正整數時,演算式是以A〇ut = f ( Ain ) mod Ν
給定的,進行輸入值Ain與輸出值AQU1:的值的範圍在N 以上不滿2 11的整數的剩餘演算之演算手段,以及藉由此 演算手段而控制前述剩餘演算之控制手段製作於1個半導 體基板上而構成的。前述AQU1: =f(Ain) mod Ν所給定 的剩餘演算,包含A。ui;= Ain· ΒΊ1 mod N之類的演 算式所給定的剩餘演算,前述R爲2",R-1係滿足R · R-1 mod N=1的〇<R—之η位元的正整數,B係 0SBS2n2n位元的正整數。前述演算手段,爲了實 行A。^= A in · B · R—1 mod N所給定的剩餘演算,而具 備有直列接續的積和演算器3 3、3 4。對此具體的演算 樣態,前述演算式A QUi:= A in · B · IT1 mod N所給定的 剩餘演算,包含有t = (Ain· B + M· N)/R所給定的演算處理 ,及接著給定 if . t$R'then return t- N else returnt,包含將t — N或者是t作爲前述A。“之演算 處理。前述演算手段,藉由被直列接績的前述積和演算器 3 3、3 4,而作爲部份積的和,實行前述演算處理t =(
Ain· Β +Μ· N)/R。藉此也同樣的可以不需要部份積的一 次記億用記億體手段,所以可以縮小演算手段的電路規模 〇 本發明除了共同處理器或是微電腦之外,還可以適用 於具有共同處理器或是微電腦之IC卡、IC卡、密碼化 本紙張尺度適用中國國家標準(CNS)A4規格( 210X297公釐)-33 - B7 五、發明説明(31) •解密化裝置等廣泛用途。 藉由本發明所開示之發明之中具有代表性的發明所得 到的效果,簡單說明如下。 (請先閲讀背面之注意事項再填寫本頁) 亦即,可以高速實現冪函數剩餘演算「X Ymod N」 〇 此外,於實現冪函數剩餘演算用的上述專用硬體時, 可以使其邏輯電路的規模縮小。 進而,將上述專用硬體搭載應用於與I C卡用的微電 腦相同的半導體晶片,可以容易實現低成本的適用於冪函 數剩餘演算「X Ymod N J的密碼化·解碼化的微電腦。 而,於搭載微處理器的微電腦,剩餘演算以所給定的 A = A · B · R_1 mod N + k N ’ A = A2 · R~1 mod N + k N 以及A = a.B.R-1 mod N+kN演算,以內藏積和演算 器的共同處理器來實行,進而於同一共同處理器具備有高 速實行前處理R 2mod N用的乘法運算機能,使用這些共同 處理器的演算機能,可以微處理器高速實行冪函數剩餘演 算 X Ymod N。 經濟部中央標準局員工消費合作社印製 圖面之簡單說明 第1圖係溢位補正電路之—例之方塊圖。 第2圖係相對於溢位補正電路之比較例之方塊圖。 第3圖係可以實行之進行冪函數剩餘演算「X Ymod Nj的算法5的微電腦之一例之方塊圖。 第4圖係第3圖之微電腦中依照算法5進行冪函數剩 本紙張尺度適用中國國家標準(CNS ) A4规格(210 X 297公釐)-34 - B7 五、發明説明(32) 餘演算X modN」時的顯示微處理器與共同處理器的概 略的處理流程的流程圖。
第5圖係顯不可以選擇實行複數種類的剩餘演算「A .Β· π mod N + kN」、「A2 .广 _ n + kN」或者 是「A· R-1 mod N + kN」的共同處理器的演算手段之方 塊圖。 第6圖係顯7K對於第5圖的演算手段之比較例之方塊 Λ » - 第7圖係顯τκ實現於八=a. B. R_1 mod N + kN等的 演算時輸入暫存器與暫時暫存器之暫存器機能交換的演算 手段之~例之方塊圖。 第8圖係顯示對於第7圖之演算手段之比較例之方塊 圖。 第9圖係將第7圖的暫存器以R AM置換而實現暫存 器機能交換的演算手段之一例之方塊圖。 第1 0圖係顯示將供部份積用之值B、Μ區塊分割之 例之說明圖。 經濟部中央標率局員工消費合作社印製 第1 1圖係含有供藉由部分積而實行(Α · Bi+Mi · Ν)/ 2 l用的演算手段的共同處理器的方塊圖。 第1 2圖係含有供藉由部分積而實行(A· Bi+Mi· N)/ 21^用的其他的演算手段的共同處理器的方塊圖。 第1 3圖係顯示R 2m〇dN的計算概念的說明圖° 第14圖係適用冪函數剩餘演算之密碼化'解碼化裝 置的概略說明圖。 本紙張尺度適用中國國家標準(CNS ) M规格(210x297公釐)-35 經濟部中央標準局員工消費合作社印製 A7 B7五、發明説明(33) 圖號說明 3 演算器 4 選擇器 M C U 微電腦 5 微處理器 6 共同處理器 1 5演算器 1 6 選擇器 1 7 控制暫存器 CB、CB2 控制位元 1 8〜2 0 暫存器 2 2 演算器 (請先閎绩紫面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(€呢)八4規格(210/297公釐)-36-

Claims (1)

  1. 8 8 8 8 ABCD 經濟部中央標準局員工消費合作社印製 六、申請專利範圍1 . 一種資料處理裝置,係形成於1個半導體基板上 的資料處理裝置,係包含有·· 將當η爲代表演算值的位元數之正整,數,N爲〇 < N < 2η的η位元的正整數,Ain爲〇 SAin< 2。的11位元 的正整數,A。”爲〇 S A。^ < 2 "的η位元的正整數, k爲0或是正整數時,演算式爲Α。u t = f ( A i n) m 〇 d N + k Ν ,進行輸入值A in與输出值A 的值的範圍在〇以上, 不滿2 n的整數的剩餘演算之演算手段,及 藉由此演算手段而控制前述剩餘演算之控制手段而構 成的。 2 ·如申請專利範圍第1項之資料處理裝置,其中, 前述A〇ui: = f(Ain) mod N + kN所給定的剩餘演算,包含 A〇ut= Ain. B..R-1.mod N + kN 以及 AOUt= Ain. B .mod N + kN之演算式所給定的剩餘演算,前述尺爲2" ,R—1 係滿足 R · R-1 mod N=1 的 〇<R_1SN 之 η 位 元的正整數,Β係〇 SB < 2"之11位元的正整數。 3 .如申請專利範圍第2項之資料處理裝置,其中, ‘A〇ut= Ain· B· R_1 mod N + kN所給定的剩餘演算’ 包含有t = (Ain. B + M· N)/R所給定的演算處理,及接著給 定 if t ^ R then return t-N else return t’ 將 t — N或者是t作爲前述A out之演算處理;前述演算手段係 藉由η位元的t的溢位(over flow)而檢測出前述之R 〇 _4 .如申請專利範圍第2項之資料處理裝置’其中, 各紙張尺度適用中國國家標準(CNS ) A4规格(210 X 297公釐) -37 - 經濟部中央標隼局員工消費合作杜印製 A8 B8 C8 D8六、申請專利範圍 前述演算手段係具有實行演算式AQut= Ain· Β· R-1 mod Ν + kN所給定的剩餘演算用的,直列接續的複數的積 和演算器。 5 .如申請專利範圍第2項之資料處理裝置,其中, A。以=A in · B · IT1 mod N + kN所給定的剩餘演算, 包含有t=(Ain. B + M· N)/R所給定的演算處理,及接著給 定 if t ^ R then return t - N else return t,將.t — N或者是t作爲前述A 之演算處理;前述演算手段具 有直列接續的複數的積和演算器,作爲部份積之和而實行 前述演算處理t = (Ain· B + M. N)/R。 6.如申請專利然第5項之資料處理裝置,其中,前 述控制手段係使用前述直列接續之積和演算器而選擇地實 行乘數與被乘數係多倍長度之乘法運算。 7 .如申請專利然第4項之資料處理裝置,其中,前 述演算手段,具有將前述演算式A A in . B · R-1 mod Ν + kN之中的B的值,選擇性的指定爲Ain或是1的 手段。 8 .如申請專利範圍第2項之資料處理裝置,其中, Α μ一 A in · B · R-1 m〇d N + kN所給定的剩餘演算, 包含有t = (Ain· B + M· N)/R所給定的演算處理,及接著給 定 if 1R then returrrt-N else return t’ 將 t — N或者是t作爲前述A 之演算處理;前述演算手段係 藉由η位元的t的溢位(overf low)而檢測出前述之t 2 R __’此外’具備有直列接續的複數的積和演算器而作爲部份 衣紙張尺度通用中國國家標準(CNS ) A4規格(210 X 297公釐) (請先聞讀背面之注意事項再填寫本頁·) 衣. 訂!! -38 - 經濟部中央標準局負工消費合作社印製 A8 B8 C8 ________ D8六、申請專利範圍 積之和而實行前述演算處理t = (Ain . B + M . N)/R,此外, 具有將前述演算式A〇u1;= Ain. B. R-1 mod N + kN之中 的B的值’選擇性的指定爲Ain或是1的手段。 9".如申請專利然第8項之資料處理裝置,其中,前 述控制手段’係使用前述直列接續之積和演算器而選擇地 實行乘數與被乘數係多倍長度之乘法運算。. I 〇 . —種微電腦,係將申請專利範圍第9項之資料 處理裝置’即將此資料處理裝置作爲共同處理器利用之微 處理器包含於.1個半導體積板,前述微處理器,係對於前 述資料處理裝置設定前述演算式A〇ut= Ain.B.IT1 mod N + kN所必要的輸入值指示對應的演算處理,·而利用 該演算結果。 II .如申請專利範圍第1〇項之微電腦,其中,於 前述微處理器具有保存供實行冪函數剩餘演算用的動作程 式之 ROM,前述演算 Aout= Ain. B. R-1 mod N + kN 係包含於前述冪函數剩餘演算。 12 .如申請專利範圍第1 1項之微電腦,其中,進 而具備有將冪函數剩餘演算的對象之資料可以電氣改寫地 保存之非易失性記憶體。 1 3 種資料處理裝置,係將演算結果A作爲 下一個演算的輸入值Ain,實行演算式AQUt = f(Ain)所 給定之演算的資料處理裝置,係包含有: 可以分別記憶A in與A的內容之記億手段,及 __對於該記憶手段指示A 與A 的記憶場所的相互 表尺度適用t國國家標準(CNS ) A4規格(210X297公釐) ~ (請先閲讀背面之注意事項再填寫本頁) 訂----Γ -39 - A8 B8 C8 ___ D8 六、申請專利範圍 交換的旗標手段,及 於前述計算式的演算實行結束後藉由將前述旗標手段 的值反轉而取代使A in與A 的值的物理上的交換,而 使A in與A的記億場所在邏輯上交換的控制手段等而 構成。. 1 4 .—種資料處理裝置,係將當η爲代表演算值的 位元數之正整數,Ν爲〇 <Ν < 2°的1·!位元的正整數, Ain爲〇 SAin< 2η的η位元的正整數,Aoui:爲〇 S •Aout< 2n的η位元的正整數,k爲〇或是正整數時,演 算式爲'A〇u;t = f(Ain) mod N + kN,進行輸入值A.in與輸出 值A的值的範圍在N以上不滿2 n的剩餘演算之演算手 段,以及藉由此演算手段而控制前述剩餘演算之控剌手段 製作於1個半導體基板上; 前述「A〇ut = f(Ain) mod N + kN」的剩餘演算,包含 AQUi: = Ain · B · mod N + kN的演算式所給定的剩餘演 經濟部中央標準局員工消費合作杜印製 算’其中,R爲2 n,R -1爲滿足R · R - I mod N =1的0 〈R—1客N之η位元的。正整數,B係〇SB<2n2n位 元的正整數; 請專利範圍第
    前述演算手段,係具備有供實行演算式Ae3ui; = Ain · B • IT1 mod N +kN所給定的剩餘演算用的,直列式接續的 積和演算器。 之資料慮理裝 (請先閲讀背面之注意事項再填寫本頁) 1 5 .如申 置,其中,前述演算式A〇ut = Ain. B. IT1 mod N +kN所 給定的剩餘演算中,包含t=(Ain· B + M. N)/R所給定的演 I紙張尺度適用中國國家標準(CNS ) A4規格(210X29.7公釐) -40 - A8 B8 C8 D8 六、申請專利範圍 算處理,及接著給定 if R then return t-N else return 1;,及將t —.N或者是t作爲前述A 之演算處 理;前述演算手段,藉由直列接續的前述積和演‘算器,實 行前述演算處理t=(Ain · B + M · N)/R作爲部分積之和。 g‘lle-. (請先閲讀背面之注意事項再填寫本頁) 訂— 經濟部中央標準局員工消費合作社印製 本紙浪尺度適用中國國家標準(CNS ) A4規格(210X297公釐) -41 -
TW086107636A 1996-06-28 1997-06-03 Data processing unit and microprosessor TW378294B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16932296A JP3615622B2 (ja) 1996-06-28 1996-06-28 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
TW378294B true TW378294B (en) 2000-01-01

Family

ID=15884405

Family Applications (1)

Application Number Title Priority Date Filing Date
TW086107636A TW378294B (en) 1996-06-28 1997-06-03 Data processing unit and microprosessor

Country Status (4)

Country Link
US (1) US5961578A (zh)
JP (1) JP3615622B2 (zh)
KR (1) KR980004018A (zh)
TW (1) TW378294B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5380007A (en) * 1994-01-21 1995-01-10 Travis; Christopher P. Video lottery gaming device
FR2791155B1 (fr) * 1999-03-17 2001-05-11 St Microelectronics Sa Dispositif et procede de mise en oeuvre d'une operation modulaire elementaire selon la methode de montgomery
TW536672B (en) * 2000-01-12 2003-06-11 Hitachi Ltd IC card and microcomputer
US7523151B1 (en) 2000-05-12 2009-04-21 The Athena Group, Inc. Method and apparatus for performing computations using residue arithmetic
TW480436B (en) * 2000-12-21 2002-03-21 Goldkey Technology Corp Modular multiplier and ciphering/deciphering machine using the modular multiplier
US7171510B2 (en) * 2000-12-28 2007-01-30 Intel Corporation On-chip observability buffer to observer bus traffic
JP2002229445A (ja) * 2001-01-30 2002-08-14 Mitsubishi Electric Corp べき乗剰余演算器
JP3950638B2 (ja) * 2001-03-05 2007-08-01 株式会社日立製作所 耐タンパーモジュラ演算処理方法
JP2002358010A (ja) * 2001-05-31 2002-12-13 Mitsubishi Electric Corp べき乗剰余演算器
US6973470B2 (en) 2001-06-13 2005-12-06 Corrent Corporation Circuit and method for performing multiple modulo mathematic operations
JP4360792B2 (ja) * 2002-09-30 2009-11-11 株式会社ルネサステクノロジ べき乗剰余演算器
DE10355642A1 (de) * 2003-11-28 2005-06-23 Giesecke & Devrient Gmbh Erweiterte Montgomery-Multiplikation und Montgomery-Multiplikation mit vergrößerter Operandenlänge
JP4662802B2 (ja) * 2005-03-30 2011-03-30 富士通株式会社 計算方法、計算装置及びコンピュータプログラム
DE102005030286A1 (de) * 2005-06-29 2007-01-04 Giesecke & Devrient Gmbh Verwendung eines Koprozessors zur modularen Inversion
JP4986206B2 (ja) 2006-02-22 2012-07-25 株式会社日立製作所 暗号処理方法及び暗号処理装置
US7755766B1 (en) 2007-03-27 2010-07-13 Itt Manufacturing Enterprises, Inc. Telescope interferometric maintenance evaluation tool
JP2010139544A (ja) * 2008-12-09 2010-06-24 Renesas Electronics Corp 剰余演算装置、及び剰余演算方法
US20110145311A1 (en) * 2009-12-16 2011-06-16 Electronics And Telecommunications Research Institute Method and apparatus for modulo n operation
DE102011100390A1 (de) 2011-05-04 2012-11-08 Giesecke & Devrient Gmbh Beschleunigte kryptographische Berechnung, insbesondere ECC-Berechnung, in Prozessor mit Montgomery-Koprozessor

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69226110T2 (de) * 1991-03-22 1999-02-18 Philips Electronics Nv Recheneinheit zum Multiplizieren langer ganzer Zahlen Modul M und R.S.A-Wandler mit einer derartigen Multiplikationsanordnung
US5724279A (en) * 1995-08-25 1998-03-03 Microsoft Corporation Computer-implemented method and computer for performing modular reduction

Also Published As

Publication number Publication date
JPH1021057A (ja) 1998-01-23
KR980004018A (ko) 1998-03-30
JP3615622B2 (ja) 2005-02-02
US5961578A (en) 1999-10-05

Similar Documents

Publication Publication Date Title
TW378294B (en) Data processing unit and microprosessor
JP2722411B2 (ja) モンゴメリ法によるモジュラリダクションの実施方法
EP1293891B2 (en) Arithmetic processor accomodating different finite field size
KR101202445B1 (ko) 프로세서
JP3467489B2 (ja) Rsa符号化装置
JP3605181B2 (ja) 掛け算累算命令を使用したデータ処理
US5261001A (en) Microcircuit for the implementation of RSA algorithm and ordinary and modular arithmetic, in particular exponentiation, with large operands
US6009450A (en) Finite field inverse circuit
EP1560110A1 (en) Multiple-word multiplication-accumulation circuit and Montgomery modular multiplication-accumulation circuit
JP2002099208A (ja) マルチプレシジョン整数演算の実行方法および装置
EP2140345A1 (en) Multiply and multiply- accumulate unit for signed and unsigned operands
US6917956B2 (en) Apparatus and method for efficient modular exponentiation
JPH08101779A (ja) 有限領域におけるモジュラ計算用の電子回路
US6341299B1 (en) Modular arithmetic coprocessor enabling the performance of non-modular operations at high speed
US5987489A (en) Modular arithmetic coprocessor enabling the performance of non-modular operations at high speed
JP2000503146A (ja) 整数除算回路を有するモジュラ算術演算コプロセッサ
EP1131699A1 (en) A data processing system and method for performing an arithmetic operation on a plurality of signed data values
US5912904A (en) Method for the production of an error correction parameter associated with the implementation of modular operations according to the Montgomery method
JP2654451B2 (ja) データ出力方法
WO2008077803A1 (en) Simd processor with reduction unit
JP3697716B2 (ja) 行列データ乗算装置
JP3723311B2 (ja) 並列演算プロセッサ
Lee Effectiveness of the MAX-2 multimedia extensions for PA-RISC 2.0 processors
WO1999008204A1 (en) Device and method for processing data
Karthikeyan et al. More on arbitrary boundary packed arithmetic

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