二維條碼作為一種有效的信息攜帶,傳輸方式,本身具有一定的保護(hù)作用,但這遠(yuǎn)遠(yuǎn)不能滿足人們對其在各種通訊網(wǎng)絡(luò)傳輸時(shí)保密性的更高要求,如何對其進(jìn)行加密方面的開發(fā)與應(yīng)用,還是一個(gè)亟待解決與探索的問題.對二維條碼加密,可以采取計(jì)算機(jī)領(lǐng)域的各種假冒算法對其編碼前的原始信息進(jìn)行加密,在解碼后再用同樣的解密算法解密,這是一種有效的加密方法.因二維條碼編碼后本身就是一種圖像,所以現(xiàn)代光學(xué)圖像加密技術(shù)方法完全適用于二維條碼圖像的加密,但二維條碼圖像因自身的特殊性,即在解密圖像后還需再解碼才能恢復(fù)原始信息,所以對其加密必然要求解密后能保持較高的圖像質(zhì)量以便于二維條碼再解碼的要求.本文利用基于DES與RSA混合加密算法對原始信息進(jìn)行加密,再利用離散分?jǐn)?shù)傅里葉變換雙隨機(jī)相位編碼技術(shù)對二維條碼的圖像進(jìn)行加密,雙重加密從而保證二維條碼中隱藏信息的安全。
PDF417碼
具有一定的安全防偽能力,能夠提供安全服務(wù)。
PDF417是一種便捷式的二維條碼,它屬于線性堆疊式二維碼,是在一維條碼的基礎(chǔ)上,將多個(gè)一維條碼在縱向上堆疊而產(chǎn)生的。
PDF417采用先進(jìn)的RS糾錯技術(shù),不僅可以有效地防止譯碼錯誤,提高譯碼的速度和可靠性,而且可以將由于條碼符號破損,沾污等丟失的信息破譯出來。
在寫入二維條碼時(shí)必須進(jìn)行條碼加密,讀取信息時(shí)進(jìn)行加密.則采用基于VC++的DES與RSA混合加密算法的實(shí)現(xiàn)
基于VC++的DES與RSA混合加密算法的實(shí)現(xiàn)
1.算法的提出
隨著計(jì)算機(jī)和通信技術(shù)的迅猛發(fā)展,大量的敏感信息常常通過公共通信設(shè)施或計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行交換.如何保護(hù)信息的安全使之不被竊,取及不至于被篡改或破壞,己成為當(dāng)今被普遍關(guān)注的重大問題?,F(xiàn)代密碼技術(shù)是確保信息安全的主導(dǎo)力量。密碼理論的研究與應(yīng)用是信息安全技術(shù)的核心研究領(lǐng)域。以往研究者們對密碼體制的研究,總體上主要分為兩種:一種是公開密鑰密碼體制,如:RSA、ECC等。這種密碼體制雖然形式簡單,保密性強(qiáng)。但是加解密速度比較慢,如果對整個(gè)報(bào)文進(jìn)行加解密是不可能滿足實(shí)際需要的;另一種是私密鑰密碼體制,如DES、IDEA、AES等。私鑰密碼體制通信過程中,密鑰數(shù)量繁多,分發(fā)過程十分復(fù)雜,所花代價(jià)非常高,在實(shí)際應(yīng)用中也受到了制約。這兩種密碼體制的單獨(dú)使用已經(jīng)暴露出越來越嚴(yán)重的缺陷。為此,人們提出了許多新的方案和算法以替代和加強(qiáng)現(xiàn)有的密碼體系,目前,基于RSA和AES的混合加密體制是解決這一問題的較好途徑。對于網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)用分組加密算法單密鑰密碼體制DES進(jìn)行加密,而加密密鑰則用公鑰密碼算法RSA進(jìn)行加密來傳送,來保證整個(gè)系統(tǒng)的安全性和高速性。本文主要針對基于RSA和DES的混合加密體制進(jìn)行研究及vc++程序?qū)崿F(xiàn)。
2.1DES算法與RSA算法的分析
一、在加密、解密的處理效率方面,DES算法優(yōu)于RSA算法。
二、在密鑰的管理方面,RSA算法比DES算法更加優(yōu)越。
三、在安全性方面,RSA算法優(yōu)于DES算法。
1.2混合加密算法的提出基于以上比較結(jié)果.DES及RSA各有短長,因此可設(shè)計(jì)出一種綜合DES和RSA優(yōu)點(diǎn),同時(shí)又避免了它們各自的不足的加密方案——混合加密算法,以實(shí)現(xiàn)最佳性能。這樣既解決了密鑰分發(fā)的困難,又解決了加、解密的速度和效率問題,無疑是目前解決信息安全問題的一種較好的可行方法。
2.算法的原理
DES與RSA混合加密算法的基本原理是:先用DES方法對明文加密.同時(shí)用RSA方法對DES密鑰進(jìn)行加密。設(shè)加密方為A(JJI1密密鑰為Kea,解密密鑰為Kda),解密方為B(~II密密鑰為Keb,解密密鑰為Kdb),上述加密方案的具體實(shí)現(xiàn)步驟如下:
(1)加密時(shí)先生成用于DES加密的密鑰K,為了提高數(shù)據(jù)的安全性,每一個(gè)密鑰K只用一次。
(2)獲取解密方的RSA的公開加密密鑰Keb,并用Keb加密DES的密鑰K形成密文Ck并保存。
(3)解密方解密時(shí),先用自己的解密密鑰Kdb解密出C中的DES密鑰K,再利用K解密出明文。
3.VC++加密/解密實(shí)現(xiàn)
采用Microsoft Visual C++6 0完成對混合加密算法的實(shí)現(xiàn)。
1)系統(tǒng)特點(diǎn)本系統(tǒng)實(shí)現(xiàn)了一個(gè)基本的DES與RSA混合加密系統(tǒng)并具有單獨(dú)使用DES加密的功能。它使用DES作為對稱密鑰算法加密原文件,使用RSA作為公開密鑰算法加密DES密鑰。本系統(tǒng)特點(diǎn)如下:
本系統(tǒng)的DES可以進(jìn)行1次DES加密(標(biāo)準(zhǔn)DES加密)和3次DES加密。它會根據(jù)密鑰長度,自動選擇加密方案。當(dāng)密鑰長度在64位以內(nèi)時(shí)它將使用標(biāo)準(zhǔn)DES加密,當(dāng)密鑰長度超過64位后,系統(tǒng)將設(shè)置第2密鑰,并啟用3次DES加密。本系統(tǒng)的RSA密鑰長度最大可達(dá)600位16進(jìn)制數(shù)(約合720位10進(jìn)制數(shù))。加,解密時(shí)你可以從文件中導(dǎo)入密鑰;本系統(tǒng)可產(chǎn)生長度最大可達(dá)300位16進(jìn)制(約合360位10進(jìn)制數(shù))的大素?cái)?shù),你可以導(dǎo)出素?cái)?shù),也可以從文件中導(dǎo)入素?cái)?shù)。也可以產(chǎn)生一個(gè)指定長度的隨機(jī)大素?cái)?shù);本系統(tǒng)的混合加密模塊也具有對RSA密鑰檢錯的功能.這主要通過解密后DES密鑰的長度來判斷的,因?yàn)槿绻鸕SA密鑰錯誤,那么解密后的DES密鑰長度一定超過16個(gè)字節(jié);本系統(tǒng)可以保存用戶設(shè)置的各種選項(xiàng)如:默認(rèn)路徑,是否使用3次DES加密等。下次啟動時(shí),這些選項(xiàng)自動生效。
2)混合加密解密測試 使用上述應(yīng)用程序?qū)γ麨闇y試文檔.doc進(jìn)行加密測試。解密操作相同,經(jīng)過測試能夠正確解密被加密的文件.這里不再做贅述。
4.結(jié)束語
混合加密算法作為一種新的數(shù)據(jù)加密算法,將比過去的單純的加密,解密算法更為有效、安全和靈活。DES與RSA相結(jié)合的混合加密方法既解決了密鑰分發(fā)的困難.又解決了加、解密的速度和效率問題,無疑是目前解決信息安全問題的一種較好的可行方法。
本文由迪智佳防偽技術(shù)部提供,迪智佳防偽為客戶提供安全可靠的防偽標(biāo)簽及防偽技術(shù)。