與你分享讀書、跑步以及一些生活原則,歡迎關注。
第28篇,全文約1968字,閱讀時長約5分鐘。
在《數學之美》的第17章,吳軍由於很喜歡電視劇《暗算》的構思和演員的表演,給我們科普了密碼學原理。密碼學聽起來很神秘,也比較有趣,那麼密碼學原理究竟是什麼?古代密碼學和現代密碼學又有什麼區別呢?
01密碼學原理
密碼學是研究編制密碼和破譯密碼的技術科學。研究密碼變化的客觀規律,應用於編制密碼以保守通信秘密的,稱為編碼學;應用於破譯密碼以獲取通信情報的,稱為破譯學,總稱密碼學。
密碼是通信雙方按約定的法則進行信息特殊變換的一種重要保密手段。依照這些法則,變明文為密文,稱為加密變換;變密文為明文,稱為脫密變換。密碼在早期僅對文字或數碼進行加、脫密變換,隨著通信技術的發展,對語音、圖像、數據等都可實施加、脫密變換。
進行明密變換的法則,稱為密碼的體制。指示這種變換的參數,稱為密鑰。它們是密碼編制的重要組成部分。密碼體制的基本類型可以分為四種:錯亂——按照規定的圖形和線路,改變明文字母或數碼等的位置成為密文;代替——用一個或多個代替表將明文字母或數碼等代替為密文;密本——用預先編定的字母或數字密碼組,代替一定的詞組單詞等變明文為密文;加亂——用有限元素組成的一串序列作為亂數,按規定的算法,同明文序列相結合變成密文。以上四種密碼體制,既可單獨使用,也可混合使用 ,以編制出各種複雜度很高的實用密碼。
02古代密碼學
古代密碼學是推理時代的密碼學,其理論基礎採用的是邏輯推理,具有很強的規律性。在我國和歐洲古代都有相關記載。
據宋曾公亮、丁度等編撰《武經總要》「字驗」記載,北宋年間,軍隊作戰中曾用一首五言律詩的40個漢字,分別代表40種情況或要求,這種方式已具有了密本體制的特點。
古羅馬時,凱撒大帝為了確保他與遠方的將軍之間的通信不被敵人的間諜所獲知,發明了凱撒(Caesar)密碼。凱撒密碼是把每個字母往前或往後移動特定的若干字位,形成新的字母組合。比如「L dp d whdfkhu」是一串無意義的字符,但若你將每個字母按順序往前移動3位,L往前3位是I,d往前3位是a,p往前3位是m……等,答案就是I am a teacher。
古代密碼學在現代體育競技還有著廣泛的應用。比如我們經常看到籃球或足球比賽中,同隊運動員相互之間打手勢布置戰術就是。
1871年,上海大北水線電報公司選用了6899個漢字,代以四碼數字,成為中國最初的商用明碼本,同時也設計了由明碼本改編為密本及進行加亂的方法。在此基礎上,逐步發展為各種比較複雜的密碼。
雖然古代密碼學發展後期出現了一些幹擾加亂的迷惑方式,比如豬筆加密法、柵欄密碼和後面出現的著名的莫斯密碼,但由於古代密碼基於的是邏輯推理,就相當於要打開這把密碼鎖,你只要想辦法去配一把同樣的鑰匙就可以了,所以古代密碼加密方式還是有比較大的缺陷。
密碼學故事。1914年,德國襲擊俄國海岸,不料因海霧而擱淺,繼而被俄國炮擊,密碼本因此被截取。俄國將密碼本交給技術雄厚的英國情報處,從而打開了德軍密碼組合系統的鑰匙。1917年,英國破譯了德國外長齊默爾曼的電報,促成了美國對德宣戰。1918年11月11日,德國投降,第一次世界大戰至此結束。由此可見,密碼在戰爭中的重要作用。
03現代密碼學
現代密碼學是基於數學算法的密碼學。它是基於一個簡單的數論事實:將兩個大質數相乘十分容易,但是想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。
加密方法有兩種,一種叫對稱加密,一種叫非對稱加密。
加密和解密用的是同一個密鑰的加密算法稱為對稱加密(symmetric encryption)。對稱加密的薄弱之處在於給了太多人的鑰匙。
加密和解密用的不是同一個秘鑰的加密算法叫做非對稱加密(asymmetric encryption)。非對稱加密的經典算法是RSA算法。
每個用戶可以用鎖來加密自己的專有信息。即使被別人竊聽到,也不用擔心。這樣一種它來自於數論與計算機技術的奇妙結合。
04密碼、指紋和人臉識別
隨著技術的發展,密碼、指紋和人臉識別應用場景也越來越廣泛,比如密碼鎖,手機指紋和人臉識別、超市購物人臉識別技術等等。這些高科技後面的實質科學支撐的還是數學算法和數學模型。
以手機指紋識別為例,它分為四個步驟:
第一步:指紋採集。將手指在傳感器上滑過,從而使手機獲取到手指指紋的圖像和細紋。
第二步:指紋評估。對採集的指紋進行質量評估,合格後進行圖像增強和細化特徵。
第三步:提取特徵。通過算法將特徵轉化為數據存儲在手機的特定區域內。
第四步:指紋匹配。也就是解鎖。
我們需要聲明的是:世界上沒有永遠破不了的密碼。關鍵是它能有多長時間的有效期,一種加密方法只要保證50年內計算機破解不了就可以滿意了。
部分圖片來自網絡,版權歸原作者所有,如有侵權,聯繫刪除!