出品:科普中國
作者:欒春陽(清華大學(xué)物理系)
監(jiān)制:中國科普博覽
密碼學(xué)是一門古老且不斷發(fā)展的學(xué)科,它利用加密技術(shù)來保護(hù)信息的安全性,從而防止不法分子進(jìn)行訪問和竊聽。
在當(dāng)今的信息時(shí)代,密碼學(xué)不僅僅在個(gè)人通信、電子支付、文件加密等日常生活方面發(fā)揮著重要作用,在商業(yè)機(jī)密、網(wǎng)絡(luò)信息安全等領(lǐng)域也十分關(guān)鍵
密碼鎖
(圖片來源:veer圖庫)
密碼學(xué)的歷史十分悠久,最早可以追溯到數(shù)千年前的古文明時(shí)期,并且隨著人類文明的發(fā)展日趨成熟。可以說,密碼學(xué)就像一個(gè)默默無聞的守護(hù)者,一直在忠實(shí)地守護(hù)著我們的信息安全。
密碼的獨(dú)白——可能大家一直誤解我了
談到密碼,相信大家一定不會感到陌生。然而,大家常說的“密碼”可能并非真正的密碼。
筆記本電腦和個(gè)人數(shù)據(jù)示意圖
(圖片來源:veer圖庫)
當(dāng)你使用手機(jī)或者登錄電腦的時(shí)候,可能會使用一串字符來解鎖設(shè)備;當(dāng)進(jìn)行指紋識別、面部識別和語音解鎖時(shí),也會利用自身特定的生物信息來驗(yàn)證個(gè)人的隱私信息。然而,以上這些情景中的“密碼”都不是真正的密碼,它們只是一種特定的“暗號”或者信息。
真正的密碼只被用于保密通信中,它會將信息的發(fā)送方和接收方原本公開的信息,經(jīng)過特定的處理,變成只有雙方能夠讀懂的加密信息。也就是說,密碼只存在于信息傳輸中的雙方手中,而不法分子即使竊聽他們的通信過程,也無法讀懂他們雙方之間傳遞的信息。
保密通信示意圖
(圖片來源:veer圖庫)
一般而言,信息的發(fā)送方和接收方會有“加密”和“解密”兩個(gè)重要步驟。這里的“加密”是指,發(fā)送方將原本需要保密的信息(明文),經(jīng)過特定的規(guī)則變換后,形成外界看不懂的加密信息(密文);而“解密”正好相反,在該過程中,接收方會將密文推導(dǎo)變回明文。
而這種特定的變換規(guī)則,一般是傳輸雙方提前溝通好的某種編碼,它就像一把開啟信息的鑰匙,因此也被稱為“密鑰”。信息的發(fā)送方和接收方只要掌握密鑰,就可以獲取加密的信息。當(dāng)然,如果密鑰被不法分子竊取,就會導(dǎo)致整個(gè)密碼體系的失效。
經(jīng)典密碼學(xué)——只有你想不到,沒有我用不到
早期的密碼設(shè)計(jì)以及破譯往往比較“隨意”,并且經(jīng)常取材于一些意想不到的生活素材。比如,傳遞機(jī)密信息的密碼棒,調(diào)整字母順序的“凱撒密碼”,以及隱藏于文學(xué)作品中的詩歌密碼等。
可以說,經(jīng)典密碼更像是一種腦筋急轉(zhuǎn)彎的智力游戲,它會不斷地選擇特定的加密規(guī)則,從而保證信息的安全。
大約在公元前七世紀(jì),古希臘人就發(fā)明了一種圓木棍來傳遞加密信息。這種很早期的加密方式十分有趣,它只需要兩根同樣粗細(xì)的圓木棍就可以完成。
古希臘時(shí)期用以加密的圓木棍(Scytale)
(圖片來源:Wikipedia)
第一步,發(fā)送方將長條狀的羊皮紙纏繞在圓木棍上,然后在羊皮紙上書寫下要傳遞的信息;第二步,解下羊皮紙來形成毫無規(guī)律的字符,并且將羊皮紙進(jìn)行傳輸;第三步,接收方使用同樣粗細(xì)的圓木棍來纏繞羊皮紙,就可以正確讀取原本傳遞的加密信息。
這種利用圓木棍來實(shí)現(xiàn)信息加密和解密的方式,雖然有趣且簡易,但也存在十分嚴(yán)重的泄密風(fēng)險(xiǎn)。例如,竊密者只需要知道圓木棍的尺寸,就可以悄無聲息地持續(xù)竊取加密信息。因此,這種加密方式雖然極富創(chuàng)造力,但仍然十分簡易。
隨后在公元前1世紀(jì),羅馬共和國時(shí)期的愷撒采用了一種“替換加密”的方式,來加密重要的機(jī)密情報(bào)。這種替換加密的方式是,將原本未加密信件(明文)中的所有字母,按照英文字母表統(tǒng)一向前或者向后偏移一定數(shù)目,這樣就會產(chǎn)生沒有文字意義的加密信息(密文)。
凱撒密碼“替換加密”示意圖
(圖片來源:Wikipedia)
例如,原本的明文單詞是“hello world”,那如果將每個(gè)字母都按照字母表向后移7位(h→o, e→l, l→s, o→v, w→d, r→y, l→s, d→k),就會生成奇怪的“olssv dvysk”。在這里,按照字母表移動(dòng)的數(shù)目就是“密鑰”,而這種替換加密的方式也被稱為“凱撒密碼”。
相比于最初的圓木棍加密,凱撒密碼在技術(shù)上已經(jīng)有了比較明顯的提升,但仍然十分容易被破解。這是因?yàn)橛⑽淖帜副硪还簿?6位,可能的偏移量也只有26-1=25個(gè),因此,竊密者可以采用窮舉法來逐個(gè)嘗試讀取加密的信息。
此外,還有很多有趣的加密方式,例如,我國古代的藏頭詩,還有西方中世紀(jì)的騎士們會使用詩歌密碼來保護(hù)重要信息。而在很多影視作品中,我們也仍然能夠看到用時(shí)通時(shí)斷的信號代碼,來表達(dá)不同的字符信息的摩斯密碼。
現(xiàn)代密碼學(xué)——就算你想到了,你也得不到
古典密碼學(xué)雖然十分有趣并且極富創(chuàng)造力,但也存在兩個(gè)顯而易見的致命缺陷:首先,竊密者總是可以在有限的時(shí)間內(nèi),嘗試出正確的解密方式(密鑰);其次,加密信息的發(fā)送方和接收方無法知曉,竊聽者是否已經(jīng)獲取解密的密鑰,他們只能定期不斷地更新密鑰來降低泄密概率。
因此,古典密碼的這種加密方式存在極大的泄密風(fēng)險(xiǎn)。而如果要進(jìn)一步提高加密的等級,就需要采用一種“耗盡竊密時(shí)間”的現(xiàn)代加密方式,來守護(hù)我們的機(jī)密信息。
RSA示意圖,密碼與網(wǎng)絡(luò)安全
(圖片來源:veer圖庫)
打個(gè)比方,問大家一道計(jì)算題,71×83等于多少?
相信大家很容易算出結(jié)果:5893。然而,如果反過來問,5893這個(gè)數(shù)字是由哪兩個(gè)整數(shù)相乘得到的(乘數(shù)不能為1),那估計(jì)大家要花不少的時(shí)間來逐個(gè)驗(yàn)證可能的乘法組合。
那如果進(jìn)一步增加難度,再給大家出一道計(jì)算題,149284569961這個(gè)數(shù)是由哪兩個(gè)不為1的整數(shù)相乘得到的呢?
相信大家已經(jīng)沒興趣開始進(jìn)行逐個(gè)手動(dòng)計(jì)算了(149284569961= 363017×411233),這是因?yàn)椋谱g信息所需的時(shí)間已經(jīng)遠(yuǎn)遠(yuǎn)超過可以承受的范圍。
而這種基于大數(shù)的極難分解的數(shù)學(xué)規(guī)則,建立起來的現(xiàn)代密碼體系就是著名的RSA密碼系統(tǒng)。實(shí)際上,目前被廣泛應(yīng)用的是1024位的加密密鑰,即使采用超級計(jì)算機(jī)來逐個(gè)搜索密鑰結(jié)果,也需要至少上百年的時(shí)間。
現(xiàn)代密碼體系的示意圖
(圖片來源:Wikipedia)
也就是說,即使不法分子知道信息傳遞的雙方都采用RSA加密的規(guī)則,也無法在有限的時(shí)間內(nèi)破譯密碼,從而保證加密信息近乎100%的安全。因此,現(xiàn)代密碼學(xué)主要是基于極度復(fù)雜的數(shù)學(xué)處理與計(jì)算,來保證加密信息的安全。
結(jié)語
在信息互聯(lián)網(wǎng)的時(shí)代,通信變得前所未有的便捷,但也伴隨著更高的風(fēng)險(xiǎn)。密碼學(xué),這個(gè)信息安全的守護(hù)神,走過了一個(gè)豐富多彩的歷程,不斷進(jìn)化和創(chuàng)新。
然而,伴隨著科技的飛速發(fā)展和計(jì)算能力的蓬勃增長,現(xiàn)代密碼學(xué)所依賴的大數(shù)難題也逐漸暴露出風(fēng)險(xiǎn)。特別是量子計(jì)算機(jī)的崛起,給加密帶來了前所未有的挑戰(zhàn)。
量子計(jì)算機(jī)有望輕松破解現(xiàn)今主流的RSA加密系統(tǒng),顛覆目前的安全通信方式。面對這一挑戰(zhàn),我們迫切需要尋找新的保密通信方法。
但別擔(dān)心,我們在下一篇文章將會為你介紹新的保密通信方法。讓我們一同迎接這個(gè)挑戰(zhàn),探索前進(jìn)的道路,創(chuàng)造更安全的數(shù)字未來!