TWI447683B - Information processing device - Google Patents

Information processing device Download PDF

Info

Publication number
TWI447683B
TWI447683B TW099130537A TW99130537A TWI447683B TW I447683 B TWI447683 B TW I447683B TW 099130537 A TW099130537 A TW 099130537A TW 99130537 A TW99130537 A TW 99130537A TW I447683 B TWI447683 B TW I447683B
Authority
TW
Taiwan
Prior art keywords
box
data
encryption
boxes
round
Prior art date
Application number
TW099130537A
Other languages
English (en)
Other versions
TW201044334A (en
Inventor
Taizo Shirai
Kyoji Shibutani
Toru Akishita
Shiho Moriai
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of TW201044334A publication Critical patent/TW201044334A/zh
Application granted granted Critical
Publication of TWI447683B publication Critical patent/TWI447683B/zh

Links

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/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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
    • H04L2209/122Hardware reduction or efficient architectures
    • 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
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Facsimile Transmission Control (AREA)
  • Computing Systems (AREA)

Description

資訊處理裝置
本發明係關於一種加密處理裝置、加密處理方法以及電腦程式。更詳細而言,本發明係關於一種執行公用密鑰區塊加密處理之加密處理裝置、加密處理方法以及電腦程式。
近來,隨著網路通訊、電子商務之發展,確保通訊中之安全成為重要問題。確保安全之方法之一係加密技術,目前,各種加密方法之通信已在實際應用中。
目前如下系統已得到實際應用:例如於IC(Integrated Circuit,積體電路)卡等小型裝置中裝入加密處理模組,於IC卡與作為資料讀取寫入裝置之讀寫器之間進行資料發送或接收,並進行認證處理,或者對發送或接收的資料進行加密、解碼。
加密處理演算法具有各種方式,若對其進行大體分類,則可分成將加密密鑰與解碼密鑰設定為不同密鑰例如公鑰與私鑰之公鑰加密方式、以及將加密密鑰與解碼密鑰設定為公用密鑰之公用密鑰加密方式。
公用密鑰加密方式中亦有各種演算法,其中一種演算法係基於公用密鑰而生成複數個密鑰,再使用所生成之複數個密鑰反覆執行區塊單位(64位元、128位元等)之資料轉換處理之方式。應用上述密鑰生成方式與資料轉換處理之代表性的演算法係公用密鑰區塊加密方式。
作為代表性的公用密鑰區塊加密演算法,已知悉有例如過去的美國標準加密之DES(Data Encryption Standard,資料加密標準)演算法、以及目前之美國標準加密之AES(Advanced Encryption Standard,高級加密標準)演算法等。
上述公用密鑰區塊加密演算法主要包括:加密處理部,其具有反覆執行輸入資料之轉換的回合函數(round function)執行部;以及密鑰排程部,其生成應用於回合函數部之各回合中之回合密鑰。密鑰排程部根據作為私鑰之總密鑰(主密鑰),首先生成已增加位元數之放大密鑰,繼而根據所生成之放大密鑰,生成應用於加密處理部之各回合函數部中之回合密鑰(副密鑰)。
作為執行上述演算法之具體構造,已知悉有反覆執行具有線性轉換部及非線性轉換部之回合函數之構造。例如代表性的構造有Feistel構造。Feistel構造具有藉由簡單重複作為資料轉換函數之回合函數(F函數),而將明文轉換為密文之構造。於回合函數(F函數)中,執行線性轉換處理及非線性轉換處理。再者,作為揭示有應用Feistel構造之加密處理之文獻,例如有非專利文獻1、非專利文獻2。
然而,該公用密鑰區塊加密處理之問題在於因加密分析而引起之密鑰洩漏。藉由加密分析之密鑰分析較容易,其會導致上述加密處理之安全性較低,因而在實際應用方面會成為較大問題。
[非專利文獻1] K. Nyberg,"Generalized Feistel networks",ASIACRYPT' 96,SpringerVerlag,1996,pp. 91-104。
[非專利文獻2] Yuliang Zheng,Tsutomu Matsumoto,Hideki Imai: On the Construction of Block Ciphers Provably Secure and Not Relying on Any Unproved Hypotheses. CRYPTO 1989: 461-480。
本發明係鑒於上述問題而完成者,其目的在於提供一種加密處理裝置、加密處理方法以及電腦程式,其可實現能夠提高加密分析之難度且安全性較高之公用密鑰區塊加密演算法。
本發明之第1方面係一種加密處理裝置,其特徵在於:其係執行公用密鑰區塊加密處理者;包括加密處理部,其係進行重複複數回合之回合函數之資料轉換處理;上述加密處理部之構成如下:於各回合之回合函數執行處理中進行應用S盒(substitution box,位元替換表)之非線性轉換處理,且進行利用至少兩種以上之複數個不同的S盒作為應用於非線性轉換處理之S盒之處理。
進而,於本發明之加密處理裝置之一實施態樣之特徵在於:上述加密處理部執行應用將資料序列數(分割數)設為2之Feistel構造、或者將資料序列數(分割數)設為2以上之擴展Feistel構造的加密處理,且進行應用F函數之加密處理,該F函數係將作為回合函數執行部之F函數中的非線性轉換處理設定作為執行不同非線性轉換處理的不同S盒者,該回合函數執行部係輸入資料之序列與輸出資料之序列相同、且位於上下相鄰位置者。
進而,本發明之加密處理裝置之一實施態樣之特徵在於:上述作為回合函數執行部之各F函數具有執行將處理對象資料進行分割後之各分割資料的非線性轉換處理的複數個S盒,該複數個S盒包括至少兩種以上之不同的S盒。
進而,本發明之加密處理裝置之一實施態樣之特徵在於:上述作為回合函數執行部之各F函數具有執行將處理對象資料分割後之各分割資料的非線性轉換處理的複數個S盒,於各分割資料單位中,將作為回合函數執行部之F函數中的非線性轉換處理設定作為執行不同非線性轉換處理的不同S輸入盒,該回合函數執行部係資料之序列與輸出資料之序列相同、且位於上下相鄰位置者。
進而,本發明之加密處理裝置之一實施態樣之特徵在於:上述作為回合函數執行部之各F函數中所包含之S盒的種類及各S盒的數量於各F函數中係相同設定。
進而,本發明之加密處理裝置之一實施態樣之特徵在於:上述加密處理部之構成如下:作為應用於上述非線性轉換處理之具有不同s位元之輸入輸出的S盒,利用下述(1)~(3)之3類型S盒中至少2個以上之不同類型之S盒:
(1)類型1:利用擴展體GF(2s )上之反映射:Y=X-1 或乘冪函數Y=Xp 之S盒;
(2)類型2:組合複數個t-bit之較小S盒而製成之S盒,其中t<s;
(3)類型3:隨機選擇之S盒。
進而,本發明之加密處理裝置之一實施態樣之特徵在於:上述加密處理部具有下述(a)~(d)中之任一構成:
(a)將應用於執行上述回合函數之S盒的一部分設為類型1之S盒,將其他部分設為類型2之S盒之構成;
(b)將應用於執行上述回合函數之S盒的一部分設為類型1之S盒,將其他部分設為類型3之S盒之構成;
(c)將應用於執行上述回合函數之S盒的一部分設為類型2之S盒,將其他部分設為類型3之S盒之構成;
(d)將應用於執行上述回合函數之S盒的一部分設為類型1之S盒,將另一部分設為類型2之S盒,將其他部分設為類型3之S盒之構成。
進而,本發明之加密處理裝置之一實施態樣之特徵在於:上述加密處理部之構成如下:於回合函數執行部內,具有執行將處理對象資料分割後之各分割資料之非線性轉換處理的複數個S盒,且執行於1個回合中使用1種類型之S盒,以回合單位使用不同類型之S盒之處理。
進而,本發明之加密處理裝置之一實施態樣之特徵在於:上述加密處理部之構成如下:於回合函數執行部內,具有執行將處理對象資料分割後之各分割資料之非線性轉換處理的複數個S盒,且於1個回合中利用複數個類型之S盒。
進而,本發明之加密處理裝置之一實施態樣之特徵在於:上述各回合函數執行部中所包含之S盒之種類及各S盒之數量於各F函數中為相同設定。
進而,本發明之加密處理裝置之一實施態樣之特徵在於:上述加密處理部根據公用密鑰加密方式執行加密處理。
進而,本發明之加密處理裝置之一實施態樣之特徵在於:上述加密處理部根據公用密鑰區塊加密方式執行加密處理。
進而,本發明之第2方面係一種加密處理方法,其特徵在於:其係於加密處理裝置中執行公用密鑰區塊加密處理者;具有於加密處理部中進行重複複數回合之回合函數之資料轉換處理之加密處理步驟;上述加密處理步驟係進行於各回合中之回合函數執行處理中,進行應用S盒之非線性轉換處理,且利用至少兩種以上之複數個不同的S盒作為應用於該非線性轉換處理之S盒的處理之步驟。
進而,本發明之加密處理方法之一實施態樣之特徵在於:上述加密處理步驟係根據公用密鑰加密方式或公用密鑰區塊加密方式執行加密處理。
進而,本發明之第3方面係一種電腦程式,其特徵在於:其係於加密處理裝置中使公用密鑰區塊加密處理執行者;具有於加密處理部中使重複複數回合之回合函數之資料轉換處理進行之加密處理步驟;上述加密處理步驟係進行於各回合中之回合函數執行處理中,施行應用S盒之非線性轉換處理,且利用至少兩種以上之複數個不同的S盒作為應用於該非線性轉換處理之S盒的處理之步驟。
進而,本發明之電腦程式之一實施態樣之特徵在於:於上述加密處理步驟係根據公用密鑰加密方式或公用密鑰區塊加密方式使加密處理執行之步驟。
再者,本發明之電腦程式係例如對於可執行各種程式碼之電腦系統可藉由以電腦可讀形式所提供之記憶媒體、通訊媒體,例如CD或FD、MO等記錄媒體、網路等通訊媒體提供之電腦程式。藉由以電腦可讀之形式提供此種程式,而可於電腦系統上實現與程式相對應之處理。
本發明之另外其他之目的、特徵及優點藉由基於下述本發明之實施例及隨附圖式之更詳細的說明當可明確。再者,本說明書中,所謂系統係指複數個裝置之邏輯性集合構成,並不限於各構成之裝置位於同一殼體內者。
根據本發明之一實施例之構成,於執行公用密鑰區塊加密處理之加密處理裝置中,形成將至少兩種以上的複數個不同的S盒利用於作為設定於回合函數執行部中之作為非線性轉換處理部之S盒之構成。根據本構成,可提高對於飽和攻擊之耐受性。又,根據混合存在不同類型之S盒作為S盒之類型之本發明之一實施例的構成,可提高對於代數攻擊(XSL攻擊)之耐受性且實現安全性較高之加密處理裝置。
以下,就本發明之加密處理裝置、加密處理方法以及電腦程式之詳情加以說明。按照以下各項來進行說明。
1.公用密鑰區塊加密之概要
2.藉由配置複數個不同的S盒來提高抵禦能力之構成
(2A)藉由在使用有S盒之Feistel或擴展Feistel型加密中配置兩種以上之不同的S盒來提高抵禦飽和攻擊之能力的構成
(2B)藉由在使用有S盒之區塊加密中混合存在兩種以上之不同的S盒來提高抵禦代數攻擊(XSL攻擊)之能力的構成
(2C)於使用有S盒之Feistel加密或擴展Feistel型加密中同時實現上述(2A)、(2B)之構成
3.加密處理裝置之構成例
[1. 公用密鑰區塊加密之概要]
首先,說明可應用於本發明之公用密鑰區塊加密之概要。本說明書中,公用密鑰區塊加密(以下稱為區塊加密)係指定義為以下內容者。
區塊加密係輸入明文P及密鑰K,而輸出密文C。將明文及密文之位元長度稱為區塊大小,此處用n表示。n可取任意整數值,但是通常於每個區塊加密演算法中,預先規定有1個值。區塊長度為n之區塊加密亦被稱為n位元區塊加密。
密鑰之位元長度用k表示。密鑰可取任意整數值。公用密鑰區塊加密演算法對應於1個或者複數個密鑰大小。例如,某一區塊加密演算法A之區塊大小n=128,其亦對應於位元長度k=128、k=192或k=256之各種密鑰大小。
明文[P]、密文[C]、密鑰[K]之各位元大小如下所示。
明文P:n位元
密文C:n位元
密鑰K:k位元
圖1係表示與k位元之密鑰長度對應之n位元公用密鑰區塊加密演算法E的圖。如圖1所示,公用密鑰區塊加密處理部E10輸入n位元之明文P以及k位元之密鑰K,執行預先規定之加密演算法,輸出n位元之密文C。再者,圖1僅表示有自明文生成密文之加密處理。自密文生成明文之解碼處理一般係使用E10之反函數。但是,在有的加密處理部E10之構造中,於解碼處理時亦可應用相同之公用密鑰區塊加密處理部E10,且可藉由變更密鑰之輸入順序等序列來進行解碼處理。
參照圖2,說明圖1所示之公用密鑰區塊加密處理部E10之內部構成。區塊加密可分成兩部分來考慮。其一為密鑰排程部11,以及加密處理部12,上述密鑰排程部11輸入密鑰K,藉由某已規定之步驟而放大輸入密鑰K之位元長度後輸出放大密鑰K'(位元長度k'),上述加密處理部12接收自明文P及密鑰排程部11輸入之放大密鑰K',輸入明文P,執行應用有放大密鑰K'之加密處理,其執行用以生成密文C之資料轉換。再者,如上所述,藉由加密處理部12之構造,有時亦可將加密處理部12應用於使密文返回至明文之資料解碼處理。
其次,參照圖3,說明圖2所示之加密處理部12之詳細構成。如圖3所示,加密處理部12具有反覆執行應用有回合函數執行部20之資料轉換之構成。亦即,加密處理部12可分割成所謂回合函數執行部20之處理單位。回合函數執行部20接收2個資料、即前段之回合函數執行部之輸出Xi 以及根據放大密鑰所生成之回合密鑰PKi 作為輸入資料,於內部執行資料轉換處理,而將輸出資料Xi+1 輸出至下一回合函數執行部。再者,於第1回合中,輸入資料係明文或對明文之初始化處理資料。又,最終回合之輸出為密文。
於圖3所示之例中,加密處理部12形成有具有r個回合函數執行部20,且重複r次回合函數執行部中之資料轉換而生成密文之構成。將回合函數之重複次數稱為回合數。如圖所示之例中,回合數為r。
各回合函數執行部之輸入資料Xi 係加密過程中之n位元資料,某一回合中之回合函數之輸出資料Xi+1 作為下一回合的輸入資料而供給。各回合函數執行部之另一輸入資料係使用基於自密鑰排程輸出之放大密鑰的K'的資料。將輸入至該各回合函數執行部且應用於回合函數之執行之密鑰稱為回合密鑰。圖中,將應用於i回合之回合密鑰表示為RKi 。放大密鑰K'例如構成為r回合之回合密鑰RK1 ~RKr 之連接資料。
圖3所示之構成係,自加密處理部12之輸入側觀察,將第1回合之輸入資料表示為X0 ,將自第i個回合函數輸出之資料表示為Xi ,將回合密鑰表示為RKi 之加密處理部12之構成。再者,於有的該加密處理部12之構造中,例如,可藉由將所應用之回合密鑰之應用序列設定為與加密處理相反,將密文輸入至加密處理部12,來輸出明文。
圖3所示之加密處理部12之回合函數執行部20可採用各種形態。回合函數可根據該加密演算法所採用之構造(structure)而分類。代表性的構造有:
(a) SPN(Substitution Permutation Network,置換組合網路)構造;
(b) Feistel構造;
(c) 擴展Feistel構造。
以下,參照圖4~圖6,就上述各具體構成加以說明。
(a) SPN構造回合函數
首先,參照圖4,說明作為回合函數執行部20之一構成例之SPN構造回合函數。SPN構造回合函數執行部20a具有連接非線性轉換層(S層)與線性轉換層(P層)之所謂SP型構成。如圖4所示,包括:互斥或運算部21,其對所有n位元之輸入資料執行與回合密鑰之互斥或(EXOR)運算;非線性轉換處理部22,其輸入互斥或運算部21之運算結果,執行輸入資料之非線性轉換;以及線性轉換處理部23,其輸入非線性轉換處理部22中之非線性轉換處理結果,執行對輸入資料之線性轉換處理。將線性轉換處理部23之線性轉換處理結果輸出至下一回合。於最終回合中形成為密文。再者,於圖4所示之例中,表示有互斥或運算部21、非線性轉換處理部22以及線性轉換處理部23之處理順序,但該等處理部之順序並未受限定,而亦可形成以其他序列進行處理之構成。
(b) Feistel構造
其次,參照圖5,說明作為回合函數執行部20之一構成例之Feistel(費斯特)構造。如圖5所示,Feistel構造將作為來自上一回合之輸入資料(第1回合中之輸入文)之n位元的輸入資料分割為n/2位元的2個資料,一面於各回合中進行更換,一面執行處理。
於應用有具有Feistel構造之回合函數執行部20b之處理中,如圖所示,將其中一個n/2位元資料與回合密鑰輸入至F函數部30。F函數部30與上述SPN構造相同,具有連接非線性轉換層(S層)與線性轉換層(P層)之所謂SP型構成。
將來自上一回合之n/2位元資料與回合密鑰輸入至F函數部30之互斥或運算部31,進行互斥或(EXOR)處理。進而,將該結果資料輸入至非線性轉換處理部32,執行非線性轉換,進而,將該非線性轉換結果輸入至線性轉換處理部33,執行線性轉換。該線性轉換結果作為F函數處理結果資料而輸出。
進而,將該F函數輸出資料、以及自上一回合所輸入之另一n/2位元輸入資料輸入至互斥或運算部34,執行互斥或運算(EXOR),且將執行結果設定為下一回合中之F函數之輸入資料。再者,將如圖所示之第i回合中之F函數輸入資料中所設定的n/2位元應用於與下一回合的F函數輸出的互斥或運算。如上所述,Feistel構造一面於各回合中交替更換輸入資料,一面執行應用有F函數之資料轉換處理。
(c) 擴展Feistel構造
其次,參照圖6,說明作為回合函數執行部20之一構成例之擴展Feistel構造。首先,參照圖5所說明之Feistel構造將n位元之明文分割成2個,劃分成每個各n/2位元來執行處理。亦即,進行設分割數d=2之處理。再者,該分割數亦稱為資料序列數。
於擴展Feistel構造中,將該資料序列數(分割數)d設定為2以上之任意整數。可以定義對應於資料序列數(分割數)d之值之各種擴展Feistel構造。於圖6所示之例中,資料序列數(分割數)d=4,對各序列輸入n/4位元之資料。於各回合中,執行1個以上之作為回合函數之F函數。如圖所示之例係於1回合中藉由2個F函數部來進行回合運算之構成例。
F函數部41、42之構成與先前參照圖5所說明之F函數部30的構成相同,形成有執行回合密鑰與輸入值之互斥或運算、非線性轉換處理以及線性轉換處理之構成。再者,將輸入至各F函數部之回合密鑰調整成輸入位元與位元數相一致。於如圖所示之例中,輸入至各F函數部41、42中之回合密鑰為n/4位元。該等密鑰係進一步對構成放大密鑰之回合密鑰進行位元分割而生成的。再者,當將資料序列數(分割數)設為d時,輸入至各序列之資料為n/d位元,將輸入至各F函數之密鑰之位元數亦調整為n/d位元。
再者,於圖6所示之擴展Feistel構造中,係將資料序列數(分割數)設為d且於各回合中並列執行d/2之F函數之構成例,但擴展Feistel構造亦可構成為於各回合中執行1個以上d/2以下之F函數。
如參照圖4~圖6所述,公用密鑰區塊加密中之加密處理部12之回合函數執行部20可採用下述各構造:
(a) SPN(Substitution Permutation Network,置換組合網路)構造;
(b) Feistel構造;
(c) 擴展Feistel構造。
該等回合函數執行部均具有連接非線性轉換層(S層)與線性轉換層(P層)之所謂SP型構成。亦即,具有執行非線性轉換處理之非線性轉換處理部、以及執行線性轉換處理之線性轉換處理部。以下,就上述各轉換處理構成進行說明。
(非線性轉換處理部)
參照圖7,說明非線性轉換處理部之具體例。如圖7所示,非線性轉換處理部50具體而言,係排列有m個被稱為S盒(S-box)51之s位元輸入s位元輸出之非線性轉換表者,其將ms位元之輸入資料以s位元為單位進行分割,並分別輸入至所對應之S盒(S-box)51,以進行資料轉換。於各S盒51中,執行例如應用有轉換表之非線性轉換處理。
當所輸入之資料大小增大時,安裝方面之成本將趨於增高。為避免該情形,如圖7所示,多採用將處理對象資料X分割成複數個單位,分別對上述多個單位實施非線性轉換之構成。例如當將輸入大小設為ms位元時,將其分割成每個各s位元之m個資料,並分別對m個S盒(S-box) 51輸入s位元,執行例如應用有轉換表之非線性轉換處理,合成m個上述各S位元輸出資料,而獲得ms位元之非線性轉換結果。
(線性轉換處理部)
參照圖8,說明線性轉換處理部之具體例。線性轉換處理部輸入輸入值,例如將作為來自S盒之輸出資料之ms位元的輸出值作為輸入值X而輸出,對該輸入值實施線性轉換,並輸出ms位元之結果。線性轉換處理中,例如執行輸入位元位置之更換處理等線性轉換處理,輸出ms位元之輸出值Y。線性轉換處理例如對輸入應用線性轉換行列,進行輸入位元位置之更換處理。該行列之一例係圖8所示之線性轉換行列。
線性轉換處理部中所應用之線性轉換行列之要素可構成為擴展體即GF(28 )體之要素或GF(2)之要素等通常應用有各種表達之行列。圖8表示具有ms位元輸入輸出、且藉由GF(2s )上所定義之m×m之行列所定義的線性轉換處理部的1個構成例。
[2. 藉由複數個不同的S盒之配置來提高抵禦能力之構成]
如上所述,公用密鑰區塊加密為藉由重複回合函數來進行加密處理之構成。該公用密鑰區塊加密處理之問題在於因加密分析而引起之密鑰洩漏。藉由加密分析之密鑰分析較容易,其會導致上述加密處理之安全性降低,故而在實際應用方面會成為較大問題。以下,說明藉由配置複數個不同的S盒(S-box)來提高抵禦能力之加密處理構成。
如參照圖7所述,回合函數執行部中所包含之非線性轉換處理部包括執行非線性轉換處理之複數個S盒(S-box)。先前,該等S盒均應用共用之非線性轉換處理用表,且於各S盒中進行共用之非線性轉換處理。
本發明係針對因該S盒之共用性所引起之脆弱性,即,抵禦密鑰分析等加密分析即攻擊之脆弱性,提出藉由配置複數個不同的S盒來提高抵禦能力之構成。
以下,作為本發明之實施例,依次就以下3個實施例進行說明。
(2A)藉由在使用有S盒之Feistel或擴展Feistel型加密中配置兩種以上之不同的S盒來提高抵禦飽和攻擊的能力的構成
(2B)藉由在使用有S盒之區塊加密中混合存在兩種以上之不同S盒來提高抵禦代數攻擊(XSL攻擊)的能力的構成
(2C)於使用有S盒之Feistel加密或擴展Feistel型加密中同時實現上述(2A)、(2B)之構成
(2A)藉由在使用有S盒之Feistel或擴展Feistel型加密中配置兩種以上之不同S盒來提高抵禦飽和攻擊的能力的構成
首先,說明藉由在使用有S盒之Feistel或擴展Feistel型加密中配置兩種以上之不同的S盒來提高抵禦飽和攻擊的能力的構成。
(2A-1. 飽和攻擊之概要)
首先,就最早作為對區塊加密之攻擊而廣為人知之飽和攻擊進行說明。飽和攻擊具有複數個類型。第1類型係利用如下性質之攻擊法:當將256種值一面變化一面輸入至明文之特定位元組位置時,於進行數回合之回合轉換處理之後,在輸出值之特定位元組位置會出現所有的256種值。
又,飽和攻擊之其他形態之攻擊係利用如下性質之攻擊方法:當計算於數回合之回合轉換後之特定位元組位置所出現的值的總和時,必然為0。
例如,依次將如下256種明文P0 ~P255 輸入至執行回合函數之公用密鑰區塊加密處理裝置,
再者,上述表述中,各[0]表示1位元組資料之0。
當依次輸入上述各明文P0 ~P255 時,將某一特定回合之資料轉換處理結束後之輸出值如下所述表示為C0 ~C255
上述輸出中[?]可為任意位元值。
如上所述,上述各輸出C0 ~C255 中,具有於特定位元組位置(上述例中之最初之位元組位置)256種值c0 ~c255 全部出現之性質。如此,當預先獲知0至255之值無論順序如何均必然各出現一次時,便有可能利用該性質進行攻擊。故而可知,藉由依次變更輸入值而分析輸出值,便有可能推斷出回合密鑰。
進而,當輸出C0 ~C255 中所包含之特定位元組位置之值即c0 ~c255 之總和(EXOR)為0時,利用該性質進行攻擊(加密分析)便成為可能。如此,藉由依次輸入256種明文P0 ~P255 並對特定位元組位置之輸出進行分析,即可推斷出密鑰。
飽和攻擊係如上所述於回合函數部之轉換結果中,產生具有上述特定規則之輸出,即256種值c0 ~c255 全部出現。或者,特定位元組位置之值即c0 ~c255 之總和(EXOR)為0。
飽和攻擊係於產生具有上述規律性之輸出時,根據該等規律性來執行攻擊之攻擊(分析)方法。
因此,於加密設計階段形成不會使上述特異輸出作為回合函數部之輸出而產生之構成,將作為針對飽和攻擊之較強加密較為有效。再者,該飽和攻擊並非僅限於位元組單位(8位元)之分析,亦可利用相同性質對任意位元長度進行攻擊。
(2A-2)應用有Feistel構造或擴展Feistel構造之加密處理中之問題
其次,探討應用有Feistel構造或擴展Feistel構造之加密處理中之問題。
關於Feistel構造或擴展Feistel構造,如先前參照圖5、圖6所述,均為反覆執行應用有具有SP型非線性轉換處理部以及線性轉換處理部之F函數部之回合運算的構成。Feistel構造中資料序列數(分割數)限定為2,而擴展Feistel構造之不同之處在於資料序列數(分割數)可設定為2以上之任意數。
以下,假設構成如下:於應用有Feistel構造或擴展Feistel構造之加密處理中之回合函數的執行部、即F函數內之非線性轉換處理部中,使用有S盒。如先前參照圖7所述,S盒分別對將輸入至非線性轉換處理部之ms位元資料進行m分割後之s位元資料,執行例如應用有非線性轉換用表之非線性轉換處理。
如上所述,關於先前之區塊加密中之回合函數的執行中所應用的F函數,於各回合中均係反覆利用相同之F函數。將上述相同的F函數設定於各回合中之Feistel構造或擴展Feistel構造容易受到上述飽和攻擊。參照圖9,就其理由進行說明。
圖9係表示切取Feistel構造或擴展Feistel構造之一部分之構成圖。亦即,圖9表示具有Feistel構造或擴展Feistel構造之加密構成中所包含之2個回合函數執行部,即,F函數101、102。該2個F函數101、102係輸入資料的序列(x)與輸出資料的序列(y)相同且於上下方相鄰之F函數。
2個F函數101、102包括與回合密鑰之互斥或運算部、非線性轉換處理部以及線性轉換處理部。於本處理例中,F函數101、102為進行32位元輸入輸出處理之構成,非線性轉換處理部包括4個S盒,各S盒進行8位元輸入輸出。
圖9所示之A~J表示各種資料。亦即,表示下述各資料:
A:對先行F函數101之輸入
B:先行F函數101之輸出
C:後續F函數102之輸入
D:後續F函數102之輸出
E:對先行F函數101之輸出B之互斥或運算資料
F:對資料A之互斥或運算資料
G:資料B與資料E之互斥或運算結果
H:資料D與資料G之互斥或運算結果
I:輸入至先行F函數101之回合密鑰
J:輸入至後續F函數102之回合密鑰。
於以下說明中,於表示以位元組單位(8位元)來分割各F函數101、102中所處理之32位元資料之情形時,例如資料A為32位元資料之情形時,將各1位元組(8位元)資料A[0]、A[1]、A[2]、A[3]之連接資料表達如下,即
A=A[0]|A[1]|A[2]|A[3]。
此處,假設依次對圖9所示之加密處理構成輸入256種資料即下述各明文P0 ~P255 ,例如,
再者,於上述表述中,各[0]、[1]~[255]表示1位元組資料。
將該輸入值設為對圖9所示之先行F函數101之輸入資料A。如上所述,資料A於觀察256種資料時,於第1個位元組A[0]中出現所有0至255之256種值,而除此以外之位元組位置則總是固定為相同值。(之所以假設該情形,係由於有時試圖進行飽和攻擊之攻擊者會藉由控制明文輸入而製造出上述狀況)。
進而,若假設對資料A之互斥或運算資料F之值於依次輸入上述256種資料A之處理期間總是固定,則可保證於後續F函數102之輸入資料C之第1個位元組C[0]中亦會出現所有0至255之256種值,而除此以外之位元組位置則總是固定為相同值。
此時,藉由組合下述各資料之值,即,
I:輸入至先行F函數101之回合密鑰
J:輸入至後續F函數102之回合密鑰
以及
F:對資料A之互斥或運算資料
可能使下式總是成立。亦即,
A[0](EXOR)I[0]=C[0](EXOR)J[0]
上述式可能成立。
再者,(EXOR)表示互斥或運算,A[0](EXOR)I[0]表示資料A[0]與資料I[0]之互斥或運算,C[0](EXOR)J[0]表示資料C[0]與資料J[0]之互斥或運算。
式:A[0](EXOR)I[0]=C[0](EXOR)J[0]
該式之含義不外乎係輸入至2個F函數101、102中之2個S盒之值總為相同值。該等S盒均執行相同的非線性轉換處理,對於相同的輸入值輸出相同的輸出值。因此,2個F函數101、102中之2個S盒之輸出總是相同。於各F函數101、102中,該相同S盒輸出藉由線性轉換處理部之行列而產生線性轉換,並輸出至右側之資料序列(y)之互斥或運算部。即如圖所示之互斥或運算部111、112。
自上述2個F函數101、102輸出至互斥或運算部111、112之值B、D具有特定差分值Δ。亦即,
B(EXOR)Δ=D。
此時,於互斥或運算部111中,藉由如下運算而計算出資料G:
G=B(EXOR)E
於互斥或運算部112中,執行
H=G(EXOR)D
上述式H=G(EXOR)D中,G=B(EXOR)E、B(EXOR)Δ=D,因此
H=B(EXOR)E(EXOR)B(EXOR)Δ
=E(EXOR)Δ。
亦即,具有固定差分值之值彼此間之互斥或運算結果為固定值Δ,因此結果為,
H=B(EXOR)E(EXOR)B(EXOR)Δ
=Δ(EXOR)E
=E(EXOR)Δ。
亦即,僅對將互斥或運算部112之輸出H固定於資料E中之值Δ進行有互斥或運算,因此,儘管執行有2段回合函數(F函數),卻不會造成資料混合。若利用該性質,則推斷後續回合之回合密鑰將變得容易。亦即,即使存在後續回合,但在使用臨時設定之密鑰對該回合進行解碼直至H之資料時,檢查該性質是否已出現,藉此可隨機判斷出臨時使用之密鑰是否正確。即,可能推斷出回合密鑰,從而可能進行藉由飽和攻擊之分析。
作為其對策,可根據各F函數之位置來變更線性轉換處理中所應用之行列部分,但是若當各F函數之S盒相同時產生與上述相同之條件,則有時會由於線性轉換行列之要素之關係,而於後續F函數102之輸出D與資料G進行互斥或運算之時點,引起一部分位元組彼此抵消,從而產生對攻擊者有利之狀況。
如上所述,至少將對相同序列進行輸出之複數個F函數中所應用之非線性轉換處理設為相同構成,將有可能產生可藉由飽和攻擊而推斷出密鑰之情形。進而,有的S盒會產生如下運算(EXOR)結果,即,
S(A[0](EXOR)I[0])(EXOR)S(C[0](EXOR)J[0])
產生上述出現所有0至255之256種值之結果亦係不理想之情形。正常情況下,即使A[0]與C[0]兩者分別輸出256種不同的值,亦未必能夠保證該等運算(EXOR)結果可獲得所有256種輸出值,但若利用S盒,則有可能出現上述狀況。當出現該意外狀況時,會對可用於攻擊之資訊(值全部不同之資訊)加以保存直至下一段為止,因而會產生對攻擊者有利之狀況。
(2A-3)藉由利用複數種S盒來提高抵禦能力之方法
以下,說明用以使藉由飽和攻擊來推斷密鑰變得困難之構成例。亦即,形成各F函數之非線性轉換處理部,即S盒,以使得即使萬一上述條件均已具備,執行藉由資料抵消之回合函數前之資料與執行藉由資料抵消之回合函數後之資料亦不會相同。
參照圖10,就其具體例進行說明。圖10所示之構成亦與圖9相同,表示切取Feistel構造或擴展Feistel構造之一部分之構成,且表示有輸入資料之序列(x)與輸出資料之序列(y)相同且於上下方相鄰之F函數201、202。
2個F函數201、202包括與回合密鑰之互斥或運算部、非線性轉換處理部以及線性轉換處理部。F函數201、202為進行32位元輸入輸出處理之構成,非線性轉換處理部包括4個S盒,各S盒進行8位元輸入輸出。
圖10所示之A~J與圖9相同,表示下述各資料:
A:對先行F函數201之輸入
B:先行F函數201之輸出
C:後續F函數202之輸入
D:後續F函數202之輸出
E:對先行F函數201之輸出B之互斥或運算資料
F:對資料A之互斥或運算資料
G:資料B與資料E之互斥或運算結果
H:資料D與資料G之互斥或運算結果
I:輸入至先行F函數201之回合密鑰
J:輸入至後續F函數202之回合密鑰。
於圖10所示之構成中,於先行F函數201與後續F函數202中分別所設定之非線性轉換處理部之S盒係利用不同之S盒[S1]、[S2]。
亦即,於先行F函數201中執行非線性轉換處理之S盒[S1]、與於後續F函數202中執行非線性轉換處理之S盒[S2]執行不同的非線性轉換處理。具體而言,例如執行應用有不同非線性轉換表之非線性轉換處理,未必會對相同之輸入形成相同之輸出。
此處,設各S盒即S1、S2係滿足以下條件之2個不同的S盒。
當各S盒即S1、S2執行n位元輸入輸出之非線性轉換處理時,
(條件1)
於依次將所有s位元資料即2s 個x輸入至任意s位元資料c時,與輸入資料[x]對應之第1S盒[S1]之輸出S1(x)、以及與輸入資料[x(EXOR)c]對應之S盒[S2]之輸出S2(x(EXOR)c)中之至少一個具有不同的值。亦即,S1(x)(EXOR)S2(x(EXOR)c)上述式並非為固定值。
進而,
(條件2)
於依次將所有s位元資料即2s 個x輸入至任意s位元資料c時,與輸入資料[x]對應之第1S盒[S1]之輸出S1(x)、以及與輸入資料[x(EXOR)c]對應之S盒[S2]之輸出S2(x(EXOR)c)中之至少一個具有重複值。亦即,S1(x)(EXOR)S2(x(EXOR)c)上述式不會形成2s 個x均各出現一次之形式。
於圖10中,上述式即表示如下條件:當假設如下情形時,即資料A為[x],資料F為[c],下述2個輸出不會是均相同、或者經互斥或運算後之結果均不同之值,該2個值即先行F函數201之S盒[S1]之輸出S1(x)、以及後續F函數202之S盒[S2]之輸出S2(x(EXOR)c)。
如圖10所示設定滿足上述條件之2個S盒[S1]、[S2]。
亦即,於某一F函數中,設置僅使用S盒[S1]之非線性轉換處理部,於下一F函數中,設置僅使用S盒[S2]之非線性轉換處理部。當其後亦存在回合時,同樣地,於各F函數之非線性轉換處理部中,按照S盒[S1]、[S2]之順序來進行設定。
如上所述,藉由形成輸入資料之序列與輸出資料之序列相同、且於上下方相鄰的F函數中的非線性轉換處理中執行不同的非線性轉換處理之構成,即,配置不同之S盒,可明顯地降低輸出序列中所出現之資料與執行回合函數前之相同輸出序列中所出現之資料具有較強關聯的可能性。
亦即,藉由利用滿足上述(條件1)之S盒,即使2個S盒之輸入之間具有固定值之差之情形,該輸出之互斥或運算亦至少會有一次具有不同的值,因此能夠保證不會完全抵消。
又,藉由利用滿足上述(條件2)之S盒,即使2個S盒之輸入之間具有固定值之差之情形,該輸出之互斥或運算亦至少會有一次具有重複之值,因此,可認為能夠破壞可能為攻擊所利用之性質。因此,由於藉由如上所述配置2個S盒可減少對飽和攻擊之攻擊者之有利條件,故而可有望能夠提高抵禦攻擊之能力。
亦即,於圖10中,當各F函數201、202中之S盒之輸入值相等時,即使
A[0](EXOR)I[0]=C[0](EXOR)J[0],
亦可使各F函數之S盒之輸出值,即S1(A[0](EXOR)I[0])、以及S2(C[0](EXOR)J[0]),上述各輸出值不會於所有情形時完全一致,故而結果為,各F函數201、202之F函數輸出B、D不會完全一致,從而可避免先前參照圖9所說明之現象,即,於1個資料序列中回合函數(F函數)之執行前後之資料僅具有固定值之差分,亦即
E=H(EXOR)Δ。
如上所述,藉由採用輸入資料之序列與輸出資料之序列相同、且於上下方相鄰的F函數中的非線性轉換處理中執行不同的非線性轉換處理的不同的S盒,可大幅度地提高飽和攻擊之難度,從而提高抵禦攻擊之能力。
(發展系統-1)
參照圖10所說明之上述構成僅係著眼於2個F函數之關係,導出須將該2個F函數中所設定之S盒設成不同之條件,但對3個以上之F函數而言可認為亦係同樣。例如,如圖11所示,藉由對每個F函數配置各不相同之S盒,可有望提高抵禦飽和攻擊之能力。
圖11表示切取Feistel構造或擴展Feistel構造之一部分之構成,且表示輸入資料之序列(x)與輸出資料之序列(y)相同且於上下方相鄰之3個F函數211~213。
於F函數211之非線性轉換處理部中設定有S盒[S1],於F函數212之非線性轉換處理部中設定有S盒[S2],於F函數213之非線性轉換處理部中設定有S盒[S3],且S1≠S2≠S3。
如上所述,作為對複數個S盒所要求之條件有,
(條件1)
當對包含k個(k>2)S盒之集合S1、S2、...、Sk,對彼此不同的2個S盒之組Si與Sj(i≠j),並且對任意c,賦予所有可能之2s 個x作為輸入資料時,Si(x)以及Sj(x(EXOR)c)之各S盒輸出不會完全相同,而至少有一個會輸出不同的值。亦即,Si(x)與Sj(x(EXOR)c)之互斥或結果不為固定值。
進而,
(條件2)
當對包含k個(k>2)S盒之集合S1、S2、...、Sk,對彼此不同的2個S盒之組Si與Sj(i≠j),並且對任意c,賦予所有可能之2n 個x作為輸入資料時,Si(x)、以及Sj(x(EXOR)c)之各S盒輸出不會形成所有2n 個x的值均各出現一次的形式。亦即,至少出現一個重複值。
對包含滿足該條件之S盒之集合S1、S2、...、Sk進行設定,並對輸入資料之序列(x)與輸出資料之序列(y)相同且於上下方依序排列之複數個F函數進行排列,藉此,可明顯降低輸出序列中所出現之資料與執行回合函數前之相同輸出序列中所出現的資料一致的可能性,因此可大幅度地提高飽和攻擊之難度,從而提高抵禦攻擊之能力。
(發展系統-2)
若考慮實際安裝,則有時較理想的是,即使各F函數中所包含之S盒有複數個種類,各F函數中所包含之S盒之組合亦相同。
亦即,例如當藉由硬體或軟體進行相當於F函數之資料轉換時,若各F函數中所包含之S盒之組合相同,則將作為F函數之硬體或軟體設成相同,而僅於各回合中適當地變更輸入輸出,藉此便可實現各回合中之F函數之資料轉換。
參照圖12,說明具體例。圖12亦與圖10相同,表示切取Feistel構造或擴展Feistel構造之一部分之構成,且表示輸入資料之序列(x)與輸出資料之序列(y)相同且於上下方相鄰之F函數221、222。
先行F函數221中所包含之4個S盒自上方開始按照S1、S2、S1、S2之順序而配置,於下一回合之後續F函數222中,自上方開始按照S2、S1、S2、S1之順序而配置。
再者,S1≠S2。
若已進行上述設定,則當進行可並列執行2個S1、2個S2之構成之安裝時,便可應用該構成並執行F函數221、222,從而降低安裝方面之成本,又,裝置之小型化亦成為可能。
圖12所示之構成亦係於各F函數221、222中,所對應之位元列中所應用之非線性轉換處理為
S1→S2,或者
S2→S1,
所對應之位元資料(例如各位元組單位)之處理與參照圖10所說明之處理相同,故而可獲得同樣之效果,即,可明顯降低輸出序列中所出現之資料與執行回合函數前之相同輸出序列中所出現之資料一致的可能性,因此可大幅度地提高飽和攻擊之難度,提高抵禦攻擊之能力。
圖13表示另一個具體例。圖13與圖11相同,表示切取Feistel構造或擴展Feistel構造之一部分之構成,且表示輸入資料之序列(x)與輸出資料之序列(y)相同且於上下方相鄰之3個F函數231~233。
先行F函數231中所包含之4個S盒自上方開始按照S1、S2、S3、S4之順序而配置,於下一回合之中間F函數232中,自上方開始按照S2、S3、S4、S1之順序而設定,進而,於下一回合之中間F函數233中,自上方開始按照S3、S4、S1、S2之順序而設定。
再者,S1≠S2≠S3≠S4。
若已進行上述設定,則當進行設成可單個並列地執行各S1~S4之構成之安裝時,便可應用該構成並執行全部F函數231~233,從而可降低安裝方面之成本,又,裝置之小型化亦成為可能。
圖13所示之構成亦係於各F函數231~233中,所對應之位元列中所應用之非線性轉換處理為如下順序,即
S1→S2→S3→S4→S1→S2...,
所對應之位元資料(例如各位元組單位)之處理與參照圖10及圖11所說明之處理相同,故而可獲得同樣之效果,即,可明顯降低輸出序列中所出現之資料與執行回合函數前之相同輸出序列中所出現之資料一致的可能性,因此可大幅度地提高飽和攻擊之難度,提高抵禦攻擊之能力。
(2B) 藉由使利用有S盒之區塊加密中混合存在兩種以上不同之S盒,來提高抵禦代數攻擊(XSL攻擊)之能力之構成
其次,說明藉由使利用有S盒之區塊加密中混合存在不同種類的S盒來提高抵禦代數攻擊(XSL攻擊)之能力的構成。
(2B-1) 代數攻擊(XSL攻擊)之概要
首先,說明作為對區塊加密之攻擊而廣為人知之代數攻擊(XSL攻擊)。對區塊加密之代數攻擊(XSL攻擊)係利用S盒之代數表達的攻擊。若將S盒之輸入輸出表達成代數式時,可導出複數個式子,但根據該式子之最大次數(degree)及所包含之項數,攻擊所需之計算量會發生變化。
作為代數攻擊(XSL攻擊)之一實施例,有使用布爾(Boole)表達式之方式。例如存在某一編入有複數個具有8-bit輸入輸出之S盒之區塊加密。此時,若於8位元輸入輸出S盒中,將輸入側與輸出側之位元分別設定如下,即輸入X:(x1、x2、x3、x4、x5、x6、x7、x8)、輸出Y:(y1、y2、y3、y4、y5、y6、y7、y8),則對2次以下之用布爾表達式表述之式子數量進行評估。
更具體而言,對用布爾表達式表示上述輸入輸出X、Y之結果中所包含之項可利用如下所述2次以下的任一形態來表示的多項式的數量進行評估,即
(1、xi、yi、xixj、yiyj、xiyj)
若如上所述表示之全部布爾表達式中,將最大次數限定為2次等低次數而獲取時獨立式之數量更多而項數較少時,將有利於攻擊。亦即,當如上所述將最大次數限定為2次等時獨立式之數量更多而項數較少時,將對攻擊有利,從而導致抵禦攻擊之能力較差。
又,不僅布爾表達式,而且於擴展體GF(28 )等定義域方面能夠以較低次數進行代數表達之情形時,使用相同方法來進行代數攻擊(XSL攻擊)亦較容易,故而抵禦攻擊之能力較弱。
(2B-2) 使用1種S盒時之問題
其次,說明於使用有S盒之區塊加密中僅利用1種S盒之構成之問題,亦即容易進行代數攻擊(XSL攻擊)之問題。
執行n-bit之輸入輸出之非線性轉換的s位元S盒具有以下3個代表性的類型。
類型1:利用擴展體GF(2s )上之反映射即Y=X-1 或乘冪函數Y=Xp 之S盒
類型2:組合複數個例如4-bit輸入輸出等小於s位元之S盒而製成之S盒
類型3:隨機選擇之S盒
上述各3類型為代表性的類型。
尤其是類型1與類型2之S盒,由於在安裝硬體(H/W)時,能夠以低成本進行安裝,故而常被利用。
以下,分別就僅利用有上述類型1~3中之1種S盒之構成中之問題,亦即容易進行代數攻擊(XSL攻擊)之問題加以說明。
<類型1之問題點>
就類型1、即利用GF(2s )上之反映射即Y=X-1 或乘冪函數Y=Xp 之S盒之情形時之問題加以說明。
例如,已知悉於使用GF(28 )上之反映射的S盒之情形時,若以布爾表達式表示,則存在20多個獨立的2次式且項數為80多個之表達。關於乘冪函數亦具有同樣簡單之關係。又,不僅GF(28 ),而且可預計以GF(2s )定義之S盒亦具有同樣之關係。
若使用該等多項式表達,必須利用充分數量之S盒,以能夠預計對代數攻擊(XSL攻擊)之計算量,並且可獲得於加密設計階段確保安全性所必須之充分的計算量。進而,於使用有GF(2s )上之反映射之S盒之情形時,能夠以GF(2s )來進行如XY=1般之代數表達,且亦可能導出次數較低之多項式。已知悉亦存在利用上述各性質之攻擊方法。關於乘冪函數,亦可應用相同之結果。
如上所述,於僅使用利用有GF(2s )上之反映射或冪映射之S盒的加密中,為了能夠利用兩種代數性質,必須對該二者加以考慮來進行設計。
再者,可認為,於反映射及乘冪函數之前後追加仿射轉換而作成之S盒亦與上述情形相同。
<類型2之問題點>
其次,就類型2,亦即組合有複數個更小的(例如4-bit)S盒而製成之S盒之情形時的問題進行說明。
考慮使用組合有複數個輸入輸出為例如4-bit之較小S盒而製成之8位元S盒之情形。已知悉,可利用3~5個4位元S盒來作成8位元S盒。且已知悉,為了進行代數攻擊(XSL攻擊),對4位元S盒之輸入輸出位元,導出2次以下之布爾表達式多項式,但原本輸入輸出位元共計只有8個,因此,至少存在20多個左右如上所述之以較低次數來表達之獨立式。因此,可利用該方面來構成攻擊。當然,該傾向係為了製作較大輸入輸出大小之S盒而使用更小大小之S盒來構成之情形時才會出現。
然而,該方式之優點係,如於使用利用GF(28 )上之反映射之S盒之情形時般,GF(2s )體上存在簡單的代數關係的概率極低,因此可知攻擊所必須之計算量將增多,因此,與於上述情形之前所揭示之S盒相比,就代數攻擊(XSL攻擊)之觀點而言,可以說混合存在著優點及缺點兩方面。
<類型3之問題點>
其次,就類型3,即隨機選擇之S盒之情形的問題加以說明。對於隨機選擇之S盒,無法期待其具有如上所述之代數性方面而言較弱之性質,但可期待其對代數攻擊(XSL攻擊)具有較高之安全性,然而,存在如下問題,即,由於H/W安裝成本極高,故而並不期望將所有S盒均設為隨機選擇之S盒。
(2B-3) 藉由利用代數性質不同的複數種S盒來提高抵禦能力之構成
鑒於上述問題,以下就如下構成進行說明,即,藉由利用代數性質不同的兩種以上之S盒,來提高抵禦使用有布爾多項式之代數攻擊(XSL攻擊)、以及利用GF(2s )體之代數攻擊(XSL攻擊)兩者的能力,進而,與將所有S盒設為隨機選擇之S盒之情形時相比提高硬體(H/W)安裝效率。
如先前所述,執行s-bit之輸入輸出之非線性轉換的s位元S盒具有以下3個代表性的類型。
類型1:利用擴展體GF(2s )上之反映射即Y=X-1 或乘冪函數Y=Xp 之S盒
類型2:組合有複數個t-bit較小之S盒而製成之S盒(其中t<s)
類型3:隨機選擇之S盒
上述3個類型為代表性的類型。
本實施例中,藉由組合利用該等不同類型之S盒,來提高抵禦代數攻擊(XSL攻擊)之能力,又,提高硬體(H/W)安裝效率。亦即構成如下:藉由使利用有S盒之區塊加密中混合存在兩種以上之不同S盒,來提高抵禦代數攻擊(XSL攻擊)之能力。再者,可應用本實施例之加密處理構成為具有執行非線性轉換處理之S盒的加密處理構成即可,例如,可應用於先前所說明之以下各種加密處理構成中的任一個,即,
(a) SPN(Substitution Permutation Network,置換組合網路)構造;
(b) Feistel構造;
(c) 擴展Feistel構造。
本處理例中,將執行資料轉換處理之回合函數中所包含之作為非線性轉換處理部的S盒設定為以下(a)~(d)中之任一個。
(a) 將一部分S盒設為類型1之S盒、將其他S盒設為類型2之S盒的構成
(b) 將一部分S盒設為類型1之S盒、將其他S盒設為類型3之S盒的構成
(c) 將一部分S盒設為類型2之S盒、將其他S盒設為類型3之S盒的構成
(d) 將一部分S盒設為類型1之S盒、將另一部分S盒設為類型2之S盒、且將其他S盒設為類型3之S盒的構成
例如,當進行上述(a)設定時,之構成如下:於執行資料轉換處理之回合函數中所包含之作為非線性轉換處理部的S盒中,將一半S盒設為類型1,亦即設為使用GF(28 )上之反映射之S盒,並考慮去除除此以外之S盒之虛擬加密,據此預計利用布爾表達式之代數攻擊(XSL攻擊)之計算量,若已預計出充分的計算量,則將剩餘一半的S盒設為類型2、亦即組合有複數個4-bit之較小S盒而製成之8位元S盒。
若如上所述,藉由形成上述(a)之設定成類型1與類型2混合存在之加密處理構成,而能夠在預計GF(28 )上之計算量時具有充分的抵禦能力,則可製作出與單個地利用各S盒時相比綜合抵禦能力得到提高之區塊加密。
不僅限於上述設定之情形時,於上述(a)~(d)之任一情形時均相同,設定成即使僅限定於一部分S盒亦可充分提高抵禦代數攻擊(XSL攻擊)之能力,且考慮安裝效率等來決定剩餘S盒即可。
參照圖14~圖18,說明配置有如上述(a)~(d)般不同類型之S盒之具體加密處理構成例。圖14~圖18所示之例均係表示具有6回合之回合函數執行部之加密處理構成,於各回合函數執行部中,具有包含複數個S盒之非線性轉換處理部以及線性轉換處理部。
圖14表示包含6回合且每1回合包含10個S盒之SPN區塊加密之例。SPN區塊加密係於各回合中執行具有非線性轉換層(S層)、線性轉換層(P層)之資料轉換。各回合之10個S盒中,輸入例如將輸入資料分割成10份後之分割資料,並執行非線性轉換處理,將非線性轉換結果資料輸出至線性轉換層(P層),且將線性轉換處理結果輸出至下一回合函數執行部中。最末段之回合函數執行部之輸出形成為密文。
如圖所示之各回合函數執行部301~306之[S1 ]、[S2 ]分別表示類型1之S盒與類型2之S盒,係上述不同類型之作為非線性轉換處理部之S盒。
圖14所示之例係如下構成例,即,於先行之3回合之回合函數執行部301~303中配置類型1之S盒[S1 ],即類型1:利用擴展體GF(2s )上之反映射即Y=X-1 或乘冪函數Y=Xp 之S盒,於後續之3回合之回合函數執行部301~303中配置類型2之S盒[S2 ],即類型2:組合有複數個如4-bit之較小S盒而製成之S盒。
於圖14之構成中,非線性轉換處理於前半回合中,作為應用類型1之S盒之處理而執行,於後半回合中,作為應用類型2之S盒之處理而執行。一般而言,代數攻擊(XSL攻擊)係基於將所有S盒作為相同類型之S盒之假設之上而執行的,而當如上所述設定成混合存在不同類型之S盒時,攻擊即分析將變得困難。因此,可實現對代數攻擊(XSL攻擊)等加密分析之抵禦能力較高之加密處理構成。
圖15與圖14相同,表示包含6回合且每1回合包含10個S盒之SPN區塊加密之例。
圖15所示之例係如下構成例,即於第1、3、5奇數回合之回合函數執行部321、323、325中配置類型1之S盒[S1 ],即類型1:利用擴展體GF(2s )上之反映射即Y=X-1 或乘冪函數Y=Xp 之S盒,於第2、4、6偶數回合之回合函數執行部322、324、326中配置類型2之S盒[S2 ],即類型2:組合有複數個如4-bit之較小S盒而製成之S盒。
於圖15之構成中,非線性轉換處理係於奇數回合中,作為使用類型1之S盒之處理而執行,於偶數回合中,作為使用類型2之S盒之處理而執行。本構成中亦與圖14之構成相同,設定成混合存在不同類型之S盒,故而可實現對代數攻擊(XSL攻擊)等加密分析之抵禦能力較高之加密處理構成。
圖16與圖14、圖15相同,表示包含6回合且每1回合包含10個S盒之SPN區塊加密之例。
圖16所示之例係如下構成例,即於所有回合之回合函數執行部341~346中,將類型1之S盒[S1 ]以及類型2之S盒[S2 ]各配置半數,即各5個,上述類型1之S盒[S1 ]即類型1:利用擴展體GF(2s )上之反映射即Y=X-1 或乘冪函數Y=Xp 之S盒,上述類型2之S盒[S2 ]即類型2:組合有複數個如4-bit之較小S盒而製成之S盒。
將輸入至各回合函數執行部341~346中之資料分割成10份後輸入至各S盒中。將分割成10份後之分割資料d1 ~d10 之前半資料d1 ~d5 輸入至類型1的S盒中,執行應用類型1之S盒之非線性轉換處理,將後半資料d6 ~d10 輸入至類型2之S盒中,執行應用類型2之S盒之非線性轉換處理。
圖16之構成亦與圖14、圖15之構成相同,設定成混合存在不同類型之S盒,故而可實現對代數攻擊(XSL攻擊)等加密分析之抵禦能力較高之加密處理構成。
圖17與圖14~圖16相同,表示包含6回合且每1回合包含10個S盒之SPN區塊加密之例。
圖17所示之例與圖16所示之例相同,係於所有回合之回合函數執行部361~366中,將類型1之S盒[S1 ]以及類型2之S盒[S2 ]各配置半數、即各5個之構成例,上述類型1之S盒[S1 ]即類型1:利用擴展體GF(2s )上之反映射即Y=X-1 或乘冪函數Y=Xp 之S盒,上述類型2之S盒[S2 ]即類型2:組合有複數個如4-bit之較小S盒而製成之S盒。
將輸入至各回合函數執行部361~366中之資料分割成10份後輸入至各S盒中。將分割成10份後之分割資料d1 ~d10 之第奇數個分割資料d1 、d3 、d5 、d7 、d9 輸入至類型1之S盒中,執行應用類型1之S盒之非線性轉換處理,將第偶數個分割資料d2 、d4 、d6 、d8 、d10 輸入至類型2之S盒中,執行應用類型2之S盒之非線性轉換處理。
圖17之構成亦與圖14~圖16之構成相同,設定成混合存在不同類型之S盒,故而可實現對代數攻擊(XSL攻擊)等加密分析之抵禦能力較高之加密處理構成。
於圖16或圖17所示之構成中,各回合中所並列執行之S盒各為5個類型1之S盒與5個類型2之S盒,其係所有回合中之共同情形。因此,例如,安裝時,若設成可並列執行5個類型1與5個類型2之S盒之構成,則可重複應用該構成來執行所有回合之回合函數,故而具有於安裝方面亦可降低成本、且可實現小型化之優點。
圖18表示於Feistel構造中之各回合函數執行部381~386中配置有複數個不同類型之S盒之例。
圖18所示之例係如下構成例,即於所有回合之回合函數執行部381~386中,將類型1之S盒[S1 ]與類型2之S盒[S2 ]配置各半數,即各2個,上述類型1之S盒[S1 ]即類型1:利用擴展體GF(2s )上之反映射即Y=X-1 或乘冪函數Y=Xp 之S盒,上述類型2之S盒[S2 ]即類型2:組合有複數個如4-bit之較小S盒而製成之S盒。
將輸入至各回合函數執行部381~386中之資料分割成4份後輸入至各S盒中。將分割成4份後之分割資料d1 ~d4 之第奇數個分割資料d1 、d3 輸入至類型1之S盒中,執行應用類型1之S盒之非線性轉換處理,將第偶數個分割資料d2 、d4 輸入至類型2之S盒中,執行應用類型2之S盒之非線性轉換處理。
圖18之構成亦與圖14~圖17之構成相同,設定成混合存在不同類型之S盒,故而可實現對代數攻擊(XSL攻擊)等加密分析之抵禦能力較高之加密處理構成。
再者,圖14~圖18所示之例中,表示有藉由混合存在類型1與類型2之兩種類型之S盒而加以利用之構成例,但作為混合存在不同類型之S盒之構成,如先前所述,可為下述各種混合構成:
(a) 將一部分S盒設為類型1之S盒、將其他S盒設為類型2之S盒的構成
(b) 將一部分S盒設為類型1之S盒、將其他S盒設為類型3之S盒的構成
(c) 將一部分S盒設為類型2之S盒、將其他S盒設為類型3之S盒的構成
(d) 將一部分S盒設為類型1之S盒、將另一部分S盒設為類型2之S盒、將其他S盒設為類型3之S盒的構成,
上述任一情形均可提高抵禦代數攻擊(XSL攻擊)之能力。
(2C) 於使用有S盒之Feistel加密或擴展Feistel型加密中同時實現上述(2A)、(2B)之構成
其次,說明於使用有S盒之Feistel加密或擴展Feistel型加密中同時實現上述(2A)、(2B)之構成的構成例,上述(2A)、(2B)即,(2A) 藉由在使用有S盒之Feistel或擴展Feistel型加密中配置兩種以上之不同的S盒來提高抵禦飽和攻擊之能力的構成;(2B) 藉由在使用有S盒之區塊加密中混合存在兩種以上之不同S盒,來提高抵禦代數攻擊(XSL攻擊)之能力之構成。
上述(2A)之構成藉由將兩種以上之S盒應用於Feistel構造或擴展Feistel構造中來提高抵禦飽和攻擊之能力,上述(2B)之構成藉由將兩種以上之S盒用於具有S盒之任意區塊加密中來提高抵禦代數攻擊(XSL攻擊)之能力。
該等(2A)、(2B)之構成可一併實現。即,可構成如下具有Feistel或擴展Feistel構造的區塊加密,即,利用滿足(2A)、(2B)所必須之性質之兩種以上之S盒,來同時提高抵禦兩方面攻擊之能力。
具體而言,將分別執行上述(2A)中所說明之圖10~圖13之各構成中所應用的執行不同的非線性轉換處理的各S盒[S1]、[S2]、[S3]、[S4]...,設定為與(2B)中所說明的不同類型的S盒相對應,
上述(2A)即
(2A) 藉由在使用有S盒之Feistel或擴展Feistel型加密中配置兩種以上之不同的S盒來提高抵禦飽和攻擊之能力的構成,
上述(2B)即
(2B) 藉由在使用有S盒之區塊加密中混合存在兩種以上之不同S盒來提高抵禦代數攻擊(XSL攻擊)之能力的構成,
上述(2B)中不同類型之S盒即,類型1:利用擴展體GF(2s )上之反映射即Y=X-1 或乘冪函數Y=Xp 之S盒;類型2:組合有複數個如4-bit之較小S盒而製成之S盒;類型3:隨機選擇之S盒。
例如,於圖10所示之構成中,藉由將S盒[S1]以及S盒[S2]設定為(2B)中所說明之不同類型之S盒,來實現抵禦飽和攻擊以及代數攻擊(XSL攻擊)之能力均較高之構成。
圖11~圖13所示之構成亦同樣地,藉由將S盒[S1]、[S2]...設定為(2B)中所說明之不同類型之S盒,來實現抵禦飽和攻擊以及代數攻擊(XSL攻擊)之能力均較高之構成。
[3. 加密處理裝置之構成例]
最後,圖19表示作為根據上述實施例執行加密處理之加密處理裝置的IC模組700的構成例。上述處理可於例如PC(Personal computer,個人電腦)、IC卡、讀寫器、其他各種資訊處理裝置中加以執行,且圖19所示之IC模組700可形成於該等各種設備中。
圖19所示之CPU(Central processing Unit,中央處理單元)701係執行加密處理之開始或結束、資料之發送或接收之控制、各構成部間之資料傳送控制以及其他各種程式之處理器。記憶體702包含儲存CPU701執行之程式或運算參數等固定資料之ROM(Read-Only-Memory,唯讀記憶體)、以及用作CPU701之處理中所執行之程式及於程式處理中適當變化之參數的儲存區域、工作區的RAM(Random Access Memory,隨機存取記憶體)等。又,記憶體702可用作加密處理中所必須之密鑰資料、加密處理中所應用之轉換表(排列表)、轉換行列時所應用之資料等的儲存區域。再者,較好的是,資料儲存區域構成為具有防篡改(tamper)構造之記憶體。
加密處理部703根據應用有例如上述各種加密處理構成之下述任一構造之公用密鑰區塊加密處理演算法,執行加密處理及解碼處理,上述各種加密處理構成即
(a) SPN(Substitution Permutation Network,置換組合網路)構造;
(b) Feistel構造;
(c) 擴展Feistel構造。
又,加密處理部703具有作為非線性轉換處理部之S盒,該S盒之構成與上述各實施例之相應構成即下述各構成中之任一者相對應,上述各實施例之相應構成即
(2A) 於使用S盒之Feistel或擴展Feistel型加密中配置兩種以上之不同S盒的構成;
(2B) 於使用S盒之區塊加密中混合存在兩種以上之不同類型的S盒的構成;
(2C) 於使用S盒之Feistel加密或擴展Feistel型加密中同時實現上述(2A)、(2B)之構成。
再者,此處表示有將加密處理機構設為個別模組之例,但亦可不設置如上所述之獨立之加密處理模組,而形成例如將加密處理程式儲存於ROM中而由CPU701讀出並執行ROM儲存程式之構成。
隨機數產生器704執行生成加密處理所必須之密鑰等時產生所必須之隨機數的處理。
發送接收部705係執行與外部之資料通訊之資料通訊處理部,執行與例如讀寫器等IC模組之資料通訊,且執行於IC模組內所生成之密文之輸出、或者來自外部之讀寫器等設備之資料輸入等。
該IC模組700具有根據上述實施例之作為非線性轉換處理部之S盒的排列,因此,具有下述任一構成且已提高抵禦飽和攻擊及代數攻擊(XSL攻擊)之能力,上述構成即,
(2A) 藉由在使用S盒之Feistel或擴展Feistel型加密中配置兩種以上之不同的S盒來提高抵禦飽和攻擊之能力的構成;
(2B) 藉由在使用S盒之區塊加密中混合存在兩種以上之不同S盒來提高抵禦代數攻擊(XSL攻擊)之能力的構成;
(2C) 於使用S盒之Feistel加密或擴展Feistel型加密中同時實現上述(2A)、(2B)之構成。
以上,一面參照特定實施例,一面對本發明進行了詳細說明。然而,業者當知,於未脫離本發明之要旨之範圍內可對該實施例進行修改或替代。亦即,本案係以例示之形態來揭示本發明的,而不應限定性地進行解釋。為了判斷本發明之要旨,應參考申請專利範圍一欄。
再者,說明書中所說明之一系列處理可藉由硬體或軟體、或者兩者之複合構成而執行。當藉由軟體來執行處理時,可將記錄有處理序列的程式安裝於組裝在專用硬體中之電腦內的記憶體中來加以執行,或者將程式安裝於可執行各種處理之通用電腦中來加以執行。
例如,程式可預先記錄於作為記錄媒體之硬碟或ROM(Read Only Memory,唯讀記憶體)中。或者,程式可暫時或永久地儲存(記錄)於軟性磁碟、CD-ROM(Compact Disc Read Only Memory,唯讀光碟記憶體)、MO(Magneto optical,磁光碟)、DVD(Digital Versatile Disc,多樣化數位光碟)、磁碟、半導體記憶體等可移動記錄媒體中。上述可移動記錄媒體可作為所謂套裝軟體而提供。
再者,程式除了可自上述可移動記錄媒體裝入至電腦中以外,亦可自下載站無線傳輸至電腦,或者經由網路即LAN(Local Area Network,區域網路)、網際網路有線傳輸至電腦,電腦接收到以上述方式傳輸而來之程式,安裝於內置的硬碟等記錄媒體中。
再者,說明書中所揭示之各種處理不僅可根據揭示而按照時間序列來執行,亦可根據執行處理之裝置之處理能力或需要,而並列或者個別地執行。又,於本說明書中,所謂系統係指複數個裝置之邏輯性集合構成,而並不限於各構成之裝置均置於同一殼體內者。
[產業上之可利用性]
如上所述,根據本發明之一實施例之構成,將執行公用密鑰區塊加密處理之加密處理裝置構成如下:利用至少兩種以上的複數個不同的S盒,來作為設定於回合函數執行部中之作為非線性轉換處理部之S盒。根據本構成,可提高抵禦飽和攻擊之能力。又,根據混合存在不同類型之S盒的本發明之一實施例的構成,可提高抵禦代數攻擊(XSL攻擊)之能力,從而可實現安全性較高之加密處理裝置。
10...公用密鑰區塊加密處理部E
11...密鑰排程部
12...加密處理部
21,31,34,111,112...互斥或運算部
22,32,50...非線性轉換處理部
23,33...線性轉換處理部
30,41,42...F函數部
51,S,S1 ,S2 ,S3 ...S盒
101,102,201,202,211~213,221,222,231~233F...函數
20,20a,20b,301~306,321~326,341~346,361~366,381~386...回合函數執行部
700...IC模組
701...CPU
702...記憶體
703...加密處理部
704...隨機數產生器
705...發送接收部
A~J,X0 ~Xr ,Xi-1 ~Xi+1 ...資料
C...密文
K...密鑰
K'...放大密鑰
M...行列
P...明文
RK1 ~RKr ,RKi ...回合密鑰
x,y...序列
圖1係表示公用密鑰區塊加密演算法之基本構成之圖。
圖2係說明圖1所示之公用密鑰區塊加密處理部E10之內部構成的圖。
圖3係說明圖2所示之加密處理部12之詳細構成的圖。
圖4係說明作為回合函數執行部之一構成例之SPN構造回合函數的圖。
圖5係說明作為回合函數執行部之一構成例之Feistel(費斯特)構造的圖。
圖6係說明作為回合函數執行部之一構成例之擴展Feistel構造的圖。
圖7係說明非線性轉換處理部之具體例的圖。
圖8係說明線性轉換處理部之具體例的圖。
圖9係說明Feistel構造或擴展Feistel構造之一般構成例的圖。
圖10係說明於Feistel構造或擴展Feistel構造中配置有不同S盒之構成例的圖。
圖11係說明藉由配置不同S盒來實現提高抵禦飽和攻擊之能力的構成例的圖。
圖12係說明藉由配置不同S盒來實現提高抵禦飽和攻擊之能力的構成例的圖。
圖13係說明藉由配置不同S盒來實現提高抵禦飽和攻擊之能力的構成例的圖。
圖14係說明藉由配置不同類型之S盒來實現提高抵禦代數攻擊(XSL攻擊)之能力的構成例的圖。
圖15係說明藉由配置不同類型之S盒來實現提高抵禦代數攻擊(XSL攻擊)之能力的構成例的圖。
圖16係說明藉由配置不同類型之S盒來實現提高抵禦代數攻擊(XSL攻擊)之能力的構成例的圖。
圖17係說明藉由配置不同類型之S盒來實現提高抵禦代數攻擊(XSL攻擊)之能力的構成例的圖。
圖18係說明藉由配置不同類型之S盒來實現提高抵禦代數攻擊(XSL攻擊)之能力的構成例的圖。
圖19係表示作為執行本發明之加密處理之加密處理裝置的IC模組的構成例的圖。
201,202...F函數
A~J...資料
M...行列
S1 ,S2 ...S盒
x,y...序列

