TWI496024B - An encryption calculation means, a memory means, and an encryption calculation method - Google Patents

An encryption calculation means, a memory means, and an encryption calculation method Download PDF

Info

Publication number
TWI496024B
TWI496024B TW100104482A TW100104482A TWI496024B TW I496024 B TWI496024 B TW I496024B TW 100104482 A TW100104482 A TW 100104482A TW 100104482 A TW100104482 A TW 100104482A TW I496024 B TWI496024 B TW I496024B
Authority
TW
Taiwan
Prior art keywords
data
mask value
unit
calculation
encryption
Prior art date
Application number
TW100104482A
Other languages
English (en)
Other versions
TW201203000A (en
Inventor
Yuki Nagata
Koichi Fujisaki
Original Assignee
Toshiba Kk
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 Toshiba Kk filed Critical Toshiba Kk
Publication of TW201203000A publication Critical patent/TW201203000A/zh
Application granted granted Critical
Publication of TWI496024B publication Critical patent/TWI496024B/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/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

加密演算裝置、記憶裝置及加密演算方法
一般而言,本實施形態係關於一種加密演算裝置、記憶裝置及加密演算方法。
本專利申請案主張2010年6月22日申請之日本專利申請案編號2010-141473之優先權,該先前申請案中之全部揭示內容以引用的方式併入本文中。
對稱密鑰方式之加密演算法係以使預先規定之長度(區塊長度)之資料隱匿化為目的而設計者,於該狀態下無法進行較區塊長度更長之資料之隱匿化。然而,開發有:即便於欲隱匿化之資料長於區塊長度之情形時,亦可使用對稱密鑰方式之加密演算法進行較區塊長度更長之資料之隱匿化之類的演算方法;或生成用以進行原本之資料之竄改檢測之認證碼(authentication code)的演算方式等。如此將以對稱密鑰加密方式作為基礎而用於各種用途之加密演算方法稱為分組密碼演算模式(Block Cipher Modes of Operation)。
作為該分組密碼演算模式之一,有作為對保存於儲存裝置中之資料之隱匿化進行特殊化而設計之使用模式之XTS(Xor-Encrypt-Xor-based Tweaked CodeBook with CipherText Stealing),該標準係由IEEE(The Institute of Electrical and Electronics Engineers,電機電子工程師學會)P1619所規定(參照SP800-38E/IEEE-Std-1619-2007)。
於XTS模式中,係使用為將輸入資料加密而使用之密鑰資料#1、及用以生成資料初始遮罩值之密鑰資料#2之2種密鑰資料,進行加密及解密。於XTS模式之加密演算中,最初使用被稱為Tweak Value之值及密鑰資料#2而生成初始遮罩值。作為Tweak Value,通常使用儲存裝置之區段編號。
本發明之實施形態係提供一種可高速地實施加密演算之加密演算裝置。
根據實施形態,加密演算裝置之特徵在於:其係使用資料加密用之第1密鑰資料及初始遮罩值生成用之第2密鑰資料,針對每個第1資料單元進行加密演算者,其包含初始遮罩值生成部,該初始遮罩值生成部根據上述第2密鑰資料、及針對每個大於上述第1資料單元之上述第2資料單元所規定之資料資訊,而生成初始遮罩值。又,該加密演算裝置包含:遮罩值更新部,其根據初始遮罩值而針對每個上述第1資料單元生成遮罩值;及遮罩值保持部,其保持上述初始遮罩值及上述遮罩值更新部所生成之遮罩值,並將所保持之遮罩值輸出至資料加密演算部。進而,該加密演算裝置包含與初始遮罩值生成部不同之資料加密演算部,其根據上述第1資料單元之輸入資料、上述第1密鑰資料及自上述遮罩值保持部輸出之遮罩值,而生成將上述第1資料單元之輸入資料加密之加密資料。
根據本發明之實施形態,提供一種可高速地實施加密演算之加密演算裝置。
以下,參照隨附圖式,對實施形態之加密演算裝置、記憶裝置及加密演算方法進行詳細說明。再者,本發明並不由該實施形態所限定。
圖1係表示本實施形態之加密演算電路(加密演算裝置)之功能構成例之圖。如圖1所示,本實施形態之加密演算電路包含初始遮罩值生成用加密核心(初始遮罩值生成部)11、資料演算用加密核心(資料加密演算部)12-1~12-N、遮罩值保持電路(遮罩值保持部)13、遮罩值更新電路(遮罩值更新部)14、及選擇器15、16。又,初始遮罩值生成用加密核心(初始遮罩值生成用演算部)11包含初始遮罩值保持電路21,資料演算用加密核心(資料用加密演算部)12-k(k=1、2、...、N)包含遮罩值保持電路(演算用遮罩值保持部)22-k。
本實施形態之加密演算用電路1係組入用以非揮發性地記憶資料之記憶裝置(儲存裝置)中之電路。組入有本實施形態之加密演算用電路1之記憶裝置例如為NAND(反及閘)型半導體記憶裝置或磁碟裝置等,且對記憶方式並無限定。
圖2係表示本實施形態之記憶裝置之功能構成例之圖。如圖2所示,本實施形態之記憶裝置包含記憶部2、本實施形態之加密演算電路1、介面電路3及韌體部4,且將自例如電腦OS(Operating System,作業系統)5輸入之寫入對象之資料加密並進行記憶。
本實施形態之記憶裝置係將所輸入之寫入對象之資料加密後儲存於記憶部2中,於讀出儲存於記憶部2中之資料時,將所讀出之資料解密並進行輸出。記憶部2係NAND快閃記憶體等非揮發性地記憶資料之記憶裝置。
介面電路3係根據來自電腦OS 5之資料寫入要求,將自電腦OS 5輸入之資料寫入至記憶部2,且根據來自電腦OS 5之資料讀出要求,讀出記憶於記憶部2中之資料。又,介面電路3係於向記憶部2寫入時,指示加密演算電路1將寫入對象之資料加密,於自記憶部2讀出時,指示加密演算電路1將讀出之資料解密。即,介面電路3係控制資料之讀出及寫入、與加密及解密之控制部。
又,於本實施形態中,以區塊單位進行向記憶部2之寫入,針對每個區塊將輸入資料加密而生成加密資料。1個區塊之大小並無限制,此處作為一例,將1個區塊設為128 bit(位元)。又,由複數個區塊構成1個區段,此處作為一例,將1個區段設為512位元組。再者,1個區段之資料量亦可為512位元組以外,此處將1個區段設為1個區塊之整數倍。
繼而,對本實施形態之動作進行說明。再者,於本實施形態中,作為寫入至記憶部2之資料之加密方式,使用XTS模式之加密方式(以下,稱為XTS)。此處,作為用於生成初始遮罩值之Tweak Value,使用區段編號。又,於XTS之加密演算中,使用將用以生成初始遮罩值之密鑰資料#1與用於資料加密之密鑰資料#2作為1組之密鑰資訊。該密鑰資訊能夠以任意單元預先規定,然此處將記憶部2分割成複數個區域,針對每個分割之區域使用相同之密鑰資訊。例如,於128 GB之容量之情形時,每32 GB使用相同之密鑰資訊。因此,屬於同一區域內之區段使用相同之密鑰資訊。介面電路3係保持密鑰資訊與區域之對應、及區域與該區域內之區段編號之對應,並掌握針對每個區段編號所使用之密鑰資訊。
此處,對XTS之一般性的加密演算處理進行說明。圖3係表示XTS之加密演算順序之一例之流程圖。圖3係表示對1個區段(區段編號i(i為0以上之整數))進行加密處理之情形。於對複數個區段連續地進行加密處理之情形時,更新區段編號並重複進行圖3所示之處理。
首先,根據區段編號i及密鑰資料#2(Key2),基於以下之式(1)實施初始遮罩值T0 之生成處理,並將j初始化為0(步驟S1)。再者,AESenc()表示作為對稱密鑰加密演算處理之1種即AES(Advanced Encryption Standard,進階加密標準)之加密演算處理,αj (j=0、1、2、...、m-1)表示有限域之本原元素(primitive element)。m為構成1個區段之區塊數。
T0 =AESenc(Key2,i)×α0 (1)
繼而,開始資料加密演算,首先,算出對應於第j個區塊之輸入資料(加密對象資料)Pj 與Tj 之互斥或PP(步驟S2)。繼而,使用PP與密鑰資料#1(Key1),依據以下之式(2)算出CC(步驟S3),進而求出加密資料Cj 作為CC與Tj 之互斥或(步驟S4)。
CC=AESenc(Key1,PP) (2)
繼而,判斷是否為j=m-1(即,是否為區段之最後之區塊)(步驟S5),於j=m-1之情形時(步驟S5,Yes),結束該區段之加密處理。於非為j=m-1之情形時(步驟5,No),將j加1(步驟S6),並依據以下之式(3)而更新Tj (步驟S7)後,返回至步驟S2。
Tj =Tj-1 ×αj-1  (3)
如上所述,於XTS之加密演算中,如步驟S1所示,於初始遮罩值之生成時實施加密演算。又,使用該演算結果即初始遮罩值,進行如步驟S2~步驟S4所示之用以將輸入資料(寫入資料)加密之演算。步驟S1與步驟S3之加密演算(AESenc())僅輸入值不同,除此以外為相同之演算。因此,於使用1個加密核心進行演算之情形時,會按照每一步驟實施圖3所示之處理。因此,在結束初始遮罩值之生成之前,無法實施對於輸入資料之加密處理。又,於連續地寫入對應於複數個區段之資料之情形時,即便備齊用以生成對應於下一個區段之初始遮罩值所必需之資訊,但若加密處理中之區段之資料之加密演算尚未結束,則仍無法開始下一個區段之初始遮罩值之生成處理。
相對於此,於本實施形態中,包含與對輸入資料進行加密演算(對應於步驟S2)之加密核心(資料演算用加密核心12-1~12-N)不同之初始遮罩值生成用加密核心11,從而即便於上一個區段之輸入資料之加密演算尚未結束之情形時,一旦備齊初始遮罩值生成所必需之資訊,則立即開始初始遮罩值之生成處理,並將處理結果保持於初始遮罩值保持電路21中。因此,於開始下一個區段之輸入資料之加密演算時,只要參照所保持之初始遮罩值即可,因此可縮短等待初始遮罩值之生成之時間。
進而,於本實施形態中,亦包含複數個對輸入資料進行加密演算(對應於步驟S2)之加密核心(資料演算用加密核心12-1~12-N),且並行地實施每個區塊之加密演算(步驟S2~步驟S4)。因此,與使用1個加密核心之情形相比,可縮短對於輸入資料之加密演算之處理時間。再者,此時若將處理對象之區塊編號設為j,則於上述步驟S2中,j=0時使用初始遮罩值(T0 ),j≧1時使用步驟S7中所更新之遮罩值Tj
生成該遮罩值Tj 之演算係只要生成T0 ,則可不等待步驟S2~步驟S4之處理而按T1 、T2 、...、Tm-1 之順序依序生成。於本實施形態中,遮罩值更新電路14係更新該遮罩值Tj ,並經由選擇器15而儲存於遮罩值保持電路13中。繼而,根據介面電路3之指示,將儲存於遮罩值保持電路13中之遮罩值Tj 儲存於進行第j個區塊之加密演算之資料演算用加密核心12-j(此處作為一例,將進行第j個區塊之加密演算之資料演算用加密核心設為資料演算用加密核心12-j)之遮罩值保持電路22-j中。
繼而,若將遮罩值Tj 儲存至遮罩值保持電路22-j中,則介面電路3指示遮罩值更新電路14進行遮罩值之更新(Tj+1 之生成)。繼而,根據介面電路3之指示,將儲存於遮罩值保持電路13中之遮罩值Tj+1 儲存至進行第j+1個區塊之加密演算之資料演算用加密核心12-(j+1)之遮罩值保持電路22-(j+1)中。其後,依序更新遮罩值,並儲存至所對應之資料演算用加密核心12-1~12-N之遮罩值保持電路22-1~22-N中。繼而,若介面電路3接收輸入資料及密鑰資料#1並指示啟動,則資料演算用加密核心12-j使用儲存於遮罩值保持電路22-j中之遮罩值Tj 進行步驟S2~步驟S4之加密演算。
如上所述,本實施形態之資料演算用加密核心12-1~12-N係進行步驟S2~步驟S4之加密演算。圖4係表示資料演算用加密核心12-1之構成例之圖。本實施形態之資料演算用加密核心12-1例如包含:遮罩值保持電路22-1,其保持遮罩值Tj ;第1互斥或計算電路23,其算出遮罩值Tj 與輸入資料Pj 之互斥或PP;加密演算電路24,其根據PP及密鑰資料#1而實施XTS之加密演算(對稱密鑰加密演算),求出CC;及第2互斥或計算電路25,其算出加密資料Cj 作為CC與遮罩值Tj 之互斥或。資料演算用加密核心12-2~12-N之構成亦與資料演算用加密核心12-1之構成相同。再者,資料演算用加密核心12-1~12-N之構成並不限定於此,只要可實施相同之演算,則可為任意構成。
關於資料演算用加密核心12-1與處理對象區塊之對應,例如可預先建立對應關係為自區段之最初之區塊起依序由資料演算用加密核心12-1、資料演算用加密核心12-2、...進行處理,亦可由介面電路3於每次處理時自未進行處理之資料演算用加密核心12-1~12-N中選擇對每個區塊進行處理之加密核心。
進而,藉由包含該初始遮罩值生成用加密核心11,而亦可使解密演算處理高速化。以下,對解密演算進行說明。於XTS中,在進行解密演算處理時,實施與加密演算時之初始遮罩值生成處理相同之處理。即,於解密演算時亦實施與步驟S1相同之加密演算,求出T0 。繼而,於將加密資料Cj 作為輸入資料之解密演算中,作為步驟S2',係算出Cj 與Tj 之互斥或CC。進而,作為步驟S3',係進行以下之式(4)所示之演算。再者,AESdec()表示AES之解密演算。
PP=AESdec(Key1,CC) (4)
繼而,作為步驟S4',係求出PP與Tj 之互斥或P。繼而,藉由進行與加密演算處理之步驟S5~步驟S7相同之處理,而實施每個區塊之解密處理。
如上所述,於解密演算處理中亦實施步驟S1之處理(解密密鑰之生成處理),因此初始遮罩值生成用加密核心11可實施解密演算處理中之步驟S1之處理。進而,關於加密資料之解密處理步驟S2'~步驟S4',僅將步驟S3'之演算自加密演算變為解密演算,且其後之演算僅輸入不同,除此以外為相同之演算。因此,資料演算用加密核心12-1~12-N不僅可實施加密演算亦可實施解密演算。又,亦可使初始遮罩值生成用加密核心11於加密演算及解密演算中共用,且包含與資料演算用加密核心12-1~12-N不同之並行實施解密演算之複數個資料演算用加密核心。
於本實施形態之資料演算用加密核心12-j亦進行解密演算之情形時,例如上述加密演算電路24亦具有進行解密演算之功能,上述第1互斥或計算電路23算出Cj 與Tj 之互斥或CC,加密演算電路24進行使用CC及密鑰資料#1(Key1)之解密演算而算出PP,第2互斥或電路25求出PP與Tj 之互斥或P。再者,亦可包含與加密演算部不同之解密演算部,且解密演算部進行使用CC及密鑰資料#1之解密演算。
於解密演算處理中,與資料演算用之加密核心不同之初始遮罩值生成用加密核心11亦實施解密演算處理中之步驟S1之處理,藉此於與加密演算處理同樣地連續處理複數個區段之情形時,一旦備齊步驟S1之處理所必需之資訊,便可立即進行步驟S1之演算。因此,可縮短直至輸入資料(解密演算時為加密資料)之解密演算開始為止之時間。
圖5係表示本實施形態之記憶裝置之寫入及讀出順序之一例的流程圖。首先,對寫入順序進行說明。本實施形態之介面電路3等待自電腦OS 5之輸入(步驟S21),若接收資料寫入要求(步驟S22),則指示韌體部4取得與有寫入要求之資料之邏輯位址相對應之區段編號,並自韌體部4接收對應於邏輯位址之區段編號(步驟S23)。
再者,電腦OS 5係向記憶裝置通知資料寫入要求(或讀出要求),並且將寫入對象(讀出對象)之資料輸入至記憶裝置(介面電路3)。再者,寫入對象之資料之邏輯位址可自電腦OS 5指示,亦可由介面電路3決定。又,韌體部4保持有邏輯位址與區段編號之對應,根據來自介面電路3之指示而輸出對應於邏輯位址之區段編號。
繼而,介面電路3係將所取得之區段編號(Tweak Value)及對應於所取得之區段編號之密鑰資料#2設定於初始遮罩值生成用加密核心11中(步驟S24),並啟動初始遮罩值生成用加密核心11(步驟S25)。
初始遮罩值生成用加密核心11係於演算結束後,將演算結果(初始遮罩值)寫入至初始遮罩值保持電路21(步驟S26)。介面電路3係藉由遮罩值更新信號,而將寫入至初始遮罩值保持電路21中之初始遮罩值寫入至遮罩值保持電路13(步驟S27)。具體而言,介面電路3將遮罩值更新信號輸入至選擇器15,藉此選擇器15將寫入至初始遮罩值保持電路21中之初始遮罩值輸出至遮罩值保持電路13,遮罩值保持電路13保持所輸入之值。
繼而,介面電路3係將輸入資料(寫入對象資料)、密鑰資料#1及加密之指示信號輸入至與輸入資料之區塊編號相對應之演算用加密核心12-j,並啟動該核心(步驟S28)。再者,此處關於解密演算,亦由資料演算用加密核心12-1~12-N加以實施,演算用加密核心12-1~12-N係於輸入有加密之指示信號之情形時進行加密演算,於輸入有解密之指示信號之情形時進行解密演算。
又,介面電路3係於啟動資料演算用加密核心12-j之同時,將儲存於遮罩值保持電路13中之遮罩值Tj 寫入至資料演算用加密核心12-j之遮罩值保持電路22-j,且對於遮罩值更新電路14指示遮罩值之更新,並指示選擇器15將更新後之遮罩值Tj+1 儲存至遮罩值保持電路13(步驟S29)。
繼而,介面電路3判斷步驟S28中之輸入資料是否為與區段之最後的區塊相對應之輸入資料(步驟S30),於並非為最後之輸入資料之情形時(步驟S30,No),將區塊編號j增加1,並返回至步驟S28,實施關於下一區塊之處理。
於判斷為步驟S28中之輸入資料為與區段之最後的區塊相對應之輸入資料之情形時(步驟S30,Yes),介面電路3進一步判斷是否繼而進行區段之寫入處理(是否繼續寫入)(步驟S31)。於進行下一個區段之寫入處理之情形時(步驟S31,Yes),返回至步驟S23,實施下一個區段之寫入處理。又,於步驟S31中判斷為不進行下一個區段之寫入處理之情形時(步驟S30,No),返回至步驟S21。
圖6係表示本實施形態之處理時序之概念之一例的圖。於圖6中,各構成要素名所示之橫線表示處理時間。於該處理時序例中,表示針對複數個區段連續地進行寫入處理即加密演算之例。再者,於圖6中,表示由資料加密用演算核心12-1將各區段之最初之區塊進行加密處理、由資料加密用演算核心12-2處理下一個區塊...,以此類推按照編號順序進行處理之示例。
如圖6所示,初始遮罩值生成用加密核心11係針對每個區段生成初始值遮罩值,而如圖6所示,即便上一個區段資料之加密演算尚未結束,亦可算出下一個區段之遮罩值。又,於向資料加密用演算核心12-1輸入下一個區段之輸入資料之時間點,由於初始遮罩值之計算已結束,故而一旦備齊輸入資料,便可立即開始加密演算。進而,由於資料加密用演算核心12-1~12-N進行並行處理,故而可高速地進行加密演算。再者,圖6乃表示處理時序之概念,各處理時間之相對關係等與實際不同。又,圖6之處理時序為一例,各自之處理時序並不限定於此,只要為可實施初始遮罩值生成用加密核心11與資料加密用演算核心12-1~12-N之並行處理、資料加密用演算核心12-1~12-N間之並行處理之時序,則可為任意處理時序。
以上,對寫入處理之情形進行了說明,但於自記憶部2之加密資料之讀出處理之情形時,亦實施與圖5相同之處理。於讀出處理之情形時,於步驟S22中取代寫入要求而接收讀出要求。又,於步驟S28中,將解密指示信號輸入至資料演算用加密核心12-j。又,於步驟S28中,自記憶部2讀出解密對象之加密資料並作為輸入資料。
又,介面電路3對選擇器16指示選擇作為輸出資料之資料演算用加密核心21-1~12-N。選擇器16根據指示而選擇並輸出來自資料演算用加密核心21-1~12-N之輸出資料中之任一者。並且,介面電路3係於資料寫入處理之情形時,將自選擇器16輸出之輸出資料寫入至記憶部2,於資料讀出處理之情形時,將自選擇器16輸出之輸出資料輸出至電腦OS 5。
如此,於本實施形態中,在資料之加密演算用之加密核心之外另具備初始遮罩值生成用加密核心11,且進而具備複數個資料加密演算用之加密核心(資料演算用加密核心12-1~12-N),而針對每個區塊並行處理資料之加密演算。因此,可使資料之加密演算高速化,並且不論資料之加密演算之進展情形如何,皆可於任意時序生成初始遮罩值及解密密鑰,進而可隱藏初始遮罩值生成處理及解密密鑰生成處理。又,藉由設為由各資料演算用加密核心12-1~12-N保持遮罩值之電路構成,而成為下述加密電路:可不影響處理中之資料演算而於任意時序更新初始遮罩值,且可使不同區段之資料混合存在而進行加密/解密演算。
對本發明之若干實施形態進行了說明,但該等實施形態係作為示例而提出者,並非意在限定發明之範圍。該等新穎之實施形態能夠以其他各種形態進行實施,可於不脫離發明之主旨之範圍內進行各種省略、置換、變更。該等實施形態及其變形包含於發明之範圍或主旨內,並且包含於申請專利範圍中所記載之發明及其均等之範圍內。
1...加密演算電路
2...記憶部
3...介面電路
4...韌體部
5...電腦OS
11...初始遮罩值生成用加密核心
12-1~12-N...資料演算用加密核心
13、22-1~22-N...遮罩值保持電路
14...遮罩值更新電路
15、16...選擇器
21...初始遮罩值保持電路
23...第1互斥或計算電路
24...加密演算電路
25...第2互斥或計算電路
S1~S7、S21~S31...步驟
圖1係表示實施形態之加密演算用電路之功能構成例之圖。
圖2係表示實施形態之記憶裝置之功能構成例之圖。
圖3係表示XTS之加密演算順序之一例之流程圖。
圖4係表示資料演算用加密核心之功能構成例之圖。
圖5係表示實施形態之記憶裝置之寫入及讀出順序之一例的流程圖。
圖6係表示實施形態之處理時序之概念之一例的圖。
11...初始遮罩值生成用加密核心
12-1~12-N...資料演算用加密核心
13、22-1~22-N...遮罩值保持電路
14...遮罩值更新電路
15、16...選擇器
21...初始遮罩值保持電路

Claims (16)

  1. 一種加密演算裝置,其係使用資料加密用之第1密鑰資料及初始遮罩值生成用之第2密鑰資料,針對每個第1資料單元進行加密演算者,其包含:初始遮罩值生成部,其根據上述第2密鑰資料、及針對每個大於上述第1資料單元之第2資料單元所規定之資料資訊而生成初始遮罩值;遮罩值更新部,其根據上述初始遮罩值而針對每個上述第1資料單元生成遮罩值;遮罩值保持部,其保持上述初始遮罩值及上述遮罩值更新部所生成之遮罩值,並輸出上述初始遮罩值及所保持之遮罩值;及資料加密演算部,其根據上述第1資料單元之輸入資料、上述第1密鑰資料、自上述遮罩值保持部輸出之上述初始遮罩值、及自上述遮罩值保持部輸出之上述遮罩值,而生成將上述第1資料單元之輸入資料加密之加密資料;且於上述資料加密演算部尚未結束基於加密處理中之第2資料單元所包含之輸入資料而對加密資料所進行之加密處理時,上述初始遮罩值生成部開始對下一個第2資料單元基於上述資料資訊而生成上述初始遮罩值。
  2. 如請求項1之加密演算裝置,其包含複數個上述資料加密演算部;上述遮罩值保持部係針對每個上述資料加密演算部, 輸出與上述資料加密演算部作為處理對象之上述輸入資料相對應的遮罩值。
  3. 如請求項1之加密演算裝置,其中上述遮罩值更新部係藉由進行有限域之乘法運算而生成上述遮罩值。
  4. 如請求項1之加密演算裝置,其中上述資料加密演算部包含:演算用遮罩值保持部,其保持自上述遮罩值保持部輸入之上述遮罩值;第1互斥或計算部,其算出上述演算用遮罩值保持部所保持之上述遮罩值與上述輸入資料之互斥或作為第1演算結果;加密演算部,其根據上述第1演算結果及上述第1密鑰資料而實施特定之對稱密鑰加密演算,藉此算出第2演算結果;及第2互斥或計算部,其算出上述第2演算結果與上述演算用遮罩值保持部所保持之上述遮罩值之互斥或作為上述加密資料。
  5. 如請求項1之加密演算裝置,其中上述加密資料係寫入至用以非揮發性地記憶資料之記憶裝置中;將上述第2資料單元設為上述記憶裝置之區段,將上述第1資料單元設為上述記憶裝置之區塊,且將上述資料資訊設為區段編號。
  6. 如請求項1之加密演算裝置,其中上述資料加密演算部係接收指示加密演算或解密演算之指示信號之輸入,於上述指示信號為指示加密演算之信號之情形時,生成將上述輸入資料加密之上述加密資料,於上述指示信號為指示解密演算之信號之情形時,實施將上述輸入資料解密之解密演算。
  7. 如請求項1之加密演算裝置,其中將上述加密演算設為XTS模式之加密演算。
  8. 一種記憶裝置,其包含:記憶部,其用以將記憶對象資料非揮發性地記憶;加密演算裝置,其使用資料加密用之第1密鑰資料及初始遮罩值生成用之第2密鑰資料,針對每個第1資料單元進行加密演算;及控制部,其向上述加密演算裝置輸入上述第2密鑰資料、及針對每個大於上述第1資料單元之第2資料單元所規定之資料資訊,其中向上述加密演算裝置輸入上述第1密鑰資料及加密對象之上述第1資料單元之輸入資料,且將上述加密演算裝置所生成之加密資料寫入至上述記憶部;上述加密演算部包含:初始遮罩值生成部,其根據自上述控制部輸入之上述第2密鑰資料及上述資料資訊而生成初始遮罩值;遮罩值更新部,其根據上述初始遮罩值,針對每個進行加密演算之輸入資料之資料單元即第2資料單元生成 遮罩值;遮罩值保持部,其保持上述初始遮罩值及上述遮罩值更新部所生成之遮罩值,並輸出上述初始遮罩值及所保持之遮罩值;及資料加密演算部,其根據自上述控制部輸入之上述第1資料單元之輸入資料、上述第1密鑰資料、自上述遮罩值保持部輸出之上述初始遮罩值、及自上述遮罩值保持部輸出之上述遮罩值,而生成將上述第1資料單元之輸入資料加密之加密資料;且於上述資料加密演算部尚未結束基於加密處理中之第2資料單元所包含之輸入資料而對加密資料所進行之加密處理時,上述初始遮罩值生成部開始對下一個第2資料單元基於上述資料資訊而生成上述初始遮罩值。
  9. 如請求項8之記憶裝置,其中上述資料加密演算部係接收指示加密演算或解密演算之指示信號之輸入,於上述指示信號為指示加密演算之信號之情形時,生成將上述輸入資料加密之上述加密資料,於上述指示信號為指示解密演算之信號之情形時,實施將上述輸入資料解密之解密演算;上述控制部係於進行向上述記憶部之資料寫入處理之情形時,將指示加密演算之實施之上述指示信號輸入至上述加密演算部,向上述初始遮罩值生成部輸入上述第2密鑰資料及上述資料資訊,向上述加密演算裝置輸入上述第1密鑰資料及加密對象之第2單元之輸入資料,並 且將上述加密演算裝置所生成之加密資料寫入至上述記憶部,另一方面,在將指示實施解密演算之上述指示信號輸入至上述加密演算部,進行自上述記憶部之資料讀出處理之情形時,讀出上述加密資料,向上述初始遮罩值生成部輸入上述第2密鑰資料及上述資料資訊,向上述加密演算裝置輸入上述第1密鑰資料及所讀出之上述加密資料,且輸出上述加密演算裝置之解密演算結果。
  10. 一種加密演算方法,其係使用資料加密用之第1密鑰資料及初始遮罩值生成用之第2密鑰資料,針對每個第1資料單元進行加密演算之加密演算裝置之加密演算方法;上述加密演算裝置包含生成初始遮罩值之初始遮罩值生成部、保持遮罩值之遮罩值保持部、進行遮罩值之更新之遮罩值更新部、及進行資料之加密演算之資料加密演算部;上述初始遮罩值生成部根據上述第2密鑰資料、及針對每個大於上述第1資料單元之第2資料單元所規定之資料資訊而生成初始遮罩值;上述遮罩值更新部根據上述初始遮罩值而針對每個上述第1資料單元生成遮罩值;上述遮罩值保持部保持上述初始遮罩值及針對每個上述第1資料單元所生成之遮罩值,並將上述初始遮罩值及所保持之遮罩值輸出至上述資料加密演算部;上述資料加密演算部根據上述第1資料單元之輸入資料、上述第1密鑰資料、自上述遮罩值保持部輸出之上 述初始遮罩值、及被輸出至自身之上述遮罩值,而生成將上述第1資料單元之輸入資料加密之加密資料;且於上述資料加密演算部尚未結束基於加密處理中之第2資料單元所包含之輸入資料而對加密資料所進行之加密處理時,上述初始遮罩值生成部開始對下一個第2資料單元基於上述資料資訊而生成上述初始遮罩值。
  11. 如請求項10之加密演算方法,其中上述加密演算裝置包含複數個上述資料加密演算部;上述遮罩值保持部係針對每個上述資料加密演算部,輸出與上述資料加密演算部作為處理對象之上述輸入資料相對應的遮罩值。
  12. 如請求項10之加密演算方法,其中上述遮罩值更新部係藉由進行有限域之乘法運算而生成上述遮罩值。
  13. 如請求項10之加密演算方法,其中上述資料加密演算部係保持自上述遮罩值保持部輸入之上述遮罩值;算出上述演算用遮罩值保持部所保持之上述遮罩值與上述輸入資料之互斥或作為第1演算結果;根據上述第1演算結果及上述第1密鑰資料而實施特定之對稱密鑰加密演算,藉此算出第2演算結果;算出上述第2演算結果與上述演算用遮罩值保持部所保持之上述遮罩值之互斥或作為上述加密資料。
  14. 如請求項10之加密演算方法,其中 上述加密資料係寫入至用以非揮發性地記憶資料之記憶裝置;將上述第2資料單元設為上述記憶裝置之區段,將上述第1資料單元設為上述記憶裝置之區塊,且將上述資料資訊設為區段編號。
  15. 如請求項10之加密演算方法,其中由上述資料加密演算部接收指示加密演算或解密演算之指示信號之輸入,於上述指示信號為指示加密演算之信號之情形時,生成將上述輸入資料加密之上述加密資料,於上述指示信號為指示解密演算之信號之情形時,實施將上述輸入資料解密之解密演算。
  16. 一種加密演算裝置,其包含:初始遮罩值生成部,其根據針對每個資料單元所規定之資料資訊而生成初始遮罩值;遮罩值保持部,其保持上述初始遮罩值;及資料加密演算部,其根據輸入資料、及保持於上述遮罩值保持部之上述初始遮罩值,而生成加密資料;且於上述資料加密演算部尚未結束基於上述資料單元之輸入資料而對加密資料所進行之加密處理時,上述初始遮罩值生成部開始對下一個資料單元之輸入資料基於上述資料資訊而生成上述初始遮罩值。
TW100104482A 2010-06-22 2011-02-10 An encryption calculation means, a memory means, and an encryption calculation method TWI496024B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010141473A JP2012009928A (ja) 2010-06-22 2010-06-22 暗号演算装置、記憶装置および暗号演算方法

Publications (2)

Publication Number Publication Date
TW201203000A TW201203000A (en) 2012-01-16
TWI496024B true TWI496024B (zh) 2015-08-11

Family

ID=45328683

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100104482A TWI496024B (zh) 2010-06-22 2011-02-10 An encryption calculation means, a memory means, and an encryption calculation method

Country Status (3)

Country Link
US (1) US20110311048A1 (zh)
JP (1) JP2012009928A (zh)
TW (1) TWI496024B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2200249A1 (en) * 2008-12-17 2010-06-23 Abb Research Ltd. Network analysis
US9037564B2 (en) 2011-04-29 2015-05-19 Stephen Lesavich Method and system for electronic content storage and retrieval with galois fields on cloud computing networks
US9361479B2 (en) 2011-04-29 2016-06-07 Stephen Lesavich Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US9137250B2 (en) 2011-04-29 2015-09-15 Stephen Lesavich Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks
US9317718B1 (en) * 2013-03-29 2016-04-19 Secturion Systems, Inc. Security device with programmable systolic-matrix cryptographic module and programmable input/output interface
US9355279B1 (en) 2013-03-29 2016-05-31 Secturion Systems, Inc. Multi-tenancy architecture
US20150058639A1 (en) * 2013-08-23 2015-02-26 Kabushiki Kaisha Toshiba Encryption processing device and storage device
JP6552184B2 (ja) * 2014-01-14 2019-07-31 キヤノン株式会社 情報処理装置およびその方法
US9405919B2 (en) * 2014-03-11 2016-08-02 Qualcomm Incorporated Dynamic encryption keys for use with XTS encryption systems employing reduced-round ciphers
KR102447476B1 (ko) * 2015-08-20 2022-09-27 삼성전자주식회사 암복호 장치, 그것을 포함하는 저장 장치 및 그것의 암복호 방법
US11283774B2 (en) 2015-09-17 2022-03-22 Secturion Systems, Inc. Cloud storage using encryption gateway with certificate authority identification
US10855443B2 (en) 2016-07-29 2020-12-01 Cryptography Research Inc. Protecting polynomial hash functions from external monitoring attacks
CN107483203B (zh) * 2017-07-13 2020-09-04 深圳市盛路物联通讯技术有限公司 物联网接入点接收数据的分时段加密方法及装置
DE102019128528A1 (de) 2019-10-22 2021-04-22 Infineon Technologies Ag Datenkryptografievorrichtungen und speichersysteme

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200302652A (en) * 2002-01-14 2003-08-01 Qualcomm Inc Cryptosync desing for a wireless communications system
TW200618574A (en) * 2004-11-24 2006-06-01 Broadcom Corp Method and system for secure key generation
US20090075628A1 (en) * 2007-08-20 2009-03-19 Qualcomm Incorporated Method and apparatus for generating a cryptosync

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003115830A (ja) * 2001-10-03 2003-04-18 Victor Co Of Japan Ltd 情報記録装置及び情報記録再生装置
EP2186250B1 (en) * 2007-08-31 2019-03-27 IP Reservoir, LLC Method and apparatus for hardware-accelerated encryption/decryption
JP2010256652A (ja) * 2009-04-27 2010-11-11 Renesas Electronics Corp 記憶媒体暗号処理装置及び方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200302652A (en) * 2002-01-14 2003-08-01 Qualcomm Inc Cryptosync desing for a wireless communications system
US20030206538A1 (en) * 2002-01-14 2003-11-06 Ramin Rezaiifar Cryptosync design for a wireless communication system
TW200618574A (en) * 2004-11-24 2006-06-01 Broadcom Corp Method and system for secure key generation
US20090075628A1 (en) * 2007-08-20 2009-03-19 Qualcomm Incorporated Method and apparatus for generating a cryptosync

Also Published As

Publication number Publication date
US20110311048A1 (en) 2011-12-22
JP2012009928A (ja) 2012-01-12
TW201203000A (en) 2012-01-16

Similar Documents

Publication Publication Date Title
TWI496024B (zh) An encryption calculation means, a memory means, and an encryption calculation method
US8942374B2 (en) Encryption device
JP5167348B2 (ja) ソフトウェア暗号化方法およびソフトウェア暗号解読方法およびソフトウェア暗号化装置およびソフトウェア暗号解読装置
TWI573039B (zh) 計算系統及其加解密裝置與加解密方法
US8666064B2 (en) Endecryptor capable of performing parallel processing and encryption/decryption method thereof
TWI424384B (zh) 加密裝置及記憶體系統
CN106878013B (zh) 一种文件的加密、解密方法和装置
US20160112188A1 (en) Encryptor/decryptor, electronic device including encryptor/decryptor, and method of operating encryptor/decryptor
TWI570590B (zh) 與使用縮減回合編密的xts加密系統一起使用之動態加密金鑰
CN103914666A (zh) 一种基于分区的文件加解密方法和装置
JPWO2006033347A1 (ja) 機密情報処理方法、機密情報処理装置、およびコンテンツデータ再生装置
JP2008524969A (ja) イン−ストリームデータ暗号化/復号の機能を有するメモリシステム
US20150058639A1 (en) Encryption processing device and storage device
JP6273226B2 (ja) 暗号化システム、認証システム、暗号化装置、復号装置、認証子生成装置、検証装置、暗号化方法、認証方法
KR101126596B1 (ko) 단일 및 다중 aes 동작을 지원하기 위한 듀얼 모드 aes 장치 및 방법
CN110276208B (zh) 加密电路、解密电路及其方法
US20110276809A1 (en) Method of Storing Data in a Memory Device and a Processing Device for Processing Such Data
US9058507B2 (en) Signal processor with an encrypting or decrypting device in a memory system
KR102393958B1 (ko) 암호화 알고리즘이 적용된 시스템에서의 데이터 처리 방법
JP5818768B2 (ja) マスク生成装置、情報処理装置、及びその方法、プログラム
CN106529322A (zh) 自动的存储安全
JP4887668B2 (ja) 暗号化復号処理回路および暗号化復号システム
KR100954224B1 (ko) 오프셋 코드북 암호화 장치
JP2008283463A (ja) 暗号処理装置
JP2008294810A (ja) 暗号/復号装置

Legal Events

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