一種基于多變量密碼技術(shù)的在線離線簽名系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息安全領(lǐng)域,特別涉及一種基于多變量密碼技術(shù)的在線離線簽名系 統(tǒng)及方法。
【背景技術(shù)】
[0002] 一方面,密碼技術(shù)是信息安全的核心和基礎(chǔ),廣泛應(yīng)用于網(wǎng)絡(luò)通信、電子商務(wù)、銀 行、國防軍事等領(lǐng)域。密碼技術(shù)包括對稱密碼和非對稱密碼,非對稱密碼也稱為公鑰密碼。 目前公鑰密碼的安全性主要依賴于大整數(shù)分解和離散對數(shù)求解等困難問題,如RSA、ECC 等。但是自提出在量子計(jì)算機(jī)上能夠?qū)崿F(xiàn)大整數(shù)分解和離散對數(shù)求解的方法后,這類傳統(tǒng) 的公鑰密碼便受到巨大的威脅,影響到各個(gè)行業(yè)。因此,人們致力于尋找一種能夠抵御量子 計(jì)算機(jī)攻擊的密碼系統(tǒng)以滿足信息安全的需求,并將這類系統(tǒng)稱為后量子密碼,而多變量 公鑰密碼便是其中的一種。
[0003] 另一方面,無線系統(tǒng)由部署于監(jiān)測區(qū)域的多個(gè)消息簽名端組成,通過無線方式進(jìn) 行通信。該網(wǎng)絡(luò)最大的特點(diǎn)有:自組織,節(jié)點(diǎn)較廉價(jià),節(jié)點(diǎn)功耗低,網(wǎng)絡(luò)拓?fù)鋭討B(tài)變化等。無 線系統(tǒng)中部署的節(jié)點(diǎn)存在很大的安全漏洞,容易被攻擊者實(shí)行物理操縱。針對消息簽名端 的安全漏洞,我們可以通過一些合理的技術(shù)方案來進(jìn)行彌補(bǔ),例如可以通過數(shù)字簽名方案 來解決這一問題。那么什么樣類型的數(shù)字簽名方案會適用于無線系統(tǒng)呢?首當(dāng)其沖的當(dāng)然 是安全性,如果簽名容易被偽造,那么整個(gè)方案都是毫無意義的;再者,我們要考慮消息簽 名端的計(jì)算能力,能耗以及存儲空間,盡量選擇對消息簽名端性能不會造成很大影響的簽 名方案。綜合考慮安全性以及能耗,存儲空間,多變量公鑰密碼體制(MPKC)是一個(gè)不錯(cuò)的 選擇,此外,為更進(jìn)一步減少無線消息簽名端上簽名過程的計(jì)算開銷和存儲開銷,在線/離 線簽名方案是一個(gè)更好的選擇,該方案可以通過把更多的計(jì)算和存儲放在離線階段,并由 無線系統(tǒng)中的KDC端進(jìn)行執(zhí)行,而把實(shí)際的簽名過程放在在現(xiàn)階段,由傳感器操作。從而更 大程度的使得簽名方案契合系統(tǒng)的特點(diǎn)。
[0004] 但是,目前而言,對多變量公鑰密碼的在線/離線簽名方案尚未被人提出過,且用 在無線系統(tǒng)上的多變量簽名系統(tǒng)也未被人實(shí)現(xiàn)過。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供一種基于多變量密碼技術(shù)的 在線離線簽名系統(tǒng)。
[0006] 本發(fā)明的另一目的在于提供一種基于多變量密碼技術(shù)的在線離線簽名方法。
[0007] 本發(fā)明的目的通過以下的技術(shù)方案實(shí)現(xiàn):
[0008] -種基于多變量密碼技術(shù)的在線離線簽名系統(tǒng),包括
[0009] KDC端(KDC即密鑰分發(fā)中心),用于實(shí)現(xiàn)對KDC端進(jìn)行搭建,其包含順序相連的密 鑰生成模塊、離線簽名模塊和驗(yàn)證模塊;其中密鑰生成模塊產(chǎn)生一個(gè)減少了公鑰長度的公 私鑰對;離線簽名模塊包含隨機(jī)消息及醋變量生成部件和UOV簽名部件,隨機(jī)消息及醋變 量生成部件生成隨機(jī)消息和醋變量的取值并傳遞到UOV簽名部件進(jìn)行簽名,UOV簽名部件 返回消息和對應(yīng)的簽名,同時(shí)把結(jié)果發(fā)送到消息簽名端保存;驗(yàn)證模塊包含公鑰變換部件, 將簽名傳輸?shù)焦€變換部件中,簽名代入公鑰映射里的各個(gè)多變量多項(xiàng)式,判斷所得數(shù)據(jù) 是否與存儲器中的消息相等:若相等,則該簽名有效,若不相等,則該簽名無效;
[0010] 以及消息簽名端,用于對系統(tǒng)的KDC端進(jìn)行搭建,包含在線簽名模塊和驗(yàn)證模塊; 在線簽名模塊包含順序相連的仿射變換部件、線性轉(zhuǎn)換部件和仿射變換求逆部件,待簽名 的消息依次經(jīng)過仿射變換、線性轉(zhuǎn)換、仿射變換求逆運(yùn)算后,產(chǎn)生的簽名和該消息一起傳輸 給驗(yàn)證模塊;驗(yàn)證模塊包含公鑰變換部件,簽名傳輸?shù)焦€變換部件,將簽名代入公鑰映射 里的各個(gè)多變量多項(xiàng)式,判斷所得數(shù)據(jù)是否與存儲器中的消息相等:若相等,則該簽名有 效,若不相等,則該簽名無效。
[0011] 設(shè)計(jì)中,由于功能和設(shè)計(jì)部件完全相同,KDC端的驗(yàn)證模塊和消息簽名端的驗(yàn)證模 塊共用同一個(gè)驗(yàn)證模塊。
[0012] 所述的密鑰生成模塊包含順序相連的UOV參數(shù)生成部件、公鑰長度減少及密鑰計(jì) 算部件;其中UOV參數(shù)生成部件來自一個(gè)基本的UOV簽名方案,當(dāng)需要調(diào)用該部件時(shí),調(diào)用 部件嵌套的生成算法,生成UOV的系統(tǒng)參數(shù);公鑰長度減少及密鑰計(jì)算部件,包含一個(gè)減少 UOV公鑰的算法和一個(gè)密鑰計(jì)算算法,當(dāng)調(diào)用該部件時(shí),KDC端輸入系統(tǒng)參數(shù),并輸出對應(yīng) 的UOV公私鑰對。
[0013] 所述的基于多變量密碼技術(shù)的在線離線簽名系統(tǒng),還包含選擇器,當(dāng)選擇器處于 開狀態(tài)時(shí),系統(tǒng)的簽名模塊工作,當(dāng)選擇器處于閉狀態(tài)時(shí),系統(tǒng)的驗(yàn)證模塊工作。在一般的 簽名/驗(yàn)證系統(tǒng)里,用戶一用簽名模塊對待簽名的消息進(jìn)行簽名處理,形成簽名后,將它和 原消息傳輸給用戶二,用戶二用驗(yàn)證模塊驗(yàn)證簽名是否有效,二者構(gòu)成一個(gè)整體的簽名/ 驗(yàn)證系統(tǒng),反過來一樣,用戶二用簽名模塊簽名,形成簽名后,將它和原消息傳輸給用戶一, 用戶一用驗(yàn)證模塊驗(yàn)證簽名是否有效,因此同一個(gè)用戶需要同時(shí)具備兩個(gè)不同的、獨(dú)立的 裝置,即簽名模塊、驗(yàn)證模塊,才可以滿足需求,這給用戶帶來不便;而所述的多變量公鑰簽 名/驗(yàn)證系統(tǒng)采用包含選擇器的方案,同一用戶只需要同一個(gè)裝置,用戶根據(jù)自己的需要 選擇裝置進(jìn)行簽名或者驗(yàn)證,非常方便。
[0014] 所述的基于多變量密碼技術(shù)的在線離線簽名系統(tǒng),還包含與選擇器相連的調(diào)度 器,選擇器的開狀態(tài)、閉狀態(tài)由調(diào)度器識別、處理,存儲的數(shù)據(jù)由調(diào)度器控制、調(diào)度到各個(gè)相 應(yīng)的部件進(jìn)行相應(yīng)的操作。
[0015] 本發(fā)明的另一目的通過以下的技術(shù)方案實(shí)現(xiàn):
[0016] 一種基于多變量密碼技術(shù)的在線離線簽名方法,包含以下順序的步驟:
[0017] (I)KDC端進(jìn)行密鑰生成過程:
[0018] a、收到一個(gè)安全參數(shù)后,KDC端將對整個(gè)系統(tǒng)使用的密鑰進(jìn)行生成;
[0019] b、在生成密鑰的過程中,系統(tǒng)需要用到一個(gè)公鑰減少算法,通過該算法可以實(shí)現(xiàn) 減少了長度的公鑰P的設(shè)計(jì);
[0020] C、根據(jù)上述設(shè)計(jì)的公鑰,隨機(jī)生成一個(gè)仿射變換T,然后計(jì)算出對應(yīng)的Q ;
[0021] d、最終所得的結(jié)果作為系統(tǒng)需要用到的公私鑰,處理器將該消息及其簽名一起傳 輸給終端用戶;
[0022] (2)簽名過程:
[0023] a、首先在KDC端里進(jìn)行離線簽名過程,離線簽名過程產(chǎn)生的結(jié)果將被存儲在下一 步需要進(jìn)行在線簽名的消息簽名端里;
[0024] b、收到待簽名的消息后,消息簽名端將消息作為輸入,并進(jìn)行在線簽名過程,最后 產(chǎn)生對應(yīng)的簽名;
[0025] (3)驗(yàn)證過程:
[0026] a、驗(yàn)證過程可以運(yùn)行在KDC端或者消息簽名端上,消息及其簽名被傳輸?shù)綄?yīng)的 處理器,處理器存儲消息及其簽名后,再將簽名傳輸?shù)焦€變換部件;
[0027] b、公鑰變換部件將簽名代入公鑰映射的各個(gè)多變量多項(xiàng)式里,所得的數(shù)據(jù)返回 給處理器,處理器判斷該數(shù)據(jù)與存儲的的消息是否相等:若相等,處理器向終端用戶輸出 "1",說明簽名有效;若不相等,處理器向終端用戶輸出"〇",說明簽名無效。
[0028] 步驟(2)中,所述的離線簽名過程包括以下步驟:
[0029] a、給定對應(yīng)的密鑰Q和T,在離線簽名過程,處理器首先隨機(jī)生成〇+1個(gè)消息 On1, m2, . . .,nw),消息長度為〇,然后處理器隨機(jī)選擇一個(gè)醋變量向量值xve k v,然后利用 這個(gè)醋變量向量,運(yùn)行一個(gè)原始的UOV簽名算法對這〇+1個(gè)消息進(jìn)行簽名,所得結(jié)果為(ce rt 1; cert2,. . . , cert0+1);
[0030] b、然后將(III1, m2, · · · , 111。+1)和(Cert1, cert2, · · · , cert。+!)傳輸?shù)较⒑灻死飪?存,該參數(shù)將作為傳感器在線簽名的一部分輸入。
[0031] 步驟(2)中,所述的在線簽名過程包括以下步驟:
[0032] a、給定待簽名的消息m e k°,在在線簽名過程,消息簽名端首先為 (Cert1, cert2, · · ·,certQ+1)進(jìn)行 T 仿射變換,即計(jì)算'certg. =_?:1.,…,
[0033] b、對消息On1, m2,…,nw)和,__·,〇,分別用它們的前ο項(xiàng)減去第 〇+1項(xiàng),即:
[0034] (m/ = mfm。+" · · ·,m。,= m0_m0+1)和=
[0035] c、令m' = In-Iiv1,為m'構(gòu)建一個(gè)以(m/,m2',…,m。')為基的任意的線性組合,記 m/