混沌圖像加密開題報告
A. 混沌演算法是什麼
演算法要求是:因為每個人說的話一個對,一個錯。我們選擇1個人說的話,假設他說的其中一個是對的,然後對照其他人說的,反推下去,如果後面的結果都可以對上,那麼你假設的那個人其中對的就是對的,如果推下去中間有問題,那麼你假設的那個人對的那句話就是錯的,反選而已。
B. 畢業設計題目:指紋識別演算法及其在保險箱系統中的應用,開題報告該怎麼寫
手指上的指紋表徵了一個人的身份特徵。1788年Mayer首次提出沒有兩個人的指紋完全相同,1823年Purkinie首次把指紋紋形分成9類,1889年Henry提出了指紋細節特徵識別理論,奠定了現代指紋學的基礎。但採用人工比對的方法,效率低、速度慢。20世紀60年代,開始用計算機圖像處理和模式識別方法進行指紋分析,這就是自動指紋識別系統(簡稱AFIS)[1]。20世紀70年代末80年代初,刑事偵察用自動指紋識別系統(police�AFIS,P�AFIS)投入實際運用。20世紀90年代,AFIS進入民用,稱為民用自動指紋識別系統(civil�AFIS,C�AFIS)。本文試圖從指紋特徵分析著手,闡述指紋作為人體身份識別的原理方法、指紋識別的主要技術指標和測試方法,以及實際應用的現實性與可靠性[2-4]。
1 指紋識別的原理和方法
1.1 指紋的特徵與分類
指紋識別學是一門古老的學科,它是基於人體指紋特徵的相對穩定與唯一這一統計學結果發展起來的。實際應用中,根據需求的不同,可以將人體的指紋特徵分為:永久性特徵、非永久性特徵和生命特徵[5]。
永久性特徵包括細節特徵(中心點、三角點、端點、叉點、橋接點等)和輔助特徵(紋型、紋密度、紋曲率等元素),在人的一生中永不會改變,在手指前端的典型區域中最為明顯,分布也最均勻[1]。細節特徵是實現指紋精確比對的基礎,而紋形特徵、紋理特徵等則是指紋分類及檢索的重要依據。人類指紋的紋形特徵根據其形態的不同通常可以分為「弓型、箕型、斗型」三大類型,以及「孤形、帳形、正箕形、反箕形、環形、螺形、囊形、雙箕形和雜形」等9種形態[1]。紋理特徵則是由平均紋密度、紋密度分布、平均紋曲率、紋曲率分布等紋理參數構成。紋理特徵多用於計算機指紋識別演算法的多維分類及檢索。
非永久性特徵由孤立點、短線、褶皺、疤痕以及由此造成的斷點、叉點等元素構成的指紋特徵,這類指紋有可能產生、癒合、發展甚至消失[1]。
指紋的生命特徵與被測對象的生命存在與否密切相關。但它與人體生命現象的關系和規律仍有待進一步認識。目前它已經成為現代民用指紋識別應用中越來越受關注的熱點之一。
1.2 指紋識別的原理和方法
指紋識別技術主要涉及四個功能:讀取指紋圖像、提取特徵、保存數據和比對。通過指紋讀取設備讀取到人體指紋的圖像,然後要對原始圖像進行初步的處理,使之更清晰,再通過指紋辨識軟體建立指紋的特徵數據。軟體從指紋上找到被稱為「節點」(minutiae)的數據點,即指紋紋路的分叉、終止或打圈處的坐標位置,這些點同時具有七種以上的唯一性特徵。通常手指上平均具有70個節點,所以這種方法會產生大約490個數據。這些數據,通常稱為模板。通過計算機模糊比較的方法,把兩個指紋的模板進行比較,計算出它們的相似程度,最終得到兩個指紋的匹配結果[5-6]。採集設備(即取像設備)分成幾類:光學、半導體感測器和其他。
2 指紋識別技術的主要指標和測試方法
2.1 演算法的精確度
指紋識別系統性能指標在很大程度上取決於所採用演算法性能。為了便於採用量化的方法表示其性能,引入了下列兩個指標。
拒識率(false rejection rate,FRR):是指將相同的指紋誤認為是不同的,而加以拒絕的出錯概率。FRR=(拒識的指紋數目/考察的指紋總數目)×100%。
誤識率(false accept rate,FAR):是指將不同的指紋誤認為是相同的指紋,而加以接收的出錯概率。FAR=(錯判的指紋數目/考察的指紋總數目)×100%。
對於一個已有的系統而言,通過設定不同的系統閾值,就可以看出這兩個指標是互為相關的,FRR與FAR成反比關系。這很容易理解,「把關」越嚴,誤識的可能性就越低,但是拒識的可能性就越高。
2.2 誤識率和拒識率的測試方法
測試這兩個指標,通常採用循環測試方法[7]。即給定一組圖像,然後依次兩兩組合,提交進行比對,統計總的提交比對的次數以及發生錯誤的次數,並計算出出錯的比例,就是FRR和FAR。針對FAR=0.0001%的指標,應採用不少於1 415幅不同的指紋圖像作循環測試,總測試次數為1 000 405次,如果測試中發生一次錯誤比對成功,則FAR=1/1 000 405;針對FRR=0.1%,應採用不少於46幅屬於同一指紋的圖像組合配對進行測試,則總提交測試的次數為1 035次數,如果發生一次錯誤拒絕,則FRR=1/1 035。測試所採用的樣本數越多,結果越准確。作為測試樣本的指紋圖像應滿足可登記的條件。
2.3 系統參數
拒登率(error registration rate,ERR):指的是指紋設備出現不能登錄及處理的指紋的概率,ERR過高將會嚴重影響設備的使用范圍,通常要求小於1%。
登錄時間:指紋設備登錄一枚指紋所需的時間,通常單次登錄的時間要求不超過2 s。
比對時間:指紋設備對兩組指紋特徵模版進行比對所耗費的時間,通常要求不超過1 s。
工作溫度:指紋設備正常工作時所允許的溫度變化范圍,一般是0~40 ℃。
工作濕度:指紋設備正常工作時所允許的相對濕度變化范圍,一般是30%~95%。
3 指紋識別技術的應用
指紋識別技術已經成熟,其應用日益普遍,除了刑事偵察用之外,在民用方面已非常廣泛,如指紋門禁系統、指紋考勤系統、銀行指紋儲蓄系統、銀行指紋保管箱、指紋醫療保險系統、計劃生育指紋管理系統、幼兒接送指紋管理系統、指紋獻血管理系統、證券交易指紋系統、指紋槍械管理系統、智能建築指紋門禁管理系統、駕駛員指紋管理系統等。
指紋門禁系統和指紋考勤系統是開發和使用得最早的一種出入管理系統,包括對講指紋門禁、聯機指紋門禁、離線指紋門禁等等。在入口將個人的手指按在指紋採集器上,系統將已登錄在指紋庫中的指紋(稱為已經注冊)進行對比,如果兩者相符(即匹配),則顯示比對成功,門就自動打開。如不匹配,則顯示「不成功」或「沒有這個指紋」,門就不開。在指紋門禁系統中,可以是一對一的比對(one�to�one matching),也可以是一對幾個比對(one�to�few matching)。前者可以是一個公司、部門,後者可以是一個家庭的成員、銀行的營業廳、金庫、財務部門、倉庫等機要場所。在這些應用中,指紋識別系統將取代或者補充許多大量使用照片和ID系統。
把指紋識別技術同IC卡結合起來,是目前最有前景的一個應用之一。該技術把卡的主人的指紋(加密後)存儲在IC卡上,並在IC卡的讀卡機上加裝指紋識別系統,當讀卡機閱讀卡上的信息時,一並讀入持卡者的指紋,通過比對就可以確認持卡者是否是卡的真正主人,從而進行下一步的交易。指紋IC卡可取代現行的ATM卡、製造防偽證件等。ATM卡持卡人可不用密碼,避免老人和孩子記憶密碼的困難。
近年來,互聯網帶給人們方便與利益已,也存在著安全問題。指紋特徵數據可以通過電子郵件或其它傳輸方法在計算機網路上進行傳輸和驗證,通過指紋識別技術,限定只有指定的人才能訪問相關的信息,可以極大地提高網上信息的安全性。網上銀行、網上貿易、電子商務等一系列網路商業行為就有了安全性保障。
指紋社會保險系統的應用為養老金的准確發放起了非常有效的作用。避免了他人用圖章或身份證復印件代領,而發放人員無法確定該人是故世的問題,要憑本人的活體指紋,才可准確發放養老金。
4 指紋識別的可靠性
指紋識別技術是成熟的生物識別技術。因為每個人包括指紋在內的皮膚紋路在圖案、斷點和交叉點上各不相同,是唯一的,並且終生不變。通過他的指紋和預先保存的指紋進行比較,就可以驗證他的真實身份。自動指紋識別是利用計算機來進行指紋識別的一種方法。它得益於現代電子集成製造技術和快速而可靠的演算法理論研究。盡管指紋只是人體皮膚的一小部分,但用於識別的數據量相當大,對這些數據進行比對是需要進行大量運算的模糊匹配演算法。利用現代電子集成製造技術生產的小型指紋圖像讀取設備和速度更快的計算機,提供了在微機上進行指紋比對運算的可能。另外,匹配演算法可靠性也不斷提高。因此,指紋識別技術己經非常簡單實用。由於計算機處理指紋時,只是涉及了一些有限的信息,而且比對演算法並不是十分精確匹配,其結果也不能保證100%准確。
指紋識別系統的特定應用的重要衡量標志是識別率。主要包括拒識率和誤識率,兩者成反比關系。根據不同的用途來調整這兩個值。盡管指紋識別系統存在著可靠性問題,但其安全性也比相同可靠性級別的「用戶ID+密碼」方案的安全性要高得多。拒識率實際上也是系統易用性的重要指標。在應用系統的設計中,要權衡易用性和安全性。通常用比對兩個或更多的指紋來達到不損失易用性的同時,極大提高系統的安全性。
C. 非線性電路震盪周期的分岔與混沌實驗中的思考題
1.因為混沌效應是線性與非線性疊代形成的一種不穩定效應,非線性負阻的作用就是產生非線性電壓電流,與線性電壓
電流迭代才會產生混沌圖像。
2.採用移相器,是為了使兩個通道輸入信號可以疊加作圖,從而在相圖中觀察到倍周期分叉現象
用示波器可以觀測出圖像,用電流表可以看出不重復不可預測現象。
3.倍周期分叉:當某個參數在某個臨界值下時,系統的極限值分別取不同的確定值,比如說2個,然後隨著參數增加時,系統的極限值變成去加倍個數的不同確定值,比如4個,為上面的2倍
混沌:指發生在確定性系統中的貌似隨機的不規則運動,一個確定性理論描述的系統,其行為卻表現為不確定性即不可重復和不可預測。
奇異吸引子:奇異吸引子是反映混沌系統運動特徵的產物,也是一種混沌系統中無序穩態的運動形態。
D. 行像素混淆怎麼看
選擇行像素混淆模式,密鑰設置為keyword,點擊混淆。
1、本項目利用基於排序變換的混沌置亂演算法實現了一個圖像加密與解密系統,利用html加css加JavaScript構建了頁面友好的圖像加密系統(靜態頁面)。
2、加密方式包括:方塊混淆、行像素混淆、像素混淆、行模式和行加列模式等五種模式。
E. 混沌密碼學的分類和特徵
混沌流密碼研究
胡漢平1 董占球2
(華中科技大學圖像識別與人工智慧研究所/圖像信息處理與智能控制教育部重點實驗室
中國科學院研究生院,)
摘要:在數字化混沌系統和基於混沌同步的保密通信系統的研究中存在一些亟待解決的重要問題:數字化混沌的特性退化,混沌時間序列分析對混沌系統安全性的威脅等,已嚴重影響著混沌流密碼系統的實用化進程。為此,提出了通過變換的誤差補償方法克服數字混沌的特性退化問題;構建混沌編碼模型完成對混沌序列的編碼、采樣,由此得到滿足均勻、獨立分布的驅動序列;引入非線性變換,以抵抗對混沌流密碼系統安全性的威脅。
關鍵詞:混沌流密碼系統;特性退化;非線性變換;混沌時間序列分析
1. 引言
隨著以計算機技術和網路通信技術為代表的信息技術的不斷發展和迅速普及,通信保密問題日益突出。信息安全問題已經成為阻礙經濟持續穩定發展和威脅國家安全的一個重要問題。眾所周知,密碼是信息安全的核心,設計具有自主知識產權的新型高性能的密碼體制是目前最亟待解決的重要問題。
混沌是確定性系統中的一種貌似隨機的運動。混沌系統都具有如下基本特性:確定性、有界性、對初始條件的敏感性、拓撲傳遞性和混合性、寬頻性、快速衰減的自相關性、長期不可預測性和偽隨機性[1],正是因為混沌系統所具有的這些基本特性恰好能夠滿足保密通信及密碼學的基本要求:混沌動力學方程的確定性保證了通信雙方在收發過程或加解密過程中的可靠性;混沌軌道的發散特性及對初始條件的敏感性正好滿足Shannon提出的密碼系統設計的第一個基本原則――擴散原則;混沌吸引子的拓撲傳遞性與混合性,以及對系統參數的敏感性正好滿足Shannon提出的密碼系統設計的第二個基本原則――混淆原則;混沌輸出信號的寬頻功率譜和快速衰減的自相關特性是對抗頻譜分析和相關分析的有利保障,而混沌行為的長期不可預測性是混沌保密通信安全性的根本保障等。因此,自1989年R.Mathews, D.Wheeler, L.M.Pecora和Carroll等人首次把混沌理論使用到序列密碼及保密通信理論以來,數字化混沌密碼系統和基於混沌同步的保密通信系統的研究已引起了相關學者的高度關注[2]。雖然這些年的研究取得了許多可喜的進展,但仍存在一些重要的基本問題尚待解決。
1.1 數字混沌的特性退化問題
在數字化的混沌密碼系統的研究方向上,國內外學者已經提出了一些比較好的數字混沌密碼系統及其相應的密碼分析方法:文獻[3]提出基於帳篷映射的加解密演算法;文獻[4]1998年Fridrich通過定義一種改進的二維螺旋或方形混沌映射來構造一種新的密碼演算法;文獻[5,6]提出把混沌吸引域劃分為不同的子域,每一子域與明文一一對應,把混沌軌道進入明文所對應的混沌吸引域子域的迭代次數作為其密文;在文獻[7]中,作者把一個位元組的不同比特與不同的混沌吸引子聯系起來實現加/解密;文獻[8]較為詳細地討論了通過混沌構造S盒來設計分組密碼演算法的方法;文獻[9,10]給出了混沌偽隨機數產生的產生方法;英國的SafeChaos公司將混沌用於公鑰密碼體制,推出了CHAOS+Public Key (v4.23)系統[11];等等。但是,這些數字混沌系統一般都是在計算機或其它有限精度的器件上實現的,由此可以將混沌序列生成器歸結為有限自動機來描述,在這種條件下所生成的混沌序列會出現特性退化:短周期、強相關以及小線性復雜度等[12-15],即數字混沌系統與理想的實值混沌系統在動力學特性上存在相當大的差異。它所帶來的混沌密碼系統安全的不穩定性是困擾混沌密碼系統進入實用的重要原因[16]。盡管有人指出增加精度可以減小這一問題所造成的後果,但其代價顯然是非常大的。
1.2 對混沌流密碼系統的相空間重構分析
目前,對混沌保密通信系統的分析工作才剛剛起步,主要方法有:統計分析(如周期及概率分布分析和相關分析等)、頻譜分析(包括傅立葉變換和小波變換等)和混沌時間序列分析[17]。前兩者都是傳統的信號分析手段,在此就不再贅述,而混沌時間序列是近20年來發展的一門紮根於非線性動力學和數值計算的新興學科方向。
從時間序列出發研究混沌系統,始於Packard等人於1980年提出的相空間重構(Phase Space Reconstruction)理論。眾所周知,對於決定混沌系統長期演化的任一變數的時間演化,均包含了混沌系統所有變數長期演化的信息(亦稱為全息性),這是由混沌系統的非線性特點決定的,這也是混沌系統難以分解和分析的主要原因。因此,理論上可以通過決定混沌系統長期演化的任一單變數的時間序列來研究混沌系統的動力學行為,這就是混沌時間序列分析的基本思想。
混沌時間序列分析的目的是通過對混沌系統產生的時間序列進行相空間重構分析,利用數值計算估計出混沌系統的宏觀特徵量,從而為進一步的非線性預測[18](包括基於神經網路或模糊理論的預測模型)提供模型參數,這基本上也就是目前對混沌保密通信系統進行分析或評價的主要思路。描述混沌吸引子的宏觀特徵量主要有:Lyapunov指數(系統的特徵指數)、Kolmogorov熵(動力系統的混沌水平)和關聯維(系統復雜度的估計)等[17]。而這些混沌特徵量的估計和Poincare截面法都是以相空間重構以及F.Takens的嵌入定理為基礎的,由此可見相空間重構理論在混沌時間序列分析中的重大意義。
1.3 對混沌流密碼系統的符號動力學分析
我們在以往的實驗分析工作中都是針對混沌密碼系統的統計學特性進行研究的,如周期性、平衡性、線性相關性、線性復雜度、混淆和擴散特性等,即使涉及到非線性也是從混沌時間序列分析(如相圖分析或分數維估計等)的角度出發進行研究的。然而,符號動力學分析表明,混沌密碼系統的非線性動力學分析同樣非常主要,基於實用符號動力學的分析可能會很快暴露出混沌編碼模型的動力學特性。基於Gray碼序數和單峰映射的符號動力學之間的關系,文獻[20]提出了一種不依賴單峰映射的初始條件而直接從單峰映射產生的二值符號序列來進行參數估計的方法。分析結果表明,基於一般混沌編碼模型的密碼系統並不如人們想像的那麼安全,通過對其產生的一段符號序列進行分析,甚至能以較高的精度很快的估計出其根密鑰(系統參數或初始條件)。
上述結論雖然是針對以單峰映射為主的混沌編碼模型進行的分析,但是,混沌流密碼方案的安全性不應該取決於其中採用的混沌系統,而應該取決於方案本身,而且單峰映射的低計算復雜度對於實際應用仍是非常有吸引力的。因此,我們認為,如果希望利用混沌編碼模型來設計更為安全的密碼系統,必須在混沌編碼模型產生的符號序列作為偽隨機序列輸出(如用作密鑰流或擴頻碼)之前引入某種擾亂策略,這種擾亂策略實質上相當於密碼系統中的非線性變換。
該非線性變換不應影響混沌系統本身的特性,因為向混沌系統的內部注入擾動會將原自治混沌系統變為了非自治混沌系統,但當自治混沌系統變為非自治混沌系統之後,這些良好特性可能會隨之發生較大的變化,且不為設計者所控制。這樣有可能引入原本沒有的安全隱患,甚至會為分析者大開方便之門。
上述非線性變換還應該能被混沌編碼模型產生的符號序列所改變。否則,分析者很容易通過輸出的偽隨機序列恢復出原符號序列,並利用符號動力學分析方法估計出混沌編碼模型的系統參數和初始條件。因此,非線性變換的構造就成了設計高安全性數字混沌密碼系統的關鍵之一。
2. 混沌流密碼系統的總體方案
為克服上述問題,我們提出了如下的混沌流密碼系統的總體方案,如圖1所示:
在該方案中,首先利用一個混沌映射f產生混沌序列xi,再通過編碼C產生符號序列ai,將所得符號序列作為驅動序列ai通過一個動態變化的置換Bi以得到密鑰流ki,然後據此對置換進行動態變換T。最後,將密鑰流(即密鑰序列)與明文信息流異或即可產生相應的密文輸出(即輸出部分)。圖1中的初始化過程包括對混沌系統的初始條件、迭代次數,用於組合編碼的順序表以及非線性變換進行初始化,初始化過程實質上是對工作密鑰的輸入。
在圖1所示的混沌編碼模型中,我們對實數模式下的混沌系統的輸出進行了編碼、采樣。以Logistic為例,首先,以有限群論為基本原理對驅動序列進行非線性變換,然後,根據有限群上的隨機行走理論,使非線性變換被混沌編碼模型產生的驅動序列所改變。可以從理論上證明,我們對非線性變換採用的變換操作是對稱群的一個生成系,所以,這里所使用的非線性變換的狀態空間足夠大(一共有256!種)。
3. 克服數字混沌特性退化的方法
增加精度可以在某些方面減小有限精度所造成的影響,但效果與其實現的代價相比顯然是不適宜的。為此,周紅等人在文獻[22]中提出將m序列的輸出值作為擾動加到數字混沌映射系統中,用於擴展數字混沌序列的周期;王宏霞等人在文獻[23]中提出用LFSR的輸出值控制數字混沌序列輸出,從而改善混沌序列的性質;李匯州等人在文獻[24]中提出用雙解析度的方法解決離散混沌映射系統的滿映射問題。上述方法又帶來新的問題:使用m序列和LFSR方法,混沌序列的性質由外加的m序列的性質決定;使用雙解析度時,由於輸入的解析度高於輸出的解析度,其效果與實現的代價相比仍然沒有得到明顯的改善。
為此,我們提出了一種基於Lyapunov數的變參數補償方法。由於Lyapunov數是混沌映射在迭代點處斜率絕對值的幾何平均值,所以,可以將它與中值定理結合對數字混沌進行補償。以一維混沌映射為例,該補償方法的迭代式為:
(1)
式中, 為Lyapunov數,ki是可變參數。
參數ki的選擇需要滿足下面幾個條件:
(1)ki的選取應使混沌的迭代在有限精度下達到滿映射;
(2)ki的選取應使混沌序列的分布近似地等於實值混沌的分布;
(3)ki的選取應使混沌序列的周期盡可能的長。
根據上述幾個條件,我們已經選取了合適的80個參數,並且以Logistic為例對該變參數補償方法輸出的混沌序列進行了分析。在精度為32位的條件下,我們計算了混沌序列的周期,其結果如下:
除周期外,我們還對復雜度、相關性和序列分布進行了檢測。從結果可知,該變參數補償方法,使得在不降低混沌的復雜度基礎上,增長其周期,減弱相關性,使其逼近實值混沌系統。該方法不僅非常明顯地減小了有限精度所造成的影響,使數字混沌序列的密度分布逼近實值混沌序列的理論密度分布,改善數字混沌偽隨機序列的密碼學性質,而且極大地降低實現其方法的代價。
4. 非線性變換
為克服符號動力學分析對混沌密碼系統的威脅,我們根據有限群上的隨機行走理論提出了一種非線性變換方法,並對引入了非線性變換的混沌密碼系統進行了符號動力學分析,分析結果表明,引入了非線性變換的模型相對一般混沌編碼模型而言,在符號動力學分析下具有較高的安全性。以二區間劃分的模型為例,我們選用Logistic映射作為圖1中的混沌映射f,並根據符號動力學分析中的Gray碼序數[20,21]定義二進制碼序數,見2式。
(2)
二值符號序列S的二進制碼序數W(S)∈(0, 1)。注意,這里的Wr(xi)並不是單值的,因為同樣的狀態xi可能對應不同的置換Bi。
圖2 在2區間劃分下產生的二值符號序列的Wr(xi)分析
圖2中的Wr(xi)為參數r控制下從當前狀態xi出發產生的二值符號序列的二進制碼序數。圖2(a)是未進行非線性變換時的情形,可以看出,其它三種進行非線性變換時的情形都較圖2(a)中的分形結構更為復雜。由此可見,引入了非線性變換的混沌模型相對一般混沌編碼模型而言,在符號動力學分析下具有較高的安全性。
5. 混沌流密碼系統的理論分析和數值分析結果
5.1 理論分析結果
密鑰流的性質直接關繫到整個流密碼系統的安全性,是一個極為重要的指標。我們對密鑰流的均勻、獨立分布性質和密鑰流的周期性質給出了證明,其結果如下:
(1)密鑰留在0,1,…,255上均勻分布。
(2)密鑰流各元素之間相互獨立。
(3)密鑰流出現周期的概率趨向於零。
(4)有關密鑰流性質的證明過程並不涉及改變非線性變換的具體操作,也不涉及具體的驅動序列產生演算法,僅僅要求驅動序列服從獨立、均勻分布,並且驅動序列和非線性變換之間滿足一定的條件,這為該密碼系統,特別是系統驅動部分的設計和改進留下餘地。
總之,該密碼系統可擴展,可改進,性能良好且穩定。
5.2 數值分析結果
目前,基本密碼分析原理有:代替和線性逼近、分別征服攻擊、統計分析等,為了阻止基於這些基本原理的密碼分析,人們對密碼流生成器提出了下列設計准則:周期准則、線性復雜度准則、統計准則、混淆准則、擴散准則和函數非線性准則。
我們主要根據以上准則,對本密碼系統的密鑰流性質進行保密性分析,以證明其安全性。分析表明:混沌流密碼系統符合所有的安全性設計准則,產生的密鑰序列具有串分布均勻、隨機統計特性良好、相鄰密鑰相關性小、周期長、線性復雜度高、混淆擴散性好、相空間無結構出現等特點;該密碼系統的工作密鑰空間巨大,足以抵抗窮舉密鑰攻擊。並且,由於我們採用了非線性變換,所以該密碼系統可以抵抗符號動力學分析。
6. 應用情況簡介
該混沌流密碼系統既有效的降低了計算復雜度,又極大的提高了密碼的安全強度,從而為混沌密碼學及其實現技術的研究提供了一條新的途徑。該系統已於2002年10月30日獲得一項發明專利:「一種用於信息安全的加解密系統」(00131287.1),並於2005年4月獲得國家密碼管理局的批准,命名為「SSF46」演算法,現已納入國家商用密碼管理。該演算法保密性強,加解密速度快,適合於流媒體加密,可在銀行、證券、網路通信、電信、移動通信等需要保密的領域和行業得到推廣。該加密演算法被應用在基於手機令牌的身份認證系統中,並且我們正在與華為公司合作將加密演算法應用於3G的安全通信之中。
參考文獻
[1] Kocarev L, Jakimoski G, Stojanovski T, Parlitz U, From chaotic maps to encryption schemes, In Proc. IEEE Int. Sym. CAS. 1998, 4: 514-517
[2] Kocarev L, Chaos-based cryptography: A brief overview, IEEE Circuits and Systems, 2001, 1(3): 6-21
[3] Habutsu T, Nishio Y, Sasase I, Mori S, A secret key cryptosystem by iterating a chaotic map, in Proc. Advances in Cryptology-EUROCRYPT』91, Springer, Berlin, 1991, 127-140
[4] Fridrich J, Symmetric ciphers based on two-dimensional chaotic maps, Int. J. Bifurcation Chaos, vol.8, no.6, 1998, 1259-1284
[5] Baptista M S, Cryptography with chaos, Phys. Lett. A., 1998, 240: 50-54
[6] Wai-kit W, Lap-piu L, Kwok-wo W, A modified chaotic cryptographic method, Computer Physics Communications, 2001, 138:234-236
[7] Alvarez E, Fernandez A, Garcia P, Jimenez J, et al, New approach to chaotic encryption, Phys. Lett. A, 1999, 263: 373-375
[8] Jakimoski G, Kocarev L, Chaos and cryptography: Block encryption ciphers based on chaotic maps, IEEE Tran. CAS-I, 2001, 48: 163-169
[9] Stojanovski T, Kocarev L, Chaos-based random number generators—Part I: Analysis, IEEE Tran. CAS-I, 2001, 48(3):281-288
[10] Stojanovski T, Pihl J, Kocarev L, Chaos-based random number generators—Part II: Practical Realization, IEEE Tran. CAS-I, 2001, 48(3):382-385
[11] http://www.safechaos.com/chpk.htm
[12] 王育民,信息安全理論與技術的幾個進展情況,中國科學基金,2003,2,76-81
[13] Borcherds P.H., Mccauley G.P., The digital tent map and the trapezoidal map, Chaos, Solitons & Fractal, 1993, 3(4): 451-466
[14] Palmore L, et al, Computer arithmetic, chaos and fractals, Physica, 1990, D42:99-110
[15] Shujun L, Qi L, Wenmin L, Xuanqin M and Yuanlong C, Statistical properties of digital piecewise linear chaotic maps and their roles in cryptography and pseudo-random coding, Cryptography and Coding, 8th IMA International Conference Proceedings, LNCS, vol.2260, pp.205-221, Springer-Verlag, Berlin, 2001
[16] 王育民,混沌序列密碼實用化問題,西安電子科技大學學報,1997,24(4):560-562
[17] 呂金虎,陸君安,陳士華,混沌時間序列分析及其應用,武漢大學出版社,2002
[18] 馮登國 著,密碼分析學,北京:清華大學出版社,2000
[19] B.Schneier著,吳世忠等譯,應用密碼學-協議、演算法與C原程序,北京:機械工業出版社,2000
[20] Xiaogang Wu, Hanping Hu, Baoliang Zhang, Parameter estimation only from the symbolic sequences generated by chaos system, Chaos, Solitons & Fractals, 2004, 22(2):359-366
[21] Hanping Hu, Xiaogang Wu, Zuxi Wang, Synchronizing chaotic map from two-valued symbolic sequences, Chaos, Solitons & Fractals, 2005, 24(4):1059-1064
[22] Zhou H., Ling X.T., Realizing finite precision chaotic systems via perturbation of m-sequences, Acta Electron. Sin, 1997, vol.25, no.7, 95-97
[23] 王宏霞,虞厥邦,Logistic-map混沌擴頻序列的有限精度實現新方法,系統工程與電子技術,2002,vol.24, no.2
[24] Zhou L.H., Feng Z.J., A new idea of using one-dimensional PWL map in digital secure communications—al resolution approach, IEEE Tran. On Circuits and Systems—II: Analog and Digital Signal Proceedings, 2000, vol.47, no.10, Oct.
F. 鄭偉的教育科研
主講課程:為本科生主講課程為《數字圖像處理與分析》和《資訊理論》;為碩士研究生主講課程為《數字圖像處理》。研究方向:圖像處理與分析,圖像安全通信。近年來主持及主研的科研、教改課題:2006年以來,作為主持人共承擔項目6項,其中省部級一項,廳局級二項,主研(排名第2)河北省自然基金項目一項。其中,結題鑒定三項,有兩項鑒定成果達到國際先進水平。1、主持河北省科技廳科技支撐項目一項基於智能識別的骨科X線圖像自動判讀系統的研究與應用 2006-2009年(已鑒定)2、主持河北省教育廳項目一項基於混沌序列的圖像加密隱藏技術研究 2007-2009年(已鑒定)3、主持河北大學博士基金項目一項 於特徵識別的骨折圖像理解技術研究 2006-2008年(已鑒定)4、主研(排名第2)河北省自然科學基金項目一項基於混沌分形理論的低壓PLC信道建模研究 2009-2011年(在研)5、主持河北省教育廳項目一項基於局部區域信息的水平集的醫學圖像分割方法研究 2010-2012年(在研)6、主持2011年河北大學醫工交叉研究中心開放基金項目(BM201103):多模醫學圖像融合在甲狀腺腫瘤診斷中的研究 2011-2013年(在研)近年來發表的科研、教改論文:2006年以來,作為第1作者共發表論文19篇,其中EI 收錄11篇,ISTP收錄2篇,二類核心期刊3篇。鄭偉,孫淳曄,張曉丹,馬澤鵬. 基於改進測地線模型的醫學圖像分割. 計算機工程與應用. vol.47 ,No.22 2011. 180-182. (二類期刊)(第1作者)鄭偉, 程志剛,陳麗霞. 結合奇異值分解的小波包圖像隱藏. 計算機工程與應用. vol.46 ,No.19 2010. 170-172,192. (二類期刊)(第1作者)鄭偉, 陳彥江. 基於局部區域信息的水平集醫學圖像分割方法. 計算機工程與應用. vol.46 ,No.31. 2010. 209-211,245. (二類期刊)(第1作者)鄭偉, 程志剛,陳麗霞. 基於加密混沌矩陣組的圖像加密演算法. 通信技術. Vol.42, No.11, 2009. 176-177,181. (第1作者)鄭偉, 康朝紅. 基於梯度的低對比度X線圖像分割方法. 通信技術. Vol.42, No.1, 2009. 292-294.(第1作者)鄭偉, 崔躍利, 王芳. 基於小波變換的圖像壓縮編碼研究綜述. 通信技術. Vol.41, No.2, 2008. 83-85, 96. (三類核心期刊)(第1作者)
G. 求助用matlab實現圖像加密 基於lorenz混沌映射的
使用以下代碼: clear;clc; x=imread('lena.bmp','bmp'); [a b c]=size(x); N=a*b; m(1)=input('請輸入密鑰: '); disp('加密中...'); for i=1:N-1 m(i+1)=4*m(i)-4*m(i)^2; end
H. 基於混沌影射的文件加密器的設計
這個比較難 你先得了解密碼學 密碼演算法 應用
我建議你去一些相關論壇看看下載些資料 或者你可以發郵件給我要 我這里有一些IDEA RSA HASH MD5 等一些源程序 感興趣可以給我信息 我的郵箱[email protected]
比如這些代碼
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "En Decrypt - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x804 /d "NDEBUG"
# ADD RSC /l 0x804 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "En Decrypt - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD BASE RSC /l 0x804 /d "_DEBUG"
# ADD RSC /l 0x804 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ENDIF
# Begin Target
# Name "En Decrypt - Win32 Release"
# Name "En Decrypt - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\des.cpp
# End Source File
# Begin Source File
SOURCE=".\Encrypt-Decrypt 01.cpp"
# End Source File
# Begin Source File
SOURCE=.\key.cpp
# End Source File
# Begin Source File
SOURCE=.\stdafx.cpp
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=.\des.h
# End Source File
# Begin Source File
SOURCE=.\global.h
# End Source File
# Begin Source File
SOURCE=.\stdafx.h
# End Source File
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project
I. 求助混沌加密問題
你的逆過程無非就是再異或一次吧?其實原因有兩點,一個是你的一維混沌(我猜你用的是Logistic映射)映射的問題,計算機在計算時自動將後面的位數自動舍掉了,因為混沌對初始條件敏感所以會,導致你前後不同步的問題。建議使用一種好點的同步方法。另一個原因就是你這個一維映射在迭代時本事就有問題。說的實在是沒有樓上的那麼好。苦逼的搞科研的工科生拍馬屁真的就不會了,誰覺得有點幫助的就頂一下就可以了。其實還有好多。。有機會再探討吧!
J. 混沌演算法是什麼
混沌演算法是指混沌序列加密演算法 。該演算法首先用單向Hash函數把密鑰散列為混沌映射的迭代初值 ,混沌序列經過數次迭代後才開始取用 ;然後將迭代生成的混沌序列值映射為ASCII碼後與地圖數據逐位元組進行異或運算,考慮到實際計算中的有限精度效應 ,隨步長改變混沌映射參數,採用實際的地圖數據 。