• 
    

    
    

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

      Data Matrix碼的AES加密與解密研究

      2013-08-13 06:09:42周丹晨
      電子技術應用 2013年11期
      關鍵詞:游程加密算法條碼

      劉 迪,周丹晨

      (中國工程物理研究院 機械制造研究所,四川 綿陽621900)

      二維條碼技術是一項集編碼、印刷、識別、數(shù)據(jù)采集和處理于一體的自動識別技術,廣泛應用于金融、貿易、物流、通信、制造及政府管理等領域。但要將二維條碼應用于商業(yè)秘密、政府機密、以至軍事機密等數(shù)據(jù)安全性要求較高的場合,就需要對二維條碼進行加密。因此研究二維條碼加密已成為拓展二維條碼應用的重要內容。

      二維條碼的加密,首先要保證加密強度,使其不能被輕易破解;其次要保證加密后二維條碼的識別速度和可靠性基本不受影響。因為二維條碼作為數(shù)據(jù)采集和輸入技術,其目的就是為了提高自動化效率。在二維條碼的加密技術研究領域,目前主要有3種方式:(1)在原始信息編碼前,對原始信息進行加密形成密文,再將密文生成二維條碼。如付利莉運用DES加密算法對PDF417碼進行加密[1],張文愛等利用混沌改進后的RC4算法對QR碼進行加密[2]。但DES加密算法的安全性略顯不足,不能用于信息安全性要求較高的場合,而改進后的RC4算法解密速度較慢,降低了QR碼的識別速度。(2)先將原始信息生成二維條碼,再對二維條碼圖像進行加密處理。如張定會等分別采用DES加密算法和Logistic混沌對QR碼二值圖像進行加密處理[3-4]。但兩種方法得到的圖像都打亂了QR碼原有結構,有可能對條碼的識別帶來影響。(3)將前兩種加密方式相結合以期望進一步提高加密強度。如方媛等首先利用基于DES和RSA的混合加密算法對二維條碼的原始信息進行加密,再將生成的加密二維條碼圖像用離散分數(shù)傅里葉變換雙隨機相位編碼技術進行二次加密,得到最終的加密條碼[5]。這種加密方案雖然提高了加密的強度,但過于復雜,同樣打亂了條碼的固有結構,其實用性需進一步研究。

      本文以典型二維條碼 Data Matrix碼(簡稱 DM碼)為研究對象,采用新一代加密標準AES算法作為DM碼的加密算法,開發(fā)加密DM碼生成系統(tǒng),以期望得到具有較高的加密強度和識別速度的加密DM碼。

      1 加密算法選取

      對二維條碼加密,既要保證加密強度,也要具有較快的加密和解密速度,因此加密算法的選取是關鍵。本文通過對3種常用的加密算法:3DES算法、AES算法和RSA算法的特點進行對比,以二維條碼加密的要求為依據(jù),從而選取一種適于二維條碼加密的加密算法。

      3DES算法是DES向AES過渡的加密算法,由美國標準FIPS-3于1999年定義,其明文分組長度仍為64 bit,但密鑰長度為168 bit[6],相當于DES密鑰的3倍。AES算法是為取代DES而征集產生的,并于2001年由FIPS-197公布,具有128 bit的分組長度,并提供 3種可選的密鑰長度,即 128 bit、192 bit、256 bit[7];RSA算法是一種使用最為廣泛的公鑰加密算法,其安全性取決于整數(shù)因子分解的困難性,故而要保證信息安全,密碼專家建議RSA算法的公鑰長度至少需取1 024 bit[8]。3種加密算法特點的對比如表1所示。

      表1 3種加密算法特點對比

      通過對3種加密算法的對比,發(fā)現(xiàn)AES算法最符合二維條碼加密的要求,無論其在加密強度和速度方面,都具有優(yōu)勢。目前為止,還沒有文獻表明能夠成功破譯AES,因此AES算法是安全的。AES的設計融合了各方面的各種特色,從而能夠抵抗已有的各種攻擊。如使用有限域中的逆運算構造的S盒,則可使其線性逼近和差分分布表中的各項趨近于均勻分布,為抵御差分和線性攻擊提供了安全性。線性變換MixColumns使得差分和線性攻擊找到包含較少活動S盒成為不可能事件。所以對AES不存在快于窮盡搜索的已知攻擊[8]。

      本文采用密鑰長度為128 bit的AES加密算法,期望將加密強度高、加密解密速度快等優(yōu)勢在基于加密的DM碼上得以體現(xiàn)。

      2 DM碼的加密生成系統(tǒng)實現(xiàn)

      對于具有AES加密的DM碼的生成系統(tǒng),采用了前文所述的第一種加密方式,即先將待編碼的原始信息進行AES加密處理,并生成密文,再對密文進行編碼生成加密的DM碼。以.net為開發(fā)平臺,運用C#語言為工具,設計開發(fā)了加密DM碼生成系統(tǒng)。系統(tǒng)的具體流程如圖1所示。

      由于.net平臺自身具有AES加密的接口,在用代碼實現(xiàn)DM碼加密生成系統(tǒng)時,可以直接調用AesCryptoServiceProvider和ICryptoTransform對象,實現(xiàn)DM碼的AES加密。具體的C#代碼示例如下:

      圖1 加密DM碼生成流程圖

      以原始數(shù)據(jù)“12345”為例,利用未加密的DM生成系統(tǒng)生成的DM碼如圖2所示,而利用加密DM碼生成系統(tǒng)獲得的加密DM如圖3所示。用普通條碼掃描槍對圖3所示DM碼進行識別,只能得到密文達到了加密的目的。

      圖2 未加密DM碼

      圖3 加密DM碼

      3 加密DM碼的識別驗證

      對于加密DM碼的識別驗證,本實驗采用Honeywell Xenon 1900系列條碼掃描槍,此系列條碼掃描槍對常見二維條碼都具有良好的識別率和可靠性。該掃描槍的數(shù)據(jù)傳輸接口有USB接口和com接口,本實驗采用后者。將掃描槍的數(shù)據(jù)傳輸端口與計算機的com接口連接,利用C#代碼獲取計算機的com接口為通信端口,從而將條碼掃描槍所得數(shù)據(jù)傳入計算機內存,以便對其進行AES解密,完成對加密DM碼的識別解密。AES算法的解密過程為其加密的逆過程,所以只需保證密碼一致,就可正確解密。

      實驗過程為,首先將加密DM碼打印出來,采用與AES解密軟件聯(lián)接的掃描槍對打印出來的加密DM碼進行識別驗證。實驗環(huán)境:

      (1)溫度:室溫 15℃~25℃;

      (2)照度:大于 300lx。

      通過對一組(40個)加密DM碼進行識別,發(fā)現(xiàn)只有一個條碼由于打印質量不佳而不能識別,其余條碼都能夠準確識別并成功解密,并且識別速度與未加密的DM碼沒有明顯差異,因此本文采用的加密方式對條碼的識別速度影響不大。

      4 加密強度分析

      本文將AES算法應用于對DM碼進行加密,經(jīng)過AES加密的條碼原始數(shù)據(jù)要按照DM碼的編碼規(guī)則生成比特流,所以還需要對其進行加密強度分析。由于DM碼有其自身的編碼規(guī)則,生成比特流的數(shù)據(jù)量有一定的規(guī)律,所以按其比特流規(guī)律選取 128 bit、256 bit、384 bit、512 bit、640 bit、768 bit、896 bit、1 024 這 8 種類型,每種比特流類型隨機選取10串比特流作為分析對象,根據(jù)NIST標準進行隨機性測試,NIST的密碼學隨機性測試標準適于檢測由硬件或軟件系統(tǒng)生成的密碼學隨機和偽隨機比特序列[9]。

      4.1 頻率測試

      頻率測試的目的是為了檢測1和0分別在比特流中所占的百分比是否接近,如果接近,則表明比特流的隨機性高。頻率測試要求比特流大于100 bit,本實驗選取的數(shù)據(jù)符合要求。測試步驟如下:

      (1)將比特流中的0替換為-1并求和;

      其中,Xi=2εi-1,εi為比特流中第 i位的 值,Sn為 n 個 xi之和。

      (2)計算測試統(tǒng)計值Sobs;

      其中,n為比特流的長度。

      (3)計算頻率測試的 P-value;

      式(4)為誤差函數(shù),其中的π為圓周率值。

      本文將數(shù)據(jù)量大小不一的80串比特流,運用Matlab按上述步驟進行處理,得到頻率測試P-value的值如圖4所示。

      4.2 游程測試

      游程測試的目的是為了檢測比特流中1和0的變換長度是否達到期望的隨機性。游程測試以頻率測試通過作為先決條件。測試步驟如下。

      (1)計算1在比特流中所占比重

      圖4 頻率測試結果

      式中的π為1在比特流中所占比重,εj為比特流中第j位的值,n為比特流長度。

      (2)判斷游程測試是否繼續(xù):

      其中的 π 為式(5)計算所得。 如果滿足|π-1/2|≥τ,則游程測試可不做;否則,繼續(xù)進行下面的步驟。

      (3)計算序列的游程數(shù):

      其中,如果 εk=εk+1,則 r(k)=0,否則 r(k)=1。

      (4)計算游程測試的P-value

      式中,π為圓周率值,n為比特流長度。

      用Matlab以上述步驟對80串比特流進行處理,獲得游程測試的P-value值如圖5所示。

      圖5 游程測試結果

      4.3 測試結果分析

      由圖4和圖5可以看出,頻率測試和游程測試所得的P-value值都大于0.01,表明檢測的比特流不僅在0,1總數(shù)占比上隨機,而且其分布也隨機。這充分說明將AES算法用于DM碼加密的優(yōu)越性和合理性。

      本文通過將AES算法應用于DM碼加密,在.net平臺上開發(fā)加密DM碼生成系統(tǒng),然后對生成的加密DM碼用條碼掃描槍進行識別驗證,再對加密后DM碼比特流進行隨機性測試。結果表明,該方法取得了良好的加密效果,達到了提高DM碼攜帶數(shù)據(jù)安全性的目的,而且對條碼的識別速度沒有明顯影響。

      [1]付利莉.DES算法在二維條碼數(shù)據(jù)加密中的應用[J].石油化工高等學校學報,2005,18(2):80-82.

      [2]張文愛,呂韜.物料數(shù)據(jù)加密QR碼識別系統(tǒng)的實現(xiàn)[J].電子技術應用,2012,38(4):117-119.

      [3]張定會,單俊濤,江平.QR碼 DES加密與解密[J].數(shù)據(jù)通信,2011(3):40-42.

      [4]張定會,郭靜波,江平,等.QR碼二值圖像混沌加密與解密[J].移動通信,2011(3-4):131-134.

      [5]方媛,傅華明.二維條碼加密算法的研究[J].電子技術,2009(1):42-43.

      [6]龍夏,肖連軍,檀明.基于 3DES加密的ATM亂序密碼鍵盤的設計[J].電腦知識與技術,2010,35(6):69-71.

      [7]張聞宇.高級加密標準AES中若干問題的研究[D].西安:西安電子科技大學,2003.

      [8]STINSON D R.密碼學原理與實踐[M].馮登國,等譯.北京:電子工業(yè)出版社,2009.

      [9]RUKHIN A,SOTO J,NECHVA J,et al.A statistical test suite for random and pseudorandom number generators for Cryptographic Applications[S].NIST Special Publication,2010.

      猜你喜歡
      游程加密算法條碼
      中國條碼技術與應用協(xié)會
      條碼微站
      基于劃分組參考數(shù)的差值編碼壓縮方法
      中國羽毛球組合鄭思維/黃雅瓊連續(xù)得失分規(guī)律研究
      改進型相對游程長度編碼方法
      基于小波變換和混沌映射的圖像加密算法
      Hill加密算法的改進
      基于固定條碼與電子標簽比對設備的設計
      對稱加密算法RC5的架構設計與電路實現(xiàn)
      基于游程數(shù)的非參數(shù)隨機性檢驗
      昌乐县| 璧山县| 津南区| 临猗县| 杭锦旗| 玉山县| 上虞市| 博爱县| 丘北县| 秦皇岛市| 昌乐县| 伊宁市| 吉木乃县| 兴隆县| 闵行区| 抚顺县| 明光市| 台前县| 寿宁县| 阳泉市| 阿合奇县| 恭城| 那坡县| 高要市| 昌吉市| 湖北省| 翁牛特旗| 榆树市| 湖口县| 宜良县| 赣榆县| 苍溪县| 东乡族自治县| 页游| 宜兴市| 永康市| 庄浪县| 高阳县| 哈巴河县| 丹棱县| 全椒县|