国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

你的密碼安全嗎?

2024-07-22 00:00:00差評君
世界博覽 2024年13期

如果在你的腦海想一個五位數(shù),那么該如何悄無聲息地把這個數(shù)傳遞給我呢?來做個簡單的游戲:假設(shè)你想的數(shù)字是66666或者12345,等等,請將它與“幸運(yùn)數(shù)字”2359相乘,只取結(jié)果的后五位數(shù)告訴我,我就能知道你所想的數(shù)字是什么。準(zhǔn)備好了嗎?將你得到的后五位數(shù)再乘以“終極數(shù)字”12039,結(jié)果的后五位就是你所想的數(shù)字。這個數(shù)字游戲看起來像個魔術(shù),當(dāng)然它還有個更牛的出處——現(xiàn)代密碼學(xué),甚至你的銀行卡、郵件、聊天軟件也和它有著千絲萬縷的聯(lián)系。

天才數(shù)學(xué)家的密碼學(xué)構(gòu)想

克勞德·艾爾伍德·香農(nóng)在1949年發(fā)表的《保密系統(tǒng)的通信理論》一文中,將密碼學(xué)劃分為古典密碼和現(xiàn)代密碼。因?yàn)楝F(xiàn)代密碼學(xué)的理論聽起來太過瘋狂,所以竟被無視了30多年。比如現(xiàn)代密碼學(xué)中的“柯克霍夫原則”指的是:密碼系統(tǒng)應(yīng)該被所有人知道加密方式是什么;再比如“弗納姆加密法”:用一次密碼換一次。這些理論,乍一聽誰受得了。但如果你知道古典密碼的那些故事,你就能理解這些理論是多么合理了。

在古典密碼的時代,密碼學(xué)的概念是比較模糊的,盡管密碼大量被用在軍事領(lǐng)域,但加密方式更像是一種藝術(shù)行為。雖然維基百科中,古典密碼被“總結(jié)為”替換式密碼或移項(xiàng)式密碼又或者兩者混合。但要注意,這里是“總結(jié)為”而不是“定義為”,這就說明古典密碼仍是一個充滿想象力的名詞,是一種“你懂,我懂,他不懂”的藝術(shù)行為。

比如,先秦兵書《六韜》中提到的陰符傳說是由姜太公姜子牙發(fā)明的,為了快速傳遞前方戰(zhàn)報,而不被敵方知曉,他發(fā)明了一種用不同長度的魚竿來傳遞戰(zhàn)報的方法,這也是我國史料記載中最早的軍事密碼。再比如,公元前700年,古希臘軍隊(duì)用一種叫作“密碼棒”的木棍進(jìn)行保密通信。其使用方法是:把長帶狀羊皮紙纏繞在圓木棍上,然后在上面寫字,解下羊皮后上面只有雜亂無章的字符,只有再次以同樣的方式纏繞到同樣粗細(xì)的棍子上,才能看出所寫的內(nèi)容。當(dāng)然除此之外還有很多好玩的古典密碼,比如愷撒密碼、柵欄密碼,等等。

但古典密碼存在一個致命的弱點(diǎn),那就是太“對稱”了。這是什么意思?這里“對稱”有兩層含義,一是古典密碼的加密是可逆的,一旦知道怎么加密,很容易就可以反推出怎么解密。比如隨便抓個活口,就能知道密碼該如何破解;另一層意思則是,不管你如何對“明文”進(jìn)行替換,總會形成一種“明文”和“密文”的一一對應(yīng)關(guān)系。這也存在一個很大的弊端,那就是語言的使用是有規(guī)律性的,比如英文文本“布朗語料庫”對3.5萬億份文稿分析后得出的字母和單詞使用頻率分析報告,換句話說,不管你怎么替換,經(jīng)過多少次替換,只要被截獲的“密文”一多,“明文”總會被頻率分析法推測出來。顯然古典密碼學(xué)家們并沒有很好地解決這個問題,間接證明了古典密碼是有漏洞的。

細(xì)看恩尼格瑪密碼機(jī)

我們理解了加密里的對應(yīng)關(guān)系后,就可以來看看,古典密碼的巔峰之作——二戰(zhàn)時期的恩尼格瑪密碼機(jī)。這臺機(jī)器在加密時,只要在機(jī)器的鍵盤上輸入想要加密的“明文”,而亮起來文字就是被加密好的“密文”。而且“明文”中相同的字母也會被加密成不同“密文”,而且為了防止某個字母加密一圈后出現(xiàn)沒變的情況,恩尼格瑪機(jī)在按下某個鍵的時候,通過齒輪的機(jī)制從物理上直接被切斷了,也就是說,根本不可能出現(xiàn)輸入a,輸出還是a的情況,這樣頻率分析法也就失效了。另外即便知道其運(yùn)作原理也是很難破解的。

