亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于棋盤(pán)覆蓋的文件加密技術(shù)

        2010-01-12 12:24:32王防修
        關(guān)鍵詞:密匙骨牌棋盤(pán)

        王防修,周 康

        (武漢工業(yè)學(xué)院數(shù)理科學(xué)系,湖北武漢 430023)

        隨著網(wǎng)絡(luò)化的普及,信息的傳播和共享變得更加方便,同時(shí),信息的安全性受到極大威脅.因此,盡可能地保護(hù)信息的安全是一項(xiàng)艱巨的任務(wù).目前,常用的保護(hù)信息的方法就是對(duì)文件加密[1].由于傳統(tǒng)加密算法是公開(kāi)的,根據(jù)現(xiàn)有計(jì)算機(jī)的計(jì)算能力,如果已知加密算法,一般都能夠借助計(jì)算機(jī)比較快地得到加密的密匙.由于棋盤(pán)覆蓋的特殊性和靈活性,使得將其用于文件加密,可以大大增強(qiáng)信息的安全性.即使將該算法公之于眾,想通過(guò)密文和部分明文得到密匙幾乎是一件不可能的事情.

        1 棋盤(pán)覆蓋[2]的工作原理

        定義 1在一個(gè) 2k×2k個(gè)方格組成的棋盤(pán)中,如果恰有一個(gè)方格與其它方格不同,則稱該方格為一特殊方格,且稱該棋盤(pán)為一特殊棋盤(pán).

        顯然,特殊方格在棋盤(pán)上出現(xiàn)的位置有 4k種情形.因此,對(duì)?k≥0,有 4k種不同的特殊棋盤(pán).

        定義 2所謂棋盤(pán)覆蓋,是指要用如圖1所示的 4種不同形態(tài)的L型骨牌覆蓋一個(gè)給定的特殊棋盤(pán)上除特殊方格以外的所有方格,且任何兩個(gè) L型骨牌不得重疊覆蓋.

        圖14種不同形態(tài)的 L型骨牌

        因此,在任何一個(gè) 2k×2k的棋盤(pán)覆蓋中,用到的 L型骨牌個(gè)數(shù)恰為 (4k-1)/3.

        1.1 用分治法對(duì)一個(gè)特殊棋盤(pán)進(jìn)行覆蓋的原理

        (1)設(shè) k>0,將 2k×2k棋盤(pán)分割為 4個(gè) 2k-1×2k-1的子棋盤(pán);(2)特殊方格必位于 4個(gè)較小子棋盤(pán)之一中,其余 3個(gè)子棋盤(pán)中無(wú)特殊方格.為了將這 3個(gè)無(wú)特殊方格的子棋盤(pán)轉(zhuǎn)化為特殊棋盤(pán),我們可以用一個(gè)L型骨牌覆蓋這 3個(gè)較小子棋盤(pán)的會(huì)合處,這 3個(gè)子棋盤(pán)上被L型骨牌覆蓋的方格就成為該棋盤(pán)上的特殊方格,從而將原問(wèn)題轉(zhuǎn)化為 4個(gè)較小規(guī)模的棋盤(pán)覆蓋問(wèn)題;(3)遞歸地使用這種分割,直至棋盤(pán)簡(jiǎn)化為 1×1棋盤(pán).

        1.2 棋盤(pán)覆蓋實(shí)例

        設(shè)棋盤(pán)覆蓋的遞歸算法如下.

        先將棋盤(pán)劃分為四個(gè)大小相同的子棋盤(pán),為了敘述方便,不妨將這四個(gè)子棋盤(pán)分別稱之為:左上角子棋盤(pán),右上角子棋盤(pán),左下角子棋盤(pán),右下角子棋盤(pán).具體如圖2所示.

        圖2 棋盤(pán)分割

        然后按遞歸覆蓋左上角子棋盤(pán),遞歸覆蓋右上角子棋盤(pán),遞歸覆蓋左下角子棋盤(pán),遞歸覆蓋右下角子棋盤(pán)的順序覆蓋整個(gè)棋盤(pán).

        當(dāng) k=3,則得到如圖3所示的不同特殊棋盤(pán)的棋盤(pán)覆蓋.

        圖3 k=3時(shí)的兩種不同特殊方格的棋盤(pán)覆蓋

        從結(jié)果可以看出,不同特殊棋盤(pán)上相應(yīng)的格子里有很多內(nèi)容是相同的.

        1.3 遞歸算法的改進(jìn)

        上述兩種不同特殊方格的棋盤(pán)覆蓋的內(nèi)容之所以大同小異,會(huì)不會(huì)是由于采用相同的遞歸算法造成的呢?因此,不妨按遞歸覆蓋右上角子棋盤(pán),遞歸覆蓋左上角子棋盤(pán),遞歸覆蓋右下角子棋盤(pán),遞歸覆蓋左下角子棋盤(pán)的順序覆蓋整個(gè)棋盤(pán),則得到如圖4所示的結(jié)果.

        圖4 特殊方格坐標(biāo) (1,1)所對(duì)應(yīng)的棋盤(pán)覆蓋

        與圖3中特殊方格坐標(biāo) (1,1)所對(duì)應(yīng)的棋盤(pán)覆蓋相比較,棋盤(pán)中的內(nèi)容有很大差別.正是因?yàn)檫@種差別,后面所說(shuō)的加密算法就是充分利用這一點(diǎn)來(lái)達(dá)到目的的.

        2 用棋盤(pán)覆蓋實(shí)現(xiàn)文件加密的原理

        2.1 棋盤(pán)大小的選擇

        所謂棋盤(pán)大小的選擇,實(shí)質(zhì)上就是 k值的合理選擇.為了實(shí)現(xiàn)文件到棋盤(pán)的單射[3],棋盤(pán)格子的個(gè)數(shù)至少必須等于文件的大小.只有當(dāng)文件的大小為 4k(其中 k為整數(shù)),棋盤(pán)的大小才與文件的大小相一致.事實(shí)上,文件的大小往往不可能為 4k.因此,棋盤(pán)的大小一般要比文件大.雖然只要棋盤(pán)比文件大,都可以實(shí)現(xiàn)文件到棋盤(pán)的單射,但考慮到大的棋盤(pán)所占的內(nèi)存空間也越大,因此我們一般選擇比相應(yīng)文件要大的較小棋盤(pán).

        假設(shè)某個(gè)待加密的文件的大小為 filesize,那么棋盤(pán)的大小為 4k,其中 k=min{n|4n≥filesize,n∈Z}.

        2.2 根據(jù)棋盤(pán)對(duì)文件進(jìn)行加密的過(guò)程

        為了簡(jiǎn)單起見(jiàn),我們不妨對(duì)文件進(jìn)行逐個(gè)字節(jié)加密.具體的加密過(guò)程:(1)測(cè)量出要加密的文件的大小為 filesize;(2)順序讀出文件的內(nèi)容;(3)假設(shè)讀出文件的第 i個(gè)字節(jié)的內(nèi)容為 ch,則可以通過(guò) i計(jì)算出棋盤(pán)上具體的格子位置,具體方法是

        然后通過(guò) ch=ch?board[row][col]mod256實(shí)現(xiàn) ch的加密,其中?表示加密運(yùn)算,board[i][j]表示棋盤(pán)上第 i行和第 j列的格子的骨牌號(hào);(4)將加密后的密文依次寫(xiě)入密文文件中.

        2.3 根據(jù)棋盤(pán)對(duì)文件進(jìn)行解密的過(guò)程

        跟上述的加密過(guò)程相反,我們必須對(duì)密文進(jìn)行逐個(gè)字節(jié)解密.具體的解密過(guò)程:(1)測(cè)量出要解密的文件的大小為 filesize;(2)順序讀出文件的內(nèi)容;(3)假設(shè)讀出文件的第 i個(gè)字節(jié)的內(nèi)容為 ch,則可以通過(guò) i計(jì)算出棋盤(pán)上具體的格子位置,具體方法是

        然后通過(guò) ch=ch⊕board[row][col]mod256實(shí)現(xiàn) ch的解密,其中⊕表示解密運(yùn)算,board[i][j]表示棋盤(pán)上第 i行和第 j列的格子的骨牌號(hào);(4)將解密后的明文依次寫(xiě)入明文文件中.

        3 密匙分析

        如果獲得通過(guò)上述方法加密的密文和部分密文所對(duì)應(yīng)的明文[4],同時(shí)又知道加密算法,那么要得到密匙是一件很容易的事情.首先,通過(guò)密文文件的大小,可以計(jì)算出棋盤(pán)的大小.如果知道該棋盤(pán)的特殊方格所處的位置,則該特殊棋盤(pán)的覆蓋唯一確定.因此,密文對(duì)應(yīng)棋盤(pán)的特殊方格所處的行號(hào)和列號(hào)就是文件加密的密匙.由加密與解密的過(guò)程知道,此處的加密算法是對(duì)稱性的,即加密與解密的密匙相同.如果棋盤(pán)大小為 4k,則特殊方格所處的位置有4k種可能.因此,只要知道兩個(gè)字節(jié)的密文所對(duì)應(yīng)的明文,則只要用解密算法最多嘗試執(zhí)行 4k次,就可以得到密匙.

        通過(guò)以上分析,說(shuō)明僅僅用棋盤(pán)覆蓋還不足以顯示它在文件加密中的威力.必須對(duì)現(xiàn)有算法加以改進(jìn),才能真正體現(xiàn)棋盤(pán)覆蓋對(duì)文件加密的優(yōu)點(diǎn).

        4 算法改進(jìn)

        前面的算法之所以需要改進(jìn),就是通過(guò)計(jì)算機(jī)算出它的密匙比較容易.出現(xiàn)這種情況原因有三:(1)棋盤(pán)的大小可以通過(guò)文件的大小計(jì)算出來(lái);(2)字符加密的對(duì)象可以通過(guò)字符在文件中所處的位置計(jì)算出來(lái);(3)不同字符與棋盤(pán)中不同格子的骨牌號(hào)進(jìn)行加密.因此,可以通過(guò)下列方法增加密文解密的難度.

        4.1 棋盤(pán)大小不受文件大小的限制

        為了克服通過(guò)文件能夠計(jì)算出棋盤(pán)大小的缺點(diǎn),有必要對(duì)其進(jìn)行改進(jìn).實(shí)際上,只要滿足 2k×2k個(gè)格子的棋盤(pán)都可以,只不過(guò)此時(shí)文件中的字符與棋盤(pán)的格子之間不存在單射關(guān)系而已,但這并不影響文件的加密與解密.

        因此,如果無(wú)法知道 k的具體值,那么就無(wú)法對(duì)密文進(jìn)行解密.顯然,這里的 k就是密匙的一部分.

        4.2 文件中不同字符加密對(duì)象的選擇

        前面關(guān)于每個(gè)字符的加密對(duì)象完全是由該字符在文件中所處的位置決定的,文件中不同位置的字符對(duì)應(yīng)棋盤(pán)中的不同格子,因此棋盤(pán)必須比文件大.而改進(jìn)后的棋盤(pán)可能比文件大也可能比文件小,當(dāng)棋盤(pán)比文件小時(shí),必然存在文件中不同位置的字符被棋盤(pán)中同一格子的骨牌號(hào)加密.為了能夠兼容任意大小的棋盤(pán),必須對(duì)字符的加密對(duì)象作出選擇,使得在解密時(shí)也能夠選擇與加密相同的解密對(duì)象.

        在具體為文件中的某個(gè)字符選擇加密對(duì)象時(shí),我們可以通過(guò)隨機(jī)函數(shù)來(lái)實(shí)現(xiàn)隨機(jī)選擇棋盤(pán)中對(duì)應(yīng)的某個(gè)格子.

        由仿射密碼[5]的原理,我們可以將隨機(jī)函數(shù)定義為:e(x)=(ax+b)modm,其中 a,b∈Zm,mod表示取余運(yùn)算.

        因此,為了給當(dāng)前的字符選擇棋盤(pán)中具體的格子來(lái)進(jìn)行加密,可以通過(guò)下列迭代函數(shù)組實(shí)現(xiàn)隨機(jī)選擇.

        隨著 a1,b1,a2,b2的值以及 x,y初始值的不同,那么在加密過(guò)程中選擇的加密對(duì)象就會(huì)有很大的不同.此時(shí)的加密過(guò)函數(shù)為:

        顯然,此時(shí)的密匙由 a1,a2,b1,b2,x,y,k組成.

        4.3 棋盤(pán)遞歸覆蓋算法的選擇

        由前面的分析可以知道,對(duì)于相同大小的棋盤(pán),即使特殊方格相同,如果采用不同遞歸覆蓋算法,那么棋盤(pán)中的骨牌號(hào)有很大差別.總共有 24種遞歸覆蓋算法,具體加密時(shí),只需選擇其中的一種,只有知道是哪一種遞歸覆蓋算法,才能夠?qū)γ芪倪M(jìn)行解密.

        5 算法分析

        通過(guò)前面的分析,棋盤(pán)覆蓋有 24種算法,而參數(shù) x1,y1,a1,b1,a2,b2每個(gè)都有 232種可能.此外,k有 32種可能,而特殊方格有 4k種情形.因此,密匙空間[6]的大小為 24×232×232×232×232×232×232×32×4k=3×2200+2k,即可供選擇的密匙有 3×2200+2k個(gè).實(shí)踐表明,如果知道加密算法,且知道部分密文對(duì)應(yīng)的明文,要從現(xiàn)有的計(jì)算機(jī)解密出密匙是不可能的.因此,用此種方法對(duì)文件進(jìn)行加密可以大大增強(qiáng)文件的安全性.

        6 結(jié)束語(yǔ)

        本文通過(guò)對(duì)棋盤(pán)覆蓋的介紹,從原理上說(shuō)明將其用于文件加密的可行性.雖然我們?cè)诖颂幉捎玫氖菍?duì)稱性加密,但由于密匙空間太大,非法用戶很難通過(guò)計(jì)算機(jī)計(jì)算出加密的密匙.實(shí)踐表明,應(yīng)用本文所述方法對(duì)文件進(jìn)行加密,可以大大增強(qiáng)信息傳輸?shù)陌踩?

        [1] 闞曉初.電子商務(wù)安全中的數(shù)據(jù)加密技術(shù)[J].計(jì)算機(jī)教育,2007(18).

        [2] 王曉東.計(jì)算機(jī)算法設(shè)計(jì)與分析[M].北京:電子工業(yè)出版社,2006.

        [3] 吳海濤.數(shù)據(jù)加密技術(shù)的研究與探討[J].科技咨詢,2007(24).

        [4] 陳運(yùn).信息加密原理[M].成都:電子科技大學(xué)出版社,1990.

        [5] 張周.我國(guó)企業(yè)開(kāi)始重視網(wǎng)絡(luò)安全[J].計(jì)算機(jī)世界 (A9版),2000(3).

        [6] 盧開(kāi)澄.計(jì)算機(jī)密碼學(xué) (第三版)[M].北京:清華大學(xué)出版社,2003.

        猜你喜歡
        密匙骨牌棋盤(pán)
        6口塘出蝦43000斤!產(chǎn)值超100萬(wàn)元,“萬(wàn)畝蝦塘”的成功密匙你了解了嗎?
        嵌入式系統(tǒng)授權(quán)密匙的實(shí)驗(yàn)與設(shè)計(jì)
        基于SDN 的量子密碼通信網(wǎng)絡(luò)設(shè)計(jì)與研究*
        試論密鑰協(xié)商協(xié)議及其安全性
        一只蒼蠅摧毀世界紀(jì)錄
        一只蒼蠅摧毀世界紀(jì)錄
        棋盤(pán)人生
        如何避免骨牌式心理崩潰
        不斷延伸的骨牌“跳臺(tái)”
        棋盤(pán)里的天文數(shù)字
        成午夜福利人试看120秒| 99久久久国产精品免费蜜臀| 成人丝袜激情一区二区| 色又黄又爽18禁免费网站现观看| 丰满人妻被两个按摩师| 亚洲第一页综合图片自拍| 少妇被猛男粗大的猛进出| 亚洲综合免费| 美女裸体无遮挡免费视频的网站| 国产丰满乱子伦无码专| 精品国产一区二区三区九一色| 久久久精品少妇—二区| 亚洲精品中文字幕一二三四| 性色av色香蕉一区二区蜜桃| 久久一本日韩精品中文字幕屁孩| 亚洲av免费手机在线观看| 亚洲国产天堂久久综合| 日韩欧群交p片内射中文| 国产日韩久久久精品影院首页| 亚洲av国产大片在线观看| 亚洲一区二区三区一站| 午夜桃色视频在线观看| av网站在线观看入口| 99久热在线精品视频观看| 久久久久久人妻毛片a片| 久久久精品2019免费观看| 欧美精品v欧洲高清| 中文字幕av久久激情亚洲精品 | 亚洲欧洲巨乳清纯| 国内精品91久久久久| 亚洲免费看三级黄网站| 在线观看一区二区三区视频 | 亚洲国产性夜夜综合另类| 极品美女扒开粉嫩小泬图片| 久久久久亚洲av片无码下载蜜桃| 在线视频一区二区日韩国产| 色噜噜精品一区二区三区| 风韵丰满熟妇啪啪区99杏| 国产极品女主播国产区| 国产无遮挡又黄又爽免费网站| 国产免费无码一区二区三区|