專利名稱:基于二維碼的安全加密方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于二維碼的安全加密方法。
背景技術(shù):
二維碼(2-dimensicmal bar code)是用某種特定的幾何圖形按一定規(guī)律在平面 (即二維方向上)分布的黑白相間的圖形記錄數(shù)據(jù)符號信息的;在代碼編制上巧妙地利用構(gòu) 成計(jì)算機(jī)內(nèi)部邏輯基礎(chǔ)的“0”、“1”比特流的概念,使用若干個(gè)與二進(jìn)制相對應(yīng)的幾何形體來 表示文字?jǐn)?shù)值信息,通過圖象輸入設(shè)備或光電掃描設(shè)備自動(dòng)識讀以實(shí)現(xiàn)信息自動(dòng)處理。二維碼具有如下的特點(diǎn)1.高密度編碼,信息容量大,可容納多達(dá)1850個(gè)大寫字 母或2710個(gè)數(shù)字或1108個(gè)字節(jié),或500多個(gè)漢字,比普通條碼信息容量約高幾十倍。2.編 碼范圍廣,該條碼可以把圖片、聲音、文字、簽字、指紋等可以數(shù)字化的信息進(jìn)行編碼,用條 碼表示出來;可以表示多種語言文字;可表示圖像數(shù)據(jù)。3.容錯(cuò)能力強(qiáng),具有糾錯(cuò)功能,這 使得二維條碼因穿孔、污損等引起局部損壞時(shí),照樣可以正確得到識讀,損毀面積達(dá)50%仍 可恢復(fù)信息。4.譯碼可靠性高,它比普通條碼譯碼錯(cuò)誤率百萬分之二要低得多,誤碼率不超 過千萬分之一。5.可引入加密措施保密性、防偽性好。6.成本低,易制作,持久耐用。綜 上所述,二維條碼具有儲存量大、保密性高、追蹤性高、抗損性強(qiáng)、備援性大、成本便宜等特 性,而這些特性特別適用于表單、安全保密、追蹤、證照、存貨盤點(diǎn)、資料備援等方面。中國發(fā)明專利申請CN1976383A(申請?zhí)?00610155158. 1)公開了一種電子文檔防 偽認(rèn)證系統(tǒng),該系統(tǒng)主要包括掃描儀、防偽認(rèn)證機(jī)和PC終端機(jī),其中防偽認(rèn)證機(jī)用于控制 掃描儀掃描電子文檔,掃描儀掃描圖像的同時(shí)添加加密的數(shù)字水印信息,最后將加密后的 圖像發(fā)送到PC終端機(jī)。盡管該專利充分利用了數(shù)字水印的技術(shù)對文檔的傳輸進(jìn)行了防偽 加密,使電子影像檔案在本地、傳輸過程不可更改性,保證了單據(jù)的影像在前臺和后臺的一 致,但它仍然存在著如下的缺點(diǎn)整個(gè)系統(tǒng)的硬件成本高;文檔的傳輸必須以圖像進(jìn)行,否 則就無法進(jìn)行防偽;如果想對傳輸后的文檔進(jìn)行二次加密,基本無法實(shí)現(xiàn)。中國發(fā)明專利申請CN101281581A(申請?zhí)?00710152342. 5)公開了一種檢驗(yàn)紙制文檔內(nèi)容是否被篡改的方法,該發(fā)明將二維碼與數(shù)字簽名結(jié)合使用,具體是將電子文檔當(dāng) 前頁的內(nèi)容、當(dāng)前頁的頁碼信息和頁面內(nèi)容簽名以固定格式形成電子數(shù)據(jù),將電子數(shù)據(jù)形 成二維碼,放置在電子文檔當(dāng)前頁的頁腳空白處,將電子文檔打印輸出為紙制文檔;可以保 證紙制文檔內(nèi)容的真實(shí)可靠,防止紙制文檔內(nèi)容被篡改后難以鑒別,并且通過這種機(jī)制能 夠確保文檔擬定人對紙制文檔內(nèi)容的認(rèn)可和不可否認(rèn);解決了電子文檔打印輸出為紙制文 檔后文檔內(nèi)容真實(shí)性和有效性驗(yàn)證的問題。但該發(fā)明仍然存在著如下的缺點(diǎn)該加密方法 只能針對單頁文件加密,對于多頁的文件加密沒有提到;要求紙質(zhì)文檔上的二維碼達(dá)到一 定的清晰度,還要求每個(gè)頁面的空白處都能夠提供相應(yīng)的空間。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供一種基于二維碼的安全加密方法,該方案可以對文檔進(jìn)行二次全局的加密,且在加密過程中無需進(jìn)行文檔格式的二次 轉(zhuǎn)換,硬件成本幾乎為零。本發(fā)明的目的通過下述技術(shù)方案實(shí)現(xiàn)基于二維碼的安全加密方法,包括以下步 驟步驟1、在加密端,采用MD5算法對文檔進(jìn)行加密運(yùn)算,加密后得出一個(gè)以二維碼 圖片表征的數(shù)字簽名;步驟2、在解密端,識讀出步驟1所述的數(shù)字簽名的整數(shù)值;再對文檔采用MD5算 法進(jìn)行加密運(yùn)算,從而得出一個(gè)整數(shù)值;若所述識讀出的整數(shù)值與加密運(yùn)算得出的整數(shù)值 相同,則完成文檔的解密過程。在上述基于二維碼的安全加密方法中,還包括步驟3、若文檔解密后經(jīng)用戶批復(fù)或 修改,對被批復(fù)或修改后的文檔采用MD5算法進(jìn)行加密運(yùn)算,從而得出一個(gè)以二維碼圖片 表征的數(shù)字簽名。所述數(shù)字簽名保存在另外一份文檔中。所述文檔以原文檔或者以原文檔之外的其他文本格式的形式在加密端、解密端之 間進(jìn)行傳輸。本發(fā)明相對于現(xiàn)有技術(shù)具有如下的優(yōu)點(diǎn)及效果1、除了需要基本的PC終端來運(yùn)行相關(guān)軟件和上網(wǎng)外,只需平常用的手機(jī)即可完 成加密過程;實(shí)用性非常強(qiáng),能有效地利用用戶手上既有的設(shè)備,而不需添加多余的設(shè)備。 因此硬件成本上幾乎為零。2、在整個(gè)加密、解密、二次加密過程中,文檔可以是以原文檔的形式在加密端、解 密端之間進(jìn)行傳輸,也可以是以原文檔之外的其他文本格式的形式在加密端、解密端之間 進(jìn)行傳輸;因此在加密的過程中不需進(jìn)行文檔格式的二次轉(zhuǎn)換,也不必非要用圖像進(jìn)行傳輸。3、在解密端,可以非常容易地對傳輸后的文檔進(jìn)行二次加密。4、采用MD5算法對文檔進(jìn)行全局加密,所有的文件內(nèi)容修改都能被鑒別。5、加密后生成的數(shù)字簽名以二維碼圖片的形式保存在另外一份文檔,從而保證了 足夠的空間。
圖1是本發(fā)明的文檔加密的流程圖;圖2是本發(fā)明的文檔解密的流程圖;圖3是本發(fā)明的文檔二次加密的流程圖。
具體實(shí)施例方式下面結(jié)合實(shí)施例及附圖對本發(fā)明作進(jìn)一步詳細(xì)的描述,但本發(fā)明的實(shí)施方式不限 于此。實(shí)施例如圖1、2所示,本發(fā)明在具體實(shí)施起來時(shí),主要分為文檔的加密過程、文檔的解密 過程以及文檔的二次加密過程三大部分。
4
1)在加密端,文檔的加密過程采用MD5算法,加密后生成一個(gè)以二維碼形式保存 為文檔一部分的數(shù)字簽名;具體包括以下步驟步驟11、對擬加密文檔的全部內(nèi)容,進(jìn)行數(shù)據(jù)補(bǔ)位的運(yùn)算,使得補(bǔ)位后數(shù)據(jù)的字節(jié) 長度(以byte為單位)對64求余的結(jié)果是56。需要說明的是,該步驟中所述擬加密文檔的全部內(nèi)容是指整份文檔(不論有 多少頁)和該文檔的修改時(shí)間字串,例如整份文檔是“ h e 11 ο w ο r 1 d ”,該文檔的修改時(shí) 間是“2010-1-21 10:23:02”,那么擬加密文檔的全部內(nèi)容是“helloworld edited in 2010-1-21 10:23:02”。步驟12、在補(bǔ)位后數(shù)據(jù)的后面附加數(shù)據(jù)長度。具體為用一個(gè)64位的整數(shù)表示數(shù) 據(jù)的原始長度(以bit為單位),將這個(gè)數(shù)字的8個(gè)字節(jié)按低位的在前、高位在后的順序附 加在補(bǔ)位后數(shù)據(jù)的后面。經(jīng)本步驟處理后,擬加密文檔的組成部分為原始的擬加密文檔、 文檔的修改時(shí)間、步驟11所補(bǔ)位的數(shù)據(jù)以及本步驟所附加的數(shù)據(jù)長度。步驟13、計(jì)算經(jīng)步驟12處理后的擬加密文檔的信息摘要。具體為用四個(gè)32位整 數(shù)變量(A、B、C、D)計(jì)算信息摘要,每一個(gè)變量被初始化成以下以十六進(jìn)制數(shù)表示的數(shù)值, 其中低位的字節(jié)在前面。word A 01 23 45 67word B 89 ab cd ef
word C :fe dc ba 98word D 76 54 32 10注意低位的字節(jié)在前面指的是小端字節(jié)序的平臺上內(nèi)存中字節(jié)的排列方式。步驟14、定義四個(gè)算法基本的按位操作函數(shù)和四個(gè)分別用于四輪變換的函數(shù),然 后對經(jīng)步驟12處理后的擬加密文檔做四輪循環(huán)運(yùn)算。步驟15、輸出擬加密文檔的唯一數(shù)字簽名signature ;這個(gè)數(shù)字簽名以二維碼圖 片的形式保存在另一份文檔中,和原始的擬加密文檔共存在一起。2)在解密端,被加密的文檔在需要解密的時(shí)候,只需先通過二維碼識別軟件識讀 出附在文檔最后的數(shù)字簽名signature的一個(gè)128位的整數(shù)值;然后再通過軟件對文檔進(jìn) 行上述采用MD5算法進(jìn)行的加密運(yùn)算(即步驟11-15),從而得出一個(gè)128位的整數(shù)值。如 果這兩個(gè)128位的整數(shù)值(識讀出的128位的整數(shù)值和加密運(yùn)算得出的128位的整數(shù)值) 相同,則證明該文檔是未經(jīng)過篡改的,完成文檔的解密過程。如果不一樣,則證明該文檔經(jīng) 過篡改。3)文檔的二次加密過程。文檔解密后,如果用戶需要對文檔進(jìn)行批復(fù)或者修改, 用戶只需通過軟件將批復(fù)或修改過的文檔進(jìn)行上述采用MD5算法進(jìn)行的加密運(yùn)算(即步驟 11-15),并將加密運(yùn)算得出以二維碼表征的數(shù)字簽名(也是一個(gè)128位整數(shù)值),以二維碼 圖片的形式保存的另一份文檔中,和原始的擬加密文檔一起傳回給原作者即可。在上述加密、解密以及二次加密過程中,文檔可以以原文檔的形式,也可以以原文 檔之外的其他文本格式的形式,在加密端、解密端之間進(jìn)行傳輸。上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受上述實(shí)施例的 限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、替代、組合、簡化, 均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
基于二維碼的安全加密方法,其特征在于包括以下步驟步驟1、在加密端,采用MD5算法對文檔進(jìn)行加密運(yùn)算,加密后得出一個(gè)以二維碼圖片表征的數(shù)字簽名;步驟2、在解密端,識讀出步驟1所述的數(shù)字簽名的整數(shù)值;再對文檔采用MD5算法進(jìn)行加密運(yùn)算,從而得出一個(gè)整數(shù)值;若所述識讀出的整數(shù)值與加密運(yùn)算得出的整數(shù)值相同,則完成文檔的解密過程。
2.根據(jù)權(quán)利要求1所述的基于二維碼的安全加密方法,其特征在于還包括步驟3、若文檔解密后經(jīng)用戶批復(fù)或修改,對被批復(fù)或修改后的文檔采用MD5算法進(jìn)行 加密運(yùn)算,從而得出一個(gè)以二維碼圖片表征的數(shù)字簽名。
3.根據(jù)權(quán)利要求1或2所述的基于二維碼的安全加密方法,其特征在于所述數(shù)字簽 名保存在另外一份文檔中。
4.根據(jù)權(quán)利要求1或2所述的基于二維碼的安全加密方法,其特征在于所述文檔以 原文檔或者以原文檔之外的其他文本格式的形式在加密端、解密端之間進(jìn)行傳輸。
5.根據(jù)權(quán)利要求1或2所述的基于二維碼的安全加密方法,其特征在于所述數(shù)字簽 名為一個(gè)128位整數(shù)值。
全文摘要
本發(fā)明公開了一種基于二維碼的安全加密方法,包括以下步驟在加密端,采用MD5算法對文檔進(jìn)行加密運(yùn)算,加密后得出一個(gè)以二維碼圖片表征的數(shù)字簽名;在解密端,識讀出步驟1所述的數(shù)字簽名的整數(shù)值;再對文檔采用MD5算法進(jìn)行加密運(yùn)算,從而得出一個(gè)整數(shù)值,若所述識讀出的整數(shù)值與加密運(yùn)算得出的整數(shù)值相同,則完成文檔的解密過程。
文檔編號G06F21/00GK101834726SQ20101013102
公開日2010年9月15日 申請日期2010年3月19日 優(yōu)先權(quán)日2010年3月19日
發(fā)明者劉偉強(qiáng), 張冬, 張 浩, 朱大為, 楊輝, 邱然 申請人:廣州廣大通電子科技有限公司