《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 物料數(shù)據(jù)加密QR碼識別系統(tǒng)的實現(xiàn)
物料數(shù)據(jù)加密QR碼識別系統(tǒng)的實現(xiàn)
來源:電子技術應用2012年第4期
張文愛, 呂 韜
太原理工大學 信息工程學院, 山西 太原030024
摘要: 針對工業(yè)物料管理系統(tǒng)對于保密安全的要求,為采樣的物料設計了一種加密的QR碼,并在Android手機系統(tǒng)下實現(xiàn)識別。介紹了對RC4算法的混沌改進及混沌參數(shù)的選擇,提出了將改進的RC4算法用于QR碼加密的方法,實現(xiàn)了物料數(shù)據(jù)QR碼的編碼及識別。測試結(jié)果表明,該系統(tǒng)能滿足實際應用對加密性能和識別速度的要求。
中圖分類號: TP391.4
文獻標識碼: A
文章編號: 0258-7998(2012)04-0117-03
The implementation of material data encryption QR code recognition system
Zhang Wenai, Lv Tao
Department of Information Engineering, Taiyuan University of Technology, Taiyuan 030024, China
Abstract: According to the privacy and security requirements in industrial management system, the paper designs an encrypted QR code for the sampling material and achieves the recognition on the Android mobile phone. The paper introduces the chaotic improvement of RC4 algorithm and the selection of the chaotic parameters. It puts forward that the improved RC4 algorithm be used for the encrypted QR code algorithm and it achieves the result of QR coding and recognition for the material data. Test results show that it achieves the requirements for the encryption performance and the recognition speed.
Key words : barcode recognition; QR code; Android; decrypt; RC4

    隨著現(xiàn)代社會的發(fā)展,在日常生活及工業(yè)生產(chǎn)中需要傳輸?shù)臄?shù)據(jù)信息量越來越大,常用的一維條碼技術已經(jīng)不能滿足人們要求,二維條碼技術得到了快速發(fā)展,獲得了社會的普遍認同。智能手機作為便攜設備應用廣泛,尤其它具有內(nèi)置攝像頭可以直接獲取圖像數(shù)據(jù),使得二維條碼的識別變得更加快捷高效。

    QR碼是目前應用較為廣泛的一種矩陣式二維碼,考慮到工業(yè)物料管理系統(tǒng)對加密性的特殊要求,本文采用RC4算法對QR碼進行加密處理,并在android系統(tǒng)下設計實現(xiàn)。
1 加密QR碼生成
    RC4加密算法是Ron Rivest在1987年設計的密鑰長度可變的流加密算法簇[1]。 該算法的速度可以達到DES加密的10倍左右,且具有很高級別的非線性,適合手機硬件系統(tǒng)的要求;RC4算法屬于流加密,被廣泛應用于SSL/TLS等網(wǎng)絡安全協(xié)議[2-3]。隨著手機互聯(lián)網(wǎng)的發(fā)展,使用RC4算法便于手機二維碼識別系統(tǒng)后續(xù)網(wǎng)絡化發(fā)展。
1.1 RC4算法
    RC4算法包括密鑰調(diào)度算法(KSA)和偽隨機子密碼生成算法(PRGA)兩大部分。具體步驟如下:
  (1)密鑰調(diào)度算法(KSA)。定義一個長度為256 B的S盒,同時建立一個臨時矢量K。如果密鑰Key的長度≥256 B,則將Key賦給K,多余字節(jié)丟棄;否則,計算Key的長度len,將Key的值賦給K的前l(fā)en個元素,并循環(huán)重復用Key的值賦給K剩下的元素,直到K的所有元素都被置換賦值。
  (2)偽隨機子密碼生成算法(PRGA)。將S盒中的每個字節(jié)與另一個字節(jié)置換,直到最后S[255]置換完成,操作繼續(xù)重復。加密時,將子序列密鑰與要加密的明文進行“異或”得到密文。解密時過程相同。
1.2 RC4算法的混沌改進
1.2.1 RC4算法混沌改進

 為了提高流密碼的遍歷性與隨機性,在RC4算法的密鑰生成與偽隨機子密碼生成過程中采用混沌算法進行改進。Logistic一維映射是一種比較簡單的數(shù)學形式混沌映射,但是具有非常好的混沌性質(zhì),適合手機對算法處理速度快的要求。
 Logistic映射數(shù)學表達式為:


2 加密QR碼識別
    QR碼識別系統(tǒng)在Android手機系統(tǒng)下實現(xiàn)。
2.1 Android系統(tǒng)簡介
    Android是基于Linux開放性內(nèi)核的操作系統(tǒng),是Google公司在2007年11月5日公布的手機操作系統(tǒng)[5]。Android應用程序使用Java做為開發(fā)語言。本系統(tǒng)的開發(fā)環(huán)境為eclipse-SDK-3.5.2+android-sdk_r10+ADT-0.9.7。
