加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • Part 01●?什么是加密算法?●
    • Part 02●?不可逆算法?●
    • Part 03●?可逆算法?●
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

五分鐘技術(shù)趣談 | 淺談加密算法

2023/10/16
2474
閱讀需 8 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

作者:周世芬,單位:中國移動(dòng)智慧家庭運(yùn)營中心

加密算法是現(xiàn)在每個(gè)軟件項(xiàng)目里必須用到的技術(shù)。應(yīng)用場景包括了用戶登入、交易、信息通訊、oauth 等等,不同的應(yīng)用場景也會(huì)需要使用到不同的簽名加密算法,本文將簡單介紹幾種常見的加密算法。

Part 01?什么是加密算法?

加密算法是一種密碼學(xué)算法,就是指將信息變成密文的加密技術(shù),加密算法可以實(shí)現(xiàn)對(duì)數(shù)據(jù)所屬方的隱私保護(hù),并在保護(hù)隱私的前提下,實(shí)現(xiàn)數(shù)據(jù)的匿蹤共享。通過加密算法可以達(dá)到:數(shù)據(jù)保密性,防止用戶數(shù)據(jù)被竊取或泄露; 數(shù)據(jù)完整性,防止用戶傳輸?shù)臄?shù)據(jù)被篡改;通信雙方身份確認(rèn),確保數(shù)據(jù)來源合法的功能。

常見加密算法分為不可逆算法和可逆算法,其中可逆算法分為對(duì)稱加密和非對(duì)稱加密算法,整體加密算法分類如圖1所示。

圖 1

Part 02●?不可逆算法?

不可逆算法的加密是不可逆的,加密后的密文是無法被還原成原文。其中散列算法,就是一種不可逆算法。

散列算法是指明文通過散列算法生成散列值,散列值是長度固定的數(shù)據(jù),和明文長度無關(guān),算法過程如圖2所示。常見散列算法的具體實(shí)現(xiàn)有很多種,例如MD5、SHA1、SHA-224、SHA-256等等。散列算法是不需要密鑰的,當(dāng)然也存在一些其他不可逆算法是需要密鑰的,例如HMAC算法。

圖 2

1、MD5,全稱為“Message-Digest Algorithm 5”,翻譯過來叫“信息摘要算法”。它可以將任意長度的數(shù)據(jù)通過散列算法,生成一個(gè)固定長度的散列值。MD5算法的輸出長度為128位,通常用32個(gè)16進(jìn)制數(shù)表示。MD5有一些優(yōu)點(diǎn),比如計(jì)算速度快、輸出長度固定、應(yīng)用廣泛等等。但是作為一個(gè)加密算法,它有一個(gè)天大的缺點(diǎn),那就是不安全。目前MD5算法已經(jīng)被攻破,而且MD5算法的輸出長度有限,攻擊者可以通過暴力破解或彩虹表攻擊等方式,找到與原始數(shù)據(jù)相同的散列值,從而破解數(shù)據(jù)。雖然可以通過加鹽,也就是對(duì)在原文里再加上一些不固定的字符串來緩解,但是完全可以用更安全的SHA系列算法替代。

2、SHA(Secure Hash Algorithm)系列算法是一組密碼散列函數(shù),用于將任意長度的數(shù)據(jù)映射為固定長度的散列值。SHA系列算法由美國國家安全局(NSA)于1993年設(shè)計(jì),目前共有SHA-1、SHA-2、SHA-3三種版本。其中SHA-1系列存在缺陷,已經(jīng)不再被推薦使用。SHA-2算法包括SHA-224、SHA-256、SHA-384和SHA-512四種散列函數(shù),分別將任意長度的數(shù)據(jù)映射為224位、256位、384位和512位的散列值。

3、上述兩種算法,SHA-2算法比MD5強(qiáng),主要有兩個(gè)原因:

(1)散列值長度更長:例如SHA-256算法的散列值長度為256位,而MD5算法的散列值長度為128位,這就提高了攻擊者暴力破解或者彩虹表攻擊的難度。

(2)更強(qiáng)的碰撞抗性:SHA算法采用了更復(fù)雜的運(yùn)算過程和更多的輪次,使得攻擊者更難以通過預(yù)計(jì)算或巧合找到碰撞。

Part 03●?可逆算法?

可逆算法分為對(duì)稱加密算法非對(duì)稱加密算法兩種。

對(duì)稱加密算法

對(duì)稱加密算法的加密和解密過程使用的是相同的密鑰,因此密鑰的安全性至關(guān)重要。如果密鑰泄露,攻擊者可以輕易地破解加密數(shù)據(jù)。

對(duì)稱加密的原理如圖3所示,通信的雙方約定好使用統(tǒng)一的加密解密算法,以及一個(gè)salt鹽作為唯一標(biāo)識(shí),發(fā)送數(shù)據(jù)前先試用加密算法和salt經(jīng)過加密函數(shù)處理得到密文,接受方收到密文后使用解密算法+salt對(duì)密文解密得到明文再處理。

圖 3

常見的對(duì)稱加密算法包括DES、3DES、AES等。其中,AES算法是目前使用最廣泛的對(duì)稱加密算法之一,具有比較高的安全性和加密效率。

