国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于嵌入式的QR二維碼加密系統(tǒng)設(shè)計與實現(xiàn)

2018-03-29 08:19周佳華李福山
關(guān)鍵詞:加密算法密鑰二維碼

周佳華,李福山

(福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350108)

0 引言

由于二維碼具有價格低、信息量大、容錯度高、持久性高等特點[1],目前已被我國廣泛應(yīng)用于在線交易、食品追溯、電子票務(wù)等許多領(lǐng)域。其中,QR(Quick Response)二維碼具有能夠全方位識別、識別速度快、可以表示漢字等優(yōu)點,因此,我國采用的二維碼編碼方式大部分為QR編碼。但是,由于二維碼的編解碼算法是開源的,往往有一些不法分子會通過篡改二維碼信息或者往二維碼中植入病毒來獲取利益。在應(yīng)用于交易或者電子票務(wù)等領(lǐng)域,不法分子的這些行為對用戶信息的安全性、用戶的利益造成一定的威脅。因此,二維碼信息的安全性和防偽也就逐漸成為了關(guān)注的焦點之一。

為了解決上述問題,本文將信息加密技術(shù)加入到二維碼的編碼中,增強二維碼信息的安全性,并設(shè)計了基于嵌入式的二維碼加密系統(tǒng)。本文通過友善之臂提供的Tiny4412平臺來設(shè)計QR碼加密系統(tǒng),實現(xiàn)圖像采集、解碼、加密、編碼,從而得到加密二維碼圖像。

1 QR二維碼

QR碼是矩陣條碼,它由幾個方形模塊組成,每個模塊代表著不同的意義,包括定位圖形、位置檢測、校正圖形和分隔符[2],如圖1所示。QR碼版本信息共有40種。格式信息代表校正水平,校正水平分為L,M,Q,H 4個等級。通常,校正水平越高,信息量越少,因此一般來說,M級是優(yōu)先的。QR碼根據(jù)可容納的數(shù)據(jù)信息大小分為版本1~40,其中版本1可容納的信息量最小,而版本40可容納的信息量最大。

圖1 QR二維碼結(jié)構(gòu)圖

二維碼的編碼[3],即通過編碼將二維碼的原始信息進行編碼從而生成二維碼。二維碼的形成過程主要包括數(shù)據(jù)編碼、糾錯編碼及在矩陣中布置模塊從而得到二維碼圖形[4],其主要步驟如圖2所示。

圖2 二維碼生成流程

2 二維碼加密設(shè)計

對二維碼進行加密的方式有很多種,通常根據(jù)二維碼形成的過程在各個環(huán)節(jié)上加密。主要是通過以下幾種方式進行:

(1)將二維碼信息先加密再通過QR編碼最后生成二維碼,解碼后得到的是加密過的信息,需要對其進行解密才能夠讀取到其原本的信息[5]。加密流程如圖3所示。

圖3 二維碼加密方式1流程圖

(2)對二維碼信息先進行編碼得到數(shù)據(jù)碼字,然后加密[6],再對其進行糾錯最后得到二維碼。加密流程如圖4所示。

圖4 二維碼加密方式2流程圖

另外還有一種方式是在輸出二維碼圖形后再對二維碼圖形加密,這種方式容易破壞二維碼圖像的結(jié)構(gòu),僅適用于一些特別的應(yīng)用。本系統(tǒng)采用的是第一種方式對二維碼信息進行加密。

圖5 不同加密算法在不同等級下可傳遞的信息容量

而加密算法也是多種多樣,如圖5所示,不同的加密算法在不同糾錯等級下可傳遞的信息容量的差別。糾錯等級越低,需要加入的糾錯信息量越少,可傳遞的信息容量就越多。相反,糾錯水平越高,可傳遞的信息容量也就越少。由圖5可以看出,使用不同加密算法對信息容量的影響不大,而AES(Advanced Encryption Standard)算法安全性高,運算效率較高,算法簡單靈活,因此本文采用高級加密標(biāo)準(zhǔn)AES加密算法來對二維碼信息進行加密。

