當前位置:首頁 » 編程軟體 » 編譯密碼學

編譯密碼學

發布時間: 2022-09-06 00:02:46

⑴ 復旦大學計算機系有什麼專業

詳見http://www.cs.fudan.e.cn/?page_id=931以及http://www.software.fudan.e.cn/ecation/introctiondetail.shtml;jsessionid=?introction.id=11
計算機科學與技術專業簡介
該專業培養從事計算機軟體、硬體和應用系統的研究、設計、開發應用與教學工作的高級專門人才。對計算機軟體、計算機組織與結構、計算機應用、計算機信息處理和計算機理論方面的專門知識和專門技能有較為深入的掌握,了解這一領域的理論前沿、發展動態和主流技術;具有一定的解決實際問題的能力和創新能力。學生畢業後可到國內外知名高等院校繼續研究生學習,或就業於政府部門、高等院校、研究機構、金融保險業、國內大中型企業、國外獨資與合資企業等單位。
基礎教育課程:
數學分析、大學物理、普通物理實驗、程序設計、電子學基礎、線性代數、集合與圖論。
專業教育課程:
程序設計實習、數字邏輯與部件設計、數字邏輯與部件設計實驗、數據結構、代數結構與數理邏輯、概率論與數理統計、計算機原理、操作系統、資料庫引論、演算法設計與分析、計算機體系結構、計算機體系結構實驗、編譯、軟體工程、軟體實踐、數據通信與計算機網路、計算機圖形學、生產實習、畢業論文、專業選修課程。

信息安全(與保密)專業簡介
該專業培養以計算機技術為基礎的現代信息安全領域方面的研究、教學和管理人才。要求學生在掌握扎實、全面的計算機基礎知識和應用技能的基礎上,對信息安全領域的基本理論、基本方法和基本試驗技能有比較全面的掌握。本專業包括兩個方向:方向一要求對現代信息安全技術特別是網路安全技術的專門知識和專門技能有較為深入的掌握,了解這一領域的理論前沿、發展動態和主流技術;具有一定的解決實際問題的能力和創新能力。方向二面向基於信息安全的保密管理人才的培養,了解相關的法律、新聞、經濟學領域的知識,具有一定的技術知識與管理能力。學生畢業後可到國家政府機關、大中型企業及研究機構、軍事與安全等部門工作,在計算機、通信、電子信息、電子商務、電子金融、電子政務等領域從事科研、教學、管理、開發等工作,或大學或研究部門繼續深造。
基礎教育課程:
數學分析、大學物理、普通物理實驗、程序設計、電子學基礎、線性代數、集合與圖論。
專業教育課程:
程序設計實習、數字邏輯與部件設計、數字邏輯與部件設計實驗、數據結構、應用數論、概率論與數理統計、近世代數、信息安全概論、計算機原理與體系結構、操作系統、操作系統實踐、資料庫引論、演算法設計與分析、資訊理論與編碼、編譯、軟體工程、數據通信與計算機網路、密碼學基礎、網路程序設計、網路攻擊與防禦技術、生產實習、畢業論文、專業選修課程。

軟體工程專業

本專業培養從事計算機軟體、計算機應用、網路通信及相關領域中從事大型軟體設計與開發、軟體產業管理等工作的高級專門人才。學生應具備具有扎實的計算機基礎理論知識和分析解決實際問題的能力;具有設計開發實際軟體系統的能力和軟體項目管理的能力;具有扎實的英語基礎和使用英語進行業務交流的能力。

⑵ 大學密碼學作業:就是編寫一段代碼 編譯出來就可以了求幫助。

這3部分都是經過替換加密的嗎,也就是說要找出替換方式破譯出原文?
如果是這樣,第一部分gwgggtsv這個感覺就不可能啊,沒有3個相同字母連著的單詞吧。

⑶ 如何在Windows 7 系統上編譯FTC和錢包,編譯指南

