• 
    

    
    

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

      基于復(fù)合置亂算法的數(shù)字圖像加密系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      2017-09-09 02:28:48孔軍輝趙冬梅宋陽(yáng)
      軟件導(dǎo)刊 2017年8期
      關(guān)鍵詞:算法

      孔軍輝+趙冬梅+宋陽(yáng)

      摘 要:分析了目前比較流行的Arnold 算法和騎士巡游算法各自的特點(diǎn),利用兩種算法之間的互補(bǔ)性,設(shè)計(jì)了基于Arnold變換和騎士巡游變換相結(jié)合的復(fù)合置亂算法,并對(duì)數(shù)字圖像進(jìn)行加密。該設(shè)計(jì)以Altera公司的NIOSⅡ嵌入式軟核處理器為核心,創(chuàng)建了用戶自己的數(shù)字圖像處理芯片。

      關(guān)鍵詞:Arnold 算法;騎士巡游算法;復(fù)合置亂;圖像加密

      DOIDOI:10.11907/rjdk.171332

      中圖分類號(hào):TP309.7

      文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào)文章編號(hào):1672-7800(2017)008-0179-03

      0 引言

      隨著網(wǎng)絡(luò)和多媒體技術(shù)的發(fā)展及應(yīng)用,以數(shù)字圖像信號(hào)為主要載體的數(shù)據(jù)應(yīng)用已逐漸成為人們生活的主旋律。它雖然給人們生活帶來(lái)了便利,但同時(shí)也存在著安全隱患。據(jù)統(tǒng)計(jì),全世界幾乎每20s就會(huì)發(fā)生黑客入侵事件。不法者經(jīng)常會(huì)在數(shù)字圖像信號(hào)傳輸或存儲(chǔ)過程中竊取信息。因此,保護(hù)這些圖像信息的安全尤為重要。目前,對(duì)數(shù)字圖像進(jìn)行加密處理是解決這類問題的主要手段之一[1]。

      1 加密算法選擇

      對(duì)數(shù)字圖像進(jìn)行隱藏和偽裝有很多種算法,主要有數(shù)字圖像置亂技術(shù)、數(shù)字圖像信息隱藏技術(shù)、數(shù)字圖像水印技術(shù)和數(shù)字圖像分存技術(shù)[2]。本文采用的是數(shù)字圖像置亂技術(shù),這種技術(shù)主要利用數(shù)字圖像的矩陣性,對(duì)圖像中像素的位置或顏色進(jìn)行擾亂,從而解決數(shù)字圖像的安全問題。目前,比較流行的置亂技術(shù)有Arnold置亂算法和騎士巡游置亂算法。

      1.1 Arnold置亂算法

      Arnold 變換是在遍歷理論研究中提出的一種變換,俗稱貓臉變換[3],具體變換公式如式(1)。 定義:設(shè)有單位正方形上的點(diǎn)( x,y ),將點(diǎn)( x,y) 變到另一點(diǎn)( x′,y′)的變換為:

      x′y′=1 11 2xy(mod1)

      (1)

      由式(1)可知,Arnold 變換實(shí)際上就是將數(shù)字圖像中代表像素的顏色值或灰度值的坐標(biāo)點(diǎn)進(jìn)行位置移動(dòng)的過程,雖然一次移動(dòng)不能解決問題,但一直重復(fù)下去,每一次的最后輸出作為下一次的輸入,經(jīng)過N次迭代后,就會(huì)出現(xiàn)無(wú)法辨認(rèn)的圖像。值得注意的是,隨著迭代次數(shù)的增加,迭代到一定數(shù)值后數(shù)字圖像就會(huì)被還原,這說(shuō)明Arnold變換具有一定的周期性,合理利用此特點(diǎn),可以幫助人們完成數(shù)字圖像的解密工作。

      1.2 騎士巡游算法

      騎士巡游算法,就是讓一個(gè)騎士從數(shù)字圖像上任意一點(diǎn)像素出發(fā),按照國(guó)際象棋“日”字的規(guī)則走動(dòng),走動(dòng)過程中要求騎士不重復(fù)地走遍n×m棋盤上的每個(gè)小方格。騎士巡游路徑不是唯一的,可以用矩陣來(lái)表示,此矩陣稱為巡游矩陣。例如在一個(gè)8×8的棋盤中,一個(gè)騎士從起點(diǎn)1出發(fā),按照式(2)所示矩陣規(guī)則進(jìn)行巡游,直到走完矩陣中的每一點(diǎn)??梢钥闯觯@種算法的密鑰就是巡游矩陣,路徑的數(shù)量就是加密的密鑰量。密鑰量的數(shù)量在一定程度上決定了圖像加密的安全性,騎士巡游算法的密鑰量足夠保證加密安全。例如:一個(gè)8×8棋盤可以有1.305×1035個(gè)不同的巡游路徑[4]。

      1.3 復(fù)合置亂算法

      綜上可知,Arnold變換和騎士巡游變換在對(duì)數(shù)字圖像進(jìn)行加密處理上有著各自的特點(diǎn)。Arnold變換處理速度快,短時(shí)間內(nèi)置亂效果好,但密鑰量小、安全性不高。騎士巡游算法密鑰量大、安全性高,但速度慢,適合對(duì)細(xì)節(jié)的處理。由于兩種算法之間具有很強(qiáng)的互補(bǔ)性,因此本次設(shè)計(jì)選擇基于Arnold變換和騎士巡游變換相結(jié)合的復(fù)合置亂算法,這樣可以做到揚(yáng)長(zhǎng)避短,對(duì)數(shù)字圖像有著更好的加密效果。

      2 系統(tǒng)硬件設(shè)計(jì)

      本文采用嵌入式系統(tǒng)SOPC作為圖像加密的硬件平臺(tái),以美國(guó)Altera公司Nios II軟核處理器為核心,對(duì)數(shù)字圖像進(jìn)行加密設(shè)計(jì)。外界影像首先通過傳感器轉(zhuǎn)換為符合CCIR656 協(xié)議的圖像信號(hào),再通過EP2C35開發(fā)板上的I/O接口,以DMA方式存儲(chǔ)在SDRAM 中,等待Flash 中的加密程序?qū)ζ涮幚?。加密后的圖像數(shù)據(jù)通過液晶屏接口程序,由數(shù)字液晶屏接收并進(jìn)行顯示。具體過程如圖1所示。

      3 系統(tǒng)軟件設(shè)計(jì)

      軟件設(shè)計(jì)的主要任務(wù)是對(duì)存儲(chǔ)在SDRAM中的圖像數(shù)據(jù)進(jìn)行加密處理。首先為了防止在讀取圖像數(shù)據(jù)時(shí)發(fā)生沖突,要在SDRAM 中申請(qǐng)一個(gè)用來(lái)采集輸入,一個(gè)用來(lái)顯示輸出的兩個(gè)幀緩存區(qū)(640×480×2×8=4.915 2M幀)。當(dāng)圖像數(shù)據(jù)讀入后,由保存在Nios II 軟核處理器中的加密算法對(duì)其進(jìn)行加密,接到輸出指令后,進(jìn)行輸出,在液晶屏上顯示密圖。整個(gè)過程只要有圖像數(shù)據(jù)輸入就會(huì)不斷進(jìn)行下去。

      在Nios II IDE下編輯的基于Arnold變換和騎士巡游變換相結(jié)合的復(fù)合置亂算法關(guān)鍵加密代碼如下:

      void Arntranst(int m-Times) //Arnold 變換置亂函數(shù)

      {

      ……//變量定義及賦值過程

      for(k=1;k<=_Times;k++)

      { for(i=0; i

      { for(j=0;j

      { IpSrc = (uint8*)p_data+wide*i+j; //IpSrc為源位圖中待加密象素指針

      //P_data為指向源位圖數(shù)據(jù)區(qū)首象素的指針

      m=i+j;

      n=i+2*j;

      if(m>=wide)

      m=m%wide;

      if(n>=height)

      n=n%height;

      IpDst=(uint8 *)temp+wide*m+n;

      //IpDst 為IpSrc 所指向的象素經(jīng)過復(fù)合置亂算法映射后在緩沖區(qū)中的指針

      *IpDst=*IpSrc;}}

      memcpy(p_data,temp,wide*height);}}

      void Knight8(int m_Times1) //8*8騎士巡游置亂函數(shù)

      {

      ……//變量定義及賦值過程

      for ( k=1;k<=m_Times1;k++)

      { for (m=0;m

      { for(n=0;n

      { x=8*m;

      y=8*n;

      for (i=x;i

      { for (j=y; j

      { u=findrow(T,64);

      v=findcolum(T,64);

      x1=x+u;

      y1=y+v;

      *(uint8*)(temp+i*wide+j)=*(uint8*)(p_data+x1*wide+y1)

      } } } }

      memcpy(p_data,temp,wide*height); }}

      4 實(shí)驗(yàn)比較

      由于受目標(biāo)板存儲(chǔ)空間的限制,本次加密只是針對(duì)256×256像素的8位灰度圖進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)通過改變迭帶值進(jìn)行幾種置亂技術(shù)加密效果的比較。圖2是對(duì)原始圖像分別進(jìn)行0、1、5、8、10次Arnold 算法的實(shí)驗(yàn)結(jié)果,圖3是對(duì)原始圖像進(jìn)行0、2、5、8、48次騎士巡游算法的實(shí)驗(yàn)結(jié)果,圖4是對(duì)原始圖像進(jìn)行0+0、1+2、5+5、8+8、10+48次復(fù)合算法的實(shí)驗(yàn)結(jié)果。

      從實(shí)驗(yàn)效果可以看出,基于Arnold變換和騎士巡游變換相結(jié)合的復(fù)合置亂算法對(duì)圖像加密效果良好。

      5 結(jié)語(yǔ)

      本文將Arnold變換和騎士巡游變換相結(jié)合,提出一

      種新的復(fù)合圖像置亂加密算法,并用目標(biāo)板實(shí)現(xiàn)了相應(yīng)的功能。在設(shè)計(jì)過程中將3種置亂算法在加密效果上進(jìn)行了分析比較,結(jié)果表明,復(fù)合置亂算法無(wú)論在加密效果上還是在安全性上都得到了很大提升。但也存在一些問題亟待解決,例如彩色圖像加密、圖像解密的復(fù)雜性等問題,都有待進(jìn)一步研究。

      參考文獻(xiàn):

      [1] 張志剛.FPGA與SOPC設(shè)計(jì)教程[M].西安:電子科技大學(xué)出版社,2007.

      [2] 王麗娜.網(wǎng)絡(luò)多媒體信息安全保密技術(shù)[M].武漢:武漢大學(xué)出版社,2003.

      [3] 鄒建成,鐵小勻.數(shù)字圖像的二維 Arnold 變換及其周期性[J].北方工業(yè)大學(xué)學(xué)報(bào),2000(1):10-14.

      [4] GL CHIA,SIEW-HUI ONG.Generalized knight's tours on rectangular chessboards[J].Discrete Applied Mathematics,2005(5):80-98.

      [5] 王建校,危建國(guó).SOPC基礎(chǔ)與實(shí)踐[M].西安:電子科技大學(xué)出版社,2006.

      猜你喜歡
      算法
      基于MapReduce的改進(jìn)Eclat算法
      Travellng thg World Full—time for Rree
      進(jìn)位加法的兩種算法
      基于CC2530的改進(jìn)TPSN算法
      基于BCH和HOG的Mean Shift跟蹤算法
      算法初步兩點(diǎn)追蹤
      基于增強(qiáng)隨機(jī)搜索的OECI-ELM算法
      一種改進(jìn)的整周模糊度去相關(guān)算法
      一種抗CPS控制層欺騙攻擊的算法
      Wiener核的快速提取算法
      卓资县| 友谊县| 昭通市| 苗栗县| 景东| 闵行区| 富宁县| 建始县| 庆云县| 巴塘县| 紫阳县| 民勤县| 满洲里市| 宁化县| 岑巩县| 夏河县| 综艺| 朝阳区| 康保县| 成安县| 容城县| 澜沧| 丹凤县| 绿春县| 浙江省| 海门市| 卢湾区| 永吉县| 宁晋县| 称多县| 若尔盖县| 曲水县| 辽中县| 阜平县| 康马县| 三明市| 楚雄市| 望都县| 新泰市| 陵水| 建始县|