加密解密中變形魔方陣的應(yīng)用

近年來,人們對(duì)魔方陣的探討,不再局限于趣味數(shù)學(xué)上的議題,不少學(xué)者紛紛將魔方陣的應(yīng)用融入信息安全之中。那么我們今天就來探討一下加密解密中變形魔方陣是如何應(yīng)用的?

一、魔方陣變形之分析

1、魔方陣的由來

根據(jù)文獻(xiàn)記載,最古老的魔方陣是一個(gè)三階魔方陣,出自中國古代的洛書,相傳大禹在黃河及洛水治理水患時(shí),于洛河發(fā)現(xiàn)一只烏龜背上刻著奇特圖案,即一個(gè)標(biāo)準(zhǔn)的三階魔方陣。魔方陣又被稱為九宮算,是因?yàn)槿A魔方陣共有九個(gè)方格,又被稱為縱橫圖的原因可能是直行與橫列的和相等的緣故。在日本,魔方陣又稱為幻方。

2、魔方陣的定義

若一個(gè)方陣是由n橫列與n個(gè)直行所構(gòu)成,共有擴(kuò)個(gè)小方格,則稱這個(gè)方陣是一個(gè)n階方陣;若每一列,每一行及每一個(gè)對(duì)角線數(shù)字相加的總合相等,則稱為正規(guī)魔方陣(Normal MagicSquare),或是標(biāo)準(zhǔn)魔方陣(Standard Magic Square)。檢驗(yàn)一個(gè)魔方陣是否為一個(gè)正規(guī)型態(tài),可判定任一列、一行或是對(duì)角線之和是否為(n的三次方+n)/2,其中n為魔方陣的階數(shù)。

例如:以3階魔方陣為例,其每一列之和為15。

3、魔方陣的變形

常見的魔方陣變形有幾種:剛性變形法、加值變形法、互補(bǔ)變形法、井字對(duì)換變形法、田字變形法、拓樸變形法及、旋轉(zhuǎn)變形法等多種方法嘲o對(duì)于奇數(shù)或是偶數(shù)的魔方陣變形,又有不同的方法;本文以合成法舉例說明9*9階及12*12階魔方陣之構(gòu)造方法。

(1)奇數(shù)九階魔方陣合成法

九階魔方陣可以分解成數(shù)個(gè)三階魔方陣。一個(gè)階數(shù)為n之魔方陣,當(dāng)n≥3時(shí),若n為兩個(gè)整數(shù)p,q之乘積時(shí),則這個(gè)魔方陣可由p階及g階魔方陣合成。例如九階魔方陣可以分解成三階魔方陣。

3*3型態(tài)合成法

步驟1:將9*9的矩陣平均切割成三等份,總共分成9大區(qū)塊。這里稱之為井字型切割法。

步驟2:將9大區(qū)塊分別按照3*3魔方陣的區(qū)塊位置標(biāo)上l到9的順序編號(hào)。

步驟3:9*9共有81個(gè)小方格,第一區(qū)塊依順序?qū)?-9數(shù)字對(duì)應(yīng)3*3魔方陣的相對(duì)位置,填入小方格內(nèi)。

步驟4:反復(fù)步驟3的工作,直到81個(gè)小方格全部填滿數(shù)字。

步驟5:檢查各行各列及對(duì)角線的數(shù)字總和是否相等,若相等就結(jié)束工作;不相等則跳至步驟3重新開始。

(2)偶數(shù)十二階魔方陣合成法

幾階為12的魔方陣可以分解成n=4*3或是n=3*4兩種型態(tài),即每一個(gè)基本方塊可以切割成三等份或是四等份。如圖4及圖5所示。

4*3型態(tài)合成法

步驟1:將12*12的矩陣平均切割成四等份,總共分成16大區(qū)塊。

步驟2:將16大區(qū)塊分別按照4*4魔方陣的區(qū)塊位置標(biāo)上1到16的順序編號(hào)。

步驟3:12*12共有144個(gè)小方格,第一區(qū)塊依順序?qū)?-16數(shù)字對(duì)應(yīng)4*4魔方陣的相對(duì)位置,填入小方格內(nèi)。

步驟4:反復(fù)步驟3的工作,直到144個(gè)小方格全部填滿數(shù)字。

步驟5:檢查各行各列及對(duì)角線的數(shù)字總和是否相等,若相等就結(jié)束工作;不相等則跳至步驟3重新開始。

3*4型態(tài)合成法

步驟1:將12*12的矩陣平均切割成三等份,總共分成9大區(qū)塊。還是用井字型切割法。

步驟2:將9大區(qū)塊分別按照3*3魔方陣的區(qū)塊位置標(biāo)上1到9的順序編號(hào)。

步驟3:12*12共有144個(gè)小方格,第一區(qū)塊依順序?qū)?-9數(shù)字對(duì)應(yīng)3*3魔方陣的相對(duì)位置,填入小方格內(nèi)。

步驟4:反復(fù)步驟3的工作,直到144個(gè)小方格全部填滿數(shù)字。

步驟5:檢查各行各列及對(duì)角線的數(shù)字總和是否相等,若相等就結(jié)束工作;不相等則跳至步驟3重新開始。

(3)合成法注意事項(xiàng)

