袁欣怡

你一般怎么設置密碼?是用123456,還是用生日?你習慣用同一個密碼“走天下”,還是每個賬號都會專門設置一個不同的密碼?
既然設置密碼時,字母區分大小寫,再搭配一串數字,系統就會提示密碼強度高,那為何這個高強度的密碼最好別直接拿到不同的網站使用?
在隱私越發受重視,信息泄露卻不時發生的互聯網時代,我們到底可以做些什么,來保護好自己的信息?
談論密碼前,
你需要知道的加密算法
無論是想完全防止信息泄露,還是徹底阻攔黑客的攻擊,基本上都是不可能完成的任務,于是,在險象環生的信息安全世界里,人們搭建起了一種防御體系一用合適的算法給密碼加密,防止數據被黑客還原。
相信大家都聽過摩斯密碼,它是一種信號代碼,在這里,我們可以將其視作一種加密算法?,F在,你想給朋友發送”IMissYou”,你需要對照著摩斯密碼表,將字母轉化成時通時斷的信號,再發送給朋友。朋友收到信號之后,只要對照同樣的表格,就可以解密出你的悄悄話了。在密碼學里面,你和朋友使用的摩斯密碼表被稱作“密鑰”,由于你們用的表相同,也就是密鑰相同,因此這種加密算法被稱為“對稱加密算法”。
使用對稱加密算法時,我們所做的其實相當于先將信件裝進一個帶鎖的箱子里,然后郵寄這個箱子。箱子的鑰匙只有寄件和收件的人擁有,因此,就算箱子中途被其他人拿到了也不用怕。因為在對稱加密算法的防御下,密鑰(箱子的鑰匙)是唯一的解鎖工具,暴力破解是行不通的。
這種加密算法高速又高效,防御能力不錯,能把我們的密碼較好地鎖在“箱子”里。但是科技的發展一點兒也不客氣,計算機的計算能力不斷提升,密鑰被破解出來的可能性也升高了。要知道一旦有第三者“配出了鑰匙”,“箱子”就鎖不住了,情況危急啊。
好在,我們的防御體系也在不斷升級,新的加密算法一非對稱加密算法出現了。
此時,我們擁有了兩個密鑰,一個是公開的,一個是私有的。顧名思義,公開密鑰是可以告訴別人的。比如你想給朋友發信息,就得知道朋友的公鑰;信息發送后,朋友只需要用自己的私鑰去解密就行。同樣的,其他知道朋友公鑰的人也可以向他發信息。
這就好比朋友在自家門前放了一個信箱,大家都可以往里面投遞信件,但是能打開信箱取出信件的,就只有朋友自己了。
藏在加密術背后的算法
加密算法的防御力量從何而來呢?藏在加密術背后的大靠山就是數學。支撐著很多流行的加密算法的,則是大數不可分解性。
還記得那些年將我們折磨得死去活來的因式分解計算題嗎?我們知道質數5與質數3相乘等于15,所以當題目要求分解15時,可以很快得到15=5x3這個答案,這個程度的倒是簡單。但是現在,出現在我們眼前的是10949769651859,這個長達14位數的大數,可以分解成哪兩個質數的乘積呢?
這時候,除了笨辦法,拿著已知的質數去一個一個地嘗試外,我們別無他法。雖然經過長時間嘗試后,可以得到答案10949769651859=4220851X2594209(數字取自《上帝擲骰子嗎——量子物理史話》),但是這未免也太低效了!
更可怕的是,當這樣的大數繼續加大時,想要靠嘗試來分解,需要的時間會呈幾何級的增長。哪怕只增加1位數,就要多花3倍多的時間來分解。
非對稱加密算法的防御能力由此可見一斑。雖然計算機的計算能力在不斷提升,破解大數的速度在加快,但是只要我們給大數再增加一兩位數,就又能保證很長一段時間的安全了。
你的密碼還好嗎
知道了防御體系的秘密后,再回過頭來看看我們設置的密碼??雌饋恚艽a的復雜程度似乎并不影響它被破解的難度?并非如此哦,因為我們的密碼,在保存至數據庫中時,就要經過某種加密算法的轉化。
我們可以對比一組數據,當黑客要破解采用了某種算法保存的密碼時,如果密碼有6位數,而且都是數字,那么黑客需要建立一個表格,把大約100萬種可能放進去,然后一一嘗試直至找到正確的排列組合,借助計算機,這并不難;但如果密碼有10位數,而且包含了數字和大小寫字母,那黑客可能得嘗試83億億次才行。何況僅僅裝下這些數據,就大概得要2000萬TB的存儲空間,不管是電腦的存儲空間還是運算能力,這看起來幾乎都是不可能完成的任務啊。由此看來,復雜的密碼的確安全度更高。
既然如此,那為何一個復雜的密碼最好也別在不同的網站間通用呢?這主要是為了以防萬一。萬一這個密碼不小心被泄露破解了,黑客會直接拿著它去別的數據庫試,比如試試這是否也是銀行密碼,畢竟這比去再次破解一個算法要容易多了。
總之,想要抵擋住黑客,我們可以從源頭上,盡可能地做點兒工作。當然,如果你希望走得更遠,比如將來為信息安全世界打造一個最強防御體系,那就得在數學領域深耕了。若是再進一步,讓數學與物理強強聯手,說不定某一天,你能讓永遠不可能被破解的量子加密術也成為現實呢!