基于分形理論的加密算法

目前,加密技術(shù)已經(jīng)從外交和軍事領(lǐng)域走向公開,且已發(fā)展成為一門結(jié)合數(shù)學(xué)、計算機(jī)科學(xué)、電子與通信、微電子等技術(shù)的交叉學(xué)科,使用加密技術(shù)不僅可以保證信息的機(jī)密性,而且可以保證信息的完整性和確定性,防止信息被篡改、偽造和假冒。那么,接下來我就給大家介紹一種基于分形理論的加密算法。

一、基于分形理論的加密算法_

1、分型理論

分形理論是非線性科學(xué)研究中十分活躍的一個分支,它的研究對象是自然界和非線性系統(tǒng)中出現(xiàn)的不光滑和不規(guī)則的幾何形體。正是由于它的非線形,在密碼學(xué)中就有了很好的用處,正如我們所熟悉的des加密需要8個s盒來完成加密的非線形一樣?,F(xiàn)拿席爾賓斯基墊片模型作為例子,對于其相似維數(shù),r=2,N=3,Ds=log3/2,可見其維數(shù)已經(jīng)不是我們常見的整數(shù)。

2、席爾賓斯基墊片模型

席爾賓斯基墊片模型開始狀態(tài)為一個三角形,第一步后有3個與開始狀態(tài)相似的三角形,第二步后有9個。。。第n-1步后有3的n-1次方。每個三角形有3條邊,則一共有3的n次方個邊。那么我們定義n為分形的形成維數(shù)。

我們定義密鑰的第1位為選擇的模型,第2,3,4位為分形的維數(shù),其余位數(shù)作為控制三角形旋轉(zhuǎn)的控制位。將其余位數(shù)化為二進(jìn)制,0代表旋轉(zhuǎn)1次,1代表旋轉(zhuǎn)2次。

基于分形理論的加密算法

圖1席爾賓斯基墊片模型

3、基于分形理論的加密算法 加密過程

假設(shè)加密密鑰為0x10034567,要加密的明文為0x12345678,那么密鑰第一位為1,假設(shè)1代表我們的模型是三角形。第2,3,4位為003,即維數(shù)為3,則用于加密的分形圖形為上圖所示。 密鑰后四位的二進(jìn)制為0100 0101 0110 0111,密鑰控制圖形成過程為:

將密鑰二進(jìn)制的每一位按照從上到下從左到右的順序放在頂角朝上的小三角形中,例如將上圖按照每個小三角形的高的長度作為一個等級從上到下分為5級,第0級到第1級之間有一個頂角朝上的小三角形,得到的值為0,第1級到第2級之間有兩個三角形,由于在同一級則按照從左到右的順序,得到的值為10,第2級到第3級之間有兩個頂角朝上的三角形,得到的值為00,第3級到第4級之間有4個頂角朝上的三角形,得到的值為1010。形成的控制圖如圖所示。

基于分形理論的加密算法

圖2密鑰控制圖

明文的二進(jìn)制為0001 0010 0011 0100 0101 0110 0111 1000,它在席爾賓斯基墊片模型中所處位置為下圖所示,形成過程為:

將明文二進(jìn)制的每一位按照從上到下從左到右的順序放在頂角朝上的小三角形的三條邊上。依然按照以上的規(guī)則將圖1分為5級, 第0級和第1級之間有兩條邊,得到的值為00,第1級上有一條邊得到的值為0,第1級到第2級之間有4條邊,得到的值為1001,依此類推。

基于分形理論的加密算法

圖3明文顯示圖

則明文經(jīng)過密鑰控制后在席爾賓斯基墊片模型中的位置如圖4所示,控制規(guī)則為:在圖2中如果三角形中二進(jìn)制數(shù)為0的則將該三角形順時針旋轉(zhuǎn)1次,如果為1則將該三角形順時針旋轉(zhuǎn)2次。

基于分形理論的加密算法

圖4密文顯示圖

由上可知,每次加密能夠加密的位數(shù)為維數(shù)的三次方(如果模型為1的話),明文中的位數(shù)有可能不是其整數(shù)倍,則繼續(xù)加密規(guī)則。繼續(xù)加密時,密鑰循環(huán)使用,如上次用到密鑰的前9位0100 0101 0,接下來使用密鑰的后7位110 0111,和前2位01,依此循環(huán)使用密鑰,則密鑰控制圖如圖5所示。

基于分型理論的加密算法

圖5密鑰控制圖

剩下明文在席爾賓斯基墊片模型中所處位置為圖6所示,明文經(jīng)過密鑰控制后在席爾賓斯基墊片模型中的位置如圖7所示。

基于分形理論的加密算法

圖6明文顯示圖

基于分形理論的加密算法

圖7密文顯示圖

加密完成,密文按照從上到下從左到右的規(guī)則取出,得到的密文為,0000 0001 1100 1100 0010 1110 0110 1100即0x01cc2d6c。

4、基于分形理論的加密算法解密過程

解密的時候0代表三角形旋轉(zhuǎn)2次,1代表1次,因為三角形旋轉(zhuǎn)三次就還原了,如果是其他圖形則作相應(yīng)的改變。

二、基于分形理論的加密算法安全性分析

該加密方法的安全性在于:

1、第1位選擇圖形,如果錯誤則無法解出。

2、第2、3、4位為維數(shù),過多過少的維數(shù)都會解出錯誤。

3、旋轉(zhuǎn)的次數(shù)是根據(jù)密鑰變化改變而改變,很隨機(jī)。

4、未用到任何數(shù)學(xué)算法,因此根據(jù)數(shù)學(xué)公式無法作為破解的工具。

5、由于很好的非線形以及無規(guī)則性,很好的保護(hù)加密明文。

6、只有窮舉法才有機(jī)會攻擊,而窮舉法對所有的加密方法都有效。

小知識之維數(shù)

維數(shù)(又稱維度)是數(shù)學(xué)中獨立參數(shù)的數(shù)目。在物理學(xué)和哲學(xué)的領(lǐng)域內(nèi),指獨立的時空坐標(biāo)的數(shù)目。我們所居于的時空有四個維(3個空間軸和1個時間軸)。我們周圍的空間有3個維(上下,前后,左右)。