Claims (1)

  1. 一種資訊處理裝置,其特徵在於包括:加密處理部,其係對於將輸入資料以2以上的數分割所得之各資料序列,將依據包含S盒的F函數的資料變換處理作為回合函數予以分別執行;處理器,其係進行資訊處理;唯讀記憶體,其係記憶程式;及隨機存取記憶體,其係於上述處理器進行資訊處理時,記憶資訊;且上述加密處理部之構成如下:輸入資料之序列與輸出資料之序列相同、且位於上下相鄰位置的F函數彼此中,一方的F函數所包含的複數個S盒與位於另一方的F函數的對應位置的S盒的構造不同。
TW099130537A 2006-09-01 2007-08-15 Information processing device TWI447683B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006238225A JP5050454B2 (ja) 2006-09-01 2006-09-01 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
TW201044334A TW201044334A (en) 2010-12-16
TWI447683B true TWI447683B (zh) 2014-08-01

Family

ID=39135904

Family Applications (2)

Application Number Title Priority Date Filing Date
TW099130537A TWI447683B (zh) 2006-09-01 2007-08-15 Information processing device
TW096130197A TW200830232A (en) 2006-09-01 2007-08-15 Encryption processing apparatus, encryption processing method, and computer program

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW096130197A TW200830232A (en) 2006-09-01 2007-08-15 Encryption processing apparatus, encryption processing method, and computer program