最初的恩尼格瑪機(jī)的內(nèi)部有三排帶有“輪紋”的輪盤,每個輪盤上有26個字母,皆可轉(zhuǎn)動。通過計(jì)算(26的三次方)我們可以得出,有1.7萬多種方式設(shè)置輪盤的初始位置。除此之外,為了保險起見它的外側(cè)還附加了一組交換機(jī)制,也就是說,如果連通o和e,當(dāng)按下o,其實(shí)相當(dāng)于是按下了e。假設(shè)我們每次任選6對進(jìn)行交換,根據(jù)概率論這里又產(chǎn)生了1000多億種可能。而后幾代的恩尼格瑪機(jī),甚至一度將輪盤數(shù)量增加到了8個,要逆向推算的運(yùn)算量更是指數(shù)級上升,在沒有計(jì)算機(jī)的時代,想通過逆向窮舉的方式破解幾乎是天方夜譚。況且當(dāng)時的恩尼格瑪機(jī)每天都會更換一次初始方案。這也就說明,當(dāng)天如果算不出結(jié)果,第二天就要推倒重新計(jì)算。這給破解又上了一層難度。

但了解二戰(zhàn)歷史的人都知道,恩尼格瑪機(jī)最終還是被破解了,甚至不用等到計(jì)算機(jī)的誕生。計(jì)算機(jī)之父英國數(shù)學(xué)家艾倫·圖靈破解了恩尼格瑪機(jī)。沒有計(jì)算機(jī)的他是如何做到的?原來,德國人不管用恩尼格瑪機(jī)發(fā)什么信息,都得來一句禮儀上的德語“heil hitler”。這種“嚴(yán)謹(jǐn)又白給”的操作很快就讓圖靈拿到很多明密對應(yīng)的線索,依靠這些線索他和他的同事戈登·韋爾奇曼發(fā)明出一種叫作“炸彈機(jī)”的解密機(jī),于是硬生生地逆向破解了恩尼格瑪機(jī)。所以這又一次說明像古典密碼一樣,知道怎么加密就能知道怎么解密的對稱加密方法,從根本上來說是肯定會被破解的,只不過是時間問題罷了。

二戰(zhàn)中同盟國破解恩尼格瑪機(jī)的過程直到1970年才公開。從那以后,人們對恩尼格瑪機(jī)產(chǎn)生了越來越多的興趣,美國與歐洲的一些博物館也開始展出這些密碼機(jī)。
恩尼格瑪機(jī)內(nèi)部的轉(zhuǎn)子裝置。
這個裝置的右端輸入輪上,有26個觸點(diǎn),分別鏈接鍵盤上的26個字母。

現(xiàn)代密碼學(xué):公鑰與私鑰

有沒有一種加密方式,信息發(fā)出者只知道怎么加密不知道怎么解密,而信息接收者既知道怎么加密又知道怎么解密的方法呢?其實(shí),這就是現(xiàn)代密碼學(xué)的研究方向之一,也就是如何實(shí)現(xiàn)非對稱加密。非對稱加密方式,在古典密碼的基礎(chǔ)上,引入了密鑰的概念,將密鑰分為公鑰和私鑰,公鑰用來加密,私鑰用來解密。這樣即便是把加密方式公開出去,只要私鑰仍然安全,這個加密系統(tǒng)就不會被破解。所以現(xiàn)代密碼學(xué)家們公開加密方式的做法,其實(shí)是不會影響到加密系統(tǒng)安全的。

還記得我們文章開頭的那個魔術(shù)嗎?“幸運(yùn)數(shù)字”2359就是一個公鑰,任何人都可以用它來加密。理論上,我只需要保護(hù)好用來解密的“終極數(shù)字”,也就是私鑰12039,這個過程就是一個簡單的非對稱加密。數(shù)學(xué)原理也很簡單,當(dāng)公鑰與私鑰相乘時你會發(fā)現(xiàn)結(jié)果為28400001,意味著五位以內(nèi)的數(shù)與他們兩個接連相乘后,相當(dāng)于乘了00001。

