TWI731770B - 運算系統 - Google Patents

運算系統 Download PDF

Info

Publication number
TWI731770B
TWI731770B TW109127277A TW109127277A TWI731770B TW I731770 B TWI731770 B TW I731770B TW 109127277 A TW109127277 A TW 109127277A TW 109127277 A TW109127277 A TW 109127277A TW I731770 B TWI731770 B TW I731770B
Authority
TW
Taiwan
Prior art keywords
data
ciphertext
circuit
affine conversion
data defined
Prior art date
Application number
TW109127277A
Other languages
English (en)
Other versions
TW202109334A (zh
Inventor
游鈞元
林文景
吳家徹
Original Assignee
熵碼科技股份有限公司
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 熵碼科技股份有限公司 filed Critical 熵碼科技股份有限公司
Publication of TW202109334A publication Critical patent/TW202109334A/zh
Application granted granted Critical
Publication of TWI731770B publication Critical patent/TWI731770B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Abstract

運算系統包含第一仿射轉換電路、第二仿射轉換電路、運算電路、第三仿射轉換電路及第四仿射轉換電路。第一仿射轉換電路將第一伽羅瓦域的第一輸入資料轉換為共用複合域的第一待運算資料。第二仿射轉換電路將第二伽羅瓦域的第二輸入資料轉換為共用複合域的第二待運算資料。運算電路對第一待運算資料及第二待運算資料進行運算以產生第一中介資料及第二中介資料。第三仿射轉換電路將第一中介資料轉換為第一伽羅瓦域的第一運算後資料。第四仿射轉換電路將第二中介資料轉換為第二伽羅瓦域的第二運算後資料。

Description

運算系統
本發明是有關於一種運算系統,特別是指一種能夠產生不同加密標準的運算系統。
分組加密是一種使用對稱性密文的加密方式,並且可以用來對固定長度的一組位元,亦即對固定大小的區塊,進行加密及解密。由於分組加密可以將內容相似的兩組明文加密成內容差異很大的兩組密文,因此駭客很難以透過觀察兩組相似明文的密文來猜測出金鑰的內容。也因此,分組加密常被用在現今的密碼學中被廣泛運用。
舉例來說,進階加密標準(Advanced Encryption Standard,AES)、SM4及Camellia即為現今常見的分組加密方式。然而,由於不同類型的分組加密所使用的演算法通常會使用到不同的伽羅瓦域(Galois field),因此欲產生不同類型之分組加密的密文時,就需要利用各自專門的硬體來進行運算,造成不同類型之分組加密的硬體難以整合。
本發明的一實施例提供一種運算系統,運算系統包含第一仿射轉換電路、第二仿射轉換電路、運算電路、第三仿射轉換電路及第四仿射轉換電路。
第一仿射轉換電路將定義於第一伽羅瓦域(Galois field)的第一輸入資料轉換為定義於共用複合域的第一待運算資料。第二仿射轉換電路將定義於第二伽羅瓦域的第二輸入資料轉換為定義於共用複合域的第二待運算資料。
運算電路耦接於第一仿射轉換電路及第二仿射轉換電路。運算電路對定義於共用複合域的第一待運算資料進行運算以產生定義於共用複合域之第一中介資料,並對定義於共用複合域的第二待運算資料進行運算以產生定義於共用複合域之第二中介資料。
第三仿射轉換電路耦接於運算電路,第三仿射轉換電路將定義於共用複合域的第一中介資料轉換為定義於第一伽羅瓦域的第一運算後資料。第四仿射轉換電路耦接於運算電路,第四仿射轉換電路將定義於共用複合域的第二中介資料轉換為定義於第二伽羅瓦域的第二運算後資料。
100:運算系統
110、120、130、140:仿射轉換電路
150:運算電路
160、170:密文產生電路
DA1、DA2:輸入資料
DB1、DB2:運算資料
DC1、DC2:中介資料
DD1、DD2:運算後資料
第1圖是本發明一實施例的運算系統的示意圖。
第1圖是本發明一實施例的運算系統100的示意圖。運算系統100可包含仿射轉換電路110、120、130及140及運算電路150。運算電路150可耦接至仿射轉換電路110、120、130及140。在有些實施例中,運算系統100可以用來產生不同加密標準的密文,例如進階加密標準(Advanced Encryption Standard,AES)的密文、SM4加密標準的密文及Camellia加密標準的密文。
在有些實施例中,進階加密標準、SM4加密標準及Camellia加密標準所使用的演算法可能會包含相同的運算。然而,由於不同的加密標準所採用的伽羅瓦域不同,因此可以利用仿射轉換電路110及120將定義於原先之伽羅瓦域 的資料轉換成由另一個共同複合域所定義的資料,而運算電路150則可以在此共同複合域中進行運算。在此情況下,運算電路150就能夠執行不同加密標準所共同包含的相同運算,而仿射轉換電路130及140則可將運算電路150所產生的運算結果轉換回對應的伽羅瓦域。由於在運算系統100中,運算電路150可以執行不同加密標準所需的同類型運算,因此可以減少運算系統100所需的硬體資源,也可以減少運算系統100所需的電路面積。
舉例來說,在第1圖中,運算系統100還可包含密文產生器160及170。密文產生器160可用來產生進階加密標準的密文,而密文產生器170可用來產生SM4加密標準的密文。在此情況下,運算電路150可以用來執行進階加密標準及SM4加密標準在產生密文過程中所需的反向操作(inverse operation)。
在第1圖中,密文產生器160可將欲進行反向操作的資料作為輸入資料DA1傳送至仿射轉換電路110,而仿射轉換電路110則可將原先定義於第一伽羅瓦域的輸入資料DA1轉換成運算電路150所使用之共同複合域的運算資料DB1,使得運算電路150能夠正確地執行反向操作。
在有些實施例中,運算電路150所使用的共同複合域可使用不可約多項式(irreducible polynomials)(1)至(3)來描述。
GF(22)->GF(2):x2+x+1 (1)
GF((22)2)->GF(22):x2+x+φ (2)
GF(((22)2)2)->GF((22)2):x2+x+λ (3)
在不可約多項式(2)中,φ可以為{10}2,而在不可約多項式(3)中,λ可為{1100}4。此外,進階加密標準所使用的第一伽羅瓦域則可由不可約多項式(4)來描述。
GF(28):x8+x4+x3+x+1 (4)
也就是說,輸入資料DA1可以是8位元的資料。在此情況下,仿射轉換電路110所使用的同構映射矩陣(isomorphism matrix)T1可以由式(5)表示,而輸入資料DA1及運算資料DB1之間的轉換則可利用式(6)來進行。
Figure 109127277-A0305-02-0006-1
Figure 109127277-A0305-02-0006-2
在式(6)中,輸入資料DA1的8個位元x0至x7可以表示為向量,而輸入資料DA1及運算資料DB1之間的轉換則可以由矩陣乘法來進行。在轉換完畢後,運算電路150便可在共同複合域中,對運算資料DB1進行反向操作,並產生定義於共同複合域中的中介資料DC1。
接著,在第1圖中,仿射轉換電路130可將中介資料DC1轉換至定義於第一伽羅瓦域的運算後資料DD1,使得密文產生器160能夠繼續利用運算後資 料DD1完成進階加密標準所需的後續運算並產生密文。
在有些實施例中,仿射轉換電路130可以使用式(7)的同構映射矩陣T2來將共同複合域的中介資料DC1轉換為第一伽羅瓦域的運算號資料DD1。
Figure 109127277-A0305-02-0007-3
在有些實施例中,在產生SM4的密文時,密文產生器170可將欲進行反向操作的資料作為輸入資料DA2傳送至仿射轉換電路120,而仿射轉換電路120則可將原先定義於第二伽羅瓦域的輸入資料DA2轉換成運算電路150所使用之共同複合域的運算資料DB2,使得運算電路150能夠正確地執行反向操作。
在有些實施例中,SM4加密標準所使用的第二伽羅瓦域則可由不可約多項式(8)來描述。
GF(28):x8+x7+x6+x5+x4+x2+1 (8)
也就是說,輸入資料DA2可以是8位元的資料。在此情況下,仿射轉換電路120所使用的同構映射矩陣T3可以由式(9)表示。
Figure 109127277-A0305-02-0007-5
在此情況下,仿射轉換電路120可以對同構映射矩陣T3及輸入資料D2執行矩陣乘法以產生運算資料DB2。由於運算資料DB2是定義應於共同複合域中,因此運算電路150可以對運算資料DB2進行反向操作,並產生同樣定義於共同複合域的中介資料DC2。
接著,在第1圖中,仿射轉換電路140可將中介資料DC2轉換至定義於第二伽羅瓦域的運算後資料DD2,使得密文產生器170能夠繼續利用運算後資料DD2完成SM4加密標準所需的後續運算並產生密文。
在有些實施例中,仿射轉換電路140可以使用式(10)的同構映射矩陣T4來將共同複合域的中介資料DC2轉換為第二伽羅瓦域的運算號資料DD2。
Figure 109127277-A0305-02-0008-6
也就是說,透過將資料自不同的伽羅瓦域轉換到相同的共同複合域,就可以利用相同的運算電路來處理不同加密標準所需的相同運算。
此外,在第1圖中,密文產生器160可以用來產生進階加密標準的密文,而密文產生器170則可以用來產生SM4加密標準的密文。然而,在有些其他實施例中,密文產生器160及170也可以用其他類型的密文產生器來取代以產生所需的密文,例如Camellia加密標準的密文。在此情況下,由於產生Camellia加密標準的密文也需要反向操作,因此若是仿射轉換電路110及130能夠將資料在共同複合域及Camellia加密標準所要求的伽羅瓦域之間進行轉換,就可以同樣利用運算電路150來執行反向操作。
再者,在有些實施例中,運算系統100還可包含更多的密文產生器以產生其他類型的密文,例如Camellia加密標準的密文。在此情況下,還可以使運算系統100包含對應的仿射轉換電路,使得將資料能夠在對應的伽羅瓦域及運算電路150所使用的共同複合域之間轉換。如此一來,產生不同密文時所需的相同運算就可以共同交由運算電路150來執行,進而提升硬體使用效率。
此外,在有些實施例中,由於運算電路150的運算複雜度會與所使用的與伽羅瓦域有關,因此透過適當地選擇共同複合域,就能夠簡化運算,進而提升運算效率及/或節省電力。
綜上所述,本發明的實施例所提供的運算系統可以利用仿射轉換電路將資料在不同伽羅瓦域及共同複合域之間轉換,因此可以利用相同的運算電路來處理不同類型的密文所需的相同運算。如此一來,就可以簡化運算系統,進而提升運算效率及/或節省電力。以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100:運算系統
110、120、130、140:仿射轉換電路
150:運算電路
160、170:密文產生電路
DA1、DA2:輸入資料
DB1、DB2:運算資料
DC1、DC2:中介資料
DD1、DD2:運算後資料

Claims (3)

  1. 一種運算系統,包含:一第一仿射轉換電路,用以將定義於一第一伽羅瓦域(Galois field)的一第一輸入資料轉換為定義於一共用複合域的一第一待運算資料;一第二仿射轉換電路,用以將定義於一第二伽羅瓦域的一第二輸入資料轉換為定義於該共用複合域的一第二待運算資料;一運算電路,耦接於該第一仿射轉換電路及該第二仿射轉換電路,用以對定義於該共用複合域的該第一待運算資料進行一運算以產生定義於該共用複合域之一第一中介資料,及對定義於該共用複合域的該第二待運算資料進行該運算以產生定義於該共用複合域之一第二中介資料;一第三仿射轉換電路,耦接於該運算電路,用以將定義於該共用複合域的該第一中介資料轉換為定義於該第一伽羅瓦域的一第一運算後資料;及一第四仿射轉換電路,耦接於該運算電路,用以將定義於該共用複合域的該第二中介資料轉換為定義於該第二伽羅瓦域的一第二運算後資料。
  2. 如請求項1所述之運算系統,其中該運算系統係用以根據該第一運算後資料及該第二運算後資料產生一進階加密標準(Advanced Encryption Standard,AES)密文、一SM4加密標準之密文及一Camellia加密標準之密文中的二者。
  3. 如請求項2所述之運算系統,其中該運算電路所執行的該運算是在產生該進階加密標準(Advanced Encryption Standard,AES)密文、該SM4加密標準之密文及該Camellia加密標準之密文時所需的一反向(inverse)操作。
TW109127277A 2019-08-16 2020-08-12 運算系統 TWI731770B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962887679P 2019-08-16 2019-08-16
US62/887,679 2019-08-16

Publications (2)

Publication Number Publication Date
TW202109334A TW202109334A (zh) 2021-03-01
TWI731770B true TWI731770B (zh) 2021-06-21

Family

ID=74566799

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109127277A TWI731770B (zh) 2019-08-16 2020-08-12 運算系統

Country Status (2)

Country Link
US (1) US20210050991A1 (zh)
TW (1) TWI731770B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11632231B2 (en) * 2020-03-05 2023-04-18 Novatek Microelectronics Corp. Substitute box, substitute method and apparatus thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758591A (zh) * 2004-01-19 2006-04-12 三星电子株式会社 在加密系统中处理已屏蔽数据的方法、电路和程序产品
CN102185692A (zh) * 2011-04-25 2011-09-14 北京航空航天大学 基于aes加密算法的多模式可重构加密方法
CN103634101A (zh) * 2013-12-03 2014-03-12 中国电子器材总公司 加密处理方法及设备
CN104639314A (zh) * 2014-12-31 2015-05-20 深圳先进技术研究院 基于aes加密/解密算法的装置和流水控制方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102446866B1 (ko) * 2014-08-28 2022-09-23 삼성전자주식회사 부채널 공격을 방지하는 암복호화기 및 이의 구동 방법 그리고 이를 포함하는 제어 장치
US10797858B2 (en) * 2018-02-02 2020-10-06 Intel Corporation Unified hardware accelerator for symmetric-key ciphers
GB2574261B (en) * 2018-06-01 2020-06-03 Advanced Risc Mach Ltd Efficient unified hardware implementation of multiple ciphers
US20190044699A1 (en) * 2018-06-28 2019-02-07 Intel Corporation Reconfigurable galois field sbox unit for camellia, aes, and sm4 hardware accelerator

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758591A (zh) * 2004-01-19 2006-04-12 三星电子株式会社 在加密系统中处理已屏蔽数据的方法、电路和程序产品
CN102185692A (zh) * 2011-04-25 2011-09-14 北京航空航天大学 基于aes加密算法的多模式可重构加密方法
CN103634101A (zh) * 2013-12-03 2014-03-12 中国电子器材总公司 加密处理方法及设备
CN104639314A (zh) * 2014-12-31 2015-05-20 深圳先进技术研究院 基于aes加密/解密算法的装置和流水控制方法

Also Published As

Publication number Publication date
US20210050991A1 (en) 2021-02-18
TW202109334A (zh) 2021-03-01

Similar Documents

Publication Publication Date Title
JP6083234B2 (ja) 暗号処理装置
US7978851B2 (en) Keystream encryption device, method, and program
US7532721B2 (en) Implementation of a switch-box using a subfield method
Chatterjee et al. Accelerating sorting of fully homomorphic encrypted data
GB2549981A (en) A public key cryptosystem based on the partitioning of elements of vectors
EP2920908A2 (en) Method for secure substring search
KR20180013064A (ko) 근사 복소수 연산을 지원하는 복수 개의 메시지의 동형 암호화 방법
JP2005215688A (ja) S−box演算を用いるハードウェア暗号化/復号化装置及び、その方法
US20140233728A1 (en) Method for secure symbol comparison
Ragab et al. Design, analysis, and implementation of a new lightweight block cipher for protecting IoT smart devices
Rajasekar et al. Design and implementation of power and area optimized AES architecture on FPGA for IoT application
Shantha et al. Analysis and implementation of ECC algorithm in lightweight device
CN111712816B (zh) 使用密码蒙蔽以用于高效地使用蒙哥马利乘法
TWI731770B (zh) 運算系統
JP5202350B2 (ja) 暗号処理装置及び暗号処理方法及び暗号処理プログラム
US7319750B1 (en) Digital circuit apparatus and method for accelerating preliminary operations for cryptographic processing
Thangarajan et al. High speed and low power implementation of AES for wireless sensor networks
Zalekian et al. Efficient implementation of NTRU cryptography using residue number system
CN112350827B (zh) 一种基于Koblitz曲线的加速标量乘计算的椭圆曲线加解密方法和系统
JPH10340048A (ja) ハッシュ値生成方法、データ暗号化方法、データ復号化方法、ハッシュ値生成装置、データ暗号化装置およびデータ復号化装置
JP2018092010A (ja) 暗号化装置と暗号化方法、暗号化プログラム及び鍵生成装置と鍵生成方法、鍵生成プログラム
Tamilselvi et al. A novel based mix-column architecture for AES-128 bit algorithm
JP5103407B2 (ja) 暗号化数値二進変換システム、暗号化数値二進変換方法、暗号化数値二進変換プログラム
JP2021071570A (ja) 情報処理装置、情報処理方法及びプログラム
JP2004004784A (ja) ハッシュ・アルゴリズムを実装するためのシステム及び方法