『壹』 求各種文件加密的方法
文件加密
方法一:後綴名加密法
嚴格地說,這並不是一詐唬 加密的方法,因為這種方法對高手無用!但真正的高手是不會關注你的。這種方法就是將你想保密的文件改為一個任意字元的後綴名。如:將123.doc改為456.swc,在別人來看,是很難知道其中的秘密的。
方法二:目錄欺騙法
新建一個目錄,把想保密的文件放入該文件夾,然後將文件夾改名為「123.wav.{00020c01-0000-0000-c000-000000000046}」,你會看到你的這個文件夾會變成一個WAV文件的圖標,雙擊它也是打開媒體播放器(但就是無法播放)。想瀏覽該文件需要在「資源管理器」里。
方法三:使用軟體法
使用一些專業的文件加密軟體即可。這一類軟體網上多的是,大家可以搜索下載。
方法四:硬體加密
就是利用一些諸如「硬體狗」等這類工具進行相關的設定,使用計算機時必須使用這類硬體才能正常啟動電腦和使用。
又如:微星公司為其主板專門設計的USB介面加密鎖,只有當計算機插上這個加密鎖之後,才能進操作系統和正常使用。不用這個USB加密鎖即使你清空CMOS也是無濟於事。
=========================
用文件加密器
自己看看下面的連接
微軟中國EFS加密專題
http://www.microsoft.com/china/technet/security/sgk/protect_data_EFS.mspx
E-神加密文件夾 2005
http://nj.onlinedown.net/soft/22072.htm
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎2
加密金剛鎖 v7.403
http://www.crsky.com/soft/991.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
萬能加密器 v5.5 正式版
http://www.crsky.com/soft/746.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
小李文件加密II v7.0 Build 0110
http://www.crsky.com/soft/1260.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
金鋒文件加密器 v4.3 標准版
http://www.crsky.com/soft/1327.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
超白金加密 v8.70
http://www.crsky.com/soft/1616.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
加密精靈(EncryptGenie) v2.68.1
http://www.crsky.com/soft/1031.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
文件加密器(FDET) v4.56
http://www.crsky.com/soft/2452.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
E-鑽文件夾加密大師 Build 050721
http://www.crsky.com/soft/6168.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
夢幻加密精靈 2004 v1.21
http://www.crsky.com/soft/3305.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
狡兔三窟加密鎖 v3.0
http://www.crsky.com/soft/3151.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
楓葉文件加密器 v1.0
http://www.crsky.com/soft/2587.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
Wkh文件加密器 v3.05
http://www.crsky.com/soft/3177.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
狡兔三窟加密器 v2.11
http://www.crsky.com/soft/2991.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
E鑽文件夾加密大師 v1.2
http://www.crsky.com/soft/5435.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
CipherOne加密鑽石鎖 v5.1
http://www.crsky.com/soft/5673.html
還有個方法
電腦里經常會存儲著重要文件,這些文件需要進行加密,有許多方法來實現。但如果想對一個文件夾里的所有文件都進行加密,數量少還可以,要是數量多豈不是得把人累死?因此,今天我要告訴您一個好方法:給Windows 9x/2000文件夾加密。通過給一個文件夾加密就可使該文件夾里的所有文件得到保護。其工作效果,就是在您雙擊進入該文件夾時系統提示您輸入密碼,正確則進入,錯誤則自動退回到硬碟根目錄下——非常好用!
1、進入您要進行加密保護的文件夾中,在空白處單擊滑鼠右鍵,選擇「自定義文件夾…」選項;
2、單擊「下一步」選擇「自定義」並在副選框中選擇「選擇或編輯該文件夾的Html模板」,單擊「下一步」;
3、在選擇模板類型中選擇「標准」,並將「編輯該模板」選項選中,單擊「下一步」;
4、在彈出的「Folder」文件中找到〈script language="javaScript"〉,在其下方頂頭輸入以下內容:
var pass = prompt("請輸入密碼")該處的「請輸入密碼」為系統提示語
if(pass != "123") 「123」處換成您自己設定的密碼
{window.location="c:"}
5、保存「Folder」文件之後,選擇完成,文件夾加密就完成了,您可以進行測試啦
因為剛才的諸多步驟就是Windows的腳本編程,所以經驗證,該方法適用於所有Windows系統。如果需要去掉保護,只需要把「Folder」文件修改回原樣就好啦!
由於Windows版本不同,細微之處會有所區別,如在Windows Me中,「Folder」文件中就沒有〈script language="JavaScript"〉欄位,而只有〈script〉,放到它後面也同樣起作用。文件夾向導也不盡相同,請大家舉一反三。
『貳』 加密的歷史
1。
古代加密方法(手工階段) 源於應用的無窮需求總是推動技術發明和進步的直接動力。存於石刻或史書中的記載表明,許多古代文明,包括埃及人、希伯來人、亞述人都在實踐中逐步發明了密碼系統。
從某種意義上說,戰爭是科學技術進步的催化劑。人類自從有了戰爭,就面臨著通信安全的需求,密碼技術源遠流長。
古代加密方法大約起源於公元前440年出現在古希臘戰爭中的隱寫術。當時為了安全傳送軍事情報,奴隸主剃光奴隸的頭發,將情報寫在奴隸的光頭上,待頭發長長後將奴隸送到另一個部落,再次剃光頭發,原有的信息復現出來,從而實現這兩個部落之間的秘密通信。
公元前400年,斯巴達人就發明了「塞塔式密碼」,即把長條紙螺旋形地斜繞在一個多棱棒上,將文字沿棒的水平方向從左到右書寫,寫一個字旋轉一下,寫完一行再另起一行從左到右寫,直到寫完。解下來後,紙條上的文字消息雜亂無章、無法理解,這就是密文,但將它繞在另一個同等尺寸的棒子上後,就能看到原始的消息。
這是最早的密碼技術。 我國古代也早有以藏頭詩、藏尾詩、漏格詩及繪畫等形式,將要表達的真正意思或「密語」隱藏在詩文或畫卷中特定位置的記載,一般人只注意詩或畫的表面意境,而不會去注意或很難發現隱藏其中的「話外之音」。
比如:我畫藍江水悠悠,愛晚亭楓葉愁。 秋月溶溶照佛寺,香煙裊裊繞輕樓 2。
古典密碼(機械階段) 古典密碼的加密方法一般是文字置換,使用手工或機械變換的方式實現。古典密碼系統已經初步體現出近代密碼系統的雛形,它比古代加密方法復雜,其變化較小。
古典密碼的代表密碼體制主要有:單表代替密碼、多表代替密碼及轉輪密碼。 3。
近代密碼(計算機階段) 密碼形成一門新的學科是在20世紀70年代,這是受計算機科學蓬勃發展 *** 和推動的結果。快速電子計算機和現代數學方法一方面為加密技術提供了新的概念和工具,另一方面也給破譯者提供了有力武器。
計算機和電子學時代的到來給密碼設計者帶來了前所未有的自由,他們可以輕易地擺脫原先用鉛筆和紙進行手工設計時易犯的錯誤,也不用再面對用電子機械方式實現的密碼機的高額費用。 總之,利用電子計算機可以設計出更為復雜的密碼系統。
密碼大事記 公元前5世紀,古希臘斯巴達出現原始的密碼器,用一條帶子纏繞在一根木棍上,沿木棍縱軸方向寫好明文,解下來的帶子上就只有雜亂無章的密文字母。
解密者只需找到相同直徑的木棍,再把帶子纏上去,沿木棍縱軸方向即可讀出有意義的明文。這是最早的換位密碼術。
公元前1世紀,著名的愷撒(Caesar)密碼被用於高盧戰爭中,這是一種簡單易行的單字母替代密碼。 公元9世紀, *** 的密碼學家阿爾·金迪(al' Kindi 也被稱為伊沙克 Ishaq,(801?~873年),同時還是天文學家、哲學家、化學家和音樂理論家)提出解密的頻度分析方法,通過分析計算密文字元出現的頻率破譯密碼。
公元16世紀中期,義大利的數學家卡爾達諾(G.Cardano,1501—1576)發明了卡爾達諾漏格板,覆蓋在密文上,可從漏格中讀出明文,這是較早的一種分置式密碼。 公元16世紀晚期,英國的菲利普斯(Philips)利用頻度分析法成功破解蘇格蘭女王瑪麗的密碼信,信中策劃暗殺英國女王伊麗莎白,這次解密將瑪麗送上了斷頭台。
幾乎在同一時期,法國外交官維熱納爾(或譯為維瓊內爾) Blaise de Vigenere(1523-1596)提出著名的維熱納爾方陣密表和維熱納爾密碼(Vigenerecypher),這是一種多表加密的替代密碼,可使阿爾—金迪和菲利普斯的頻度分析法失效。 公元1863,普魯士少校卡西斯基(Kasiski)首次從關鍵詞的長度著手將它破解。
英國的巴貝奇(Charles Babbage)通過仔細分析編碼字母的結構也將維熱納爾密碼破解。 公元20世紀初,第一次世界大戰進行到關鍵時刻,英國破譯密碼的專門機構「40號房間」利用繳獲的德國密碼本破譯了著名的「齊默爾曼電報」,促使美國放棄中立參戰,改變了戰爭進程。
大戰快結束時,准確地說是1918年,美國數學家吉爾伯特·維那姆發明一次性便箋密碼,它是一種理論上絕對無法破譯的加密系統,被譽為密碼編碼學的聖杯。但產生和分發大量隨機密鑰的困難使它的實際應用受到很大限制,從另一方面來說安全性也更加無法保證。
第二次世界大戰中,在破譯德國著名的「恩格瑪(Enigma)」密碼機密碼過程中,原本是以語言學家和人文學者為主的解碼團隊中加入了數學家和科學家。電腦之父亞倫·圖靈(Alan Mathison Turing)就是在這個時候加入了解碼隊伍,發明了一套更高明的解碼方法。
同時,這支優秀的隊伍設計了人類的第一部電腦來協助破解工作。顯然,越來越普及的計算機也是軍工轉民用產品。
美國人破譯了被稱為「紫密」的日本「九七式」密碼機密碼。靠前者,德國的許多重大軍事行動對盟軍都不成為秘密;靠後者,美軍炸死了偷襲珍珠港的元兇日本艦隊總司令山本五十六。
同樣在二次世界大戰中,印第安納瓦霍土著語言被美軍用作密碼,從吳宇森導演的《風語者》Windtalkers中能窺其一二。所謂風語者,是指美國二戰時候特別征摹使用的印第安納瓦約(Navajo)通信兵。
在二次世界大戰日美的太平洋戰場上,美國海軍軍部讓北墨西哥和亞歷桑那印第安納瓦約族人使用約瓦納語進行情報傳遞。納瓦約語的語法、音調及詞彙都極為獨特,不為世人所知道,當時納瓦約族以外的美國人中,能聽懂這種語言的也就一二十人。
這是密碼學和語言學的成功結合,納瓦霍語密碼成為歷史上從未被破譯的密碼。 1975年1月15日,對計算機系統和網路進行加密的DES(Data Encryption Standard數據加密標准)由美國國家標准局頒布為國家標准,這是密碼術歷史上一個具有里程碑意義的事件。
1976年,當時在美國斯坦福大學的迪菲(Diffie)和赫爾曼(Hellman)兩人提出了公開密鑰密碼的新思想(論文"New Direction in Cryptography"),把密鑰分為加密的公鑰和解密的私鑰,這是密碼學的一場革命。 1977年,美國的里維斯特(Ronald Rivest)、沙米爾(Adi Shamir)和阿德勒曼(Len Adleman)提出第一個較完善的公鑰密碼體制——RSA體制,這是一種建立在大數因子分解基礎上的演算法。
1985年,英國牛津大學物理學家戴維·多伊奇(David Deutsch)提出量子計算機的初步設想,這種計算機一旦造出來,可在30秒鍾內完成傳統計算機要花上100億年才能完成的大數因子分解,從而破解RSA運用這個大數產生公鑰來加密的信息。 同一年,美國的貝內特(Ben)根據他關於量子密碼術的協議,在實驗室第一次實現了量子密碼加密信息的通信。
盡管通信距離只有30厘米,但它證明了量子密碼術的實用性。與一次性便箋密碼結合,同樣利用量子的神奇物理特性,可產生連量子計算機也無法破譯的絕對安全的密碼。
2003,位於日內瓦的id Quantique公司和位於紐約的MagiQ技術公司,推出了傳送量子密鑰的距離超越了貝內特實驗中30厘米的商業產品。日本電氣公司在創紀錄的150公里傳送距離的演示後,最早將在明年向市場推出產品。
IBM、富士通和東芝等企業也在積極進行研發。目前,市面上的產品能夠將密鑰通過光纖傳送幾十公里。
美國的國家安全局和美聯儲都在考慮購買這種產品。MagiQ公司的一套系統價格在7萬美元到10萬美元之間。
://dev.csdn/article/62/62594.s。
致命錯誤引發歷史上最偉大的密碼破譯事件
--------------------------------------------------------------------------------
這是發生在第一次世界大戰時的事情,它在世界情報學歷史上佔有重要地位,它使得美國舉國震怒,結束中立,最終加入到對德作戰的行列。
第一次世界大戰期間,1917年1月17日,英軍截獲了一份以德國最高外交密碼 0075加密的電報。這個令人無法想像的密碼系統由1萬個詞和片語組成,與1000個數字碼群對應。密電來自德國外交部長阿瑟·齊麥曼,傳送給德國駐華盛頓大使約翰·馮·貝倫朵爾夫,然後繼續傳給德國駐墨西哥大使亨尼希·馮·艾克哈爾特。電文將在那裡解密,最後要交給墨西哥總統瓦律斯提阿諾·加漢扎。
密件從柏林經美國海底電纜送到了華盛頓。英軍在那裡將其截獲並意識到了它的重要性。英國密碼破譯專家開始全力以赴進行破譯,然而,面對這個未曾被破譯的新外交密碼系統,專家們絞盡腦筋仍一籌莫展。
令英國密碼破譯專家意想不到的機遇降臨了。接到密件的德國駐華盛頓大使約翰·馮·貝倫朵爾夫在他的華盛頓辦公室里犯下了致命的錯誤:他們在將電報用新的0075密件本譯出後,卻又用老的密件本將電報加密後傳送到墨西哥城。大使沒有意識到,他已經犯下了一個密碼使用者所能犯的最愚蠢的、最可悲的錯誤。
沒過多久,已經破譯了老密碼的英方便從德國大使的糊塗操作中獲得了新舊密碼的比較版本。英國的解碼人員開始了艱苦的工作:將密件在舊密碼中譯出,用紙筆建構模型。隨著齊麥曼的密件逐漸清晰,電報內容浮現出來,其重要性令人吃驚。
當時的情況是,盡管1915年美國的遠洋客輪「露斯塔尼亞」號被德軍擊沉,但只要德國此後對其潛艇的攻擊行動加以限制,美國仍將一直保持中立。齊麥曼的電文概括了德國要在1917年2月1日重新開始無限制海戰以抑制英國的企圖。為了讓美國無暇他顧,齊麥曼建議墨西哥入侵美國,宣布得克薩斯州、新墨西哥州和亞利桑那州重新歸其所有。德國還要墨西哥說服日本進攻美國,德國將提供軍事和資金援助。
英國海軍部急於將破譯的情報通知美國,但同時又不能讓德國知道其密碼已被破譯。於是,英國的一個特工成功地滲入了墨西哥電報局,得到了送往墨西哥總統的解了密的文件拷貝。這樣,秘密就可能是由墨西哥方泄露的,它以此為掩護將情報透露給了美國。
美國憤怒了。每個美國人都被激怒了。原先只是東海岸的人在關心戰局的進展,現在整個美國都開始擔心墨西哥的舉動。電文破譯後6個星期,美國總統伍德羅·威爾遜宣布美國對德宣戰。此時,站在他背後的是一個團結起來的憤怒的國家。齊麥曼的電文使整個美國相信德國是國家的敵人。這次破譯由此也被稱為密碼學歷史上最偉大的密碼破譯。
介紹密碼學的發展歷史
密碼學的發展歷程大致經歷了三個階段:古代加密方法、古典密碼和近代密碼。
1.古代加密方法(手工階段)
源於應用的無窮需求總是推動技術發明和進步的直接動力。存於石刻或史書中的記載表明,許多古代文明,包括埃及人、希伯來人、亞述人都在實踐中逐步發明了密碼系統。從某種意義上說,戰爭是科學技術進步的催化劑。人類自從有了戰爭,就面臨著通信安全的需求,密碼技術源遠流長。
古代加密方法大約起源於公元前440年出現在古希臘戰爭中的隱寫術。當時為了安全傳送軍事情報,奴隸主剃光奴隸的頭發,將情報寫在奴隸的光頭上,待頭發長長後將奴隸送到另一個部落,再次剃光頭發,原有的信息復現出來,從而實現這兩個部落之間的秘密通信。
公元前400年,斯巴達人就發明了「塞塔式密碼」,即把長條紙螺旋形地斜繞在一個多棱棒上,將文字沿棒的水平方向從左到右書寫,寫一個字旋轉一下,寫完一行再另起一行從左到右寫,直到寫完。解下來後,紙條上的文字消息雜亂無章、無法理解,這就是密文,但將它繞在另一個同等尺寸的棒子上後,就能看到原始的消息。這是最早的密碼技術。
我國古代也早有以藏頭詩、藏尾詩、漏格詩及繪畫等形式,將要表達的真正意思或「密語」隱藏在詩文或畫卷中特定位置的記載,一般人只注意詩或畫的表面意境,而不會去注意或很難發現隱藏其中的「話外之音」。
比如:我畫藍江水悠悠,愛晚亭楓葉愁。秋月溶溶照佛寺,香煙裊裊繞輕樓
2.古典密碼(機械階段)
古典密碼的加密方法一般是文字置換,使用手工或機械變換的方式實現。古典密碼系統已經初步體現出近代密碼系統的雛形,它比古代加密方法復雜,其變化較小。古典密碼的代表密碼體制主要有:單表代替密碼、多表代替密碼及轉輪密碼。
3.近代密碼(計算機階段)
密碼形成一門新的學科是在20世紀70年代,這是受計算機科學蓬勃發展 *** 和推動的結果。快速電子計算機和現代數學方法一方面為加密技術提供了新的概念和工具,另一方面也給破譯者提供了有力武器。計算機和電子學時代的到來給密碼設計者帶來了前所未有的自由,他們可以輕易地擺脫原先用鉛筆和紙進行手工設計時易犯的錯誤,也不用再面對用電子機械方式實現的密碼機的高額費用。總之,利用電子計算機可以設計出更為復雜的密碼系統。
1 解密方法在軟體的幫助裡面寫得很清楚。
最後的辦法是利用開始使用的時候填入的郵箱與客服聯系解密事宜。 2 你去官方網站下載最新的版本,然後重新安裝加密軟體,就行了 3 解鈴還需系鈴人!一般卸載了那個軟體也應該可以解密了的!如果不行,那個這個軟體就是水貨!建議用文件夾加密超級大師。
4 去網上下載個加密破解器。 5 以上4步都沒有解密,那就沒辦法了。
刪除軟體文件也沒辦法恢復。聯系作者吧!沒有更好的辦法了。
軟體界面上有聯系方式的。 最後說一句忠告的話:不要用免費的加密軟體,作者會故意留一些缺陷或者漏洞。
致命錯誤引發歷史上最偉大的密碼破譯事件 -------------------------------------------------------------------------------- 這是發生在第一次世界大戰時的事情,它在世界情報學歷史上佔有重要地位,它使得美國舉國震怒,結束中立,最終加入到對德作戰的行列。
第一次世界大戰期間,1917年1月17日,英軍截獲了一份以德國最高外交密碼 0075加密的電報。這個令人無法想像的密碼系統由1萬個詞和片語組成,與1000個數字碼群對應。
密電來自德國外交部長阿瑟·齊麥曼,傳送給德國駐華盛頓大使約翰·馮·貝倫朵爾夫,然後繼續傳給德國駐墨西哥大使亨尼希·馮·艾克哈爾特。電文將在那裡解密,最後要交給墨西哥總統瓦律斯提阿諾·加漢扎。
密件從柏林經美國海底電纜送到了華盛頓。英軍在那裡將其截獲並意識到了它的重要性。
英國密碼破譯專家開始全力以赴進行破譯,然而,面對這個未曾被破譯的新外交密碼系統,專家們絞盡腦筋仍一籌莫展。 令英國密碼破譯專家意想不到的機遇降臨了。
接到密件的德國駐華盛頓大使約翰·馮·貝倫朵爾夫在他的華盛頓辦公室里犯下了致命的錯誤:他們在將電報用新的0075密件本譯出後,卻又用老的密件本將電報加密後傳送到墨西哥城。大使沒有意識到,他已經犯下了一個密碼使用者所能犯的最愚蠢的、最可悲的錯誤。
沒過多久,已經破譯了老密碼的英方便從德國大使的糊塗操作中獲得了新舊密碼的比較版本。英國的解碼人員開始了艱苦的工作:將密件在舊密碼中譯出,用紙筆建構模型。
隨著齊麥曼的密件逐漸清晰,電報內容浮現出來,其重要性令人吃驚。 當時的情況是,盡管1915年美國的遠洋客輪「露斯塔尼亞」號被德軍擊沉,但只要德國此後對其潛艇的攻擊行動加以限制,美國仍將一直保持中立。
齊麥曼的電文概括了德國要在1917年2月1日重新開始無限制海戰以抑制英國的企圖。為了讓美國無暇他顧,齊麥曼建議墨西哥入侵美國,宣布得克薩斯州、新墨西哥州和亞利桑那州重新歸其所有。
德國還要墨西哥說服日本進攻美國,德國將提供軍事和資金援助。 英國海軍部急於將破譯的情報通知美國,但同時又不能讓德國知道其密碼已被破譯。
於是,英國的一個特工成功地滲入了墨西哥電報局,得到了送往墨西哥總統的解了密的文件拷貝。這樣,秘密就可能是由墨西哥方泄露的,它以此為掩護將情報透露給了美國。
美國憤怒了。每個美國人都被激怒了。
原先只是東海岸的人在關心戰局的進展,現在整個美國都開始擔心墨西哥的舉動。電文破譯後6個星期,美國總統伍德羅·威爾遜宣布美國對德宣戰。
此時,站在他背後的是一個團結起來的憤怒的國家。齊麥曼的電文使整個美國相信德國是國家的敵人。
這次破譯由此也被稱為密碼學歷史上最偉大的密碼破譯。
《山海經》之中,雄性的性狂想,只是很小很小的一部分,實際上,這部書里充斥著大量的原始性崇拜與性啟蒙。
書中的許多故事,如果出現在歐洲,出現在美洲,肯定是早就被解讀出來了。但是中國是一個含蓄的國度,雖然中國人口很多,生育率居高不下,但這種事情,做是可以做的,誰要是說出來,那可不見得是好事。
所以中國人有話要說,那我們就只能聽到神乎其神的神話:在西北方的海外,赤水的北岸,有座章尾山。山上住著一個神,長著人的面孔、蛇的身子而全身是紅色,身子長達一千里,豎立生長的眼睛正中合成一條縫,他閉上眼睛就是黑夜、睜開眼睛就是白晝,不吃飯、不睡覺、不呼吸,只以風雨為食物。
他能照耀陰暗的地方,所以稱作燭龍。 我們可以發現,神祇燭陰是男性性特徵的誇張表現,而神燭龍,卻是女性性特徵的極度誇張。
明白了,這個怪神,雖然是對女性性特徵的強烈誇張,但仍然充滿了男性的狂想。 在這里,男人渴望著這樣一種女人,她們不挑不揀、不嫌貧,任何時候都不會拒絕男人,這樣的話,男人就不需要打拚奮鬥了,不需要賺錢糊口了,只需要和女人沒日沒夜地歡愛下去,直到地久天長、地老天荒…… 不客氣地講,男人的性狂想走到這步,就有點距現實太遠了,所以這兩段禁忌性文字,即使化身於兩個奇怪的神,也仍然無法登堂入室,進入大眾的視線。
但是這種性狂想仍然存在,所以燭陰和燭龍這兩個怪神,說不定什麼時候還會躥出來,讓人們大吃一驚。除了燭陰和燭龍這兩個性神之外,在《山海經》中,甚至連雷神都帶有著明顯的性特徵。
雷澤中有一位雷神,長著龍的身子人的頭,他一鼓起肚子就響雷。這個雷神的姿勢好怪異……這個雷神,不過是原始社會時期的慾望之神,它很像是非洲土著部落中掌握了部落權力的酋長,將生殖器官用竹木誇張地裝飾起來,天天晃盪著在女原始人面前炫耀,要命的是,這些裝飾物雖然華美龐大,而且還會弄出巨大的音響效果,可是這些飾物一取掉,原始野男人就立即現了原形…… 正因為原形讓人沮喪,所以原始人最愛誇張自己的突凸之物,最愛炫耀自己的性能力——現代文明人也愛這么干,到目前為止,這種誇張與炫耀,仍然是男人的一種習慣與風格。
中國是世界上最早使用密碼的國家之一。而最難破解的「密電碼」也是中國人發明的。
反切注音方法出現於東漢末年,是用兩個字為另一個字注音,取上字的聲母和下字的韻母,「切」出另外一個字的讀音。「反切碼」就是在這種反切拼音基礎上發明的,發明人是著名的抗倭將領、軍事家戚繼光。戚繼光還專門編了兩首詩歌,作為「密碼本」:一首是:「柳邊求氣低,波他爭日時。鶯蒙語出喜,打掌與君知」;另一首是:「春花香,秋山開,嘉賓歡歌須金杯,孤燈光輝燒銀缸。之東郊,過西橋,雞聲催初天,奇梅歪遮溝。」
這兩首詩歌是反切碼全部秘密所在。取前一首中的前15個字的聲母,依次分別編號1到15;取後一首36字韻母,順序編號1到36。再將當時字音的八種聲調,也按順序編上號碼1到8,形成完整的「反切碼」體系。使用方法是:如送回的情報上的密碼有一串是5-25-2,對照聲母編號5是「低」,韻母歌編號25是「西」,兩字的聲母和韻母合到一起了是di,對照聲調是2,就可以切出「敵」字。戚繼光還專門編寫了一本《八音字義便覽》,作為訓練情報人員、通信兵的教材。
『叄』 密碼技術(十一)之密鑰
——秘密的精華
在使用對稱密碼、公鑰密碼、消息認證碼、數字簽名等密碼技術使用,都需要一個稱為 密鑰 的巨大數字。然而,數字本身的大小並不重要,重要的是 密鑰空間的大小 ,也就是可能出現的密鑰的總數量,因為密鑰空間越大,進行暴力破解就越困難。密鑰空間的大小是由 密鑰長度 決定的。
對稱密碼DES的密鑰的實質長度為56比特(7個位元組)。
例如,
一個DES密鑰用二進制可以表示為:
01010001 11101100 01001011 00010010 00111101 01000010 00000011
用十六進制則可以表示為:
51 EC 4B 12 3D 42 03
而用十進制則可以表示為:
2305928028626269955
在對稱密碼三重DES中,包括使用兩個DES密鑰的DES-EDE2和使用三個DES密鑰的DES-EDE3這兩種方式。
DES-EDE2的密鑰長度實質長度為112比特(14位元組),比如:
51 EC 4B 12 3D 42 03 30 04 D8 98 95 93 3F
DES-EDE3的密鑰的實質長度為168比特(21位元組),比如:
51 EC 4B 12 3D 42 03 30 04 D8 98 95 93 3F 24 9F 61 2A 2F D9 96
對稱密碼AES的密鑰長度可以從128、192和256比特中進行選擇,當密鑰長度為256比特時,比如:
51 EC 4B 12 3D 42 03 30 04 D8 98 95 93 3F 24 9F 61 2A 2F D9 96
B9 42 DC FD A0 AE F4 5D 60 51 F1
密鑰和明文是等價的 。假設明文具有100萬的價值,那麼用來加密這段明文的密鑰也就是具有100萬元的價值;如果明文值1億元,密鑰也就值1億元;如果明文的內容是生死攸關的,那麼密鑰也同樣是生死攸關的。
在對稱密碼中,加密和解密使用同一個密鑰。由於發送者和接收者需要共享密鑰,因此對稱密碼又稱為共享密鑰密碼。對稱密碼中所使用的密鑰必須對發送者和接收者以外的人保密,否則第三方就能夠解密了。
在消息認證碼中,發送者和接收者使用共享的密鑰來進行認證。消息認證碼只能由持有合法密鑰的人計算出來。將消息認證碼附加在通信報文後面,就可以識別通信內容是否被篡改或偽裝,由於「持有合法的密鑰」就是發送者和接收者合法身份的證明,因此消息認證碼的密鑰必須對發送者以外的人保密,否則就會產生篡改和偽裝的風險。
在數字簽名中,簽名生成和驗證使用不同的密鑰,只有持有私鑰的本人才能夠生成簽名,但由於驗證簽名使用的是公鑰,因此任何人都能夠驗證簽名。
對稱密碼和公鑰密碼的密鑰都是用於確保機密性的密鑰。如果不知道用於解密的合法密鑰,就無法得知明文的內容。
相對地,消息認證碼和數字簽名所使用的密鑰,則是用於認證的密鑰。如果不知道合法的密鑰,就無法篡改數據,也無法偽裝本人的身份。
當我們訪問以https://開頭的網頁時,Web伺服器和瀏覽器之間會進行基於SSL/TLS的加密通信。在這樣的通信中所使用的密鑰是僅限於本次通信的一次密鑰,下次通信時就不能使用了,想這樣每次通信只能使用一次的密鑰稱為 會話密鑰 。
由於會話密鑰只在本次通信中有效,萬一竊聽者獲取了本次通信的會話密鑰,也只能破譯本次通信的內容。
雖然每次通信都會更換會話密鑰,但如果用來生成密鑰的偽隨機數生成器品質不好,竊聽者就有可能預測出下次生成會話密鑰,這樣就會產生通信內容被破譯的風險。
相對於每次通信更換的會話密鑰,一直被重復使用的密鑰稱為 主密鑰 。
一般來說,加密的對象是用戶直接使用的信息,這樣的情況下所使用的密鑰稱為CEK(Contents Encryting Key,內容加密密鑰);相對地,用於加密密鑰的密鑰則稱為KEK(Key Encryting Key,密鑰加密密鑰)。
在很多情況下,之前提到的會話密鑰都是被作為CEK使用的,而主密鑰則是被作為KEK使用的。
生成密鑰的最好方法就是使用隨機數,因為米喲啊需要具備不易被他人推測的性質。在可能的情況下最好使用能夠生成密碼學上的隨機數的硬體設備,但一般我們都是使用偽隨機數生成器這一專門為密碼學用途設計的軟體。
在生成密鑰時,不能自己隨便寫出一些像「3F 23 52 28 E3....」這樣的數字。因為盡管你想生成的是隨機的數字,但無論如何都無法避免人為偏差,而這就會成為攻擊者的目標。
盡管生成偽隨機數的演算法有很多種,但密碼學用途偽隨機生成器必須是專門針對密碼學用途而設計的。例如,有一些偽隨機數生成器可以用於游戲和模擬演算法,盡管這些偽隨機數生成器所生成的數列看起也是隨機的,但只要不是專門為密碼學用途設計的,就不能用來生成密鑰,因為這些偽隨機數生成器不具備不可預測性這一性質。
有時候我們也會使用人類的可以記住的口令(pasword或passphrase)來生成密鑰。口令指的是一種由多個單片語成的較長的password。
嚴格來說,我們很少直接使用口令來作為密鑰使用,一般都是將口令輸入單向散列函數,然後將得到的散列值作為密鑰使用。
在使用口令生成密鑰時,為了防止字典攻擊,需要在口令上附加一串稱為鹽(salt)的隨機數,然後在將其輸入單向散列函數。這種方法稱為「基於口令的密碼(Password Based Encryption,PBE)」。
在使用對稱密碼時,如何在發送者和接收者之間共享密鑰是一個重要的問題,要解決密鑰配送問題,可以採用事先共享密鑰,使用密鑰分配中心,使用公鑰密碼等方法,除了上述方法,之前還提到一種解決密鑰配送的問題的方法稱為Diffie-Hellman密鑰交換。
有一種提供通信機密性的技術稱為 密鑰更新 (key updating),這種方法就是在使用共享密鑰進行通信的過程中,定期更改密鑰。當然,發送者和接收者必須同時用同樣的方法來改變密鑰才行。
在更新密鑰時,發送者和接收者使用單向散列函數計算當前密鑰的散列值,並將這個散列值用作新的密鑰。簡單說,就是 用當前密鑰散列值作為下一個密鑰 。
我們假設在通信過程中的某個時間點上,密鑰被竊聽者獲取了,那麼竊聽者就可以用這個密鑰將之後的通信內容全部解密。但是,竊聽者卻無法解密更新密鑰這個時間點之前的內容,因為這需要用單向散列函數的輸出反算出單向散列函數的輸入。由於單向散列函數具有單向性,因此就保證了這樣的反算是非常困難的。
這種防止破譯過去的通信內容機制,稱為 後向安全 (backward security)。
由於會話密鑰在通信過程中僅限於一次,因此我們不需要保存這種秘密。然而,當密鑰需要重復使用時,就必須要考慮保存密鑰的問題了。
人類是 無法記住具有實用長度的密鑰 的。例如,像下面這樣一個AES的128比特的密鑰,一般人是很難記住的。
51 EC 4B 12 3D 42 03 30 04 DB 98 95 93 3F 24 9F
就算勉強記住了,也只過不是記住一個密鑰而已。但如果要記住多個像這樣的密鑰並且保證不忘記,實際上是非常困難的。
我們記不住密鑰,但如果將密鑰保存下來又可能會被竊取。這真是一個頭疼的問題。這個問題很難得到徹底解決,但我們可以考慮一些合理的解決方法。
將密鑰保存生文件,並將這個文件保存在保險櫃等安全地方。但是放在保險櫃里的話,出門就無法使用了。這種情況,出門時就需要隨身攜帶密鑰。而如果將密鑰放在存儲卡隨身攜帶的話,就會產生存儲卡丟失、被盜等風險。
萬一密鑰被盜,為了能夠讓攻擊者花更多的時間才能真正使用這個密鑰,我們可以使用將密鑰加密後保存的方法,當然,要將密鑰加密,必須需要另一個密鑰。像這樣用於密碼加密的密鑰,一般稱為KEK。
對密鑰進行加密的方法雖然沒有完全解決機密性的問題,但在現實中卻是一個非常有效地方法,因為這樣做可以減少需要保管密鑰的數量。
假設計算機上有100萬個文件,分別使用不同的密鑰進行加密生成100萬個密文,結果我們手上就產生了100萬個密鑰,而要保管100萬個密鑰是很困難的。
於是,我們用一個密鑰(KEK)將這100萬個密鑰進行加密,那麼現在我們只要保管者一個KEK就可以了,這一個KEK的價值相當於簽名的100萬個密鑰的價值的總和。
用1個密鑰來代替多個密鑰進行保管的方法,和認證機構的層級化非常相似。在後者中,我們不需要信任多個認證機構,而只需要信任一個根CA就可以了。同樣的,我們也不需要確保多個密鑰的機密性,而只需要確保一個KEK的機密性就可以了。
密鑰的作廢和生成是同等重要的,這是因為密鑰和明文是等價的。
假設Alice向Bob發送了一封加密郵件。Bob在解密之後閱讀了郵件的內容,這時本次通信所使用的密鑰對於Alice和Bob來說就不需要了。不在需要的密鑰必須妥善刪除,因為如果被竊聽者Eve獲取,之前發送的加密郵件就會被解密。
如果密鑰是計算機上的一個文件,那麼僅僅刪除這個文件是不足以刪除密鑰的,因為有一些技術能夠讓刪除的文件「恢復」。此外,很多情況下文件的內容還會殘留在計算機的內存中,因此必須將這些痕跡完全抹去。簡而言之,要完全刪除密鑰,不但要用到密碼軟體,還需要在設計計算機系統時對信息安全進行充分的考慮
如果包含密鑰的文件被誤刪或者保管密鑰的筆記本電腦損壞了,會怎麼樣?
如果丟失了對稱密鑰密碼的共享密鑰,就無法解密密文了。如果丟失了消息認證碼的密鑰,就無法向通信對象證明自己的身份了。
公鑰密碼中,一般不太會發送丟失公鑰的情況,因為公鑰是完全公開的,很有可能在其他電腦上存在副本。
最大的問題是丟失公鑰密碼的私鑰。如果丟失了公鑰密碼的私鑰,就無法解密用公鑰密碼加密的密文了。此外,如果丟失了數字簽名的私鑰,就無法生成數字簽名了。
Diffie-Hellman密鑰交換(Diffie-Hellman key exchange)是1976年由Whitfield Diffie和Martin Hellman共同發明的一種演算法。使用這種演算法,通信雙方僅通過交換一些可以公開的信息就能夠生成共享秘密數字,而這一秘密數字就可以被用作對稱密碼的密鑰。IPsec 中就使用了經過改良的Diffie-Hellman密鑰交換。
2 Alice 生成一個隨機數A
A是一個1 ~ P-2之間的整數。這個數是一個只有Alice知道的密碼數字,沒有必要告訴Bob,也不能讓Eve知道。
Alice計算出的密鑰=Bob計算出的密鑰
在步驟1-7中,雙方交換數字一共有4個,P、G、G A mod P 和 G B mod P。根據這4個數字計算出Alice和Bob的共享密鑰是非常困難的。
如果Eve能歐知道A和B的任意一個數,那麼計算G A*B 就很容易了,然而僅僅根據上面的4個數字很難求出A和B的。
根據G A mod P 計算出A的有效演算法到現在還沒有出現,這問題成為有限域(finite field) 的 離散對數問題 。
Diffie-Hellman密鑰交換是利用了「離散對數問題」的復雜度來實現密鑰的安全交換的,如果將「離散對數問題」改為「橢圓曲線上離散對數問題」,這樣的演算法就稱為 橢圓曲線Diffie-Hellman 密鑰交換。
橢圓曲線Diffie-Hellman密鑰交換在總體流程上是不變的,只是所利用的數學問題不同而已。橢圓曲線Diffie-Hellman密鑰交換能夠用較短的密鑰長度實現較高的安全性。
基於口令密碼(password based encryption,PBE)就是一種根據口令生成密鑰並用該密鑰進行加密的方法。其中加密和解密使用同一個密鑰。
PBE有很多種實現方法。例如RFC2898和RFC7292 等規范中所描述的PBE就通過Java的javax.crypto包等進行了實現。此外,在通過密碼軟體PGP保存密鑰時,也會使用PBE。
PBE的意義可以按照下面的邏輯來理解。
想確保重要消息的機制性。
↓
將消息直接保存到磁碟上的話,可能被別人看到。
↓
用密鑰(CEK)對消息進行加密吧。
↓
但是這次又需要確保密鑰(CEK)的機密性了。
↓
將密鑰(CEK)直接保存在磁碟上好像很危險。
↓
用另一個密鑰(KEK)對密鑰進行加密(CEK)吧。
↓
等等!這次又需要確保密鑰(KEK)的機密性了。進入死循環了。
↓
既然如此,那就用口令來生成密鑰(KEK)吧。
↓
但只用口令容易遭到字典攻擊
↓
那麼就用口令和鹽共同生成密鑰(KEK)吧。
↓
鹽可以和加密後的密鑰(CEK)一切保存在磁碟上,而密鑰(KEK)可以直接丟棄。
↓
口令就記在自己的腦子里吧。
PBE加密包括下列3個步驟:
鹽是由偽隨機數生成器生成的隨機數,在生成密鑰(KEK)時會和口令一起被輸入單向散列函數。
密鑰(KEK)是根據秘密的口令生成的,加鹽好像沒有什麼意義,那麼鹽到底起到什麼作用呢?
鹽是用來防禦字典攻擊的 。字典攻擊是一種事先進行計算並准備好候選密鑰列表的方法。
我們假設在生成KEK的時候沒有加鹽。那麼主動攻擊者Mallory就可以根據字典數據事先生成大量的候選KEK。
在這里,事先是很重要的一點。這意味著Mallory可以在竊取到加密會話的密鑰之前,就准備好了大量的候選KEK。當Mallory竊取加密的會話密鑰後,就需要嘗試將它解密,這是准備好了大量事先生成的候選KEK,就能夠大幅度縮短嘗試的時間,這就是 字典攻擊 (dictionary attack)。
如果在生成KEK時加鹽,則鹽的長度越大,候選KEK的數量也會隨之增大,事先生成的的候選KEK就會變得非常困難。只要Mallory還沒有得到鹽,就無法生成候選KEK。這是因為加鹽之後,候選KEK的數量會變得非常巨大。
具有充足長度的密鑰是無法用人腦記憶的。口令也是一樣,我們也無法記住具有充足比特數的口令。
在PBE中,我們通過口令生成密鑰(KEK),在用這個密鑰來加密會話密鑰(CEK)。由於通過口令生成的密鑰(KEK)強度不如由偽隨機數生成器生成的會話密鑰(CEK),這就好像是將一個牢固的保險櫃的鑰匙放在了一個不怎麼牢固的保險櫃保管,因此在使用基於口令的密鑰時,需要將鹽和加密後的CEK通過物理方法進行保護。例如將鹽和加密後的CEK保存到存儲卡隨身攜帶。
在生成KEK時,通過多次使用單向散列函數就可以提高安全性。例如,將鹽和口令輸入單向散列函數,進行1000次的散列函數所得到的散列值作為KEK來使用,是一個不錯的方法。
像這樣將單向散列函數進行多次迭代的方法稱為 拉伸 (stretching)。
該系列的主要內容來自《圖解密碼技術第三版》
我只是知識的搬運工
文章中的插圖來源於原著
『肆』 數據加密主要有哪些方式
主要有兩種方式:「對稱式」和「非對稱式」。
對稱式加密就是加密和解密使用同一個密鑰,通常稱之為「Session Key 」這種加密技術目前被廣泛採用,如美國政府所採用的DES加密標准就是一種典型的「對稱式」加密法,它的Session Key長度為56Bits。
非對稱式加密就是加密和解密所使用的不是同一個密鑰,通常有兩個密鑰,稱為「公鑰」和「私鑰」,它們兩個必需配對使用,否則不能打開加密文件。這里的「公鑰」是指可以對外公布的,「私鑰」則不能,只能由持有人一個人知道。它的優越性就在這里,因為對稱式的加密方法如果是在網路上傳輸加密文件就很難把密鑰告訴對方,不管用什麼方法都有可能被別竊聽到。而非對稱式的加密方法有兩個密鑰,且其中的「公鑰」是可以公開的,也就不怕別人知道,收件人解密時只要用自己的私鑰即可以,這樣就很好地避免了密鑰的傳輸安全性問題。
一般的數據加密可以在通信的三個層次來實現:鏈路加密、節點加密和端到端加密。(3)
鏈路加密
對於在兩個網路節點間的某一次通信鏈路,鏈路加密能為網上傳輸的數據提供安全證。對於鏈路加密(又稱在線加密),所有消息在被傳輸之前進行加密,在每一個節點對接收到消息進行解密,然後先使用下一個鏈路的密鑰對消息進行加密,再進行傳輸。在到達目的地之前,一條消息可能要經過許多通信鏈路的傳輸。
由於在每一個中間傳輸節點消息均被解密後重新進行加密,因此,包括路由信息在內的鏈路上的所有數據均以密文形式出現。這樣,鏈路加密就掩蓋了被傳輸消息的源點與終點。由於填充技術的使用以及填充字元在不需要傳輸數據的情況下就可以進行加密,這使得消息的頻率和長度特性得以掩蓋,從而可以防止對通信業務進行分析。
盡管鏈路加密在計算機網路環境中使用得相當普遍,但它並非沒有問題。鏈路加密通常用在點對點的同步或非同步線路上,它要求先對在鏈路兩端的加密設備進行同步,然後使用一種鏈模式對鏈路上傳輸的數據進行加密。這就給網路的性能和可管理性帶來了副作用。
在線路/信號經常不通的海外或衛星網路中,鏈路上的加密設備需要頻繁地進行同步,帶來的後果是數據丟失或重傳。另一方面,即使僅一小部分數據需要進行加密,也會使得所有傳輸數據被加密。
在一個網路節點,鏈路加密僅在通信鏈路上提供安全性,消息以明文形式存在,因此所有節點在物理上必須是安全的,否則就會泄漏明文內容。然而保證每一個節點的安全性需要較高的費用,為每一個節點提供加密硬體設備和一個安全的物理環境所需要的費用由以下幾部分組成:保護節點物理安全的雇員開銷,為確保安全策略和程序的正確執行而進行審計時的費用,以及為防止安全性被破壞時帶來損失而參加保險的費用。
在傳統的加密演算法中,用於解密消息的密鑰與用於加密的密鑰是相同的,該密鑰必須被秘密保存,並按一定規則進行變化。這樣,密鑰分配在鏈路加密系統中就成了一個問題,因為每一個節點必須存儲與其相連接的所有鏈路的加密密鑰,這就需要對密鑰進行物理傳送或者建立專用網路設施。而網路節點地理分布的廣闊性使得這一過程變得復雜,同時增加了密鑰連續分配時的費用。
節點加密
盡管節點加密能給網路數據提供較高的安全性,但它在操作方式上與鏈路加密是類似的:兩者均在通信鏈路上為傳輸的消息提供安全性;都在中間節點先對消息進行解密,然後進行加密。因為要對所有傳輸的數據進行加密,所以加密過程對用戶是透明的。
然而,與鏈路加密不同,節點加密不允許消息在網路節點以明文形式存在,它先把收到的消息進行解密,然後採用另一個不同的密鑰進行加密,這一過程是在節點上的一個安全模塊中進行。
節點加密要求報頭和路由信息以明文形式傳輸,以便中間節點能得到如何處理消息的信息。因此這種方法對於防止攻擊者分析通信業務是脆弱的。
端到端加密
端到端加密允許數據在從源點到終點的傳輸過程中始終以密文形式存在。採用端到端加密,消息在被傳輸時到達終點之前不進行解密,因為消息在整個傳輸過程中均受到保護,所以即使有節點被損壞也不會使消息泄露。
端到端加密系統的價格便宜些,並且與鏈路加密和節點加密相比更可靠,更容易設計、實現和維護。端到端加密還避免了其它加密系統所固有的同步問題,因為每個報文包均是獨立被加密的,所以一個報文包所發生的傳輸錯誤不會影響後續的報文包。此外,從用戶對安全需求的直覺上講,端到端加密更自然些。單個用戶可能會選用這種加密方法,以便不影響網路上的其他用戶,此方法只需要源和目的節點是保密的即可。
端到端加密系統通常不允許對消息的目的地址進行加密,這是因為每一個消息所經過的節點都要用此地址來確定如何傳輸消息。由於這種加密方法不能掩蓋被傳輸消息的源點與終點,因此它對於防止攻擊者分析通信業務是脆弱的。