專(zhuān)利名稱(chēng):基于雙循環(huán)隊(duì)列移位和換位規(guī)則的加密方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種傳統(tǒng)加密方法,尤其涉及一種基于雙循環(huán)隊(duì)列移位規(guī)則和 換位規(guī)則的傳統(tǒng)加密方法。
背景技術(shù):
傳統(tǒng)加密方法主要通過(guò)代換和置換兩種方式實(shí)現(xiàn)信息的隱藏。典型的置換 加密方法包括柵欄置換、轉(zhuǎn)輪機(jī)等。其中置換方式不隱藏原明文的字符,采用 將組成明文的字符重新排序以達(dá)到信息隱藏的目的。但是,現(xiàn)有的置換移位加密方法的加密強(qiáng)度小、對(duì)信息置亂度低,有些加 密方法如轉(zhuǎn)輪機(jī)等只適用于硬件實(shí)現(xiàn)。發(fā)明內(nèi)容本發(fā)明目的是提出一種基于雙循環(huán)隊(duì)列移位和換位規(guī)則的加密方法,其解 決了現(xiàn)有置換加密方法加密強(qiáng)度小、速度低、操作性差等問(wèn)題,適用于軟、硬 件實(shí)現(xiàn)。本發(fā)明的技術(shù)解決方案是一種基于雙循環(huán)隊(duì)列移位和換位規(guī)則的加密方法,具體步驟如下步驟l]取mxn的明文信息矩陣A;步驟2]創(chuàng)建隨機(jī)整數(shù)序列X^rEN, r^max(m, n)};步驟3]用戶(hù)根據(jù)加密強(qiáng)度要求,輸入一個(gè)整數(shù)w作為矩陣變換次數(shù);步驟4]在隨機(jī)整數(shù)序列X中任取隨機(jī)數(shù)k,運(yùn)算k=k mod 5;當(dāng)h0時(shí),從隨機(jī)整數(shù)序列X中取4個(gè)隨機(jī)數(shù)L、 L2、 U、 L4,要求L〈L3 《m, L<U《n;然后以第L,行作為起始行、以第U行作為結(jié)束行、以第U列作 為起始列、以第U列作為結(jié)束列,構(gòu)建變換矩陣A',記錄操作過(guò)程,形成一個(gè) 子密鑰;當(dāng)k=l時(shí),從隨機(jī)整數(shù)序列X中任取隨機(jī)數(shù)x、 y、 z,要求x^y,運(yùn)算x二l+(xmod (1+L3-L,)),運(yùn)算y二l+(ymod (l+L-L》),運(yùn)算z=z mod 2,對(duì)變換矩陣A, 中的第x行和第y行進(jìn)行循環(huán)左移位,當(dāng)2=0時(shí),不換位,當(dāng)2=1時(shí),則換位, 記錄操作過(guò)程,形成一個(gè)子密鑰;當(dāng)k=2時(shí),從隨機(jī)整數(shù)序列X中任取隨機(jī)數(shù)x、 y、 z,要求x^y,運(yùn)算x=l+(x mod (1+L4-L2)),運(yùn)算y=l+(y mod (1+L4-L2)),運(yùn)算z=z mod 2,對(duì)變換矩陣A, 中的第x列和第y列進(jìn)行循環(huán)下移位,當(dāng)z二0時(shí),不換位,當(dāng)2=1時(shí),則換位, 記錄操作過(guò)程,形成一個(gè)子密鑰;當(dāng)k=3日寸,從隨機(jī)整數(shù)序列X中任取隨機(jī)數(shù)x、 y、 z,要求x^y,運(yùn)算x=l+(x mod (l+LfLj),運(yùn)算y二l+(ymod (l+L:廠(chǎng)L》),運(yùn)算z二z mod 2,對(duì)變換矩陣A, 中的第x行和第y行進(jìn)行循環(huán)右移位,當(dāng)z=0時(shí),不換位,當(dāng)z=l時(shí),則換位, 記錄操作過(guò)程,形成一個(gè)子密鑰;當(dāng)k二4時(shí),從隨機(jī)整數(shù)序列X中任取隨機(jī)數(shù)x、 y、 z,要求x#y,運(yùn)算x=l+(x mod (l+L廠(chǎng)L》),運(yùn)算尸l+(ymod L2)),運(yùn)算z二z mod 2,對(duì)變換矩陣A,中的第x列和第y列進(jìn)行循環(huán)上移位,當(dāng)z二0時(shí),不換位,當(dāng)z二l時(shí),則換位, 記錄操作過(guò)程,形成一個(gè)子密鑰;若第1次運(yùn)算k時(shí)得到的k#0,構(gòu)建變換矩陣A' =A,即Lr=l、 L2=l、 L3=m、 L=n,記錄操作過(guò)程,形成第一個(gè)子密鑰;步驟5]重復(fù)步驟4]共w次,得到mx"的密文矩陣Z;步驟6]將各子密鑰依次排列得到密鑰。當(dāng)明文信息不是矩陣形式時(shí),上述步驟l]具體包括以下步驟用戶(hù)輸入整 數(shù)m、 n,將需要加密的明文信息從左到右、從上到下依次填入mx"矩陣,形成 明文信息矩陣A;上述步驟5]具體包括以下步驟重復(fù)步驟4]共w次,得到mx" 的密文矩陣Z;按照從左到右、從上到下的方式讀取密文矩陣Z,得到密文信息;上述步驟6]具體包括以下步驟將m、 n以及各子密鑰依次排列得到密鑰。 上述明文信息可以是文本信息、圖形信息、圖像信息或流媒體信息。本發(fā)明的優(yōu)點(diǎn)包括1、加解密速度快本加密方法屬于古典置換加密,加密方法變換簡(jiǎn)單,采 用最基本的移位和換位操作,沒(méi)有附加特別的變換過(guò)程,能利用較少的資源實(shí) 現(xiàn)快速的加解密過(guò)程;2、 加密方法實(shí)現(xiàn)簡(jiǎn)單,適用面廣加密方法原理相對(duì)簡(jiǎn)單,既能利用硬件 也可基于軟件實(shí)現(xiàn);3、 加密方法加密強(qiáng)度高,安全性好對(duì)于"x"的矩陣進(jìn)行W次變換,加密 方法強(qiáng)度可達(dá)到^;4、 加密方法適用面廣加密方法即可用于文本加密,也可適用于圖形、圖 像、流媒體等多媒體信息加密。
圖1是本發(fā)明加密方法的加密過(guò)程示意圖。
具體實(shí)施方式
一種基于雙循環(huán)隊(duì)列移位和換位規(guī)則的加密方法如下步驟1]輸入整數(shù)m、 n,將需要加密的明文信息從左到右、從上到下依次 填入mx"矩陣,形成明文信息矩陣A;步驟2]創(chuàng)建隨機(jī)整數(shù)序列X^reN, r^max(m, n)};步驟3]用戶(hù)根據(jù)加密強(qiáng)度要求,輸入一個(gè)整數(shù)w作為矩陣變換次數(shù);步驟4]在隨機(jī)整數(shù)序列X中任取隨機(jī)數(shù)k,運(yùn)算k二k mod 5;當(dāng)k二0時(shí),從隨機(jī)整數(shù)序列X中取4個(gè)隨機(jī)數(shù)L、 L2、 L3、 L4,要求L〈L3 《m, L2<L4《n;然后以第L,行作為起始行、以第U行作為結(jié)束行、以第U列作 為起始列、以第U列作為結(jié)束列,構(gòu)建變換矩陣A',記錄操作過(guò)程為 ttfLi/U/lVU形成一個(gè)子密鑰;當(dāng)k=l時(shí),從隨機(jī)整數(shù)序列X中任取隨機(jī)數(shù)x、 y、 z,要求x^y,運(yùn)算x=l+(x mod (l+U-L》),運(yùn)算y二l+(ymod L)),運(yùn)算z=z mod 2,對(duì)變換矩陣A,中的第x行和第y行進(jìn)行循環(huán)左移位,當(dāng)z=l時(shí),則移出變換矩陣A'的兩個(gè) 信息交換位置后再放入變換矩陣A'中,當(dāng)z=0時(shí),不換位,記錄操作過(guò)程為 ttax/y/z,形成一個(gè)子密鑰;當(dāng)k二2時(shí),從隨機(jī)整數(shù)序列X中任取隨機(jī)數(shù)x、 y、 z,要求x^y,運(yùn)算x=l+(x mod (1+L4-L2)),運(yùn)算y二l+(ymod (l+U-U)),運(yùn)算z=z mod 2,對(duì)變換矩陣A' 中的第x列和第y列進(jìn)行循環(huán)下移位,當(dāng)z=l時(shí),則移出變換矩陣A'的兩個(gè)信息交換位置后再放入變換矩陣A'中,當(dāng)z=0時(shí),不換位,記錄操作過(guò)程為 ftbx/y/z,形成一個(gè)子密鑰;當(dāng)k=3時(shí),從隨機(jī)整數(shù)序列X中任取隨機(jī)數(shù)x、 y、 z,要求x^y,運(yùn)算x=l+(x mod (1+L:,-L,)),運(yùn)算y二l+(ymod (l+L廠(chǎng)L》),運(yùn)算z=z mod 2,對(duì)變換矩陣A, 中的第x行和第y行進(jìn)行循環(huán)右移位,當(dāng)z=l時(shí),則移出變換矩陣A'的兩個(gè) 信息交換位置后再放入變換矩陣A'中,當(dāng)2=0時(shí),不換位,則換位,記錄操作 過(guò)程ftcx/y/z,形成一個(gè)子密鑰;當(dāng)k=4時(shí),從隨機(jī)整數(shù)序列X中任取隨機(jī)數(shù)x、 y、 z,要求x^y,運(yùn)算x二l+(x mod (l+LfL2)),運(yùn)算y二l+(ymod (1+L4-L2)),運(yùn)算z=z mod 2,對(duì)變換矩陣A' 中的第x列和第y列進(jìn)行循環(huán)上移位,當(dāng)z=l時(shí),則移出變換矩陣A,的兩個(gè) 信息交換位置后再放入變換矩陣A'中,當(dāng)z二0時(shí),不換位,記錄操作過(guò)程 #dx/y/z,形成一個(gè)子密鑰;若第1次運(yùn)算k時(shí)得到的k#0,構(gòu)建變換矩陣A, =A,即L產(chǎn)l、 L2=l、 L3=m、 U二n,記錄操作過(guò)程為ttf!VL2/L3/U,形成第一個(gè)子密鑰;歩驟5]重復(fù)步驟4]共w次,得到mx"的密文矩陣Z;按照從左到右、從上 到下的方式讀取密文矩陣Z,得到密文信息;步驟6]將m、 n以及各子密鑰依操作次序排列得到密鑰,并以文件形成安全 存放,密鑰文件的格式為nAntt fiyL/h/l^ax/y/zfflDx/y/z……。針對(duì)上述加密過(guò)程,基于雙循環(huán)隊(duì)列移位和換位規(guī)則的解密過(guò)程如下步驟1]從密鑰文件中取前兩個(gè)數(shù)據(jù)m和n,得到密文矩陣Z的行數(shù)m和列數(shù)n;步驟2]將密文信息按照從左到右、從上到下的方式依次填入mx"矩陣,形成密文矩陣Z;步驟3]在密鑰中以ttf為子密鑰段的分段標(biāo)志,取最后一個(gè)子密鑰段; 步驟4]用子密鑰段對(duì)密文矩陣的解密操作過(guò)程如下以第L行作為起始行、以第U行作為結(jié)束行、以第U列作為起始列、以第 U列作為結(jié)束列,確定密文矩陣Z的一個(gè)變換矩陣Z';依照從后向前的次序,用子密鑰段中的各個(gè)子密鑰對(duì)變換矩陣Z'進(jìn)行解密 操作當(dāng)子密鑰為ttax/y/z時(shí),對(duì)變換矩陣Z'中的第x行和第y行進(jìn)行循環(huán)右移 位;當(dāng)2=1時(shí),則移出變換矩陣A'的兩個(gè)信息交換位置后再放入變換矩陣A' 中,當(dāng)z=0時(shí),不換位;當(dāng)子密鑰為恥x/y/z時(shí),對(duì)變換矩陣Z,中的第x列和第y列進(jìn)行循環(huán)上移 位;當(dāng)z4時(shí),則移出變換矩陣A'的兩個(gè)信息交換位置后再放入變換矩陣A' 中,當(dāng)2=0時(shí),不換位;當(dāng)子密鑰為ttcx/y/z時(shí),對(duì)變換矩陣Z'中的第x行和第y行進(jìn)行循環(huán)左移 位;當(dāng)^1時(shí),則移出變換矩陣A'的兩個(gè)信息交換位置后再放入變換矩陣A' 中,當(dāng)z^時(shí),不換位;當(dāng)子密鑰為ttdx/y/z時(shí),對(duì)變換矩陣Z'中的第x列和第y列進(jìn)行循環(huán)下移 位;當(dāng)z二l時(shí),則移出變換矩陣A'的兩個(gè)信息交換位置后再放入變換矩陣A' 中,當(dāng)z=0時(shí),不換位;步驟5]刪除該子密鑰段;步驟6]重復(fù)步驟3]至步驟5],直到密鑰為空為止,完成解密操作過(guò)程,得到明文矩陣A;歩驟7]按照從左到右、從上到下讀取明文矩陣A,得到明文信息。 以圖1為例,采用本發(fā)明方法對(duì)信息l、 2、 3……20進(jìn)行加密,過(guò)程如下1、 用戶(hù)輸入111=4, n=5,構(gòu)造明文矩陣A,如圖1A;2、 用戶(hù)輸入加密強(qiáng)度w二6;3、 創(chuàng)建隨機(jī)整數(shù)序列X^3, 4, 5, 1, 4, 5, 3, 2, };4、 第一次操作過(guò)程在隨機(jī)整數(shù)序列X中任取l^5,運(yùn)算k二kmod5二0,則 在隨機(jī)整數(shù)序列X取L產(chǎn)2、 L2=3、 L3=4、 L4=5,選取明文矩陣A的第2行至第4 行、第3列至第5列的構(gòu)建變換矩陣A',如圖1B中黑框部分所示,記錄操作 為針2/3/4/5,作為一個(gè)子密鑰;5、 第二次操作過(guò)程在隨機(jī)整數(shù)序列X中任取k=4,運(yùn)算k=k mod 5=4, 則在隨機(jī)整數(shù)序列X中任取x二4, y=5、 z=l,運(yùn)算x二l+(xmod (1+L4_L2)) =2, 運(yùn)算尸l+(ymod (1+L4-L2))=3,運(yùn)算z二zmod2:l,對(duì)變換矩陣A,的第2列和 第3列進(jìn)行向上的循環(huán)移位,并換位,形成如圖1C的結(jié)果,記錄操作過(guò)程為 #d2/3/l,作為一個(gè)子密鑰;6、 第三次操作過(guò)程在隨機(jī)整數(shù)序列X中任取k=3,運(yùn)算k=k mod 5=3, 則在隨機(jī)整數(shù)序列X中任取x=5, y=3、 z=2,運(yùn)算x二l+(x mod (1+L4-L2))=3, 運(yùn)算尸l+(ymod (l+L廠(chǎng)L2))=l,運(yùn)算z=z mod 2二0,對(duì)變換矩陣A,的第1行和 第3行進(jìn)行向右的循環(huán)移位,形成如圖ID的結(jié)果,記錄操作過(guò)程為ftc3/1/0, 作為一個(gè)子密鑰;7、 第四次操作過(guò)程在隨機(jī)整數(shù)序列X中任取k=0,運(yùn)算k=k mod 5=0, 再在隨機(jī)整數(shù)序列X中取L,=l、 L2=l、 L:,=3、 U=4,選取第1行至第3行、第1 列至第4列的變換矩陣A",如圖IE中黑框部分所示,記錄操作過(guò)程為 ttfl/1/3/4,作為一個(gè)子密鑰;8、 第五次操作過(guò)程在隨機(jī)整數(shù)序列X中任取k=l,運(yùn)算k=k mod 5=1, 再在隨機(jī)整數(shù)序列X中任取x=3, y=5、 z=l,運(yùn)算x二l+(xmod (1+L3-L》)=l, 運(yùn)算y二l+(ymod (l+L廠(chǎng)L,)) =3,運(yùn)算z二zmod24,對(duì)變換矩陣A"的第1行和 第3行進(jìn)行向左的循環(huán)移位,并換位,形成如圖IF的結(jié)果,記錄操作過(guò)程為 #al/3/l,作為一個(gè)子密鑰;9、 第六次操作過(guò)程在隨機(jī)整數(shù)序列X中任取k二2,運(yùn)算k=k mod 5=2, 再在隨機(jī)整數(shù)序列X中任取x二3, y=l、 z=l,運(yùn)算x二l+(x mod (1+L4-L2))=4, 運(yùn)算y-l+(ymod L2))=2,運(yùn)算z二z mod 2二0,對(duì)變換矩陣A"的第4列和第2列進(jìn)行向下的循環(huán)移位,形成如圖1G的結(jié)果,記錄操作過(guò)程為能4/2/0, 作為一個(gè)子密鑰;10、 得到密鑰4\5#f2/3/4/5#d2/3/lttc3/l/0#fl/l/3/4#al/3/lftb4/2/0; 密文為2、 13、 4、 1、 5、 6、 3、 15、 11、 14、 12、 7、 19、 8、 20、 16、 17、 9、 18、 10。對(duì)密文為2、 13、 4……16、 17、 9、 18、 IO進(jìn)行解密的過(guò)程如下:1、 從密鑰中取前兩個(gè)數(shù)字4和5,得到密文矩陣Z為4行和5列,將密文 2、 13、 4、 1、 5、 6、 3、 15、 11、 14、 12、 7、 19、 8、 20、 16、 17、 9、 18、 10 填入4X5的密文矩陣Z中;2、 在密鑰中以針為子密鑰段的分段標(biāo)志,取最后一個(gè)子密鑰段 針l/l/3/4fel/3/l恥4/2/0;3、 以第l行作為起始行、以第3行作為結(jié)束行、以第l列作為起始列、以第4列作為結(jié)束列,確定密文矩陣Z的一個(gè)變換矩陣Z",見(jiàn)圖1G黑框部分;4、 取最后一個(gè)子密鑰ttb4/2/0,對(duì)變換矩陣Z"中的第4列和第2列進(jìn)行循環(huán)上移位,得圖1F;5、 再取倒數(shù)第二個(gè)子密鑰tta1/3/1,對(duì)變換矩陣Z"中的第1行和第3行進(jìn) 行循環(huán)右移位,并換位,得圖1E;6、 刪除最后一個(gè)子密鑰段ttfl/l/3/4ttal/3/lftb4/2/0;7、 取密鑰中的最后一個(gè)子密鑰段針2/3/4/5tfd2/3/lttc3/l/0;8、 以第2行作為起始行、以第4行作為結(jié)束行、以第3列作為起始列、以 第5列作為結(jié)束列,確定密文矩陣Z的一個(gè)變換矩陣Z',見(jiàn)圖1D黑框部分;9、 取最后一個(gè)子密鑰ttc3/1/0,對(duì)變換矩陣Z'中的第3行和第1行進(jìn)行循 環(huán)左移位,得圖1C;10、 再取倒數(shù)第二個(gè)子密鑰ttd2/3/1,對(duì)變換矩陣Z'中的第2列和第3列 進(jìn)行循環(huán)下移位,并換位,得圖1B;12、 刪除最后一個(gè)子密鑰段針2/3/4/5ttd2/3/lttc3/l/0;完成解密操作過(guò)程, 得到明文矩陣A;13、 按照從左到右、從上到下讀取明文矩陣A,得到明文信息l、 2、 3、 4、 5、 6......19、 20。本發(fā)明的技術(shù)基礎(chǔ)1、 循環(huán)隊(duì)列,是一種基本的數(shù)據(jù)結(jié)構(gòu)。對(duì)于一個(gè)有序數(shù)據(jù)序列 X={Xl,x2,……,XH,Xn ,n〉2L定義了移動(dòng)操作I^(rE, r反),對(duì)X的r正操作為X, ={ x ,Xl,x2,......,Xh ,n〉2}即正向循環(huán)移動(dòng),對(duì)X的r反操作為X' ={ x2,......,xn—, , x,, ,x,,n〉2)即反向循環(huán)移動(dòng);2、 對(duì)于一個(gè)m^矩陣A(或其任一子陣A'),將其行或列可分別看作循環(huán) 隊(duì)列,這樣就有行的左移和右移或列的下移和上移4種操作方式;3、 雙循環(huán)隊(duì)列將矩陣A (或其任一子陣A')的兩行或兩列看作隊(duì)列, 同時(shí)進(jìn)行移動(dòng)操作;4、 換位雙循環(huán)隊(duì)列移動(dòng)時(shí),移出矩陣A (或其任一子陣A')的兩個(gè)數(shù) 據(jù),交換位置放入矩陣中。
權(quán)利要求
1、一種基于雙循環(huán)隊(duì)列移位和換位規(guī)則的加密方法,其特征在于所述加密方法的步驟如下步驟1]取m×n的明文信息矩陣A;步驟2]創(chuàng)建隨機(jī)整數(shù)序列X={r∈N,r≤max(m,n)};步驟3]用戶(hù)根據(jù)加密強(qiáng)度要求,輸入一個(gè)整數(shù)w作為矩陣變換次數(shù);步驟4]在隨機(jī)整數(shù)序列X中任取隨機(jī)數(shù)k,運(yùn)算k=k mod 5;當(dāng)k=0時(shí),從隨機(jī)整數(shù)序列X中取4個(gè)隨機(jī)數(shù)L1、L2、L3、L4,要求L1<L3≤m,L2<L4≤n;然后以第L1行作為起始行、以第L3行作為結(jié)束行、以第L2列作為起始列、以第L4列作為結(jié)束列,構(gòu)建變換矩陣A’,記錄操作過(guò)程,形成一個(gè)子密鑰;當(dāng)k=1時(shí),從隨機(jī)整數(shù)序列X中任取隨機(jī)數(shù)x、y、z,要求x≠y,運(yùn)算x=1+(xmod(1+L3-L1)),運(yùn)算y=1+(y mod(1+L3-L1)),運(yùn)算z=z mod 2,對(duì)變換矩陣A’中的第x行和第y行進(jìn)行循環(huán)左移位,當(dāng)z=0時(shí),不換位,當(dāng)z=1時(shí),則換位,記錄操作過(guò)程,形成一個(gè)子密鑰;當(dāng)k=2時(shí),從隨機(jī)整數(shù)序列X中任取隨機(jī)數(shù)x、y、z,要求x≠y,運(yùn)算x=1+(xmod(1+L4-L2)),運(yùn)算y=1+(y mod(1+L4-L2)),運(yùn)算z=z mod 2,對(duì)變換矩陣A’中的第x列和第y列進(jìn)行循環(huán)下移位,當(dāng)z=0時(shí),不換位,當(dāng)z=1時(shí),則換位,記錄操作過(guò)程,形成一個(gè)子密鑰;當(dāng)k=3時(shí),從隨機(jī)整數(shù)序列X中任取隨機(jī)數(shù)x、y、z,要求x≠y,運(yùn)算x=1+(xmod(1+L3-L1)),運(yùn)算y=1+(y mod(1+L3-L1)),運(yùn)算z=z mod 2,對(duì)變換矩陣A’中的第x行和第y行進(jìn)行循環(huán)右移位,當(dāng)z=0時(shí),不換位,當(dāng)z=1時(shí),則換位,記錄操作過(guò)程,形成一個(gè)子密鑰;當(dāng)k=4時(shí),從隨機(jī)整數(shù)序列X中任取隨機(jī)數(shù)x、y、z,要求x≠y,運(yùn)算x=1+(xmod(1+L4-L2)),運(yùn)算y=1+(y mod(1+L4-L2)),運(yùn)算z=z mod 2,對(duì)變換矩陣A’中的第x列和第y列進(jìn)行循環(huán)上移位,當(dāng)z=0時(shí),不換位,當(dāng)z=1時(shí),則換位,記錄操作過(guò)程,形成一個(gè)子密鑰;若第1次運(yùn)算k時(shí)得到的k≠0,構(gòu)建變換矩陣A’=A,即L1=1、L2=1、L3=m、L4=n,記錄操作過(guò)程,形成第一個(gè)子密鑰;步驟5]重復(fù)步驟4]共w次,得到m×n的密文矩陣Z;步驟6]將各子密鑰依次排列得到密鑰。
2、 根據(jù)權(quán)利要求1所述的基于雙循環(huán)隊(duì)列移位和換位規(guī)則的加密方法,其特征在于所述步驟l]具體包括以下步驟用戶(hù)輸入整數(shù)m、 n,將需要加密的明文信息從左到右、從上到下依次填入mx"矩陣,形成明文信息矩陣A;所述步驟5]具體包括以下步驟重復(fù)步驟4]共W次,得到mx"的密文矩陣 Z;按照從左到右、從上到下的方式讀取密文矩陣Z,得到密文信息;所述步驟6]具體包括以下步驟將m、 n以及各子密鑰依次排列得到密鑰。
3、 根據(jù)權(quán)利要求1或2所述的基于循環(huán)隊(duì)列移位規(guī)則的加密方法,其特征在于所述明文信息包括文本信息、圖形信息、圖像信息或流媒體信息。
全文摘要
本發(fā)明涉及一種雙循環(huán)隊(duì)列移位和換位規(guī)則的加密方法,包括以下步驟取明文信息矩陣;創(chuàng)建隨機(jī)整數(shù)序列;用戶(hù)輸入矩陣變換次數(shù);在隨機(jī)整數(shù)序列中任取隨機(jī)數(shù)并取整;根據(jù)設(shè)定的余數(shù)規(guī)則對(duì)變換矩陣的其中一行或一列進(jìn)行循環(huán)隊(duì)列移位并可換位;經(jīng)多次變換后,得到密文矩陣;將各次變換操作過(guò)程記錄為子密鑰依次排列得到密鑰。本發(fā)明屬于古典置換加密,采用最基本的移位操作,利用較少的資源實(shí)現(xiàn)快速的加解密過(guò)程,解決了現(xiàn)有移位加密方法加密強(qiáng)度小、速度低、操作性差等問(wèn)題,具有加解密速度快、加密方法實(shí)現(xiàn)簡(jiǎn)單、加密方法加密強(qiáng)度高、安全性好、適用面廣的優(yōu)點(diǎn),適用于軟、硬件實(shí)現(xiàn)。
文檔編號(hào)H04L9/18GK101237322SQ20081001749
公開(kāi)日2008年8月6日 申請(qǐng)日期2008年2月3日 優(yōu)先權(quán)日2008年2月3日
發(fā)明者陽(yáng) 張, 旭 景, 武蘇里, 謝小軍 申請(qǐng)人:西北農(nóng)林科技大學(xué)