比特幣(BitCoin)的概念最初由中本聰在2009年提出,根據中本聰的思路設計發布的開源軟體以及建構其上的P2P網路。比特幣是一種P2P形式的數字貨幣。點對點的傳輸意味著一個去中心化的支付系統。
與大多數貨幣不同,比特幣不依靠特定貨幣機構發行,它依據特定演算法,通過大量的計算產生,比特幣經濟使用整個P2P網路中眾多節點構成的分布式資料庫來確認並記錄所有的交易行為,並使用密碼學的設計來確保貨幣流通各個環節安全性。P2P的去中心化特性與演算法本身可以確保無法通過大量製造比特幣來人為操控幣值。基於密碼學的設計可以使比特幣只能被真實的擁有者轉移或支付。這同樣確保了貨幣所有權與流通交易的匿名性。比特幣與其他虛擬貨幣最大的不同,是其總數量非常有限,具有極強的稀缺性。

⑷ 我是應用數學專業,想考密碼學方面的研究生。詳細見問題補充。

摘要 其實密碼在整個大的信息安全體系中,有時會顯得有些尷尬:由於背景知識,專業門檻,研究哲學等方面的差異,密碼與應用之間的溝通其實並不算通暢。由於有嚴格的數學基礎,不少學者有意無意地維護了密碼作為數學分支的」系統性「:不同於其他很多安全分支,密碼的驅動力有時來源於理論架構本身的完善,而非任何應用。與之而來的副作用是,我們有大量的代碼能力過關,但無任何密碼基礎的普通工程師,也有一定數量的密碼學者:但密碼學者中很多人不寫應用代碼,也不清楚怎麼寫應用代碼。而普通工程師並未受過相關訓練,能保證正確實現已經不易,無暇顧及其他了。因此,即使在SCA炒了20年的今天,說起密碼實現,很多時候依然是研究者和工程師之間踢皮球。部分高校目前開始開設cryptographic engineering這門課程,但這種趨勢也僅僅是近幾年的事,效果如何還要繼續觀察。

⑸ 本人會c語言,學解密與加密有幫助嗎

會C語言對學解密與加密會有幫助,但學習解密加密最主要的還是要理解windows下的編程知識,還要懂匯編語言,因為反編譯後最直接的就是匯編,還要懂密碼學的相關知識,學習加解密可以在網上進入「看雪論壇」看看,這是國內最權威的一個關於加解密的網址

⑹ 簡單文本文件的加密與解密。

給文件加密,我們公司使用的是超級加密3000軟體,這款軟體操作起來還是比較簡便的。

啟動超級加密3000進入軟體主界面,在軟體主窗口下方的的文件瀏覽控制項裡面選擇您需要加密的文件,然後點擊窗口上方的「數據加密」按鈕。

在彈出的數據加密窗口中輸入文件加密密碼,選擇合適的文件加密類型,然後點擊確定按鈕就可以了。

您可以使用這個方法給您的文件加密試試。

⑺ 密碼解密主要是用運用什麼原理

說一種解密的方式,網路上可能不常用。針對加密晶元的破解,可以直接進行電磁攻擊,或者用激光進行脈沖攻擊,使密文和密鑰比特位翻轉,捕捉到足夠多的翻轉之後,就可以用專用的軟體破解出密鑰了。這個老外叫Channel Attack,需要使用到專用的設備和軟體,一般都是進口的,很貴,價格從幾十到上千萬不等,看你的需求怎樣。這種方法適用於RSA和各種對稱加密演算法,對其他的演算法有沒有作用就不清楚了。順便吐槽一下,密碼學難學錢少,就業面狹窄,不是真愛的話不要學。如果真想學,本科以後去歐洲或者美國比較好。

⑻ 哥哥,姐姐們誰能介紹一下大學的計算機專業各院系都學什麼.

計算機學院有以下幾個專業:
一、計算機科學與技術
專業培養方向
計算機科學與技術專業的學生具有扎實的理論基礎和較強的應用能力,既可以從事應用系統的開發,又可以承擔科學研究任務。在修完基礎和技術基礎課程後,學生可以在計算機軟硬體系統設計和應用系統開發上有選擇的得到強化。該專業培養的學生有本學科的基礎知識、動手能力、分析解決問題的能力和探索獲取新知識的能力,同時還有社會科學和交叉學科的相應知識。
主要專業課程
匯編語言 數據結構 計算機組成原理 資料庫系統 介面技術 操作系統 編譯原理 計算機網路與通信 計算機體系結構
就業方向
學生畢業去向適宜到科研部門、教學單位、廠礦企業、事業、技術和行政管理部門從事計算機軟體、計算機硬體、通信、電子信息方面的教學、科學研究與開發應用工作;也可以繼續攻讀計算機科學與技術學科的碩士學位。