2.1 AES加密算法

在AES算法中,其數(shù)據(jù)分組長度為128 bit,每組128 bit的數(shù)據(jù)被分成16 B,并映射到4×4的狀態(tài)矩陣中。不同的密鑰長度128 bit、192 bit、256 bit所對應(yīng)的輪變換次數(shù)Nr分別為10次、12次、14次。每次的輪變換都有4個不同的運算操作,如圖6所示。AES算法的加密流程是先用擴展密鑰與映射成狀態(tài)矩陣的信息數(shù)據(jù)進行輪密鑰加運算,然后再進行Nr-1次的循環(huán)輪變換,最后進行Nr次循環(huán)輪變換運算的時候去掉列混合變換再將得到的狀態(tài)矩陣映射成密文。在除第一次以外的其他輪密鑰加運算過程中,需要的密鑰是初始密鑰的擴展密鑰。由于AES算法是對稱加密算法,加密和解密屬于互逆過程[10]。

圖6 AES加密流程圖

2.2 改進的二維碼加密算法

考慮到二維碼信息的安全,本文改進了AES加密算法初始密鑰的形成,從圖6我們看出,擴展密鑰是由初始密鑰得來的[7],可知初始密鑰對加密算法的安全性具有關(guān)鍵性的作用。因此,本文采用隨機生成器隨機生成128 bit的初始密鑰,再用AES加密算法對二維碼源信息進行加密后得到二維碼。相比傳統(tǒng)的固定密鑰的方式,改進方法更具有隨機性,二維碼信息的安全性也相應(yīng)得到了提高。設(shè)計流程圖如圖7所示。

圖7 QR二維碼AES加密流程圖

3 嵌入式系統(tǒng)設(shè)計

本文將二維碼加密做成嵌入式系統(tǒng),本系統(tǒng)設(shè)計是基于Qt應(yīng)用程序平臺和Qzxing解碼庫用C/C++編程語言來實現(xiàn)的,并在信息前端用改進的AES算法進行加密。

3.1 硬件設(shè)計

本系統(tǒng)的硬件部分主要由三星四核微處理器、通信端口、調(diào)試端口、存儲器、LCD顯示屏和USB攝像頭6個結(jié)構(gòu)構(gòu)成,如圖8所示。本系統(tǒng)采用的微處理器是三星公司ARM Cortex-A9 Exynos 4412四核處理器。圖像采集部分采用的是支持V4L2驅(qū)動框架和YUV圖像格式的羅技公司c270i-USB攝像頭。本系統(tǒng)就是通過該USB攝像頭進行二維碼圖像的采集,并通過處理器解密和識別二維碼圖形。

圖8 系統(tǒng)硬件結(jié)構(gòu)框圖

3.2 軟件設(shè)計

本系統(tǒng)的軟件組成如圖9所示。為了系統(tǒng)的安全性、可維護性以及運行的流暢度,本系統(tǒng)采用安全性較高且可移植性較強的Linux操作系統(tǒng),并在Linux上設(shè)計驅(qū)動程序以及QR碼的編解碼和加密算法,為應(yīng)用層提供接口。應(yīng)用程序的主要功能就是開啟USB攝像頭捕捉二維碼圖像,然后解碼獲得信息[9],再用改進的AES加密算法對信息進行加密和編碼后獲得加密后的二維碼,從而實現(xiàn)二維碼加密的整個過程。

圖9 系統(tǒng)軟件結(jié)構(gòu)圖

4 性能測試與分析

本文采用AES加密算法對QR二維碼信息進行加密,對于其抗密鑰攻擊能力,已知DES(Date Encryption Standard)的密鑰長度為56 bit,假如破解DES加密算法的密鑰需要10-2s,那么就需要2(128-56)×10-2s才能破解AES加密算法128 bit的密鑰,即將近2 300年。況且,本文采用密鑰隨機生成器隨機生成128 bit的初始密鑰來改進AES算法,這無疑對二維碼信息又多了一層保護,增強其安全性。

