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