?

一種改進的數據加密解密算法

2017-03-07 05:42王玉瓊
阜陽職業技術學院學報 2017年4期
關鍵詞:秘鑰二叉樹明文

王玉瓊

0 引言

信息是一種資源,也是一種財富。在現代社會中,信息處理和通信技術日益發展,保護信息的安全,特別是保護重要信息的安全,越來越受到國內外有關管理者和研究人員的重視。目前,國際互聯網有各種各樣的安全措施,例如防火墻(FireWall)、網絡加密、加密狗等。但是,這些都是系統或網站層次的安全設施。對于廣大用戶來說,更為直接、也更為有效的辦法,就是使用信息加密技術。如何保證用戶數據在網絡傳輸過程中不被截取,從而保證數據傳輸的私密性和安全性已變得非常必要,已有很多學者對此作出了研究。

1 現有加密技術及存在的缺陷

現有利用二叉樹性質對數據進行加密處理的方案,增加了網絡傳輸量及系統客戶端和服務端的開銷,占用了較多的系統資源。

基于樹結構的密鑰加密存儲方法(專利號:CN200810097915.3),屬可信計算技術領域。其采用了二叉樹分層加密技術,把對許多數據加密密鑰的保護轉變成了對一個主密鑰的保護,包括二叉樹初始化以及數據加密密鑰插入、刪除和讀取四個部分。二叉樹的根節點代表主密鑰,存放在可信密碼模塊中,其余節點代表的密鑰存放在外存中,其中,葉節點代表數據加密密鑰;非根節點存放時總是用上層父節點對其進行加密,因此,數據加密密鑰被使用時必須還原。該方法節省了可信密碼模塊的存儲空間,又能存儲大量密鑰,可廣泛應用于高安全等級的計算機信息系統中,但是,該方法使用范圍較小。

利用二叉樹遍歷方式進行加密、解密方法及裝置(專利號:CN201310329129.2),包括:獲取明文的數據序列以及數據序列中的N個元素,所述N為大于等于1的整數;根據所述數據序列中元素的個數N,獲取一棵具有N個節點的序列二叉樹作為密鑰;根據預設的明文遍歷方式,將所述數據序列中的N個元素分別裝載至所述序列二叉樹的N個節點中;采用與所述明文遍歷方式不同的遍歷方式作為密文遍歷方式;根據所述密文遍歷方式遍歷所述序列二叉樹,生成加密數據序列,以完成明文的加密。在本發明實例中,根據密文遍歷方式遍歷所述序列二叉樹,生成加密數據序列,以完成明文的加密,簡化了加密過程,增強了安全性,提高了數據的加密效率,但若明文內容信息量較大,則必須生成較為復雜的樹信息。

2 關鍵技術描述

本文提出的加密算法,旨在解決網絡傳輸加密過程中的資源占用情況,實現簡潔、基于當前傳輸協議的數據安全傳輸,不增加任何端口,不需要修改當前的防火墻規則。主要包括數據的加密單元、數據傳輸接收單元和解密單元。發送方用二叉樹編碼信息將密鑰加密,通過秘鑰對明文加密,接收方需同時獲取到發送方提供的二叉樹編碼信息及密鑰信息,才能對密文進行解密。數據加密、解密示意圖如圖1所示。

圖1 數據加密、解密示意圖

數據加密單元:發送方收到接收方返回的通信確認信息后,生成自己的二叉樹信息同時存儲密鑰信息,并對傳輸的數據進行加密。

傳輸接收單元:發送方將加密后的數據及密鑰、二叉樹遍歷等信息通過不同的方式分別發送給接收方。接收方需同時獲取到發送方提供的所有信息(密文、二叉樹遍歷序列、密鑰)才能對數據進行解密。

數據解密單元:接收方通過獲取到的二叉樹遍歷序列還原生成發送方生成的二叉樹,解密秘鑰信息,根據秘鑰對密文進行解密。

數據加密解密的流程圖如圖2所示。

圖2 加密算法流程圖

下面結合具體實例說明本加密算法的步驟:

假定甲為發送方,乙為接收方;甲方生成自己的二叉樹,并以二叉樹的節點信息存取秘鑰(本例以字符類型秘鑰為例)。用huffman編碼方法,對所有節點,若有左孩子,對其指向左孩子的分支編碼為0,若有右孩子,則對其指向右孩子分支編碼