(1)AES(Advanced Encryption Standard)即高級(jí)加密標(biāo)準(zhǔn),是一種對(duì)稱加密算法,被廣泛應(yīng)用于數(shù)據(jù)加密和保護(hù)領(lǐng)域。AES算法使用的密鑰長度為128位、192位或256位,比DES算法的密鑰長度更長,安全性更高。AES算法采用的密鑰長度更長,密鑰空間更大,安全性更高,能夠有效地抵抗暴力破解攻擊。當(dāng)然,因?yàn)槊荑€長度較長,需要的存儲(chǔ)也更多。

(2)DES(Data Encryption Standard)算法是最早的一種廣泛應(yīng)用的對(duì)稱加密算法之一。DES算法使用56位密鑰對(duì)數(shù)據(jù)進(jìn)行加密,加密過程中使用了置換、替換、異或等運(yùn)算,具有較高的安全性。速度較快,但是在安全性上面并不是最優(yōu)選擇,因?yàn)镈ES算法的密鑰長度比較短,被暴力破解和差分攻擊的風(fēng)險(xiǎn)比較高,一般推薦用一些更安全的對(duì)稱加密算法,比如3DES、AES等。

非對(duì)稱加密算法

非對(duì)稱加密算法需要兩個(gè)密鑰,這兩個(gè)密鑰互不相同,但是相互匹配,一個(gè)稱為公鑰,另一個(gè)稱為私鑰。使用其中的一個(gè)加密,則使用另一個(gè)進(jìn)行解密。具有如下特點(diǎn):

(1)使用公鑰加密的數(shù)據(jù)只有私鑰才能解密,公鑰自己是解密不了的。

(2)使用私鑰加密的數(shù)據(jù)只有公鑰才能解密,私鑰自己是解密不了的。

(3)服務(wù)端同時(shí)持有公鑰和私鑰(不會(huì)給任何人)。

(4)服務(wù)端要跟誰通信就把自己的公鑰給它。

圖 4

RSA算法是是目前應(yīng)用最廣泛的非對(duì)稱加密算法,該算法的優(yōu)點(diǎn)是安全性高,公鑰可以公開,私鑰必須保密,保證了數(shù)據(jù)的安全性;可用于數(shù)字簽名、密鑰協(xié)商等多種應(yīng)用場景。缺點(diǎn)是加密、解密速度較慢,密鑰長度越長,加密、解密時(shí)間越長;密鑰長度過短容易被暴力破解,密鑰長度過長則會(huì)增加計(jì)算量和存儲(chǔ)空間的開銷。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
ISO1042BQDWVRQ1 1 Texas Instruments Automotive, isolated CAN transceiver with 70-V bus fault protection & flexible data rate 8-SOIC -40 to 125

ECAD模型

下載ECAD模型
$39.02 查看
KSZ8567STXI-TR 1 Microchip Technology Inc IC ETHERNET SWITCH 7PORT 128TQFP

ECAD模型

下載ECAD模型
$10.39 查看
MCP2551T-I/SN 1 Microchip Technology Inc DATACOM, INTERFACE CIRCUIT, PDSO8, 0.150 INCH, LEAD FREE, PLASTIC, SOIC-8

ECAD模型

下載ECAD模型
$1.07 查看
中國移動(dòng)

中國移動(dòng)

中國移動(dòng)有限公司(「本公司」,包括子公司合稱為「本集團(tuán)」)于1997年9月3日在香港成立,本集團(tuán)在中國內(nèi)地所有三十一個(gè)省、自治區(qū)、直轄市以及香港特別行政區(qū)提供通信和信息服務(wù),業(yè)務(wù)主要涵蓋個(gè)人、家庭、政企和新興市場的語音、數(shù)據(jù)、寬帶、專線、IDC、云計(jì)算、物聯(lián)網(wǎng)等,是中國內(nèi)地最大的通信和信息服務(wù)供應(yīng)商,亦是全球網(wǎng)絡(luò)和客戶規(guī)模最大、盈利能力領(lǐng)先、市值排名位居前列的世界級(jí)通信和信息運(yùn)營商。

中國移動(dòng)有限公司(「本公司」,包括子公司合稱為「本集團(tuán)」)于1997年9月3日在香港成立,本集團(tuán)在中國內(nèi)地所有三十一個(gè)省、自治區(qū)、直轄市以及香港特別行政區(qū)提供通信和信息服務(wù),業(yè)務(wù)主要涵蓋個(gè)人、家庭、政企和新興市場的語音、數(shù)據(jù)、寬帶、專線、IDC、云計(jì)算、物聯(lián)網(wǎng)等,是中國內(nèi)地最大的通信和信息服務(wù)供應(yīng)商,亦是全球網(wǎng)絡(luò)和客戶規(guī)模最大、盈利能力領(lǐng)先、市值排名位居前列的世界級(jí)通信和信息運(yùn)營商。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

移動(dòng)Labs是中國移動(dòng)的社交化新媒體平臺(tái),是面向外部行業(yè)及產(chǎn)業(yè)鏈合作伙伴的信息發(fā)布、業(yè)務(wù)發(fā)展和產(chǎn)業(yè)推進(jìn)門戶。