二、信息安全
專業培養方向
該專業是計算機、通信、物理、數學等領域的交叉學科,主要研究確保信息安全的科學和技術。培養能夠從事計算機、通信、電子信息、電子商務、電子金融、電子政務等領域的信息安全專門技術人才。該專業的學生既有扎實的理論基礎,又要有較強的應用能力;既可以從事應用系統的開發,又可以承擔科學研究任務。在修完基礎和技術基礎課程後可使學生在從事計算機與計算機網路信息安全方面以及在計算機硬體系統、軟體設計及應用系統開發上有選擇地得到強化。
主要專業課程:
計算機組成原理、信息安全基礎、數據結構、密碼學、計算機網路、操作系統、編譯原理、資料庫系統、軟體工程、電子商務與安全、路由器及防火牆技術、病毒理論及防治技術、計算機系統結構等。
就業方向
畢業生可在科研機構、高等院校、高技術企業及各類企事業單位從事計算機與計算機網路信息安全方面以及計算機軟體系統開發、硬體系統設計與調試、網路系統設計與規劃、系統集成、信息管理與規劃等工作。
三、生物信息技術專業
生物信息技術專業是一個新興的多學科交叉的專業,隨著計算機技術和生物技術應用領域的擴展,這兩門技術呈現出相互交叉的趨勢,並產生了一門嶄新的交叉學科---生物信息技術。

本專業設置的主要課程有:高級語言程序設計、計算機組成原理、數據結構與演算法、數理邏輯、操作系統、計算機網路、資料庫系統、生物學、生物化學、高等多元分析、分子生物學、遺傳學、生物信息學引論、統計遺傳學與基因作圖、分子進化分析、基因組信息學、生物信息學軟體工程、生物識別技術及應用等。

畢業生可以推薦保送或考取碩士研究生,參與就業的畢業生大多數集中在北京、上海及沿海地區的知名IT企業、科研院所、大型國企、政府機關等從事生物信息技術方面的科學研究、開發應用或教學工作。

⑼ 軟體加密與解密的前言

