三維魔方加密算法如何給文本文件加密

三維魔方加密算法因其運算速度快、密鑰空間大被廣泛應(yīng)用。那么我們今天就來看看三維魔方加密算法是如何給文本文件加密的?

一、三維魔方加密算法原理

三維模仿加密算法的思路來源于魔方,是基于一個立方體來作加密和解密的換算。網(wǎng)絡(luò)中的信息較多的是以文本形式存在的,因此我們就介紹一下三維魔方加密算法是如何對文本文件加密和解密的。

二、三維魔方加密算法給文本文件加密的步驟

(1)設(shè)定x、y、z為三維空間的三條坐標軸,選擇需要被加密的文本文件,根據(jù)被加密文本文件的大小,決定x、y、z的最小階數(shù)(階數(shù)是魔方的邊長)m,這樣就形成了一個三維的立方體。

(2)加密過程:將文本文件中的內(nèi)容依次排列到魔方中,每個字符都有固定的位置(Xi,Yi,Zi)(0≤i≤m)。如果用戶設(shè)定的階數(shù)大于文本的最小階數(shù)m,那么魔方中剩下的空間里存放的是空格。輸入密鑰,密鑰的格式為:ababab……其中a代表x、y、z中的任意一個,b代表數(shù)字,1表示第1階,2表示第2階,3表示第3階,以此類推。兩者合起來表示,將魔方以a代表的軸的第b階順時針旋轉(zhuǎn)90°。

N維魔方加密算法

(3)經(jīng)過密鑰對應(yīng)的所有旋轉(zhuǎn)完成,A、B、C三個字符順序?qū)⒈淮騺y,分別在不同的面上,得到加密是密文,顯示為亂碼。在魔方加密算法中,密鑰的長度是隨機的,可以ababab,也可以ababababab,以此類推,密鑰長度越長,旋轉(zhuǎn)的次數(shù)越多,文本排列的越亂。另外,如果用戶將階數(shù)擴大,即魔方的長度變長,那么擴大的階數(shù)排列著空格,這些空格在旋轉(zhuǎn)過程中也被排列到文本中,這樣得到的密文包含著空格,文本排列的順序也越亂。

(4)解密過程:如前所述,魔方加密算法是一個對稱算法,因此它的加密和解密使用的是同一個密鑰。解密過程就是加密算法的逆運算。在密鑰的生成部分,我們引用了三十三進制,即0~9,a~w共33個字符。這樣就擴大了密鑰的空間,增加了密鑰的數(shù)量。

例如輸出密鑰的形式為oy2wxwzqyqxuy0zw。其中o代表偏移量,o后面的字符才是真正的密鑰,斷句為:ywxwzqyqxuy0zw,其實際意思為:y(w-o)x(w-o)z(q-o)y(q-o)x(u-o)y(0-o)z(w-o)=y8x8z2y2x6y(-24)z8。如果出現(xiàn)負數(shù),如y(-24),就將其加33,這樣就等于y9。所以魔方算法自動生成的密鑰為:y8x8z2y2x6y9z8。這樣改變了密鑰的輸出形式,就擴大了密鑰的輸入限制,如果用窮舉搜索法搜索密鑰的話,就需要花更長的時間。其過程如圖所示。

N維魔方加密算法

本文主要介紹了三維魔方加密算法如何給文本文件加密,但實際上,用戶需要加密的不僅僅是文本,也可能是圖片、數(shù)據(jù)庫、音頻文件、視頻文件等,因此,可以將三維魔方加密算法的應(yīng)用擴展到這些文件上。

小知識之加密算法:

數(shù)據(jù)加密的基本過程就是對原來為明文的文件或數(shù)據(jù)按某種算法進行處理,使其成為不可讀的一段代碼,通常稱為“密文”,使其只能在輸入相應(yīng)的密鑰之后才能顯示出本來內(nèi)容,通過這樣的途徑來達到保護數(shù)據(jù)不被非法人竊取、閱讀的目的。 該過程的逆過程為解密,即將該編碼信息轉(zhuǎn)化為其原來數(shù)據(jù)的過程。