已知最小魔方陣為一個(gè)三階魔方陣,因此若用合成法或是切割法來構(gòu)造一個(gè)9階以上的魔方陣,最小的要求是三階。為什么不用二階?因?yàn)槎A魔方陣不存在。

假設(shè):設(shè)有一個(gè)二階魔方陣,如圖6所示,其中a,b,c,d依序?yàn)椴幌嗤恼麛?shù)。

證明:假設(shè)圖6為一個(gè)二階魔方陣,所以a+b=b+d=a+c=b+d=a+d=b+c。

得a=b=c=d,然魔方陣之假設(shè)為a≠b≠c≠d之條件,故圖6與假設(shè)矛盾。

所以二階魔方陣不存在。

證畢。

二、加密解密原理及其認(rèn)證機(jī)制

1、魔方陣的特性一“大于1法則”

三階魔方陣特性:以3*3為例,兩個(gè)對(duì)角的和分別是(8+2)=10,(6+4)=10;因3*3=9,而10比9大1。

四階魔方陣特性:以4*4為例,兩個(gè)對(duì)角的和分別是(16+1)=17,(13+4)=17;因4*4=16,而17比16大1。

五階魔方陣特性:以5*5為例,兩個(gè)對(duì)角的和分別是(17+9)=26,因(15+11)=26,而26比25大1。

六階魔方陣特性:以6*6為例,兩個(gè)對(duì)角的和分別是(6+31)=37,(1+36)=37;因6*6,而37比36大1。

七階魔方陣特性:以7*7為例,兩個(gè)對(duì)角的和分別是(30+20)=50,(28+22)-50;因7*7,而50比49大1。

八階魔方陣特性:以8*8為例,兩個(gè)對(duì)角的和分別是(64+1)=65,(57+8)=64;因8*8=64,而65比64大1。

2、用魔方陣的特性當(dāng)驗(yàn)證機(jī)制

當(dāng)傳送者( Sender)將明文(plaintext)加密之后,他最少要傳密文(ciphertext)及密鑰(key)這兩樣信息給接收者( Receiver),接收者根據(jù)密鑰(或密碼)將密文解密成明文。這是最基本的情況。如果加密密鑰與解密密鑰是一樣的,屬于對(duì)稱式密碼系統(tǒng);如果不一樣,則是非對(duì)稱式密碼系統(tǒng)。如果要讓接收者對(duì)傳送者進(jìn)行身份的認(rèn)證及鑒別,傳送者至少還要提供明文、密鑰及密文等三種信息給對(duì)方,接收者可以把密文解密后,與原來的明文比對(duì)看看是否一致。

如果傳送者在一般的網(wǎng)絡(luò)上傳送密文給接收者,另外在安全信道(Secure Channel)或是虛擬網(wǎng)(Virtual Private Network,VPN)上傳送種子(seed)給接收者,這個(gè)種子就是魔方陣階的大小及四個(gè)角落的值,當(dāng)接收者收到傳送者所傳送的密文及種子時(shí),接收者可以自行產(chǎn)生一個(gè)魔方陣;此時(shí),產(chǎn)生的這個(gè)魔方陣就是一個(gè)加密矩陣,利用這個(gè)矩陣把密文進(jìn)行解密,就會(huì)得到明文。

例如:傳送者經(jīng)由安全信道傳送種子為(7,30,28,22,20)及密文給接收者時(shí),接收者收到后,接收者知道要產(chǎn)生7*7的魔方陣,且四個(gè)角落值一定是(30,28,22,20),若不是,接收者就無法正確的將密文解密成明文。

3、安全性分析

一個(gè)3*3魔方陣只有1種,4*4魔方陣有880種,5*5魔方陣有275305224種,6*6魔方陣約1.775399- 109種組合,而10*10則約有2.4149·10110種組合。這樣排列與組合的證明已經(jīng)有專家及學(xué)者證明出來了。

開放性問題:我們現(xiàn)在有下列開放性問題需要探討及研究。

1.大于一的法則,顯然只是對(duì)大多數(shù)的魔方陣適用,到底有多少個(gè)例外的魔方陣不適用于此法則,目前沒有論述。

2.如何快速產(chǎn)生一個(gè)奇數(shù)的魔方陣,已有文獻(xiàn)探討,而快速地產(chǎn)生偶數(shù)的魔方陣,現(xiàn)有文獻(xiàn)甚少提及。

3.魔方陣是否有更廣泛的應(yīng)用,應(yīng)用在哪里,仍是一個(gè)尚待研究的議題。

將魔方陣應(yīng)用于加密解密,為分組密碼提供一個(gè)新的研究思維。另一方面,現(xiàn)在密碼體制中,傳送者仍然免不了需要將明文密文對(duì)提供給接收者,以利接收者對(duì)傳送者身份的識(shí)別。本文的方法,傳送者無需傳送明文,大大地節(jié)省傳輸過程所消耗的資源,也避免攻擊者利用明文攻擊。傳送者只需傳送微量的信息(例如種子參數(shù))給接收者,接收者可自行產(chǎn)生解密矩陣,在傳輸過程并沒有密鑰,因此密鑰不會(huì)有泄漏的疑慮。

小知識(shí)之魔方陣

魔方陣,古代又稱“縱橫圖”,是指組成元素為自然數(shù)1、2…n2的平方的n×n的方陣,其中每個(gè)元素值都不相等,且每行、每列以及主、副對(duì)角線上各n個(gè)元素之和都相等。