TW201251412A - Encryption processing device, encryption processing method, and programme - Google Patents

Encryption processing device, encryption processing method, and programme Download PDF

Info

Publication number
TW201251412A
TW201251412A TW101105914A TW101105914A TW201251412A TW 201251412 A TW201251412 A TW 201251412A TW 101105914 A TW101105914 A TW 101105914A TW 101105914 A TW101105914 A TW 101105914A TW 201251412 A TW201251412 A TW 201251412A
Authority
TW
Taiwan
Prior art keywords
key
alloy
round
unit
data
Prior art date
Application number
TW101105914A
Other languages
English (en)
Inventor
Kyoji Shibutani
Atsushi MITSUDA
Toru Akishita
Takanori Isobe
Taizo Shirai
Harunaga Hiwatari
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 TW201251412A publication Critical patent/TW201251412A/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • 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

Description

201251412 六、發明說明: 【發明所屬之技術領域】 本發明内容係關於一種密碼處理裝置、密碼處理方法及 程式。更詳細而言係關於一種執行對稱金鑰系統密碼之密 碼處理裝置、密碼處理方法及程式。 【先前技術】 伴隨資訊化社會之發展,用以保護所處理之資訊之安全 之資訊安全技術之重要性不斷增加。作為資訊安全技術之 構成要素之一,存在密碼技術,目前於各種製品或系統中 利用有密碼技術。 密碼處理演算法多種多樣,但作為基本之技術之一,存 在稱為公用金鑰區塊密碼者。於公用金鑰區塊密碼中,加 密用之金鑰與解密用之金鑰對稱。加密處理、解密處理均 係根據該對稱金鑰生成複數個金鑰、且以某區塊單位例如 64位元、128位元、256位元等區塊資料單位重複執行資料 轉換處理。 作為代表性之公用金鑰區塊密碼之演算法,已知有作為 過去之美國標準的DES(Data Encryption Standard,資料加密 標準)或作為目前之美國標準的AES(Advanced Encryption Standard,進階加密標準)。此外,目前亦相繼提出有各種 公用金鑰區塊密碼,於2007年索尼股份有限公司提出之 CLEFIA亦為公用金錄區塊密碼之一。 此種公用金鑰區塊密碼之演算法主要藉由包括重複執行 輸入資料之轉換的回合函數執行部之密碼處理部、及生成 160150.doc 201251412 函數部之各回合中應用之回合金錄的金賴程部而 構成。金錄排程部基於作為秘密金錄之主金錄⑽咖 ㈣,而首先生錢位元數增加之㈣錢,基於所生成 之擴張金錄而生成於密碼處理部之各回合函數部應用之回 合金錄(副金瑜)。 ·—— 作為執行此種演算法之具體之結構,已知有重複執行包 括線性轉換部及非線性轉換部之回合函數之結構。例如於 代表性之結構中存在Feistel結構或一般化Μ㈣構。 FeiStel結構或一般化Feiste丨結構具有藉由包含作為資料轉 換函數之F函數的回合函數的單純之重複而將明文轉換為 密文之結構。再者’於F函數中執行線性轉換處理及非線 性轉換處^再者,作為記載有應用有丨結構之密碼 處理之文獻’例如有非專利文獻i、非專利文獻2。 另一方面,亦出現了不正當地執行密碼演算法之解析、 或金錄之解析等而進行解密之方法等各種新方法。作為其 中之,例如存在相關金鑰攻擊。為應對此種攻擊,亦考 慮有各種對策,但現狀為無法說該對策為充分者。 [先前技術文獻] [非專利文獻] [非專利文獻 1] K. Nyberg,「Generalized Feistel networkSj > ASIACRYPT 96, SpringerVerlag, 1996, pp.91-104.
[非專利文獻 2] Yuliang Zheng, Tsutomu Matsumoto, Hidekilmai: On the Construction of Block Ciphers Provably 160150.doc 201251412
Secure and Not Relying on Any Unproved Hypotheses. CRYPTO 1989: 461-480 [非專利文獻 3] Sony Corporation,「The 128-bit Blockcipher CLEFIA Algorithm Specification」,Revision 1.0, 2007.
[非專利文獻4]青木、市川、神田、松井、盛合、中 島、時田,「128位元區塊密碼Camellia演算法說明書」,第 2_0版,2001 [非專利文獻 5] GOST 28147-89: Encryption, Decryption, and Message Authentication Code (MAC) Algorithms, RFC 5830.
[非專利文獻 6] 3rd Generation Partnership Project, Technical Specification Group Services and System Aspects, 3G Security, Specification of the 3GPP Confidentiality and Integrity Algorithms; Document 2: KASUMIS pecification, V9.0.0, 2009 【發明内容】 [發明所欲解決之問題] 本發明内容例如係鑒於上述狀況研究而成者,其目的在 於提供一種使相關金鑰攻擊等不正當之解密困難化、且安 全性較高之密碼處理裝置、密碼處理方法及程式。 [解決問題之技術手段] 本發明内容之第1態樣係一種密碼處理裝置,其包括: 密碼處理部,該密碼處理部將成為資料處理對象之資料之 160150.doc 201251412 構成位元分割成複數列並輸入,且對各列之資料重複執行 應用回合函數之資料轉換處理作為回合運算;及 金鑰排程部,其對上述密碼處理部之回合運算執行部輸 出回合金錄;且 上述金鑰排程部為將預先保持之秘密金鑰分割成複數個 而生成複數個回合金鑰或回合金鑰構成資料之置換型金鑰 排程部,且 對在上述密碼處理部依序執行之回纟運算執行部,以一 疋序列之不重複之设疋輸出上述複數個回合金錄或將上 述回合金賴成資料結合而生成之複數個回合金输。 進而’於本發明内容之密碼處理裝置之-實施態樣中, 上述金錄排程部以上述回合運算執行部中之複數個回合單 位變更對上述回合運篡勃# 昇執仃°卩之上述複數個回合金鑰之輸 入序列。 進而 於本發明内容之密碼處 上述密碼處理部包括函數執行部, 複數列之資料,且包括非線性轉換處 理;及運算部,其對上述f函數執行部 述回合金錄之運算。 理裝置之一實施態樣 中, 其輸入分割成上述 理、及線性轉換處 之輸出執行應用上 之一實施態樣中, 之秘密金鑰分割成 回合金錄為相同位 進而,於本發明内容之密碼處理裝置 上述金鑰排程部生成具有與將預先保持 複數個而輸入至上述回合運算執行部之 元數之複數個回合金錄。 進而 ,於本發明内容之密碼處 理裝置之一實施態樣 中, 160I50.doc 201251412 上述金鑰排程部生成具有較將預先保持之秘密金鑰分割成 複數個而輸a至上述回合運算執行部t回合錢少之位元 數之複數個回合金賴成資料,且生成與連結複數個上述 複數個回合金賴成資料而輸人至上述回合運算執行部之 回合金鑰為相同位元數之回合金瑜。 進而,於本發明内容之密碼處理裝置之一實施態樣中, 上述金鑰排程部對在上述密碼處理部依序執行之回合運算 執行部中並列輸出於回合運算執行部並列應用之複數個回 合金錄。 進而’於本發明内容之密崎處理裝置之一實施態樣中, 上述金賴程部包括進行對上述回合運算執行部之金錄之 選擇供給處理之1以上之選擇器。 而於本發明内今之密碼處理裝置之一實施態樣中, 上述金㈣程部設定區分上述複數個回合㈣或上述回合 金瑜構成資料之複數個群組,以所設定之群組單位進行對 上述回合運算執行部之金鑰供給序列之控制處理。 進而’於本發明内容之密碼處理裝置之一實施態樣中, 上述金鑰排程部包括上述群組單位之選擇器。 進而’於本發明内容之密碼處理裝置之-實施態樣中, 上述密碼處理部執行將作為輸人資料之明文轉換為密文之 加密處理、或將作騎人資料之密文轉換為敎之解密處 理。 進而,本發明内容之第2態樣係一種密碼處理方法,直 係於密碼處理裝置中執行者,且執行以下㈣: 、 160150.doc 201251412 '、碼ί!步驟’由密碼處理部將成為資料處 料之構成位元分割成複數列並輸入,且對各列之資料重^ 執行應用回合函數之資料轉換處理作為回合運算·及重複 =排=驟,由金錄排程部對上述密碼處理部之回合 運算執仃部輸出回合金鑰;且 =述__部為㈣Μ持之秘密金餘分割成複數個 而生成複數個回合金錄或回合金錄構成資料之置換型金鍮 排程部,且 對在上述密碼處理部依序執行之回合運算執行部,以一 定序列之不重複之設定輸出使上述複數細合金錄、或將 上述回合金餘構成資料結合而生成之複數個回合金錄。 進而,本發明内容之第3態樣係一種程式,其係於密碼 處理裝置中使密碼處理得以執行者,且使以下步驟執行: 密碼處理步驟,其係使密碼處理部將成為資料處理對象 之資料之構成位元分割成複數列並輸入,並對各列之資料 重複執行應用回合函數之資料轉換處理作為回合運算;及 金鑰排程步驟,其係使金鑰排程部對上述密碼處理部之 回合運算執行部輸出回合金鑰;且 上述金鑰排程部為將預先保持之秘密金鑰分割成複數個 而生成複數個回合金鑰或回合金鑰構成資料之置換型金鑰 排程部,且 使上述金鑰排程部對在上述密碼處理部依序執行之回合 運算執行部’以一定序列之不重複之設定輸出上述複數個 回合金錄、或將上述回合金鑰構成資料結合而生成之複數 160150.doc 201251412 個回合金鑰。 對可勃-彳如本發明内谷之程式為例如藉由記憶媒體而 式仃各種程式碼之資訊處理裝置或電腦系統提供之程 1種2以資訊處理裝置或電腦系統上之程式執行部執行 程式而實現與程式相應之處理。 :發明内容之進而其他之目的、特徵或優點藉由基於下 :本發明之實施例或隨附圖式的進—步詳細之說明而得以 明確。再者’於本說明書中,所謂系統係指複數個裝置之 邏輯性之集合構成,而並*限定於各構成之裝置在同一殼 體内者》 [發明之效果] 根據本發明内容之一實施例,藉由回合金鑰之供給控制 而實現安全性較高之密碼處理裝置。 •^、體而5,包括密碼處理部,其將成為資料處理對象之 資料之構成位元分割成複數列而進行輸入,且將應用有回 合函數之資料轉換處理設為回合運算而對各列之資料重複 執行;及金鑰排程部,其對上述密碼處理部之回合運算執 行部輸出回合金鑰;且上述金鑰排程部為將預先保持之秘 达、金鑰分割成複數個而生成複數個回合金输之置換型金錄 排程部’且對在上述密碼處理部依序執行之回合運算執行 部以一定序列之不重複之設定進行輸出所生成之複數個回 合金鑰。藉由本構成’而實現例如對相關金鑰攻擊等的耐 受性較高之安全性較高之密碼處理構成。 【實施方式】 160I50.doc -9- 201251412 v ,一面參照圖式一面對本發明内容之密碼處理裝 置、密碼處理方法及程式之詳細内容進行說明。說明係按 照以下項目進行。 1·公用金鑰區塊密碼之概要 2. 關於金鑰排程部之構成及處理之概要 3. 關於對金鑰排程部之攻擊及至此為止之對策例 4·關於對於相關金鑰攻擊可獲得安全性之置換型金鑰排 程部 5 ·關於金鑰置換型金錄排程部之各種構成例(變化) 6. 關於密碼處理裝置之構成例 7. 本發明内容之構成之總結 [1 ·公用金鑰區塊密碼之概要] 首先,說明公用金鑰區塊密碼之概要。 (1-1.公用金鑰區塊密碼) 此處’作為公用金鑰區塊密碼(以下稱為區塊密碼)係指 如下定義者。 區塊密碼取得明文P及金鑰κ作為輸入而輸出密文C。將 明文及密文之位元長稱為區塊尺寸,此處以η表示。η可取 任意之整數值,但通常為針對各區塊密碼演算法而預先決 定為一個之值。有時亦將區塊長為η之區塊密碼稱為η位元 區塊密碼。 以k表示金鑰之位元長。金鑰可取任意之整數值。公用 金鑰區塊密碼演算法對應於1個或複數個金鑰尺寸。例如 某區塊密碼演算法A設為亦可為區塊尺寸n=128、且與 160150.doc •10· 201251412 k=〗28、k=192或k=256之金鑰尺寸對應之構成者。 明文P : η位元 密文C : η位元 金鑰K : k位元 圖1表示與k位元之金鑰長對應之n位元公用金錄區塊密 碼演算法Ε之圖。 與加密演算法Ε對應之解密演算法D可定義為加密演算 法Ε之逆函數Ε·1 ’接收密文C及金鑰Κ作為輸入而輸出明文 Ρ。圖2表示與圖1所示之密碼演算法ε對應之解密演算法D 之圖。 (1-2.内部構成) 區塊密碼可分為2個部分來考慮。一個為「金输排程 部」,其將金鑰K作為輸入,而輸出藉由某預先規定之步驟 使位元長增大而形成之擴張金鑰κ,(位元長k,),另一個為 「資料加密部」,其取得明文P及來自金鑰排程部之經擴展 之金餘K’後進行資料之轉換而輸出密文匸。 2個部分之關係示於圖3。 (1-3·資料加密部)
金鑰排程輸出之擴張金鑰之一 。另一個輸入資料係使用自 部分之資料,將該金鑰資料 160150.doc 201251412 稱為回合金瑜。又 針對每種密碼演算 回合數。 ’回合函數之總數稱為總回合數,且為 法而預先決定之值。此處,以R表示總 执若自資料加密部之輸入側㈣m回合之輸入資料 為1冑輸入至第i個回合函數之資料設為Xi,將回合 金錄°又為RKi ’則資料加密部整體如圖4所示。 (1-4.回合函數) 回合函數可根據區塊密碼演算法而採取各種形態。回合 函數可根據該密碼演算法採用之結構⑽W)而分類。 作為代表性之結構,此處例示SPN結構、Feistel結構、擴 展Feistel結構。 (一)SPN結構回合函數 其為對所有n位元之輸入資料應用與回合金鑰之互斥或 L輯運算也線性轉才奐、線性轉換處理等之構成。各運算 之順序並無特別規定。圖5表示spN結構之回合函數之 例。 (二)Feistel結構 將η位元之輸入資料分割為n/2位元之2個資料。應用具 有其中個資料及回合金錄作為輸入之函數(F函數),且 使輸出針對另一個資料施以互斥或邏輯。其後,將已更換 資料之左右者設為輸出資料。F函數之内部構成亦有各種 類型,但基本上與SPN結構同樣地係以與回合金鑰資料之 互斥或邏輯運算、非線性運算、線性轉換之組合而實現。 圖6表示Feistel結構之回合函數之一例。 160150.doc •12- 201251412 (三) 擴展Feistel結構 擴展Feistel結構係將於Feistel結構中資料分割數為2者擴 展為分割成3以上之形態者。若將分割數設為d,則可藉由 d而定義各種擴展Feistel結構。由於f函數之輸入輸出之尺 寸變得相對較小’故而適合小型安裝。圖7表示d=4、且於 一個回合内並列應用2個F函數之情形時之擴展Feistei結構 之一例。又,圖8表示d=8、且於一個回合内應用1個1?函數 之情形時之擴展Feistel結構之一例。 (四) d系列一般化Feistel結構 於分割數d為偶數之擴展Feistel結構中,於一個回合内 並列應用d/2個F函數。 又’使用循環移位作為回合間之置換。 再者’圖7、18、20表示4系列一般化FeisteU_。 (1 -5 ·非線性轉換處理部) 非線性轉換處理部存在若輸入之資料之尺寸變大則安裝 上之成本變高之傾向。為避免此情況,多採用將對象資料 分割為複數個單位、且對各單位實施非線性轉換之構成。 例如為如下構成’即將輸人尺寸設為邮位元,將該等分割 成每s位元之m個資料,且對各資料進行具有8位元輸入輸 出之非線性轉換。將該等s位元單位之非線性轉換稱為8盒 (S-box)。圖9表示其例。 (1 _6.線性轉換處理部) 線性轉換處理部於其性f上可定義為料一般而古, 矩陣之要素可為GF(28)之體之要素或GF(2)之要素等㈣ 160150.doc -13· 201251412 表示。圖ίο表示具有抓位元輸入輸出、且藉由於GF(2S)上 疋義之mxm之矩陣而定義之線性轉換處理部之例。 [2·關於金鑰排程部之構成及處理之概要] 於本發明内容之密碼處理之說明之前,對作為成為前提 之構成的金鑰排程部之構成及處理之概要進行說明。 如圖11所示,金鑰排程部(擴張金鑰生成部)為以k位元之 秘密金鑰K為輸入、且藉由某規定之轉換而生成k,位元之 擴張金鑰(回合金鑰)K,之函數。 一般而言,k<k’,於資料加密部進行稱為回合函數之非 線性運算之重複處理之情形時,於將供給至各回合函數之 回合金鑰設為m位元,將回合函數之重複次數設為尺時, k'=mxR。為如圖12所示之設定。 例如於公用金鑰區塊密碼AES中, 於k=128之情形時, 由於 m= 12 8、R= 11, 故而 k'=l 408 » 於k= 192之情形時, 由於 m=l 28、R=l 3 , 故而 k' = l 664。 於金鑰排程部中於安全性上要求如下特性(特性 (特性1)不存在等效金錄 再者,對於輸入秘密金鑰κο時之擴張金鑰κο,、及輸入 秘密金鑰〖1〇^0)時之擴張金鑰K1,,於Κ0,=Κ1,成立時, 將Κ0與Κ1稱為等效金鑰。 160150.doc 201251412 (特性2)對相關金鑰攻擊(related key attack)具有充分之 耐受性 ' ¥通之攻擊係利用某固定之秘密金錄上之明文或密文間 /資料之偏差(差量、線性等),相對於此’相關金鑰攻擊 係利用複數個秘密金鑰上之明文或密文間資料之偏差。 例如為於不知曉2個秘密金鑰之值、但秘密金鑰之差量 為已知之假定下進行之攻擊。 又,亦存在設定攻擊者可自由地選擇秘密金鑰之差量之 強而有力之假定的攻擊。較為理想的是於該假定下亦達成 安全性。 例如,於it常之差量攻擊(不考慮相關金錄之差量攻擊) 之情形時,攻擊者僅利用藉由未知之秘密金編加密之 «個明文P、密文C(=E(K ’ p))之組’而導出該未知之秘 在、金錄K。 然而,於相關錢差量攻擊之情形時,攻擊者除利用藉 由未知之秘密金鑰K而加密之複數個明文p、密文 c〇=E(K’P))之組以外’對該未知之秘密金錄κ,亦利用藉 由加上攻擊者衫之任意之秘密金瑜差量从紅⑴ΔΚ而 加密之複數個明文Ρ,、密文C,(=E(K(+)AK,Ρ,))之組而 導出未知之秘密金鑰κ。 其中,(+)表示互斥或邏輯運算子。 藉此,相關金鑰差量攻擊因攻擊者可利用之資訊進一步 增加而成為較通常之差量攻擊更強而有力之攻擊。 (特性3)對滑動攻擊(slide attaek)具有充分之耐受性 160150.doc •15- 201251412 例如將輸入秘密金鑰κο時之回合金鑰設為rk丨、 RK:2、…、rkr,於取得如輸入秘密金鑰K1時之回合金鑰 為RK:2、RK:3、…、RK㈣般滑動而得之值時,存在安全性 受損之可能性。 進而,於金鑰排程部於安裝上亦要求如下特性(特性 4〜9) ° (特性4)安裝較為容易 (特性5)根據秘密金鑰生成擴張金鑰之設置時間較短 (特性6)可於運行中生成擴張金鑰 (特性7)加密金錄排程部、解密金錄排程部可儘量共享 (特性8)資料加密部、與資料解密部可儘量共享 (特性9)可容易地應對秘密金鑰長之變更 就安全性、及安裝之觀點而言,較為理想的是金鑰排程 部平衡性較佳地滿足該等特性。 [3.關於對金鑰排程部之攻擊及至此為止之對策例] 其次,說明對金鑰排程部之攻擊及至此為止之對策例。 金鑰排程部針對各種公用金鑰區塊密碼而完成有各種設 計。 金鑰排程部之安全性、安裝性能與資料加密部存在較深 之關聯,但一般而言,可認為與資料加密部同樣地,安全 性與安裝性能存在折衷關係。 例如作為將複雜之非線性函數導入至金鑰排程部之密 碼,可列舉CLEFIA(非專利文獻 3: Sony Corporation,「The 128-bit Blockcipher CLEFIA Algorithm Specification」, 160150.doc 16 201251412
Revision 1.〇,2007.)、Camellia(非專利文獻 4 :青木、市 川、神田、松井、盛合、中島、時田,「j 28位元區塊密碼 Camellia演算法說明書」,第2 〇版,2001)等。該等對於相 關金瑜攻擊等起因於金鑰排程部之攻擊法具有較高之安全 性’但存在安裝成本較高、尤其於硬體安裝時電路規模會 增大之問題。又,為提昇安裝性能,可列舉Aes作為具有 導入有較為簡單之非線性函數之金餘排程部的密碼,但已 知AES對於相關金鑰攻擊較為脆弱(於192/256位元金鑰之 情形時)。 進而,作為提昇安裝性能之方法,可列舉未利用非線性 函數而僅包括線性函數之方法。於其中亦將秘密金鑰資料 分割成複數個’僅將該等置換之金鑰排程部因尤其於硬體 安裝時電路幾乎無用而具有較高之安裝性能。將此種金鑰 排程部稱為置換型金鑰排程部。 置換型金鑰排程部雖具有較高之安裝性能,但伴有安全 性上之問題之方式較多。 例如,如圖13所示,區塊密碼G〇ST(g〇SudarStvennyy standart ’俄羅斯國家標準)(非專利文獻5: G〇ST 28147_89: Encryption, Decryption, and Message Authentication Code (MAC) Algorithms,RFC 5830·)之金鑰排程部為將4n位元之 秘密金鑰K每(n/2)位元地等分為8個、且將各個依序設為回 合金錄之結構。 由於不進行對秘密金鑰K之全部運算,而可僅以每回合 之選擇器構成金錄排程部,故而具有於硬體安裝時所需之 160150.doc -17- 201251412 電路非常少之特點。 然而,如圖Μ所示,由於G0ST之資料結構係採取 Feistel結構,於各F函數之前對回合金鑰進行互斥或邏 輯,故而可知對於相關金鑰攻擊較為脆弱,且可知實際上 於攻擊中會以機率1成功。 (朝GOST之以機率1成功之相關金錄攻擊) 將根據秘密金鑰κο獲得之回合金鑰設為RK〇丨、 RK〇2、…、RK0r,將根據秘密金鑰K1獲得之回合金鑰設 為RK1〗、RK12、…、RK1r。此時,將秘密金瑜κ〇與秘密 金鑰Κ1之差量設為秘密金鑰差量△,將各回合金鑰之差量 設為回合金输差量、、么2、、〜。 此處,如圖15所示,假定可提供任意之秘密金鑰差量△ 之攻擊者。此時,於在金鑰排程部導入有複雜之非線性函 數的CLEFIA、Camellia等中,各回合金鑰差量△丨並不固定 不變,從而朝資料加密部之攻擊較為困難。 然而,如圖16所示,於具有置換型金鑰排程部者中,各 回合金鑰差量4成為將秘密金鑰差量△每爪位元地分割而成 者。例如於GOST中’於設為Δ=((1,d,d,d,d,d,d, d)之情形時(△為4n位元,d為(n/2)位元,因於g〇st之情形 時故而分別為256位元、32位元),所有回合金鑰差 量Δί均等於d。 此時,於採取Feiste丨結構、且於函數之前對面向各 回合⑻,,· ··)提供之回合金錢行互斥或邏輯 之情形時,如圖17所示,藉由提供(d,d)作為明文差量而 160150.doc •18· 201251412 使朝F函數之輸入差量成為0。由於輸入差量為0之F函數之 輸出差量必定為0,故而朝後續之回合函數之輸入差量成 為(d,d)。 同樣地,於所有回合函數中,由於(d,d)之差量不斷傳 播,故而密文差量必定為(d,d)。 因此,若將對GOST輸入秘密金鑰K、明文P時獲得之密 文設為C,則輸入 秘密金錄 K(+)(d,d,d,d,d,d,d,d)、 明文 P(+)(d,d) 時獲得之密文C'以機率1成為C'=C(+)(d,d)» 將此種等式成立之機率稱為使用有相關金鑰攻擊之識別 攻擊之成功機率。本來,設為對於相關金鑰攻擊較強之區 塊密碼必需表明該機率充分小。 又,例如於如圖18所示之稱為類型2—般化Feistel結構 之結構中,於利用置換型金鑰排程部於F函數之前對回合 金鑰進行互斥或邏輯之情形時,亦同樣地可構成以機率1 躍遷之相關金鑰攻擊。 作為其他具有置換型金鑰排程部之密碼,可列舉 KASUMI(非專利文獻6: 3rd Generation Partnership Project, Technical Specification Group Services and System Aspects, 3G Security, Specification of the 3GPP Confidentiality and Integrity Algorithms; Document 2: KASUMI Specification, V9.0.0, 2009) 〇 然而,亦已知KASUMI之金鑰排程部雖具有較高之安裝 160150.doc -19- 201251412 性能’但對於相關金錄攻擊較為脆弱。 [4·關於對於相關金鑰攻擊可獲得安全性之置換型金鑰 排程部] 鑒於如上之問題點,以下對如不使安裝成本增大而對於 相關金鑰攻擊可獲得安全性般之置換型金鑰排程部之構成 法進行說明。 本方式設為首先將秘密金鑰κ等分為複數個、且將各個 按照以下方法供給至資料加密部者。 (方法1)回合金鑰插入位置之變更:對回合金鑰於F函數 之後採取互斥或邏輯(例如圖19、圖2〇所示之位置),而非 於先前之F函數之前(例如圖14 '圖18所示之位置) (方法2)回合金鑰生成置換之變更:按照資料加密部之 結構,利用如對於相關金鑰攻擊等較為安全般之置換法生 成回合金錄。 藉由以此方式構成金鑰排程部,可獲得如下效果。 (效果1)較高之安裝性能 藉由利用置換型金錄排程部而期待具有與先前型同樣高 之女裝性能。尤其,有可削減硬體安裝時之所需電路之優 點。 (效果2)利用回合金瑜之插人位置之變更而提昇安全性 如圖19或圖20所不之構成般,藉由於F函數之後而非F函 數之前對回合金鑰進行互斥或邏輯運算,即便使用有置換 型金鑰排程部,亦可防止如作為先前方法之G〇ST般之以 機率1成功之相關金鑰攻擊。 160150.doc •20- 201251412 亦可促使資料加密部之安裝性能進 又,根據安裝方法, 一步提昇。 (效果3)利用 之變更而提昇安全性 回合金鑰之置換法 與先前方式不同’並非依序供給所分狀秘密金瑜,而 以具有相關金鑰攻擊耐受性之方式適當地更換順序進行供 給。 該順序與秘密金瑜K之位元县;§八φ丨缸 ^ 〜仅疋長及分割數、以及資料加密 部之結構相關聯,必需斜料咨划_ * — 的对對資枓加密部之結構而設計金鑰 排程部。 於圖19所示之於丨回合内執行丨個?函數之以。…結構 中’於1個回合金瑜之長度為(n/2)位元、秘密金錄K為2η位 元之情形時,依每(η/2)位元加以4等分,且一面依每4回合 更換一面進行供給。 為圖21所示之設定。 對圖21所示之回合金鑰之供給處理進行說明。 秘密金鑰Κ為2η位元之金鑰資料。 將該2η位元秘密金鑰κ 4等分而生成*個回合金鑰κι、 Κ2、Κ3、Κ4。 4個回合金鑰ΚΙ、Κ2、Κ3、Κ4為(η/2)位元之金鑰資 料。 以4回合為1單位,以於各單位之間相異之序列使用該4 個回合金錄Κ1、Κ2、Κ3、Κ4。 如圖21所示,最初之4回合:於R1〜R4中按照以下序列 輸入且應用回合金錄K1〜K4。 160150.doc -21· 201251412 回合R1 : 回合金鑰Κ1 回合R2 : 回合金鑰Κ2 回合R3 : 回合金矯Κ3 回合R4 : 回合金鑰Κ4 後續之4回合:於R5-R8中按照以下序列輸入且應用回 合金鑰K1~K4。 回合R5 : 回合金鑰Κ3 回合R6 : 回合金鑰Κ1 回合R7 : 回合金鑰Κ4 回合R8 : 回合金鑰Κ2 後續之4回合:於R9〜R12中按照以下序列輸入且應用回 合金输Κ1~Κ4。 回合R9 :回合金鑰Κ4 回合R10 :回合金鑰Κ3 回合R11 :回合金鑰Κ2 回合R12 :回合金鑰Κ1 如此,以4回合為1單位,而應用於各單位中均不同之回 合金錄輸入序列。 又,亦可以較回合金鑰之長度小之單位進行分割,亦可 將2η位元之秘密金鑰Κ每(η/4)位元地8等分,且一面每4回 合地更換該等一面每2個地供給(η/4)位元者。 例如為圖22所示之構成。 對圖22所示之回合金鑰之供給處理進行說明。 秘密金鑰Κ為2η位元之金錄資料。 160150.doc -22- 201251412 將該2n位元秘密金鑰Κ 8等分而生成8個金鑰ΚΙ、Κ2、 Κ3、Κ4、Κ5、Κ6、Κ7、Κ8。 8個金鑰ΚΙ〜Κ8為(η/4)位元之金鑰資料。 包含自該8個金鑰Κ1〜Κ8中選擇出之2個金鑰之連結資料 的(η/2)位元回合金鑰:以4回合為1單位,且以於各單位中 均不同之序列利用KxKy。 如圖22所示,最初之4回合:於R1〜R4中按照以下序列 輸入且應用將金鑰資料K1-K8連結之回合金鑰KxKy。 回合R1 :回合金鑰K1K2 回合R2 :回合金鑰K3K4 回合R3 :回合金鑰K5K6 回合R4 :回合金鑰K7K8 後續之4回合:於R5〜R8中按照以下序列輸入且應用將 金输資料K1-K8連結之回合金錄KxKy。 回合R5 :回合金鑰K3K4 回合R6 :回合金鑰K2K7 回合R7 :回合金鑰K1K6 回合R8 :回合金鑰K5K8 後續之4回合:於R9〜R12中按照以下序列輸入且應用將 金鑰資料K1〜K8蚤連結之回合金鑰KxKy。 回合R9 :回合金鑰K2K7 回合R10 :回合金鑰K4K5 回合R11 :回合金鑰K3K6 回合R12 :回合金鑰K1K8 160150.doc -23- 201251412 如此,以4回合為1單位,而應用於各單位中均不同之回 合金鑰輸入序列。 又,於秘密金錄K之長度為4n位元之情形時,每(n/2)位 元地進行8等分,且一面每8回合地更換一面進行供給。 例如為圖23所示之構成。 對圖23所示之回合金鑰之供給處理進行說明。 秘密金錄K為4n位元之金输資料。 將該4n位元秘密金鑰K 8等分而生成8個回合金鑰K1、 K2、K3、K4、K5、K6、K7、K8。 8個回合金鑰K1〜K8為(n/2)位元之金鑰資料。 以8回合為1單位,且以於各單位中均不同之序列利用該 8個回合金錄K1〜K8。 如圖23所示,最初之8回合:於R1-R8中按照以下序列 輸入且應用回合金錄。 回合R1 :回合金鑰K1 回合R2 :回合金鑰K2 回合R3 :回合金鑰K3 回合R4 :回合金鑰K4 回合R5 :回合金鑰K5 回合R6 :回合金鑰K6 回合R7 :回合金鑰K7 回合R8 :回合金鑰K8 後續之8回合:於R9-R16中按照以下序列輸入且應用回 合金输。 160150.doc • 24· 201251412 回合R9 :回合金鑰Κ2 回合RIO :回合金鑰Κ5 回合R11 :回合金鑰Κ1 回合R12 :回合金鑰Κ4 回合R13 :回合金鑰Κ8 回合R14:回合金錄Κ6 回合R15 :回合金输Κ3 回合R16 :回合金鑰Κ7 如此,以8回合為1單位,而應用於各單位中均不同之回 合金錄輸入序列。 又,於如圖20所示之於1回合内同時執行2個F函數之4系 列一般化Feistel結構中,回合金鑰為(η/4)位元者成為2 個。於秘密金鑰Κ為2η位元之情形時,每(η/4)位元地進行8 等分,且一面每4回合地更換一面每2個地供給(η/4)位元 者。 例如為圖24所示之構成。 對圖24所示之回合金鑰之供給處理進行說明。 秘密金錄Κ為2η位元之金錄資料。 將該2η位元秘密金鑰Κ 8等分而生成8個回合金鑰Κ1、 Κ2、Κ3、Κ4、Κ5、Κ6、Κ7、Κ8。 8個回合金鑰Κ1〜Κ8為(η/4)位元之金鑰資料。 以4回合為1單位,且以於各單位中均不同之序列利用自 該8個回合金鑰Κ1〜Κ8中選擇出之2個回合金鑰。 如圖24所示,最初之4回合:於R1〜R4中按照以下序列 160150.doc -25- 201251412 輸入且應用2個回合金鑰。 回合R1 :回合金鑰K1及回合金鑰K2 回合R2:回合金錄K3及回合金鑰K4 回合R3:回合金鑰K5及回合金鑰K6 回合R4:回合金鑰K7及回合金鑰K8 後續之4回合:於R5〜R8中按照以下序列輸入且應用2個 回合金鑰。 回合R5:回合金鑰K5及回合金鑰K1 回合R6:回合金鑰K2及回合金錄K6 回合R7:回合金鑰K7及回合金鑰K3 回合R8:回合金錄K4及回合金錄K8 後續之4回合:於R9〜R12中按照以下序列輸入且應用2 個回合金錄。 回合R9:回合金鑰K7及回合金錄K5 回合R10:回合金錄K1及回合金输K3 回合R11 :回合金錄K4及回合金錄K2 回合R12:回合金鑰K6及回合金鑰K8 如此,以4回合為1單位,而應用於各單位中均不同之回 合金錄輸入序列。 又,作為使安裝效率進一步提高之方法,於每(n/4)位元 地8等分而成者之中,將4個設為用於朝左側之F函數之回 合金鑰RKr,〇者,將剩餘之4個設為用於朝右側之F函數之回 合金錄RKr>1者。 例如為圖2 5所示之構成。 160150.doc -26- 201251412 對圖25所示之回合金鑰之供給處理進行說明。 秘密金錄 K為2 η位7G之金鐘資料。 將該2η位元秘密金鑰Κ 8等分而生成8個回合金鑰Κ1、 Κ2、Κ3、Κ4、Κ5、Κ6、Κ7、Κ8。 8個回合金鑰Κ1-Κ8為(η/4)位元之金鑰資料。 以4回合為1單位,且以於各單位中均不同之序列利用自 該8個回合金鑰Κ1-Κ8中選擇出之2個回合金鑰。 於該例中,將Κ1〜Κ4之回合金鑰應用於4系列Feistel結構 中之各回合之左側之F函數,將K5〜K8之回合金錄應用於4 系列Feistel結構中之各回合之右側之F函數。 如圖25所示,最初之4回合:於R1〜R4中按照以下序列 輸入且應用2個回合金鑰。 回合R1:回合金鑰K1及回合金鑰K5 回合R2:回合金鑰K2及回合金鑰K6 回合R3:回合金鑰K3及回合金鑰K7 回合R4:回合金鑰K7及回合金鑰K8 後續之4回合:於R5〜R8中按照以下序列輸入且應用2個 回合金鑰。 回合R5:回合金鑰K2及回合金鑰K5 回合R6:回合金鑰K4及回合金鑰K8 回合R7:回合金錄K1及回合金錄K6 回合R8:回合金鑰K3及回合金鑰K7 後續之4回合:於R9〜R12中按照以下序列輸入且應用2 個回合金錄。 I60150.doc -27- 201251412 回合R9:回合金鑰K4及回合金鑰Κ5 回合R10:回合金鑰Κ3及回合金鑰Κ7 回合R11 :回合金鑰Κ2及回合金鑰Κ8 回合R12:回合金鑰Κ1及回合金鑰Κ6 如此,以4回合為1單位,而應用於各單位中均不同之回 合金錄輸入序列。 於該圖25所示之構成中,並非將回合金鑰1〇〜1(:8之8個 金鑰之輸入順序以4回合單位全部更換,而係以每4個、即 回合金鑰:Κ1〜Κ4、 回合金鑰:Κ5〜Κ8、 該等4個回合金錄單位進行輸入順序之更換。 藉由該構成,可進一步減少置換型金鑰排程部所需之選 擇器之成本。 又’例如對於將如圖26所示之4系列一般化Feistel結構 中之循環移位變更為回合置換之模型(設為4系列一般化 Feistel+),利用本方式之金錄排程部亦較為有效。 對如圖26所示之將4系列一般化Feistel結構中之循環移 位變更為回合置換之模型(4系列一般化Feistel+)進行說 明。 圖26所示之構成係以如下構成為基本構成,即於d線之 一般化Feistel結構中,將!^立元輸入資料每d個地分割成n/d 位元,且分別進行F函數處理、互斥或邏輯處理,且為與 回合金錄之運算係對F函數之輸出執行之構成。 此時, 160150.doc •28- 201251412 將輸入至F函數> 3 〈肓料系列設為F函數輸入側資料系列, 將進行互斥或邏鲒4 & 邏輯之資料系列設為互斥或邏輯側資料系 列0 系列(各列)中傳輸之n/d位元資料之各個進而再次 分割為d/2個(此時之分割亦可不為等分割)。 ;各系歹j (各列)之各個中再次分割成^個之資料按照以 下規則進行分配。 ⑴F函數輸入側資料系列必需分配為後續之回合函數之 互斥或邏輯側資料系列 (2) 互斥或邏輯侧資料系列必需分配為後續之回合函數 之F函數輸入側資料系列 (3) 各分割為d’2個之資料系列分別無重複地分配為d/2處 之後續之回合函數之資料系列 以此方式進行分配後,使各分割為d/2個之資料分別結 合成1個資料。 將上述内容重複進行所需之次數。 對於將該猶環移位變更為回合置換之模型(4系列一般化 Feistel+) ’利帛本方式之金瑜排程部亦較為有效。 具體而言,例如作為與圖25相同之更換方法的圖27所示 之結構較為合適。 P為如下構成,即於將秘密金錄每(n/4)位元地8等分 而成者之中,將4設為用於朝左側之1;函數之回合金鑰RK0 者,將剩餘之4個設為用於朝右側之F函數之回合金鑰 RKrJ 〇 160150.doc •29· 201251412 對圖27所示之回合金鑰之供給處理進行說明。 秘密金鑰K為2n位元之金鑰資料。 將該2n位元秘密金鑰K 8等分而生成8個回合金鑰K1、 K2、K3、K4、K5、K6、K7、K8。 8個回合金鑰K1〜K8為(n/4)位元之金鑰資料。 以4回合為1單位,且以於各單位中均不同之序列利用自 該8個回合金鑰K1〜K8中選擇出之2個回合金鑰。 於該例中,將自K1〜K8之回合金鑰中選擇出之2個回合 金鑰應用於將循環移位變更為回合置換之4系列一般化 Feistel +結構中之各回合之2個F函數。 如圖27所示,最初之4回合:於R1〜R4中按照以下序列 輸入且應用2個回合金鑰。 回合R1 :回合金鑰K1及回合金鑰K5 回合R2:回合金鑰K2及回合金鑰K6 回合R3:回合金鑰K3及回合金鑰K7 回合R4:回合金鑰K7及回合金鑰K8 後續之4回合:於R5~R8中按照以下序列輸入且應用2個 回合金鑰。 回合R5:回合金鑰K2及回合金鑰K5 回合R6:回合金鑰K4及回合金鑰K8 回合R7:回合金錄K1及回合金錄K6 回合R8:回合金鑰K3及回合金鑰K7 後續之4回合:於R9〜R12中按照以下序列輸入且應用2 個回合金鑰。 160150.doc -30- 201251412 回合R9:回合金鑰K4及回合金鑰Κ5 回合R10:回合金鑰Κ3及回合金鑰Κ7 回合R11:回合金鑰Κ2及回合金鑰Κ8 回合R12:回合金鑰Κ1及回合金鑰Κ6 如此,以4回合為1單位,而應用於各單位中均不同之回 合金錄輸入序列。 其次,表示秘密金鑰之位元長不為1回合所需之回合金 鑰之位元長之整數倍之情形時的置換型金鑰排程部之構成 例。 例如將秘密金输為(5 η/4)位元、而1回合所需之回合金錄 為(η/2)位元時之金鑰排程部之構成法示於圖28。 於該構成中,首先以成為1回合所需之回合金鑰之位元 長之整數倍之方式進行置換及擴展。採取其後依序進行供 給之結構。 對圖28所示之回合金鑰之供給處理進行說明。 秘密金鑰Κ為(5/4)η位元之金鑰資料。 首先,置換型金鑰排程部基於該(5/4)η位元之金鑰資料 而生成與回合金鍮之位元長相當之5個回合金鑰ΚΙ、Κ2、 Κ3、Κ4、Κ5。 輸入自該回合金鑰Κ1〜Κ5中選擇出之2個回合金鑰作為 各回合中應用之回合金鑰,且應用於2個F函數。 如圖28所示,最初之5回合:於R1〜R5中按照以下序列 輸入且應用2個回合金鑰。 回合R1 :回合金錄Κ3及回合金鑰Κ4 160150.doc •31 · 201251412 回合R2:回合金鑰κι及回合金鑰Κ2 回合R3:回合金鑰Κ3及回合金鑰Κ4 回合R4:回合金鑰Κ5及回合金鑰Κ5 回合R5:回合金鑰κι及回合金鑰Κ2 後續之5回合:R6〜R1〇、及其後之5回合:於rii〜Ri5中 亦按照相同之序列輸入且應用2個回合金瑜。 對上述「(效果3)利用回合金鑰之置換法之變更的安全 性提昇」之效果詳細地進行說明。 首先進行差量機率、活化F函數、最小活化F函數之數 量之定義。 差量攻擊係利用如自某輸入差量以較高之機率傳播至某 輸出差量般者進行攻擊。即,於考慮安全性時,無論考慮 何種輸入差量、輸出差量之組,均必需表明不存在如以較 高之機率傳播般者。 相關金鑰差量攻擊亦同樣地利用如自某輸入差量及某秘 密金錄差量以較高之機率傳播至某輸出差量般者進行攻 擊。即’於考慮安全性時,無論考慮何種輸入差量、秘密 金錄差量、輸出差量之組,均必需表明不存在如以較高之 機率傳播者。將此種某輸入差量傳播至某輸出差量之機 率、以及某輸入差量及某秘密金鑰差量傳播至某輸出差量 之機率疋義為差量機率。如上所述於G〇ST中存在該差 量機率為1者* 已知此種差量機率僅於具有不為零之輸入差量之非線性 函數(F函數)中降低。將具有該不為零之輸入差量之非線 160150.doc •32· 201251412 性函數(F函數)定義 差量攻擊之安全性;’⑧數。活化F函數之個數與對 獲… 相關係,若相對於某輸入差量而可 獲付較多之活化F函數,則可認為充分安全。 -㈣函數之數量係若將輸入差量決定為-個便可決 疋據以上内容可知於考慮對差量攻擊之安全性時,益 論提供何種輸人Η,均只要表明可獲得充分多之活化F 函數即可。將相對於此種各輸人差量的活化f函數之個數 之最小值定義為最小活化F函數之數量。 例如於如圖20所示之對回合金鑰於ρ函數之輸出側採取 互斥或邏輯之4系列一般化Feistei結構中,將如圖29所示 I又採用單純地依序放入回合金鑰之先前之方法時的考慮有 相關金鑰差量之回合數與最小活化F函數之數量之對應示 於以下之(表1)。 [表1] (表1) 回合數 _:小活化F函數之數量 回合數 最小活化F函數之數量 1 0 16 4 2 0 17 4 3 0 18 4 4 0 19 4 5 0 20 5 — 6 1 21 5 7 1 22 5 — 8 2 23 1 5 9 2 24 6 10 2 25 6 11 2 26 6 12 3 27 6 13 3 28 7 14 3 29 7 15 3 30 7 160150.doc -33- 201251412 ' 式之清形時,可知例如於如對用以保證對相關金 鑰差量攻擊之安全性而需之活化F函數之個數為7個般之密 碼中’至少需要28回合。 —Ή相對於對如圖2〇所示之4系列—般化結構進 了根據@24所不般之本發明内容的處理、即於置換型金錄 #程部以特^之回合單位變更輸人金錄序列之處理的構 而將考慮有相關金錄差量之回合數與最小活化F函數 之數量之對應示於(表2)。 [表2]
於上述表2中,可知例如於如用^〜-- 攻擊之安全,& t > 保證對相關金鑰差量 女全拴而需之活化F函數之個叙 至少需要15回合。 數為7個般之密碼中, 160150.doc -34- 201251412 於先則之表1中’於如用以保證對相關金鑰差量攻擊之 女全性而需之活化F函數之個數為7個般之密碼中,至少需 要28回合。 可知藉由設為進行根據本發明内容之處理、即於置換型 金瑜排程部以特定之回合單位變更輸入金鑰序列之處理之 構成,而與先前之方法相比減少13回合。 如此,可知藉由設為進行根據本發明内容之處理、即於 置換型金鑰排程部中定之回合單位變更輸人金錄序列 之處理的構成,可保證較未執行此種金鑰更換之先前之方 法多之活化F函數之個數。 同樣地,對如圖26所示之將4系列一般化結構中 之循環移位變更為回合置換之模型4系列一般化%办卜結 構進行考察。 對於該結構,採用單純地依序放入回合金鑰之先前之方 法(圖30)時的考慮有相關金鑰差量之回合數與最小活化F 函數之數量之對應採取與上述(表丨)相同之值。 ^該方式之情形時,可知例如於如用以保證對相關金錄 差量攻擊之安全性而需之活化F函數之個數為7個般之密碼 中’至少需要28回合。 又,對如圖26所示之4系列一般化阳_+結構,於設為 利用如圖24所*之本發明的金㈣㈢之構成之情形時, ,考慮有相關金錄差量時之回合數與最小活化?函數之數 量之對應示於以下(表3)。 160150.doc -35- 201251412 [表3] (表3) 回合數 最小活化F函數之數量 回 —---- 最小活化F函數之數晋 1 0 16 ---—_ 7 2 0 17 --- 8 3 「 0 18 9 4 0 19 10 5 0 20 "---! • -------- 10 6 0 "丨—' 21 11 7 0 22 '--- 12 8 1 23 12 9 3 24 — ----- ----- 13 10 3 25 14 11 4 26 -------- ------ 15 12 5 27 15 13 5 28 16 14 6 29 17 15 7 30 ------- 17 -------- 於上述表3中,町知例如於如用以保證對相關金錄差量 攻擊之安全性而需之活化F函數之個數為7個般之密碼中, 至少需要1 5回合。 於先前之表!中,於如用以保證對相關金鑰差量攻擊之 安全性而需之活化F函數之個數為7個般之密碼中,至少需 要2 8回合。 排 π〜炎:^、即置換型金 程部以特定之回合單位變更輸入金錄序列之處理之 成,而與先前之方法相比減少13回合。 如此,藉由設為進杆 型金鑰排程部以特定之據:發明内容之處理、即於置 回合單位變更輸入金鑰序列之處 160150.doc • 36 · 201251412 的構成,可保證較未執行此種金鑰更換之先前之方法多之 T化F函數之個數,從而可以較少之回合數實現安全性較 高之密碼處理構成。 [5.關於金鑰置換型金鑰排程部之各種構成例(變化)] 其次,對金鑰置換型金鑰排程部之各種構成例(變化)進 行說明。 於具有將分割數設為d之d系列一般化Feiste丨結構的打位 元區塊密碼中,如圖31所示,一般而言,遍及丨回合而利 用(d/2)個(n/d)位元之回合金錄。 因此’遍及1回合而需要合計為 (n/d)x(d/2) =(n/2)位元之回合金鑰資料。 例如於應用先前所說明之如圖丨8所示之4系列一般化 Feistel結構(d==4)之情形時’作為回合金鑰之輸入處理, 必需以各回合單位每2個地輸入(n/4)位元之回合金鑰。 根據成為回合金鑰之生成根源的秘密金鑰之長度而執行 如下之回合金鑰之生成、輸入。 於秘密金鑰為η位元之情形時,例如如圖3 2所示,生成 將η位元秘密金錄4等分而成之n/4位元之回合金錄,且於 各回合每2個地進行輸入。 於秘密金鑰為(5/4)n位元之情形時,例如如圖33、圖34 所示’生成將η位元秘密金錄5等分而成之n/4位元之回合 金鑰,且於各回合每2個地進行輸入。 例如於如圖32所示般利用將秘密金鑰n位元4等分而成之 160150.doc •37· 201251412 4個回合金鑰ΚΙ、Κ2、Κ3、K4之構成中,每2回合地進行 金鑰置換、即每2回合地變更金鑰供給序列。 對圖32所示之回合金鑰之供給處理進行說明。 秘密金鑰Κ為η位元之金鑰資料。 將該η位元秘密金鑰Κ 4等分而生成4個回合金鑰Κ1、 Κ2、Κ3、Κ4。 4個回合金鑰ΚΙ、Κ2、Κ3、Κ4為(η/4)位元之金鑰資 料。 以4回合為1單位,且以於各單位中均不同之序列利用該 4個回合金錄ΚΙ、Κ2、Κ3、Κ4。 如圖2 1所示,最初之2回合:於R1〜R2中按照以下序列 輸入且應用2個回合金鑰Κ1〜Κ4。 回合R1 :回合金鑰Κ1及回合金鑰Κ2 回合R2:回合金鑰Κ3及回合金鑰Κ4 後續之2回合:於R3〜R4中按照以下序列輸入且應用回 合金錄Κ1~Κ4。 回合R3:回合金鑰Κ3及回合金鑰Κ1 回合R4:回合金鑰Κ4及回合金鑰Κ2 後續之2回合:於R5〜R6中按照以下序列輸入且應用回 合金錄Κ1~Κ4。 回合R5:回合金鑰Κ4及回合金鑰Κ3 回合R6:回合金鑰Κ2及回合金鑰Κ1 後續之2回合:於R7〜R8中按照以下序列輸入且應用回 合金鑰Κ1〜Κ4。 160150.doc •38· 201251412 回合R7:回合金鑰K2及回合金鑰Κ4 回合R8:回合金鑰Κ1及回合金錄Κ3 後續之2回合:於R9〜R10中按照以下序列輸入且應用回 合金鑰Κ1〜Κ4。 回合R9:回合金鑰Κ1及回合金鑰Κ2 回合R10:回合金鑰Κ3及回合金鑰Κ4 又,於如圖33所示般利用將秘密金鑰(5/4)η位元5等分而 成之5個回合金鑰ΚΙ、Κ2、Κ3、Κ4、Κ5之構成中,為於 該等5個金鑰Κ1〜Κ5之5個金鑰選擇後進行金鑰置換,而於 5回合中進行2次金鑰置換。即,每5回合對金鑰供給序列 進行2次變更。 對圖33所示之回合金鑰之供給處理進行說明。 秘密金鑰Κ為(5/4)η位元之金鑰資料。 首先,置換型金鑰排程部基於該(5/4)η位元之金鑰資料 而生成與回合金鑰之位元長相當之5個回合金鑰ΚΙ、Κ2、 Κ3、Κ4、Κ5。 輸入自該回合金鑰Κ1〜Κ5中選擇出之2個回合金鑰作為 於各回合中應用之回合金錄,且應用於2個F函數。 如圖33所示,最初之5回合:於R1〜R5中按照以下序列 輸入且應用2個回合金錄。 回合R1 :回合金錄Κ1及回合金錄Κ2 回合R2:回合金鑰Κ3及回合金鑰Κ4 回合R3:回合金錄Κ5及回合金鑰Κ5 回合R4:回合金鑰Κ2及回合金鑰Κ3 160150.doc -39· 201251412 回合R5:回合金鑰K3及回合金鍮Κ4 後續之5回合:於R6〜R10中亦按照相同之序列輸入且應 用2個回合金鑰。 再者,結果,該圖33所示之金鑰供給處理構成中之金鑰 之供給序列與先前所說明之圖28相同。 即,均係按照 ΚΙ、Κ2、Κ3、Κ4、Κ5、Κ5、Κ5、Κ1、 Κ2、Κ3··.之順序進行金鑰之供給。 如此,於置換型金鑰排程部之金鑰供給處理中,例如於 在m回合中需要m'(>l)次金鑰置換之設定中,亦可設為不 進行第2次之後之金鑰置換而進行變更金鑰之選擇順序之 處理的構成。 例如圖33所示之金鑰供給處理序列與圖34所示之金鑰供 給處理序列完全相同。 即,最初之5回合:於R1〜R5中按照以下序列輸入且應 用2個回合金鑰。 回合R1 :回合金鑰K1及回合金錄K2 回合R2:回合金鑰K3及回合金錄K4 回合R3:回合金鑰K5及回合金鑰K5 回合R4:回合金鑰K2及回合金鑰K3 回合R5:回合金鑰K3及回合金鑰K4 後續之5回合:於R6〜R10中亦按照相同之序列輸入且應 用2個回合金鑰。 又,作為金鑰置換處理,對所分割之金鑰之供給順序排 序,並非依序輸入至回合函數,而以複數個回合單位變更 160150.doc -40· 201251412 金鑰之選擇順序,藉此亦可獲得完全相同之效果。例如先 前參照圖24所說明之回合金鑰供給構成與圖35所示之金鑰 供給處理序列完全相同。 即,最初之4回合:於R1〜R4中按照以下序列輸入且應 用2個回合金鑰。 回合R1:回合金鑰K1及回合金鑰K2 回合R2:回合金鑰K3及回合金鑰K4 回合R3 :回合金錄K5及回合金鑰K6 回合R4:回合金鑰K7及回合金鑰K8 後續之4回合:於R5〜R8中按照以下序列輸入且應用2個 回合金錄。 回合R5:回合金鑰K5及回合金鑰K1 回合R6 :回合金鑰K2及回合金鑰K6 回合R7:回合金鑰K7及回合金鑰K3 回合R8:回合金鑰K4及回合金鑰K8 後續之4回合:於R9〜R12中按照以下序列輸入且應用2 個回合金鑰。 回合R9:回合金鑰K7及回合金鑰K5 回合R10:回合金鑰K1及回合金鑰K3 回合R11:回合金输K4及回合金錄K2 回合R12:回合金鑰K6及回合金鑰K8 如此,參照圖24所說明之回合金鑰供給構成及圖35所示 之金鑰供給處理序列成為以4回合為1單位而應用於各單位 中均不同之回合金鑰輸入序列的構成。 160150.doc -41 - 201251412 (複數種之金鑰置換) 於先前參照圖24所說明之構成中,於金鑰之長度為2n位 元且進行8等分之情形時,對每4回合進行相同態樣之金鑰 置換。 相對於此,例如如圖3 6所示般亦可將以4回合單位執行 之置換處理設定為每次均不同之態樣。 利用圖3 6所示之構成的金鑰供給序列如下。最初之4回 合:於R1〜R4中按照以下序列輸入且應用2個回合金鑰。 回合R1 :回合金錄K1及回合金鑰K2 回合R2:回合金錄K3及回合金鑰K4 回合R3:回合金鑰K5及回合金鑰K6 回合R4:回合金鑰K7及回合金鑰K8 後續之4回合:於R5〜R8中按照以下序列輸入且應用2個 回合金錄。 回合R5:回合金鑰K5及回合金鑰K1 回合R6:回合金錄K2及回合金鑰K6 回合R7:回合金鑰K7及回合金鑰K3 回合R8:回合金鑰K4及回合金鑰K8 後續之4回合:於R9〜R12中按照以下序列輸入且應用2 個回合金鑰。 回合R9:回合金鑰K8及回合金鑰K5 回合R10:回合金鑰K7及回合金鑰K3 回合R11 :回合金输K1及回合金錄K2 回合R12:回合金鑰K4及回合金錄K6 160150.doc • 42· 201251412 該圖36所示之金錄供給序列至回合卜4、5〜8為止與㈣ 所示之金鑰供給序列相同,但於回合9以後為不同之序 列。 於圖24所示之設定中為以4回合單位且以相同之設定執 : #置換型金鋪程部執行之金瑜置換、即金較換處理的 構成,但於圖36所示之構成中係以4回合單位且以不同之 設定執行置換型金餘排程部執行之金錄置換、即金錄更換 處理。 又,藉由對所分割之金鑰之順序排序,且並非依序輸入 至回合函數,而係變更金鑰之選擇順序,亦可獲得完全相 同之效果。例#先前參照圖36所說明之回合金鑰供給構 成、與圖3 7所示之金錄供給處理序列完全相同。 (金鑰之部分選擇) 如上所述,於圖24或圖36所示之構成中,於4回合内每1 個地輸入8等分而成之8個金鑰。 如圖38所示,亦可為每3回合地進行置換且於3回合内僅 利用6個之構成。 利用圖38所示之構成的金鑰供給序列如下。最初之3回 合:於R1〜R3中按照以下序列輸入且應用2個回合金鑰。 回合R1 :回合金鑰K1及回合金鑰K2 回合R2:回合金鑰K3及回合金鑰K4 回合R3:回合金鑰K5及回合金鑰K6 後續之3回合.於R4〜R6中按照以下序列輸入且應用2個 回合金鑰。 160150.doc s -43 - 201251412 回合R4:回合金鑰K7及回合金鑰Κ3 回合R5:回合金鑰Κ8及回合金鑰Κ1 回合R6:回合金鑰Κ2及回合金鑰Κ4 後續之3回合:於R7〜R9中按照以下序列輸入且應用2個 回合金鑰。 回合R7:回合金鍮Κ6及回合金鑰Κ8 回合R8:回合金錄Κ5及回合金鑰Κ7 回合R9:回合金錄Κ3及回合金錄Κ1 後續之3回合:於R10-R12中按照以下序列輸入且應用2 個回合金錄。 回合R10:回合金鑰Κ4及回合金鑰Κ5 回合R11 :回合金錄Κ2及回合金鍮Κ6 回合R12:回合金錄Κ8及回合金鑰Κ7 於該例中,設為以3回合單位重複進行同一模式之金鑰 置換之構成。 又,藉由對金鑰之順序排序,並非依序輸入至回合函 數,而係變更金鑰之選擇順序,亦可獲得完全相同之效 果。例如參照圖38所說明之回合金鑰供給構成、與圖39所 示之金鑰供給處理序列完全相同。 (安裝效率) 本發明内容之回合金鑰之供給方式由於與先前方式同樣 地為作為利用置換型金鑰排程部之處理而執行者,故而安 裝效率較高。 例如如圖40所示,於成為回合金鑰之生成根源的秘密金 160150.doc -44- 201251412 鑰K之長度為2n位元時,選擇對每回合將金錄8等分而成之 金鑰K1-K8中之2個回合金鍮。 此處’如先前所說明之圖27般將金錄κΐ〜K8區分為2 個, ΚΙ、K2、K3、K4 K5、K6、K7、K8 設定2個該等4個回合金鑰之群組, 藉由設為以該等各群組單位進行特定回合數單位之金輸 置換、即金鑰供給序列之變更的構成,可於某安裝形態中 進一步提高安裝效率。 具體而言,如圖41所示,使置換型金鑰排程部為具有2 個選擇器之構成,且設為於各選擇器中執行來自上述4個 回合金鑰之群組、即 ΚΙ、K2、K3、K4 K5、K6、K7、K8 該等各回合金输之群組的輸出金鑰之選擇之構成。 若5史s十如先前所說明之圖24般之金瑜排程部,則需要2 個如圖40般自8個中選擇上個之選擇器,但例如藉由如圖27 般構成置換型金鍮排程部,而如圖4 1般自4中選擇1個之小 型之選擇器成為2個》 同樣地,並非全部置換5個將(5/4)n位元金鑰5等分而成 者,藉由以可利用輸入數為3之選擇器之方式設計置換, 而使安裝效率提高。 具體而言,如圖42所示,為如下構成,即 160150.doc •45· 201251412 根據(5/4)n位元之秘密金鑰K而生成n/4位元之回合金鑰 ΚΙ、K2、K3、K4、K5, 第1選擇器執行以K1、K2、K3為對象之金鑰選擇,第2 選擇器執行以Κ3、Κ4、Κ5為對象之金鑰選擇。 [6.關於密碼處理裝置之構成例] 最後,對執行按照上述實施例之密碼處理之密碼處理裝 置之安裝例進行說明。 執行按照上述實施例之密碼處理之密碼處理裝置可搭載 於執行密碼處理之各種資訊處理裝置。具體而言,為PC (Personal Computer,個人電腦)、TV(TeleVision,電視)、 記錄器、播放器、通信設備、進而RFID(Radio Frequency Identification,射頻識別)、智慧卡、感測器網路設備、電 池/battery認證模組、健康、醫療設備、自立型網路設備 等,例如可用於執行伴隨資料處理或通信處理之密碼處理 之各種危機中。 將作為執行本發明内容之密碼處理之裝置之一例的 IC(Integrated Circuit,積體電路)模組700之構成例示於圖 43。上述處理可於例如PC、1C卡、讀寫器、及其他各種資 訊處理裝置中執行,圖43所示之1C模組700可於該等各種 設備中構成。 圖 43 所示之 CPU(Central processing Unit,中央處理單 元)701為執行密碼處理之開始、或結束、資料之發送接收 之控制、各構成部間之資料傳輸控制、其他各種程式之處 理器。記憶體702包括儲存CPU 701執行之程式、或運算參 160150.doc -46- 201251412 數等固定資料之丽y,唯讀記憶體)、 用作於CPU 701之處理中執行之程式、及於程式處理中適 當變化之參數之儲存區域、工作區域的R— Access Memory,隨機存取記憶體)等。又,記憶體7〇2可 ’ 帛作密碼處理所需之金鍮資料、密碼處理巾應用之轉換表 • (·置換表)或轉換矩陣中應用之資料等之儲存區域。再者, 貝料儲存區域較佳為構成為具有防纽結構之記憶體。 岔碼處理部703執行根據應用有上述所說明之密碼處理 構成、即例如一般化Feistel結構、或結構之公用金 鑰區塊密碼處理演算法的密碼處理、解密處理。 再者,此處表示了將密碼處理機構設為個別模組之例, 但亦可不設置此種獨立之密碼處理模組,而構成為例如將 也、碼處理程式儲存於R〇M中,且cpu 7〇1讀出並執行r〇M 儲存程式。 隨機數產生器704執行密碼處理所需之金鑰之生成等中 所需之隨機數之產生處理。 發送接收部705為執行與外部之資料通信之資料通信處 .. 理部,例如執行與讀寫器等1C模組之資料通信,執行於柁 模組内生成之密文之輸出、或來自外部之讀寫器等設備之 資料輸入等。 再者,上述實施例中說明之密碼處理裝置不僅可應用於 對作為輸入資料之明文進行加密之加密處理,亦可應用於 將作為輸入資料之密文恢復成明文之解密處理。 於加密處理、解密處理兩者之處理中,可應用上述實施 I60150.doc -47· 201251412 例中說明之構成。 [7·本發明内容之構成之總結] 以上,一面參照特定之實施例一面對本發明内容之實施 例進行了詳細解釋。然而,本領域技術人員應明瞭於不脫 離本發明内容之主旨之範圍内可進行實施例之修正或代 用。即,以上係以例示之形態對本發明進行了揭示,不應 限定性地進行解釋。為判斷本發明内容之主旨,應參考申 請專利範圍》 再者,本說明書令揭示之技術可採取如下構成。 (1) 一種密碼處理裝置,其包括密碼處理部,該密碼處 理部將成為資料處料象之㈣之構纽元㈣成複數列 並輸入且對各列之資料重複執行應用回合函數之資料轉 換處理作為回合運算;及 金鑰排程部,其對上述密碼處理部之回合運算執行部輸 出回合金鑰;且 上述金鑰排程部為將預先保持之秘密金鑰分割成複數個 而生成複數個回合金输或回合金錄構成資料之置換型金鑰 排程部,且 —對在上述密瑪處理部依序執行之回合運算執行部,以一 疋序列之不重複之設定輸出上述複數個回合金鑰、或將上 述回η金输構成資料結合而生成之複數個回合金鑰。 :2)如上述⑴所記載之密碼處理裝置纟中上述金鑰排 程°卩以上述回合運算執行部中之複數個回合單位變更對上 述回合運算執行部之上述複數個回合金輪之輸入序列。 160150.doc -48- 201251412 (3)如上述⑴或⑺所記載之密碼處理裝置,纟中上述密 碼處理部包括:F函數執行部,其輸入分割成上述複數列 之資料,且包括非線性轉換處理、及線性轉換處理;及運 昇部,其對上述F函數執行部之輪出執行應用上述回合金 錄之運算。 ⑷如上述⑴至⑺中任—項所記載之密碼處理裝置並 中上述金錄排程部生成具有與將預先保持之秘密金錄分判 成獲^個而輸入至上述回合運算執行部之回合金錄為相同 位元數之複數個回合金餘。 乂5二述⑴至(4)中任-項所記載之密碼處理裝置1 中上述金錄排程部生成具有較將預先保持之秘密金錄八宝、 成複數個而輸人至上述回合運算執行部之回合金二 數個回合金_成資料,且生成與 述複數個回合金賴成資料而輸人至上述回合運算執= 之回合金鑰為相同位元數之回合金鑰。 郤 (^如上述⑴至⑺中任—項所記狀密碼處理裝置,盆 中上述金输排程部對在上述密碼處理部依序執 :、 算執行部中並列輸出於回口運 回合金鑰。 €算執仃部並列應用之複數個 ⑺如上述⑴至附任—項所記載之密碼處 中上述金錄排程部包括進行對上述回合其 之選擇供給處理之m上之選擇器。 &仃部之金鑰 ㈣上述⑴至⑺中任-項所記載之密碼處理裝置立 述金输排程部設定區分上述複數個回合金鑰^上述回 160J50.doc -49- 201251412 合金錄構成資料之複數個群組,以所設定之群組單 對上述回合運算執行部之金输供給序列之控制處理。仃 ⑼如上述⑴至附任1所記載之密碼處理裝置 中上述金鑰排程部包括上述群組單位之選擇器。 、 ⑽如上述⑴至⑼中任_項所記載之密碼處理裝置 中上述密碼處理部執行將作為輸入資料之明文轉換為密文 之加密處理、或將作為輸入資料之密文轉換為明文 處理。 也 進而’於上述裝置及系統中執行之處理之方法、或使處 理得以執行之程式亦包含於本發明内容之構成中。 又說明書中說明之-系列之處理可藉由硬體、軟體、 或兩者之複合構成而執行。於執行利用軟體之處理之情形 時I將。己錄處理序列之程式安裝於組入至專用之硬體中 之電腦内之記憒體φ % 4 、,& ^體中而加u執行,或將程式安裝於可執 各種處理之通用雷聯φ 於,… 中而加以執行。例如程式可預先記錄 …、、體中。除自記錄媒體安裝至電腦中以外,亦可經 、(aI Area Network ’區域網路)、因特網等網路接 程式’且安裝於內置之硬碟等記錄媒體中。 s月書所載之各種處理不僅可根據記載按照時 間序列執行,亦可. 〜 ..... 根據執仃處理之裝置之處理能力或需要 而並列地或個別地執 ,t .. ^ 又於本說明書中,所謂系統係 個裝置之邏輯性之集合構成,各構成之裝置並不限 疋於在同—殼體内者。 [產業上之可利用性] I60150.doc •50· 201251412 所述 本發 内容之—實施例,藉由回合金 之供給控帝j而實現安全性較高之密碼處理裝i。 鑰 具體而言’包括密碼處理部,其將成為資料處 資料之構成位元分割成複數列而進行輸入,且將應用有: 合函數之資料轉換處理設為回合運算而對各列之資料重冷 執行;及金鑰排程部,其對上述密碼處理部之回合運算= 行部輸出回合錢;且上述金㈣程料將預先保持之秘 密金鑰分割成複數個而生成複數個回合金鑰之置換型金鑰 排程部,且對在上述密碼處理部依序執行之回合運算執行 部以一定序列之不重複之設定進行輸出所生成之複數個回 合金鑰。藉由本構成,而實現例如對相關金鑰攻擊等的耐 受性較高之安全性較高之密碼處理構成。 【圖式簡單說明】 圖1係說明與k位元之金鑰長對應之η位元公用金錄區塊 密碼演算法之圖。 圖2係說明與圖1所示之k位元之金鑰長對應之η位元公用 金鑰區塊密碼演算法所對應之解密演算法之圖。 圖3係對金鑰排程部與資料加密部之關係進行說明之 圖0 圖4係對資料加密部之構成例進行說明之圖。 圖5係對SPN結構之回合函數之例進行說明之圖。 圖6係對Feistel結構之回合函數之一例進行說明之圖。 圖7係對擴展Feistel結構之一例進行說明之圖。 圖8係對擴展Feistel結構之一例進行說明之圖。 160l50.doc -51· 201251412 圖9係對非線性轉換部之構成例進行說明之圖。 圖10係對線性轉換處理部之構成例進行說明之圖。 圖11係對金鑰排程部(擴張金鑰生成部)進行說明之圖。 圖12係對金鑰排程部(擴張金鑰生成部)進行說明之圖。 圖13係對區塊密碼GOST之構成例進行說明之圖。 圖14係對作為GOST之資料結構的Feistel結構進行說明 之圖。 圖15係對可提供任意之秘密金錄差量△之攻擊進行說明 之圖。 圖16係對在具有置換型金鑰排程部之情形時各回合金输 差量成為將秘密金鑰差量△每m位元地分割者之情形進行 說明之圖。 圖17係對藉由提供(d,d)作為明文差量而使朝F函數之 輸入差量成為0之情況進行說明之圖。 圖18係對類型2 —般化Feistel結構之例進行說明之圖。 圖19係對在F函數之後採取互斥或邏輯之構成例進行說 明之圖。 圖20係對在F函數之後採取互斥或邏輯之構成例進行說 明之圖。 圖21係對在秘密金鑰κ為2n位元之情形時每(n/2)位元地 4等分、且一面每4回合地更換一面供給之構成例進行說明 之圖。 圖22係將秘密金鑰κ每(n/4)位元地8等分、且一面每4回 合地更換一面每2個地供給(n/4)位元者之構成例進行說明 160150.doc •52- 201251412 之圖。 圖23係對在秘密金鑰κ之長度為4n位元之情形時每 位元地8等分、且一面每8回合地更換一面供給之構成例進 行說明之圖。 圖24係對在秘密金鑰κ為2n位元之情形時每(n/4)位元地 8等分、且一面每4回合地更換一面每2個地供給(n/4)位元 者之構成例進行說明之圖。 圖25係表示於將秘密金鑰每(n/4)位元地8等分而成者之 中、將4個用於朝左侧之?函數之回合金鑰RKr,〇、將剩餘 之4個用於朝右側之F函數之回合金鑰RKr」的構成例之 圖。 圖26係對將4系列一般化Feistel結構中之循環移位變更 為回合置換的模型(4系列一般化Feistel結構+)進行說明之 圖。 圖27係說明對4系列一般化Feistel結構應用有與圖25相 同之更換方法之例之圖。 圖28係表示秘密金錄為(5n/4)位元、且1回合所需之回合 , 金鑰為(n/2)位元時之金鑰排程部之構成法之圖。 • 圖29係說明單純地依序放入回合金鑰之構成例之圖。 圖30係說明單純地依序放入回合金鑰之構成例之圖。 圖3 1係對具有將分割數設為d之d系列一般化Feistel結構 之η位元區塊密碼中的遍及丨回合之回合金鑰之利用構成進 行說明之圖。 圖32係說明於秘密金鑰為η位元之情形時、生成將η位元 160150.doc •53· 201251412 秘密金鑰4等分而成之n/4位元之回合金鑰且對各回合每2 個地輸入之構成例之圖。 圖33係說明於秘密金鑰為(5/4)n位元之情形時、生成將^ 位元秘密金鑰5等分而成之n/4位元之回合金瑜且對各回合 每2個地輸入之構成例之圖。 圖34係說明於秘密金鑰為(5/4)n位元之情形時、生成 位元秘密金输5等分而成之n/4位元之回合金錄且對各回人 每2個地輸入之構成例之圖。 圖35係說明以複數個回合單位變更金鑰之選擇順序之構 成例之圖。 圖36係說明將以4回合單位執行之置換處理設定為每次 均不同之態樣之回合金鑰供給構成例之圖。 成例之圖》 圖37係說明以複數個回合單位變更金錄之選帛順序之構 回合中利用6個金 圖38係說明對每3回合進行置換且於3 鑰之構成例之圖。 圆3 9係說明以複數個回合 成例之圖。 早位變更金鑰之選擇順序之構 之選擇器進行說明之 圖40係對作為回合金鑰供給構成 圖41係對作為回 合金鑰供給構成之選擇器進行說 明之 圖42係對作為回合金鑰供 給構成之選擇器進行說明 160150.doc 54· 201251412 圖43係表示作為密碼處理裝置之1C模組700之構成例之 圖。 【主要元件符號說明】 700 1C模組 - 701 CPU(Central processing Unit) 702 記憶體 703 密碼處理部 704 隨機數生成部 705 發送接收部 160150.doc •55·

Claims (1)

  1. 201251412 七、申請專利範圍: !·;種密碼處理裝置’其包括:密碼處理部,該密碼處理 部將成為資料處理對象之資料之構成位元分割成複數列 並輪入,且對各列之資料重複執行應用回合函數之資料 轉換處理作為回合運算各列;及 金鑰排程部,其對上述密碼處理部之回合運算執行部 輸出回合金鑰;且 ° 上述金鑰排程部為將預先保持之秘密金鑰分割成複數 個而生成複數個回合金錄或回合金錄構成資料 金鑰排程部,且 、 ―,在上述密碼處理部依序執行之回合運算執行部,以 -定序列之不重複之設定輸出上述複數個回合金鑰'或 將上述回合金鑰構成資料結合而生成之複數個回合金 鑰。 2·如請求項1之密碼處理裝置,其中 j述金鑰排程部以上述回合運算執行部令之複數個回 合單位變更對上述回合運算執 异轨仃°卩之上述複數個回合金 鑰之輸入序列。 3.如請求们之密碼處理裝置,其中上述密碼處 括: F函數執行部’其輸入分割成上述複數列之資料,且 包括非線性轉換處理、及線性轉換處理;及 運算部,其對上述F函數執行部之輸出執行應用上述 回合金鑰之運算。 160150.doc 201251412 4 ·如請求項1之密碼處理裝置,其中 上述金输排程部生成具有與將預先保持之秘密金錄分 割成複數個而輸入至上述回合運算執行部之回合金鑰為 相同位元數之複數個回合金錄。 5. 如請求項1之密碼處理裝置,其中 上述金錄排程部生成具有較蔣箱止付& ,敉將預先保持之秘密金鑰分 割成複數㈣輸人至上相合運算執行部之回合金錄少 之位元數之複數個回合金鑰構成資料,且 生成與連結複數個上述複數個回合金输構成資料而輸 入至上述回合運算執行部之回合錢為相同位元數之回 合金錄。 6. 如請求項1之密碼處理裝置,其中 .上述金鑰排程部對在上述密碼處理部依序執行之回合 運算執行部並列輸出於回合遂笪 連算執仃部中並列應用之複 數個回合金鑰。 如請求項1之密碼處理裝置,其中 上述金鑰排程部包括進行對上述回合運算 鑰之選擇供給處理之1以上之選擇器。 8. 如請求項1之密碼處理裝置,其中 2述金賴程料定區分上料數個回合金錄或上述 回。金錄構成資料之複數個群組,以所設定之位 進行對上述回合運算執行部 理_ 金鑰供給序列之控制處 9. 如請求項8之密碼處理裝置,其中上述金錄排程部包括 160150.doc 201251412 上述群組單位之選擇器。 10.如請求項1之密碼處理裝置其中 上述密碼處理部執行將作為輸入資料之明文轉換為密 文之加密處理、或 將作為輸入資料之密文轉換為明文之解密處理。 11· -種密碼處理方法’其係於密碼處理裝置中執行者,且 執行以下步驟: 密碼處理步驟,由密碼處理部將成為資料處理對象之 資料之構成位元分割成複數列並輸入,且對各列之資料 重複執行應用回合函數之資料轉換處理作為回合運算;及 金鑰排程步驟,由金鑰排程部對上述密碼處理部之回 合運算執行部輸出回合金鑰;且 上述金瑜排程部為將預先保持之秘密金瑜分割成複數 個而生成複數個回合錢或时錢構成f料之置換型 金鑰排程部,且 對在上述密碼處理部依序執行之回合運算執行部,以 -定序列之不重複之設定輸出上述複數個回合金錄、或 將上述回合金料成資料結合而生成之複數個回合金 錄。 12. -種程式,其係於密碼處理裝置中使密碼處 且使以下步驟執行: 理執行者 密碼處理步驟’其係使密碼處理部將成 象之資料之構成位元分割成複數列並輪入,並對 刪複執行應用回合函數之資料轉換處理作 I60150.doc 201251412 算;及 金錄排程步驟,其係使金鑰排程部對上述密碼處理部 之回合運算執行部輸出回合金鑰;且 上述金鑰排程部為將預先保持之秘密金鑰分割成複數 個而生成複數個回合金鑰或回合金鑰構成資料之置換型 金錄排程部,且 使上述金錄排程部,對在 回合運算執行部,以一定序 複數個回合金錄、或將上述 成之複數個回合金輸。 上述密碼處理部依序執行之 列之不重複之設定輸出上述 回合金鑰構成資料結合而生 160150.doc
TW101105914A 2011-03-28 2012-02-22 Encryption processing device, encryption processing method, and programme TW201251412A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011069185 2011-03-28
JP2011207705A JP5682527B2 (ja) 2011-03-28 2011-09-22 暗号処理装置、および暗号処理方法、並びにプログラム

Publications (1)

Publication Number Publication Date
TW201251412A true TW201251412A (en) 2012-12-16

Family

ID=46930384

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101105914A TW201251412A (en) 2011-03-28 2012-02-22 Encryption processing device, encryption processing method, and programme

Country Status (8)

Country Link
US (1) US9270458B2 (zh)
EP (1) EP2693684B1 (zh)
JP (1) JP5682527B2 (zh)
CN (1) CN103621007A (zh)
BR (1) BR112013024231A2 (zh)
RU (1) RU2013142993A (zh)
TW (1) TW201251412A (zh)
WO (1) WO2012132623A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5871827B2 (ja) * 2013-01-11 2016-03-01 日本電信電話株式会社 安全性強化システム、安全性強化装置、検証装置、およびプログラム
KR101516574B1 (ko) * 2014-02-21 2015-05-04 한국전자통신연구원 형태보존 암호화를 위한 가변길이 블록암호 장치 및 방법
WO2015142765A1 (en) 2014-03-17 2015-09-24 Coinbase, Inc Bitcoin host computer system
US9515818B2 (en) * 2014-09-16 2016-12-06 Apple Inc. Multi-block cryptographic operation
US9735958B2 (en) * 2015-05-19 2017-08-15 Coinbase, Inc. Key ceremony of a security system forming part of a host computer for cryptographic transactions
RU2675435C1 (ru) * 2016-02-25 2018-12-20 Федеральное государственное казенное военное образовательное учреждение высшего образования "Военный учебно-научный центр Военно-Морского Флота "Военно-морская академия имени Адмирала флота Советского Союза Н.Г. Кузнецова" Устройство аппаратурного шифрования и передачи данных в локальных сетях
US20180150836A1 (en) * 2016-11-29 2018-05-31 Ca, Inc. Generating tokens dynamically using payment keys
CN110785960B (zh) * 2017-06-27 2023-06-20 三菱电机株式会社 码生成装置、码生成方法和计算机能读取的存储介质
EP3651142A4 (en) * 2017-08-10 2021-03-24 Sony Corporation ENCRYPTION DEVICE, ENCRYPTION METHOD, DECCRYPTION DEVICE, AND DECryption METHOD
WO2019204426A1 (en) * 2018-04-17 2019-10-24 Coinbase, Inc. Offline storage system and method of use
KR102091611B1 (ko) * 2018-06-11 2020-03-20 엘지전자 주식회사 이동단말기
EP3617928B1 (de) * 2018-08-28 2021-01-27 Siemens Aktiengesellschaft Verfahren zum speichern von schlüsseldaten in einem elektronischen bauteil
US11394543B2 (en) 2018-12-13 2022-07-19 Coinbase, Inc. System and method for secure sensitive data storage and recovery
US10903991B1 (en) 2019-08-01 2021-01-26 Coinbase, Inc. Systems and methods for generating signatures
WO2021076868A1 (en) * 2019-10-16 2021-04-22 Coinbase, Inc. Systems and methods for re-using cold storage keys
JP2023022525A (ja) * 2021-08-03 2023-02-15 Kddi株式会社 暗号化装置、暗号化方法及び暗号化プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100250803B1 (ko) * 1995-09-05 2000-04-01 다니구찌 이찌로오 데이타 변환장치 및 데이타 변환방법
US7391865B2 (en) * 1999-09-20 2008-06-24 Security First Corporation Secure data parser method and system
JP4561252B2 (ja) * 2004-09-03 2010-10-13 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
CN101048969B (zh) * 2004-10-28 2012-04-04 耶德托公司 用于扰乱密码函数的方法和系统
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 ソニー株式会社 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム
JP5055993B2 (ja) * 2006-12-11 2012-10-24 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
EP2693684A1 (en) 2014-02-05
CN103621007A (zh) 2014-03-05
US20130343546A1 (en) 2013-12-26
RU2013142993A (ru) 2015-03-27
EP2693684A4 (en) 2015-03-25
BR112013024231A2 (pt) 2016-12-20
WO2012132623A1 (ja) 2012-10-04
EP2693684B1 (en) 2018-11-07
JP2012215816A (ja) 2012-11-08
US9270458B2 (en) 2016-02-23
JP5682527B2 (ja) 2015-03-11

Similar Documents

Publication Publication Date Title
TW201251412A (en) Encryption processing device, encryption processing method, and programme
TWI338872B (zh)
US8369516B2 (en) Encryption apparatus having common key encryption function and embedded apparatus
TW200828196A (en) Encryption device, encryption method, and computer program
KR101324351B1 (ko) 암호 기반 메시지 인증 코드를 생성하는 방법
TW200830233A (en) Data converting device, data conversion method, and computer program
TW201239831A (en) Encryption processing device, encryption processing method, and programme
TWI595460B (zh) Data processing device, information processing device, data processing method and program
CN110880967B (zh) 采用分组对称密钥算法对多消息并行加解密方法
CN100431297C (zh) 采用双重认证协议来防止用户口令被盗用的方法
CN103501220B (zh) 加密方法和装置
Tang et al. A one-time pad encryption algorithm based on one-way hash and conventional block cipher
US20040096059A1 (en) Encryption apparatus with parallel Data Encryption Standard (DES) structure
KR101135058B1 (ko) 데이터 암호화 표준의 라운드 키 생성과정에서의 차분오류주입공격을 이용한 암호 처리 방법 및 암호 처리 장치
CN114826558A (zh) 一种海量数据快速加密方法及系统
CN102968598B (zh) 数字文件的解密方法
Sasongko et al. Architecture for the secret-key BC3 cryptography algorithm
US20170126399A1 (en) Encryption apparatus, storage system, decryption apparatus, encryption method, decryption method, and computer readable medium
KR100933312B1 (ko) 데이터 암호화와 인증이 가능한 아리아 암호화 방법 및이를 수행하기 위한 시스템
Soni Performance Analysis of Cascaded Hybrid Symmetric Encryption Models
Li et al. Performance evaluation and analysis of lightweight symmetric encryption algorithms for internet of things
Tripathi et al. Survey on performance comparison of various symmetric encryption algorithms
Gulati et al. SMS Encryption Using AES On Android Application
Verma et al. Analysis of comparison between Single Encryption(Advance Encryption Scheme (AES)) and Multicrypt Encryption Scheme
Tian et al. A Bitsum Attack research based on TEA