當(dāng)然這對于應(yīng)用級非對稱加密而言,顯然不夠安全,想更進(jìn)一步,要用到數(shù)學(xué)上一種特殊函數(shù),叫作活板門單向函數(shù),又叫單向陷門函數(shù)。這種函數(shù)正向計(jì)算非常容易,但想反推回去幾乎是一件不可能的事情,不過如果知道某些關(guān)鍵信息,反推也會變得非常容易。如非常著名的RSA算法,銀行、郵件、聊天軟件幾乎所有你能想到的涉及數(shù)字的領(lǐng)域都在它的保護(hù)之下,算得上國民應(yīng)用級了,它的加密原理使用的就是單項(xiàng)陷門函數(shù)。

裝置的中部由同樣帶有26個觸點(diǎn)的多個轉(zhuǎn)輪組成,但與輸入輪有些區(qū)別,在轉(zhuǎn)輪的內(nèi)部額外多了一些雜亂的交換機(jī)制,意味著輸入板的字母每經(jīng)過一個轉(zhuǎn)輪時被替換1次。
而在裝置的末端有一個叫作反射板的裝置,它仍有26個觸點(diǎn),最初輸入的字母,在經(jīng)過許多次替換后,會在這里被重新輸出。
這樣就完成了一次加密流程,可以看出這是多次替換的疊加。但恩尼格瑪機(jī)的點(diǎn)睛之處在于:按下每個字母時用到的加密線路都是不一樣的。因?yàn)樵诿看伟聪骆I盤時,一個特殊的杠桿裝置會帶動轉(zhuǎn)輪轉(zhuǎn)動一次,并且轉(zhuǎn)輪上有一個特殊的“輪紋”,所以當(dāng)前一個轉(zhuǎn)輪轉(zhuǎn)動一周后,后一個轉(zhuǎn)輪也會轉(zhuǎn)動一次。

舉個簡單的例子方便大家理解這個函數(shù)的意義,比如需要加密的“明文”數(shù)字是5,公鑰是(7,33)。按照加密時只需要按照公鑰的數(shù)據(jù)求冪再求余就可以得到“密文”。那么計(jì)算方式就是數(shù)字5求7次方再除以33求余,就可以求得“密文”14。如果想按照怎么加密就怎么解密的思路逆推“明文”,第一步反推就會卡住,因?yàn)閷?3求余得14的數(shù)有無限多種可能,這也意味著這樣無法確定出“明文”到底是什么,但如果持有私鑰(3,33)我們只需要按照私鑰的數(shù)據(jù)對“密文”再次求冪再求余,就可以還原出“明文”5。這就實(shí)現(xiàn)了加密與解密過程的分離,也就是非對稱加密方式。

既然無法反推,那能不能通過公鑰算出私鑰呢?理論上,量子計(jì)算機(jī)倒是行。但由于量子需要錯誤糾正,你操作的量子計(jì)算機(jī)至少需要數(shù)百萬個物理量子比特。而目前最先進(jìn)的量子計(jì)算機(jī)也僅有數(shù)十到數(shù)百量子比特的規(guī)模。這也意味著未來幾十年內(nèi)暴力破解類似RSA算法中的單向陷門函數(shù)基本沒戲。

對現(xiàn)在的我們而言,加密算法已經(jīng)很強(qiáng)大了,但這并不代表著絕對安全。這些強(qiáng)大的加密算法只能保證你銀行卡里的錢不被隨意篡改。但如果使用者防范意識不夠強(qiáng),在某些網(wǎng)站輸入了自己的密碼,又或者用同樣的用戶名和密碼注冊了很多不同的軟件,這些信息都極有可能被黑客拿來進(jìn)行暴力破解。

回看密碼學(xué)的歷史,人似乎一直都是嚴(yán)謹(jǐn)密碼的最大漏洞。正如美國的密碼學(xué)學(xué)者布魯斯·施奈爾所言:“安全就像鏈條,取決于它最薄弱的環(huán)節(jié)?!彪m然密碼學(xué)很枯燥,但我們?nèi)詽M懷熱情,希望更多人知道并意識到,提高警惕保護(hù)好自己,這才是現(xiàn)代密碼學(xué)的終極意義。

(責(zé)編:南名俊岳)

荣成市| 阿合奇县| 峡江县| 梁山县| 新密市| 莒南县| 定日县| 荆州市| 石棉县| 瑞昌市| 札达县| 平潭县| 阿克| 遂川县| 平南县| 荣昌县| 理塘县| 仪陇县| 沾化县| 平顶山市| 遂宁市| 高唐县| 阿拉善左旗| 革吉县| 随州市| 文水县| 临西县| 鲁甸县| 宜昌市| 乌鲁木齐县| 黄大仙区| 大理市| 宿迁市| 手游| 南靖县| 红河县| 大兴区| 兴隆县| 永善县| 德庆县| 庐江县|