圖10所示分別為二維碼信息加密前后的二維碼圖像。通過含有QR二維碼解碼模塊的掃描器掃描這兩個二維碼,可以發(fā)現(xiàn),掃描加密前(即沒有對二維碼做任何處理)的二維碼,可得到該二維碼所含的信息,而用同樣的方法掃描加密后的二維碼得到的是一串亂碼。這就說明普通的解碼器無法識別加密后的二維碼,需要嵌有與加密模塊相對應(yīng)的解密模塊才可識別,這就保證了二維碼信息的安全性。

圖10 加密前后的二維碼圖像

5 結(jié)束語

本文針對當(dāng)今QR二維碼在使用中的信息安全問題和防偽問題,設(shè)計了一種基于嵌入式的二維碼加密系統(tǒng),即在嵌入式平臺上,將隨機生成器產(chǎn)生的初始密鑰與AES加密算法相結(jié)合的方法對二維碼信息進行加密,保證了二維碼信息的安全性。通過測試發(fā)現(xiàn),掃描加密前的二維碼可得到二維碼信息,而用同樣的方法掃描加密后的二維碼得到的是一串亂碼,需要對加密后的二維碼進行解密才可解碼出其源信息。本設(shè)計具有可行性和可操作性,同時也提高了二維碼信息的安全性,并增強其防偽功能。

[1] 楊絮. 扭曲二維碼的識別算法研究與實現(xiàn)[D].上海:復(fù)旦大學(xué),2013.

[2] 陳威兵,楊高波,馮璐. 一種QR碼識別的低復(fù)雜度圖像預(yù)處理方法[J]. 湖南大學(xué)學(xué)報(自然科學(xué)版),2012,39(10):93-97.

[3] 盛秋康. 二維碼編解碼技術(shù)的研究與應(yīng)用[D].南京:南京理工大學(xué),2012.

[4] 謝仁康. 非對稱加密二維碼防偽系統(tǒng)的設(shè)計[D].成都:電子科技大學(xué),2013.

[5] 滕旭. 基于偽指紋特征密鑰的二維碼加密算法研究[J]. 軟件導(dǎo)刊,2013,12(8):135-137.

[6] 王宏波,蔣淑玲. 基于二維碼的身份驗證技術(shù)研究[J]. 科技尚品,2016(4):186-187.

[7] 龍建明,鄭瑩娜,肖本海. QR二維碼電子保單信息加密與防偽應(yīng)用研究[J]. 計算機與數(shù)字工程,2015,43(8):1475-1480.

[8] WAKAHARA T, YAMAMOTO N, OCHI H. Image processing of dotted picture in the QR code of cellular phone[C]// 2010 International Conference on P2P, Parallel,Grid, Cloud and Intemet Computing, 2010, 10(1): 454-458.

[9] 李逢玲,鄭飛. RSA加密算法在QR二維碼上的應(yīng)用探討[J]. 中小企業(yè)管理與科技, 2014(31):207-208.

[10] 林洋. 基于B/S結(jié)構(gòu)的數(shù)據(jù)庫加密技術(shù)的研究與設(shè)計[D]. 廣州:華南理工大學(xué), 2012.

猜你喜歡
加密算法密鑰二維碼
幻中邂逅之金色密鑰
二維碼
小康二維碼
密碼系統(tǒng)中密鑰的狀態(tài)與保護*
基于整數(shù)矩陣乘法的圖像加密算法
基于混沌系統(tǒng)和DNA編碼的量子圖像加密算法
TPM 2.0密鑰遷移協(xié)議研究
一種對稱密鑰的密鑰管理方法及系統(tǒng)
混沌參數(shù)調(diào)制下RSA數(shù)據(jù)加密算法研究
讓嚴肅的二維碼呆萌起來