本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,尤其涉及一種基于區(qū)塊鏈數(shù)字簽名的加密方法及系統(tǒng)。
背景技術(shù):
現(xiàn)代信息的應(yīng)用越來越趨于全球化和全民化,對于信息安全的要求除了防篡改、抗抵賴、可信等基礎(chǔ)安全之外,更需要加強(qiáng)隱私保護(hù)、身份認(rèn)證等方面的安全。新興的區(qū)塊鏈技術(shù)有助于推動(dòng)信息化溝通模式從多對多溝通發(fā)展到物聯(lián)網(wǎng)溝通模式,密碼學(xué)需要不斷創(chuàng)新才能滿足趨于復(fù)雜的通信方式的安全需求,從某種程度上說,區(qū)塊鏈技術(shù)在推動(dòng)密碼體系創(chuàng)新的同時(shí),也給現(xiàn)代密碼學(xué)帶來新的發(fā)展契機(jī)。同時(shí)在區(qū)塊鏈治理過程中,身份認(rèn)證系統(tǒng)是第一要?jiǎng)?wù),數(shù)字證書對于區(qū)塊鏈技術(shù)也是極其重要的,區(qū)塊鏈技術(shù)的發(fā)展對數(shù)字證書的發(fā)展和應(yīng)用也有極大的促進(jìn)作用。
從某種意義上看,區(qū)塊鏈技術(shù)是因?yàn)楝F(xiàn)代密碼學(xué)的發(fā)展才產(chǎn)生的,但今天區(qū)塊鏈技術(shù)所用的密碼學(xué)主要是二十年前的密碼學(xué)成果,還存在很多問題需要解決。將區(qū)塊鏈技術(shù)應(yīng)用于更多分布式的、多元身份參與的應(yīng)用場景,現(xiàn)有的加密技術(shù)是否滿足需求,還需要更多的應(yīng)用驗(yàn)證,同時(shí)更需要深入整合密碼學(xué)前沿技術(shù),包括目前國際國內(nèi)在零知識證明、多方保密計(jì)算、群簽名、基于格的密碼體制、全同態(tài)密碼學(xué)等最新前沿技術(shù)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種基于區(qū)塊鏈數(shù)字簽名的加密方法及系統(tǒng),能夠極大增強(qiáng)區(qū)塊鏈中身份認(rèn)證的安全性和可靠性。
為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提出了一種基于區(qū)塊鏈數(shù)字簽名的加密方法,所述加密方法包括:
獲取待發(fā)送報(bào)文的待發(fā)送報(bào)文摘要信息;
對所述待發(fā)送報(bào)文摘要信息進(jìn)行加密處理,獲取加密待發(fā)送報(bào)文摘要信息。
優(yōu)選地,所述獲取待發(fā)送報(bào)文的待發(fā)送報(bào)文摘要信息,包括:
獲取待發(fā)送數(shù)據(jù)信息的待發(fā)送數(shù)據(jù)摘要信息;
對所述待發(fā)送數(shù)據(jù)摘要信息進(jìn)行哈希變換處理,生成所述待發(fā)送報(bào)文摘要信息。
優(yōu)選地,所述對所述待發(fā)送報(bào)文摘要信息進(jìn)行加密處理,包括:
對所述待發(fā)送報(bào)文摘要信息進(jìn)行字節(jié)代換加密操作,獲取第一加密報(bào)文摘要信息;
對所述第一加密報(bào)文摘要信息進(jìn)行行移位加密,獲取第二加密報(bào)文摘要信息;
對所述第二加密報(bào)文摘要信息進(jìn)行列混淆加密處理,獲取第三加密報(bào)文摘要信息;
對初始秘鑰進(jìn)行秘鑰拓展處理,獲取輪秘鑰;
采用所述輪秘鑰對所述第三加密報(bào)文摘要信息進(jìn)行加密處理,獲取第四加密報(bào)文摘要信息;
對所述第四加密報(bào)文摘要信息進(jìn)行大數(shù)分解加密處理,獲取待發(fā)送加密報(bào)文摘要信息。
優(yōu)選地,所述對所述報(bào)文摘要信息進(jìn)行字節(jié)代換加密操作,包括:
根據(jù)高級加密標(biāo)準(zhǔn)定義一個(gè)s盒;
將所述報(bào)文摘要信息的字節(jié)高四位作為所述狀態(tài)矩陣的行值,所述述報(bào)文摘要信息的字節(jié)低四位作為所述狀態(tài)矩陣的列值,獲取狀態(tài)矩陣;
將所述狀態(tài)矩陣元素輸入所述s盒,獲取所述s盒中對應(yīng)的字節(jié)代換輸出。
優(yōu)選地,所述對初始秘鑰進(jìn)行秘鑰拓展處理,包括:
將所述初始秘鑰變換為以列數(shù)組,轉(zhuǎn)化為4個(gè)32bits的字,分別記為w[0…3];
j為整數(shù)并屬于[4,...,43],若j%4=0,則w[j]=w[j-4]⊕g(w[j-1]),否則w[j]=w[j-4]⊕w[j-1];
將w循環(huán)左移一個(gè)字節(jié);
分別對每個(gè)字節(jié)按照s盒進(jìn)行映射,獲取映射結(jié)果;
將所述映射結(jié)果與32bits常量進(jìn)行異或處理,獲取輪秘鑰。
優(yōu)選地,所述對所述第四加密報(bào)文摘要信息進(jìn)行大數(shù)分解加密處理,包括:
計(jì)算獲取大數(shù)分解加密的加密參數(shù);
根據(jù)所述加密參數(shù)加密所述第四加密報(bào)文摘要信息,獲取待發(fā)送加密報(bào)文摘要信息。
優(yōu)選地,所述計(jì)算獲取大叔分解加密的加密參數(shù),包括:
選取素?cái)?shù)a和b;
計(jì)算得到c和d,令c=a*b,d=(a-1)*(b-1);
選取e,使得e與d互為素?cái)?shù);
選取f,使得f*e=1(mod)d。
優(yōu)選地,所述根據(jù)所述加密參數(shù)加密所述第四加密報(bào)文摘要信息,包括:
將所述待發(fā)送數(shù)據(jù)分塊,生成消息塊,令每個(gè)所述消息塊的長度g滿足:0≤g≤c;
根據(jù)加密函數(shù)i=gf(modc),生成所述待發(fā)送加密報(bào)文摘要信息。
另外,本發(fā)明實(shí)施例還提供了一種基于區(qū)塊鏈數(shù)字簽名的加密系統(tǒng),所述加密系統(tǒng)包括:
獲取模塊:用于獲取待發(fā)送報(bào)文的待發(fā)送報(bào)文摘要信息;
加密模塊:用于對所述待發(fā)送報(bào)文摘要信息進(jìn)行加密處理,獲取加密待發(fā)送報(bào)文摘要信息。
優(yōu)選地,所述加密模塊包括:
第一加密單元:用于對所述待發(fā)送報(bào)文摘要信息進(jìn)行字節(jié)代換加密操作,獲取第一加密報(bào)文摘要信息;
第二加密單元:用于對所述第一加密報(bào)文摘要信息進(jìn)行行移位加密,獲取第二加密報(bào)文摘要信息;
第三加密單元:用于對所述第二加密報(bào)文摘要信息進(jìn)行列混淆加密處理,獲取第三加密報(bào)文摘要信息;
拓展單元:用于對初始秘鑰進(jìn)行秘鑰拓展處理,獲取輪秘鑰;
第四加密單元:用于采用所述輪秘鑰對所述第三加密報(bào)文摘要信息進(jìn)行加密處理,獲取第四加密報(bào)文摘要信息;
第五加密單元:用于對所述第四加密報(bào)文摘要信息進(jìn)行大數(shù)分解加密處理,獲取待發(fā)送加密報(bào)文摘要信息。
在本發(fā)明實(shí)施例中,通過本發(fā)明實(shí)施例應(yīng)用基于區(qū)塊鏈的改進(jìn)型aes加密算法在原始aes算法的基礎(chǔ)上有效結(jié)合了大數(shù)分解的特點(diǎn),大大增加了加密算法的安全性,從而使得其更適合應(yīng)用于區(qū)塊鏈這一領(lǐng)域,能夠極大增強(qiáng)區(qū)塊鏈中身份認(rèn)證的安全性和可靠性。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見的,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1是本發(fā)明實(shí)施例中的基于區(qū)塊鏈數(shù)字簽名的加密方法的方法流程示意圖;
圖2是本發(fā)明實(shí)施例中的又一基于區(qū)塊鏈數(shù)字簽名的加密方法的方法流程示意圖;
圖3是本發(fā)明實(shí)施例中的基于區(qū)塊鏈數(shù)字簽名的加密系統(tǒng)的系統(tǒng)結(jié)構(gòu)組成示意圖;
圖4是本發(fā)明實(shí)施例中的又一基于區(qū)塊鏈數(shù)字簽名的加密系統(tǒng)的系統(tǒng)結(jié)構(gòu)組成示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
數(shù)字簽名(又稱公鑰數(shù)字簽名、電子簽章)是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領(lǐng)域的技術(shù)實(shí)現(xiàn),用于鑒別數(shù)字信息的方法。一套數(shù)字簽名通常定義兩種互補(bǔ)的運(yùn)算,一個(gè)用于簽名,另一個(gè)用于驗(yàn)證。數(shù)字簽名,就是只有信息的發(fā)送者才能產(chǎn)生的別人無法偽造的一段數(shù)字串,這段數(shù)字串同時(shí)也是對信息的發(fā)送者發(fā)送信息真實(shí)性的一個(gè)有效證明。數(shù)字簽名是非對稱密鑰加密技術(shù)與數(shù)字摘要技術(shù)的應(yīng)用。
實(shí)施例一:
圖1是本發(fā)明實(shí)施例中的基于區(qū)塊鏈數(shù)字簽名的加密方法的方法流程示意圖,如圖1所示,
s11:獲取待發(fā)送報(bào)文的待發(fā)送報(bào)文摘要信息。
在本發(fā)明實(shí)施例中,首先對待發(fā)送的數(shù)據(jù)信息進(jìn)行摘要信息提取,獲得待發(fā)送數(shù)據(jù)摘要信息,然后對待發(fā)送數(shù)據(jù)摘要信息進(jìn)行相應(yīng)的哈希變換,用哈希函數(shù)從待發(fā)送數(shù)據(jù)摘要信息中生產(chǎn)待發(fā)送報(bào)文摘要信息。
s12:對所述待發(fā)送報(bào)文摘要信息進(jìn)行加密處理,獲取加密待發(fā)送報(bào)文摘要信息。
在本發(fā)明實(shí)施例中,依次采用字節(jié)代換、行位移、列混淆、輪秘鑰加密和大數(shù)分解加密等加密方法對待發(fā)送報(bào)文摘要信息進(jìn)行加密處理,獲取加密待發(fā)送報(bào)文摘要信息。上述加密都是基于一種改進(jìn)型的aes加密算法。
在本發(fā)明實(shí)施例中,區(qū)塊鏈技術(shù)是一種分布式存儲(chǔ)技術(shù),主要包括兩個(gè)方面:第一,數(shù)據(jù)的分布式存儲(chǔ);第二,數(shù)據(jù)的分布式記錄。分布式存儲(chǔ)是指數(shù)據(jù)存儲(chǔ)在參與記錄的節(jié)點(diǎn)中,而不是存儲(chǔ)在中心化的機(jī)器中;分布式記錄是指系統(tǒng)的參與節(jié)點(diǎn)一起記錄。
分布式記錄是指數(shù)據(jù)的記錄采用分布式。區(qū)塊鏈中的每一次數(shù)據(jù)交換的記錄的傳播都采用分布式,消息由單個(gè)節(jié)點(diǎn)直接發(fā)送給其他節(jié)點(diǎn)。在發(fā)送的過程中,為了保證數(shù)據(jù)的可靠性和完整性,使用了數(shù)字簽名技術(shù)。首先,數(shù)字簽名可以判斷信息是否由對方發(fā)送;第二,數(shù)字簽名可以判定接收到的信息是否為完整的信息。在發(fā)送方,用哈希函數(shù)從信息中生成報(bào)文摘要,然后用秘鑰進(jìn)行加密,加密的摘要作為數(shù)字簽名,和報(bào)文一起發(fā)送給對方;在接收方,使用與發(fā)送方相同的哈希函數(shù)對原始報(bào)文提取摘要,然后用秘鑰對數(shù)字簽名進(jìn)行解密,并判斷兩者是否一致,如果一致,則說明信息的完整性。
在本發(fā)明實(shí)施例中,通過本發(fā)明實(shí)施例應(yīng)用基于區(qū)塊鏈的改進(jìn)型aes加密算法在原始aes算法的基礎(chǔ)上有效結(jié)合了大數(shù)分解的特點(diǎn),大大增加了加密算法的安全性,從而使得其更適合應(yīng)用于區(qū)塊鏈這一領(lǐng)域,能夠極大增強(qiáng)區(qū)塊鏈中身份認(rèn)證的安全性和可靠性。
實(shí)施例二:
圖2是本發(fā)明實(shí)施例中的又一基于區(qū)塊鏈數(shù)字簽名的加密方法的方法流程示意圖,如圖2所示,所述加密方法包括:
s21:獲取待發(fā)送數(shù)據(jù)信息的待發(fā)送數(shù)據(jù)摘要信息。
在本發(fā)明實(shí)施例中,首先對待發(fā)送的數(shù)據(jù)信息進(jìn)行數(shù)據(jù)信息確認(rèn),在待發(fā)送數(shù)據(jù)信息中提取出待發(fā)送數(shù)據(jù)摘要信息。
s22:對所述待發(fā)送數(shù)據(jù)摘要信息進(jìn)行哈希變換處理,生成所述待發(fā)送報(bào)文摘要信息。
在本發(fā)明實(shí)施例中,采用md5哈希算法進(jìn)行哈希變換,主要步驟如下:(1)通過一種足夠復(fù)雜的算法來打亂明文信息中的所有位,各輸出位都會(huì)受到輸入位的影響。換句話說,就是將原始的明文信息填補(bǔ)到448位的長度(以512為模);(2)將消息的長度追加為64位正整數(shù),從而使得整個(gè)輸入的長度為512的倍數(shù);(3)將一個(gè)128位的緩沖區(qū)初始化為一個(gè)固定的值;(4)每一輪取出一個(gè)512字節(jié)的輸入塊,將其與128位的緩沖區(qū)進(jìn)行混淆;(5)md5對每個(gè)輸入塊執(zhí)行4輪,這個(gè)過程不斷進(jìn)行,直到所有的輸入快都完成執(zhí)行;(6)最終的消息摘要即可由128位的緩沖區(qū)構(gòu)成。
經(jīng)過上述哈希變換算法處理之后,獲取到待發(fā)送報(bào)文摘要信息。
s23:對所述待發(fā)送報(bào)文摘要信息進(jìn)行字節(jié)代換加密操作,獲取第一加密報(bào)文摘要信息;
在本發(fā)明實(shí)施例中,根據(jù)高級加密標(biāo)準(zhǔn)定義一個(gè)s盒;將所述報(bào)文摘要信息的字節(jié)高四位作為所述狀態(tài)矩陣的行值,所述述報(bào)文摘要信息的字節(jié)低四位作為所述狀態(tài)矩陣的列值,獲取狀態(tài)矩陣;將所述狀態(tài)矩陣元素輸入所述s盒,獲取所述s盒中對應(yīng)的字節(jié)代換輸出。
具體的,aes(高級加密標(biāo)準(zhǔn))的字節(jié)替換其實(shí)就是一個(gè)簡單的查表操作,aes定義了一個(gè)s盒和逆s盒。狀態(tài)矩陣中的元素按照如下方法映射為一個(gè)新的字節(jié):將字節(jié)的高4位作為狀態(tài)矩陣行值,低4位作為狀態(tài)矩陣列值,取出s盒或者逆s盒中對應(yīng)的元素作為輸出。例如,加密時(shí),設(shè)輸入的字節(jié)為0x12,則查到s盒的第0x01行和0x02列,得到值0xb8,然后替換s1原有的0x12為0xb8。在解碼的時(shí)候,逆字節(jié)代換也就是查逆s盒來變換。
s24:對所述第一加密報(bào)文摘要信息進(jìn)行行移位加密,獲取第二加密報(bào)文摘要信息;
在本發(fā)明實(shí)施例中,行位移是對上述加密之后獲得的第一加密報(bào)文摘要信息進(jìn)行行位移加密,行位移加密的功能是實(shí)現(xiàn)一個(gè)4*4矩陣內(nèi)部字節(jié)之間的置換;具體操作為正向行位移是一個(gè)簡單的左循環(huán)移位操作。當(dāng)密鑰長度為128比特時(shí),狀態(tài)矩陣的第0行左移0字節(jié),第1行左移1字節(jié),第2行左移2字節(jié),第3行左移3字節(jié),以此類推。在解碼的時(shí)候,行移位的逆變換是將狀態(tài)矩陣中的每一行執(zhí)行相反的移位操作,即狀態(tài)矩陣的第0行右移0字節(jié),第1行右移1字節(jié),第2行右移2字節(jié),第3行右移3字節(jié),以此類推。
s25:對所述第二加密報(bào)文摘要信息進(jìn)行列混淆加密處理,獲取第三加密報(bào)文摘要信息;
在本發(fā)明實(shí)施例中,對上述行位移加密獲取的第二加密報(bào)文摘要信息進(jìn)行列混淆加密,列混淆加密是將第二加密報(bào)文摘要信息矩陣信息左乘一個(gè)矩陣進(jìn)行加密,具體為根據(jù)矩陣的乘法可知,在列混淆的過程中,每個(gè)字節(jié)對應(yīng)的值只與該列的4個(gè)值有關(guān)系。在解碼的時(shí)候,經(jīng)過一次逆向列混淆后即可恢復(fù)原文。
s26:對初始秘鑰進(jìn)行秘鑰拓展處理,獲取輪秘鑰;
在本發(fā)明實(shí)施例中,將所述初始秘鑰變換為以列數(shù)組,轉(zhuǎn)化為4個(gè)32bits的字,分別記為w[0…3];j為整數(shù)并屬于[4,...,43],若j%4=0,則w[j]=w[j-4]⊕g(w[j-1]),否則w[j]=w[j-4]⊕w[j-1];將w循環(huán)左移一個(gè)字節(jié);分別對每個(gè)字節(jié)按照s盒進(jìn)行映射,獲取映射結(jié)果;將所述映射結(jié)果與32bits常量進(jìn)行異或處理,獲取輪秘鑰。
具體的,1)將初始密鑰以列為主,轉(zhuǎn)化為4個(gè)32bits的字,分別記為w[0,…,3];2)按照如下方式,依次求解w[j],其中j是整數(shù)并且屬于[4,..,43];3)若j%4=0,則w[j]=w[j-4]⊕g(w[j-1]),否則w[j]=w[j-4]⊕w[j-1];函數(shù)g的流程說明:4)將w循環(huán)左移一個(gè)字節(jié);5)分別對每個(gè)字節(jié)按s盒進(jìn)行映射;6)與32bits的常量(rc[j/4],0,0,0)進(jìn)行異或,rc是一個(gè)一維數(shù)組,其值如下。(rc的值只需要有10個(gè),而此處用了11個(gè),實(shí)際上rc[0]在運(yùn)算中沒有用到,增加rc[0]是為了便于程序中用數(shù)組表示。由于j的最小取值是4,j/4的最小取值則是1,因此不會(huì)產(chǎn)生錯(cuò)誤。)rc={00,01,02,04,08,10,20,40,80,1b,36}
s27:采用所述輪秘鑰對所述第三加密報(bào)文摘要信息進(jìn)行加密處理,獲取第四加密報(bào)文摘要信息;
在本發(fā)明實(shí)施例中,采用輪秘鑰對第三加密報(bào)文摘要信息進(jìn)行加密操作,這個(gè)操作相對簡單,其依據(jù)的原理是“任何數(shù)和自身的異或結(jié)果為0”。加密過程中,每輪的輸入與輪密鑰異或一次;因此,解密時(shí)再異或上該輪的密鑰即可恢復(fù)輸入。
s28:對所述第四加密報(bào)文摘要信息進(jìn)行大數(shù)分解加密處理,獲取待發(fā)送加密報(bào)文摘要信息。
在發(fā)明實(shí)施例中,計(jì)算獲取大數(shù)分解加密的加密參數(shù);根據(jù)所述加密參數(shù)加密所述第四加密報(bào)文摘要信息,獲取待發(fā)送加密報(bào)文摘要信息。即首先計(jì)算大數(shù)分解加密的加密參數(shù),然后通過計(jì)算獲得的加密參數(shù)對第四加密報(bào)文摘要信息進(jìn)行加密處理,獲取最終的待發(fā)送加密報(bào)文摘要信息。
在本發(fā)明實(shí)施過程中,計(jì)算獲取大叔分解加密的加密參數(shù)的過程如下:選取素?cái)?shù)a和b;計(jì)算得到c和d,令c=a*b,d=(a-1)*(b-1);選取e,使得e與d互為素?cái)?shù);選取f,使得f*e=1(mod)d。
具體的,計(jì)算出一些基本參數(shù)如下:挑選兩個(gè)較大的素?cái)?shù)a和b(一般情況下為1024位);令c=a*b,d=(a-1)*(b-1);挑選一個(gè)數(shù)e,使得e與d互為素?cái)?shù);選擇一個(gè)數(shù)f,使得f滿足:f*e=1(mod)d。
在本發(fā)明實(shí)施過程中,根據(jù)加密參數(shù)加密第四加密報(bào)文摘要信息過程如下:將所述待發(fā)送數(shù)據(jù)分塊,生成消息塊,令每個(gè)所述消息塊的長度g滿足:0≤g≤c;根據(jù)加密函數(shù)i=gf(modc),生成所述待發(fā)送加密報(bào)文摘要信息。
具體的,將上文經(jīng)過aes加密后的密文1進(jìn)行分塊(可以看成是一個(gè)位串),令每個(gè)密文1的消息塊g滿足:0≤g≤c。為此,我們只需要將密文1劃分為h位的塊即可,其中h是滿足2h<的最大整數(shù)。計(jì)算i=gf(modc),從而加密消息g。在解碼的時(shí)候:1、計(jì)算g=ie(modc),從而解密消息g,進(jìn)而得到被aes加密后的密文1;2、aes加密算法是可逆的,其明文和密文在整個(gè)輸入空間是一一對應(yīng)的。因此算法的各個(gè)部件也都是可逆的,再將各個(gè)部件的步驟進(jìn)行逆操作,密文就能正確的解密了。
上文對本發(fā)明的基于區(qū)塊鏈技術(shù)的數(shù)字簽名方法的實(shí)施例作了詳細(xì)介紹。下面將相應(yīng)于上述方法的系統(tǒng)作進(jìn)一步闡述。
在本發(fā)明實(shí)施例中,通過本發(fā)明實(shí)施例應(yīng)用基于區(qū)塊鏈的改進(jìn)型aes加密算法在原始aes算法的基礎(chǔ)上有效結(jié)合了大數(shù)分解的特點(diǎn),大大增加了加密算法的安全性,從而使得其更適合應(yīng)用于區(qū)塊鏈這一領(lǐng)域,能夠極大增強(qiáng)區(qū)塊鏈中身份認(rèn)證的安全性和可靠性。
實(shí)施例三:
圖3是本發(fā)明實(shí)施例中的基于區(qū)塊鏈數(shù)字簽名的加密系統(tǒng)的系統(tǒng)結(jié)構(gòu)組成示意圖,如圖3所示,所述加密系統(tǒng)包括:
獲取模塊11:用于獲取待發(fā)送報(bào)文的待發(fā)送報(bào)文摘要信息;
加密模塊12:用于對所述待發(fā)送報(bào)文摘要信息進(jìn)行加密處理,獲取加密待發(fā)送報(bào)文摘要信息。
在本發(fā)明實(shí)施例中,通過本發(fā)明實(shí)施例應(yīng)用基于區(qū)塊鏈的改進(jìn)型aes加密算法在原始aes算法的基礎(chǔ)上有效結(jié)合了大數(shù)分解的特點(diǎn),大大增加了加密算法的安全性,從而使得其更適合應(yīng)用于區(qū)塊鏈這一領(lǐng)域,能夠極大增強(qiáng)區(qū)塊鏈中身份認(rèn)證的安全性和可靠性。
實(shí)施例四:
圖4是本發(fā)明實(shí)施例中的又一基于區(qū)塊鏈數(shù)字簽名的加密系統(tǒng)的系統(tǒng)結(jié)構(gòu)組成示意圖,如圖4所示,所述加密系統(tǒng)包括:
獲取模塊11:用于獲取待發(fā)送報(bào)文的待發(fā)送報(bào)文摘要信息;
加密模塊12:用于對所述待發(fā)送報(bào)文摘要信息進(jìn)行加密處理,獲取加密待發(fā)送報(bào)文摘要信息。
其中,獲取模塊11還包括一下單元:
獲取單元111:用于獲取待發(fā)送數(shù)據(jù)信息的待發(fā)送數(shù)據(jù)摘要信息;
變換單元112:用于對所述待發(fā)送數(shù)據(jù)摘要信息進(jìn)行哈希變換處理,生成所述待發(fā)送報(bào)文摘要信息。
加密模塊12還包括一下單元:
第一加密單元121:用于對所述待發(fā)送報(bào)文摘要信息進(jìn)行字節(jié)代換加密操作,獲取第一加密報(bào)文摘要信息;
第二加密單元122:用于對所述第一加密報(bào)文摘要信息進(jìn)行行移位加密,獲取第二加密報(bào)文摘要信息;
第三加密單元123:用于對所述第二加密報(bào)文摘要信息進(jìn)行列混淆加密處理,獲取第三加密報(bào)文摘要信息;
拓展單元124:用于對初始秘鑰進(jìn)行秘鑰拓展處理,獲取輪秘鑰;
第四加密單元125:用于采用所述輪秘鑰對所述第三加密報(bào)文摘要信息進(jìn)行加密處理,獲取第四加密報(bào)文摘要信息;
第五加密單元126:用于對所述第四加密報(bào)文摘要信息進(jìn)行大數(shù)分解加密處理,獲取待發(fā)送加密報(bào)文摘要信息。
拓展單元124還包括一下子單元:
數(shù)字變換子單元:用于將所述初始秘鑰變換為以列數(shù)組,轉(zhuǎn)化為4個(gè)32bits的字,分別記為w[0…3];
判斷子單元:用于判斷j為整數(shù)并屬于[4,...,43],若j%4=0,則w[j]=w[j-4]⊕g(w[j-1]),否則w[j]=w[j-4]⊕w[j-1];
循環(huán)子單元:用于將w循環(huán)左移一個(gè)字節(jié);
映射子單元:用于分別對每個(gè)字節(jié)按照s盒進(jìn)行映射,獲取映射結(jié)果;
異或子單元:用于將所述映射結(jié)果與32bits常量進(jìn)行異或處理,獲取輪秘鑰。
第五加密單元126還包括一下子單元:
計(jì)算子單元:用于計(jì)算獲取大數(shù)分解加密的加密參數(shù);
加密子單元:用于根據(jù)所述加密參數(shù)加密所述第四加密報(bào)文摘要信息,獲取待發(fā)送加密報(bào)文摘要信息。
具體地,本發(fā)明實(shí)施例的系統(tǒng)相關(guān)功能模塊的工作原理可參見方法實(shí)施例的相關(guān)描述,這里不再贅述。
在本發(fā)明實(shí)施例中,通過本發(fā)明實(shí)施例應(yīng)用基于區(qū)塊鏈的改進(jìn)型aes加密算法在原始aes算法的基礎(chǔ)上有效結(jié)合了大數(shù)分解的特點(diǎn),大大增加了加密算法的安全性,從而使得其更適合應(yīng)用于區(qū)塊鏈這一領(lǐng)域,能夠極大增強(qiáng)區(qū)塊鏈中身份認(rèn)證的安全性和可靠性。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:只讀存儲(chǔ)器(rom,readonlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁盤或光盤等。
另外,以上對本發(fā)明實(shí)施例所提供的一種基于區(qū)塊鏈數(shù)字簽名的加密方法及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)采用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。