圖3 發送方生成的二叉樹

(1)生成遍歷序列

中序遍歷序列(左-根-右):DHBIEAFJCG;前序遍歷序列(根-左-右):ABDHEICFJG。

(2)秘鑰存儲

為確保秘鑰的唯一性,我們暫定秘鑰的數據信息存儲在樹的葉子節點上。我們選定節點GIJH為存儲的秘鑰信息。

(3)秘鑰加密

根據二叉樹編碼遍歷二叉樹序列將秘鑰(GIJH)轉換為對應二叉樹編碼G:11,I:010,J:101,H:001。生成秘鑰 1(11010101001)。

(4)明文加密

秘鑰信息(GIJH)轉二進制(01100111,01101001,01101010,01101000)存儲,明文轉二進制逐次與存儲的秘鑰正向異或;

(明文轉二進制) ⊕01100111⊕01101001⊕01101010⊕01101000(結果轉成明文同類型格式)獲取密文。

甲方將生成的二叉樹序列、秘鑰 1、密文通過某種方式發送給接收方。乙方獲取到甲方發送的二叉樹序列、秘鑰1、密文進行解密。

(5)二叉樹還原

根據二叉樹的中序遍歷和后序遍歷序列或中序遍歷和前序遍歷序列可唯一確定一棵二叉樹這一重要特性和甲方發送的中序遍歷序列DHBIEAFJCG及前序遍歷序列ABDHEICFJG,還原生成甲方生成的二叉樹(如圖3)。為1,一直進行下去,直到編碼完成。假如發送方任意生成的二叉樹如圖3所示。

(6)秘鑰解密

根據還原的二叉樹及獲取的秘鑰 1(11010101001)信息,反編碼解密秘鑰信息(GIJH)。

(7)密文解密

根據邏輯運算(異或)性質:同一變量與另一變量和其異或值異或等于自身。即:a ⊕ b ⊕ a =b,我們將秘鑰(GIJH)轉二進制(01100111,01101001,01101010,01101000)存儲密文轉二進制逐次與存儲的秘鑰逆向異或;(密文轉二進制)⊕01101000⊕01101010⊕01101001⊕01100111(結果轉成密文同類型格式)獲取明文。

3 小結

綜上所述,本文中提出的二叉樹加密算法有以下優勢:

(1)本加密算法主要適用于對數據的加密。發送方生成任意二叉樹,并分別保存二叉樹的中序及先序序列和秘鑰信息,沒有將密文數據直接保存,接收方需同時獲取到該序列、秘鑰方可進行解密。其中運用邏輯異或運算的形式對數據進行加密解密操作。該方法能夠快捷、高效地實現數據的加密解密。

(2)本加密解密方法引入二叉樹與邏輯異或運算結合的形式,數據更不易被破解,安全性更高,是本專利的核心方法及關鍵點,應予以保護。

[1]彭楚鈞.關于電子商務安全解決方案的探討[J].湖南廣播電視大學學報,2009(3):54-56.

[2]張曉玲,黎蔚,劉欣亮,等.數據結構的實例教學——二叉樹在信息加密中的應用[J].電腦知識與技術(學術交流),2007(07):295-296.

[3]董恩春,江國和.二叉樹與 RSA相結合進行數據加密及其在數據傳輸中的應用[J].科學技術與工程,2007(6):1213-1214.

[4]陳偉,付宇浩,秦科.基于二叉樹的加密算法[J].實驗科學與技術,2006(12):81-83.

猜你喜歡
秘鑰二叉樹明文
CSP真題——二叉樹
二叉樹創建方法
ETC秘鑰國產化升級改造方案設計與實現
干細胞開啟未來大健康的“秘鑰” 專家與媒體面對面活動走進中源協和—山西省干細胞基因工程有限公司
奇怪的處罰
一種由層次遍歷和其它遍歷構造二叉樹的新算法
基于Unity 3D的產品秘鑰二維碼實現
奇怪的處罰
四部委明文反對垃圾焚燒低價競爭
基于二元多項式與中國剩余定理的多秘密分享方案
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合