隱蔽軟體(surreptitious software)是近十年來計算機安全研究領域新興的一個分支。在隱蔽軟體的研究過程中不僅需要借鑒計算機安全方面的技術,還會用到計算科學其他領域的大量技術,如密碼學、隱寫術、數字水印、軟體量度(software metric)、逆向工程以及編譯器優化等。我們使用這些技術來滿足在計算機程序中安全存儲秘密信息的需求,盡管這些需求的表現形式千差萬別、各不相同。本書中「秘密」一詞的意思比較廣,書中所介紹技術(代碼混淆、軟體水印和指紋、防篡改技術以及軟體「胎記」等)的使用目的是防止他人剽竊軟體中的智力成果。比如,軟體中使用指紋技術可以用來跟蹤軟體是否被盜版,代碼混淆技術能夠加大攻擊者逆向分析軟體的難度,而防篡改技術則可以使別人很難製作軟體的破解版,等等。
好了,現在我們來講講為什麼需要閱讀本書,誰使用隱蔽軟體以及本書將會涵蓋哪些內容。
為什麼閱讀本書
與傳統的安全研究不同,隱蔽軟體不關心如何使計算機免於計算機病毒入侵,它關心的是計算機病毒的作者是如何防止他人分析病毒的!同樣,我們也不關心軟體到底有沒有安全漏洞,我們關心的是如何隱蔽地在程序中加入一些只有在程序被篡改時才會執行的代碼。密碼學研究領域中,被加密數據的安全性依賴於加密密鑰的隱秘性,而我們現在研究的恰恰是如何隱藏密鑰。軟體工程中有大量的軟體量度技術,以確保程序結構良好,本書中將使用同樣的技術使程序復雜難讀。本書中描述的很多技術都是基於編譯器優化技術研究開發的演算法的,但是編譯優化的目的是使編譯器生成個頭盡量小、運行速度盡量快的程序,而使用本書中介紹的一些技術卻會使生成的程序個頭又大,執行起來又慢。最後,傳統的數字水印和隱寫術是想辦法把要隱藏的信息藏到圖像、音頻、視頻甚至純文本文件中,而隱蔽軟體則是把需要隱藏的信息藏到計算機代碼中。
那麼,為什麼要閱讀本書呢?為什麼要了解一種不能防止計算機被病毒或者蠕蟲攻擊的安全技術?為什麼要學習一種只會讓代碼體積變大而執行速度變慢的編譯優化技術?為什麼要把精力花在一種違反了密碼學基本前提(即密鑰是不可能被攻擊者獲得的)的密碼學分支上呢?
回答是,傳統的計算機安全和密碼學研究成果有時並不能解決實際工作中遇到的且亟待解決的安全問題。比如,在本書中將展示如何使用軟體水印技術防止軟體盜版。軟體水印是在程序中嵌入的唯一標識(類似信用卡的卡號或者版權聲明),通過這個標識,程序的某個副本就和你(程序的作者)或者客戶聯系在了一起。要是你發現市場上在賣自己軟體的盜版光碟,就可以通過在盜版軟體中提取的水印追查製作這個盜版軟體的母版 當初是哪個傢伙從你這里買走的。當給合作商提供新開發的游戲的測試版時,你也可以在測試版中加上數字水印。要是你感覺有人泄露了你的代碼,就能(從眾多的合作商中)找出肇事者,並把他送上法庭。
又比如,在程序的新版本中加上了某個新的演算法,你當然不希望競爭對手也得到這個演算法,並把它加到他們的軟體中。這時,你就可以去混淆程序,使之盡可能變得復雜難懂,使競爭對手逆向分析軟體時效率很低。而如果確實懷疑某人剽竊了你的代碼,本書也會教你如何使用軟體「胎記」證實你的懷疑。
再比如,你的程序中包含有某段不能為人所知的代碼,並且你想確保沒有這段代碼程序就不能正常運行。例如,你肯定不希望黑客修改程序中的軟體使用許可驗證代碼,或者可用於解密數字版權管理系統中mp3文件的密鑰。第7章將討論多種防篡改技術,確保受到篡改的程序停止正常運行。
聽說你把密鑰放在可執行文件里了?這主意實在太糟糕了!以往的經驗告訴我們,任何類似「不公開,即安全」 的做法最終都將以失敗告終,而且不管在程序中怎樣隱藏密鑰,最終它都逃不出一個足夠頑強的逆向分析人員的手心。當然,必須承認你的做法也還是對的。本書中介紹的所有技巧都不能保證軟體能永遠免於黑客的毒手。不必保證某個東西永遠處於保密的狀態,也不必保證程序永遠處於不可能被篡改的狀態,更不需要保證代碼永遠不會被剽竊。除非這個研究領域有什麼重大的突破,否則能指望的只是延緩對方的攻擊。我們的目標就是把攻擊者的攻擊速度減緩到足夠低,使他感到攻擊你的軟體十分痛苦或要付出過高的代價,從而放棄攻擊。也可能攻擊者很有耐心地花了很長時間攻破了你的防禦,但這時你已經從這個軟體中賺夠了錢,或者已經用上了更新版本的代碼(這時他得到的東西也就一錢不值了)。
比方說,你是一個付費頻道的運營商,用戶通過機頂盒來觀看你提供的電視節目。每個機頂盒都是帶有標簽的——在代碼的某個位置上存放了分配給每個用戶的唯一標識(ID),這樣你就可以根據用戶的繳費情況決定是允許還是拒絕某個特定用戶觀看頻道里的節目。可是現在有一個黑客團伙找到並且反匯編了這段代碼,發現了計算用戶ID的演算法,並且在網上以低廉的價格把修改用戶ID的方法賣給了網民。這時你該怎麼辦呢?你也許想到了使用防篡改的智能卡,不過這玩意兒並不像看上去那麼難破解,這將在第11章中講解。或者你可能想到要混淆代碼,使之更難以被分析。或者你也可以使用防篡改技術使程序一被修改就自動停止運行。更有可能,你會混合使用上述各種技巧來保護代碼。但是盡管使用了所有技術,你還必須要知道並且必須接受,你的代碼仍然可能被破解,秘密仍會泄露(在這個案例里就是機頂盒裡的用戶ID仍然會被篡改)這一事實。怎麼會這樣呢?這只是因為「不公開,既安全」這個想法在根本上就存在漏洞。不過既然本書中介紹的所有技術都不能給你一個「完美並且長期的安全保證」,那麼為什麼還要使用這些技術,為什麼還要買這樣一本書呢?答案很簡單,代碼能頂住黑客攻擊的時間越長,訂閱頻道的客戶就越多,同時升級機頂盒的周期也就越長,這樣你賺到的錢和省下的錢也就越多。
就這么簡單。
誰使用隱蔽軟體
很多知名的公司都對隱蔽軟體有濃厚的興趣。事實上很難真正掌握有關技術在實踐中具體被使用的程度(因為大多數公司在如何保護自己的代碼一事上絕對是守口如瓶的),但是我們還是可以根據他們專利的申請和擁有情況把他們對隱蔽軟體的感興趣程度猜個八九不離十。微軟公司擁有多個關於軟體水印[104,354]、代碼混淆[62,62,69,69,70,70,180,378]和軟體「胎記」[364]技術的專利。Intertrust公司擁有大量與數字版權管理技術相關的組合式專利,包括代碼混淆和代碼防篡改專利。2004年,在微軟與Intertrust之間的馬拉松式官司落下了帷幕之後,微軟向Intertrust支付了高達4.4億美元的專利使用費,才獲得了後者所有的專利使用許可。同年,微軟也開始與PreEmptive Solution公司開展商業合作[250],從而把PreEmptive Solution開發的identifier obfuscator(PreEmptive solution公司在該工具中擁有專利[351])加到了Visual Studio的工具集里。而普渡大學科研成果的副產品Arxan,因其獨創的防篡改演算法專利[24,305]而成功地開辦了一家公司。蘋果公司擁有一個代碼混淆方面的專利,估計是用於保護其iTune軟體的。Convera,一家從英特爾公司獨立出來的企業,則著力研究應用於數字版權管理的代碼防篡改技術[27,268-270]。從加拿大北方電信公司中分離出來的Cloakware公司也是這個領域里最成功的企業之一。該公司擁有他們稱為「白盒加密」的專利[67,68,182],即把加密演算法和密鑰藏到程序代碼中。2007年12月,Cloakware公司被一家主營付費電視業務的荷蘭公司Irdeto以7250萬美元的價格收購。即使是相對的後來者Sun Microsystem也已經提交了一些代碼混淆領域的專利申請。
Skype的VoIP客戶端也使用了類似Arxan[24]、英特爾[27]及本書中將要提到的[89]代碼混淆和防篡改技術進行了防逆向工程加固。對於Skype公司來說,保護其客戶端的完整性無疑是極其重要的,因為一旦有人成功逆向分析了其客戶端軟體,解析出Skype所使用的網路協議,黑客們就能寫出廉價的能與Skype軟體進行正常通信的程序(這樣的話,人們就沒有必要一定用Skype)。所以保持網路協議不公開則有助於Skype擁有一個龐大的用戶群,這大概也是2005年易貝公司以26億美元收購Skype的原因吧。實際上,使用隱蔽軟體技術還使Skype公司贏得了足夠多的時間,進而成為了VoIP技術的領軍企業。即使這時Skype的協議被分析出來了(這一點黑客們確實也做到了,詳見7.2.4節),黑客們也拿不出一個能夠撼動Skype市場地位的類似軟體了。
學術研究者從多種角度對隱蔽軟體技術進行了研究。一些擁有編譯器和程序語言研究背景的研究者,比如我們,會很自然地加入這一領域的研究,因為涉及代碼轉換的絕大多數演算法都會涉及靜態分析的問題,而這一問題則是編譯優化技術的研究者再熟悉不過的了。盡管以前,密碼學研究者大多不屑於研究「不公開,即安全」的問題,但最近一些密碼學研究人員已經開始把密碼學的相關技術應用於軟體水印以及發現代碼混淆技術的局限性上了。來自多媒體水印、計算機安全和軟體工程方面的研究人員也已經發表了很多關於隱蔽軟體的文章。遺憾的是,由於沒有專門的刊物、學術會議(供研究人員相互之間進行交流),這一領域的研究進展被大大延緩了。事實上,為了使這些研究成果能被傳統的學術會議和期刊接受,研究人員在不停地努力著,現在仍在努力。目前已經發表過隱蔽軟體研究成果的學術會議有POPL(Principles of Programming Languages,程序設計原理)上的ACM專題研討會、信息隱藏研討會、IEEE的軟體工程研討會、高級密碼學會議(CRYPTO)、ISC(Information Security Conference,信息安全大會)以及其他一些關於數字版權管理的學術會議。隨著隱蔽軟體這一領域的研究越來越成為學術研究的主流,我們有望擁有專門針對於隱蔽軟體的期刊、專題討論會甚至是研討會,只是可惜目前為止這一切都還沒有實現。
軍方也在隱蔽軟體上花了很多精力(和納稅人的錢)。比如,Cousot公司擁有的軟體水印演算法[95]專利就歸屬於世界上第九大國防工程承包商法國Thales集團。下面是一段引自最新的(2006)美軍招標文件[303]中有關AT(anti-tamper)技術 研究的文字。
現在,所有的美軍項目執行部門(PEO)和項目管理方(PM)在設計和實現有關系統時,必須在系統中使用軍隊和國防部制定的AT策略。嵌入式軟體現代武器系統的核心,是被保護的最重要技術之一。AT技術能夠有效地保證這些技術不被他國(人)逆向工程分析利用。僅僅由標准編譯器編譯生成而不加AT技術防護的代碼是很容易被逆向分析的。在分析軟體時,逆向工程分析人員會綜合使用諸如調試器、反編譯器、反匯編器等很多工具,也會使用各種靜態和動態分析技巧。而使用AT技術的目的就是使逆向工程變得更為困難,進而防止美國在技術領域的優勢被他國竊取。今後還有必要向部隊的PEO和PM提供更有用、更有效並且多樣化的AT工具集……研發AT技術的目的在於提供一個能夠抗逆向工程分析的高強度殼 ,從而最大限度地遲滯敵方對被保護軟體的攻擊。這樣美國就有機會維持其在高科技領域的優勢或者減緩其武器技術泄密的速度。最終,美軍就能繼續保持其技術優勢,進而保證其軍備的絕對優勢。
這份招標文件來自於美軍導彈和空間程序(設計部門),專注於實時嵌入式系統的保護。我們有理由相信產生這份招標文件的原因是,美軍擔心射向敵方的導彈由於種種原因落地後未能爆炸,使敵方有機會接觸到嵌入在導彈中負責引導導彈飛臨目標上空的控制軟體。
下面是另一段引自美國國防部[115]的文字。
進行主動式軟體保護 (SPI)是國防部的職責之一,它必須開發和部署相關的保護技術,以保證含有國防武器系統關鍵信息的計算機程序的安全。SPI提供的是一種全新的安全防護方法,它並不(像傳統的安全技術那樣)保護計算機或者網路的安全,而只是加強計算機程序自身的安全。這種新方法能顯著提升國防部的信息安全情況。SPI的適用范圍很廣,從台式機到超級計算機上面所有的程序都能使用SPI技術予以保護。它是(軟體保護技術中)完整的一層,是「縱深防禦」的一個範例。SPI技術是對網路防火牆、物理安全等傳統安全技術的一個補充,但是其實現並不依賴於這些傳統的安全設備。現在SPI技術被部署在選定的HPC中心和150多家國防部機關以及其他由商業公司參與建設和維護的軍事基地。廣泛地部署SPI技術將會有效地增強美國和美國國防部對關鍵應用技術的保護。
.上面這段話說明了什麼?它說明美國國防部不僅關心導彈會不會掉到敵方領土上去,還關心在自己的安全系數和性能都很高的計算機中心運行的軟體的安全。事實上,竊密和反竊密是防間諜機關和情報部門之間永恆的主題。比方說,一架戰斗機上的某個程序需要更新一下,這時我們很可能就是用一台筆記本電腦連接到這架戰斗機上進行更新操作。但是萬一這台筆記本電腦不慎遺失了,或者乾脆就被其他國家政府使用某種方法控制了,就像電影里常演的那樣,這時會有什麼情況發生呢?對方會馬上把相關的代碼拿去做逆向工程分析,並把分析的結果用於改進其戰斗機中所使用的軟體。更有甚者,對方會悄悄地在你的軟體中加上一個特洛伊木馬,並讓飛機在特定的時間里從天上掉下來。如果我們不能絕對保證上述這一幕100%不可能發生的話,隱蔽軟體至少可以作為安全防禦的最後一道防線(至少還能做到事後的責任追究)。例如,飛機中的軟體可以用有權訪問相關軟體的人的ID做一個指紋簽名。要是哪天,在其他國家的戰斗機上發現了這些代碼,就可以立即對這些代碼進行逆向分析,並進一步推算出誰是泄密事件的元兇。
什麼?我聽見你說,為什麼我要對政府之間和商業巨頭之間如何保護它們各自的秘密感興趣呢?如果黑客破解了這些軟體,他們也不過是通過自己的勞動換取一些微薄的利益而已啊。話雖如此,但是這些保護技術給你 帶來的好處最終還是大於它給商業巨頭帶來的好處。理由是,對你來說,法律形式的保護措施(如專利、商標和版權)只有當你擁有足夠的財力,能在法庭上把對方告倒的時候才會管用。換而言之,即使你認為某家大公司通過破解你的代碼,剽竊了一個極有「錢途」的主意,你也無力通過那種馬拉松式的官司在法庭上告倒微軟,除非你有足夠的經濟實力能在這種財力的比拼中熬出頭 。而在本書中討論的保護技術(比如代碼混淆和防篡改技術)則既廉價又好用,中小型企業和商業巨頭均可使用。而且如果這時你去告這家大公司的話,也可以用水印或者軟體「胎記」等技術,在法庭上當場拿出代碼被剽竊的真憑實據來。
最後不得不簡單地提一下另一類極其擅長使用隱蔽軟體的人——壞蛋們。病毒的作者已經能非常成功地利用代碼混淆的技術偽裝病毒的代碼,使之逃避殺毒軟體的檢測了。值得一提的是,人們使用這些技術(如保護DVD、游戲和有線電視)時經常被黑客破解,而黑客使用這些技術(如構建惡意軟體)時,人們卻很難抗擊。
本書內容
隱蔽軟體研究的目的是發明能夠盡可能遲滯對手(逆向工程分析)進度,同時又盡可能地減少因為使用該技術,而在程序執行時增加的計算開銷的演算法。同時也需要發明一種評估技術,使我們可以說「在程序中使用了演算法A之後,相對於原先的程序,黑客攻破新程序需要多花T個單位的時間,而新程序增加的性能開銷是0」,或者最低限度我們也應該可以說「相對於演算法B,使用演算法A保護的代碼更難被攻破」。特別要強調一下,隱蔽軟體研究尚處於嬰兒期,雖然我們在書中會把相關的保護演算法和評估演算法全都介紹給大家,但是這門藝術的現狀卻還並不理想(到時候你可不能太失望啊)。
在本書中,我們試圖把當前所有有關隱蔽軟體的研究成果組織起來系統化地介紹給讀者。我們力爭每章內容涵蓋一種技術,並描述這一技術的應用領域以及目前可用的演算法。第1章將給出隱蔽軟體這個領域的一些基本概念;第2章用對抗性演示的模式介紹黑客逆向分析軟體時常用的工具和技巧,然後針對這些工具和技巧介紹如何防範黑客的攻擊;第3章詳細講述黑客和軟體保護方用於分析計算機程序的技術;第4章、第5章和第6章分別介紹與代碼混淆有關的演算法;第7章介紹與防篡改技術相關的演算法;第8章和第9章分別介紹與水印相關的演算法;第10章介紹與軟體「胎記」相關的演算法;第11章講述基於硬體設備的軟體保護技術。
如果你是位企業管理人員,只是對隱蔽軟體的研究現狀和這些技術怎麼應用到你的項目中感興趣,那麼只要閱讀第1章和第2章就夠了。如果你是位擁有編譯器設計背景的研究人員,那麼建議直接跳到第3章開始閱讀。但是之後的章節還是最好順序閱讀。這是因為……呃,還是舉個例子吧,介紹水印技術的章節中會用到在代碼混淆章節中介紹的知識。當然在本書撰寫過程中,我們還是盡量使各章內容都能獨立成章的,所以(如果你擁有一些背景知識)偶爾跳過那麼一兩章也未嘗不可。如果你是一位工程師,想要使用有關技術加固你的軟體,那麼強烈建議你仔仔細細地閱讀第3章的所有內容,如果有條件的話,還應該再搞幾本編譯原理方面的教材惡補一下「程序靜態分析」的知識。然後你就可以隨意跳到感興趣的章節去閱讀了。如果你是名大學生,把本書作為一門課程的教材來閱讀,那麼就應該一頁一頁地完整閱讀本書,期末別忘了做好復習。
希望本書能夠做到兩件事情。首先,希望能向你,親愛的讀者,證明代碼混淆、軟體水印、軟體「胎記」和防篡改等技術里有大量妙不可言的想法,值得你花點時間去學習,而且這些技術也可以用來保護軟體。其次,希望本書能把本領域內當前所有有用的信息匯集在一起,從而為隱蔽軟體的深入研究提供一個良好的起點。
Christian Collberg和Jasvir Nagra
2009年2月2日(土撥鼠日)
P.S.實際上寫作這本書還有第三個目的。要是在閱讀本書時,你突然靈光閃現,冒出一個絕妙的主意,進而激發了你投身於隱蔽軟體研究的雄心壯志,那麼,親愛的讀者,我這第三個目的就算是達到了。請把你的新演算法告訴我們,我們將把它加到本書的下一版里!

