Matlab信息加密解密系统
一、Matlab簡介
Matlab是matrix&laboratory兩個詞的組合,意為矩陣工廠(矩陣實驗室)。是由美國MathWorks公司出品的商業數學軟件,它將數值分析、矩陣計算、科學數據可視化以及非線性動態系統的建模和仿真等諸多強大功能集成在一個易于使用的視窗環境中,可以進行矩陣運算、圖形處理、實現算法、創建用戶界面、連接其他編程語言的程序等,有多樣化的各種工具箱可供應用。主要應用于工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域。Matlab與其他高級語言有良好的接口,如C、C++、Java等。
二、Matlab在信息加密技術方面的應用
隨著計算機網絡的發展,計算機應用更加廣泛與深入,同時也使得計算機的安全問題日益突出和復雜。網絡安全面臨諸多威脅,如計算機病毒、黑客入侵、機密文件泄露等等。然而如何確保數據的可靠性、真實性、保密性,這個問題越來越受到人們的關注。密碼技術作為保護信息安全的主要手段之一,使用密碼技術不僅可以保證信息的機密性,而且可以保證信息的完整性和確證性,防止信息被篡改、偽造和假冒。同時,密碼技術是其他安全技術的基礎,比如數字簽名和密鑰管理。隨著科學技術的進步,信息加密出現了數字水印、指紋識別、人面識別等技術。Matlab軟件強大的科學運算、圖形處理和仿真等功能在信息加密技術方面有著廣泛的應用。
1.Matlab在密碼技術的應用
保密通訊無論在軍事、政治、經濟還是日常生活中都起著非常重要的作用。信息加密和解密的作用,就是為了將信息傳遞給己方的接受者,同時又要防止他人(特別是敵人)知道信息的內容,必須將要傳遞的信息(明文)加密,變成密文后發送出去,這樣,即使敵方得到密文也看不懂,而己方的接受者收到密文后卻可以按照預先定好的方法加以解密。從密碼學的發展來看,密碼可分為古典密碼(即以字符為基本加密單元的密碼),以及現代密碼(即以信息塊為基本加密單元的密碼)。古典密碼學在計算機出現以前已得到廣泛應用,主要是指20世紀40年代之前的密碼編碼和密碼分析技術,加密解密過程基本是用機械和電子方法實現的,而不是通過軟件實現的,工作速度很慢,設備非常笨重。根據算法的不同,古典密碼主要有棋盤密碼、凱撒密碼、維吉尼亞密碼、普萊費爾密碼、HILL密碼等。
矩陣是一種方便的計算工具,它在密碼學中得到廣泛的應用。HILL2密碼是矩陣在密碼學的一個有趣應用,HILL2密碼是基于矩陣的運算和可逆矩陣,明文被分成大小相同的幾個組,密鑰是一個可逆方陣。我們可通過Matlab對HILL2密碼的加密和解密算法運算實例,了解Matlab軟件的使用。在編程過程中使用Matlab的矩陣運算函數:mod(求余)、reshape(將矩陣元素按列方向進行重組)等。
(1)明文加密:
一般的加密過程是這樣的:
明文——加密器——密文——普通信道——解密器 ——明文。
根據HILL2密碼算法的原理,我們設模 26 意義下,密鑰(加密)為矩陣A = ,密鑰(解密)為矩陣A = 時,基于Matlab的加密程序操作如圖所示:
在Matlab運行時,當輸入明文為:楊斯楠(YANGSINAN)時(明文最后N是因為字符串的長度不是偶數時的處理方法),得到的密文是:ACBUKAPCPP。
運行過程如圖所示:
(2)密文解密
解密就是加密的逆過程。基于Matlab的解密程序操作如圖所示:
在Matlab運行時,當輸入密文為:ACBUKAPCPP時,得到的明文是: YANGSINANN。
運行過程如圖所示:
2.Matlab在指紋識別系統的應用
在一個安保系統或涉密信息系統中,當需要對進入者進行身份信息鑒別時,比使用密碼更安全有效的是使用生物特征識別系統,如指紋識別系統等。指紋識別技術的優勢在于,不同人的指紋,即使同一個人不同手指的指紋,紋線走向及紋線的斷點和交叉點等各不相同,也就是說,每個指紋都是唯一的。另外,指紋不隨年齡的增長而發生變化,是終生不變的。依靠這種唯一性和穩定性,可以把一個人同他的指紋對應起來,通過對他的指紋和預先保存的指紋進行比較,就能驗證他的真實身份。
指紋自動識別系統AFIS(Automated Fingerprint Identification System)是一種通過計算機實現的身份識別手段。該系統主要包括幾個流程:指紋取像,圖像預處理,特征提取(數據庫管理),指紋識別。①指紋取像,即指將一個人的指紋采集下來輸入計算機,指紋圖像的獲取主要利用設備取像,方便實用。②圖像的預處理和特征提取,無論采取哪種方法提取指紋,總會給指紋圖像帶來各種噪聲,圖像預處理的目的就是去除圖像中的噪音,把它變成一幅清晰的點線圖,以便于提取正確的指紋特征。預處理過程,就是將原始指紋圖像經過離散化和歸一化等過程,得到待識別的指紋圖像數據。③指紋識別,即直接把預處理后的指紋圖像數據進行識別匹配,一般只需計算兩幅圖像數據的相關性,得到相關系數,設定某一閾值來決定是否匹配。
指紋圖像的預處理和指紋識別可以通過Matlab來進行處理和運算。實現指紋圖像的識別,常用的算法有:基于神經網絡指紋識別算法、濾波特征和不變矩指紋識別算法和指紋匹配算法。Matlab環境下實現的指紋自動識別系統,具有簡單靈活,易于改進等優點。
3.Matlab在涉密信息系統中應用
雖然Matlab有強大的矩陣運算及圖形顯示能力,但由于其是一種解釋性語言,執行效率比較低,不適用于通用的編程平臺。而其他的面向對象的程序語言,如JAVA、C++等,則被廣泛應用于開發各種應用軟件,但是,它們對于某些較復雜的數學運算的編程比較煩瑣,處理速度也較慢。因此,我們可以在這些語言的編程環境下,調用Matlab來處理一些比較復雜的數學運算(如加密算法),充分發揮Matlab強大的數學運算能力和仿真功能,實現混合編程,彌補單獨編程的缺點,提高其編程效率和加快處理速度。現在Matlab的Matlab Engine函數具有提供面向C、C++和JAVA等語言的接口函數,用戶可以通過在其編程環境中調用接口函數,實現對Matlab的控制。
涉密信息系統用來處理和傳輸國家秘密信息,如果安全保密防范不力,就會危及國家的安全和利益。因此,安全防護技術是涉密信息系統安全管理的主要問題。加密保護是保障信息安全的重要手段之一,通常的加密技術是用復雜的數學算法來改變原始信息,這種技術雖然安全性較高,但還是存在被破譯的可能性。而量子密碼是一種截然不同的加密方法,主要利用量子狀態作為信息加密和解密的密鑰。任何想測算和破譯密鑰的人都會因為改變量子狀態而得到無意義的信息。從理論上來說,用量子密碼加密的信息不可能被竊聽,安全程度極高。對于涉密信息系統,為確保信息的安全,應采用量子密碼來加密。在RR量子密鑰分配協議中,通信雙方執行樣條糾錯算法(Slice算法)將連續變量的密鑰轉換成離散的二進制密鑰,而這個Slice算法是用Matlab語言編寫的。因此,在涉密信息系統的編程環境中,采用混合編程,通過Matlab的接口函數,調用由Matlab編寫的Slice算法,實現量子密碼加密。
三、結束語
信息加密技術在我們的生活中起著越來越重要的作用,為信息安全提供了可靠的保障。Matlab集數值計算、矩陣運算、信號處理和圖形顯示于一體。由于其強大的科學計算、數字圖像處理能力以及豐富的庫函數和各種各樣的工具箱,在信息安全保密方面有著廣泛的應用前景。我雖然剛剛接觸Matlab,已深深地被它所吸引,我將要認真學習,掌握這個工具,并在今后的專業學習和實踐中予以運用。
總結
以上是生活随笔為你收集整理的Matlab信息加密解密系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 君子眼中皆好人
- 下一篇: 牡丹-曹州牡丹:曹州牡丹