TWI595460B - Data processing device, information processing device, data processing method and program - Google Patents

Data processing device, information processing device, data processing method and program Download PDF

Info

Publication number
TWI595460B
TWI595460B TW101105913A TW101105913A TWI595460B TW I595460 B TWI595460 B TW I595460B TW 101105913 A TW101105913 A TW 101105913A TW 101105913 A TW101105913 A TW 101105913A TW I595460 B TWI595460 B TW I595460B
Authority
TW
Taiwan
Prior art keywords
data
nonlinear
unit
bit
xor
Prior art date
Application number
TW101105913A
Other languages
English (en)
Other versions
TW201241800A (en
Inventor
Kyoji Shibutani
Toru Akishita
Takanori Isobe
Taizo Shirai
Harunaga Hiwatari
Atsushi MITSUDA
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 TW201241800A publication Critical patent/TW201241800A/zh
Application granted granted Critical
Publication of TWI595460B publication Critical patent/TWI595460B/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Logic Circuits (AREA)

Description

資料處理裝置、資訊處理裝置、資料處理方法及程式
本揭示係對於一種資料處理裝置、資料處理方法及程式。更詳細而言,係對於一種執行例如對稱密鑰系密碼之資料處理裝置、資料處理方法及程式。
與資訊化社會發展的同時,用以安全地保衛所處理之資訊之資訊安全技術之重要性不斷增加。作為資訊安全技術之構成要素之一,有密碼技術,目前於各種製品或系統中利用有密碼技術。
密碼處理演算法中有各種方法,但作為基本技術之一,有稱作對稱密鑰區塊密碼之技術。於對稱密鑰區塊密碼中,加密用密鑰與解密用密鑰為共通者。加密處理、解密處理均由該共通密鑰產生複數個密鑰,以某一區塊單位例如64位元、128位元、256位元等區塊資料單位重複執行資料轉換處理。
作為具代表性之對稱密鑰區塊密碼之演算法,已知有作為過去美國標準之DES(Data Encryption Standard,資料加密標準)或作為目前美國標準之AES(Advanced Encryption Standard,高級加密標準)。另外,目前亦不斷提出有各種對稱密鑰區塊密碼,2007年索尼股份有限公司所提出之CLEFIA亦為對稱密鑰區塊密碼之一。
此種對稱密鑰區塊密碼之演算法主要包含:具有重複執行輸入資料之轉換之回合函數執行部之密碼處理部,及產 生於回合函數部之各回合中應用之回合密鑰之密鑰編排部。密鑰編排部係基於作為密鑰之主密鑰(master key),而首先產生增加位元數之擴展密鑰,然後基於所產生之擴展密鑰,而產生於密碼處理部之各回合函數部中應用之回合密鑰(副密鑰)。
作為執行此種演算法之具體之構造,已知有包含線性轉換部及非線性轉換部之重複執行回合函數之構造。例如具代表性構造中有Feistel構造或一般化Feistel構造。Feistel構造或一般化Feistel構造係具有藉由包含作為資料轉換函數之F函數之回合函數之單純之重複,而將明文轉換成密文之構造。於F函數中,執行線性轉換處理及非線性轉換處理。再者,作為記載有應用Feistel構造之密碼處理之文獻,例如有非專利文獻1、非專利文獻2。
於F函數中執行之非線性轉換處理係應用例如稱作S-box(S-box:替換盒)之非線性轉換函數而進行。該S-box為區塊密碼或雜湊函數之構成要素,且為決定其安全性或安裝性能之非常重要之函數。
對於該S-box要求較高之安全性。然而,存在為保持較高之安全性而電路規模變大之問題。
[先前技術文獻] [非專利文獻]
[非專利文獻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
[非專利文獻3]US National Institute of Standards and Technology, Advanced Encryption Standard, Federal Information Processing Standards Publications No. 197, 2001。
[非專利文獻4]青木,市川,神田,松井,盛合,中嶋,時田,「128位元區塊密碼Camellia演算方法書」,第2.0版,2001。
[非專利文獻5]Chae Hoon Lim,, 「CRYPTON: A New 128-bit Block Cipher-Specification and Analysis (Version 0.5)」
[非專利文獻6]Chae Hoon Lim, 「CRYPTON: A New 128-bit Block Cipher-Specification and Analysis (Version 1.0)」
[非專利文獻7]Paulo S. L. M Barreto, Vincent Rijmen 「The WHIRLPOOL Hashing Function」, 2003。
[非專利文獻8]Pascal Junod and Serge Vaudenay, 「FOX: a New Family of Block Ciphers」, 2004
[非專利文獻9]Sony Corporation, 「The 128-bit Blockcipher CLEFIA Algorithm Specification」, Revision 1.0, 2007。
本揭示係例如鑒於上述情況而完成者,其目的在於提供一種可小型化之具有安全性之具備S-box之資料處理裝置、資料處理方法及程式。
本揭示之第1態樣係一種資料處理裝置,其包括資料轉換處理部,該資料轉換處理部係將作為資料處理對象之資料之構成位元分割成複數條線而輸入,並重複執行針對各條線之資料之資料轉換處理;上述資料轉換處理部包括F函數執行部,該F函數執行部係輸入構成上述複數條線之1條線之資料而產生轉換資料;上述F函數執行部包括執行非線性轉換處理之非線性轉換處理部;上述非線性轉換處理部具有1個NAND或NOR運算部、包含1個XOR或XNOR運算部之非線性運算部、及位元置換部之重複構造。
進而,於本揭示之資料處理裝置之一實施態樣中,上述位元置換部具有調換對於上述非線性運算部之輸入輸出位元之配線構成。
進而,於本揭示之資料處理裝置之一實施態樣中,上述 非線性轉換處理部係將作為2位元輸入1位元輸出之NAND或NOR運算部中之運算結果的1位元輸出至上述XOR或XNOR運算部,並執行與其他輸入1位元資料之XOR或XNOR運算,將作為XOR或XNOR運算結果而產生之1位元資料作為非線性轉換處理結果之構成位元而輸出。
進而,於本揭示之資料處理裝置之一實施態樣中,上述非線性轉換處理部係於輸出n位元資料之非線性轉換結果之構成中,具有將上述非線性運算部重複n次以上之重複構造。
進而,於本揭示之資料處理裝置之一實施態樣中,上述非線性轉換處理部係於輸出n位元資料之非線性轉換結果之構成中,設定有n次上述非線性運算部、及於n次之上述非線性運算部之間設定有n-1次上述位元置換部之構成。
進而,於本揭示之資料處理裝置之一實施態樣中,上述非線性轉換處理部係對於所有作為非線性轉換對象之資料之構成位元,產生與1個NAND或NOR運算部之運算結果之XOR或XNOR運算結果,並將該XOR或XNOR運算結果作為非線性轉換結果之構成位元而輸出。
進而,於本揭示之資料處理裝置之一實施態樣中,上述非線性轉換處理部為於上述重複構造中,具有XOR運算部與XNOR運算部之兩者之構成。
進而,於本揭示之資料處理裝置之一實施態樣中,上述資料處理裝置執行將作為輸入資料之明文轉換成密文之加密處理、或將作為輸入資料之密文轉換成明文之解密處 理。
進而,本揭示之第2態樣係一種資料處理裝置,其包括非線性轉換處理部,該非線性轉換處理部具有1個NAND或NOR運算部、包含1個XOR或XNOR運算部之非線性運算部、及位元置換部之重複構造。
進而,於本揭示之資料處理裝置之一實施態樣中,上述非線性轉換處理部係對於所有作為非線性轉換對象之資料之構成位元,產生與1個NAND或NOR運算部之運算結果之XOR或XNOR運算結果,並將該XOR或XNOR運算結果作為非線性轉換結果之構成位元而輸出。
進而,本揭示之第3態樣係一種資料處理裝置,其係將作為資料處理對象之資料之構成位元分割成複數條線而輸入,且具有包括非線性函數執行部之回合函數之重複構造,該非線性函數執行部係輸入構成複數條線之1條線之資料而產生轉換資料。
進而,於本揭示之資料處理裝置之一實施態樣中,上述非線性函數執行部係對於所有作為非線性轉換對象之資料之構成位元,產生與1個NAND或NOR運算部之運算結果之XOR或XNOR運算結果,並將該XOR或XNOR運算結果作為非線性轉換結果之構成位元而輸出。
進而,本揭示之第4態樣係一種資料處理方法,其係於資料處理裝置中執行者,且 由資料處理部將作為資料處理對象之資料之構成位元分割成複數條線而輸入,並重複執行針對各條線之資料之資料轉換處理;於上述資料轉換處理中,執行輸入構成上述複數條線之1條線之資料而產生轉換資料之F函數;於上述F函數之執行處理中,執行非線性轉換處理;於上述非線性轉換處理中,執行應用有1個NAND或NOR運算部、包含1個XOR或XNOR運算部之非線性運算部、及位元置換部之重複運算。
進而,本揭示之第5態樣係一種程式,其係於資料處理裝置中執行資料轉換處理者,且使資料處理部將作為資料處理對象之資料之構成位元分割成複數條線而輸入,並重複執行針對各條線之資料之資料轉換處理;於上述資料轉換處理中,執行輸入構成上述複數條線之1條線之資料,從而產生轉換資料之F函數;於上述F函數之執行處理中,執行非線性轉換處理;於上述非線性轉換處理中,執行應用有1個NAND或NOR運算部、包含1個XOR或XNOR運算部之非線性運算部、及 位元置換部之重複運算。
再者,本揭示之程式係例如藉由記憶媒體而對例如可執行各種程式.編碼之資訊處理裝置或電腦.系統提供之程式。藉由於資訊處理裝置或電腦.系統上之程式執行部中執行此種程式而實現按照程式之處理。
本揭示之進而其他目的、特徵或優點基於下述本發明之實施例或隨附圖式之更詳細之說明即可明確。再者,於本說明書中所謂系統,係指複數個裝置之邏輯集合構成,並不限定於各構成之裝置位於同一殼體內者。
根據本揭示之一實施例,可實現小型化之非線性轉換部。
具體而言,具有密碼處理部,該密碼處理部將作為資料處理對象之資料之構成位元分割成複數條線而輸入,並對各條線之資料重複執行應用有回合函數之資料轉換處理;密碼處理部具有F函數執行部,該F函數執行部輸入構成複數條線之1條線之資料,從而產生轉換資料;F函數執行部具有執行非線性轉換處理之非線性轉換處理部;非線性轉換處理部具有1個NAND或NOR運算部、包含1個XOR或XNOR運算部之非線性運算部、及位元置換部之重複構造。藉由該重複構成而實現小型化之非線性轉換部。
以下,一面參照圖式一面對本揭示之資料處理裝置、資 料處理方法及程式之詳細情況進行說明。說明係按照以下項目進行。
1.對稱密鑰區塊密碼之概要
2.關於S-box
3.關於本揭示之S-box之概要
4.關於密碼處理裝置之構成例
5.本揭示之構成之總結
[1.對稱密鑰區塊密碼之概要]
首先,關於對稱密鑰區塊密碼之概要進行說明。
(1-1.對稱密鑰區塊密碼)
此處作為對稱密鑰區塊密碼(以下為區塊密碼)係指以下所定義者。
區塊密碼係接收作為輸入之明文P與密鑰K,並輸出密文C。將明文與密文之位元長度稱作區塊尺寸,此處記作n。n可採用任意整數值,通常針對每一區塊密碼演算法預先決定一個值。有時亦將區塊長度為n之區塊密碼稱作n位元區塊密碼。
密鑰之位元長度以k表示。密鑰可採用任意整數值。對稱密鑰區塊密碼演算法對應於1個或複數個密鑰尺寸。例如,某一區塊密碼演算法A亦可具有區塊尺寸n=128,且對應於k=128或k=192或k=256之密鑰尺寸之構成。
明文P:n位元
密文C:n位元
密鑰K:k位元
圖1表示與k位元之密鑰長度相對應之n位元對稱密鑰區塊密碼演算法E之圖。
與加密演算法E相對應之解密演算法D可定義為加密演算法E之反函數E-1,接收作為輸入之密文C與密鑰K,輸出明文P。圖2表示與圖1所示之密碼演算法E相對應之解密演算法D之圖。
(1-2.內部構成)
可考慮將區塊密碼分成2個部分。一個係將密鑰K作為輸入,並輸出藉由某一規定步驟而擴展位元長度所得之擴展密鑰K'(位元長度k')之「密鑰編排部」,另一個係接收由明文P與密鑰編排部擴展之密鑰K'並進行資料之轉換而輸出密文C之「資料加密部」。
將2個部分之關係示於圖3中。
(1-3.資料加密部)
於以下實施例中使用之資料加密部設為可分割成稱作回合函數之處理單位。回合函數係接收作為輸入之2個資料,於內部實施處理之後,輸出1個資料。輸入資料之一方為加密中途之n位元資料,且為某一回合中之回合函數之輸出作為下一回合之輸入而供給之構成。另一輸入資料係使用由密鑰編排輸出之擴展密鑰之一部分之資料,將該密鑰資料稱作回合密鑰。又,將回合函數之總數稱作總回合數,且為針對每一密碼演算法而預先設定之值。此處總回合數以R表示。
自資料加密部之輸入側觀察時,若將第1回合之輸入資 料設為X1,將輸入至第i回合函數之資料設為Xi,將回合密鑰設為RKi,則資料加密部整體係如圖4所示。
(1-4.回合函數)
藉由區塊密碼演算法,回合函數可採用各種形態。回合函數可藉由採用該密碼演算法之構造(structure)而分類。作為具代表性之構造,此處例示SPN構造、Feistel構造、擴展Feistel構造。
(a)SPN構造回合函數
對於所有n位元之輸入資料,應用與回合密鑰之互斥或運算、非線性轉換、線性轉換處理等之構成。各運算之順序並未特別限定。圖5表示SPN構造之回合函數之示例。
(b)Feistel構造
將n位元之輸入資料分割成n/2位元之2個資料。應用具有其中一方之資料與回合密鑰作為輸入之函數(F函數),輸出與另一方之資料進行互斥或運算。之後,將由調換資料之左右而成者作為輸出資料。F函數之內部構成亦有各種類型,但基本上與SPN構造同樣地以與回合密鑰資料之互斥或運算、非線性運算、線性轉換之組合實現。圖6中表示Feistel構造之回合函數之一例。
(c)擴展Feistel構造
擴展Feistel構造係將於Feistel構造中資料分割數為2者擴展為分割成3以上之形態者。若將分割數設為d,則可藉由d而定義各種擴展Feistel構造。為使F函數之輸入輸出之尺寸相對地減小,而面向小型安裝。圖7中表示d=4且於一個 回合內並列地應用2個F函數之情形時之擴展Feistel構造之一例。又,圖8中表示d=8且於一個回合內應用1個F函數之情形時之擴展Feistel構造之一例。
(1-5.非線性轉換處理部)
非線性轉換處理部具有若所輸入之資料之尺寸變大則安裝上之成本變高之傾向。為避免該傾向而多數情況下採用將對象資料分割成複數個單位,並對每一個實施非線性轉換之構成。例如為如下構成:將輸入尺寸設為ms位元,並將該等分割成每s位元之m個資料,對每一個進行具有s位元輸入輸出之非線性轉換。將該等s位元單位之非線性轉換稱作S-box。圖9中表示示例。
(1-6.線性轉換處理部)
線性轉換處理部就其性質上而言,可定義為矩陣。矩陣之要素可採用GF(28)之形態之要素或GF(2)之要素等一般而言各種表現。圖10中表示具有ms位元輸入輸出,且由在GF(2s)上定義之m×m之矩陣所定義之線性轉換處理部之示例。
[2.關於S-box]
首先,在對本發明之構成進行說明之前,對於作為非線性轉換部之S-box之概要進行說明。
於F函數中執行之非線性轉換處理係應用例如稱作S-box之非線性轉換函數而進行。該S-box為區塊密碼或雜湊函數之構成要素,且為決定其安全性或安裝性能之非常重要之函數。
該S-box一般而言為n-bit輸入、m-bit輸出之非線性轉換函數,以下就n-bit輸入輸出之對射之S-box進行說明。此處所謂對射係指輸出之所有值為僅來自一個輸入之值之映射。
(安全方面)
S-box之性質對於密碼整體之安全性造成較大之影響。密碼整體或回合函數自身之嚴密之安全性評估因其輸入輸出尺寸較大故一般而言較為困難,但因S-box之輸入輸出尺寸一般而言較小(8-bit輸入輸出程度)故可進行嚴密之評估。為使密碼整體之安全性較高,而對於S-box,至少求出如下特性(1)~(4)。
(特性1)最大差分概率相當小
S-box之差分概率為於相對於任意輸入差分△x與輸出差分△y,選擇相同輸入變數x時, 滿足S(x)+S(x+△x)=△y之概率。
其中,S(x)表示相對於某一S-box S之輸入x之輸出。
最大差分概率係以所有輸入輸出差分之組合中最高之概率而定義。以下,分別以數式定義。
若將提供輸入差分△x、及輸出差分△y時之函數S之差分概率定義為DPs(△x、△y),則DPs(△x、△y)係以如下方式定義。
此時,函數之最大差分概率MDPs係以如下方式定義。
藉由設計該差分概率相當小之S-box,而可使差分攻擊具有耐性。
(特性2)最大線性概率相當小
S-box之線性概率係於相對於任意輸入掩碼(input mask)Γx與輸出掩碼Γy,選擇相同輸入變數x時,根據滿足Γx.x=Γy.S(x)之概率求出之值。
此處,.係指n位元向量彼此之內積運算。
最大線性概率係以所有輸入輸出掩碼之組合中最高之概率而定義。
以下,分別以數式定義。
若將提供輸入掩碼Γx、及輸出掩碼Γy
時之函數S之線性概率定義為LPs(Γx、Γy),則LPs(Γx、Γy)係以如下方式表現。
此時,函數S之最大差分概率MLPs係以如下方式定義。
藉由設計該最大線性概率相當小之S-box,而可使線性攻擊具有耐性。
(特性3)進行布耳多項式表現時之布耳代數次數相當大
布耳代數次數係指以輸入位元之布耳式表現S-box之輸出之位元之情形時之次數。藉由對於所有位元設計布耳代數次數相當高之S-box,而可使利用了高階差分攻擊等代數性質之攻擊具有耐性。
(特性4)多項式表現輸入輸出時之項數相當多
藉由使以輸入位元多項式表現S-box之輸出位元之情形時之項數相當多,而可使插值攻擊具有耐性。
(關於安裝方面)
S-box係被要求與安全性之要求不同之較高之安裝性能。於軟體安裝中,通常利用稱作查表(表安裝)之方法安裝,故其安裝性能幾乎不取決於S-box之內部構造。然而,於硬體安裝中,藉由S-box之內部構造,而較大地影響安裝性能。因此,S-box之內部構造尤其於硬體之安裝性能中較為重要。
(先前技術之問題)
作為有效地產生滿足此種要求之S-box之方法,眾所周知有使用擴展體上之冪函數之方法。只要利用該方法適當 地選擇擴展體之次數與次方之冪數,則可產生特性非常良好之S-box。
實際上於將n-bit輸入輸出S-box之輸入設為x,將輸出設為y,且分別設為GF(2n)之元之情形時,於以[數5]y=f(x)為y=x 2'+1y=x -1
而提供之情形時,眾所周知可構成於最大差分概率、最大線性概率之方面最佳之S-box(然而,若利用該方法則於多項式表現輸入輸出時之項數變少,故必需加以適當之affine轉換)。
作為以此種方法構成之S-box之示例,可列舉AES(非專利文獻3:US National Institute of Standards and Technology,Advanced Encryption Standard,Federal Information Processing Standards Publications No.197,2001.)、Camellia(非專利文獻4:青木,市川,神田,松井,盛合,中嶋,時田,「128位元區塊密碼Camellia演算方法書」,第2.0版,2001.)之S-box等。
AES或Camellia之S-box亦可構成S-box作為GF((24)2)上之反函數,故就安全性之觀點而言特性亦非常良好,進而亦具有非常高之硬體安裝性能。
然而,近年來,關於此種S-box,指出有利用其特徵性之代數性質之攻擊法、或其非常均勻之擴散性之相關問題等。
根據此種方面,考慮到不具有特徵性之代數性質之S- box之構成法,且考慮到藉由以不具有較強之代數構造之方式,利用隨機、或者以此為標準之方法選擇要素之方法產生S-box之方法。若以此種方法產生S-box,則因於多數情形時不具有特徵性之代數構造,進而不進行如擴展體上之冪函數般之均勻之擴散,故可謂是針對上述問題之對策。
然而,因n-bit輸入輸出之S-box之數存在2n階乘個,故實際上於利用隨機地產生n-bit輸入輸出之S-box,且一個一個核對其特性之方法時,若n某種程度上變大則難以有效地產生特性良好之S-box。
又,於要素為完全地隨機之情形時,因於硬體中進行安裝時僅可主要採用稱作表安裝之方法,故安裝效率大幅下降。
根據此種問題,進行隨機地產生具有較小尺寸之輸入輸出之S-box,並將複數個該等組合,而產生更大之S-box之嘗試。
例如,可考慮CRYPTON ver.0.5(非專利文獻5:Chae Hoon Lim,「CRYPTON:A New 128-bit Block Cipher-Specification and Analysis(Version 0.5)」)、CRYPTON ver.1.0(非專利文獻6:Chae Hoon Lim,「CRYPTON:A New 128-bit Block Cipher-Specification and Analysis(Version1.0)」)、Whirlpool(非專利文獻7:Paulo S.L.M Barreto,Vincent Rijmen「The WHIRLPOOL Hashing Function」,2003.)、 FOX(非專利文獻8:Pascal Junod and Serge Vaudenay,「FOX:a New Family of Block Ciphers」,2004)、CLEFIA(非專利文獻9:Sony Corporation,「The 128-bit Blockcipher CLEFIA Algorithm Specification」,Revision 1.0,2007.)所示之S-box等基於此種方法而產生之S-box。
將各自之構造示於圖11~圖15。該等構造與如上述般隨機地產生較大之S-box之情形時進行比較,表尺寸變小,硬體之安裝成本降低。
圖11係執行8位元之輸入資料之非線性轉換處理之構成。
執行4位元資料之非線性轉換處理之3個S-box:S40、S41、S42;具有執行各S-box之輸出4位元與其他4位元之互斥或運算之3個配置邏輯運算部。
8位元之輸入資料係分別每4位元地輸入至左線輸入與右線輸入。
作為利用有3個S-box:S40、S41、S42之非線性轉換結果之8位元資料係自左線輸出與右線輸出分別以每4位元而輸出。
處理係按照以下處理順序執行。
(1)將輸入8位元中之4位元(右線輸入)輸入至第1段之S-box:S40,而執行非線性轉換。
將該非線性轉換結果與輸入8位元中之其他4位元(左線輸入)進行互斥或運算。
(2)將該互斥或運算結果輸入至第2段之S-box:S41,而執行非線性轉換。
將該非線性轉換結果與輸入8位元中之4位元(右線輸入)進行互斥或運算。
將互斥或運算結果作為輸出8位元之4位元(右線輸出)而輸出。
(3)進而,將該互斥或運算結果輸入至第3段之S-box:S42,而執行非線性轉換。
將該非線性轉換結果與上述處理(1)中之互斥或運算結果進行互斥或運算,並將該結果作為輸出8位元之4位元(Out-a)而輸出。
圖11為藉由上述處理而執行8位元之輸入資料之非線性轉換處理之構成。
圖12所示之構成包括:執行4位元資料之非線性轉換之S-box:S40、S41;對於各S-box之輸出4位元執行2~3位元單位之互斥或運算之運算執行部;及對於運算執行部之輸出執行之前的S-box:S40、S41之逆運算之非線性轉換部:S41 -1、S40 -1
圖13所示之構成為非線性轉換處理構成,其包括:執行4位元資料之非線性轉換之S-box:S40、S42;執行S-box:S41之逆運算之非線性轉換部:S41 -1;複數個互斥或運算部;及該等之組合。
圖14為非線性轉換處理構成,其包括:執行4位元資料之非線性轉換之S-box:S40、S41、S42;複數個互斥或運算部;複數個OR運算部;及該等之組合。
圖15為非線性轉換處理構成,其包括:執行4位元資料之非線性轉換之S-box:SS0、SS1、SS2、SS3;執行應用有2×2之矩陣(MDS矩陣)之資料轉換之矩陣轉換執行部;及該等之組合。
如此,自先前以來提出有數個圖11~圖15所示之以較小之S-box為基礎之較大之S-box之構成法。此種構成與隨機地產生較大之S-box之情形進行比較,表尺寸變小,硬體之安裝成本降低。
然而,如此,於先前之以較小之S-box為基礎之構成法中,較小之S-box之設計法、及較小之S-box之組合法分別存在如下問題。
(問題1)關於各自之較小之S-box之設計
於先前法中,各自之較小之S-box係隨機地作成。因此,該等較小之S-box必需進行表安裝,因而硬體安裝所需之電路規模依然較大。
(問題2)關於較小之S-box之組合方法
先前法因不具有單純之重複構造,故即便於施加複數次 循環而執行S-box之情形時,亦難以實現電路之共有化。於具有單純之重複構造之情形時,可實現電路之共有化,雖於執行中必需複數次循環但存在可使必要之電路規模縮小之可能性。然而,於先前法中進行此種安裝方法之優點較少,因而即便可進行複數次循環亦難以削減電路規模。
[3.關於本揭示之S-box]
鑒於如上問題,以下提出具有較高之安全性、且於進行硬體安裝時與先前方法相比可縮小電路規模之S-box之構成法。
以下所說明之構成,於硬體安裝中,對於要求使安裝所需之電路規模小於執行處理量之情形尤其能發揮較高之效果。再者,於以下說明中為方便起見,僅對n-bit輸入輸出之對射S-box進行說明。
對於以下2個S-box構成例依序進行說明。
(1)利用邏輯運算與位元置換之重複構造之安全且能以較少之電路進行安裝之S-box之構成法
(2)能以較小尺寸之S-box為基礎、安全且較少之電路進行安裝之具有重複構造之更大尺寸之S-box之構成法
再者,上述(1)為可解決上述(問題1)之構成,(2)為可解決(問題2)之構成。
亦可為將(1)與(2)組合之構成,藉由該組合構成,而可解決(問題1、2)之兩者。
(3-1.利用邏輯運算與位元置換之重複構造之S-box之構成法)
首先,對於
(1)利用邏輯運算與位元置換之重複構造之安全且能以較少之電路進行安裝之S-box之構成法
進行說明。
(3-1-1.S-box之構成之概要)
S-box係藉由各種邏輯電路之組合而實現。
此處,提出之S-box係將以AND(邏輯積)、OR(邏輯和)、NOT(邏輯否定)等基本邏輯運算為基礎之「非線性運算部」、進行位元位置之調換之「位元置換部」之2個部分作為基本要素,並藉由該等之重複而構成S-box者。
非線性運算部具有如下構造:以成為對射且非線性轉換之方式,分別利用1個2位元輸入1位元輸出之NAND(否定邏輯積)、或者NOR(否定邏輯和)運算、及1個2位元輸入1位元輸出之XOR(互斥或)、或者XNOR(否定互斥或)運算,而將對於任意2位元進行NAND、或者NOR運算之結果與除該2位元以外之1位元進行XOR、或者XNOR運算。
位元置換部係單純地進行位元位置之調換。
藉由將該等非線性運算部、位元置換部進行複數次重複,而產生S-box。
非線性運算部、位元置換部係使用即便針對每次重複而變更亦相同者。
通常,為構成安全之n-bit S-box,而必需重複n次以上之非線性運算部分,因而認為n次之重複構造為於該構成法中不會較大地破壞安全性之範圍內之最小之構成。又,最 後一次之位元置換部因安全性、電路規模均不受影響,故可省略而不執行。
再者,非線性運算部係如上述般包含NAND或NOR運算部、及XOR或XNOR運算部,但於n次重複構造中,亦可藉由使XOR運算部與XNOR運算部混合存在,而消除非線性轉換處理中之不動點。因此,為實現不產生不動點之非線性轉換處理,較佳為於非線性運算部之n次重複構造中,設為使XOR運算部與XNOR運算部混合存在之構成。
(3-1-2.關於本方法之效果)
本方法之效果中有以下3個效果(效果1~3)。第1個係解決既存之技術之(問題1),剩下之2個更是本發明之優點。
(效果1)能以較先前法更小之電路進行安裝。
1個非線性運算部僅由1個NAND、或者NOR運算、及1個XOR、或者XNOR運算構成。
已知NAND/NOR運算即便於對於輸入進行非線性之處理之非線性之基本邏輯運算中,亦能以較小之電路進行安裝。
除該NAND/NOR運算以外僅利用用以擔保對射性之XOR/XNOR運算。因此,該非線性運算部分於對射之非線性函數中,硬體之安裝成本(必要電路規模)可謂是最小級。
進而,位元置換部於硬體安裝中僅變更配線即可進行安裝,因而不會對必要電路規模造成影響。即,硬體安裝成本(必要電路規模)可謂是0。
本構成因包含該等非線性運算部、位元置換部之重複,故安裝所需之電路與先前法相比可大幅地削減。
(效果2)可正確地估計硬體安裝成本。
於先前法中,因隨機地產生S-box,故於估計必要電路規模時,必需使用邏輯合成工具等每次進行評估。
於本構成法之情形時,藉由評估邏輯運算子之數、即重複次數,而可不使用邏輯合成工具等容易地估計硬體安裝成本(必要電路規模)。先前,因必要電路規模估計需要時間故難以自較多之S-box之中找出最佳者,但本構成中因容易地估計電路規模故可容易地選擇最佳之S-box。
(效果3)可構成複數種相同之硬體安裝成本(必要電路規模)之S-box。
非線性運算部中使用之邏輯運算子、及位元置換部中使用之位元置換之種類有選擇之自由度,且亦可針對每次重複而種類不同,故可構成必要之電路規模相同之複數個S-box。
此係有助於自相同之硬體安裝成本(必要電路規模)之S-box中選擇與上位函數或其他函數之組合中最佳者。
(3-1-3.關於具體之構成例)
其次,對於邏輯運算與位元置換之重複構造之S-box之具體之構成例進行說明。
將4位元之情形時之S-box之具體之構成例示於圖16。
該圖16所示之4位元S-box具有非線性運算部與位元置換部之組合構成之4段重複構造,非線性運算部包含4個 NAND、3個XOR、及1個XNOR。再者,圖中雖省略最後一段之位元置換,但關於最後一段之位元置換,既可設為設定之構成,亦可設為省略之構成,任一構成均可。
第1段之非線性運算部包含NAND及XNOR。
將輸入4位元中之2位元輸入至第1段之NAND,並將該輸出位元輸入至第1段之XNOR,而與輸入4位元中之1位元執行XNOR運算。
將第1段之XNOR運算之執行結果設定為輸出位元,進而輸入至第3~4段之非線性部分之NAND。
第2段之非線性運算部包含NAND及XOR。
將輸入4位元中之2位元輸入至第2段之NAND,並將該輸出位元輸入至第2段之XOR,而與輸入4位元中之1位元執行XOR運算。
將第2段之XOR運算之執行結果設定為輸出位元,進而輸入至第4段之非線性部分之NAND。
第3段之非線性運算部包含NAND及XOR。
將輸入4位元中之1位元、及第1段之XNOR運算之執行結果輸入至第3段之NAND,並將該輸出位元輸入至第3段之XOR,而與輸入4位元中之1位元執行XOR運算。
將第3段之XOR運算之執行結果設定為輸出位元。
第4段之非線性運算部包含NAND及XOR。
將第1段之XNOR運算之執行結果、及第2段之XOR運算之執行結果輸入至第4段之NAND,並將該輸出位元輸入至第4段之XOR,而與輸入4位元中之1位元執行XOR運算。
將第4段之XOR運算之執行結果設定為輸出位元。
該4位元S-box係作為上述項目[2.關於S-box]中說明之安全性較高之S-box之條件的最大差分概率、最大線性概率均為2-2。此係4位元S-box中最佳之值,且與隨機地產生之4位元S-box進行比較硬體安裝成本降低。
因此,該4位元S-box可謂是安全且硬體安裝性能亦優異。
將具有相同之最佳之差分概率、線性概率,且包含相同之電路規模(相同之重複次數)之其他S-box之具體例示於圖17~圖20。於圖16~圖20所示之示例中雖省略最後一段之位元置換,但關於最後一段之位元置換,既可設為設定之構成,亦可設為省略之構成,任一構成均可。
圖17所示之4位元S-box包含4個NOR、3個XNOR、及1個XOR。
圖18所示之4位元S-box包含3個NAND、1個NOR、3個XNOR、及1個XOR。
圖19所示之4位元S-box包含3個NAND、1個NOR、3個XNOR、及1個XOR。
圖20所示之4位元S-box包含4個NOR、1個XNOR、及3個XOR。
對於各圖所示之4位元S-box之構成及處理進行說明。
圖17所示之4位元S-box具有非線性運算部及位元置換部之組合構成之4段重複構造,非線性處理部分包含4個NOR、3個XNOR、及1個XOR。再者,圖中雖省略最後一 段之位元置換,但關於最後一段之位元置換,既可設為設定之構成,亦可設為省略之構成,任一構成均可。
第1段之非線性運算部包含NOR及XNOR。
將輸入4位元中之2位元輸入至第1段之NOR,並將該輸出位元輸入至第1段之XNOR,而與輸入4位元中之1位元執行XNOR運算。
將第1段之XNOR運算之執行結果設定為輸出位元,進而輸入至第3~4段之非線性部分之NOR。
第2段之非線性運算部包含NOR及XNOR。
將輸入4位元中之2位元輸入至第2段之NOR,並將該輸出位元輸入至第2段之XNOR,而與輸入4位元中之1位元執行XNOR運算。
將第2段之XNOR運算之執行結果設定為輸出位元,進而輸入至第4段之非線性部分之NOR。
第3段之非線性運算部包含NOR及XNOR。
將輸入4位元中之1位元、及第1段之XNOR運算之執行結果輸入至第3段之NOR,並將該輸出位元輸入至第3段之XNOR,而與輸入4位元中之1位元執行XNOR運算。
將第3段之XNOR運算之執行結果設定為輸出位元。
第4段之非線性運算部包含NOR及XOR。
將第1段之XNOR運算之執行結果、及第2段之XNOR運算之執行結果輸入至第4段之NOR,並將該輸出位元輸入至第4段之XOR,而與輸入4位元中之1位元執行XOR運算。
將第4段之XOR運算之執行結果設定為輸出位元。
圖18所示之4位元S-box具有非線性運算部與位元置換部之組合構成之4段重複構造,非線性處理部分包含3個NAND、1個NOR、3個XNOR、及1個XOR。再者,圖中雖省略最後一段之位元置換,但關於最後一段之位元置換,既可設為設定之構成,亦可設為省略之構成,任一構成均可。
第1段之非線性運算部包含NAND及XNOR。
將輸入4位元中之2位元輸入至第1段之NAND,並將該輸出位元輸入至第1段之XNOR,而與輸入4位元中之1位元執行XNOR運算。
將第1段之XNOR運算之執行結果設定為輸出位元,進而輸入至第3~4段之非線性部分之NOR及NAND。
第2段之非線性運算部包含NAND及XOR。
將輸入4位元中之2位元輸入至第2段之NAND,並將該輸出位元輸入至第2段之XOR,而與輸入4位元中之1位元執行XOR運算。
將第2段之XOR運算之執行結果設定為輸出位元,進而輸入至第4段之非線性部分之NAND。
第3段之非線性運算部包含NOR及XNOR。
將輸入4位元中之1位元、及第1段之XNOR運算之執行結果輸入至第3段之NOR,並將該輸出位元輸入至第3段之XNOR,而與輸入4位元中之1位元執行XNOR運算。
將第3段之XNOR運算之執行結果設定為輸出位元。
第4段之非線性運算部包含NAND及XNOR。
將第1段之XNOR運算之執行結果、及第2段之XOR運算之執行結果輸入至第4段之NAND,並將該輸出位元輸入至第4段之XNOR,而與輸入4位元中之1位元執行XNOR運算。
將第4段之XNOR運算之執行結果設定為輸出位元。
圖19所示之4位元S-box具有非線性運算部與位元置換部之組合構成之4段重複構造,非線性處理部分包含3個NAND、1個NOR、3個XNOR、及1個XOR。再者,圖中雖省略最後一段之位元置換,但關於最後一段之位元置換,既可設為設定之構成,亦可設為省略之構成,任一構成均可。
第1段之非線性運算部包含NAND及XOR。
將輸入4位元中之2位元輸入至第1段之NAND,並將該輸出位元輸入至第1段之XOR,而與輸入4位元中之1位元執行XOR運算。
將第1段之XOR運算之執行結果設定為輸出位元,進而輸入至第2~3段之非線性部分之NOR及NAND。
第2段之非線性運算部包含NOR及XNOR。
將輸入4位元中之1位元、及第1段之XOR運算之執行結果輸入至第2段之NOR,並將該輸出位元輸入至第2段之XNOR,而與輸入4位元中之1位元執行XNOR運算。
將第2段之XNOR運算之執行結果設定為輸出位元,進而輸入至第4段之非線性部分之NAND。
第3段之非線性運算部包含NAND及XNOR。
將輸入4位元中之1位元、及第1段之XNOR運算之執行結果輸入至第3段之NAND,並將該輸出位元輸入至第3段之XNOR,而與輸入4位元中之1位元執行XNOR運算。
將第3段之XNOR運算之執行結果設定為輸出位元。
第4段之非線性運算部包含NAND及XNOR。
將第2段之XNOR運算之執行結果、及第3段之XNOR運算之執行結果輸入至第4段之NAND,並將該輸出位元輸入至第4段之XNOR,而與輸入4位元中之1位元執行XNOR運算。
將第4段之XNOR運算之執行結果設定為輸出位元。
圖20所示之4位元S-box具有非線性運算部與位元置換部之組合構成之4段重複構造,非線性處理部分包含4個NOR、1個XNOR、及3個XOR。再者,圖中雖省略最後一段之位元置換,但關於最後一段之位元置換,既可設為設定之構成,亦可設為省略之構成,任一構成均可。
第1段之非線性運算部包含NOR及XOR。
將輸入4位元中之2位元輸入至第1段之NOR,並將該輸出位元輸入至第1段之XOR,而與輸入4位元中之1位元執行XOR運算。
將第1段之XOR運算之執行結果設定為輸出位元,進而輸入至第3~4段之非線性部分之NOR。
第2段之非線性運算部包含NOR及XOR。
將輸入4位元中之2位元輸入至第2段之NOR,並將該輸 出位元輸入至第2段之XOR,而與輸入4位元中之1位元執行XOR運算。
將第2段之XOR運算之執行結果設定為輸出位元,進而輸入至第4段之非線性部分之NOR。
第3段之非線性運算部包含NOR及XNOR。
將輸入4位元中之1位元、及第1段之XOR運算之執行結果輸入至第3段之NOR,並將該輸出位元輸入至第3段之XNOR,而與輸入4位元中之1位元執行XNOR運算。
將第3段之XNOR運算之執行結果設定為輸出位元。
第4段之非線性運算部包含NOR及XOR。
將第1段之XOR運算之執行結果、及第2段之XOR運算之執行結果輸入至第4段之NOR,並將該輸出位元輸入至第4段之XOR,而與輸入4位元中之1位元執行XOR運算。
將第4段之XOR運算之執行結果設定為輸出位元。
又,能以與上述例所示之4位元S-box相同之電路規模進行安裝之4位元S-box中,非線性運算部之運算有4(=2×2)種,位元置換部之位元置換有24(=4!)種,進而因亦可針對每次重複而種類不同,故可知存在96之4乘方種。
即,可構成多個相同之電路規模之4位元S-box,故於設計時可按照目的選擇最佳之S-box。
作為又一S-box之構成例,將5位元S-box之構成例示於圖21。
圖21所示之5位元S-box具有非線性運算部與位元置換部之組合構成之5段重複構造,非線性運算部包含5個 NAND、4個XOR、及1個XNOR。再者,圖中雖省略最後一段之位元置換,但關於最後一段之位元置換,既可設為設定之構成,亦可設為省略之構成,任一構成均可。
第1段之非線性運算部包含NAND及XOR。
將輸入5位元中之2位元輸入至第1段之NAND,並將該輸出位元輸入至第1段之XOR,而與輸入5位元中之1位元執行XOR運算。
將第1段之XOR運算之執行結果設定為輸出位元,進而輸入至第4~5段之非線性部分之NAND。
第2段之非線性運算部包含NAND及XNOR。
將輸入5位元中之2位元輸入至第2段之NAND,並將該輸出位元輸入至第2段之XNOR,而與輸入5位元中之1位元執行XNOR運算。
將第2段之XNOR運算之執行結果設定為輸出位元,進而輸入至第5段之非線性部分之NAND。
第3段之非線性運算部包含NAND及XOR。
將輸入5位元中之2位元輸入至第3段之NAND,並將該輸出位元輸入至第3段之XOR,而與輸入5位元中之1位元執行XOR運算。
將第3段之XOR運算之執行結果設定為輸出位元。
第4段之非線性運算部包含NAND及XOR。
將輸入5位元中之1位元、及第1段之XOR運算之執行結果輸入至第4段之NAND,並將該輸出位元輸入至第4段之XOR,而與輸入5位元中之1位元執行XOR運算。
將第4段之XOR運算之執行結果設定為輸出位元。
第5段之非線性運算部包含NAND及XOR。
將第1段之XOR運算之執行結果、及第2段之XNOR運算之執行結果輸入至第5段之NAND,並將該輸出位元輸入至第5段之XOR,而與輸入5位元中之1位元執行XOR運算。
將第5段之XOR運算之執行結果設定為輸出位元。
該5位元S-box之差分概率與線性概率均為2-2。因5位元S-box之各自之最佳之值為2-4,故並非為安全性最高者,但電路規模與隨機地作成者進行比較變得非常地小。因此,適於欲優先實現安裝性能之情形時。
(3-2.藉由使用較小之S-box之重複處理而產生較大之S-box之構成法)
其次,對於藉由使用較小之S-box之重複處理而產生較大之S-box之構成法進行說明。
於由較小尺寸之S-box構成較大之尺寸之S-box時,以成為特定函數之重複構造之方式構成。具體而言,具有如下構造:首先由較小尺寸之S-box產生硬體安裝成本(必要電路規模)相對較小之、較大之S-box,並重複該較大之S-box。藉此,可由較小之S-box構成具有重複構造之較大之S-box。
(3-2-2.關於本方法之效果)
本方法於進行H/W安裝、特別是以削減必要電路規模為目的之安裝、例如串列安裝時優點較大。
關於具有重複構造之運算,於以串列安裝而安裝S-box 時無需安裝所有要素,只要安裝重複單位,並將其反覆執行任意次即可。
因此,該構造相對於不具有重複構造之先前之S-box,可謂是能以更少之電路規模進行安裝。
(3-2-3.關於具體之構成例)
其次,對於藉由使用有較小之S-box之重複處理而產生較大之S-box之具體之構成例進行說明。
以下,對於具體之構成法詳細地敍述。
再者,於以下所說明之圖22~圖28中,於各圖中示作S之矩形區域為例如參照圖16~圖21而說明之較小之S-box、即例如執行4位元單位之非線性轉換處理之S-box。
圖22~圖28均具有如下構成:將輸入n位元分割成4個n/4位元而輸入至4條線,對於各條線資料,複數段重複地執行包含較小之S-box及XOR電路之運算執行部之運算處理、及各條線資料單位之旋轉(Rotation)執行部之旋轉。
圖22所示之構成於各段中具有1個S-box及1個XOR電路之應用構成,且於先行之處理段中,具有如下構成:產生n/4位元之S-box及XOR電路之應用結果,並將該n/4位元之運算結果、及對於其他未處理資料進行n/4位元之線單位資料之旋轉而產生之旋轉結果輸出至下一處理段。
圖23所示之構成於各段中具有2個S-box及2個XOR電路之應用構成,於先行之處理段中,具有如下構成:產生相當於2條線(2×(n/4)位元)之n/4位元之S-box及XOR電路之應用結果,並將該2線之運算結果、及對於其他2線之未處理 資料進行n/4位元之線單位資料之旋轉而產生之旋轉結果輸出至下一處理段。
圖24所示之構成於各段中具有1個S-box及2個XOR電路之應用構成,於先行之處理段中,具有如下構成:產生n/4位元之S-box之應用結果、n/4位元之S-box及XOR電路之應用結果、及n/4位元之XOR電路之應用結果,並將該等3個n/4位元之運算結果、及對於其他未處理資料進行n/4位元之線單位資料之旋轉而產生之旋轉結果輸出至下一處理段。
圖25所示之構成於各段中具有2個S-box及2個XOR電路之應用構成,於先行之處理段中,具有如下構成:產生2個n/4位元之S-box之應用結果、及2個n/4位元之S-box及XOR電路之應用結果,並將對於該等4個n/4位元之運算結果進行n/4位元之線單位資料之旋轉而產生之旋轉結果輸出至下一處理段。
圖26所示之構成於各段中具有1個S-box及2個XOR電路之應用構成,於先行之處理段中,具有如下構成:產生n/4位元之S-box及XOR電路之應用結果、及n/4位元之XOR電路之應用結果,並將該等2個n/4位元之運算結果、及對於其他未處理資料進行n/4位元之線單位資料之旋轉而產生之旋轉結果輸出至下一處理段。
圖27所示之構成於各段中具有2個S-box及2個XOR電路 之應用構成,於先行之處理段中,具有如下構成:產生2個n/4位元之S-box及XOR電路之應用結果,並將該等2個n/4位元之運算結果、及對於其他未處理資料進行n/4位元之線單位資料之旋轉而產生之旋轉結果輸出至下一處理段。
圖28所示之構成於各段中具有2個S-box及2個XOR電路之應用構成,於先行之處理段中,具有如下構成:產生n/4位元之S-box之應用結果、n/4位元之S-box及XOR電路之應用結果、及n/4位元之XOR電路之應用結果,並將該等3個n/4位元之運算結果、及對於其他未處理資料進行n/4位元之線單位資料之旋轉而產生之旋轉結果輸出至下一處理段。
圖22、圖23分別為稱作type-IGFN(Generalized Feistel Network,廣義Feistel網路)及type-IIGFN之重複構造。
該等通常與作用於較小之非線性部分之密鑰一起被使用,於本實施例中考慮到安裝效率而不插入密鑰。
藉由如此般不使用密鑰而構成,可將整體作為一個固定表進行安裝。
圖22、圖23之構成之差異為各段之較小之S-box之數。
圖22之type-IGFN係各段包含1個n位元S-box、n位元之 XOR、及n位元單位之Rotation。
於圖22所示之示例中,輸入資料為n位元且經4分割而以n/4位元單位輸入至各條線。
再者,輸入資料之分割數為任意。即,可向任意r分割(r>2)擴展,且可根據必要之較大之S-box之輸入輸出尺寸而適時決定。
圖23所示之type-IIGFN係於各段單位包含2個較小之n位元S-box、n位元之XOR、及n位元單位之Rotation。
該等2個構成方法之特徵係自正方向之運算與自反方向之運算大致相同,不同點僅Rotation部分。
藉此,於必需安裝正函數與反函數之兩者之情形時,可進行電路之共有化。於圖23之構成法中,於使用圖16之4位元S-box,而產生16位元S-box之情形時,6次重複後最大差分概率為2-8.3,最大線性概率為2-7.83,7次重複後最大差分概率為2-9.1,最大線性概率為2-8
該等值並非為16-bit中最佳之值,但為相當低之概率,且電路規模與隨機地作成者相比變得非常地小。
圖24~圖28為將較小之S-box配置於與圖22、圖23之構造不同之部分之構造。各自之不同點僅為其配置場所與重複單位之S-box之數。
於該等構造中,因於之後之運算中不需要輸入至較小之S-box之資料,故不需要多餘之記憶區域,於將重複函數 進一步細分割而進行安裝之情形時,可使硬體中必要之電路規模進一步縮小。
於以圖25之構成法,使用參照圖17而說明之4位元S-box構成16位元S-box之情形時,6次重複後最大差分概率為2-8.3,最大線性概率為2-8,7次重複後最大差分概率為2-9.1,最大線性概率為2-8.5,雖並非16-bit中最佳之值,但為相當低之概率,且電路規模與隨機地作成者相比變得非常地小。
[4.關於密碼處理裝置之構成例]
最後,對於執行按照上述實施例之密碼處理之密碼處理裝置之實例進行說明。
執行按照上述實施例之密碼處理之密碼處理裝置可搭載於執行密碼處理之各種資訊處理裝置。具體而言,可用於PC(personal computer,個人電腦)、TV(Television,電視)、記錄器、播放器、通信機器,進而,RFID(Radio Frequency Identification,射頻識別)、智慧卡、感測網路機器、電池/蓄電池認證模組、健康、醫療機器、獨立型網路機器等例如執行伴隨資料處理或通信處理之密碼處理之各種機器中。
將作為執行本揭示之密碼處理之裝置之一例的IC(integrated circuit,積體電路)模組700之構成例示於圖29。上述處理可於例如PC、IC卡、讀寫器、其他各種資訊 處理裝置中執行,圖29所示之IC模組700可構成於該等各種機器中。
圖29所示之CPU(Central processing Unit,中央處理單元)701係執行密碼處理之開始或結束、資料之收發之控制、各構成部間之資料傳送控制、及其他各種程式之處理器。記憶體702包含CPU 701所執行之程式、或儲存運算參數等固定資料之ROM(Read-Only-Memory,唯讀記憶體)、於CPU 701之處理中執行之程式、及於程式處理中適當變化之參數之儲存區域、用作網路區域之RAM(Random Access Memory,隨機存取記憶體)等。又,記憶體702可用作密碼處理所需之密鑰資料、或於密碼處理中應用之轉換表(置換表)或應用於轉換矩陣之資料等之儲存區域。再者,資料儲存區域較佳為作為具有防竄改構造之記憶體而構成。
密碼處理部703係執行按照上述所說明之密碼處理構成、即例如應用有一般Feistel構造、或Feistel構造之對稱密鑰區塊密碼處理演算法之密碼處理、解密處理。
再者,此處,雖例示將密碼處理機構作為個別模組之例,但亦可構成為不設置此種獨立之密碼處理模組,而例如將密碼處理程式儲存於ROM,再由CPU 701讀出ROM儲存程式而執行。
亂數產生器704係於密碼處理所需之密鑰之產生等中執行必要之亂數之產生處理。
收發部705係執行與外部之資料通信之資料通信處理 部,且例如執行與讀寫器等IC模組之資料通信,並執行於IC模組內產生之密文之輸出、或來自外部之讀寫器等機器之資料輸入等。
再者,上述實施例中說明之資料處理裝置不僅可應用於對作為輸入資料之明文進行加密之加密處理,亦可應用於將作為輸入資料之密文恢復成明文之解密處理。
於加密處理、解密處理兩者之處理中,可應用具有於上述實施例中說明之構成之非線性轉換部之構成。
[5.本揭示之構成之總結]
以上,一面參照特定實施例,一面對本揭示之實施例進行詳細解說。然而,本領域技術人員自當明確:於不脫離本揭示之主旨之範圍內可完成實施例之修正或代用。即,於例示之形態中揭示了本發明,並不應限定地解釋。為判斷本揭示之主旨,而應參考申請專利範圍之欄。
再者,本說明書中揭示之技術可採用如下構成。
(1)一種資料處理裝置,其包括資料轉換處理部,該資料轉換處理部係將作為資料處理對象之資料之構成位元分割成複數條線而輸入,並重複執行針對各條線之資料之資料轉換處理;上述資料轉換處理部包括F函數執行部,該F函數執行部係輸入構成上述複數條線之1條線之資料而產生轉換資料;上述F函數執行部包括執行非線性轉換處理之非線性轉換處理部; 上述非線性轉換處理部具有1個NAND或NOR運算部、包含1個XOR或XNOR運算部之非線性運算部、及位元置換部之重複構造。
(2)如上述(1)之資料處理裝置,其中上述位元置換部具有調換對於上述非線性運算部之輸入輸出位元之配線構成。
(3)如上述(1)或(2)之資料處理裝置,其中上述非線性轉換處理部係將作為2位元輸入1位元輸出之NAND或NOR運算部中之運算結果之1位元輸出至上述XOR或XNOR運算部,並執行與其他輸入1位元資料之XOR或XNOR運算,將作為XOR或XNOR運算結果而產生之1位元資料作為非線性轉換處理結果之構成位元而輸出。
(4)如上述(1)至(3)中任一項之資料處理裝置,其中上述非線性轉換處理部係於輸出n位元資料之非線性轉換結果之構成中,具有將上述非線性運算部重複n次以上之重複構造。
(5)如上述(1)至(4)中任一項之資料處理裝置,其中上述非線性轉換處理部係於輸出n位元資料之非線性轉換結果之構成中,設定有n次上述非線性運算部、及於n次之上述非線性運算部之間設定有n-1次上述位元置換部之構成。
(6)如上述(1)至(5)中任一項之資料處理裝置,其中上述非線性轉換處理部係對於所有作為非線性轉換對象之資料 之構成位元,產生與1個NAND或NOR運算部之運算結果之XOR或XNOR運算結果,並將該XOR或XNOR運算結果作為非線性轉換結果之構成位元而輸出。
(7)如上述(1)至(6)中任一項之資料處理裝置,其中上述非線性轉換處理部為於上述重複構造中,具有XOR運算部與XNOR運算部之兩者之構成。
(8)如上述(1)至(7)中任一項之資料處理裝置,其中上述資料處理裝置執行將作為輸入資料之明文轉換成密文之加密處理、或將作為輸入資料之密文轉換成明文之解密處理。
(9)一種資料處理裝置,其包括非線性轉換處理部,該非線性轉換處理部具有1個NAND或NOR運算部、包含1個XOR或XNOR運算部之非線性運算部、及位元置換部之重複構造。
(10)如上述(9)之資料處理裝置,其中上述非線性轉換處理部係對於所有作為非線性轉換對象之資料之構成位元,產生與1個NAND或NOR運算部之運算結果之XOR或XNOR運算結果,並將該XOR或XNOR運算結果作為非線性轉換結果之構成位元而輸出。
(11)一種資料處理裝置,其係將作為資料處理對象之資料之構成位元分割成複數條線而輸入,且具有包括非線性函數執行部之回合函數之重複構造,該 非線性函數執行部係輸入構成複數條線之1條線之資料而產生轉換資料。
(12)如上述(11)之資料處理裝置,其中上述非線性函數執行部係對於所有作為非線性轉換對象之資料之構成位元,產生與1個NAND或NOR運算部之運算結果之XOR或XNOR運算結果,並將該XOR或XNOR運算結果作為非線性轉換結果之構成位元而輸出。
進而,上述裝置及系統中執行之處理之方法、或執行處理之程式均包含於本揭示之構成中。
又,於說明書中說明之一系列之處理可藉由硬體、或軟體、或者兩者之複合構成而執行。於執行軟體之處理之情形時,可將記錄有處理順序之程式安裝於組裝在專用之硬體之電腦內之記憶體而執行,或將程式安裝於可執行各種處理之通用電腦而執行。例如,可將程式預先記錄於記錄媒體。除自記錄媒體安裝於電腦以外,亦可經由LAN(Local Area Network,區域網路)、網際網路等之類的網路而接收程式,並安裝於內置之硬碟等記錄媒體。
再者,記載於說明書之各種處理不僅可按照記載以時間序列執行,亦可按照執行處理之裝置之處理能力或視需要並列地或個別地執行。又,本說明書中所謂系統,係指複數個裝置之邏輯集合構成,並不限定於各構成之裝置位於同一殼體內者。
[產業上之可利用性]
如上所述,根據本揭示之一實施例之構成,實現小型化 之非線性轉換部。
具體而言,上述非線性轉換部具有密碼處理部,該密碼處理部將作為資料處理對象之資料之構成位元分割成複數條線而輸入,並對各條線之資料重複執行應用有回合函數之資料轉換處理;密碼處理部具有F函數執行部,該F函數執行部輸入構成複數條線之1條線之資料,從而產生轉換資料;F函數執行部具有執行非線性轉換處理之非線性轉換處理部;非線性轉換處理部具有1個NAND或NOR運算部、包含1個XOR或XNOR運算部之非線性運算部、及位元置換部之重複構造。藉由該重複構成而實現小型化之非線性轉換部。
700‧‧‧IC模組
701‧‧‧CPU(Central processing Unit)
702‧‧‧記憶體
703‧‧‧密碼處理部
704‧‧‧亂數產生器
705‧‧‧收發部
圖1係說明與k位元之密鑰長度相對應之n位元對稱密鑰區塊密碼演算法之圖。
圖2係說明與圖1所示之k位元之密鑰長度相對應之n位元對稱密鑰區塊密碼演算法所對應的解密演算法之圖。
圖3係對於密鑰編排部與資料加密部之關係進行說明之圖。
圖4係對於資料加密部之構成例進行說明之圖。
圖5係對於SPN構造之回合函數之示例進行說明之圖。
圖6係對於Feistel構造之回合函數之一例進行說明之圖。
圖7係對於擴展Feistel構造之一例進行說明之圖。
圖8係對於擴展Feistel構造之一例進行說明之圖。
圖9係對於非線性轉換部之構成例進行說明之圖。
圖10係對於線性轉換處理部之構成例進行說明之圖。
圖11係對於將複數個具有較小尺寸之輸入輸出之S-box加以組合而產生較大之S-box之構成例進行說明之圖。
圖12係對於將複數個具有較小尺寸之輸入輸出之S-box加以組合而產生較大之S-box之構成例進行說明之圖。
圖13係對於將複數個具有較小尺寸之輸入輸出之S-box加以組合而產生較大之S-box之構成例進行說明之圖。
圖14係對於將複數個具有較小尺寸之輸入輸出之S-box加以組合而產生較大之S-box之構成例進行說明之圖。
圖15係對於將複數個具有較小尺寸之輸入輸出之S-box加以組合而產生較大之S-box之構成例進行說明之圖。
圖16係對於邏輯運算與位元置換之重複構造之4位元S-box之構成例進行說明之圖。
圖17係對於邏輯運算與位元置換之重複構造之4位元S-box之構成例進行說明之圖。
圖18係對於邏輯運算與位元置換之重複構造之4位元S-box之構成例進行說明之圖。
圖19係對於邏輯運算與位元置換之重複構造之4位元S-box之構成例進行說明之圖。
圖20係對於邏輯運算與位元置換之重複構造之4位元S-box之構成例進行說明之圖。
圖21係對於邏輯運算與位元置換之重複構造之5位元S-box之構成例進行說明之圖。
圖22係對於藉由基於type-IGFN(Generalized Feistel Network)之使用有較小之S-box之重複處理而產生較大之S-box之構成例進行說明之圖。
圖23係對於藉由基於type-IIGFN之使用有較小之S-box之重複處理而產生較大之S-box之構成例進行說明之圖。
圖24係對於藉由使用有較小之S-box之重複處理而產生較大之S-box之構成法之應用例進行說明之圖。
圖25係對於藉由使用有較小之S-box之重複處理而產生較大之S-box之構成法之應用例進行說明之圖。
圖26係對於藉由使用有較小之S-box之重複處理而產生較大之S-box之構成法之應用例進行說明之圖。
圖27係對於藉由使用有較小之S-box之重複處理而產生較大之S-box之構成法之應用例進行說明之圖。
圖28係對於藉由使用有較小之S-box之重複處理而產生較大之S-box之構成法之應用例進行說明之圖。
圖29係表示作為密碼處理裝置之IC模組700之構成例之圖。
700‧‧‧IC模組
701‧‧‧CPU
702‧‧‧記憶體
703‧‧‧密碼處理部
704‧‧‧亂數產生器
705‧‧‧收發部

Claims (13)

  1. 一種資料處理裝置,其包括資料轉換處理部,該資料轉換處理部係將作為資料處理對象之資料之構成位元分割成複數條線(line)而輸入,並重複執行針對各條線之資料之資料轉換處理;上述資料轉換處理部包括F函數執行部,該F函數執行部係輸入構成上述複數條線之1條線之資料而產生轉換資料;上述F函數執行部包括執行非線性轉換處理之非線性轉換處理部;上述非線性轉換處理部包含:將非線性運算部與位元置換部交互重複之重複構造;上述重複構造所包含之複數個非線性運算部包含具有不同運算構成之至少2個以上之不同的非線性運算部;上述2個以上之不同的非線性運算部包含下述(a)、(b)之2個構成:(a)執行2條線之資料之邏輯運算結果與別條線之資料的XOR運算之構成;(b)執行2條線之資料之邏輯運算結果與別條線之資料的XNOR運算之構成。
  2. 如請求項1之資料處理裝置,其中上述位元置換部具有調換對於上述非線性運算部之輸入輸出位元之配線構成。
  3. 如請求項1之資料處理裝置,其中 上述重複構造所包含之非線性運算部係包含1個NAND或NOR運算部、及1個XOR或XNOR運算部之運算部;上述非線性轉換處理部係將作為2位元輸入1位元輸出之NAND或NOR運算部中之運算結果的1位元輸出至上述XOR或XNOR運算部,並執行與其他輸入1位元資料之XOR或XNOR運算,將作為XOR或XNOR運算結果而產生之1位元資料作為非線性轉換處理結果之構成位元而輸出。
  4. 如請求項1之資料處理裝置,其中上述非線性轉換處理部係於輸出n位元資料之非線性轉換結果之構成中,具有將上述非線性運算部重複n次以上之重複構造。
  5. 如請求項1之資料處理裝置,其中上述非線性轉換處理部係於輸出n位元資料之非線性轉換結果之構成中,設定有n次上述非線性運算部、及於n次之上述非線性運算部之間設定有n-1次上述位元置換部之構成。
  6. 如請求項1之資料處理裝置,其中上述重複構造所包含之非線性運算部係包含1個NAND或NOR運算部、及1個XOR或XNOR運算部之運算部;上述非線性轉換處理部係對於所有作為非線性轉換對象之資料之構成位元,產生與1個NAND或NOR運算部之運算結果之XOR或XNOR運算結果,並將該XOR或XNOR運算結果作為非線性轉換結果之構成位元而輸出。
  7. 如請求項1之資料處理裝置,其中上述重複構造所包含之非線性運算部係包含1個NAND 或NOR運算部、及1個XOR或XNOR運算部之運算部;上述非線性轉換處理部為於上述重複構造中,具有XOR運算部與XNOR運算部之兩者之構成。
  8. 如請求項1之資料處理裝置,其中上述資料處理裝置執行將作為輸入資料之明文轉換成密文之加密處理、或將作為輸入資料之密文轉換成明文之解密處理。
  9. 如請求項1之資料處理裝置,其中上述非線性轉換處理部包含:4位元輸入、4位元輸出之非線性運算部、與位元置換部之重複構造。
  10. 一種資料處理裝置,其包括非線性轉換處理部,該非線性轉換處理部包含:非線性運算部與一種位元置換部之重複構造;上述非線性運算部係包含1個NAND或NOR運算部、及1個XOR或XNOR運算部之非線性運算部;上述重複構造所包含之複數個非線性運算部包含具有不同運算構成之至少2個以上之不同的非線性運算部;上述2個以上之不同的非線性運算部包含下述(a)、(b)之2個構成:(a)執行2條線之資料之邏輯運算結果與別條線之資料的XOR運算之構成;(b)執行2條線之資料之邏輯運算結果與別條線之資料的XNOR運算之構成;上述非線性轉換處理部係對於所有作為非線性轉換對 象之資料之構成位元,產生與1個NAND或NOR運算部之運算結果之XOR或XNOR運算結果,並將該XOR或XNOR運算結果作為非線性轉換結果之構成位元而輸出。
  11. 一種資訊處理裝置,其包括:記憶體,其儲存程式;處理器,其執行上述程式;資料轉換處理部,其係將作為資料處理對象之資料之構成位元分割成複數條線而輸入,並重複執行針對各條線之資料之資料轉換處理;上述資料轉換處理部包括F函數執行部,該F函數執行部係輸入構成上述複數條線之1條線之資料而產生轉換資料;上述F函數執行部包括執行非線性轉換處理之非線性轉換處理部;上述非線性轉換處理部包含將非線性運算部與位元置換部交互重複之重複構造;上述重複構造所包含之複數個非線性運算部包含具有不同運算構成之至少2個以上之不同的非線性運算部;上述2個以上之不同的非線性運算部包含下述(a)、(b)之2個構成:(a)執行2條線之資料之邏輯運算結果與別條線之資料的XOR運算之構成;(b)執行2條線之資料之邏輯運算結果與別條線之資料的XNOR運算之構成。
  12. 一種資料處理方法,其係於資料處理裝置中執行者,且由資料處理部將作為資料處理對象之資料之構成位元分割成複數條線而輸入,並重複執行針對各條線之資料之資料轉換處理;於上述資料轉換處理中,執行輸入構成上述複數條線之1條線之資料而產生轉換資料之F函數;於上述F函數之執行處理中,執行非線性轉換處理;上述非線性轉換處理係適用了將非線性運算部與位元置換部交互重複之重複構造之處理;上述重複構造所包含之複數個非線性運算部包含具有不同運算構成之至少2個以上之不同的非線性運算部;上述2個以上之不同的非線性運算部包含下述(a)、(b)之2個構成:(a)執行2條線之資料之邏輯運算結果與別條線之資料的XOR運算之構成;(b)執行2條線之資料之邏輯運算結果與別條線之資料的XNOR運算之構成;上述非線性轉換處理係作為適用了上述2個以上之不同的非線性運算部之處理而執行。
  13. 一種程式,其係於資料處理裝置中執行資料轉換處理者,且使資料處理部將作為資料處理對象之資料之構成位元分割成複數條線而輸入,並重複執行針對各條線之資料 之資料轉換處理;於上述資料轉換處理中,執行輸入構成上述複數條線之1條線之資料,而產生轉換資料之F函數;於上述F函數之執行處理中,執行非線性轉換處理;上述非線性轉換處理係適用了將非線性運算部與位元置換部交互重複之重複構造之處理;上述重複構造所包含之複數個非線性運算部包含具有不同運算構成之至少2個以上之不同的非線性運算部;上述2個以上之不同的非線性運算部包含下述(a)、(b)之2個構成:(a)執行2條線之資料之邏輯運算結果與別條線之資料的XOR運算之構成;(b)執行2條線之資料之邏輯運算結果與別條線之資料的XNOR運算之構成;上述非線性轉換處理係作為適用了上述2個以上之不同的非線性運算部之處理而執行。
TW101105913A 2011-03-28 2012-02-22 Data processing device, information processing device, data processing method and program TWI595460B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011069184 2011-03-28
JP2011207704A JP5682526B2 (ja) 2011-03-28 2011-09-22 データ処理装置、およびデータ処理方法、並びにプログラム

Publications (2)

Publication Number Publication Date
TW201241800A TW201241800A (en) 2012-10-16
TWI595460B true TWI595460B (zh) 2017-08-11

Family

ID=46930383

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101105913A TWI595460B (zh) 2011-03-28 2012-02-22 Data processing device, information processing device, data processing method and program

Country Status (8)

Country Link
US (1) US9083507B2 (zh)
EP (1) EP2693682B1 (zh)
JP (1) JP5682526B2 (zh)
CN (1) CN103503362B (zh)
BR (1) BR112013024249A2 (zh)
RU (1) RU2603550C2 (zh)
TW (1) TWI595460B (zh)
WO (1) WO2012132622A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4561252B2 (ja) 2004-09-03 2010-10-13 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
US10142099B2 (en) * 2013-01-11 2018-11-27 Qualcomm Incorporated Method and apparatus for a computable, large, variable and secure substitution box
JP2014240921A (ja) * 2013-06-12 2014-12-25 株式会社東芝 暗号装置、暗号処理方法及び暗号処理プログラム
CN103873229B (zh) * 2014-03-13 2017-01-11 华南师范大学 KLEIN加密AVR环境下抗timing和cache边信道攻击的快速保护方法
WO2015146432A1 (ja) * 2014-03-28 2015-10-01 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにプログラム
JP6669444B2 (ja) * 2015-06-29 2020-03-18 株式会社ミツトヨ 造形装置、及び造形方法
RU2591015C1 (ru) * 2015-12-28 2016-07-10 федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) Способ нелинейного трехмерного многораундового преобразования данных rdozen
RU199358U1 (ru) * 2020-03-04 2020-08-28 Федеральное государственное бюджетное образовательное учреждение высшего образования "Ульяновский государственный аграрный университет имени П.А. Столыпина" Устройство для сушки свекловичного жома
US20230297693A1 (en) * 2020-09-02 2023-09-21 Nec Corporation Information processing apparatus, information processing method, and non-transitory computer readable medium storing program
DE102020129058B3 (de) * 2020-11-04 2021-07-01 Infineon Technologies Ag Datenverarbeitungseinrichtung und verfahren zum kryptographischen verarbeiten von daten

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200830233A (en) * 2006-09-01 2008-07-16 Sony Corp Data converting device, data conversion method, and computer program
WO2010024248A1 (ja) * 2008-08-25 2010-03-04 ソニー株式会社 データ変換装置、およびデータ変換方法、並びにプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6201869B1 (en) 1995-09-05 2001-03-13 Mitsubishi Denki Kabushiki Kaisha Data transformation apparatus and data transformation method
JPH1124558A (ja) 1997-06-30 1999-01-29 Nippon Telegr & Teleph Corp <Ntt> 暗号装置
US6182216B1 (en) * 1997-09-17 2001-01-30 Frank C. Luyster Block cipher method
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
DE60301750T2 (de) * 2002-04-03 2006-07-06 Matsushita Electric Industrial Co., Ltd., Kadoma Vorrichtung zur Erzeugung eines erweiterten Schlüssels, Verschlüsselungsvorrichtung und Verschlüsselungssystem
JP2007192893A (ja) 2006-01-17 2007-08-02 Sony Corp 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP2007199156A (ja) 2006-01-24 2007-08-09 Sony Corp 暗号処理装置、暗号処理装置製造装置、および方法、並びにコンピュータ・プログラム
JP4882598B2 (ja) * 2006-07-28 2012-02-22 ソニー株式会社 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム
FR2920617A1 (fr) 2007-09-05 2009-03-06 France Telecom Generateur et procede de generation de fonction pseudo- aleatoire a cle secrete.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200830233A (en) * 2006-09-01 2008-07-16 Sony Corp Data converting device, data conversion method, and computer program
WO2010024248A1 (ja) * 2008-08-25 2010-03-04 ソニー株式会社 データ変換装置、およびデータ変換方法、並びにプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Daemen, J. et al.(2000), The NOEKEON Block Cipher, Nessie Proposal. http://gro.noekeon.org/Noekeon-spec.pdf. *
Standaert F.-X. et al.(2006), SEA: Scalable Encryption Algorithm for Small Embedded Applications, Lecture Notes in Computer Science, Vol.3928, p.222-236. *

