TWI403952B - A large integer modulus index chip structure for signature cryptography - Google Patents
A large integer modulus index chip structure for signature cryptography Download PDFInfo
- Publication number
- TWI403952B TWI403952B TW98116100A TW98116100A TWI403952B TW I403952 B TWI403952 B TW I403952B TW 98116100 A TW98116100 A TW 98116100A TW 98116100 A TW98116100 A TW 98116100A TW I403952 B TWI403952 B TW I403952B
- Authority
- TW
- Taiwan
- Prior art keywords
- large integer
- bit
- modulus
- carry
- index
- Prior art date
Links
Landscapes
- Storage Device Security (AREA)
- Semiconductor Integrated Circuits (AREA)
Description
本發明係有關於簽章密碼系統之大整數模指數晶片中硬體實現的技術領域,特別是指利用修正型的模指數運算設計架構技術所實現之RSA、ECC密碼系統與高速保密裝置之整合應用。
現有的簽章密碼系統高速保密器,大都採用美國德州儀器(Texas Instruments)公司的數位處理器元件,來執行高速的RSA、3DES(Triple Data Encryption Standard)、AES(Advanced Encryption Standard)簽章所需的密碼演算法數學運算,雖然此類元件雖擁有獨立的乘法和除法累加數位運算處理器架構,但是若要執行1024-Bit以上的大整數運算時,則需經過百萬次迴圈的重複計算,運算速度會大幅降低,因此若使用者需要運用RSA和ECC執行大批的資料運算時,會更顯得無法提供即時簽章服務,大幅提高使用者的等待時間。
本發明鑑於執行上述高速ECC、RSA等演算法則所必需處理大量的密碼數學運算時間,為改進其速度太慢的缺點,遂提出以修正型模指數演算法為實現硬體設計的基本架構,和大整數乘法器,與大整數模數除法器,以取代傳統的大整數迴圈模數乘法器和除法器的運算動作,來達
到縮減大整數乘法器和大整數除法器計算延遲的時間,與加快保密器的簽章速度。
本發明之目的即在於提出一種可藉由修正型大整數模指數演算法實現之硬體設計技術架構,可以提高RSA、ECC簽章運算速度,特別是在大量資料要做RSA、ECC簽章運算時可以得到較快的執行速度,以提高使用者應用高速保密裝置的效率。
達成上述發明目的之用於簽章密碼系統之大整數模指數晶片結構,係一種運用修正型模指數演算法(Modified Modular Multiplication Algorithm)的設計架構,和使用以32至128個33位元之平行前視進位加法器為運算基礎的可擴展成大整數乘法器,與使用以32至128個33位元之平行前視進位減法器為運算基礎的可擴展成大整數模數除法器,以取代傳統的大整數迴圈模數乘法的運算動作,來達到縮減乘法計算延遲時間的設計架構。此修正型模指數演算法是一種取代每次大整數乘法後在進行模數除法器的動作,來達到減少乘法運算延遲時間與縮減乘法元件的電晶體元件,再利用修改後的平行前視進位加法器與平行前視進位減法器的組合架構,以達到快速運算的目的。簽章密碼系統的修正型模指數設計架構,其功
能包括:(1)提供可擴展成大整數模指數運算長度(512、1024、2048、4096Bits)的設計;(2)提供可擴展成大整數模指數運算長度(512、1024、2048、4096Bits)的指數迴圈之運算架構;(3)提供快速模數乘法和模數除法器的硬體設計架構;(4)提供快速模指數迴圈的硬體設計架構;(5)提供資料輸入與輸出緩衝器介面設計架構。
請參閱圖一所示,為本發明於簽章密碼系統之應用架構圖,使用者可透過主機與簽章密碼系統之Ethernet通訊介面連接,經由簽章密碼系統之控制器2來控制簽章密碼系統之大整數模指數運算晶片1,來產生正確的運算值,再經由控制器2操作Ethernet通訊介面來取回運算結果。
請參閱圖二所示,為本發明之可擴展型大整數乘法器內部架構圖,其組成主要包含可擴展型大整數之密碼資料A輸入單元3、可擴展型大整數之密碼資料B輸入單元4、32至128個33位元平行前視進位加法器之基本模組(無預先進位)5、32至128個33位元平行前視進位加法器之基本模組(有預先進位)6,129位元平行前視進位加法器
之進位判斷檢查器7,及32-bit的暫存器8。其中基本核心加速元件為33位元之平行前視進位加法器,可用參數設定方式將欲執行大整數的模指數乘法規模,以平行向量陣列(Vector Array)組成的方式,擴展成大整數(512、1024、2048、4096Bits)乘法器晶片,在一個時脈週期(Clock Cycle)內,同時作大整數的乘法運算,再將每一個向量陣列的加法器之進位元(Carry bit),當作選擇正確加法後資料處理多工器的路徑,再使用32至128個32-bit的暫存器8組合成正確的結果。
請參閱圖三所示,為本發明之可擴展型大整數模數除法器內部架構圖,其組成主要包含可擴展型大整數之密碼資料A輸入單元(有預先借位輸入)9、可擴展型大整數之密碼資料B輸入單元(無預先借位輸入)10、33位元平行前視進位減法器之基本模組(無預先借位)11、33位元平行前視進位減法器之基本模組(有預先借位)12、129位元平行前視進位加法器之借位判斷檢查器13,及32-bit的暫存器14,用以替代模數除法運算,以平行向量陣列(Vector Array)組成的方式,將33位元平行前視進位減法器之基本核心加速元件,擴展成大整數(512、1024、2048、4096Bits)減法器,以執行的模指數大整數除法,在一個時脈週期(Clock Cycle)內同時作大整數的除法運算,再檢查最大的減法器之進位元(Carry bit)是否被借位,
若無,則停止作大整數的除法運算,若有被借位,則重複執行大整數的除法運算。最後將每一個向量陣列的減法器之進位元被借位的狀況,當作選擇正確資料處理多工器的路徑,再使用32至128個32-bit的暫存器14組合成正確的結果。
請參閱圖四所示,為本發明使用於密碼運算模組元件之修正型模指數演算法硬體執行方塊圖,其中包括:32至128個33位元之平行前視進位乘法器20、32至128個33位元之平行前視進位模數除法器21,及可擴展型大整數乘法迴圈的控制硬體模組(由可擴展型大整數模指數演算法之乘法迴圈的暫存器18,及可擴展型大整數模指數演算法之位元掃描判斷檢查器19組成)。其執行可擴展型大整數模指數演算法(Modified Modular Multiplication Algorithm)之輸入值為A,B及模數N之大整數,條件為,輸出為A×B(mod N),其步驟包含:首先使用者輸入密碼金鑰長度參數(模數N),修正型模指數演算法之乘法迴圈的暫存器18,會自動的設定可擴展型大整數乘法需使用的最大暫存器數目和迴圈的控制數目,並由修正型模指數演算法之位元掃描判斷檢查器19,以執行可擴展型大整數乘法迴圈模組的運算次數,提高模指數運算的效率;接著可擴展型大整數模指數演算法之平行前視進位乘法器20,將輸入值A,B進行乘法演算,其演算是
以圖二之硬體進行,由32至128個33位元平行前視進位加法器之基本模組6,負責執行將每一次位元掃描後所選擇的平行累加運算。本發明可依據參數設定方式,最多可使用128個33-bit的加法器同時,作1024至4096位元的大整數的乘法運算,在一個時脈週期(Clock Cycle)內同時並行作乘積運算,再將每一個向量陣列的平行加法器之進位元(Carry bit),當作正確資料處理單元的多工器選擇路徑,再以參數來輸出相對的32至128個32-bit的暫存器來組合成正確的結果;接著由修正型模指數演算法之平行前視進位模數除法器21進行除法演算,其演算是以圖三之硬體進行,由32至128個33位元之平行前視進位組成的大整數減法器11,負責執行模數除法器的平行累減運算。本發明可依據參數設定使用32至128個33-bit的減法器,同時作1024至4096位元的大整數的模數除法器,在一個時脈週期(Clock Cycle)內同時並行作減法運算,測試每一個向量陣列的平行減法器之進位元(Carry bit)是否被借位,再使用迴圈控制使得最高的暫存器之進位元不被借位,以每一個平行前視進位減法器的進位元當作正確資料處理單元的多工器選擇路徑,再以參數來輸出相對的32至128個32-bit的暫存器來組合成正確的結果。
圖四之輸出結果再由指數R-L二元方法執行控制硬
體模組,根據使用者輸入的密碼指數的每一位元的高低位準電壓,來判斷控制硬體模組是否作密碼原資料,與更新資料的相乘,再取其模數除法器餘數;或原資料的平方乘積後再取其模數除法器餘數。
請參閱圖五所示,為本發明之指數R-L二元方法之硬體執行方塊圖,其執行運算包含:(1)可擴展型大整數模指數運算之明文或密文資料M輸入23,及可擴展型大整數模指數運算之金鑰資料N輸入24,經由可擴展型大整數模指數運算之乘法迴圈的暫存器初始值設定26,模指數運算之乘法迴圈的暫存器初始值設定27,及執行可擴展型大整數模指數運算之乘法迴圈的暫存器資料的平方乘積,再作模數除法運算25;(2)可擴展型大整數模指數運算之加解密金鑰資料E或D輸入28,經由加解密金鑰資料E或D之位元掃描判斷檢查器29,來判斷是否作加密或解密運算;如果使用者輸入的密碼指數「數值E」29的某一位元(e)是高位準電壓,則「數值Ci+1」30必須是兩個數入大整數資料的相乘乘積後再與原「數值Ci」相乘後,再取模數除法器餘數;如果使用者輸入的密碼指數「數值E」的某一位元(e)是低位準電壓,則「數值Ci+1」必須是保持原「數值Ci」。利用「數值E」的某一位元(e)的高低位準電壓,就可以用來判斷控制硬體模組是否需要作2次的密碼數迴圈運算;(3)最後整合(1)及(2)將可擴展
型大整數乘法迴圈的結果輸出31。
綜合上述之具體實施例是用來詳細說明本創作之目的、特徵及功效,根據上述說明,可能對該具體實施例作部份變更及修改,而並不脫離出本創作之精神範疇,所以,本創作之專利範圍是由附加申請專利保護範圍來加以說明。
本創作特點及功效除具有技術內容中所敘述之功能,尚有下列特色:
(1)省電功能。大整數模指數晶片結構不執行時,會自動進入待機模式。
(2)可以將本創作整合設計於的密碼傳輸的數位產品中,以達到節省硬體成本、提高資料傳送速度與運算信號穩定等特性。
1‧‧‧簽章密碼系統之大整數模指數運算晶片
2‧‧‧簽章密碼系統之控制器
3‧‧‧可擴展型大整數之密碼資料A輸入單元(512、1024、2048、4096Bits)
4‧‧‧可擴展型大整數之密碼資料B輸入單元(512、1024、2048、4096Bits)
5‧‧‧33位元之平行前視進位加法器(無預先進位,基本模組)
6‧‧‧33位元之平行前視進位加法器(有預先進位,基本模組)
7‧‧‧129位元之平行前視進位加法器之進位判斷檢查器
8‧‧‧32-bit的暫存器
9‧‧‧可擴展型大整數之密碼資料A輸入單元(有預先借位輸入,512、1024、2048、4096Bits)
10‧‧‧可擴展型大整數之密碼資料B輸入單元(無預先
借位輸入,512、1024、2048、4096Bits)
11‧‧‧33位元之平行前視進位減法器(無預先借位,基本模組)
12‧‧‧33位元之平行前視進位減法器(有預先借位,基本模組)
13‧‧‧129位元之平行前視進位加法器之借位判斷檢查器
14‧‧‧32-bit的暫存器
15‧‧‧修正型模指數演算法之模數N輸入
16,17‧‧‧修正型模指數演算法之乘數與被乘數A,B輸入
18‧‧‧修正型模指數演算法之乘法迴圈的暫存器
19‧‧‧修正型模指數演算法之位元掃描判斷檢查器
20‧‧‧修正型模指數演算法之平行前視進位乘法器
21‧‧‧修正型模指數演算法之平行前視進位模數除法器
22‧‧‧修正型模指數演算法之乘法迴圈的結果輸出
23‧‧‧可擴展型大整數模指數運算之明文或密文資料M輸入(512、1024、2048、4096Bits)
24‧‧‧可擴展型大整數模指數運算之金鑰資料N輸入(512、1024、2048、4096Bits)
25‧‧‧執行可擴展型大整數模指數運算之乘法迴圈的
暫存器資料的平方乘積再作模數除法運算
26,27‧‧‧可擴展型大整數模指數運算之乘法迴圈的暫存器初始值設定
28‧‧‧可擴展型大整數模指數運算之加解密金鑰資料E或D輸入(512、1024、2048、4096Bits)
29‧‧‧加解密金鑰資料E或D之位元掃描判斷檢查器
30‧‧‧執行可擴展型大整數乘法迴圈的暫存器資料的乘積再作模數除法運算(512、1024、2048、4096Bits)
31‧‧‧可擴展型大整數乘法迴圈的結果輸出(512、1024、2048、4096Bits)
請參閱有關本發明之詳細說明及其附圖,將可進一步瞭解本發明之技術內容及其目的功效;有關附圖為:為了使貴審查委員能更進一步了解本發明之特點及技術內容,請參閱以下有關本發明之附圖,然而所附圖式僅提供參考與說明,並非用來對本發明加以限制。有關該實施例之附圖如下:圖一為本發明於簽章密碼系統之應用架構圖;圖二為發明之可擴展型大整數平行前視進位乘法器
內部架構圖;圖三為發明之可擴展型大整數平行前視進位模數除法器內部架構圖;圖四為發明之修正型模指數演算法硬體執行方塊圖;圖五為發明之指數R-L二元方法之硬體執行方塊圖。
1...簽章密碼系統之大整數模指數運算晶片
2...簽章密碼系統之控制器
Claims (6)
- 一種用於簽章密碼系統之大整數模指數晶片結構,係運用於修正型模指數演算法之硬體設計架構,包括:(A)可擴展型大整數之平行前視進位乘法器的硬體模組架構;(B)可擴展型大整數之平行前視進位模數除法器的硬體模組架構;(C)可擴展型大整數乘法迴圈的控制硬體模組架構;(D)指數R-L二元方法硬體執行控制硬體模組。
- 如申請專利範圍第1項所述之用於簽章密碼系統之大整數模指數晶片結構,其中32至128個33位元之平行前視進位加法器為基本運算模組,以平行向量陣列(Vector Array)擴展組成大整數平行前視進位加法器晶片,可在一個時脈週期(Clock Cycle)內同時作大整數的乘法運算,再將每一個向量陣列的加法器之進位元(Carry bit),當作選擇正確加法後資料處理多工器的路徑,供32至128個32-bit的暫存器組合成正確的結果。
- 如申請專利範圍第1項所述之用於簽章密碼系統之大整數模指數晶片結構,其中該可擴展型大整數之平行前視進位除法器的硬體模組架構,主要包含:32至128 個33位元平行前視進位加法器,借位判斷檢查器及32-bit的暫存器。
- 如申請專利範圍第1項所述之用於簽章密碼系統之大整數模指數晶片結構設計架構,其中32至128個33位元之平行前視進位減法器,是以平行向量陣列(Vector Array)組成的減法器,可在一個時脈週期(Clock Cycle)內同時作大整數的除法運算,再檢查最大的減法器之進位元(Carry bit)是否被借位,若無,則停止作大整數的除法運算,若有被借位,則重複執行大整數的除法運算,最後將每一個向量陣列的減法器之進位元被借位的狀況,當作選擇正確資料處理多工器的路徑,供32至128個32-bit的暫存器組合成正確的結果。
- 如申請專利範圍第1項所述之用於簽章密碼系統之大整數模指數晶片結構,其中該可擴展型大整數乘法迴圈的控制硬體模組的硬體模組架構,主要包含:修正型模指數演算法之乘法迴圈的暫存器及修正型模指數演算法之位元掃描判斷檢查器;使用者輸入密碼金鑰長度參數時,可自動的設定可擴展型大整數乘法需使用的最大暫存器數目和迴圈的控制數目,以執行可擴展型大整數乘法迴圈模組的運算次數,提高模指數運算的效率。
- 如申請專利範圍第1項所述之用於簽章密碼系統之大整數模指數晶片結構,其中該指數R-L二元方法執行控制硬體模組,是根據使用者輸入的密碼指數的每一位元的高低位準電壓來判斷控制硬體模組是否作密碼原資料與更新資料的相乘乘積後再取其模數除法器餘數,或原資料的平方乘積後再取其模數除法器餘數。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98116100A TWI403952B (zh) | 2009-05-15 | 2009-05-15 | A large integer modulus index chip structure for signature cryptography |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98116100A TWI403952B (zh) | 2009-05-15 | 2009-05-15 | A large integer modulus index chip structure for signature cryptography |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201040839A TW201040839A (en) | 2010-11-16 |
TWI403952B true TWI403952B (zh) | 2013-08-01 |
Family
ID=44996108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW98116100A TWI403952B (zh) | 2009-05-15 | 2009-05-15 | A large integer modulus index chip structure for signature cryptography |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI403952B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI695315B (zh) * | 2015-05-04 | 2020-06-01 | 南韓商三星電子股份有限公司 | 用於執行除法的設備、方法以及系統單晶片 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000042484A2 (en) * | 1999-01-11 | 2000-07-20 | Fortress U & T Ltd. | Acceleration and security enhancements for elliptic curve and rsa coprocessors |
TW407251B (en) * | 1997-12-10 | 2000-10-01 | Seiko Epson Corp | Data process system, coding/decoding system, system LSI and electronic machine |
US20050256920A1 (en) * | 2004-05-14 | 2005-11-17 | Crispin Thomas A | Microprocessor apparatus and method for modular exponentiation |
TW200842611A (en) * | 2007-04-24 | 2008-11-01 | Chunghwa Telecom Co Ltd | Modular exponentiation silicon intellectual property design architecture for increasing computation speed of cryptosystem |
-
2009
- 2009-05-15 TW TW98116100A patent/TWI403952B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW407251B (en) * | 1997-12-10 | 2000-10-01 | Seiko Epson Corp | Data process system, coding/decoding system, system LSI and electronic machine |
WO2000042484A2 (en) * | 1999-01-11 | 2000-07-20 | Fortress U & T Ltd. | Acceleration and security enhancements for elliptic curve and rsa coprocessors |
US20050256920A1 (en) * | 2004-05-14 | 2005-11-17 | Crispin Thomas A | Microprocessor apparatus and method for modular exponentiation |
TW200842611A (en) * | 2007-04-24 | 2008-11-01 | Chunghwa Telecom Co Ltd | Modular exponentiation silicon intellectual property design architecture for increasing computation speed of cryptosystem |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI695315B (zh) * | 2015-05-04 | 2020-06-01 | 南韓商三星電子股份有限公司 | 用於執行除法的設備、方法以及系統單晶片 |
Also Published As
Publication number | Publication date |
---|---|
TW201040839A (en) | 2010-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Güneysu et al. | Ultra high performance ECC over NIST primes on commercial FPGAs | |
McIvor et al. | Hardware Elliptic Curve Cryptographic Processor Over $ rm GF (p) $ | |
Chung et al. | A high-performance elliptic curve cryptographic processor over GF (p) with SPA resistance | |
Li et al. | High-Performance Pipelined Architecture of Elliptic Curve Scalar Multiplication Over GF (${2}^{m} $) | |
Grossschadl | The Chinese remainder theorem and its application in a high-speed RSA crypto chip | |
CN103793199B (zh) | 一种支持双域的快速rsa密码协处理器 | |
US20120057695A1 (en) | Circuits for modular arithmetic based on the complementation of continued fractions | |
Lee et al. | A 521-bit dual-field elliptic curve cryptographic processor with power analysis resistance | |
Zhao et al. | Ultra high-speed SM2 ASIC implementation | |
Großschädl | A bit-serial unified multiplier architecture for finite fields GF (p) and GF (2 m) | |
CN101212292A (zh) | 一种ecc\rsa加解密协处理器 | |
KR101925868B1 (ko) | 모듈러 계산 유닛 및 그것을 포함하는 보안 시스템 | |
EP1600852A2 (en) | Method and apparatus for calculating a modular inverse | |
JP4351987B2 (ja) | モンゴメリ変換装置、演算装置、icカード、暗号装置、復号装置及びプログラム | |
Elkhatib et al. | Accelerated RISC-V for post-quantum SIKE | |
Choi et al. | ECC coprocessor over a NIST prime field using fast partial Montgomery reduction | |
Xie et al. | A dual-core high-performance processor for elliptic curve cryptography in GF (p) over generic weierstrass curves | |
US7552163B2 (en) | Montgomery modular multiplier and method thereof | |
Großschädl | High-speed RSA hardware based on Barret’s modular reduction method | |
US20040091105A1 (en) | Apparatus for hyperelliptic-curve cryptography processing | |
Hu et al. | Low-power reconfigurable architecture of elliptic curve cryptography for IoT | |
TWI403952B (zh) | A large integer modulus index chip structure for signature cryptography | |
Wu et al. | A high-performance hardware architecture for ECC point multiplication over curve25519 | |
Sun et al. | Design of a scalable RSA and ECC crypto-processor | |
Ghosh et al. | A robust GF (p) parallel arithmetic unit for public key cryptography |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |