應用密碼學協議演算法與c源程序
❶ 混沌密碼學的分類和特徵
混沌流密碼研究
胡漢平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.
❷ 請高手推薦幾本密碼學的入門書籍
歐密會、美密會1981-1997年全部論文
http://maths.utime.cn:81/Crypt1981-1997/
歐密會、美密會、亞密會、PKC、FSE五大會議1998-2003年全部論文
http://maths.utime.cn:81/Crypt1998-2003/contents.htm
現代密碼學理論與實踐,[英]Wenbo Mao著 王繼林 伍前紅等譯,電子工業出版社,2004
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2831&page=1
Modern Cryptography - Theory And Practice,現代密碼學 理論與實踐,英文版,毛文波
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2847&page=1
密碼學基礎,[以]戈德里克(Goldreich,O.)編著 溫巧燕 楊義先譯,2003,人民郵電出版社
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2845&page=1
密碼學基礎(英文版),[以色列]戈德賴克(Goldreich,O.)著,電子工業出版社,2003
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2844&page=1
密碼學原理與實踐(第二版),[加]斯廷森(Stinson,D_R_)著 馮登國譯,電子工業出版社,2003
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2839&page=1
密碼學與網路安全:原理與實踐(第2版)[英文版],[美]斯托林斯著,清華大學出版社,2002
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2841&page=1
《應用密碼學:協議、演算法與C源程序》中文翻譯電子版,WhitField Diffie著
http://maths.utime.cn:81/bbs/dispbbs.asp?b...6&ID=517&page=1
《密碼學導引》電子版,馮登國、裴定一編著
http://maths.utime.cn:81/bbs/dispbbs.asp?b...6&ID=429&page=1
代數和編碼 修訂版 ;萬哲先 又名《代數與編碼》
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2704&page=1
密碼學引論,張煥國 劉玉珍編著,武漢大學出版社,2003
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2842&page=1
密碼學概論(中文版),[美]Wade Trappe Lawre,人民郵電出版社,2004
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2846&page=1
密碼學與網路安全技術基礎,湯惟主編,機械工業出版社,2004
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2840&page=1
ICSA密碼學指南,[美]尼科爾斯(Nichols,R_K_)主編 吳世忠 郭濤
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2838&page=1
計算機密碼學——計算機網路中的數據保密與安全 (第3版),盧開澄編著,清華大學出版社,2003
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2837&page=1
計算機密碼學及其應用,賴溪松 肖國鎮,國防工業出版社,2000
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2836&page=1
密碼學,宋震等編著,中國水利水電出版社,2002
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2835&page=1
頻譜理論及其在密碼學中的應用,馮登國著,科學出版社,2000
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2834&page=1
現代密碼學,沈魯生 沈世鎰編著,科學出版社,2002
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2833&page=1
現代密碼學,楊波編著,清華大學出版社,2003
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2832&page=1
現代密碼學中的布爾函數,溫巧燕 鈕心忻 楊義先,科學出版社,2000
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2830&page=1
隱顯密碼學,[美]沃納(Wayner,P_)著 楊力平等譯,電子工業出版社,2003
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2829&page=1
應用密碼學,孫淑玲編著,清華大學出版社,2004
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2828&page=1
應用密碼學,王衍波 薛通編著,機械工業出版社,2003
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2827&page=1
應用密碼學教程,胡向東魏琴芳編著,電子工業出版社,2005
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2826&page=1
戰爭中的數學 軍事密碼學,李長生 鄒祁編著
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2717&page=1
密碼分析學(馮登國)
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2716&page=1
《組合密碼學》,沈世鎰
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2461&page=1
《對稱密碼學》,胡予濮等編著,機械工業出版社,2002
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2065&page=1
密碼學進展——CHINACRYPT』92第二屆中國密碼學學術會議論文集
http://maths.utime.cn:81/bbs/dispbbs.asp?b...6&ID=412&page=1
密碼學進展——CHINACRYPT』94第三屆中國密碼學學術會議論文集
http://maths.utime.cn:81/bbs/dispbbs.asp?b...6&ID=419&page=1
密碼學進展——CHINACRYPT』96第四屆中國密碼學學術會議論文集
http://maths.utime.cn:81/bbs/dispbbs.asp?b...6&ID=420&page=1
密碼學進展——CHINACRYPT』98第五屆中國密碼學學術會議論文集
http://maths.utime.cn:81/bbs/dispbbs.asp?b...6&ID=421&page=1
密碼學進展——CHINACRYPT'2000,第六屆中國密碼學學術會議論文集
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2334&page=1
密碼學進展——CHINACRYPT'2002,第七屆中國密碼學學術會議論文集
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2333&page=1
密碼學進展——CHINACRYPT'2004,第八屆中國密碼學學術會議論文集
http://maths.utime.cn:81/bbs/dispbbs.asp?b...&ID=2843&page=1
http://www.smatrix.org/
❸ 計算機專業都學些什麼
計算機專業大概可以分三個方向:
計算機科學與技術、網路工程、還有軟體工程。好多課程這三個專業都要學習。
1、計算機科學與技術高級語言程序設計(C、C++等)、匯編語言程序設計、離散數學、數據結構與演算法、計算機組成原理、編譯原理、操作系統、面向對象程序設計、計算機網路組成原理等。
2、網路工程高級語言程序設計、匯編語言程序設計、離散數學、面向對象的系統分析與程序設計、數據結構與演算法分析、微機系統與介面技術、操作系統、資料庫原理、計算機組成與原理、計算機網路、JAVA技術、編譯原理、互聯網技術、信息系統安全等。
3、軟體工程計算機組成原理、計算機網路、高級語言程序設計、匯編語言程序設計、數據結構、離散數學、軟體開發原理等。
❹ 求助 關於計算機科學與技術專業 經典書籍
1、Java
Java編程語言(第三版)---Java四大名著----James Gosling(Java之父)
Java編程思想(第2版)----Java四大名著----Bruce Eckel
Java編程思想(第3版)----Java四大名著----------------Bruce Eckel
JAVA 2核心技術 卷I:基礎知識(原書第7版)---Java四大名著-----Cay Horstmann
JAVA 2核心技術 卷II:高級特性(原書第7版)----Java四大名著-----Cay Horstmann
Effective Java中文版------Java四大名著--------Joshua Bloch
精通Struts:基於MVC的Java Web設計與開發---孫衛琴
精通Hibernate:Java對象持久化技術詳解---孫衛琴
Tomcat與Java Web開發技術詳解------------孫衛琴
Java與模式------------------------------閻宏
2、c#
C#程序設計-------Charles Petzold「windows編程泰山北斗」---C#語言「倚天屠龍雙劍」
C# Primer中文版--------Stanley B.Lippman---C#語言「倚天屠龍雙劍」
.NET框架程序設計(修訂版)--------Jeffrey Richter「windows編程泰山北斗」---.NET平台四大天王
c#Windows程序設計----------Charles Petzold「windows編程泰山北斗」------.NET平台四大天王
.NET程序設計技術內幕-------------Jeff Prosise---.NET平台四大天王
.NET本質論--第1卷:公共語言運行庫(中文版)--------Chris Sells---.NET平台四大天王
3、C++
C++程序設計語言(特別版)---c++八大金剛----Bjarne Stroustrup「C++之父」
C++ Primer (第3版)中文版----c++八大金剛---Stanley B.Lippman
C++ Primer (第4版)中文版----c++八大金剛---Stanley B.Lippman
C++標准程序庫—自修教程與參考手冊--c++八大金剛--Nicolai M.Josuttis
C++語言的設計和演化-----c++八大金剛----Bjarne Stroustrup「C++之父」
深度探索C++對象模型---c++八大金剛----Stanley B.Lippman
Essential C++中文版---c++八大金剛---Stanley B.Lippman
Effective C++中文版 2nd Edition-----c++八大金剛------Scott Meyers
More Effective C++中文版----c++八大金剛------Scott Meyers
C++編程思想(第2版) 第1卷:標准C++導引--------Bruce Eckel
C++編程思想(第2版)第2卷:實用編程技術 --------Bruce Eckel
C++程序設計--------------------------譚浩強
C++ 程序設計教程(第2版)--------------錢能
C++ Primer Plus(第五版)中文版---Stephen Prata
廣博如四庫全書The c++ programming language、c++ Primer
深奧如山重水復Inside the c++ object model
程序庫大全The c++ standard libray
工程經驗之積累Effective c++、More Effective c++、Exceptional c++
c++八大金剛:
1、Essentital c++---lippman---C++之父,旁枝暫略,主攻核心,輕薄短小,初學者
2、The c++ programming language----C++之父,技術權威,用詞深峻,思想深遠,c++網路全書代表,聖經。
3、c++ Primer----lippman---縱橫書市十數年,c++最佳教本,c++網路全書代表。
4、Inside the c++ object model-----lippman----揭示c++底層,非常好,非常難。
5、Effective c++-----通過50個編程實例,展示專家經驗,行文有趣,深處淺出。
6、More Effective c++----通過35個編程實例,展示專家經驗,行文有趣,深處淺出。
7、The c++ standard libray---c++標准庫的網路全書。
8、設計模式:可復用面向對象軟體的基礎------good!
4、c
C程序設計語言(第2版·新版)---c語言「倚天屠龍雙劍」---Brian W.Kernighan「C語言之父」
C Primer Plus中文版(第五版)--------C語言「倚天屠龍雙劍」---Stephen Prata
C程序設計(第三版)---------------------------譚浩強
C語言大全(第四版)---------------------------HERBERT SCHILDT
C語言介面與實現:創建可重用軟體的技術-------------DAVID R.HANSON
C語言參考手冊(原書第5版)--------------------------Samuel P.Harbison
C程序設計教程---------------------------------H.M.Deitel/P.J.Deitel
C陷阱與缺陷-----------------------------------Andrew Koenig
5、VB
Visual Basic .NET技術內幕-----VB編程三劍客-----------Francesco Balena「vb首席大師」
Windows程序設計-Visual Basic.NET語言描述--VB編程三劍客-----Charles Petzold「windows編程泰山北斗」---
.NET框架程序設計:Visual Basic.NET語言描述--VB編程三劍客--Jeffrey Richter「windows編程泰山北斗」---,Francesco Balena「vb首席大師」
Visual Basic 6編程技術大全------------------------Francesco Balena「vb首席大師」
Visual Basic.NET 從入門到精通-------------------------Petroutsos,E.
高級VISUAL BASIC編程-----------------------------------MATTHEW CURLAND
6、Delphi
Inside VCL(深入核心——VCL架構剖析)----------李維
Delphi 7高效資料庫程序設計--------------李維
面向對象開發實踐之路(Delphi版)----------李維
7、VC
Windows 程序設計(第5版)-----Charles Petzold「windows編程泰山北斗」---
Windows核心編程----------Jeffrey Richter「windows編程泰山北斗」---
Windows高級編程指南---------Jeffrey Richter「windows編程泰山北斗」---
深入淺出MFC(第二版)-----「MFC四大天王」-------侯捷
MFC Windows程序設計(第2版)---MFC四大天王」---------Jeff Prosise
Visual C++ 技術內幕(第4版)--MFC四大天王」--------David Kruglinski
深入解析MFC-------------MFC四大天王」-----------George Shepherd
Visual C++.NET 技術內幕(第6版)-MFC四大天王」------------David Kruglinski
8、VF
Visual Foxpro程序設計參考手冊-------------------張洪舉
專家門診——Visual FoxPro開發答疑160問-------------------張洪舉
Visual FoxPro 6.0/9.0解決方案與範例大全-------------------張洪舉
Visual FoxPro軟體開發模式與應用案例-------------------張洪舉
9、黑客
應用密碼學(協議演算法與C源程序-----------Bruce Schneier
網路信息安全的真相-----------Bruce Schneier
黑客大曝光:網路安全機密與解決方案(第5版)--------STUART MCCLURE
軟體加密技術內幕------------看雪學院
加密與解密——軟體保護技術與完全解決方案------------看雪學院
加密與解密(第二版)--------段鋼
10、匯編
Intel微處理器結構、編程與介面(第六版)---------Barry B. Brey
80*86、奔騰機匯編語言程序設計---------Barry B. Brey
Windows環境下32位匯編語言程序設計(第2版)-----------羅雲彬
IBM-PC匯編語言程序設計(第2版) 本書是國內優秀教材--------沈美明 溫冬嬋
IBM PC匯編語言程序設計(第五版) 這本書籍是國外優秀教材-------PETER ABEL著,沈美明 溫冬蟬譯
11、驅動開發
Windows WDM設備驅動程序開發指南------------------------------------ Chris Cant
Windows 2000/XP WDM設備驅動程序開發(第2版)--------------------------武安河
WINDOWS 2000/XP WDM設備驅動程序開發-------------------------------- 武安河
12、網路
計算機網路第四版中文版----網路編程三劍客--------------Andrew S.Tanenbaum
TCP/IP詳解3卷本--------------------Richard Stevens----網路編程三劍客
UNIX網路編程2卷本--------------------Richard Stevens----網路編程三劍客
用TCP/IP進行網際互聯-----------Douglas E. Comer
高級TCP/IP編程-------------------Jon C. Snader
C++網路編程-----------------------Douglas Schmidt
UNIX環境高級編程(第2版)--------------------Richard Stevens
13、演算法
計算機程序設計藝術-------Donald.E.Knuth----------演算法「倚天屠龍」雙劍
演算法導論-----------------Thomas H. Cormen--------演算法「倚天屠龍」雙劍
離散數學及其應用----------Kenneth H.Rosen
具體數學—計算機科學基礎--------Donald.E.Knuth
14、圖形編程
Windows 圖形編程----------------FENG YUAN --圖形編程界的Charles Petzold之書
15、數據結構
數據結構 C++語言描述》58.00(Data Structures C++) William Ford,William Topp 劉衛東 沈官林
數據結構演算法與應用-C++語言描述》49.00Sartej Sahni 汪詩林 孫曉東等機械工業出版社
16、軟體工程
設計模式--可復用面向對象軟體的基礎
重構—改善既有代碼的設計
17、操作系統
深入理解計算機系統(修訂版)-------RANDAL E.BRYANT
18、Unix
UNIX 網路編程 卷I 套接字聯網API(英文版 第三版
UNIX 編程藝術
UNIX環境高級編程(英文影印第2版-----UNIX編程「聖經
UNIX環境高級編程(英文影印版)(第2版)
99-UNIX環境高級編程(第2版)
UNIX環境高級編程(第2版)---UNIX編程「聖經
UNIX網路編程 第1卷:套介面API(第3版)
UNIX網路編程卷2:進程間通信(第2版)(英文影印版)
UNIX 網路編程(第二版)第2卷:進程間通信
UNIX編程環境
UNIX 網路編程 卷I 套接字聯網API(英文版 第三版
UNIX系統編程
UNIX環境高級編程
UNIX環境高級編程(英文影印版
88-linux內核分析及編程
UNIX 網路編程 卷I 套接字聯網API(英文版 第三版)
UNIX網路編程 第1卷:套介面API(第3版)
UNIX 網路編程(第二版)第2卷:進程間通信
UNIX網路編程卷2:進程間通信(第2版)(英文影印版)
UNIX 網路編程(第2版)第1卷:套介面API和X/Open 傳輸介面API
UNIX網路編程(卷1):連網的APLS:套接字與XTI(第二版)(英文影印版)
UNIX環境高級編程
UNIX 環境高級編程(英文版)
UNIX環境高級編程(第2版)
Unix技術手冊
19、Linux
Linux內核設計與實現
Linux內核完全注釋
LINUX內核分析及編程
GNU/Linux 編程指南(第二版)
Linux設備驅動程序(第三版)
嵌入式設計及Linux驅動開發指南——基於ARM 9處理器
Linux設備驅動程序 第三版(英文影印版)
Linux內核設計與實現(第2版)
Linux內核設計與實現(英文影印版)(第2版)
linux技術手冊
20、游戲編程
Windows游戲編程大師技巧(第二版
游戲之旅--我的編程感悟
OpenGL超級寶典:第三版
OpenGL編程指南(第四版)
Java 游戲高級編程
J2ME手機游戲編程入門
游戲之旅——我的編程感悟
游戲開發中的人工智慧(英文影印版)
3D游戲:卷2 動畫與高級實時渲染技術
面向對象的游戲開發
Java 游戲高級編程
3D游戲編程大師技巧
游戲編程精粹
面向對象的游戲開發
3D游戲 卷1:實時渲染與軟體技術
3D游戲:卷2 動畫與高級實時渲染技…
J2ME手機游戲編程入門
Direct3D游戲編程入門教程(第二版…
21、移動開發
Windows Mobile手機應用開發
SYMBIAN OS C++手機應用開發
68-Windows Mobile手機應用開發--傅曦 齊宇 徐駿
48-SYMBIAN OS C++手機應用開發 (第2卷)------------------RICHARD HARRISON著,周良忠 王伯欣譯
68-SYMBIAN OS C++手機應用開發---------------RICHARD HARRISON著,周良忠譯
Windows CE.net內核定製及應用程序開發---------周毓林 寧楊 陸貴強 付林林
嵌入式系統Windows CE 開發技巧與實例--傅曦
Palm OS編程實踐---絕版
❺ C語言源程序是由什麼構成的
C語言源程序是由:數據類型、常量與變數、數組、指針、字元串、文件輸入/輸出、運算構成。
1、數據類型
C的數據類型包括:整型、字元型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。
2、常量與變數
常量其值不可改變,符號常量名通常用大寫。
變數是以某標識符為名字,其值可以改變的量。標識符是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第一個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應存儲單元。
3、數組
如果一個變數名後面跟著一個有數字的中括弧,這個聲明就是數組聲明。字元串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,方括內的索引值是從0算起的。
4、指針
如果一個變數聲明時在前面使用 * 號,表明這是個指針型變數。換句話說,該變數存儲一個地址,而 *(此處特指單目運算符 * ,下同。C語言中另有 雙目運算符 *) 則是取內容操作符,意思是取這個內存地址里存儲的內容。指針是 C 語言區別於其他同時代高級語言的主要特徵之一。
指針不僅可以是變數的地址,還可以是數組、數組元素、函數的地址。通過指針作為形式參數可以在函數的調用過程得到一個以上的返回值,不同於return(z)這樣的僅能得到一個返回值。
指針是一把雙刃劍,許多操作可以通過指針自然的表達,但是不正確的或者過分的使用指針又會給程序帶來大量潛在的錯誤。
5、字元串
C語言的字元串其實就是以'