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

?

物料數(shù)據(jù)加密QR碼識(shí)別系統(tǒng)的實(shí)現(xiàn)

2012-07-03 00:24:42張文愛
電子技術(shù)應(yīng)用 2012年4期
關(guān)鍵詞:譯碼解密密鑰

張文愛,呂 韜

(太原理工大學(xué) 信息工程學(xué)院,山西 太原030024)

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

QR碼是目前應(yīng)用較為廣泛的一種矩陣式二維碼,考慮到工業(yè)物料管理系統(tǒng)對(duì)加密性的特殊要求,本文采用RC4算法對(duì)QR碼進(jìn)行加密處理,并在android系統(tǒng)下設(shè)計(jì)實(shí)現(xiàn)。

1 加密QR碼生成

RC4加密算法是Ron Rivest在1987年設(shè)計(jì)的密鑰長度可變的流加密算法簇[1]。 該算法的速度可以達(dá)到DES加密的10倍左右,且具有很高級(jí)別的非線性,適合手機(jī)硬件系統(tǒng)的要求;RC4算法屬于流加密,被廣泛應(yīng)用于SSL/TLS等網(wǎng)絡(luò)安全協(xié)議[2-3]。隨著手機(jī)互聯(lián)網(wǎng)的發(fā)展,使用RC4算法便于手機(jī)二維碼識(shí)別系統(tǒng)后續(xù)網(wǎng)絡(luò)化發(fā)展。

1.1 RC4算法

RC4算法包括密鑰調(diào)度算法(KSA)和偽隨機(jī)子密碼生成算法(PRGA)兩大部分。具體步驟如下:

(1)密鑰調(diào)度算法(KSA)。定義一個(gè)長度為256 B的S盒,同時(shí)建立一個(gè)臨時(shí)矢量K。如果密鑰Key的長度≥256 B,則將 Key賦給 K,多余字節(jié)丟棄;否則,計(jì)算Key的長度len,將Key的值賦給K的前l(fā)en個(gè)元素,并循環(huán)重復(fù)用Key的值賦給K剩下的元素,直到K的所有元素都被置換賦值。

(2)偽隨機(jī)子密碼生成算法(PRGA)。將 S盒中的每個(gè)字節(jié)與另一個(gè)字節(jié)置換,直到最后S[255]置換完成,操作繼續(xù)重復(fù)。加密時(shí),將子序列密鑰與要加密的明文進(jìn)行“異或”得到密文。解密時(shí)過程相同。

1.2 RC4算法的混沌改進(jìn)

1.2.1 RC4算法混沌改進(jìn)

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

Logistic映射數(shù)學(xué)表達(dá)式為:

其中當(dāng)u∈[3.571 448,4,X∈[0,1]時(shí)達(dá)到混沌狀態(tài),通過運(yùn)算得到的Xn+1值也都在[0,1]范圍內(nèi)。在本系統(tǒng)中,將RC4算法引入Logistic映射,可以提高偽隨機(jī)碼的隨機(jī)性,及RC4的加密性。改進(jìn)方法步驟如下:

(1)設(shè)定初始的X0值與u值。利用式(1)得到一個(gè)混沌值 y=u×X0×(1-X0)。

(2)在KSA生成密鑰的過程中,加入得到的混沌值進(jìn)行迭代運(yùn)算,生成隨機(jī)密鑰序列,過程如下:

(3)在PRGA過程字節(jié)進(jìn)行置換的步驟中,加入混沌映射,循環(huán)執(zhí)行,直到字節(jié)都被置換完成為止,過程如下:

(4)將步驟(2)、(3)生成的序列進(jìn)行“異或”運(yùn)算,完成RC4算法加密步驟。

1.2.2 參數(shù)的選擇

Lyapunov指數(shù)是混沌狀態(tài)的主要性能指標(biāo)[4]。對(duì)于Logistic一維映射Xn+1=F(xi),Lyapunov指數(shù) λ的計(jì)算公式為:

當(dāng)λ=0時(shí),系統(tǒng)達(dá)到混沌狀態(tài),產(chǎn)生的序列為隨機(jī)序列,所以 u的取值范圍為 (3.570,3.582)、(3.584,3.605)、(3.607,3.626)、 (3.635,3.655)、 (3.657,3.672)、 (3.674,3.701)、(3.703,3.738)、 (3.744,3.828)、 (3.850,3.854)、 (3.857,3.905)、(3.907,3.960)、(3.962,4.000)。經(jīng)過多次實(shí)驗(yàn)得出:當(dāng)初始值X0=0.432 345、參數(shù) u=3.761847時(shí),加密得到的效果最佳。

1.3 改進(jìn)后RC4算法與QR碼的結(jié)合

由于本系統(tǒng)針對(duì)工業(yè)中的物料管理系統(tǒng)設(shè)計(jì),為了客觀公正地反映物料數(shù)據(jù),最大程度地減少人為干預(yù),采用RC4算法對(duì)已有的QR碼數(shù)據(jù)內(nèi)容進(jìn)行加密,具體步驟如下:

(1)運(yùn)行程序后,首先輸入密鑰;

(2)攝像頭捕捉QR碼圖像后生成一張位圖,交予QR譯碼程序;

(3)QR譯碼程序按照國家標(biāo)準(zhǔn)解碼,進(jìn)行到糾錯(cuò)步驟后,提取數(shù)據(jù)碼字;

(4)按照RC4算法解密步驟進(jìn)行解密,并輸出結(jié)果。

例如,需要加密的文本為:廠家:某煤礦;全水分:9.4%;低位熱值:5914 cal/kg;加密后的文本為:叁嬝?枉枽熂矆t冢沨仞$?)??#俞佖炍倯@_?v匧厙冬。利用Java編寫QR碼生成系統(tǒng),加密前后生成的QR碼圖片如圖 1(a)、(b)所示。