Also Published As

Publication number Publication date
RU2013142995A (ru) 2015-03-27
EP2693682B1 (en) 2017-05-31
JP2012215815A (ja) 2012-11-08
CN103503362B (zh) 2016-08-24
US9083507B2 (en) 2015-07-14
EP2693682A4 (en) 2014-12-24
CN103503362A (zh) 2014-01-08
RU2603550C2 (ru) 2016-11-27
BR112013024249A2 (pt) 2018-06-19
EP2693682A1 (en) 2014-02-05
TW201241800A (en) 2012-10-16
WO2012132622A1 (ja) 2012-10-04
US20140003603A1 (en) 2014-01-02
JP5682526B2 (ja) 2015-03-11

Similar Documents

Publication Publication Date Title
TWI595460B (zh) Data processing device, information processing device, data processing method and program
JP5682527B2 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
JP4882598B2 (ja) 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム
TWI552121B (zh) A cryptographic processing device, a cryptographic processing method and a program
US9363074B2 (en) Encryption processing apparatus, encryption processing method, and computer program
JP6406350B2 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
WO2008026624A1 (en) Data conversion device, data conversion method, and computer program
WO2008026625A1 (fr) Dispositif de codage, procédé de codage et programme informatique
JP2015191106A (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
JP5652363B2 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
WO2016059870A1 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
WO2015146430A1 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
JP5680016B2 (ja) 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム
JP5772934B2 (ja) データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム
WO2015146432A1 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
JP6292107B2 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
JP5338945B2 (ja) 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム
JP2009003312A (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム

Legal Events

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