⑽ code中文是什麼意思

編碼。

技術上,code(編碼)是用另一個詞、數字或標志來置換一個詞或短語,達到隱藏原來的詞或短語的目的,它主要起到置換的作用。工業上,有時用一個code(代號)來代替正在開發中的產品,以隱藏它在行銷中採用的名字。歷史上,處於准備階段的軍事行動通常有一個code(代號)。

(10)編譯密碼學擴展閱讀

編號與編碼的區別

1、定義上的區別

編號,給順序號作為一種識別的方法或者是利用有序或無序的任意符號按順序編號數或者編定的號數,(可以以0開頭)。

編碼是信息從一種形式或格式轉換為另一種形式的過程,也稱為計算機編程語言的代碼簡稱編碼。用預先規定的方法將文字、數字或其它對象編成數碼,或將信息、數據轉換成規定的電脈沖信號。

2、使用上的區別

編號:Word編號的使用,在Microsoft Word2003文檔中,使用編號可以增強段落之間的邏輯關系,從而提高Word文檔的閱讀性。

編碼:GB編碼標准中,比較常用的是GB2312和GBK兩種,GB2312是GBK的一個子集,GB2312編碼范圍是0xA1A1-0xFEFE。

熱點內容
打碼軟體源碼 發布:2025-03-20 07:08:06 瀏覽:109
前端android 發布:2025-03-20 06:50:42 瀏覽:93
進制轉換棧c語言 發布:2025-03-20 06:50:31 瀏覽:339
myeclipse不自動編譯了 發布:2025-03-20 06:41:38 瀏覽:777
led汽車大燈和鹵素燈該選哪個配置 發布:2025-03-20 06:40:55 瀏覽:917
sql網校 發布:2025-03-20 06:16:42 瀏覽:279
安卓手機圖標排列為什麼會混亂 發布:2025-03-20 06:16:05 瀏覽:761
手機pin初始密碼是多少 發布:2025-03-20 06:15:59 瀏覽:900
javaif常量變數 發布:2025-03-20 06:15:57 瀏覽:344
iis安裝sql 發布:2025-03-20 06:05:31 瀏覽:149