密碼學(xué)源于希臘語,意為“隱藏的文字”, 是一種隱藏傳輸信息的科學(xué),以便只有預(yù)期的接收者才能讀取。密碼學(xué)的應(yīng)用無窮無盡。從 WhatsApp上日常的端到端消息認證到法律表格上的實用數(shù)字簽名,甚至是用于挖掘加密貨幣的耗費 CPU 的密碼,密碼學(xué)已成為數(shù)字世界的一個重要方面,也是 保護敏感數(shù)據(jù)免受黑客和其他網(wǎng)絡(luò)犯罪分子攻擊的關(guān)鍵網(wǎng)絡(luò)安全組件。
密碼學(xué)的實踐可以追溯到古代,最早的例子之一歸功于尤利烏斯·凱撒本人?,F(xiàn)代密碼系統(tǒng)要先進得多,但仍然以類似的方式運作。大多數(shù)密碼系統(tǒng)都以未加密的消息(稱為明文)開始,然后 使用一個或多個加密密鑰將其加密為無法解密的代碼(稱為密文)。
然后,密文被發(fā)送給接收者。如果密文被攔截,并且加密算法很強,那么密文對于任何未經(jīng)授權(quán)的竊聽者來說都是無用的,因為他們無法破解代碼。但是,如果預(yù)期的接收者擁有正確的解密密鑰,他們就能夠輕松解密文本。
在深入探討之前,讓我們先來看看強加密框架的核心特征:
-
保密性: 加密信息只能由指定人員訪問,其他任何人都不能訪問。
-
完整性: 加密信息在存儲過程中或在發(fā)送方和預(yù)期接收方之間傳輸時無法被修改,否則會被檢測到任何更改。
-
不可否認性: 加密信息的創(chuàng)建者/發(fā)送者不能否認其發(fā)送信息的意圖。
-
身份驗證: 確認發(fā)送者和接收者的身份以及信息的來源和目的地。
-
密鑰管理: 用于加密和解密數(shù)據(jù)(以及相關(guān)任務(wù),如密鑰長度、分發(fā)、生成、輪換)的密鑰是安全的。
3 種加密類別
盡管確實存在混合系統(tǒng)(例如 SSL 互聯(lián)網(wǎng)協(xié)議),但大多數(shù)加密技術(shù)屬于以下三大類之一:對稱加密算法、非對稱加密算法或哈希函數(shù)。
對稱密鑰加密
對稱密鑰加密也稱為私鑰加密、秘密密鑰加密或單密鑰加密,它在加密和解密過程中僅使用一個密鑰。對于此類系統(tǒng),每個用戶都必須擁有相同的私鑰。
私鑰可以通過先前建立的安全通信渠道(如私人快遞或安全線路)共享,或者更實際地,通過安全密鑰交換方法(如 Diffie-Hellman 密鑰協(xié)議)共享。
對稱密鑰算法有兩種類型:
-
分組密碼: 在分組密碼中,密碼算法針對固定大小的數(shù)據(jù)塊進行加密。例如,如果塊大小為8,則每次加密8個字節(jié)的明文。通常,加密/解密操作的用戶界面會通過反復(fù)調(diào)用低級密碼函數(shù)來處理比塊大小更長的數(shù)據(jù)。
-
流密碼: 流密碼不是以塊為基礎(chǔ)工作的,而是一次轉(zhuǎn)換一位(或一個字節(jié))數(shù)據(jù)?;旧?,流密碼根據(jù)提供的密鑰生成密鑰流。然后將生成的密鑰流與明文數(shù)據(jù)進行異或。
對稱加密的一些示例包括:
-
數(shù)據(jù)加密標準: 數(shù)據(jù)加密標準 ( DES ) 由 IBM 在 20 世紀 70 年代初開發(fā),雖然現(xiàn)在認為它容易受到暴力攻擊,但其架構(gòu)在現(xiàn)代密碼學(xué)領(lǐng)域仍然具有很大的影響力。
-
三重 DES: 雖然計算機技術(shù)的進步在 1999 年使 DES 變得不安全,但在原始 DES 基礎(chǔ)上構(gòu)建的 DES 加密系統(tǒng)增加了額外的安全級別,現(xiàn)代機器無法破解。
-
Blowfish: 一種快速、免費、公開的分組密碼,由 Bruce Schneer 于 1993 年設(shè)計。
-
高級加密標準: 高級加密標準 ( AES ) 是美國國家安全局批準用于最高機密信息的第一個也是唯一一個可公開訪問的密碼。
非對稱密鑰加密
在非對稱加密中,使用一對密鑰:一個密鑰和一個公鑰。因此,這些算法也稱為公鑰算法。公鑰加密被認為比對稱加密技術(shù)更安全,因為即使一個密鑰是公開的,加密消息也只能用預(yù)期收件人的私鑰解密。
非對稱加密的一些示例包括:
-
RSA:RSA算法于1977年以其創(chuàng)始人Rivest、Shamier和Adleman的名字命名,是最古老、最廣泛使用的用于安全數(shù)據(jù)傳輸?shù)墓€密碼系統(tǒng)之一。
-
ECC:橢圓曲線密碼術(shù)是一種高級的非對稱加密形式,使用橢圓曲線的代數(shù)結(jié)構(gòu)來創(chuàng)建強加密密鑰。
單向哈希算法
加密哈希算法從可變長度的輸入字符串生成固定長度的輸出字符串(通常稱為摘要)。輸入用作明文,輸出哈希為密碼。從實際目的來看,以下陳述對于好的哈希函數(shù)是正確的:
-
抗碰撞: 如果數(shù)據(jù)的任何部分被修改,則會生成不同的哈希值,從而確保數(shù)據(jù)完整性。
-
單向: 該函數(shù)不可逆。也就是說,給定一個摘要,不可能找到生成它的數(shù)據(jù),從而確保數(shù)據(jù)安全。
出于這些原因,哈希算法是一種有效的密碼系統(tǒng),因為它可以直接加密數(shù)據(jù),而不需要不同的密鑰。本質(zhì)上,明文就是它自己的密鑰。
以存儲銀行賬戶密碼的數(shù)據(jù)庫的安全漏洞為例。任何有權(quán)或未經(jīng)授權(quán)訪問銀行計算機系統(tǒng)的人都有可能讀取所有密碼。
為了保證數(shù)據(jù)安全,銀行和其他企業(yè)會將密碼等敏感信息加密為哈希值,并只將該加密值存儲在數(shù)據(jù)庫中。如果不知道用戶的密碼,哈希值就無法被破解。
密碼學(xué)的未來
量子密碼學(xué)
隨著技術(shù)的進步和日益復(fù)雜的網(wǎng)絡(luò)攻擊,密碼學(xué)領(lǐng)域也在不斷發(fā)展。 量子密碼學(xué)或量子加密,是指基于自然發(fā)生和不變的量子力學(xué)定律安全地加密和傳輸數(shù)據(jù)以用于網(wǎng)絡(luò)安全的應(yīng)用科學(xué)。
雖然量子加密仍處于早期階段,但它可能比以前的加密算法更加安全,理論上甚至是無法被破解的。
后量子密碼學(xué)
不要與依賴自然物理定律來產(chǎn)生安全密碼系統(tǒng)的量子密碼學(xué)相混淆,后量子密碼算法使用不同類型的數(shù)學(xué)密碼學(xué)來創(chuàng)建量子計算機防護加密。
盡管量子計算尚未實現(xiàn),但 它是計算機科學(xué)中一個發(fā)展迅速的領(lǐng)域,具有成倍增加處理能力的潛力——甚至超過當今運行的最快超級計算機。雖然仍處于理論階段,但原型機已經(jīng)證明,實用的量子計算機可能有望在未來 10 到 50 年內(nèi)破解最安全的公鑰加密系統(tǒng)。根據(jù)美國國家標準與技術(shù)研究所的數(shù)據(jù)中,后量子密碼學(xué)(也稱為抗量子密碼學(xué)或量子安全密碼學(xué))的目標是“開發(fā)對量子和傳統(tǒng)計算機都安全的密碼系統(tǒng),并能與現(xiàn)有通信協(xié)議和網(wǎng)絡(luò)互操作”。