Country Status (7)

Country Link
US (2) US8577023B2 (zh)
EP (1) EP2058781B1 (zh)
JP (1) JP5050454B2 (zh)
CN (2) CN102594545B (zh)
RU (2) RU2502201C2 (zh)
TW (2) TWI447683B (zh)
WO (1) WO2008026622A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4882598B2 (ja) * 2006-07-28 2012-02-22 ソニー株式会社 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム
US20090245510A1 (en) * 2008-03-25 2009-10-01 Mathieu Ciet Block cipher with security intrinsic aspects
TWI452889B (zh) * 2009-04-30 2014-09-11 Sumitomo Electric Industries 加密密鑰產生裝置
JP5605197B2 (ja) * 2010-12-09 2014-10-15 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにプログラム
JP5652363B2 (ja) * 2011-03-28 2015-01-14 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにプログラム
RU2618684C2 (ru) * 2013-04-26 2017-05-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ автоматического развертывания системы шифрования для пользователей, ранее работавших на ПК
JP2014240921A (ja) * 2013-06-12 2014-12-25 株式会社東芝 暗号装置、暗号処理方法及び暗号処理プログラム
RU2572423C2 (ru) * 2014-04-02 2016-01-10 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ формирования s-блоков с минимальным количеством логических элементов
KR102376506B1 (ko) * 2014-10-20 2022-03-18 삼성전자주식회사 암복호화기, 암복호화기를 포함하는 전자 장치 및 암복호화기의 동작 방법
RU2607613C2 (ru) * 2015-06-03 2017-01-10 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ формирования S-блока
CN106712925A (zh) * 2015-11-13 2017-05-24 航天信息股份有限公司 一种基于Logistic映射的S-box获取方法及获取装置
US10128864B2 (en) 2016-01-15 2018-11-13 Psemi Corporation Non-linear converter to linearize the non-linear output of measurement devices
CN108650072B (zh) * 2018-03-28 2021-04-20 杭州朔天科技有限公司 一种支持多种对称密码算法的芯片的抗攻击电路实现方法
CN112636899B (zh) * 2020-09-21 2022-03-18 中国电子科技集团公司第三十研究所 一种轻量化s盒设计方法
CN112511293B (zh) * 2020-09-21 2022-03-18 中国电子科技集团公司第三十研究所 基于比特与运算的s盒参数化设计方法及存储介质
CN112667994B (zh) * 2020-12-10 2023-01-20 山东大学 一种面向计算机的对称密码形式化描述方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5003597A (en) * 1989-12-21 1991-03-26 Xerox Corporation Method and apparatus for data encryption
US5745577A (en) * 1996-07-25 1998-04-28 Northern Telecom Limited Symmetric cryptographic system for data encryption
WO2001067425A1 (fr) * 2000-03-09 2001-09-13 Mitsubishi Denki Kabushiki Kaisha Systeme de chiffrage de blocs utilisant la conversion auxiliaire
US20010038693A1 (en) * 1997-09-17 2001-11-08 Luyster Frank C. Block cipher method
TW517189B (en) * 1998-12-14 2003-01-11 Hitachi Ltd Information management device
TW527811B (en) * 2000-07-04 2003-04-11 Koninkl Philips Electronics Nv Substitution-box for symmetric-key ciphers
TW200616407A (en) * 2004-11-05 2006-05-16 Cb Capital Man S A Methods of encoding and decoding data
TW200615868A (en) * 2004-11-05 2006-05-16 Synaptic Lab Ltd A method of encoding a signal
TW200629853A (en) * 2005-02-03 2006-08-16 Sanyo Electric Co Encryption Processing Circuit

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3962539A (en) * 1975-02-24 1976-06-08 International Business Machines Corporation Product block cipher system for data security
JPS5945269A (ja) 1982-09-03 1984-03-14 Nissan Motor Co Ltd フロントピラ−結合構造
US4791669A (en) * 1985-11-30 1988-12-13 Nec Corporation Encryption/decryption system
CA2164768C (en) * 1995-12-08 2001-01-23 Carlisle Michael Adams Constructing symmetric ciphers using the cast design procedure
RU2188513C2 (ru) * 1997-11-28 2002-08-27 Открытое акционерное общество "Московская городская телефонная сеть" Способ криптографического преобразования l-битовых входных блоков цифровых данных в l-битовые выходные блоки
WO2001082524A1 (en) * 2000-04-20 2001-11-01 Matchett Noel D Cryptographic system for data encryption standard
US20020021801A1 (en) * 2000-07-13 2002-02-21 Takeshi Shimoyama Computing apparatus using an SPN structure in an F function and a computation method thereof
EP1510028A4 (en) * 2002-05-23 2008-01-23 Atmel Corp CRYPTOGRAPHIC MOTOR OF TECHNICAL EQUIPMENT BASED ON ADVANCED ENCRYPTION STANDARD (AES)

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5003597A (en) * 1989-12-21 1991-03-26 Xerox Corporation Method and apparatus for data encryption
US5745577A (en) * 1996-07-25 1998-04-28 Northern Telecom Limited Symmetric cryptographic system for data encryption
US20010038693A1 (en) * 1997-09-17 2001-11-08 Luyster Frank C. Block cipher method
TW517189B (en) * 1998-12-14 2003-01-11 Hitachi Ltd Information management device
WO2001067425A1 (fr) * 2000-03-09 2001-09-13 Mitsubishi Denki Kabushiki Kaisha Systeme de chiffrage de blocs utilisant la conversion auxiliaire
TW527811B (en) * 2000-07-04 2003-04-11 Koninkl Philips Electronics Nv Substitution-box for symmetric-key ciphers
TW200616407A (en) * 2004-11-05 2006-05-16 Cb Capital Man S A Methods of encoding and decoding data
TW200615868A (en) * 2004-11-05 2006-05-16 Synaptic Lab Ltd A method of encoding a signal
TW200629853A (en) * 2005-02-03 2006-08-16 Sanyo Electric Co Encryption Processing Circuit