2.2 QR碼識別系統(tǒng)的主要模塊
    系統(tǒng)主要分為圖像采集、圖像處理、QR碼的譯碼及數(shù)據(jù)解密4個模塊。
    圖像采集:點擊按鈕啟動程序同時啟動手機的攝像頭,開始實時捕捉QR碼圖像,如果檢測到QR碼,就將這一幀的圖像捕捉并進行圖像處理。
    圖像處理:(1)灰度化,手機獲取的彩色圖像變?yōu)楹诎讏D像,減少信息量,加快處理速度;(2)中值濾波,使用適當?shù)木匦未翱谥兄禐V波處理掉光學采集系統(tǒng)中產(chǎn)生的椒鹽噪聲;(3)二值化,采用直方圖雙峰方式進行圖像分割,將整個圖像呈現(xiàn)出明顯的、只有黑白的視覺效果。
    QR碼譯碼:按照國家GB/ T 18284 2000標準[6]進行解碼。
    數(shù)據(jù)解密:按照混沌改進RC4算法的步驟對數(shù)據(jù)碼字進行解密。
2.3 多線程處理

 


    在圖像預處理及QR解碼過程中,往往需要處理大量的數(shù)據(jù)的情況。為了提高識別速度,解碼編程時采用多線程處理。
  Android系統(tǒng)支持多線程應用,支持利用handler接收子線程的數(shù)據(jù)。多線程處理實現(xiàn)方法:為每個處理步驟開啟一個線程,并在實現(xiàn)其run方法同時需要創(chuàng)建一個message,并定義好其屬性;在完成操作后將數(shù)據(jù)發(fā)送給handler,通過handler發(fā)送message來達到多線程的調(diào)度,避免多線程操作時遇到資源沖突而發(fā)生異常。
3 系統(tǒng)性能分析
    由于采用了混沌改進的RC4算法對物料數(shù)據(jù)的QR碼進行了加密,在識別程序設計中采用多線程處理等編程技巧,從而使該物料數(shù)據(jù)QR碼生成及識別系統(tǒng)的加密效果和識別速度達到較高要求。
   
    頻率測試和游程測試出的P-Value值都大于NIST(美國國家標準與技術委員會)規(guī)定的0.01,即符合理想隨機序列標準。
3.2 系統(tǒng)識別速度
    QR碼識別系統(tǒng)在摩托羅拉開發(fā)的里程碑、里程碑2、ME525及HTC開發(fā)的G7手機上進行測試,測試手機的像素一般為500萬,測試圖片的大小為200×200。在73張圖片中有4張污損圖片不能譯碼,其余測試結(jié)果良好。
    圖3是本系統(tǒng)在ME525手機上運行時,對圖1(b)所示加密QR碼進行解碼的操作,其中圖3(a)為打開應用時的顯示界面,由此輸入密碼。圖3(b)為解碼后結(jié)果,其中第一行為沒有進行解密的譯碼結(jié)果,圖中顯示為一行亂碼,不能得到QR碼中的準確信息;第二行解密譯碼結(jié)果可以清楚看到廠家物料信息。圖3(b)最下面顯示一次識別的識別時間,識別時間是從打開攝像頭捕獲圖像后開始計算,正常情況下本系統(tǒng)識別二維碼圖像的時間為1 400 ms~4 700 ms。

    另外,識別速度還與光線、對焦時間有關。測試時光線不充足或過于充足都會影響識別時間。若圖片距離手機過近則影響對焦時間,從而導致識別速度過慢。
    Android手機系統(tǒng)功能豐富,攜帶方便,受周邊環(huán)境影響較小。使用智能手機識別二維碼已經(jīng)成為條碼識別的一個趨勢,而且可擴展性強,可顯著提高工業(yè)管理生產(chǎn)效率。經(jīng)過測試及分析,本系統(tǒng)符合QR碼加密性能、識別的時間和準確度要求。
參考文獻
[1] 宋維平.流密碼與RC4算法[J].吉林師范大學學報(自然科學版),2005(5):71-72.
[2] PETER K, MANUEL L, MARTIN M. QR code security[C]. MoMM2010-8th International Conference on Advances in Mobile Computing and Multimedia, 2010.
[3] HONGGEUN K, JUNGKYU H,SEONGJE C. An efficient  implementation of RC4 cipher for encrypting multimedia files on mobile devices[C]. Proceedings of the ACM Symposium on Applied Computing, 2007.
[4] 金海榮. 混沌序列密碼分析及其應用研究[D],哈爾濱:黑龍江大學, 2009.
[5] 谷歌公司. Android開發(fā)手冊[EB/OL](2010-09-23).http://developer.android.com.
[6] 國家質(zhì)量技術監(jiān)督局.中華人民共和國國家標準——快速響應矩陣碼[S].北京:標準出版社,2001.
[7] ANDREW R, JUAN S, JAMES N. A statistical test suite for random and pseudorandom number generators for cryptographic applications[S].NIST Special Publication, 2001.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。