2 加密QR碼識(shí)別

QR碼識(shí)別系統(tǒng)在Android手機(jī)系統(tǒng)下實(shí)現(xiàn)。

2.1 Android系統(tǒng)簡介

Android是基于Linux開放性內(nèi)核的操作系統(tǒng),是Google公司在2007年11月5日公布的手機(jī)操作系統(tǒng)[5]。Android應(yīng)用程序使用Java做為開發(fā)語言。本系統(tǒng)的開發(fā)環(huán)境為eclipse-SDK-3.5.2+android-sdk_r10+ADT-0.9.7。

2.2 QR碼識(shí)別系統(tǒng)的主要模塊

系統(tǒng)主要分為圖像采集、圖像處理、QR碼的譯碼及數(shù)據(jù)解密4個(gè)模塊。

圖像采集:點(diǎn)擊按鈕啟動(dòng)程序同時(shí)啟動(dòng)手機(jī)的攝像頭,開始實(shí)時(shí)捕捉QR碼圖像,如果檢測到QR碼,就將這一幀的圖像捕捉并進(jìn)行圖像處理。

圖像處理:(1)灰度化,手機(jī)獲取的彩色圖像變?yōu)楹诎讏D像,減少信息量,加快處理速度;(2)中值濾波,使用適當(dāng)?shù)木匦未翱谥兄禐V波處理掉光學(xué)采集系統(tǒng)中產(chǎn)生的椒鹽噪聲;(3)二值化,采用直方圖雙峰方式進(jìn)行圖像分割,將整個(gè)圖像呈現(xiàn)出明顯的、只有黑白的視覺效果。

QR碼譯碼:按照國家GB/T 18284 2000標(biāo)準(zhǔn)[6]進(jìn)行解碼。

數(shù)據(jù)解密:按照混沌改進(jìn)RC4算法的步驟對(duì)數(shù)據(jù)碼字進(jìn)行解密。

2.3 多線程處理

在圖像預(yù)處理及QR解碼過程中,往往需要處理大量的數(shù)據(jù)的情況。為了提高識(shí)別速度,解碼編程時(shí)采用多線程處理。

Android系統(tǒng)支持多線程應(yīng)用,支持利用handler接收子線程的數(shù)據(jù)。多線程處理實(shí)現(xiàn)方法:為每個(gè)處理步驟開啟一個(gè)線程,并在實(shí)現(xiàn)其run方法同時(shí)需要?jiǎng)?chuàng)建一個(gè)message,并定義好其屬性;在完成操作后將數(shù)據(jù)發(fā)送給 handler,通過 handler發(fā)送 message來達(dá)到多線程的調(diào)度,避免多線程操作時(shí)遇到資源沖突而發(fā)生異常。

3 系統(tǒng)性能分析

由于采用了混沌改進(jìn)的RC4算法對(duì)物料數(shù)據(jù)的QR碼進(jìn)行了加密,在識(shí)別程序設(shè)計(jì)中采用多線程處理等編程技巧,從而使該物料數(shù)據(jù)QR碼生成及識(shí)別系統(tǒng)的加密效果和識(shí)別速度達(dá)到較高要求。

3.1 改進(jìn)RC4算法的加密性能分析

本文采用頻率測試和游程測試對(duì)加密算法的隨機(jī)性進(jìn)行分析。頻率測試[7]公式為:

在Matlab上輸入公式進(jìn)行測試,編寫改進(jìn)的RC4算法,產(chǎn)生一個(gè)隨機(jī)序列,將得到的隨機(jī)序列中的0值轉(zhuǎn)換為-1,相加得到Sn??偣踩〕?30多個(gè)隨機(jī)序列,每個(gè)隨機(jī)序列長度不同,將它與已經(jīng)設(shè)置好的參數(shù)一起代入式(3)得出的P-Value值大于0.01,如圖 2(a)所示。

游程測試公式為:

Vn(obs)為隨機(jī)序列中所有 0、1值的和,n為加密隨機(jī)序列長度,將所有參數(shù)代入式(4)得出的P-Value值都大于 0.01,如圖 2(b)所示。

頻率測試和游程測試出的P-Value值都大于NIST(美國國家標(biāo)準(zhǔn)與技術(shù)委員會(huì))規(guī)定的0.01,即符合理想隨機(jī)序列標(biāo)準(zhǔn)。

3.2 系統(tǒng)識(shí)別速度

QR碼識(shí)別系統(tǒng)在摩托羅拉開發(fā)的里程碑、里程碑2、ME525及HTC開發(fā)的G7手機(jī)上進(jìn)行測試,測試手機(jī)的像素一般為500萬,測試圖片的大小為200×200。在73張圖片中有4張污損圖片不能譯碼,其余測試結(jié)果良好。

圖3是本系統(tǒng)在 ME525手機(jī)上運(yùn)行時(shí),對(duì)圖1(b)所示加密QR碼進(jìn)行解碼的操作,其中圖3(a)為打開應(yīng)用時(shí)的顯示界面,由此輸入密碼。圖3(b)為解碼后結(jié)果,其中第一行為沒有進(jìn)行解密的譯碼結(jié)果,圖中顯示為一行亂碼,不能得到QR碼中的準(zhǔn)確信息;第二行解密譯碼結(jié)果可以清楚看到廠家物料信息。圖3(b)最下面顯示一次識(shí)別的識(shí)別時(shí)間,識(shí)別時(shí)間是從打開攝像頭捕獲圖像后開始計(jì)算,正常情況下本系統(tǒng)識(shí)別二維碼圖像的時(shí)間為1 400 ms~4 700 ms。

另外,識(shí)別速度還與光線、對(duì)焦時(shí)間有關(guān)。測試時(shí)光線不充足或過于充足都會(huì)影響識(shí)別時(shí)間。若圖片距離手機(jī)過近則影響對(duì)焦時(shí)間,從而導(dǎo)致識(shí)別速度過慢。

Android手機(jī)系統(tǒng)功能豐富,攜帶方便,受周邊環(huán)境影響較小。使用智能手機(jī)識(shí)別二維碼已經(jīng)成為條碼識(shí)別的一個(gè)趨勢,而且可擴(kuò)展性強(qiáng),可顯著提高工業(yè)管理生產(chǎn)效率。經(jīng)過測試及分析,本系統(tǒng)符合QR碼加密性能、識(shí)別的時(shí)間和準(zhǔn)確度要求。

[1]宋維平.流密碼與RC4算法[J].吉林師范大學(xué)學(xué)報(bào)(自然科學(xué)版),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]金海榮.混沌序列密碼分析及其應(yīng)用研究[D],哈爾濱:黑龍江大學(xué),2009.

[5]谷歌公司.Android開發(fā)手冊(cè)[EB/OL](2010-09-23).http://developer.android.com.

[6]國家質(zhì)量技術(shù)監(jiān)督局.中華人民共和國國家標(biāo)準(zhǔn)——快速響應(yīng)矩陣碼[S].北京:標(biāo)準(zhǔn)出版社,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.

猜你喜歡
譯碼解密密鑰
探索企業(yè)創(chuàng)新密鑰
解密“熱脹冷縮”
基于校正搜索寬度的極化碼譯碼算法研究
解密“一包三改”
密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
炫詞解密
一種對(duì)稱密鑰的密鑰管理方法及系統(tǒng)
基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
從霍爾的編碼譯碼理論看彈幕的譯碼
新聞傳播(2016年3期)2016-07-12 12:55:27
LDPC 碼改進(jìn)高速譯碼算法
遙測遙控(2015年2期)2015-04-23 08:15:19
云阳县| 临江市| 延安市| 瑞丽市| 罗江县| 鄱阳县| 科尔| 叙永县| 通城县| 搜索| 利川市| 舟曲县| 长宁区| 合山市| 大理市| 温宿县| 多伦县| 鄂托克前旗| 宜春市| 怀远县| 无锡市| 新巴尔虎左旗| 湘乡市| 昌邑市| 厦门市| 冀州市| 泽库县| 稻城县| 赤壁市| 城步| 柘城县| 西安市| 梅河口市| 东兰县| 略阳县| 瑞安市| 昆明市| 吴桥县| 梅河口市| 左权县| 舟山市|