国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      云存儲中基于混合加密算法的簽名與驗證方法與流程

      文檔序號:11524214閱讀:754來源:國知局
      云存儲中基于混合加密算法的簽名與驗證方法與流程

      本發(fā)明涉及云存儲中的信息安全技術(shù)領(lǐng)域,具體涉及一種云存儲中基于混合加密算法的簽名與驗證方法。



      背景技術(shù):

      加鹽加密就是在密碼中混入一段“隨機(jī)”的字符串再進(jìn)行哈希加密,這個字符串被稱作鹽值,這使得同一個密碼每次都被加密為完全不同的字符串。為了校驗密碼是否正確,我們需要儲存鹽值。通常和密碼哈希值(即散列值)一起存放在賬戶數(shù)據(jù)庫中,或者直接存為哈希字符串的一部分。

      鹽值并不需要保密,由于隨機(jī)化了哈希值,查表法、反向查表法和彩虹表都不再有效。攻擊者無法確知鹽值,于是就不能預(yù)先計算出一個查詢表或者彩虹表。這樣每個用戶的密碼都混入不同的鹽值后再進(jìn)行哈希,因此反向查表法也變得難以實施。

      aes加密算法,即高級加密標(biāo)準(zhǔn)(advancedencryptionstandard),是用來替代原先的des的新的標(biāo)準(zhǔn),已經(jīng)被多方分析且廣為全世界所使用。經(jīng)過五年的甄選流程,高級加密標(biāo)準(zhǔn)由美國國家標(biāo)準(zhǔn)與技術(shù)研究院(nist)于2001年11月26日發(fā)布于fipspub197,并在2002年5月26日成為有效的標(biāo)準(zhǔn)。2006年,高級加密標(biāo)準(zhǔn)已然成為對稱密鑰加密中最流行的算法之一。

      sm2是國家密碼管理局于2010年12月17日發(fā)布的橢圓曲線公鑰密碼算法,sm2簽名算法是基于sm2密碼算法的簽名算法。sm2算法和rsa算法都是公鑰密碼算法,sm2算法是一種更先進(jìn)安全的算法,在我們國家商用密碼體系中被用來替換rsa算法。隨著密碼技術(shù)和計算技術(shù)的發(fā)展,目前常用的1024位rsa算法面臨嚴(yán)重的安全威脅,我們國家密碼管理部門經(jīng)過研究,決定采用sm2橢圓曲線算法替換rsa算法。



      技術(shù)實現(xiàn)要素:

      本發(fā)明的目的在于針對云存儲面臨的安全性問題,提出了一種云存儲中基于混合加密算法的簽名與驗證方法,包括以下步驟,

      發(fā)送方a加密和簽名的過程如下:

      1)發(fā)送方a在對用戶密碼m加鹽后生成新的密碼m1;

      2)使用哈希加密算法sha-256計算得到新密碼m1的散列值h(m1);

      3)采用sm2算法,利用發(fā)送方a的私鑰kpra對散列值h(m1)進(jìn)行簽名,得到簽名的散列值d(h);

      4)采用aes算法,利用密鑰k對新密碼m1和散列值d(h)進(jìn)行加密,得到密文c;

      5)再次采用sm2算法,使用接收方b的公鑰kpub對aes的密鑰k加密形成ck,保障密鑰k的安全性;

      6)發(fā)送方a將密文c和ck一起發(fā)送給接收方b。

      接收方b解密和驗證簽名的過程如下:

      1)接收方b收到c和ck后,先用自己的私鑰kprb對ck解密,得到aes密鑰k;

      2)接收方b在通過密鑰k對密文c解密,得到加鹽后的用戶密碼m1和散列值d(h);

      3)接收方b用a的公鑰kpua對d(h)進(jìn)行數(shù)據(jù)簽名驗證,得到散列值h(m1);

      4)同時接收方b使用相同的sha-256哈希函數(shù)得出新的散列值h(m1)’;

      5)接收方b對比h(m1)和h(m1)’,若兩者相同,說明簽名是真實有效,數(shù)據(jù)是完整的,此時用戶請求成功,否則用戶請求失敗。

      該方法所述的加鹽方法,通過偽隨機(jī)數(shù)生成器產(chǎn)生隨機(jī)字符串,將用戶密碼m和隨機(jī)字符串混合后,形成用戶密碼和鹽的組合作為新的密碼m1,生成的m1有三種基本形式:鹽連接在用戶密碼之前的位置,鹽連接在用戶密碼之后的位置以及鹽所包含的字符串隨機(jī)插入用戶密碼中形成隨機(jī)組合。

      該方法所述的混合加密系統(tǒng)結(jié)合了aes算法運算速度快、對內(nèi)存要求低、算法可靠、能夠有效抵抗查分分析和現(xiàn)行分析攻擊的優(yōu)點;sm2算法能夠提供最高比特強(qiáng)的公鑰密碼,用較短的密鑰加密,得到較高安全級別密文的優(yōu)勢,能夠有效解決大數(shù)據(jù)加密效率與算法安全性的矛盾。

      該方法所述的簽名與驗證方法,利用公鑰密碼sm2的優(yōu)勢,分別對m1生成的散列值h(m1)和aes加密密鑰k進(jìn)行簽名;針對h(m1),是用發(fā)送方a的私鑰kpra進(jìn)行sm2簽名,后續(xù)再用發(fā)送方a的公鑰kpua進(jìn)行sm2解密,還原出h(m1);針對aes加密密鑰k,用接收方b的綱要kpub進(jìn)行sm2簽名,后續(xù)再用接收方b的私鑰kprb進(jìn)行sm2解密,還原出aes密鑰k。

      附圖說明

      圖1為混合加密算法的簽名與驗證流程圖;

      圖2為加鹽加密的原理圖;

      圖3為aes的加密解密原理圖;

      圖4為sm2的加密模型圖;

      圖5為sm2加密的認(rèn)證模型圖。

      具體實施方式

      下面結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)的描述,但本發(fā)明的實施方式不限于此。

      一種云存儲中基于混合加密算法的簽名與驗證方法,參照附圖1,包括以下步驟,

      發(fā)送方a加密和簽名的過程如下:

      1)發(fā)送方a在對用戶密碼m加鹽后生成新的密碼m1;

      2)使用哈希加密算法sha-256計算得到新密碼m1的散列值h(m1);

      3)采用sm2算法,利用發(fā)送方a的私鑰kpra對散列值h(m1)進(jìn)行簽名,得到簽名的散列值d(h);

      4)采用aes算法,利用密鑰k對新密碼m1和散列值d(h)進(jìn)行加密,得到密文c;

      5)再次采用sm2算法,使用接收方b的公鑰kpub對aes的密鑰k加密形成ck,保障密鑰k的安全性;

      6)發(fā)送方a將密文c和ck一起發(fā)送給接收方b。

      接收方b解密和驗證簽名的過程如下:

      1)接收方b收到c和ck后,先用自己的私鑰kprb對ck解密,得到aes密鑰k;

      2)接收方b在通過密鑰k對密文c解密,得到加鹽后的用戶密碼m1和散列值d(h);

      3)接收方b用a的公鑰kpua對d(h)進(jìn)行數(shù)據(jù)簽名驗證,得到散列值h(m1);

      4)同時接收方b使用相同的sha-256哈希函數(shù)得出新的散列值h(m1)’;

      5)接收方b對比h(m1)和h(m1)’,若兩者相同,說明簽名是真實有效,數(shù)據(jù)是完整的,此時用戶請求成功,否則用戶請求失敗。

      圖2為加鹽加密的原理圖。通過偽隨機(jī)數(shù)生成器隨機(jī)生成一段字符串,即生成了鹽,將鹽與用戶密碼連接在一起,形成的新的字符串,有三種連接方式:鹽連接在用戶密碼之前的位置,鹽連接在用戶密碼之后的位置以及鹽所包含的字符串隨機(jī)插入用戶密碼中形成隨機(jī)組合。

      圖3為aes的加密解密原理圖。aes為對稱密碼算法,加密和解密采用的是相同的密鑰,運算速度快、對內(nèi)存要求低、算法可靠、能夠有效抵抗查分分析和現(xiàn)行分析攻擊。

      公鑰密碼sm2算法能夠提供最高比特強(qiáng)的公鑰密碼,用較短的密鑰加密,得到較高安全級別密文的優(yōu)勢,能夠有效解決大數(shù)據(jù)加密效率與算法安全性的矛盾;混合密碼系統(tǒng)先用快速的對稱密碼aes算法來對消息進(jìn)行加密,這樣消息就轉(zhuǎn)換成了密文,從而也就保證了消息的機(jī)密性,然后用公鑰密碼sm2算法對加密消息時使用的對稱密碼的密鑰進(jìn)行加密,由于對稱密碼的密鑰一般比消息本身要短,所以公鑰密碼速度慢的問題就可以忽略了。

      利用公鑰密碼sm2的優(yōu)勢,分別對m1生成的散列值h(m1)和aes加密密鑰k進(jìn)行簽名;針對h(m1),是用發(fā)送方a的私鑰kpra進(jìn)行sm2簽名,再用發(fā)送方a的公鑰kpua進(jìn)行sm2解密,還原出h(m1);針對aes加密密鑰k,用接收方b的公鑰kpub進(jìn)行sm2簽名,再用接收方b的私鑰kprb進(jìn)行sm2解密,還原出aes密鑰k;其對應(yīng)的sm2的加密和認(rèn)證模型分別如附圖4和附圖5所示。

      圖4為sm2的加密模型圖。sm2加密和解密時使用不同的密鑰,即加密和解密功能分開。發(fā)送方a和接收方b各保存一對密鑰——公鑰和私鑰,公鑰是公開信息,不需要保密;在加密模型中,用接收者b的公鑰作為加密密鑰,用接收者的私鑰作為解密密鑰,即只有接收者b才能解密消息。

      圖5為sm2的認(rèn)證模型圖。在認(rèn)證模型中,用發(fā)送者a自己的私鑰作為加密密鑰,用a的公鑰作為解密密鑰,即只有擁有私鑰的發(fā)送者才能發(fā)送該消息,而其他人都可以用公鑰來解讀消息。

      本發(fā)明提出了一種基于混合加密算法的簽名與驗證方法在云存儲中的應(yīng)用。云存儲用戶將他們的數(shù)據(jù)存放到云端,這些數(shù)據(jù)中可能就包括企業(yè)的商業(yè)機(jī)密、個人的隱私信息等重要機(jī)密數(shù)據(jù),如果這些數(shù)據(jù)丟失、泄露或者被篡改,那么將給使用云存儲的企業(yè)和個人帶來不可估量的損失,由此帶來一系列的安全問題。

      本發(fā)明通過分析云存儲面臨的安全挑戰(zhàn),采取對用戶密碼加鹽,并結(jié)合aes和國密sm2算法的混合密碼算法進(jìn)行簽名與驗證,既增強(qiáng)了云存儲的安全性、完整性,又滿足了云數(shù)據(jù)處理的高效性。

      針對云存儲的問題,本發(fā)明的創(chuàng)新點如下:

      在用戶密碼加鹽的基礎(chǔ)上,可以增加用戶密碼的不可推測性,結(jié)合對稱密碼算法aes和公鑰密碼算法sm2的混合加密算法進(jìn)行加密,并引用sm2簽名算法,既能保證aes加密算法的快速與高效性,又能發(fā)揮sm2加密算法的安全性的優(yōu)勢。

      上述實施例為本發(fā)明的一種實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1