Also Published As

Publication number Publication date
EP2058781A4 (en) 2017-05-17
EP2058781A1 (en) 2009-05-13
TWI338872B (zh) 2011-03-11
JP5050454B2 (ja) 2012-10-17
TW200830232A (en) 2008-07-16
US20100104093A1 (en) 2010-04-29
RU2009107223A (ru) 2010-09-10
US8577023B2 (en) 2013-11-05
CN102594545B (zh) 2015-05-06
CN101536062A (zh) 2009-09-16
US9363074B2 (en) 2016-06-07
WO2008026622A1 (en) 2008-03-06
RU2449482C2 (ru) 2012-04-27
CN101536062B (zh) 2013-09-18
TW201044334A (en) 2010-12-16
RU2011149646A (ru) 2013-06-20
RU2502201C2 (ru) 2013-12-20
CN102594545A (zh) 2012-07-18
EP2058781B1 (en) 2018-05-02
JP2008058828A (ja) 2008-03-13
US20140192973A1 (en) 2014-07-10

Similar Documents

Publication Publication Date Title
TWI447683B (zh) Information processing device
JP5055993B2 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP2008058830A (ja) データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム
US20120170739A1 (en) Method of diversification of a round function of an encryption algorithm
TWI552121B (zh) A cryptographic processing device, a cryptographic processing method and a program
RU2603550C2 (ru) Устройство обработки данных, способ обработки данных и программа
WO2009087972A1 (ja) データ送信装置、データ受信装置、これらの方法、記録媒体、そのデータ通信システム
JP2008058831A (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
WO2012132623A1 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
JP2006301567A (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP2005107078A (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
Carlet et al. Statistical properties of side-channel and fault injection attacks using coding theory
US9418245B2 (en) Encryption processing device, encryption processing method, and program
JP5680016B2 (ja) 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム
JP2019530352A (ja) テーブルベースの実装への2次以上のdca攻撃に対抗する方法
JP5338945B2 (ja) 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム
JP5772934B2 (ja) データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム
Ajlouni et al. A New Approach in Key Generation and Expansion in Rijndael Algorithm.
Tange et al. Dynamic AES–Extending the Lifetime?

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees