• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于內(nèi)容保護(hù)與優(yōu)化識(shí)別的二維碼方案

      2019-06-10 01:01:19蔣鵬程熊禮治韓嘯
      軟件導(dǎo)刊 2019年2期
      關(guān)鍵詞:二維碼

      蔣鵬程 熊禮治 韓嘯

      摘 要:近年來(lái),二維碼作為一種存儲(chǔ)與傳遞信息的新技術(shù)被應(yīng)用于很多領(lǐng)域,例如共享單車(chē)、安全支付等。在掃描過(guò)程中,二維碼作為信息媒介與身份認(rèn)證的工具發(fā)揮了重要作用,但因二維碼廣泛使用帶來(lái)的安全問(wèn)題也層出不窮。因此,在保證二維碼可用性的基礎(chǔ)上,需提高二維碼的安全性并對(duì)其進(jìn)行美化,使其圖案具有一定防偽能力。結(jié)合二維碼理論,使用安全哈希算法對(duì)其內(nèi)容進(jìn)行加密,并采用像素替換法使二維碼具有較好的美觀性與視覺(jué)辨識(shí)度。掃描時(shí)通過(guò)二值化算法,并結(jié)合灰度化處理,從而獲取二維碼信息。實(shí)驗(yàn)結(jié)果表明,該方案能達(dá)到較好的防偽效果,并能保持一般二維碼具有的最大內(nèi)容容量。

      關(guān)鍵詞:二維碼;圖像加密;二值化處理;美觀二維碼;信息隱藏

      DOI:10. 11907/rjdk. 181910

      中圖分類(lèi)號(hào):TP319文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1672-7800(2019)002-0119-04

      Abstract:In recent years, two-dimensional code, as a new technology for storing and transmitting information, has been applied to many areas, such as sharing bicycles, secure payment and so on. In the process of scanning, two-dimensional code plays a very important role as a tool for information media and identity authentication, but the security problems brought about by the wide use of two-dimensional code keep emerging. Therefore, the purpose of this paper is to improve the security of two-dimensional code,beautify two-dimensional code on the basis of ensuring the availability of two-dimensional code, and also have a certain anti-counterfeiting ability on the pattern. This scheme will combine the two-dimensional code theory to encrypt the content by using the secure hash algorithm, and make the two-dimensional code with a certain beauty and visual identification by the pixel replacement method. The two valued algorithm and gray scale processing of two-dimensional code are used to get information. Experimental data show that it can resist attacks such as forged two-dimensional codes to some extent and can still maintain the maximum content capacity of general two-dimensional codes.

      Key Words:QR-code; image encryption; binary processing; beautiful QR-code; information hiding

      0 引言

      現(xiàn)行的QR 二維碼編碼是屬于開(kāi)放式標(biāo)準(zhǔn),其規(guī)格是公開(kāi)的,所以應(yīng)用比較廣泛。QR二維碼通過(guò)復(fù)雜的組合與數(shù)據(jù)混亂編碼算法(如Reed-Solomon error correction里德-所羅門(mén)糾錯(cuò)算法等)生成,使用方便,具有很強(qiáng)的實(shí)用性。但同樣由于QR二維碼編碼標(biāo)準(zhǔn)的開(kāi)放性,使得偽造QR二維碼難度并不高。而且由于二維碼中內(nèi)容可以包含各種信息,當(dāng)二維碼中信息指向一個(gè)危險(xiǎn)站點(diǎn)時(shí),用戶(hù)打開(kāi)則可能導(dǎo)致隱私泄露,甚至造成經(jīng)濟(jì)損失。由此可見(jiàn),研究如何提高QR二維碼的安全性具有重要意義。考慮到現(xiàn)有很多QR二維碼在編碼時(shí)并未進(jìn)行加密,因此對(duì)二維碼內(nèi)容及圖像進(jìn)行加密處理是十分必要的。本文提出一種基于內(nèi)容保護(hù)與優(yōu)化識(shí)別的二維碼方案,通過(guò)使用SHA加密算法對(duì)現(xiàn)有二維碼進(jìn)行改進(jìn),并提高二維碼的美觀性,以增強(qiáng)人眼辨識(shí)度。同時(shí)采用羅松等[1]提出的用于條碼讀取的二值化算法,并結(jié)合灰度化處理,以保持二維碼的可用性。

      1 相關(guān)技術(shù)與算法

      1.1 QR二維碼

      二維碼(2-dimensional Bar Code)近年來(lái)在互聯(lián)網(wǎng)和移動(dòng)設(shè)備上應(yīng)用廣泛。二維碼是用某種特定幾何圖形按一定規(guī)律在平面上分布的黑白相間、用于記錄數(shù)據(jù)符號(hào)信息的圖形,由探測(cè)圖形、定位圖形、數(shù)據(jù)區(qū)域與校正圖形4大功能模塊組成(見(jiàn)圖1)。QR二維碼編碼流程大致分為數(shù)據(jù)分析、數(shù)據(jù)編碼、編碼糾錯(cuò)、數(shù)據(jù)組織、應(yīng)用數(shù)據(jù)掩碼、格式填充等幾個(gè)步驟。

      1.2 安全哈希算法

      安全哈希算法(Secure Hash Algorithm)主要適用于數(shù)字簽名標(biāo)準(zhǔn)(Digital Signature Standard,DSS)中定義的數(shù)字簽名算法(Digital Signature Algorithm,DSA)。對(duì)于長(zhǎng)度小于2^64位的消息,SHA1會(huì)產(chǎn)生一個(gè)160位的消息摘要。該算法經(jīng)專(zhuān)家多年來(lái)的研究與改進(jìn)已日益完善,其思想是接收一段明文,然后以一種不可逆的方式將其轉(zhuǎn)換成一段密文(通常更?。?,也可以簡(jiǎn)單理解為取一串輸入碼(稱(chēng)為預(yù)映射或信息),將其轉(zhuǎn)化為長(zhǎng)度較短、位數(shù)固定的輸出序列,即散列值(也稱(chēng)為信息摘要或信息認(rèn)證代碼)的過(guò)程[2]。散列函數(shù)值可看作針對(duì)明文的一種“指紋”或“摘要”,所以對(duì)散列值的數(shù)字簽名即可視為對(duì)該明文的數(shù)字簽名。將這種“指紋”放入二維碼以實(shí)現(xiàn)信息隱藏與防偽的技術(shù)[3],即通過(guò)編號(hào)信息與經(jīng)加密后信息組合的方式進(jìn)行傳輸,收到信息后按照發(fā)送方的方式通過(guò)編號(hào)進(jìn)行加密,再將兩次密文進(jìn)行比對(duì),從而判斷信息是否正確或者被人篡改。

      1.3 局部自適應(yīng)二值化算法

      圖像二值化是將圖像上像素點(diǎn)的灰度值設(shè)置為0或255,也即使整個(gè)圖像呈現(xiàn)出明顯的只有黑與白的視覺(jué)效果[4]。局部二值化是指對(duì)于不同區(qū)域、不同閾值、不同光照區(qū)域,保留對(duì)應(yīng)紋理圖像的過(guò)程[5]。局部自適應(yīng)閾值計(jì)算法根據(jù)像素鄰域塊內(nèi)的像素值分布,確定該像素位置上的二值化閾值[6],該方式適用于處理亮度變化大、光照不平衡的圖片。

      1.4 圖像灰度化處理

      在RGB模型中,如果R=G=B,則彩色表示一種灰度顏色,其中R=G=B的值稱(chēng)為灰度值。因此,灰度圖像每個(gè)像素只需一個(gè)字節(jié)存放灰度值(又稱(chēng)為強(qiáng)度值、亮度值),灰度范圍為0~255。一般采用分量法、最大值法、平均值法、加權(quán)平均法4種方法對(duì)彩色圖像進(jìn)行灰度化處理,從而將其轉(zhuǎn)變?yōu)椴煌叶戎档暮诎讏D片。

      2 設(shè)計(jì)思想

      2.1 總體設(shè)計(jì)思想

      將明文內(nèi)容生成對(duì)應(yīng)的密鑰信息,再將兩部分分別加密形成部分密文內(nèi)容,兩部分與編號(hào)信息混合后形成整個(gè)密文內(nèi)容[7],最后通過(guò)對(duì)二維碼顏色進(jìn)行擴(kuò)展嵌入彩色logo,并保證數(shù)據(jù)容量充足[8],從而制作出彩色的加密二維碼。二維碼在生成時(shí)需盡量將標(biāo)志性圖像空出,通過(guò)二維碼糾錯(cuò)機(jī)制保證二維碼的可讀性[9]。二維碼生成流程如圖2所示。

      讀取二維碼時(shí),首先通過(guò)對(duì)整體背景的二值化處理找到二維碼所在位置[10],便于后續(xù)讀碼,再對(duì)該位置圖像進(jìn)行灰度化處理,去除logo對(duì)掃碼的干擾,從而讀取二維碼中的信息。讀取二維碼后對(duì)其進(jìn)行信息編號(hào)與各部分密文的分離,由編號(hào)信息定位到密鑰值,由密鑰值加密后的密文比對(duì)結(jié)果確定信息是否修改或二維碼是否安全,再對(duì)原始信息進(jìn)行解密與讀取。二維碼識(shí)別流程如圖3所示。

      2.2 增強(qiáng)二維碼真?zhèn)伪孀R(shí)度

      對(duì)QR二維碼生成過(guò)程中的編碼與填充流程進(jìn)行改良,將原有QR二維碼填充為1是黑色,0是白色,而在該方案中,可以選取合適的彩色背景圖案,將圖片縮放至與二維碼版本契合的大小。提取每一logo像素Ti的RGB值,根據(jù)原有二維碼填入像素Pi的值,并由公式(1)得到新的填充像素Qi的顏色,在原有填充方式基礎(chǔ)上,利用QR二維碼糾錯(cuò)編碼的容錯(cuò)特性,對(duì)白色區(qū)域進(jìn)行適當(dāng)擴(kuò)充,最終得到便于人眼識(shí)別的彩色二維碼。

      2.3 掃碼二值化處理

      上文已介紹了二值化與局部自適應(yīng)二值化算法,通常而言,局部二值化算法相比于全局閾值方法[11],計(jì)算量有一定程度增加,而局部自適應(yīng)二值化更是由于對(duì)每一個(gè)像素都需要計(jì)算一個(gè)閾值,其計(jì)算量在所有局部二值化算法中也是較大的。由于本文需要得到較好的二值化效果,所以可以考慮適當(dāng)增加二值化計(jì)算量[12]。在此前提下,羅松等[1]提出一種基于積分圖(Integral Image)的局部自適應(yīng)二值化算法,能顯著減少自適應(yīng)二值化算法計(jì)算量,且對(duì)于不同亮度與光照的圖片能得到較好的二值化效果,同時(shí)參考王序哲[13]對(duì)于6種二值化算法性能的比較,考慮到典型性,選擇Bernsen算法進(jìn)行數(shù)據(jù)處理。本文基于局部自適應(yīng)二值化算法,根據(jù)像素領(lǐng)域塊均值與相對(duì)均值的百分比進(jìn)行閾值計(jì)算,并利用積分圖加速計(jì)算。本方法只需對(duì)圖片進(jìn)行一次掃描,然后對(duì)圖像灰度變化劇烈的區(qū)域進(jìn)行分塊,再使用張潔玉[14]提出的對(duì)灰度變化劇烈區(qū)域進(jìn)行二值化的方法,便可在相應(yīng)時(shí)間內(nèi)輕松計(jì)算出每個(gè)像素對(duì)應(yīng)的閾值,從而大大減少了自適應(yīng)二值化算法計(jì)算量,同時(shí)提高了二值化效果。在掃碼時(shí),經(jīng)過(guò)全局二值化處理后,光照不均勻的QR碼圖像會(huì)出現(xiàn)白色或全黑色的誤差區(qū)域,而且在局部二值化處理過(guò)程中會(huì)出現(xiàn)偽邊界,計(jì)算時(shí)間較長(zhǎng)。因此,在計(jì)算時(shí)可以借鑒陳鑫元等[15]提出的結(jié)合形態(tài)學(xué)實(shí)現(xiàn)的自適應(yīng)閾值圖像二值化算法改進(jìn)本方案。計(jì)算時(shí)根據(jù)QR二維碼圖像大小進(jìn)行分塊處理,估算每個(gè)塊的灰度值后,使用聯(lián)合插值算法產(chǎn)生背景灰度圖像,然后采用Ostu算法對(duì)校正圖像進(jìn)行二值化。該算法能對(duì)不均勻光照QR二維碼圖像進(jìn)行有效校正,從而獲得效果良好的二值圖像[16]。

      2.4 掃碼灰度化處理

      隨機(jī)選取一張已生成的二維碼圖像,在灰度化處理前通過(guò)使用馬倩等[17]提出的邊緣檢測(cè)算法處理圖像,并參考江進(jìn)[18]提出的方案將邊緣檢測(cè)與灰度化處理相結(jié)合,之后參考張銘鈞[19]提出的方案對(duì)圖像進(jìn)行不同程度的灰度化權(quán)值調(diào)整,測(cè)試得到最佳效果的灰度化參數(shù)。在灰度化處理時(shí),可以使用基于灰度期望值的圖像二值化算法[20]加強(qiáng)處理效果,防止背景中存在對(duì)掃碼影響較大的區(qū)域,通過(guò)該方式可以對(duì)這些區(qū)域?qū)崿F(xiàn)類(lèi)似于分離灰度化的效果。在logo不變的情況下,同一參數(shù)幾乎可以滿足所有圖像的掃碼需求。

      3 方案實(shí)現(xiàn)

      3.1 二維碼可嵌入數(shù)據(jù)容量測(cè)試

      經(jīng)過(guò)大量數(shù)據(jù)測(cè)試結(jié)果表明(測(cè)試數(shù)據(jù)見(jiàn)圖4),該方案生成的二維碼可嵌入數(shù)據(jù)最大值為1 273個(gè)字符(2 546個(gè)字節(jié))。在不同嵌入容量下,二維碼位密集程度與圖片大小無(wú)關(guān),只與數(shù)據(jù)長(zhǎng)度有關(guān),但二維碼掃描效果與美觀度及圖片大小有關(guān),在圖片大小接近二維碼大小時(shí)將無(wú)法生成二維碼。因此,在實(shí)際應(yīng)用中,應(yīng)選取尺寸略大的圖片(圖片大小為二維碼大小兩倍以上時(shí)不影響掃描效果與美觀度)。

      3.2 彩色二維碼

      彩色二維碼效果如圖5所示。

      本二維碼背景圖像使用大嘴猴logo作為背景,實(shí)際使用中可以將該logo換成任意方形圖片。該方式既保證了信息安全,又因其中包含logo且使用了加密技術(shù),使偽造二維碼變得較為困難。

      3.3 圖像局部二值化處理

      局部二值化處理效果如圖6所示。

      通過(guò)二值化處理能過(guò)濾掉二維碼周?chē)母蓴_性彩色環(huán)境,從而找到二維碼正確位置。

      3.4 二維碼灰度化處理

      對(duì)圖5的灰度化處理結(jié)果如圖7所示。

      由圖7可見(jiàn),取50%灰度化的結(jié)果能最大程度上增強(qiáng)二維碼掃描效果。通過(guò)灰度化產(chǎn)生的可掃描黑白二維碼參數(shù)數(shù)據(jù)可應(yīng)用于所有具有相同大小與背景,以及任意內(nèi)容的彩色二維碼上,使其變得易于掃描。該方式既保證了較高的二維碼辨識(shí)度,也能避免對(duì)所有二維碼進(jìn)行單獨(dú)處理產(chǎn)生的時(shí)間與資源開(kāi)銷(xiāo)。

      4 結(jié)語(yǔ)

      通過(guò)本文提出方法制作出的二維碼不僅安全、防偽效果較好,而且不影響二維碼內(nèi)容的正常讀取,能保持較好的美觀度。在后續(xù)工作中,可以嘗試在二維碼中加入水印信息,以達(dá)到更好的防偽效果,并且經(jīng)過(guò)特定加密方式處理后的水印還可以提取編號(hào)、公司名稱(chēng)等信息,因而具有更高的安全性。

      參考文獻(xiàn):

      [1] 羅松, 王俊峰, 唐鵬,等. 面向條碼識(shí)讀的自適應(yīng)二值化改進(jìn)算法[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2013, 34(4):1324-1330.

      [2] 李世明. 關(guān)于Hash算法SHA-1的研究與分析[D]. 重慶:西南大學(xué), 2013.

      [3] 肖迪,白科,鄭洪英. 面向云計(jì)算安全應(yīng)用的密文圖像可逆信息隱藏算法[J]. 計(jì)算機(jī)應(yīng)用研究, 2015, 32(12):3702-3705.

      [4] 江明,劉輝,黃歡. 圖像二值化技術(shù)的研究[J]. 軟件導(dǎo)刊,2009(4):175-177.

      [5] 屈衛(wèi)鋒,徐越,牛磊磊,等. 光照不均QR二維碼圖像的高效處理方法研究[J]. 軟件,2015(6):47-52.

      [6] 郭佳,劉曉玉,吳冰,等. 一種光照不均勻圖像的二值化方法[J]. 計(jì)算機(jī)應(yīng)用與軟件,2014(3):183-186.

      [7] ZHANG Y Q, ZHANG D H, JIANG P. A method of improving the security of QR code[J]. Information Technology, 2012.

      [8] GALIYAWALA H J,PANDYA K H. To increase data capacity of QR code using multiplexing with color coding: an example of embedding speech signal in QR code[C]. India Conference (INDICON), 2014 Annual IEEE,2014: 1-6.

      [9] LI L,LI L,ZHANG S, et al. Novel schemes for bike-share service authentication using aesthetic QR code and color visual cryptoraphy[C]. International Conference on Cloud Computing and Security. Springer, Cham, 2017: 837-842.

      [10] 靳佳澍. 一種針對(duì)彩色二維碼圖像的二值化方法[J]. 科技與企業(yè), 2016(4):83-84.

      [11] 孟立娜,韓其睿. 一種全局和局部相結(jié)合的二值化方法研究[J]. 計(jì)算機(jī)技術(shù)與發(fā)展,2012(11):116-119.

      [12] 王鵬. 一種局部二值化方法及其應(yīng)用[D]. 長(zhǎng)春:吉林大學(xué),2017.

      [13] 王序哲. 局部自適應(yīng)二值化方法研究[J]. 軟件導(dǎo)刊,2011,10(11):13-14.

      [14] 張潔玉. 基于圖像分塊的局部閾值二值化方法[J]. 計(jì)算機(jī)應(yīng)用, 2017, 37(3):827-831.

      [15] 陳鑫元,李筠,楊海馬,等. 自適應(yīng)閾值圖像二值化及形態(tài)學(xué)處理的FPGA實(shí)現(xiàn)[J]. 電子測(cè)量技術(shù), 2016, 39(7):67-71.

      [16] ZHANG J R, WANG L J. Improved binaryzation algorithm of modified QR code image[J].? Modern Electronics Technique, 2014, 280:25-33.

      [17] 馬倩. 基于Prewitt和Canny算法的邊緣檢測(cè)改進(jìn)算法[J].? 軟件導(dǎo)刊, 2014(6):41-43.

      [18] 江進(jìn).? 基于灰度化及邊緣檢測(cè)算法的車(chē)牌識(shí)別技術(shù)研究[J]. 現(xiàn)代計(jì)算機(jī):專(zhuān)業(yè)版, 2014(1):38-41.

      [19] 張銘鈞,李煊,王玉甲.? 基于灰度化權(quán)值調(diào)整的水下彩色圖像分割[J].? 哈爾濱工程大學(xué)學(xué)報(bào), 2015(5):707-713.

      [20] 盧迪,黃鑫,柳長(zhǎng)源,等. 基于區(qū)域?qū)Ρ榷仍鰪?qiáng)的二值化算法[J]. 電子與信息學(xué)報(bào),2017,39(1):240-244.

      (責(zé)任編輯:黃 ?。?/p>

      猜你喜歡
      二維碼
      可以吃的二維碼
      二維碼通行券自助發(fā)行系統(tǒng)在新興市場(chǎng)的應(yīng)用
      二維碼迷宮
      二維碼
      童話世界(2020年32期)2020-12-18 18:15:41
      小康二維碼
      心聲歌刊(2020年5期)2020-11-27 01:56:06
      從條形碼到二維碼
      從條形碼到二維碼
      會(huì)賺錢(qián)的收款二維碼
      讓嚴(yán)肅的二維碼呆萌起來(lái)
      二維碼讓政務(wù)公開(kāi)更直接
      凤冈县| 龙泉市| 江口县| 绿春县| 平谷区| 集贤县| 铜鼓县| 茶陵县| 晴隆县| 青龙| 汉源县| 扎囊县| 舟曲县| 马边| 子洲县| 壤塘县| 南城县| 远安县| 志丹县| 镇安县| 剑河县| 望城县| 商都县| 中西区| 乡城县| 浮梁县| 承德县| 乌鲁木齐县| 新源县| 正阳县| 定南县| 西藏| 新丰县| 略阳县| 壶关县| 江安县| 博客| 进贤县| 民权县| 黄浦区| 高州市|