專(zhuān)利名稱:數(shù)據(jù)傳輸加解密方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)傳輸領(lǐng)域,尤其涉及一種數(shù)據(jù)傳輸加解密方法、裝置及系統(tǒng)。
背景技術(shù):
在互聯(lián)網(wǎng)的復(fù)雜環(huán)境下,傳輸過(guò)程中的數(shù)據(jù)安全非常重要,如果不采取必要的加 密措施,采取明文傳輸?shù)姆绞剑诳秃苋菀拙徒厝【W(wǎng)絡(luò)上的數(shù)據(jù)包,并利用公開(kāi)的TCP/IP 協(xié)議對(duì)包進(jìn)行分解,而獲得我們的核心數(shù)據(jù)。為了解決上述問(wèn)題,傳統(tǒng)的做法是使用現(xiàn)有的加解密算法對(duì)明文直接加密,按照 既定的存儲(chǔ)和傳輸協(xié)議對(duì)密文進(jìn)行存儲(chǔ)和傳輸。上述方法雖然可以在一定程度上保證數(shù)據(jù)傳輸?shù)陌踩?,但是,由于其加密和傳?過(guò)程都是只分別針對(duì)明文本身數(shù)據(jù)進(jìn)行處理,加密強(qiáng)度不夠大,較容易被破譯獲取,安全系 數(shù)較低。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種數(shù)據(jù)傳輸加解密方法、裝置及系統(tǒng),以解決現(xiàn)有加密和 傳輸過(guò)程中加密強(qiáng)度不夠大,安全系數(shù)較低的問(wèn)題。該方案具體為一種數(shù)據(jù)傳輸加密方法,包括確定用于加密明文的密碼;根據(jù)所述密碼和預(yù)先建立的密文字符集,利用可逆邏輯運(yùn)算加密明文,得到密 文;確定密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所述可逆邏輯運(yùn)算對(duì)應(yīng)的加密版本號(hào)為加密 參數(shù);將所述加密參數(shù)進(jìn)行加密,并獲得密文和加密后加密參數(shù)的校驗(yàn)值;將所述密文、校驗(yàn)值和各個(gè)加密后加密參數(shù)按照預(yù)設(shè)格式組合成數(shù)據(jù)幀;將所述數(shù)據(jù)幀進(jìn)行傳輸。優(yōu)選的,所述明文根據(jù)密碼和預(yù)先建立的密文字符集利用可逆邏輯運(yùn)算按照以下 過(guò)程進(jìn)行加密根據(jù)密碼和明文長(zhǎng)度得到中間密碼;將明文字符與中間密碼按位進(jìn)行所述可逆邏輯運(yùn)算;分別根據(jù)每一位運(yùn)算結(jié)果的數(shù)值找到所述密文字符集中對(duì)應(yīng)的字符;將所述查找到的字符按照所述明文的順序組成密文。優(yōu)選的,所述參數(shù)按照以下過(guò)程進(jìn)行加密將密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與異或運(yùn)算對(duì)應(yīng)的加密版本號(hào)分別與預(yù)設(shè)常數(shù)進(jìn) 行異或運(yùn)算。優(yōu)選的,按照以下過(guò)程獲得密文和加密后加密參數(shù)的校驗(yàn)值
計(jì)算加密后的密碼、密碼長(zhǎng)度、密文長(zhǎng)度、加密版本號(hào)和密文的和,作為校驗(yàn)值。一種數(shù)據(jù)傳輸解密方法,包括利用校驗(yàn)值對(duì)接收的數(shù)據(jù)幀進(jìn)行校驗(yàn);當(dāng)校驗(yàn)結(jié)果為正確時(shí),根據(jù)預(yù)設(shè)格式分別讀取出加密后的密文、校驗(yàn)值和各個(gè)加 密后的加密參數(shù);解密加密參數(shù),得到密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所述可逆邏輯運(yùn)算對(duì)應(yīng)的加密 版本號(hào);根據(jù)所述密碼和預(yù)先建立的密文字符集,利用與所述加密版本號(hào)對(duì)應(yīng)的可逆邏輯 運(yùn)算解密密文,得到明文。優(yōu)選的,所述加密參數(shù)按照以下過(guò)程解密將密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與異或運(yùn)算對(duì)應(yīng)的加密版本號(hào)分別與預(yù)設(shè)常數(shù)進(jìn) 行異或運(yùn)算。優(yōu)選的,所述密文按照以下過(guò)程解密根據(jù)密碼和明文長(zhǎng)度得到中間參數(shù);在密文字符集中查找每一位密文對(duì)應(yīng)的位置序號(hào);將查找到的位置序號(hào)與中間參數(shù)進(jìn)行所述加密版本號(hào)對(duì)應(yīng)的可逆邏輯運(yùn)算的逆 運(yùn)算;將運(yùn)算結(jié)果放置到其對(duì)應(yīng)的位置,組成明文。一種數(shù)據(jù)傳輸加密裝置,包括密碼確定單元,用于確定用于加密明文的密碼;明文加密單元,用于根據(jù)所述密碼和預(yù)先建立的密文字符集,利用可逆邏輯運(yùn)算 加密明文,得到密文;加密參數(shù)確定單元,用于確定密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所述可逆邏輯運(yùn)算對(duì) 應(yīng)的加密版本號(hào)為加密參數(shù);參數(shù)加密單元,用于將所述加密參數(shù)進(jìn)行加密;校驗(yàn)值獲取單元,用于獲得密文和加密后加密參數(shù)的校驗(yàn)值;數(shù)據(jù)幀組成單元,用于將所述密文、校驗(yàn)值和各個(gè)加密后加密參數(shù)按照預(yù)設(shè)格式 組合成數(shù)據(jù)幀;傳輸單元,用于將所述數(shù)據(jù)幀進(jìn)行傳輸。一種數(shù)據(jù)傳輸解密裝置,包括檢驗(yàn)單元,用于利用校驗(yàn)值對(duì)接收的數(shù)據(jù)幀進(jìn)行校驗(yàn);讀取單元、用于當(dāng)校驗(yàn)結(jié)果為正確時(shí),根據(jù)預(yù)設(shè)格式分別讀取出加密后的密文、校 驗(yàn)值和各個(gè)加密后的加密參數(shù);參數(shù)解密單元,用于解密加密參數(shù),得到密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所述可逆 邏輯運(yùn)算對(duì)應(yīng)的加密版本號(hào);密文解密單元,用于根據(jù)所述密碼和預(yù)先建立的密文字符集,利用與所述加密版 本號(hào)對(duì)應(yīng)的可逆邏輯運(yùn)算解密密文,得到明文。一種數(shù)據(jù)傳輸加解密系統(tǒng),包括數(shù)據(jù)傳輸加密裝置和數(shù)據(jù)傳輸解密裝置,其中所述數(shù)據(jù)傳輸加密裝置用于,確定用于加密明文的密碼,根據(jù)所述密碼和預(yù)先建立的密文字符集,利用可逆邏輯運(yùn)算加密明文,得到密文,確定密碼、密碼長(zhǎng)度、密文長(zhǎng)度和 與所述可逆邏輯運(yùn)算對(duì)應(yīng)的加密版本號(hào)為加密參數(shù),將所述加密參數(shù)進(jìn)行加密,并獲得密 文和加密后加密參數(shù)的校驗(yàn)值,將所述密文、校驗(yàn)值和各個(gè)加密后加密參數(shù)按照預(yù)設(shè)格式 組合成數(shù)據(jù)幀,將所述數(shù)據(jù)幀進(jìn)行傳輸;所述數(shù)據(jù)傳輸解密裝置用于,利用校驗(yàn)值對(duì)接收的數(shù)據(jù)幀進(jìn)行校驗(yàn),當(dāng)校驗(yàn)結(jié)果 為正確時(shí),根據(jù)預(yù)設(shè)格式分別讀取出加密后的密文、校驗(yàn)值和各個(gè)加密后的加密參數(shù),解密 加密參數(shù),得到密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所述可逆邏輯運(yùn)算對(duì)應(yīng)的加密版本號(hào),根據(jù) 所述密碼和預(yù)先建立的密文字符集,利用與所述加密版本號(hào)對(duì)應(yīng)的可逆邏輯運(yùn)算解密密 文,得到明文。從上述的技術(shù)方案可以看出,本發(fā)明實(shí)施例公開(kāi)的據(jù)傳輸加密方法,采用將加密 過(guò)程中的加密參數(shù)同時(shí)進(jìn)行加密,并按照預(yù)設(shè)格式組成數(shù)據(jù)幀的方式進(jìn)行傳輸?shù)姆椒?,?高了加密強(qiáng)度,從而實(shí)現(xiàn)了提高數(shù)據(jù)安全性的目的。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例1公開(kāi)的數(shù)據(jù)傳輸加密方法流程圖;圖2為本發(fā)明實(shí)施例1公開(kāi)的密文字符集的示意圖;圖3為本發(fā)明實(shí)施例1公開(kāi)的數(shù)據(jù)幀格式示意圖;圖4為本發(fā)明實(shí)施例2公開(kāi)的數(shù)據(jù)傳輸加密方法流程圖;圖5為本發(fā)明實(shí)施例3公開(kāi)的數(shù)據(jù)傳輸加密方法流程圖;圖6為本發(fā)明實(shí)施例4公開(kāi)的數(shù)據(jù)傳輸解密方法流程圖;圖7為本發(fā)明實(shí)施例5公開(kāi)的數(shù)據(jù)傳輸解密方法流程圖;圖8為本發(fā)明實(shí)施例6公開(kāi)的數(shù)據(jù)傳輸解密方法流程圖;圖9為本發(fā)明公開(kāi)的數(shù)據(jù)傳輸加密裝置的結(jié)構(gòu)示意圖;圖10為本發(fā)明公開(kāi)的數(shù)據(jù)傳輸解密裝置的結(jié)構(gòu)示意圖;圖11為本發(fā)明公開(kāi)的數(shù)據(jù)傳輸加解密系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明公開(kāi)了一種數(shù)據(jù)傳輸加密方法,采用將加密過(guò)程中的加密參數(shù)同時(shí)進(jìn)行加 密,并按照預(yù)設(shè)格式組成數(shù)據(jù)幀的方式進(jìn)行傳輸?shù)姆椒?,?b>具體實(shí)施方式
如下所示實(shí)施例一本發(fā)明實(shí)施例1公開(kāi)的數(shù)據(jù)傳輸加解密方法如圖1所示,包括
步驟S11、確定用于加密明文的密碼;隨機(jī)選擇密碼,為了保證安全,密碼的長(zhǎng)度一般大于等于6小于等于255個(gè)字節(jié)。步驟S12、根據(jù)所述密碼和預(yù)先建立的密文字符集,利用可逆邏輯運(yùn)算加密明文, 得到密文;本發(fā)明中的預(yù)先建立的密文字符集是由0 255之間的數(shù)組成的一個(gè)長(zhǎng)度為256 個(gè)字節(jié)的數(shù)組,數(shù)組內(nèi)的每個(gè)值不重復(fù)且隨機(jī)排列,包含0 255之間的每一個(gè)數(shù)。它具有 256的階乘種組合,其示意圖如圖2所示。選擇一種可逆邏輯運(yùn)算,將密碼與明文按照該邏輯運(yùn)算進(jìn)行計(jì)算,根據(jù)結(jié)果在密 文字符集中查找對(duì)應(yīng)的密文。步驟S13、確定密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所述可逆邏輯運(yùn)算對(duì)應(yīng)的加密版本 號(hào)為加密參數(shù);;將密碼、密碼的長(zhǎng)度、密文長(zhǎng)度和與選取的可逆邏輯運(yùn)算對(duì)應(yīng)的加密版本號(hào)作為 加密參數(shù)。步驟S14、將所述加密參數(shù)進(jìn)行加密,并獲得密文和加密后加密參數(shù)的校驗(yàn)值;將加密參數(shù)進(jìn)行加密,并根據(jù)加密結(jié)果和密文獲得校驗(yàn)值。步驟S15、將所述密文、校驗(yàn)值和各個(gè)加密后加密參數(shù)按照預(yù)設(shè)格式組合成數(shù)據(jù) 幀;將密文、校驗(yàn)值和各個(gè)加密后的參數(shù),按照傳輸雙方預(yù)先設(shè)定好的格式組成數(shù)據(jù) 幀,如圖3所示,加密方按照上圖所示,給各個(gè)參數(shù)預(yù)先設(shè)定其位置及所占用的字節(jié)長(zhǎng)度, 解密方則根據(jù)這一規(guī)律拆分接收的數(shù)據(jù)幀,還原各個(gè)參數(shù)。步驟S16、將所述數(shù)據(jù)幀進(jìn)行傳輸。發(fā)明公開(kāi)了一種數(shù)據(jù)傳輸加密方法,采用將加密過(guò)程中的加密參數(shù)同時(shí)進(jìn)行加 密,并按照預(yù)設(shè)格式組成數(shù)據(jù)幀的方式進(jìn)行傳輸?shù)姆椒?,提高了加密?qiáng)度,從而實(shí)現(xiàn)了提高 數(shù)據(jù)安全性的目的。實(shí)施例二本發(fā)明實(shí)施例2公開(kāi)的數(shù)據(jù)傳輸加密方法的流程如圖4所示,包括步驟S41、確定用于加密明文的密碼;步驟S42、根據(jù)密碼和明文長(zhǎng)度得到中間密碼;該步驟是為了使加密過(guò)程中密碼的長(zhǎng)度大于明文的長(zhǎng)度,使得加密過(guò)程中明文字 節(jié)和密碼可以一一對(duì)應(yīng),中間密碼的獲得有多種形式,可以將密碼做c次自連接,而c=明 文的長(zhǎng)度/密碼的長(zhǎng)度+1。步驟S43、將明文字符與中間密碼按位進(jìn)行可逆邏輯運(yùn)算;該步驟中需要選擇可逆邏輯運(yùn)算的類(lèi)型,可以為異或也可以為與非,只要是具有 可逆運(yùn)算的邏輯運(yùn)算都是可以的。本實(shí)施例中以異或運(yùn)算為例。步驟S44、分別根據(jù)每一位運(yùn)算結(jié)果的數(shù)值找到所述密文字符集中對(duì)應(yīng)的字符;如果明文第一位與中間參數(shù)第一位的異或結(jié)果為5,則在預(yù)設(shè)的密文字符集中找 到位于第五的字符。步驟S45、將所述查找到的字符按照所述明文的順序組成密文;將每一位查找到的字符作為當(dāng)前加密的明文字符的密文字符,將所有的密文字符按照明文的順序進(jìn)行組合,得到密文。步驟S46、確定密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所述可逆邏輯運(yùn)算對(duì)應(yīng)的加密版本 號(hào)為加密參數(shù);步驟S47、將加密參數(shù)分別與預(yù)設(shè)常數(shù)進(jìn)行異或運(yùn)算;本步驟中將密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與異或運(yùn)算對(duì)應(yīng)的加密版本號(hào),分別按位 與預(yù)設(shè)的常數(shù)進(jìn)行異或運(yùn)算,將得到的結(jié)果作為加密后的加密參數(shù)值。當(dāng)然,也可以選用其 他類(lèi)型的可逆邏輯運(yùn)算。步驟S48、將加密后的密碼、密碼長(zhǎng)度、密文長(zhǎng)度、加密版本號(hào)和密文求和,作為校 驗(yàn)值;步驟S49、將所述密文、校驗(yàn)值和各個(gè)加密后加密參數(shù)按照預(yù)設(shè)格式組成數(shù)據(jù)幀;步驟S410、將所述數(shù)據(jù)幀進(jìn)行傳輸。本實(shí)施例中對(duì)加密參數(shù)的加密過(guò)程進(jìn)行了進(jìn)一步的限定,將密碼、密碼長(zhǎng)度、密文 長(zhǎng)度和加密版本號(hào)都作為加密過(guò)程中產(chǎn)生的加密參數(shù)進(jìn)行加密,并增加了和校驗(yàn)值,提高 了加密的安全性。同樣,也可以不采用獲得中間密碼的方式,直接將密碼對(duì)明文進(jìn)行加密,當(dāng)密碼的 位數(shù)不夠時(shí),再循環(huán)利用該密碼,直到加密完明文為止。使得加密過(guò)程更簡(jiǎn)單,速度更快。實(shí)施例三本實(shí)施例將以實(shí)際的數(shù)值為例,對(duì)數(shù)據(jù)傳輸加密方法進(jìn)行進(jìn)一步的描述,令常數(shù)N =2,密文字符集為{0,3,4,5,7,9,10,2,1},密碼為 m = {1,0,2},明文 data = {3,1,5,4, 6},當(dāng)前的加密版本號(hào)是v = 1,其流程如圖5所示,包括步驟S51、確定加密明文的密碼;當(dāng)前密碼為m = {1,0,2}。步驟S52、根據(jù)密碼和明文長(zhǎng)度得到中間密碼;根據(jù)公式求得C =明文的長(zhǎng)度/密碼的長(zhǎng)度+1 = 2,則將密碼做2次自連接的結(jié) 果為{1,0,2,1,0,2} 0步驟S53、將明文字符與中間密碼按位進(jìn)行可逆邏輯運(yùn)算;從明文data的第一個(gè)字符開(kāi)始依次與計(jì)算中間密碼C得像一位置上的字符做異 或運(yùn)算3X0R 1 = 2,1X0R 0 = 1,5X0R 2 = 7,4X0R 1 = 5,6X0R 0 = 6。步驟S54、分別根據(jù)每一位運(yùn)算結(jié)果的數(shù)值找到所述密文字符集中對(duì)應(yīng)的字符;3X0R 1 = 2,查找密文字符集中下標(biāo)為2字符是4 ;1X0R 0 = 1,查找密文字符集中下標(biāo)為1字符是3 ;5X0R 2 = 7,查找密文字符集中下標(biāo)為7字符是2 ;4X0R 1 = 5,查找密文字符集中下標(biāo)為5字符是9 ;6X0R 0 = 6,查找密文字符集中下標(biāo)為6字符是10 ;步驟S55、將所述查找到的字符按照所述明文的順序組成密文;則加密后的密文為{4,3,2,9,10}。步驟S56、確定密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所述可逆邏輯運(yùn)算對(duì)應(yīng)的加密版本 號(hào)為加密參數(shù);
步驟S57、將加密參數(shù)分別與預(yù)設(shè)常數(shù)進(jìn)行異或運(yùn)算;將當(dāng)前的密文長(zhǎng)度5與常量2做異或(X0R)運(yùn)算,得到加密后的密文長(zhǎng)度,5X0R 2 =7 ;將密碼{1,0,2}中的數(shù)值分別與2做異或運(yùn)算,1X0R2 = 3,0X0R 2 = 2,2X0R 2 = 0, 得到加密后的密碼M— = {3,2,0};將加密版本號(hào)與2異或,1X0R 2 = 3,則加密后的版本號(hào) 是3。將密碼長(zhǎng)度3與2異或,3X0R 2 = 1,則加密后的密碼長(zhǎng)度是1。步驟S58、將加密后的密碼、密碼長(zhǎng)度、密文長(zhǎng)度、加密版本號(hào)和密文求和,作為校 驗(yàn)值;得到的校驗(yàn)值結(jié)果為44。步驟S59、將所述密文、校驗(yàn)值和各個(gè)加密后加密參數(shù)按照預(yù)設(shè)格式組成數(shù)據(jù)幀。假設(shè)校驗(yàn)值的位置為數(shù)據(jù)幀中第1-4個(gè)字節(jié),加密后的加密版本號(hào)的位置為數(shù)據(jù) 幀中第5-8個(gè)字節(jié),加密后的密文長(zhǎng)度的位置為數(shù)據(jù)幀中第9-12個(gè)字節(jié),第13個(gè)字節(jié)存儲(chǔ) 加密后的密碼長(zhǎng)度,從第14個(gè)字節(jié)開(kāi)始存儲(chǔ)密文,密文的長(zhǎng)度為6,然后從第二十個(gè)字節(jié)開(kāi) 始存儲(chǔ)加密后的密碼。則加密后的幀格式為{0044,0003,0007,1,4,3,2,9,10,3,2,0}。步驟S510、將所述數(shù)據(jù)幀進(jìn)行傳輸。本發(fā)明同時(shí)公開(kāi)了一種數(shù)據(jù)傳輸解密方法,其具體實(shí)施方式
如下實(shí)施例四本實(shí)施例公開(kāi)了一種數(shù)據(jù)傳輸解密方法,其流程如圖6所示,包括步驟S61、利用校驗(yàn)值對(duì)接收的數(shù)據(jù)幀進(jìn)行校驗(yàn),判斷傳輸過(guò)程是否成功,若傳輸 過(guò)程成功,則繼續(xù)執(zhí)行,若傳輸過(guò)程不成功,則結(jié)束;步驟S62、根據(jù)預(yù)設(shè)格式分別讀取出加密后的密文、校驗(yàn)值和各個(gè)加密后的加密參 數(shù);步驟S63、解密加密參數(shù),得到密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所述可逆邏輯運(yùn)算對(duì) 應(yīng)的加密版本號(hào);步驟S64、根據(jù)所述密碼和預(yù)先建立的密文字符集,利用與所述加密版本號(hào)對(duì)應(yīng)的 可逆邏輯運(yùn)算解密密文,得到明文。本實(shí)施例公開(kāi)的解密方法與實(shí)施例1中的加密方法相對(duì)應(yīng),首先利用校驗(yàn)值對(duì)接 收的數(shù)據(jù)幀進(jìn)行校驗(yàn),對(duì)傳輸成功的數(shù)據(jù)幀按照與加密方法相對(duì)應(yīng)得步驟進(jìn)行解密得到明 文。實(shí)施例五本實(shí)施例公開(kāi)的數(shù)據(jù)傳輸解密方法的流程如圖7所示,包括步驟S71、利用和校驗(yàn)值對(duì)接收的數(shù)據(jù)幀進(jìn)行校驗(yàn),判斷傳輸過(guò)程是否成功,若傳 輸過(guò)程成功,則繼續(xù)執(zhí)行,若傳輸過(guò)程不成功,則結(jié)束;具體的判斷過(guò)程為,將接收的數(shù)據(jù)幀除和校驗(yàn)值外的其他數(shù)值進(jìn)行相加,如果結(jié) 果與和校驗(yàn)值相同,則傳輸成功,如果結(jié)果與和校驗(yàn)值不同,則傳輸失敗。步驟S72、根據(jù)預(yù)設(shè)格式分別讀取出加密后的密文、校驗(yàn)值和各個(gè)加密后的加密參 數(shù);步驟S73、加密后的加密參數(shù)分別與預(yù)設(shè)常數(shù)進(jìn)行異或運(yùn)算,得到密碼、密碼長(zhǎng)度、 密文長(zhǎng)度和與所述可逆邏輯運(yùn)算對(duì)應(yīng)的加密版本號(hào);由于邏輯運(yùn)算為可逆,所以將加密后的結(jié)果進(jìn)行再一次運(yùn)算的過(guò)程為解密過(guò)程。
步驟S74、根據(jù)密碼和明文長(zhǎng)度得到中間密碼;如果加密過(guò)程中沒(méi)有用到中間密碼,則此步驟可以省略。步驟S75、在密文字符集中查找每一位密文對(duì)應(yīng)的位置序號(hào);步驟S76、將查找到的位置序號(hào)與中間參數(shù)進(jìn)行所述加密版本號(hào)對(duì)應(yīng)的可逆邏輯 運(yùn)算;由于邏輯運(yùn)算為可逆,所以將加密后的結(jié)果進(jìn)行再一次運(yùn)算的過(guò)程為解密過(guò)程。步驟S77、將運(yùn)算結(jié)果放置到其對(duì)應(yīng)的位置,組成明文。實(shí)施例六本實(shí)施例以實(shí)施例3中的加密過(guò)程為基礎(chǔ),詳細(xì)介紹其對(duì)應(yīng)的解密過(guò)程,其流程 如圖8所示,包括步驟S81、利用和校驗(yàn)值對(duì)接收的數(shù)據(jù)幀進(jìn)行校驗(yàn),判斷傳輸過(guò)程是否成功,若傳 輸過(guò)程成功,則繼續(xù)執(zhí)行,若傳輸過(guò)程不成功,則結(jié)束;此時(shí)接收的數(shù)據(jù)幀為{0044,0003,0007,1,4,3,2,9,10,3,2,0},將其從第5位開(kāi)
始相加,將相加的結(jié)果與44作比較,如果相等,則說(shuō)明傳輸成功,如果不相等,則傳輸不成 功,本實(shí)施例中兩者相等,則繼續(xù)執(zhí)行。步驟S82、根據(jù)預(yù)設(shè)格式分別讀取出加密后的密文、校驗(yàn)值和各個(gè)加密后的加密參 數(shù);根據(jù)加密過(guò)程中采用的數(shù)據(jù)幀格式,校驗(yàn)值的位置為數(shù)據(jù)幀中第1-4個(gè)字節(jié),加 密后的加密版本號(hào)的位置為數(shù)據(jù)幀中第5-8個(gè)字節(jié),加密后的密文長(zhǎng)度的位置為數(shù)據(jù)幀中 第9-12個(gè)字節(jié),第13個(gè)字節(jié)存儲(chǔ)加密后的密碼長(zhǎng)度,從第14個(gè)字節(jié)開(kāi)始存儲(chǔ)密文,密文的 長(zhǎng)度為6,然后從第二十個(gè)字節(jié)開(kāi)始存儲(chǔ)加密后的密碼,分別讀取出各個(gè)數(shù)值。步驟S83、將讀取出的各個(gè)加密后的數(shù)值分別與預(yù)設(shè)常數(shù)進(jìn)行異或運(yùn)算由加密后的密碼長(zhǎng)度與常數(shù)2做異或運(yùn)算,1X0R 2 = 3,則密碼長(zhǎng)度為3,將加密 后的版本號(hào)的每個(gè)字節(jié)與常量2做異或運(yùn)算,0003X0R 2 = 0001,得到加密算法的版本號(hào)為 1 ;將加密后的密碼從第一個(gè)字節(jié)開(kāi)始,與常量2做異或運(yùn)算,3X0R 2 = 1,2X0R 2 = 0, 0X0R 2 = 2,得到密碼為{1,0,2};將接收到的加密后的密文長(zhǎng)度值的每個(gè)字節(jié)與常量2做 異或運(yùn)算,0007X0R 2 = 0005,得到密文長(zhǎng)度為5。步驟S84、根據(jù)密碼和明文長(zhǎng)度得到中間密碼;根據(jù)公式求得C =明文的長(zhǎng)度/密碼的長(zhǎng)度+1 = 2,則將密碼做2次自連接的結(jié) 果為{1,0,2,1,0,2}步驟S85、在密文字符集中查找每一位密文對(duì)應(yīng)的位置序號(hào);步驟S86、將查找到的位置序號(hào)與中間參數(shù)進(jìn)行所述加密版本號(hào)對(duì)應(yīng)的可逆邏輯 運(yùn)算的逆運(yùn)算;也就是將密文進(jìn)行解密。步驟S87、將運(yùn)算結(jié)果放置到其對(duì)應(yīng)的位置,組成明文。解密過(guò)程結(jié)束。本發(fā)明同時(shí)公開(kāi)了一種數(shù)據(jù)傳輸加密裝置,其結(jié)構(gòu)如圖9所示,包括密碼確定單元91,用于確定用于加密明文的密碼;明文加密單元92,用于根據(jù)所 述密碼和預(yù)先建立的密文字符集,利用可逆邏輯運(yùn)算加密明文,得到密文;加密參數(shù)確定單
10元93,用于確定密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所述可逆邏輯運(yùn)算對(duì)應(yīng)的加密版本號(hào)為加密 參數(shù);參數(shù)加密單元94,用于將所述加密參數(shù)進(jìn)行加密;校驗(yàn)值獲取單元95,用于獲得密文 和加密后加密參數(shù)的校驗(yàn)值;數(shù)據(jù)幀組成單元96,用于將所述密文、校驗(yàn)值和各個(gè)加密后 加密參數(shù)按照預(yù)設(shè)格式組合成數(shù)據(jù)幀;傳輸單元97,用于將所述數(shù)據(jù)幀進(jìn)行傳輸。本發(fā)明同時(shí)公開(kāi)了一種數(shù)據(jù)傳輸解密裝置,其結(jié)構(gòu)如圖10所示,包括檢驗(yàn)單元101,用于利用校驗(yàn)值對(duì)接收的數(shù)據(jù)幀進(jìn)行校驗(yàn);讀取單元102,用于當(dāng) 校驗(yàn)結(jié)果為正確時(shí),根據(jù)預(yù)設(shè)格式分別讀取出加密后的密文、校驗(yàn)值和各個(gè)加密后的加密 參數(shù);參數(shù)解密單元103,用于解密加密參數(shù),得到密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所述可逆 邏輯運(yùn)算對(duì)應(yīng)的加密版本號(hào);密文解密單元104,用于根據(jù)所述密碼和預(yù)先建立的密文字 符集,利用與所述加密版本號(hào)對(duì)應(yīng)的可逆邏輯運(yùn)算解密密文,得到明文。本發(fā)明還公開(kāi)了一種數(shù)據(jù)傳輸加解密系統(tǒng),其結(jié)構(gòu)如圖11所示,包括數(shù)據(jù)傳輸加密裝置111,用于確定用于加密明文的密碼,根據(jù)所述密碼和預(yù)先建立 的密文字符集,利用可逆邏輯運(yùn)算加密明文,得到密文,確定密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與 所述可逆邏輯運(yùn)算對(duì)應(yīng)的加密版本號(hào)為加密參數(shù),將所述加密參數(shù)進(jìn)行加密,并獲得密文 和加密后加密參數(shù)的校驗(yàn)值,將所述密文、校驗(yàn)值和各個(gè)加密后加密參數(shù)按照預(yù)設(shè)格式組 合成數(shù)據(jù)幀,將所述數(shù)據(jù)幀進(jìn)行傳輸;數(shù)據(jù)傳輸解密裝置112,用于利用校驗(yàn)值對(duì)接收的數(shù)據(jù)幀進(jìn)行校驗(yàn),當(dāng)校驗(yàn)結(jié)果為 正確時(shí),根據(jù)預(yù)設(shè)格式分別讀取出加密后的密文、校驗(yàn)值和各個(gè)加密后的加密參數(shù),解密加 密參數(shù),得到密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所述可逆邏輯運(yùn)算對(duì)應(yīng)的加密版本號(hào),根據(jù)所 述密碼和預(yù)先建立的密文字符集,利用與所述加密版本號(hào)對(duì)應(yīng)的可逆邏輯運(yùn)算解密密文, 得到明文。本說(shuō)明書(shū)中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他 實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。對(duì)于實(shí)施例公開(kāi)的裝置 而言,由于其與實(shí)施例公開(kāi)的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法部分說(shuō) 明即可。專(zhuān)業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單元 及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來(lái)實(shí)現(xiàn),為了清楚地說(shuō)明硬件和 軟件的可互換性,在上述說(shuō)明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些 功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專(zhuān)業(yè) 技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng) 認(rèn)為超出本發(fā)明的范圍。結(jié)合本文中所公開(kāi)的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí) 行的軟件模塊,或者二者的結(jié)合來(lái)實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存 儲(chǔ)器(ROM)、電可編程存儲(chǔ)器(EPR0M)、電可擦除可編程存儲(chǔ)器(EEPR0M)、寄存器、硬盤(pán)、可 移動(dòng)磁盤(pán)、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。對(duì)所公開(kāi)的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。 對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專(zhuān)業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的 一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明 將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開(kāi)的原理和新穎特點(diǎn)相一致的最寬的范圍。
權(quán)利要求
一種數(shù)據(jù)傳輸加密方法,其特征在于,包括確定用于加密明文的密碼;根據(jù)所述密碼和預(yù)先建立的密文字符集,利用可逆邏輯運(yùn)算加密明文,得到密文;確定密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所述可逆邏輯運(yùn)算對(duì)應(yīng)的加密版本號(hào)為加密參數(shù);將所述加密參數(shù)進(jìn)行加密,并獲得密文和加密后加密參數(shù)的校驗(yàn)值;將所述密文、校驗(yàn)值和各個(gè)加密后加密參數(shù)按照預(yù)設(shè)格式組合成數(shù)據(jù)幀;將所述數(shù)據(jù)幀進(jìn)行傳輸。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述明文根據(jù)密碼和預(yù)先建立的密文字 符集利用可逆邏輯運(yùn)算按照以下過(guò)程進(jìn)行加密根據(jù)密碼和明文長(zhǎng)度得到中間密碼;將明文字符與中間密碼按位進(jìn)行所述可逆邏輯運(yùn)算;分別根據(jù)每一位運(yùn)算結(jié)果的數(shù)值找到所述密文字符集中對(duì)應(yīng)的字符;將所述查找到的字符按照所述明文的順序組成密文。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述參數(shù)按照以下過(guò)程進(jìn)行加密 將密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與異或運(yùn)算對(duì)應(yīng)的加密版本號(hào)分別與預(yù)設(shè)常數(shù)進(jìn)行異或運(yùn)算。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,按照以下過(guò)程獲得密文和加密后加密參 數(shù)的校驗(yàn)值計(jì)算加密后的密碼、密碼長(zhǎng)度、密文長(zhǎng)度、加密版本號(hào)和密文的和,作為校驗(yàn)值。
5.一種數(shù)據(jù)傳輸解密方法,其特征在于,包括 利用校驗(yàn)值對(duì)接收的數(shù)據(jù)幀進(jìn)行校驗(yàn);當(dāng)校驗(yàn)結(jié)果為正確時(shí),根據(jù)預(yù)設(shè)格式分別讀取出加密后的密文、校驗(yàn)值和各個(gè)加密后 的加密參數(shù);解密加密參數(shù),得到密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所述可逆邏輯運(yùn)算對(duì)應(yīng)的加密版本號(hào);根據(jù)所述密碼和預(yù)先建立的密文字符集,利用與所述加密版本號(hào)對(duì)應(yīng)的可逆邏輯運(yùn)算 解密密文,得到明文。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述加密參數(shù)按照以下過(guò)程解密 將密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與異或運(yùn)算對(duì)應(yīng)的加密版本號(hào)分別與預(yù)設(shè)常數(shù)進(jìn)行異或運(yùn)算。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述密文按照以下過(guò)程解密 根據(jù)密碼和明文長(zhǎng)度得到中間參數(shù);在密文字符集中查找每一位密文對(duì)應(yīng)的位置序號(hào);將查找到的位置序號(hào)與中間參數(shù)進(jìn)行所述加密版本號(hào)對(duì)應(yīng)的可逆邏輯運(yùn)算的逆運(yùn)算;將運(yùn)算結(jié)果放置到其對(duì)應(yīng)的位置,組成明文。
8.一種數(shù)據(jù)傳輸加密裝置,其特征在于,包括 密碼確定單元,用于確定用于加密明文的密碼;明文加密單元,用于根據(jù)所述密碼和預(yù)先建立的密文字符集,利用可逆邏輯運(yùn)算加密 明文,得到密文;加密參數(shù)確定單元,用于確定密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所述可逆邏輯運(yùn)算對(duì)應(yīng)的 加密版本號(hào)為加密參數(shù);參數(shù)加密單元,用于將所述加密參數(shù)進(jìn)行加密; 校驗(yàn)值獲取單元,用于獲得密文和加密后加密參數(shù)的校驗(yàn)值; 數(shù)據(jù)幀組成單元,用于將所述密文、校驗(yàn)值和各個(gè)加密后加密參數(shù)按照預(yù)設(shè)格式組合 成數(shù)據(jù)幀;傳輸單元,用于將所述數(shù)據(jù)幀進(jìn)行傳輸。
9.一種數(shù)據(jù)傳輸解密裝置,其特征在于,包括檢驗(yàn)單元,用于利用校驗(yàn)值對(duì)接收的數(shù)據(jù)幀進(jìn)行校驗(yàn);讀取單元、用于當(dāng)校驗(yàn)結(jié)果為正確時(shí),根據(jù)預(yù)設(shè)格式分別讀取出加密后的密文、校驗(yàn)值 和各個(gè)加密后的加密參數(shù);參數(shù)解密單元,用于解密加密參數(shù),得到密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所述可逆邏輯 運(yùn)算對(duì)應(yīng)的加密版本號(hào);密文解密單元,用于根據(jù)所述密碼和預(yù)先建立的密文字符集,利用與所述加密版本號(hào) 對(duì)應(yīng)的可逆邏輯運(yùn)算解密密文,得到明文。
10.一種數(shù)據(jù)傳輸加解密系統(tǒng),其特征在于,包括數(shù)據(jù)傳輸加密裝置和數(shù)據(jù)傳輸解密 裝置,其中所述數(shù)據(jù)傳輸加密裝置用于,確定用于加密明文的密碼,根據(jù)所述密碼和預(yù)先建立的 密文字符集,利用可逆邏輯運(yùn)算加密明文,得到密文,確定密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所 述可逆邏輯運(yùn)算對(duì)應(yīng)的加密版本號(hào)為加密參數(shù),將所述加密參數(shù)進(jìn)行加密,并獲得密文和 加密后加密參數(shù)的校驗(yàn)值,將所述密文、校驗(yàn)值和各個(gè)加密后加密參數(shù)按照預(yù)設(shè)格式組合 成數(shù)據(jù)幀,將所述數(shù)據(jù)幀進(jìn)行傳輸;所述數(shù)據(jù)傳輸解密裝置用于,利用校驗(yàn)值對(duì)接收的數(shù)據(jù)幀進(jìn)行校驗(yàn),當(dāng)校驗(yàn)結(jié)果為正 確時(shí),根據(jù)預(yù)設(shè)格式分別讀取出加密后的密文、校驗(yàn)值和各個(gè)加密后的加密參數(shù),解密加密 參數(shù),得到密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所述可逆邏輯運(yùn)算對(duì)應(yīng)的加密版本號(hào),根據(jù)所述 密碼和預(yù)先建立的密文字符集,利用與所述加密版本號(hào)對(duì)應(yīng)的可逆邏輯運(yùn)算解密密文,得 到明文。
全文摘要
本發(fā)明公開(kāi)了一種數(shù)據(jù)傳輸加解密方法、裝置及系統(tǒng),其加密過(guò)程包括確定用于加密明文的密碼;根據(jù)所述密碼和預(yù)先建立的密文字符集,利用可逆邏輯運(yùn)算加密明文,得到密文;確定密碼、密碼長(zhǎng)度、密文長(zhǎng)度和與所述可逆邏輯運(yùn)算對(duì)應(yīng)的加密版本號(hào)為加密參數(shù);將所述加密參數(shù)進(jìn)行加密,并獲得密文和加密后加密參數(shù)的校驗(yàn)值;將所述密文、校驗(yàn)值和各個(gè)加密后加密參數(shù)按照預(yù)設(shè)格式組合成數(shù)據(jù)幀;將所述數(shù)據(jù)幀進(jìn)行傳輸。本發(fā)明實(shí)施例公開(kāi)的數(shù)據(jù)傳輸加密方法,采用將加密過(guò)程中的加密參數(shù)同時(shí)進(jìn)行加密,并按照預(yù)設(shè)格式組成數(shù)據(jù)幀的方式進(jìn)行傳輸?shù)姆椒ǎ岣吡思用軓?qiáng)度,從而實(shí)現(xiàn)了提高數(shù)據(jù)安全性的目的。
文檔編號(hào)H04L9/28GK101826961SQ20101018403
公開(kāi)日2010年9月8日 申請(qǐng)日期2010年5月25日 優(yōu)先權(quán)日2010年5月25日
發(fā)明者吳超, 周立雄, 徐良剛, 徐良衡, 楊平壽, 林振銀, 王宗國(guó), 陳德秋 申請(qǐng)人:上海復(fù)旦天臣新技術(shù)有限公司