TWI819516B - 基於消息驗證的金鑰擴展的處理方法與電路 - Google Patents

基於消息驗證的金鑰擴展的處理方法與電路 Download PDF

Info

Publication number
TWI819516B
TWI819516B TW111108652A TW111108652A TWI819516B TW I819516 B TWI819516 B TW I819516B TW 111108652 A TW111108652 A TW 111108652A TW 111108652 A TW111108652 A TW 111108652A TW I819516 B TWI819516 B TW I819516B
Authority
TW
Taiwan
Prior art keywords
temporary
vector
key
hmac
data
Prior art date
Application number
TW111108652A
Other languages
English (en)
Other versions
TW202337169A (zh
Inventor
葉正濠
Original Assignee
瑞昱半導體股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 瑞昱半導體股份有限公司 filed Critical 瑞昱半導體股份有限公司
Priority to TW111108652A priority Critical patent/TWI819516B/zh
Priority to US17/880,215 priority patent/US20230318821A1/en
Publication of TW202337169A publication Critical patent/TW202337169A/zh
Application granted granted Critical
Publication of TWI819516B publication Critical patent/TWI819516B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

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

Abstract

一種基於消息驗證的金鑰擴展的處理方法與電路,處理電路包括記憶體與HMAC處理器。HMAC處理器執行以下步驟在初始運算回合,將明文檔案與初始向量載入金鑰雜湊訊息鑑別程序,產生暫存向量與共用向量;在至少一的其他運算回合,根據明文檔案與暫存向量產生第一組合數據塊;將第一組合數據塊與共用向量載入金鑰雜湊訊息鑑別程序,產生新的暫存向量;根據新的暫存向量與共用向量遞迴執行金鑰雜湊訊息鑑別程序,直至完成所有所述其他運算回合為止;將最新的暫存向量輸出為目標金鑰。

Description

基於消息驗證的金鑰擴展的處理方法與電路
本揭露係關於一種加解密處理方法與電路,特別有關一種基於消息驗證的金鑰擴展的處理方法與電路。
隨著通訊技術的快速發展,對於通訊內容的資訊安全也越發的重視。現行的資訊安全主要是建立於密碼學(cryptography)的應用上。無論是採用對稱式密碼學或非對稱式密碼學的加密系統,金鑰強度將會影響加密時的強固性。
將短長度金鑰擴展為特定長度的金鑰,將可以增加加密時的強度性。強固性高的金鑰雖然保障加密時的可靠度,但伴隨而來的是計算量的增加。因此執行金鑰擴展與加解密處理,對於計算力低的運算裝置而言將造成整體運作的負擔。
有鑑於此,本揭露提供一種基於消息驗證的金鑰擴展的處理方法包括:在初始運算回合,將明文檔案與初始向量載入金鑰雜湊訊 息鑑別程序,產生暫存向量與共用向量;在至少一的其他運算回合,根據明文檔案與暫存向量產生第一組合數據塊;將第一組合數據塊與共用向量載入金鑰雜湊訊息鑑別程序,產生新的暫存向量;根據新的暫存向量與共用向量遞迴執行金鑰雜湊訊息鑑別程序,直至完成所有所述其他運算回合為止;以及將新的暫存向量輸出為目標金鑰。所述的基於消息驗證的金鑰擴展的處理方法降低初始密鑰的相關運算量,藉以提高整體的運算效率。
本揭露的金鑰擴展的處理方法中於獲取所述第一暫存數據與第二暫存數據的步驟包括:輸入加密金鑰與鹽值;根據鹽值對第一填充數據進行異或程序,產生第一暫存密鑰;根據鹽值對第二填充數據進行異互斥程序,產生第二暫存密鑰;將第一暫存密鑰與加密金鑰進行訊息摘要程序,產生第三暫存密鑰;以及將第二暫存密鑰與第三暫存密鑰進行訊息摘要程序,產生初始密鑰。
本揭露的金鑰擴展的處理方法中於獲得第一暫存數據與第二暫存數據的步驟包括:根據初始密鑰對第一填充數據進行異或程序,產生第一暫存數據;以及根據初始密鑰對第二填充數據進行異互斥程序,產生第二暫存數據。
本揭露的金鑰擴展的處理方法中,於初始運算回合,將明文檔案與初始向量載入金鑰雜湊訊息鑑別程序,產生共用向量與暫存向量的步驟包括:根據初始密鑰對第一填充數據進行異或程序,產生第一暫存數據;根據初始密鑰對第二填充數據進行異或程序,產生第二暫存 數據;根據第一暫存數據、明文檔案串接為第一組合數據塊;載入初始向量對第一組合數據塊執行訊息摘要程序,產生第三暫存數據;組合第二暫存數據與第三暫存數據為第二組合數據塊;以及載入初始向量對第二組合數據塊執行訊息摘要程序,產生暫存向量。
本揭露提供一種基於消息驗證的金鑰擴展的處理電路,包括記憶體與HMAC處理器。在初始運算回合中,HMAC處理器根據明文檔案與初始向量執行金鑰雜湊訊息鑑別程序並產生暫存向量與共用向量,HMAC處理器將暫存向量與共用向量儲存至記憶體。在至少一其他運算回合,HMAC處理器根據明文檔案與暫存向量產生第一組合數據塊。HMAC處理器將第一組合數據塊與共用向量載入金鑰雜湊訊息鑑別程序,產生新的暫存向量。其中,HMAC處理器根據新的暫存向量與共用向量遞迴執行金鑰雜湊訊息鑑別程序,直至完成所有所述其他運算回合為止,HMAC處理器將新的暫存向量輸出為目標金鑰。
在一些實施例中,HMAC處理器根據初始向量對第一組合數據塊執行訊息摘要程序,產生第三暫存數據,HMAC處理器將第二暫存數據與第三暫存數據組合為第二組合數據塊,HMAC處理器根據初始向量對第二組合數據塊執行訊息摘要程序,產生暫存向量。
本揭露的基於消息驗證的金鑰擴展的處理方法與電路可以降低HMAC運算對於初始密鑰的相關運算量,藉以提高基於消息驗證的金鑰擴展的金鑰擴展運算效率。
100:HKDF處理電路
110:記憶體
111:初始向量
112、T(n):暫存向量
IV:共用向量
IV1:第一共用向量
IV2:第二共用向量
113:第一暫存數據
114:第二暫存數據
116:初始密鑰
120:HMAC處理器
130:目標金鑰
200:儲存設備
210:明文檔案
221:第三暫存數據
231:第一組合數據塊
232:第二組合數據塊
241:訊息摘要程序
121、410:HMAC程序
700:HKDF處理電路
710:HMAC處理器
720:記憶體
730:多工器
731:第一輸入端
732:第二輸入端
733:第三輸入端
734:選擇訊號
735:輸出端
741:第一暫存器
742:第二暫存器
743:第三暫存器
R(n):運算回合
S210~S250、S510~S550、S610~S630:步驟
[圖1]為本揭露的一實施例的基於消息驗證的金鑰擴展的處理電路架構示意圖。
[圖2]為本揭露的一實施例的基於消息驗證的金鑰擴展的處理方法流程示意圖。
[圖3]為本揭露的一實施例的第一組合數據塊生成示意圖。
[圖4]為本揭露的一實施例的不同運算回合的各級輸出輸入的示意圖。
[圖5]為本揭露的一實施例的獲取初始密鑰的運作流程示意圖。
[圖6]為本揭露的一實施例的產生第一暫存數據與第二暫存數據的運作流程示意圖。
[圖7]為本揭露的一實施例的基於消息驗證的金鑰擴展的處理電路與多工器選擇的方塊示意圖。
請參考圖1所示,其係為本揭露的一實施例的基於消息驗證的金鑰擴展的處理電路架構示意圖。基於消息驗證的金鑰擴展處理電路(Hash Message Authentication Codes based Key Derivation Function,後簡稱為HKDF)至少包括記憶體110與金鑰雜湊訊息鑑別處理器(keyed-hash message authentication code,後簡稱為HMAC處理器120)。HKDF處理電路100除了可以為獨立電路外,HKDF處理電路100也可以結合個人計算機(PC)、筆記型電腦(notebook)、行動通訊裝 置(mobile phone)、平板電腦或具有運算能力的電子裝置之中。HMAC處理器120用於執行金鑰雜湊訊息鑑別程序(以下簡稱為HMAC程序121)的運算,並輸出目標金鑰130。
HMAC處理器120電性連接於記憶體110。記憶體110儲存初始向量111、至少一暫存向量112、第一暫存數據113、第二暫存數據114(兩暫存數據113、114的生成處理將於後文另述)與初始密鑰116。前述記憶體110可以是但不限定為隨機存取記憶體(Random Access Memory,RAM)、電子抹除式可複寫唯讀記憶體(Electrically-Erasable Programmable Read-Only Memory,EEROM)、暫存器(Register)、硬式磁碟或固態磁碟(Solid-state drive,SSD)等具有儲存資料的相關裝置。
HMAC處理器120從記憶體110中讀取初始向量111(initial vector)、第一暫存數據113、第二暫存數據114與明文檔案210。HMAC處理器120根據初始向量111、第一暫存數據113、第二暫存數據114與明文檔案210執行HMAC程序121。
一般而言,HMAC程序121在每一運算回合時會將前次的輸出結果視為新的輸入參數(將於後文另述),並產生新一運算回合的輸出結果,而運算回合所輸出結果稱為暫存向量112。為能區分不同的運算回合,在此將第一次的運算回合定義為初始運算回合,而其餘的均為其他運算回合。在初始運算回合中,HMAC程序121將以明文檔案210與初始向量111進行運算。
為說明不同運算回合時的各輸入資料或輸出資料,以下對各參數進行相應的定義與說明。下文中運算回合係以R(n)表示,例如:初始運算回合係為R(1),而其他運算回合係為R(2~n)。各運算回合的暫存向量T表示T(n),其中n
Figure 111108652-A0305-02-0008-2
{1,2,..,n},n為運算回合數。
在初始運算回合(意即運算回合R(1))時,HKDF處理電路100從外部獲取初始向量111,並將初始向量111儲存於記憶體110中,以待HMAC處理器120讀取。除了初始向量111外,記憶體110於運算過程中另儲存一共用向量IV(如圖4所示)。共用向量IV係為第一共用向量IV1與第二共用向量IV2的集合。在訊息摘要程序241的處理過程中會於其他運算回合中均會調用第一共用向量IV1與第二共用向量IV2,此一處理將於後文詳述其運作。
在一實施例中,HMAC處理器120電性連接於儲存設備200,請配合圖1所示。儲存設備200儲存明文檔案210。明文檔案210可以是但不限定為文件檔案(text file)、圖像檔案(image file)、影像檔案(video file)或其他數位資料(digital data)。一般而言,在其他運算回合(R(2~n))中,HMAC處理器120將明文檔案210與暫存向量T(n-1)串接為第一組合數據塊231(如圖3所示)。
由於初始運算回合(R(1))中,不存在前一運作回合R(0)的暫存向量,因此HMAC處理器120直接載入明文檔案210,藉以作為運作回合R(1)的暫存向量T(0)。HMAC處理器120使用安全雜湊演算法(Secure Hash Algorithm,簡稱SHA)對前述的串接結果再進行切分, 使得每一個切分後數據塊均為長度相同的數據塊。
HMAC處理器120於運算回合R(1~n)中根據初始向量111與明文檔案210執行基於消息驗證的金鑰擴展的處理,請配合圖2所示,其係為本揭露的一實施例的基於消息驗證的金鑰擴展的處理方法流程示意圖。基於消息驗證的金鑰擴展的處理方法包括以下步驟:步驟S210:在初始運算回合,HMAC處理器將明文檔案與初始向量載入金鑰雜湊訊息鑑別程序,產生暫存向量與共用向量;步驟S220:在至少一其他運算回合,HMAC處理器根據明文檔案與暫存向量產生第一組合數據塊;步驟S230:將第一組合數據塊與共用向量載入金鑰雜湊訊息鑑別程序,產生新的暫存向量;步驟S240:根據新的暫存向量與共用向量遞迴執行金鑰雜湊訊息鑑別程序,直至完成所有所述其他運算回合為止;以及步驟S250:將最新的暫存向量輸出為目標金鑰。
在初始運算回合運行初期,HMAC處理器120從記憶體110中讀取明文檔案210、初始向量111、第一暫存數據113與第二暫存數據114。HMAC處理器120將會執行初始運算回合(R(1))。其中,第一暫存數據113與第二暫存數據114可以是於初始運算回合(R(1))中所獲得,也可以是初始運算回合(R(1))之前根據初始密鑰116所獲得。在此係以已經獲取第一暫存數據113與第二暫存數據114為例進行說明。
請另外配合圖3所示,通常HMAC程序121將第一暫存數據113、暫存向量T(n-1)與明文檔案210串接組合為第一組合數據塊231。如前文所述,由於初始運算回合(R(1))並無暫存向量T(0)(意即n=1時並無暫存向量T(n-1))與第一暫存數據113。因此,HMAC處理器120可直接將明文檔案210視為初始運算回合(R(1))的暫存向量T(0)。第一暫存數據113與第二暫存數據114將於後文另述其產生方式。
HMAC處理器120根據初始向量111對第一組合數據塊231進行訊息摘要程序241,獲得第三暫存數據221與第一共用向量IV1。其中,訊息摘要程序241(Digital Digest)包括訊息摘要演算法(Message-Digest Algorithm,MD)、安全雜湊演算法(SHA系列)與訊息認證碼演算法。
HMAC處理器120將第二暫存數據114與第三暫存數據221組合為第二組合數據塊232。HMAC處理器120根據初始向量111對第二組合數據塊232進行訊息摘要程序241,獲得暫存向量T(1)(n=2時的暫存向量T(1))與第二共用向量IV2。HMAC處理器120將暫存向量T(1)儲存至記憶體110中,如圖4所示。
在初始運算回合(R(1))的過程中,HMAC處理器120對於第一暫存數據113與第二暫存數據114分別執行訊息摘要程序241,並獲得兩組輸出結果。所述的兩組輸出結果分別為第一共用向量IV1與第二共用向量IV2(意即為共用向量IV)。第一共用向量IV1與第二共用向量IV2將於之後的各運算回合R(n)中直接載入。
接著,HMAC處理器120執行第二回合的運算回合R(2)(意即其他運算回合)。HMAC處理器120根據第一組合數據塊231、第一共用向量IV1與第二共用向量IV2執行第二回合的運算回合R(2)的HMAC程序410的處理,請參考圖4所示,其係為一實施例的不同運算回合的各級輸出輸入的示意圖。
HMAC處理器120以遞迴(recursive)的方式重複執行前述的動作,以得到各運算回合R(2)~R(n)所輸出的暫存向量T(2)~T(n)。一般而言,遞迴執行的次數可以根據HMAC程序121的預設次數,也可以根據HMAC處理器120進行運算回合的次數增減。HMAC處理器120將每一運算回合R(n-1)所輸出的暫存向量T(n-1)加入次一運算回合R(n)的第一組合數據塊231之中。並且HMAC處理器120也於每一運算回合R(2~n)中直接載入第一共用向量IV1與第二共用向量IV2。因此HMAC處理器120可以降低其他運算回合的重複運算。最後,HMAC處理器120將最後的運算回合R(n)的暫存向量T(n)輸出為目標金鑰130,如圖4所示。
在一實施例中,HMAC處理器120可以將輸入的加密金鑰(input key)視為初始密鑰116(pseudorandom key,簡稱PRK)。HMAC處理器120可以將所獲取的加密金鑰(無標號)時進行下述處理,進而產生初始密鑰116(如圖1所示),請參考圖5所示,其係為一實施例的獲取初始密鑰116的運作流程示意圖。HMAC處理器120執行以下步驟:步驟S510:輸入加密金鑰與鹽值; 步驟S520:根據鹽值對第一填充數據進行異或程序,產生第一暫存密鑰;步驟S530:根據鹽值對第二填充數據進行異或程序,產生第二暫存密鑰;步驟S540:將第一暫存密鑰與加密金鑰進行訊息摘要程序,產生第三暫存密鑰;以及步驟S550:將第二暫存密鑰與第三暫存密鑰進行訊息摘要程序,產生初始密鑰。
首先,HMAC處理器120接收加密金鑰。HMAC處理器120將鹽值(salt)與第一填充數據(ipad)進行異或程序(Exclusive OR),產生第一暫存密鑰。一般而言,第一填充數據係為填充「0x36」的數據區塊,第一填充數據的長度係為8位元的整數倍數。例如:第一填充數據的長度係為8位元長度、16位元長度或32位元長度。
同理,HMAC處理器120將鹽值與第二填充數據(opad)進行異或程序,產生第二暫存密鑰。第二填充數據係為填充「0x5c」的數據集合。第二填充數據的區塊長度係與第一填充數據的長度一致。但實際上可以根據處理的需求變更所填充的內容,並不侷限於此。
HMAC處理器120將第一暫存密鑰與加密金鑰進行訊息摘要程序241,產生第三暫存密鑰。HMAC處理器120將第二暫存密鑰與第三暫存密鑰進行訊息摘要程序241,產生初始密鑰116。
在一實施例中,HMAC處理器120計算第一暫存數據113 與第二暫存數據114包括以下步驟,並請同時配合圖6所示,其係為一實施例的產生第一暫存數據113與第二暫存數據114的運作流程示意圖。HMAC處理器120執行以下步驟:步驟S610:獲取初始密鑰;步驟S620:根據初始密鑰對第一填充數據進行異或程序,產生第一暫存數據;以及步驟S630:根據初始密鑰對第二填充數據進行異或程序,產生第二暫存數據。
首先,HMAC處理器120獲取初始密鑰116。HMAC處理器120根據初始密鑰116與第一填充數據進行異或程序,並產生第一暫存數據113。HMAC處理器120根據初始密鑰116與第二填充數據進行異或程序,並產生第二暫存數據114。
接著,HMAC處理器120將第一暫存數據113與第二暫存數據114儲存至記憶體110。HMAC處理器120在不同運算回合中,HMAC處理器120可以直接存取記憶體110中的第一暫存數據113與第二暫存數據114。換言之,HMAC處理器120不需要在各運算回合中計算第一暫存數據113與第二暫存數據114。
HMAC處理器120可以在獲得初始密鑰116時,HMAC處理器120立即計算第一暫存數據113與第二暫存數據114。亦或者,HMAC處理器120於執行第一次的運算回合R(1)時,HMAC處理器120根據初始密鑰116得到相應的第一暫存數據113與第二暫存數據114。 HMAC處理器120再將第一暫存數據113與第二暫存數據114儲存至記憶體110中,以供後續運算回合使用。
請配合參考圖7,其係為一實施例的基於消息驗證的金鑰擴展的處理電路與多工器730選擇的方塊示意圖。在一實施例中,HKDF處理電路700包括HMAC處理器710、記憶體720與多工器730。HMAC處理器710連接於記憶體720與多工器730。記憶體720儲存明文檔案210、第一暫存數據113與第二暫存數據114(未繪示)。多工器730的輸入端(無標號)包括第一輸入端731、第二輸入端732與第三輸入端733。
第一輸入端731電性連接第三暫存器743,第一輸入端731接收初始向量。第二輸入端732電性連接第一暫存器741,第二輸入端732接收第一共用向量IV1。第三輸入端733電性連接於第二暫存器742,第三輸入端733接收第二共用向量IV2。輸出端735電性連接於HMAC處理器710。輸出端735在不同運算回合中可以根據選擇訊號734選擇輸出第一共用向量IV1或第二共用向量IV2。此外,輸出端735同時輸出初始向量至HMAC處理器710。
如前文所述,在第一回的運算回合R(1)初始前,HKDF處理電路700從記憶體720載入初始向量111、初始密鑰116與明文檔案210。在運算回合R(1)中,HMAC處理器710根據初始密鑰產生第一暫存數據113與第二暫存數據114。在完成運算回合R(1)後,HMAC處理器710產生第一共用向量IV1、第二共用向量IV2與暫存向量T(1)。HMAC處理器710分別將第一共用向量IV1與第二共用向量IV2儲存至第一暫存 器741與第二暫存器742。在之後的各運算回合中,HMAC處理器710可以通過多工器730直接取得當前運算回合所需的第一共用向量IV1與第二共用向量IV2,進而降低重複的相同計算。
所述的基於消息驗證的金鑰擴展的處理方法與電路可以降低HMAC運算對於初始密鑰的相關運算量,藉以提高基於消息驗證的金鑰擴展的金鑰擴展運算效率。
100:HKDF處理電路 110:記憶體 111:初始向量 112:暫存向量 113:第一暫存數據 114:第二暫存數據 116:初始密鑰 120:HMAC處理器 121:HMAC程序 130:目標金鑰 200:儲存設備 210:明文檔案

Claims (9)

  1. 一種基於消息驗證的金鑰擴展的處理方法,包括:在一初始運算回合,將一明文檔案與一初始向量載入一金鑰雜湊訊息鑑別程序,產生一暫存向量與一共用向量;在至少一其他運算回合,根據該明文檔案與該暫存向量產生一第一組合數據塊;將該第一組合數據塊與該共用向量載入該金鑰雜湊訊息鑑別程序,產生新的該暫存向量;根據新的該暫存向量與該共用向量遞迴執行該金鑰雜湊訊息鑑別程序,直至完成所有的該至少一其他運算回合為止;以及將新的該暫存向量輸出為一目標金鑰。
  2. 如請求項1所述的基於消息驗證的金鑰擴展的處理方法,其中於該初始運算回合,將該明文檔案與該初始向量載入該金鑰雜湊訊息鑑別程序,產生該共用向量與該暫存向量的步驟包括:輸入一加密金鑰與一鹽值;根據該鹽值對一第一填充數據進行一異或程序,產生一第一暫存密鑰;根據該鹽值對一第二填充數據進行該異或程序,產生一第二暫存密鑰;將該第一暫存密鑰與該加密金鑰進行一訊息摘要程序,產生一第三暫存密鑰;以及 根據該第二暫存密鑰與該第三暫存密鑰進行該訊息摘要程序,產生一初始密鑰。
  3. 如請求項2所述的基於消息驗證的金鑰擴展的處理方法,其中於該初始運算回合,將該明文檔案與該初始向量載入該金鑰雜湊訊息鑑別程序,產生該共用向量與該暫存向量的步驟包括:根據該初始密鑰對該第一填充數據(ipad)進行該異或程序,產生一第一暫存數據;根據該初始密鑰對該第二填充數據(opad)進行該異或程序,產生一第二暫存數據;根據該第一暫存數據、該明文檔案串接為該第一組合數據塊;載入該初始向量對該第一組合數據塊執行該訊息摘要程序,產生一第三暫存數據;組合該第二暫存數據與該第三暫存數據為一第二組合數據塊;以及載入該初始向量對該第二組合數據塊執行該訊息摘要程序,產生該暫存向量。
  4. 如請求項3所述的基於消息驗證的金鑰擴展的處理方法,其中該訊息摘要處理包括訊息摘要(Message-Digest Algorithm,MD)、安全雜湊(Secure Hash Algorithm,SHA)與訊息認證碼(Message Authentication Code,MAC)。
  5. 一種基於消息驗證的金鑰擴展的處理電路,包括: 一記憶體;以及一HMAC(Hash-Based Message Authentication Code)處理器,在一初始運算回合中,該HMAC處理器根據一明文檔案與一初始向量執行一金鑰雜湊訊息鑑別程序並產生一暫存向量與一共用向量,該HMAC處理器將該暫存向量與該共用向量儲存至該記憶體;以及在至少一其他運算回合,該HMAC處理器根據該明文檔案與該暫存向量產生一第一組合數據塊;該HMAC處理器將該第一組合數據塊與該共用向量載入該金鑰雜湊訊息鑑別程序,產生新的該暫存向量,其中,該HMAC處理器根據新的該暫存向量與該共用向量遞迴執行該金鑰雜湊訊息鑑別程序,直至完成所有的該至少一其他運算回合為止,該HMAC處理器將新的該暫存向量輸出為一目標金鑰。
  6. 如請求項5所述的基於消息驗證的金鑰擴展的處理電路,其中包括一儲存設備,該儲存設備存儲該明文檔案,該HMAC處理器電性連接於該儲存設備,該HMAC處理器將一第一暫存數據與該明文檔案串接為該第一組合數據。
  7. 如請求項5所述的基於消息驗證的金鑰擴展的處理電路,其中該HMAC處理器接收一初始密鑰文字範本,該HMAC處理器根據該初始密鑰對一第一填充數據(ipad)與一第二填充數據(opad)進行一異或程序,分別產生一第一暫存數據與一第二暫存數據,該HMAC處理器將該第一暫存數據與該第二暫存數據儲存至該記憶體。
  8. 如請求項7所述的基於消息驗證的金鑰擴展的處理電路,其中該HMAC處理器根據該初始向量對該第一組合數據塊執行一訊息摘要程序,產生一第三暫存數據,該HMAC處理器將該第二暫存數據與該第三暫存數據組合為一第二組合數據塊,該HMAC處理器根據該初始向量對該第二組合數據塊執行該訊息摘要程序,產生該暫存向量。
  9. 如請求項7所述的基於消息驗證的金鑰擴展的處理電路,其中包括一多工選擇器,該多工選擇器電性連接於該HMAC處理器、一第一暫存器與一第二暫存器,該HMAC處理器產生一選擇訊號至該多工選擇器,使該多工選擇器選擇該第一暫存數據或該第二暫存數據至該HMAC處理器。
TW111108652A 2022-03-09 2022-03-09 基於消息驗證的金鑰擴展的處理方法與電路 TWI819516B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW111108652A TWI819516B (zh) 2022-03-09 2022-03-09 基於消息驗證的金鑰擴展的處理方法與電路
US17/880,215 US20230318821A1 (en) 2022-03-09 2022-08-03 Processing method and circuit of key derivation based on hmac

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW111108652A TWI819516B (zh) 2022-03-09 2022-03-09 基於消息驗證的金鑰擴展的處理方法與電路

Publications (2)

Publication Number Publication Date
TW202337169A TW202337169A (zh) 2023-09-16
TWI819516B true TWI819516B (zh) 2023-10-21

Family

ID=88192503

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111108652A TWI819516B (zh) 2022-03-09 2022-03-09 基於消息驗證的金鑰擴展的處理方法與電路

Country Status (2)

Country Link
US (1) US20230318821A1 (zh)
TW (1) TWI819516B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1697371A (zh) * 2004-05-13 2005-11-16 华为技术有限公司 密钥数据收发方法
US20100290624A1 (en) * 2002-07-08 2010-11-18 Broadcom Corporation Key Management System and Method
US20110138192A1 (en) * 2009-12-04 2011-06-09 Kocher Paul C Verifiable, Leak-Resistant Encryption and Decryption
US20120093312A1 (en) * 2010-10-15 2012-04-19 Infineon Technologies Ag Data Transmitter with a Secure and Efficient Signature
TW201521411A (zh) * 2013-11-27 2015-06-01 Inst Information Industry 兼具完整性驗證之區塊加密裝置、區塊加密方法、區塊解密裝置及區塊解密方法
US20160065549A1 (en) * 2012-03-27 2016-03-03 Amazon Technologies, Inc. Hierarchical data access techniques

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8218759B2 (en) * 2009-04-17 2012-07-10 Oracle America, Inc. System and method for encrypting data
US9407437B1 (en) * 2014-03-25 2016-08-02 Amazon Technologies, Inc. Secure initialization vector generation
JP6740902B2 (ja) * 2014-08-20 2020-08-19 日本電気株式会社 認証暗号化方法、認証復号方法および情報処理装置
US10454686B2 (en) * 2015-04-08 2019-10-22 Telefonaktiebolaget Lm Ericsson (Publ) Method, apparatus, and system for providing encryption or integrity protection in a wireless network
US10615969B1 (en) * 2017-02-10 2020-04-07 Wells Fargo Bank, N.A. Database encryption key management
EP3661113A1 (de) * 2018-11-30 2020-06-03 Siemens Aktiengesellschaft Verfahren und vorrichtung zum übertragen von daten in einem publish-subscribe-system
US11347895B2 (en) * 2019-12-03 2022-05-31 Aptiv Technologies Limited Method and system of authenticated encryption and decryption
US20230361994A1 (en) * 2020-09-25 2023-11-09 John A. Nix System and Methods for Secure Communication Using Post-Quantum Cryptography
JP2024525945A (ja) * 2021-07-23 2024-07-12 ファウェイ テクノロジーズ カナダ カンパニー リミテッド マルチユーザ量子鍵配送及び管理の方法及びシステム
US20230308424A1 (en) * 2021-12-08 2023-09-28 John A. Nix Secure Session Resumption using Post-Quantum Cryptography

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100290624A1 (en) * 2002-07-08 2010-11-18 Broadcom Corporation Key Management System and Method
CN1697371A (zh) * 2004-05-13 2005-11-16 华为技术有限公司 密钥数据收发方法
US20110138192A1 (en) * 2009-12-04 2011-06-09 Kocher Paul C Verifiable, Leak-Resistant Encryption and Decryption
US20120093312A1 (en) * 2010-10-15 2012-04-19 Infineon Technologies Ag Data Transmitter with a Secure and Efficient Signature
US20160065549A1 (en) * 2012-03-27 2016-03-03 Amazon Technologies, Inc. Hierarchical data access techniques
TW201521411A (zh) * 2013-11-27 2015-06-01 Inst Information Industry 兼具完整性驗證之區塊加密裝置、區塊加密方法、區塊解密裝置及區塊解密方法

Also Published As

Publication number Publication date
TW202337169A (zh) 2023-09-16
US20230318821A1 (en) 2023-10-05

Similar Documents

Publication Publication Date Title
US9537653B2 (en) Encryption key generating apparatus and computer program product
US8681976B2 (en) System and method for device dependent and rate limited key generation
KR20150102827A (ko) 패스워드 기반의 인증을 수행하는 사용자 장치 및 그것의 패스워드 등록 방법 및 인증 방법
US10958440B2 (en) Blockchain ledger compression
US10326596B2 (en) Techniques for secure authentication
CN112865973A (zh) 基于格的加密密钥和数字签名的生成方法
TWI819516B (zh) 基於消息驗證的金鑰擴展的處理方法與電路
JP2011002810A (ja) 暗号化装置、プログラム、暗号システム及び暗号化方法
JP5427117B2 (ja) メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、およびプログラム
US9288041B2 (en) Apparatus and method for performing compression operation in hash algorithm
US20100104098A1 (en) Cryptographic method and device for scheduling and compressing message based on secure hash algorithm
CN115361198A (zh) 解密方法、加密方法、装置、计算机设备和存储介质
CN116800404A (zh) 基于消息验证的密钥扩展的处理方法与电路
CN112054889B (zh) 消息认证码的生成方法及生成装置、计算机可读存储介质
CN114826560A (zh) 一种轻量级分组密码cref实现方法及系统
CN113468567B (zh) 数据处理方法及数据处理设备
US20220405372A1 (en) Biometric authentication based on learning parity with noise
KR102236242B1 (ko) 퍼지 추출기를 이용한 공개값 생성 방법 및 그 공개값과 2차 입력값을 입력받아 비밀키를 생성하는 방법
CN118074889B (zh) 基于国密sm3算法和mac算法的数据处理方法及装置
CN116484443B (zh) 一种基于鸿蒙系统的可信安全存储方法及装置
CN114124357B (zh) 基于傅里叶级数的密文生成方法、服务器、介质及装置
CN118233081B (zh) 一种基于neon指令集的国密sm2底层模乘优化方法
CN114666049B (zh) 一种用于加密明文数据的方法及其相关产品
US20240354343A1 (en) Electronic device for searching encrypted data and methods thereof
CN116827553A (zh) 基于sm3算法的认证码生成方法、装置、设备及存储介质