




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
加密算法原理歡迎參加本課程《加密算法原理》的學(xué)習(xí)。信息安全在當(dāng)今數(shù)字時(shí)代扮演著至關(guān)重要的角色,而加密算法是信息安全的基石。本課程將深入淺出地介紹各類(lèi)加密算法的基本原理、工作機(jī)制和應(yīng)用場(chǎng)景,幫助大家建立堅(jiān)實(shí)的密碼學(xué)基礎(chǔ)。無(wú)論您是信息安全專(zhuān)業(yè)學(xué)生,還是對(duì)密碼學(xué)感興趣的技術(shù)愛(ài)好者,這門(mén)課程都將為您提供系統(tǒng)而全面的知識(shí)框架。密碼學(xué)發(fā)展簡(jiǎn)史1古典密碼時(shí)代公元前400年,斯巴達(dá)人發(fā)明了密碼棒。凱撒密碼在羅馬時(shí)期廣泛使用,通過(guò)字母位移實(shí)現(xiàn)加密。2機(jī)械密碼時(shí)代20世紀(jì)初,出現(xiàn)了恩尼格瑪?shù)让艽a機(jī)。二戰(zhàn)期間,圖靈等人破解恩尼格瑪,促進(jìn)了計(jì)算機(jī)科學(xué)發(fā)展。3現(xiàn)代密碼時(shí)代1976年,DES成為首個(gè)公開(kāi)標(biāo)準(zhǔn)。1976年,Diffie和Hellman提出公鑰密碼體制理念,開(kāi)創(chuàng)了非對(duì)稱(chēng)加密時(shí)代。后現(xiàn)代密碼時(shí)代1990年代至今,量子密碼學(xué)興起?,F(xiàn)代密碼學(xué)已從單純的保密工具,發(fā)展為支撐信息安全的完整體系。信息安全基本概念保密性(Confidentiality)確保信息不被未授權(quán)訪(fǎng)問(wèn)或泄露。通過(guò)加密技術(shù),即使數(shù)據(jù)被竊取,沒(méi)有密鑰也無(wú)法解讀內(nèi)容。完整性(Integrity)保證信息在傳輸或存儲(chǔ)過(guò)程中不被篡改。通過(guò)哈希函數(shù)和數(shù)字簽名技術(shù)驗(yàn)證數(shù)據(jù)是否被修改??捎眯裕ˋvailability)確保信息系統(tǒng)正常運(yùn)行,授權(quán)用戶(hù)能隨時(shí)訪(fǎng)問(wèn)所需資源。防御拒絕服務(wù)攻擊是保障可用性的重要手段。信息安全面臨的威脅多種多樣,包括竊聽(tīng)(被動(dòng)攻擊)、篡改(主動(dòng)攻擊)、假冒(身份攻擊)和拒絕服務(wù)等。加密算法在抵御這些威脅時(shí)扮演著核心角色,尤其在保障數(shù)據(jù)保密性和完整性方面。密碼體制結(jié)構(gòu)基本元素明文:原始可讀信息密文:經(jīng)加密后的不可讀信息密鑰:控制加密和解密轉(zhuǎn)換的參數(shù)加密算法:將明文轉(zhuǎn)換為密文的數(shù)學(xué)過(guò)程解密算法:將密文恢復(fù)為明文的數(shù)學(xué)過(guò)程對(duì)稱(chēng)密碼體制加密和解密使用相同的密鑰。特點(diǎn)是計(jì)算效率高,適合大量數(shù)據(jù)加密,但存在密鑰分發(fā)難題。代表算法:DES、AES、SM4等。非對(duì)稱(chēng)密碼體制使用一對(duì)密鑰:公鑰加密,私鑰解密。解決了密鑰分發(fā)問(wèn)題,但計(jì)算復(fù)雜度較高。代表算法:RSA、ECC、SM2等。密碼體制的安全性基于算法的數(shù)學(xué)特性和密鑰管理的嚴(yán)謹(jǐn)性?,F(xiàn)代密碼系統(tǒng)通常結(jié)合對(duì)稱(chēng)和非對(duì)稱(chēng)體制,發(fā)揮各自?xún)?yōu)勢(shì)。加密算法屬性安全性算法抵抗各種攻擊的能力效率算法執(zhí)行速度與資源消耗易用性算法實(shí)現(xiàn)和應(yīng)用的便捷程度優(yōu)秀的加密算法設(shè)計(jì)遵循以下原則:混淆(Confusion)使密文和密鑰的關(guān)系盡可能復(fù)雜;擴(kuò)散(Diffusion)使明文中的每一位變化都能影響密文中多個(gè)位置;使用公開(kāi)的算法,僅保密密鑰;抵抗已知明文和選擇明文攻擊。在實(shí)際應(yīng)用中,需要根據(jù)具體場(chǎng)景平衡這三大屬性。例如,高安全場(chǎng)景可能犧牲部分效率以獲得更高安全性;而實(shí)時(shí)系統(tǒng)則需要兼顧效率與安全的平衡點(diǎn)。算法的標(biāo)準(zhǔn)化和開(kāi)放性審查也是保證其可靠性的重要環(huán)節(jié)。密鑰管理基礎(chǔ)密鑰生成使用高質(zhì)量隨機(jī)源生成強(qiáng)密鑰,確保隨機(jī)性和熵值滿(mǎn)足安全需求密鑰分發(fā)通過(guò)安全信道將密鑰安全傳遞給通信雙方密鑰存儲(chǔ)使用硬件安全模塊或加密保險(xiǎn)庫(kù)安全保存密鑰密鑰更新定期更換密鑰減少長(zhǎng)期使用風(fēng)險(xiǎn)密鑰銷(xiāo)毀安全清除不再使用的密鑰,防止恢復(fù)密鑰管理是加密系統(tǒng)安全性的關(guān)鍵環(huán)節(jié),甚至比算法本身更重要。良好的密鑰管理實(shí)踐包括:使用密鑰分層結(jié)構(gòu)(主密鑰、派生密鑰等);記錄密鑰使用日志;實(shí)施最小權(quán)限原則;建立密鑰恢復(fù)機(jī)制以應(yīng)對(duì)密鑰丟失情況。對(duì)稱(chēng)加密概述明文原始消息加密使用密鑰K加密密文加密后的消息解密使用相同密鑰K解密明文恢復(fù)的原始消息對(duì)稱(chēng)加密也稱(chēng)為單鑰加密,是最古老也最基礎(chǔ)的加密形式。其特點(diǎn)是加密和解密使用同一密鑰,算法通常執(zhí)行速度快,適合大量數(shù)據(jù)加密。對(duì)稱(chēng)加密的主要應(yīng)用場(chǎng)景包括:數(shù)據(jù)存儲(chǔ)加密(如硬盤(pán)加密);高速通信鏈路加密;會(huì)話(huà)保護(hù)(如TLS中的會(huì)話(huà)密鑰);數(shù)據(jù)庫(kù)字段加密;以及內(nèi)部系統(tǒng)間的安全通信。分組加密與流加密分組加密(BlockCipher)將明文分成固定長(zhǎng)度的塊,每次處理一個(gè)數(shù)據(jù)塊。每塊大小通常為64位或128位。特點(diǎn):加密前需要對(duì)不足塊大小的數(shù)據(jù)進(jìn)行填充每塊獨(dú)立處理,可以并行計(jì)算需要工作模式處理塊間關(guān)系代表算法:DES(64位塊)、AES(128位塊)、SM4(128位塊)流加密(StreamCipher)生成密鑰流,與明文逐位或逐字節(jié)進(jìn)行異或操作,實(shí)時(shí)加密數(shù)據(jù)流。特點(diǎn):無(wú)需填充,適合長(zhǎng)度不固定的數(shù)據(jù)加密解密速度快,適合實(shí)時(shí)性要求高的場(chǎng)景誤碼不會(huì)擴(kuò)散,單個(gè)位錯(cuò)誤不影響其他數(shù)據(jù)代表算法:RC4、ChaCha20、A5/1(手機(jī)通信)兩種加密方式各有優(yōu)缺點(diǎn),選擇時(shí)需考慮應(yīng)用場(chǎng)景特點(diǎn)。對(duì)安全性要求高的場(chǎng)合通常選擇分組加密,而對(duì)性能和實(shí)時(shí)性要求高的場(chǎng)合可能更適合流加密。對(duì)稱(chēng)加密常用工作模式電子密碼本模式(ECB)最簡(jiǎn)單的模式,將明文分成固定大小的塊,各塊獨(dú)立加密。優(yōu)點(diǎn):簡(jiǎn)單,可并行處理缺點(diǎn):相同明文塊產(chǎn)生相同密文塊,不能隱藏?cái)?shù)據(jù)模式適用場(chǎng)景:短數(shù)據(jù)或隨機(jī)數(shù)據(jù)的加密密碼塊鏈接模式(CBC)每個(gè)明文塊先與前一個(gè)密文塊異或,再進(jìn)行加密。初始使用初始向量(IV)。優(yōu)點(diǎn):能隱藏?cái)?shù)據(jù)模式,密文依賴(lài)所有之前的明文缺點(diǎn):無(wú)法并行加密,傳輸錯(cuò)誤會(huì)影響后續(xù)塊適用場(chǎng)景:大多數(shù)需要高安全性的應(yīng)用密碼反饋模式(CFB)將前一個(gè)密文塊加密后與當(dāng)前明文塊異或,生成當(dāng)前密文塊。優(yōu)點(diǎn):可以將分組密碼轉(zhuǎn)變?yōu)榱髅艽a,無(wú)需填充缺點(diǎn):錯(cuò)誤傳播,不能并行加密適用場(chǎng)景:流數(shù)據(jù)加密輸出反饋模式(OFB)生成密鑰流,與明文異或產(chǎn)生密文。優(yōu)點(diǎn):錯(cuò)誤不會(huì)傳播,預(yù)生成密鑰流缺點(diǎn):不能并行處理,安全性依賴(lài)IV適用場(chǎng)景:噪聲通道傳輸此外還有計(jì)數(shù)器模式(CTR)和伽羅瓦/計(jì)數(shù)器模式(GCM),前者支持并行處理,后者提供認(rèn)證加密功能。選擇合適的工作模式對(duì)系統(tǒng)安全性至關(guān)重要。DES原理(一):結(jié)構(gòu)介紹初始置換(IP)將64位輸入數(shù)據(jù)按固定置換表重新排列,無(wú)密碼學(xué)意義,僅為硬件實(shí)現(xiàn)考慮16輪Feistel網(wǎng)絡(luò)核心加密過(guò)程,將數(shù)據(jù)分為左右兩半,右半經(jīng)過(guò)F函數(shù)后與左半異或,然后交換位置最終交換交換左右兩個(gè)32位數(shù)據(jù)塊逆初始置換(IP^-1)初始置換的逆操作,恢復(fù)原始位置順序,生成最終64位密文DES(數(shù)據(jù)加密標(biāo)準(zhǔn))是一種使用56位密鑰的分組密碼,于1977年成為美國(guó)聯(lián)邦標(biāo)準(zhǔn)。其核心是Feistel結(jié)構(gòu),使得加密和解密過(guò)程基本相同,只需逆序使用子密鑰。DES的Feistel結(jié)構(gòu)具有良好的雪崩效應(yīng),即明文或密鑰的微小變化會(huì)導(dǎo)致密文的顯著變化,增強(qiáng)了算法的安全性。每輪迭代都使用不同的子密鑰,通過(guò)置換和替代操作增加密文的復(fù)雜度。DES原理(二):詳細(xì)流程子密鑰生成從56位主密鑰(實(shí)際輸入64位,含8位校驗(yàn)位)通過(guò)PC-1置換選擇56位有效位。分為左右兩個(gè)28位模塊,每輪根據(jù)輪數(shù)進(jìn)行循環(huán)左移,再通過(guò)PC-2置換選出48位子密鑰。輪函數(shù)F操作每輪Feistel網(wǎng)絡(luò)中的核心操作。將32位右半部分?jǐn)U展為48位,與當(dāng)輪48位子密鑰異或,分為8組,每組輸入到不同的S盒,8個(gè)S盒輸出共32位數(shù)據(jù),再經(jīng)P置換重排。S盒替代DES的核心非線(xiàn)性組件,將6位輸入映射為4位輸出。每個(gè)S盒是一個(gè)4行16列的表,輸入的第1、6位決定行號(hào),中間4位決定列號(hào),查表得到4位輸出。S盒的設(shè)計(jì)是DES安全性的關(guān)鍵。DES的典型加密過(guò)程將64位明文塊通過(guò)上述步驟轉(zhuǎn)換為64位密文塊。而解密過(guò)程與加密基本相同,只需逆序使用16個(gè)子密鑰。這種對(duì)稱(chēng)性是Feistel結(jié)構(gòu)的重要特點(diǎn),簡(jiǎn)化了算法實(shí)現(xiàn)。DES安全性分析暴力破解56位密鑰空間理論上有2^56(約7.2×10^16)種可能性。1998年,電子前沿基金會(huì)的DES破解機(jī)在56小時(shí)內(nèi)成功破解DES,證明其密鑰長(zhǎng)度不足。現(xiàn)代計(jì)算技術(shù)可在數(shù)小時(shí)內(nèi)破解。差分密碼分析通過(guò)研究明文差異如何影響密文,可以減少需要嘗試的密鑰數(shù)量。差分密碼分析需要2^47次操作和大量特定明文對(duì),比暴力破解高效但仍需大量資源。線(xiàn)性密碼分析利用明文位、密文位和密鑰位之間的線(xiàn)性近似關(guān)系破解密碼。需要2^43次操作和2^43個(gè)已知明文-密文對(duì),是對(duì)DES最成功的理論攻擊方法之一。DES已不再被認(rèn)為是安全的,主要原因是其密鑰長(zhǎng)度不足以抵抗現(xiàn)代計(jì)算能力的暴力攻擊。然而,DES的基本設(shè)計(jì)原則和S盒設(shè)計(jì)仍然被認(rèn)為是合理的,其弱點(diǎn)主要在于密鑰長(zhǎng)度,而非算法結(jié)構(gòu)本身。美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)于2005年正式廢除了DES標(biāo)準(zhǔn),建議使用AES或3DES代替。三重DES(3DES)明文原始數(shù)據(jù)DES加密(K1)使用密鑰K1進(jìn)行DES加密DES解密(K2)使用密鑰K2進(jìn)行DES解密DES加密(K3)使用密鑰K3進(jìn)行DES加密密文加密后的數(shù)據(jù)三重DES(3DES或TDES)是DES的一種變體,通過(guò)三次DES操作來(lái)增強(qiáng)安全性。其標(biāo)準(zhǔn)模式為"加密-解密-加密"(EDE),使用三個(gè)密鑰:C=EK3(DK2(EK1(P)))。當(dāng)K1=K3時(shí),稱(chēng)為兩密鑰3DES;當(dāng)三個(gè)密鑰都不同時(shí),稱(chēng)為三密鑰3DES。3DES的有效密鑰長(zhǎng)度為112位(兩密鑰模式)或168位(三密鑰模式),顯著增強(qiáng)了抵抗暴力攻擊的能力。它與DES保持兼容(當(dāng)K1=K2=K3時(shí)等同于單次DES),便于過(guò)渡。然而,由于執(zhí)行三次DES操作,3DES的性能僅為DES的1/3,這在高性能要求的應(yīng)用中是個(gè)顯著缺點(diǎn)。AES原理簡(jiǎn)介AES背景高級(jí)加密標(biāo)準(zhǔn)(AdvancedEncryptionStandard,AES)源自Rijndael算法,由比利時(shí)密碼學(xué)家JoanDaemen和VincentRijmen設(shè)計(jì)。2001年被NIST選為DES的替代標(biāo)準(zhǔn)。AES是一個(gè)分組密碼,固定塊大小為128位(16字節(jié)),支持128位、192位或256位密鑰長(zhǎng)度。根據(jù)密鑰長(zhǎng)度,分別執(zhí)行10、12或14輪迭代。AES基本結(jié)構(gòu)與DES的Feistel結(jié)構(gòu)不同,AES使用替代-置換網(wǎng)絡(luò)(SPN)結(jié)構(gòu),所有操作都在整個(gè)數(shù)據(jù)塊上進(jìn)行。數(shù)據(jù)以4×4字節(jié)矩陣形式處理,稱(chēng)為"狀態(tài)"(State)。每輪操作包括四個(gè)步驟:字節(jié)替代(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)和輪密鑰加(AddRoundKey)。最后一輪不執(zhí)行列混淆操作。AES的設(shè)計(jì)原則包括:抵抗所有已知攻擊;在各種硬件和軟件平臺(tái)上高效實(shí)現(xiàn);設(shè)計(jì)簡(jiǎn)潔明確。相比DES,AES提供了更高的安全性、更好的性能,且適合硬件和軟件實(shí)現(xiàn)。截至目前,AES尚無(wú)實(shí)用性的破解方法,仍被認(rèn)為是最安全的對(duì)稱(chēng)加密算法之一。AES加密流程字節(jié)代換(SubBytes)通過(guò)S盒將每個(gè)字節(jié)替換為另一個(gè)字節(jié),增加非線(xiàn)性性行移位(ShiftRows)對(duì)狀態(tài)矩陣的每行進(jìn)行不同位數(shù)的循環(huán)左移3列混淆(MixColumns)將每列與固定多項(xiàng)式相乘,實(shí)現(xiàn)高度擴(kuò)散輪密鑰加(AddRoundKey)將當(dāng)前輪密鑰與狀態(tài)矩陣進(jìn)行異或操作AES加密的完整流程:首先將明文分組與初始輪密鑰進(jìn)行異或;然后執(zhí)行Nr-1輪標(biāo)準(zhǔn)輪變換(包括上述四個(gè)步驟);最后一輪省略列混淆步驟。解密過(guò)程使用逆操作,按相反順序執(zhí)行。AES密鑰擴(kuò)展過(guò)程將原始密鑰擴(kuò)展為(Nr+1)個(gè)輪密鑰,每個(gè)輪密鑰與原密鑰長(zhǎng)度相同。擴(kuò)展算法確保每個(gè)輪密鑰都有足夠的復(fù)雜度,為每輪變換提供不同的密鑰材料,增強(qiáng)安全性。AES安全性與應(yīng)用抗攻擊能力目前最有效的攻擊是相關(guān)密鑰攻擊,對(duì)AES-256可將復(fù)雜度從2^256降至2^99,但需要相關(guān)密鑰前提。另有側(cè)信道攻擊如緩存時(shí)序攻擊和能量分析,但需物理接觸且可通過(guò)實(shí)現(xiàn)技術(shù)緩解。性能表現(xiàn)AES在現(xiàn)代處理器上性能優(yōu)異,英特爾和AMD處理器已內(nèi)置AES指令集(AES-NI),可將加解密速度提高3-10倍。AES-GCM模式能達(dá)到數(shù)GB/s的吞吐量,滿(mǎn)足高性能需求。采納情況AES已成為全球標(biāo)準(zhǔn),廣泛應(yīng)用于金融交易、VPN、SSL/TLS、Wi-Fi(WPA2/WPA3)、硬盤(pán)加密、藍(lán)牙安全傳輸?shù)葓?chǎng)景。美國(guó)政府機(jī)構(gòu)將其用于TOPSECRET級(jí)別信息加密,證明其安全性獲高度認(rèn)可。AES取代DES成為全球最廣泛使用的對(duì)稱(chēng)加密算法,原因在于其出色的安全性與性能平衡。即使面對(duì)量子計(jì)算挑戰(zhàn),AES-256仍被認(rèn)為具有足夠的安全邊際,通過(guò)格羅弗算法的量子攻擊也只能將復(fù)雜度降至約2^128,仍保持足夠安全性。對(duì)稱(chēng)加密性能與適用性上圖展示了主流對(duì)稱(chēng)加密算法在相同硬件條件下的性能對(duì)比?,F(xiàn)代對(duì)稱(chēng)加密算法如AES和ChaCha20提供了優(yōu)異的性能,而老舊算法如3DES則明顯較慢。對(duì)稱(chēng)加密的典型應(yīng)用場(chǎng)景包括:文件系統(tǒng)加密(BitLocker、LUKS);數(shù)據(jù)庫(kù)字段加密;高速數(shù)據(jù)傳輸加密;會(huì)話(huà)加密(TLS中的數(shù)據(jù)傳輸);物聯(lián)網(wǎng)設(shè)備通信(資源受限環(huán)境);云存儲(chǔ)服務(wù)的數(shù)據(jù)保護(hù)層。算法選擇應(yīng)考慮:安全需求(機(jī)密級(jí)別、使用壽命);性能要求(實(shí)時(shí)性、吞吐量);資源限制(內(nèi)存、計(jì)算能力);合規(guī)要求(行業(yè)標(biāo)準(zhǔn));算法成熟度和社區(qū)支持。非對(duì)稱(chēng)加密基礎(chǔ)基本概念非對(duì)稱(chēng)加密也稱(chēng)公鑰密碼體制,使用一對(duì)密鑰:公鑰和私鑰。公鑰可公開(kāi)分發(fā),私鑰需嚴(yán)格保密。數(shù)據(jù)用公鑰加密后,只能用對(duì)應(yīng)私鑰解密;用私鑰簽名的數(shù)據(jù),可用公鑰驗(yàn)證。非對(duì)稱(chēng)加密基于數(shù)學(xué)難題,如大數(shù)分解、離散對(duì)數(shù)和橢圓曲線(xiàn)等。這些問(wèn)題的單向性質(zhì)使得由公鑰推導(dǎo)私鑰在計(jì)算上不可行。密鑰對(duì)機(jī)制密鑰生成:通過(guò)隨機(jī)選擇和特定數(shù)學(xué)變換生成公私鑰對(duì)公鑰特性:可自由分發(fā),用于加密或驗(yàn)證簽名私鑰特性:必須安全保存,用于解密或生成簽名非對(duì)稱(chēng)加密具有良好的密鑰管理優(yōu)勢(shì),N個(gè)用戶(hù)只需管理N對(duì)密鑰,而對(duì)稱(chēng)加密需管理N(N-1)/2個(gè)密鑰。與對(duì)稱(chēng)加密相比,非對(duì)稱(chēng)加密計(jì)算復(fù)雜度高,速度慢2-3個(gè)數(shù)量級(jí),但解決了密鑰分發(fā)問(wèn)題。實(shí)際應(yīng)用中,通常將對(duì)稱(chēng)和非對(duì)稱(chēng)加密結(jié)合使用,發(fā)揮各自?xún)?yōu)勢(shì)。非對(duì)稱(chēng)加密應(yīng)用舉例這些應(yīng)用展示了非對(duì)稱(chēng)加密在現(xiàn)代安全系統(tǒng)中的核心地位。實(shí)踐中,常將非對(duì)稱(chēng)加密用于建立安全通道和驗(yàn)證身份,然后使用對(duì)稱(chēng)加密進(jìn)行高效的數(shù)據(jù)傳輸,充分利用兩者優(yōu)勢(shì)。密鑰交換在不安全通道上安全交換對(duì)稱(chēng)密鑰SSL/TLS握手過(guò)程安全信使應(yīng)用(Signal協(xié)議)VPN連接建立身份認(rèn)證驗(yàn)證通信方身份的真實(shí)性SSH公鑰認(rèn)證客戶(hù)端證書(shū)認(rèn)證雙因素認(rèn)證數(shù)字簽名確保消息來(lái)源和完整性軟件代碼簽名電子合同簽署區(qū)塊鏈交易加密通信小量敏感數(shù)據(jù)的安全傳輸加密電子郵件(PGP/GPG)安全消息傳遞API密鑰分發(fā)數(shù)論基礎(chǔ):模運(yùn)算模運(yùn)算基本概念模運(yùn)算是指整數(shù)除法中的余數(shù)運(yùn)算。當(dāng)a除以n的余數(shù)與b除以n的余數(shù)相同時(shí),稱(chēng)a與b模n同余,記作:a≡b(modn)例如:17÷5=3余2,所以17≡2(mod5)。時(shí)鐘系統(tǒng)是模12運(yùn)算的直觀例子。模加與模乘模加:(a+b)modn=[(amodn)+(bmodn)]modn模乘:(a×b)modn=[(amodn)×(bmodn)]modn例如:在mod7下,(5+4)mod7=9mod7=2;(5×4)mod7=20mod7=6歐拉函數(shù)與歐拉定理歐拉函數(shù)φ(n)表示小于等于n且與n互質(zhì)的正整數(shù)個(gè)數(shù)歐拉定理:若a與n互質(zhì),則aφ(n)≡1(modn)特例:若p為素?cái)?shù),則ap-1≡1(modp)(費(fèi)馬小定理)模運(yùn)算在密碼學(xué)中的作用舉足輕重:RSA算法利用模冪運(yùn)算的單向性;橢圓曲線(xiàn)密碼學(xué)基于有限域上的模運(yùn)算;散列函數(shù)使用模運(yùn)算確保輸出在固定范圍;隨機(jī)數(shù)生成也依賴(lài)模運(yùn)算的周期性質(zhì)。有效實(shí)現(xiàn)大整數(shù)模運(yùn)算是密碼系統(tǒng)性能的關(guān)鍵,許多優(yōu)化算法如蒙哥馬利歸約和中國(guó)剩余定理被廣泛應(yīng)用于實(shí)際系統(tǒng)中。素?cái)?shù)與難解問(wèn)題素?cái)?shù)特性素?cái)?shù)是只能被1和自身整除的大于1的整數(shù)。素?cái)?shù)在自然數(shù)中分布呈現(xiàn)一定規(guī)律,但精確預(yù)測(cè)大素?cái)?shù)位置仍然困難。現(xiàn)代密碼學(xué)使用的素?cái)?shù)通常有數(shù)百到數(shù)千位數(shù)字,如RSA-2048使用的素?cái)?shù)超過(guò)300位十進(jìn)制數(shù)。大整數(shù)分解問(wèn)題給定兩個(gè)大素?cái)?shù)p和q的乘積n=p×q,尋找其素因子p和q是計(jì)算上困難的。目前最快的算法是數(shù)域篩法(NFS),但對(duì)于1024位以上的整數(shù)仍然需要超出實(shí)際計(jì)算能力的資源。RSA加密的安全性正是基于此難題。離散對(duì)數(shù)問(wèn)題已知素?cái)?shù)p、本原根g和gxmodp的值y,求解x是計(jì)算上困難的。尋找離散對(duì)數(shù)的最佳算法是指數(shù)函數(shù)時(shí)間復(fù)雜度,遠(yuǎn)低于暴力搜索但仍然高效。DH密鑰交換和ElGamal加密系統(tǒng)基于此問(wèn)題。這些數(shù)學(xué)難題具有顯著的不對(duì)稱(chēng)性:正向計(jì)算(如大數(shù)乘法)容易,而逆向計(jì)算(如大數(shù)分解)困難。這種不對(duì)稱(chēng)性正是公鑰密碼體制的基礎(chǔ)。例如,RSA中生成公鑰的過(guò)程容易,而從公鑰推導(dǎo)私鑰需要分解大整數(shù),在實(shí)際計(jì)算能力下被認(rèn)為不可行。值得注意的是,這些問(wèn)題的困難性是計(jì)算復(fù)雜性假設(shè),而非數(shù)學(xué)證明。量子計(jì)算的發(fā)展可能對(duì)這些假設(shè)構(gòu)成挑戰(zhàn),這也是后量子密碼學(xué)積極研究的原因。RSA算法原理(一):密鑰生成選擇大素?cái)?shù)隨機(jī)選擇兩個(gè)大素?cái)?shù)p和q(典型長(zhǎng)度為1024位或更長(zhǎng))。這些素?cái)?shù)必須保密,是RSA安全性的基礎(chǔ)。為提高安全性,p和q應(yīng)具有相近但不相等的位長(zhǎng)度,且p-1和q-1應(yīng)含有大素因子。計(jì)算模數(shù)和歐拉函數(shù)計(jì)算模數(shù)n=p×q,此值將作為公鑰的一部分。計(jì)算歐拉函數(shù)值φ(n)=(p-1)×(q-1),表示小于n且與n互質(zhì)的整數(shù)個(gè)數(shù)。φ(n)必須保密,否則私鑰可被輕易計(jì)算。選擇公鑰指數(shù)選擇一個(gè)與φ(n)互質(zhì)的整數(shù)e作為公鑰指數(shù),通常選擇65537(2^16+1)作為e,因其二進(jìn)制表示中只有兩個(gè)1,便于快速模冪運(yùn)算,同時(shí)避免了小指數(shù)攻擊的風(fēng)險(xiǎn)。計(jì)算私鑰指數(shù)計(jì)算d滿(mǎn)足e×d≡1(modφ(n)),即d是e關(guān)于模φ(n)的乘法逆元。使用擴(kuò)展歐幾里得算法可高效計(jì)算d。d必須嚴(yán)格保密,是RSA系統(tǒng)的核心機(jī)密。最終,公鑰是(n,e),可公開(kāi)分發(fā);私鑰是(n,d),必須安全保存。在實(shí)際應(yīng)用中,通常使用p和q的值代替直接存儲(chǔ)d,這樣可以使用中國(guó)剩余定理加速RSA運(yùn)算。密鑰生成完成后,p和q應(yīng)安全銷(xiāo)毀,防止私鑰泄露。RSA算法原理(二):加密解密過(guò)程加密過(guò)程1.將明文消息M表示為小于n的整數(shù)(若消息較長(zhǎng),需分塊處理)2.使用公鑰(n,e)對(duì)明文M加密:C=Memodn3.密文C可通過(guò)不安全信道傳輸例如,若公鑰(n,e)=(3233,17),明文M=65:C=6517mod3233=2790解密過(guò)程1.接收方使用私鑰(n,d)對(duì)密文C解密:M=Cdmodn2.恢復(fù)原始明文消息M延續(xù)上例,若私鑰(n,d)=(3233,2753):M=27902753mod3233=65解密正確性基于歐拉定理:若gcd(M,n)=1,則Mφ(n)≡1(modn)因此:Cd≡(Me)d≡Med≡Mkφ(n)+1≡M·(Mφ(n))k≡M·1k≡M(modn)RSA算法的安全性基于大整數(shù)分解的困難性,已知n和e,推導(dǎo)d需要分解n找到p和q,從而計(jì)算φ(n)。目前沒(méi)有已知的有效算法可在合理時(shí)間內(nèi)分解1024位以上的大整數(shù)。RSA支持雙向操作:不僅可以用公鑰加密、私鑰解密,還可以用私鑰簽名、公鑰驗(yàn)證,這使其成為既能保密又能認(rèn)證的完整解決方案。RSA安全性與實(shí)現(xiàn)密鑰長(zhǎng)度與安全RSA密鑰長(zhǎng)度直接影響安全性:512位-已在1999年被分解,不安全1024位-已被主流放棄,理論上可被強(qiáng)大機(jī)構(gòu)分解2048位-當(dāng)前推薦標(biāo)準(zhǔn),預(yù)計(jì)安全到2030年4096位-長(zhǎng)期安全需求的選擇,性能成本增加4-8倍常見(jiàn)攻擊方式因數(shù)分解攻擊-針對(duì)模數(shù)n的分解小指數(shù)攻擊-針對(duì)小公鑰指數(shù)e定時(shí)攻擊-分析解密操作的時(shí)間差異共模攻擊-當(dāng)多個(gè)用戶(hù)共享模數(shù)n時(shí)邊信道攻擊-通過(guò)功耗、電磁輻射等物理特征安全實(shí)現(xiàn)考慮使用PKCS#1v2.1或更高版本的填充方案采用恒定時(shí)間實(shí)現(xiàn)防止定時(shí)攻擊使用安全隨機(jī)數(shù)生成器生成密鑰定期更新密鑰,尤其是高價(jià)值系統(tǒng)結(jié)合證書(shū)體系確保公鑰可信RSA在實(shí)際部署中面臨性能挑戰(zhàn),特別是在移動(dòng)設(shè)備和IoT環(huán)境中。為提高效率,通常使用中國(guó)剩余定理(CRT)加速私鑰操作,可提升約4倍性能。另外,RSA通常與對(duì)稱(chēng)加密結(jié)合使用,僅加密會(huì)話(huà)密鑰而非直接加密數(shù)據(jù)。盡管存在量子計(jì)算威脅(Shor算法理論上可在多項(xiàng)式時(shí)間內(nèi)分解大整數(shù)),RSA在可預(yù)見(jiàn)的未來(lái)仍將是重要的加密工具,同時(shí)行業(yè)正積極研發(fā)后量子密碼替代方案。DH密鑰交換算法算法基本原理Diffie-Hellman密鑰交換算法由WhitfieldDiffie和MartinHellman于1976年提出,是首個(gè)公開(kāi)的公鑰密碼學(xué)方案。其核心思想是允許兩方在不安全通道上協(xié)商出共享密鑰,而不需要預(yù)先共享任何秘密。數(shù)學(xué)基礎(chǔ)DH算法基于離散對(duì)數(shù)問(wèn)題的計(jì)算困難性:已知大素?cái)?shù)p、本原根g和gamodp的值,計(jì)算a在計(jì)算上是困難的。DH的安全性依賴(lài)于對(duì)手難以解決這一問(wèn)題。模冪運(yùn)算模冪運(yùn)算形如gamodp,是DH算法的核心操作。盡管這種運(yùn)算對(duì)于大數(shù)來(lái)說(shuō)計(jì)算復(fù)雜,但使用"平方乘"算法(square-and-multiply)可以高效實(shí)現(xiàn),時(shí)間復(fù)雜度為O(loga)而非O(a)。DH密鑰交換不提供身份認(rèn)證,容易受到中間人攻擊。在實(shí)際應(yīng)用中,通常結(jié)合數(shù)字簽名或證書(shū)來(lái)驗(yàn)證通信方身份,如TLS協(xié)議中的做法?,F(xiàn)代系統(tǒng)中DH主要有兩種實(shí)現(xiàn):基于傳統(tǒng)素?cái)?shù)域的DH(FiniteFieldDH,F(xiàn)FDH)和基于橢圓曲線(xiàn)的ECDH。后者提供相同安全強(qiáng)度但需要更小的密鑰尺寸,因此更為高效,特別是在資源受限環(huán)境中。DH算法流程與應(yīng)用公共參數(shù)協(xié)商大素?cái)?shù)p和本原根g私密選擇Alice選擇a,Bob選擇b公開(kāi)交換Alice發(fā)送A=g^amodp,Bob發(fā)送B=g^bmodp密鑰計(jì)算Alice計(jì)算K=B^amodp,Bob計(jì)算K=A^bmodp共享密鑰雙方得到相同密鑰K=g^abmodpDH密鑰交換在現(xiàn)代安全協(xié)議中應(yīng)用廣泛:TLS/SSL中作為密鑰協(xié)商機(jī)制;IPsec中用于VPN通信安全密鑰建立;SSH協(xié)議中的密鑰協(xié)商;Signal協(xié)議中實(shí)現(xiàn)前向安全性和后向安全性;OpenPGP中作為會(huì)話(huà)密鑰交換的選項(xiàng)。DH算法還衍生出了許多變體和改進(jìn)版本:匿名DH(ADH)提供無(wú)身份驗(yàn)證的密鑰交換;橢圓曲線(xiàn)DH(ECDH)提供更高效實(shí)現(xiàn);三方DH(3DH)支持三方安全通信;增強(qiáng)型DH具有更好的隨機(jī)性要求,應(yīng)對(duì)量子計(jì)算威脅。橢圓曲線(xiàn)加密(ECC)簡(jiǎn)介數(shù)學(xué)基礎(chǔ)橢圓曲線(xiàn)密碼學(xué)基于橢圓曲線(xiàn)上點(diǎn)群的代數(shù)結(jié)構(gòu)。標(biāo)準(zhǔn)形式為y2=x3+ax+b,其中a和b為常數(shù)。在有限域上,橢圓曲線(xiàn)點(diǎn)的加法和乘法操作構(gòu)成了一個(gè)離散數(shù)學(xué)系統(tǒng)。ECC的核心難題是橢圓曲線(xiàn)離散對(duì)數(shù)問(wèn)題(ECDLP):已知點(diǎn)P和Q=kP(P的k倍點(diǎn)),求解整數(shù)k是計(jì)算上困難的。主要優(yōu)點(diǎn)相比傳統(tǒng)公鑰密碼系統(tǒng),ECC具有顯著優(yōu)勢(shì):更小的密鑰尺寸:256位ECC提供約3072位RSA相當(dāng)安全強(qiáng)度更低的計(jì)算開(kāi)銷(xiāo):密鑰生成、簽名和驗(yàn)證速度更快更低的帶寬和存儲(chǔ)需求:適合資源受限場(chǎng)景更高的安全邊際:?jiǎn)挝槐忍靥峁└喟踩訣CC實(shí)現(xiàn)需要選擇合適的域參數(shù),包括:有限域(通常是素?cái)?shù)域或二元域);橢圓曲線(xiàn)方程參數(shù)a和b;基點(diǎn)G(生成元);基點(diǎn)階n(滿(mǎn)足nG=O,O為無(wú)窮遠(yuǎn)點(diǎn));以及余因子h。為確保安全和互操作性,多種標(biāo)準(zhǔn)化曲線(xiàn)被廣泛使用,如NIST推薦的P-256、P-384等,以及更現(xiàn)代的Curve25519和Curve448。這些標(biāo)準(zhǔn)曲線(xiàn)經(jīng)過(guò)精心選擇,既提供高安全性又具良好實(shí)現(xiàn)特性。ECC加密流程密鑰生成1.選擇橢圓曲線(xiàn)E和基點(diǎn)G2.隨機(jī)選擇私鑰d(整數(shù),通常為256位)3.計(jì)算公鑰Q=d·G(點(diǎn)乘運(yùn)算)4.私鑰為d,公鑰為點(diǎn)Q消息映射將明文消息M映射到橢圓曲線(xiàn)上的點(diǎn)PM。這一步是ECC特有的,因?yàn)榧用懿僮髦荒軐?duì)曲線(xiàn)上的點(diǎn)進(jìn)行。常用方法包括:-Koblitz方法:將消息嵌入到點(diǎn)的x坐標(biāo)-確定性映射:使用哈希函數(shù)映射到曲線(xiàn)上加密過(guò)程使用接收方公鑰Q加密消息點(diǎn)PM:1.隨機(jī)選擇整數(shù)k2.計(jì)算C1=k·G3.計(jì)算C2=PM+k·Q4.密文為點(diǎn)對(duì)(C1,C2)解密過(guò)程使用私鑰d解密密文(C1,C2):1.計(jì)算PM=C2-d·C12.從點(diǎn)PM恢復(fù)原始消息M實(shí)際應(yīng)用中,通常使用橢圓曲線(xiàn)整合迪菲-赫爾曼(ECDH)協(xié)議建立共享密鑰,然后用對(duì)稱(chēng)算法加密實(shí)際數(shù)據(jù),而非直接使用以上描述的ECC加密。這種混合方案結(jié)合了ECC的密鑰管理優(yōu)勢(shì)和對(duì)稱(chēng)加密的效率。ECC安全性與發(fā)展安全性評(píng)估ECDLP目前沒(méi)有已知的經(jīng)典計(jì)算機(jī)高效解法。256位ECC提供約128位安全強(qiáng)度,抵御最先進(jìn)的攻擊方法。相同安全級(jí)別下,ECC密鑰長(zhǎng)度約為RSA的1/6。最佳已知攻擊是Pollard'srho算法,復(fù)雜度為O(√n),其中n為曲線(xiàn)階。抗量子攻擊雖然Shor量子算法理論上可在多項(xiàng)式時(shí)間內(nèi)解決ECDLP,但ECC仍比RSA面對(duì)量子計(jì)算具有優(yōu)勢(shì)。攻破256位ECC需要約2330個(gè)量子比特,而攻破2048位RSA需要約4000個(gè)量子比特。目前最大量子處理器不超過(guò)100個(gè)量子比特,且穩(wěn)定性有限。性能與優(yōu)勢(shì)大量基準(zhǔn)測(cè)試顯示,ECC在性能上顯著優(yōu)于RSA:密鑰生成速度提升5-15倍;簽名操作快2-5倍;驗(yàn)證操作在某些場(chǎng)景略慢。在帶寬和存儲(chǔ)方面,ECC證書(shū)和簽名尺寸約為RSA的1/6,為移動(dòng)和物聯(lián)網(wǎng)場(chǎng)景提供重要優(yōu)勢(shì)。ECC已成為現(xiàn)代密碼系統(tǒng)的核心組件:TLS1.3優(yōu)先支持基于ECC的密碼套件;信用卡芯片普遍采用ECC;區(qū)塊鏈技術(shù)如比特幣和以太坊使用ECC進(jìn)行交易簽名;移動(dòng)安全通信(如Signal協(xié)議)廣泛應(yīng)用ECC實(shí)現(xiàn)前向安全性;安全硬件模塊多數(shù)支持ECC算法。未來(lái)發(fā)展趨勢(shì)包括:更高效曲線(xiàn)形式研究(Edwards曲線(xiàn)、Montgomery曲線(xiàn));同態(tài)加密與零知識(shí)證明中的應(yīng)用;后量子安全混合方案開(kāi)發(fā);以及超奇異同源密碼學(xué)(用于身份基加密)的實(shí)用化。典型非對(duì)稱(chēng)加密標(biāo)準(zhǔn)標(biāo)準(zhǔn)名稱(chēng)適用算法主要特點(diǎn)典型應(yīng)用PKCS#1RSA定義RSA密鑰格式、加密和簽名算法SSL/TLS,S/MIMEPKCS#8多種私鑰信息語(yǔ)法標(biāo)準(zhǔn)密鑰存儲(chǔ)與傳輸X.509多種公鑰證書(shū)標(biāo)準(zhǔn)PKI,HTTPSSEC1/2ECC橢圓曲線(xiàn)密碼學(xué)實(shí)現(xiàn)標(biāo)準(zhǔn)金融系統(tǒng),區(qū)塊鏈ANSIX9.62ECDSA金融行業(yè)橢圓曲線(xiàn)數(shù)字簽名銀行間通信工業(yè)界廣泛采用這些標(biāo)準(zhǔn)以確?;ゲ僮餍院桶踩浴SA標(biāo)準(zhǔn)在傳統(tǒng)系統(tǒng)中占主導(dǎo)地位,但ECC標(biāo)準(zhǔn)在移動(dòng)和嵌入式應(yīng)用中快速普及。金融領(lǐng)域尤其重視ECC標(biāo)準(zhǔn)如ANSIX9.62,因其在小型設(shè)備(如智能卡)上的高效性。近年來(lái),隨著安全需求提高,標(biāo)準(zhǔn)更新頻率加快,如PKCS#1已更新至v2.2版本,增強(qiáng)了安全性并添加了新功能。同時(shí),各行業(yè)也開(kāi)發(fā)了特定領(lǐng)域標(biāo)準(zhǔn),如汽車(chē)行業(yè)的安全通信標(biāo)準(zhǔn)。開(kāi)源實(shí)現(xiàn)如OpenSSL、BouncyCastle等為這些標(biāo)準(zhǔn)提供了廣泛支持,促進(jìn)了跨平臺(tái)應(yīng)用。公鑰基礎(chǔ)設(shè)施(PKI)證書(shū)頒發(fā)機(jī)構(gòu)(CA)信任根源,負(fù)責(zé)驗(yàn)證身份并簽發(fā)證書(shū)證書(shū)注冊(cè)機(jī)構(gòu)(RA)處理證書(shū)請(qǐng)求,驗(yàn)證申請(qǐng)者身份3證書(shū)與CRL存儲(chǔ)庫(kù)存儲(chǔ)有效證書(shū)和吊銷(xiāo)列表終端實(shí)體證書(shū)持有者和驗(yàn)證者公鑰基礎(chǔ)設(shè)施(PKI)是一套完整的框架,用于創(chuàng)建、分發(fā)、使用和管理公鑰證書(shū)。PKI解決了公鑰密碼系統(tǒng)中的信任問(wèn)題:如何確保某個(gè)公鑰確實(shí)屬于聲稱(chēng)的實(shí)體。數(shù)字證書(shū)是PKI的核心組件,通常遵循X.509標(biāo)準(zhǔn),包含實(shí)體標(biāo)識(shí)信息、公鑰、頒發(fā)者信息、有效期等,并由CA的私鑰簽名。PKI的信任鏈模型構(gòu)建了一個(gè)等級(jí)化的信任結(jié)構(gòu):根CA位于頂端,擁有自簽名證書(shū);中間CA由根CA認(rèn)證;最終用戶(hù)證書(shū)由中間CA簽發(fā)。瀏覽器和操作系統(tǒng)預(yù)裝了可信根CA列表。證書(shū)吊銷(xiāo)通過(guò)證書(shū)吊銷(xiāo)列表(CRL)或在線(xiàn)證書(shū)狀態(tài)協(xié)議(OCSP)實(shí)現(xiàn),以處理密鑰泄露等安全事件。非對(duì)稱(chēng)加密性能與局限非對(duì)稱(chēng)加密的主要性能局限表現(xiàn)在幾個(gè)方面:計(jì)算密集型操作導(dǎo)致處理速度比對(duì)稱(chēng)加密慢約1000倍;資源消耗高,特別是在移動(dòng)設(shè)備和IoT設(shè)備上;密鑰尺寸較大,增加通信和存儲(chǔ)開(kāi)銷(xiāo);復(fù)雜的密鑰生成過(guò)程需要高質(zhì)量隨機(jī)數(shù)。非對(duì)稱(chēng)加密的典型應(yīng)用范圍包括:密鑰交換協(xié)議,如TLS握手階段;小型數(shù)據(jù)的安全傳輸,如PIN碼或令牌;數(shù)字簽名驗(yàn)證,如軟件包簽名;身份認(rèn)證機(jī)制,如客戶(hù)端證書(shū);以及密鑰托管和恢復(fù)系統(tǒng)。為克服性能限制,實(shí)際系統(tǒng)通常采用混合加密方案:使用非對(duì)稱(chēng)加密保護(hù)隨機(jī)生成的會(huì)話(huà)密鑰;使用該會(huì)話(huà)密鑰和對(duì)稱(chēng)算法加密大量數(shù)據(jù);預(yù)計(jì)算和緩存某些密碼操作以提升響應(yīng)速度;硬件加速特定密碼操作,如專(zhuān)用密碼協(xié)處理器。摘要算法(雜湊函數(shù))基礎(chǔ)基本特性單向性:從摘要值計(jì)算原始數(shù)據(jù)計(jì)算上不可行抗碰撞性:找到產(chǎn)生相同摘要的兩條不同消息困難雪崩效應(yīng):輸入微小變化導(dǎo)致輸出顯著不同確定性:相同輸入永遠(yuǎn)產(chǎn)生相同輸出固定長(zhǎng)度輸出:不論輸入大小,輸出長(zhǎng)度固定主要用途數(shù)據(jù)完整性驗(yàn)證:檢測(cè)文件是否被篡改數(shù)字簽名:先計(jì)算消息摘要再簽名密碼存儲(chǔ):存儲(chǔ)密碼哈希而非明文隨機(jī)數(shù)生成:作為熵源或混合器唯一標(biāo)識(shí)符:用作文件或數(shù)據(jù)的指紋常見(jiàn)算法MD5:已被證明不安全,僅用于非安全場(chǎng)景SHA-1:安全性受到質(zhì)疑,不推薦用于新系統(tǒng)SHA-256/SHA-3:當(dāng)前推薦標(biāo)準(zhǔn)BLAKE2/BLAKE3:高性能現(xiàn)代哈希函數(shù)SM3:中國(guó)國(guó)家密碼標(biāo)準(zhǔn)哈希算法哈希函數(shù)通常基于壓縮函數(shù)構(gòu)建,采用Merkle–Damg?rd結(jié)構(gòu)或海綿結(jié)構(gòu)。前者將消息分塊處理,每塊與前一步驟的中間狀態(tài)組合;后者(如SHA-3使用的Keccak)通過(guò)"吸收"和"擠出"階段處理數(shù)據(jù)。在實(shí)際應(yīng)用中,純哈希函數(shù)和密碼學(xué)哈希函數(shù)需區(qū)分:前者(如CRC32)僅用于錯(cuò)誤檢測(cè);后者必須滿(mǎn)足密碼學(xué)安全性需求,用于安全場(chǎng)景。當(dāng)處理敏感數(shù)據(jù)如密碼存儲(chǔ)時(shí),應(yīng)使用專(zhuān)用算法(如bcrypt、Argon2)而非普通哈希函數(shù)。MD5原理與流程消息填充原始消息長(zhǎng)度補(bǔ)充至模512位同余448位,然后附加64位原始長(zhǎng)度值,確保總長(zhǎng)為512位的倍數(shù)分塊處理將填充后的消息分為512位(64字節(jié))的數(shù)據(jù)塊,每塊作為一個(gè)處理單元初始化狀態(tài)設(shè)置四個(gè)32位鏈接變量A、B、C、D,初始值為預(yù)定義的常量主循環(huán)處理對(duì)每個(gè)512位塊執(zhí)行4輪處理,每輪包含16個(gè)類(lèi)似的步驟,使用不同的非線(xiàn)性函數(shù)和位移量輸出生成所有塊處理完畢后,將A、B、C、D串聯(lián)得到128位(16字節(jié))最終摘要值MD5的每輪操作使用四個(gè)非線(xiàn)性函數(shù)(F、G、H、I),加強(qiáng)了算法的混淆特性。全部64步操作使用一個(gè)64元素的正弦函數(shù)值表T[1...64],增強(qiáng)了算法的隨機(jī)性。每步操作包括:a=b+((a+Fun(b,c,d)+X[k]+T[i])<<<s)其中Fun為當(dāng)前輪的非線(xiàn)性函數(shù),X[k]為當(dāng)前處理的32位消息塊,T[i]為常量表元素,s為位移量,<<<表示循環(huán)左移。四輪結(jié)束后,將結(jié)果累加到鏈接變量,處理下一數(shù)據(jù)塊或輸出最終結(jié)果。MD5安全性分析碰撞攻擊1996年,Dobbertin展示了MD5壓縮函數(shù)的碰撞。2004年,王小云團(tuán)隊(duì)展示了完整MD5算法的碰撞,只需2^64次操作(遠(yuǎn)低于生日攻擊的2^128)。2007年,研究人員能在幾小時(shí)內(nèi)生成碰撞。選擇前綴碰撞2009年,研究人員演示了"選擇前綴碰撞",能創(chuàng)建具有指定開(kāi)頭的碰撞文件。最典型案例是創(chuàng)建具有相同MD5值但行為完全不同的兩個(gè)證書(shū),實(shí)際證明了偽造CA證書(shū)的可能性。惡意軟件利用攻擊者利用MD5碰撞創(chuàng)建同時(shí)通過(guò)白名單和實(shí)施惡意行為的文件。2012年發(fā)現(xiàn)的Flame惡意軟件使用MD5碰撞創(chuàng)建假冒微軟簽名,實(shí)現(xiàn)代碼簽名繞過(guò),展示了實(shí)際威脅。3不建議使用原因MD5已被證明不具備密碼學(xué)安全性,存在高效碰撞攻擊方法;輸出長(zhǎng)度128位不足以抵抗現(xiàn)代計(jì)算能力;大型互聯(lián)網(wǎng)公司和安全組織已明確不建議在安全場(chǎng)景使用MD5。盡管MD5在安全應(yīng)用中已被淘汰,某些遺留系統(tǒng)和非安全場(chǎng)景仍在使用。對(duì)于需要安全保護(hù)的新系統(tǒng),應(yīng)選擇SHA-256或更新的哈希算法。若必須處理遺留MD5系統(tǒng),可采用HMAC-MD5緩解部分風(fēng)險(xiǎn)(盡管仍非最佳選擇)。SHA家族算法算法發(fā)布年份輸出長(zhǎng)度(位)區(qū)塊大小(位)安全狀態(tài)SHA-01993160512已被攻破SHA-11995160512不安全SHA-22001224/256/384/512512/1024安全SHA-32015224/256/384/5121600安全SHA(安全哈希算法)家族由美國(guó)國(guó)家安全局(NSA)設(shè)計(jì),由NIST發(fā)布為標(biāo)準(zhǔn)。SHA-1于2005年理論上被證明存在弱點(diǎn),2017年谷歌團(tuán)隊(duì)實(shí)際演示了首個(gè)SHA-1碰撞,要求大量計(jì)算資源但證明了其不安全性。SHA-2包含多個(gè)變種(SHA-224、SHA-256、SHA-384、SHA-512等),目前仍被認(rèn)為安全,廣泛應(yīng)用于TLS、SSH、PGP等協(xié)議。SHA-3與前代不同,基于海綿結(jié)構(gòu)的Keccak算法,通過(guò)NIST公開(kāi)競(jìng)爭(zhēng)選出。它提供抵抗量子計(jì)算的更強(qiáng)安全保障,以及獨(dú)特的可擴(kuò)展性和靈活性。主流建議是對(duì)新系統(tǒng)使用SHA-256或SHA-3,特別是長(zhǎng)期安全需求場(chǎng)景應(yīng)考慮SHA-384或SHA-512,以抵御量子計(jì)算潛在威脅。SHA-256原理與流程消息預(yù)處理與MD5類(lèi)似,原始消息先追加一個(gè)"1"位,再添加"0"位使長(zhǎng)度模512位余448位,最后附加64位表示原始消息長(zhǎng)度,確保最終消息長(zhǎng)度是512位的倍數(shù)。初始化哈希值使用8個(gè)32位字初始化哈希狀態(tài)H0到H7,這些值是前8個(gè)素?cái)?shù)(2到19)的平方根小數(shù)部分的前32位。這些常量保證了算法起點(diǎn)的隨機(jī)性。消息分組處理將消息分為512位塊,每塊分為16個(gè)32位字。對(duì)每塊進(jìn)行64輪壓縮函數(shù)操作,使用預(yù)定義的64個(gè)常量和多個(gè)邏輯函數(shù)(Ch、Maj、Σ0、Σ1、σ0、σ1)。每輪操作包括多次位移和邏輯運(yùn)算,形成復(fù)雜的混合和擴(kuò)散效果。最終哈希值計(jì)算所有塊處理完畢后,最終哈希值是8個(gè)32位狀態(tài)值H0到H7的串聯(lián),形成256位輸出。SHA-256的設(shè)計(jì)確保每一位輸出都依賴(lài)于輸入的每一位,體現(xiàn)完美的雪崩效應(yīng)。SHA-256的核心壓縮函數(shù)在每個(gè)512位塊上操作,擴(kuò)展16個(gè)輸入字為64個(gè)字,然后通過(guò)8個(gè)工作變量(a-h)執(zhí)行64輪變換。變換過(guò)程中使用常數(shù)值K[0...63],這些值來(lái)自立方根。整個(gè)過(guò)程確保了良好的混淆和擴(kuò)散特性,遠(yuǎn)超MD5的安全性。與SHA-1相比,SHA-256增加了輸出長(zhǎng)度(160位到256位),使用了更多的輪次(80輪到64輪,但計(jì)算更復(fù)雜),改進(jìn)了消息調(diào)度,并添加了額外的位移操作,顯著提高了抵抗密碼分析的能力。SHA安全性與應(yīng)用區(qū)塊鏈應(yīng)用SHA-256是比特幣和許多區(qū)塊鏈系統(tǒng)的核心組件:用于工作量證明(PoW)挖礦算法,礦工需找到特定哈希值;生成交易哈希標(biāo)識(shí);構(gòu)建交易Merkle樹(shù);錢(qián)包地址生成鏈。區(qū)塊鏈對(duì)SHA-256的依賴(lài)體現(xiàn)了其在高價(jià)值應(yīng)用中的可靠性。數(shù)字簽名應(yīng)用幾乎所有現(xiàn)代數(shù)字簽名協(xié)議使用哈希函數(shù):RSA-SHA256替代老舊的MD5與SHA-1簽名;ECDSA與SHA-256組合提供高安全性和高效簽名;DSA簽名必須使用安全哈希函數(shù);代碼簽名和證書(shū)簽名中的標(biāo)準(zhǔn)做法。哈希函數(shù)使簽名過(guò)程更高效、消息大小無(wú)限制。安全存儲(chǔ)SHA哈希函數(shù)在密碼存儲(chǔ)中應(yīng)用廣泛:與鹽值組合增加抵抗字典攻擊的能力;與迭代函數(shù)如PBKDF2結(jié)合增加計(jì)算成本;特定場(chǎng)景與密鑰派生函數(shù)如bcrypt、Argon2配合使用;文件完整性驗(yàn)證;軟件發(fā)布的校驗(yàn)和驗(yàn)證。適當(dāng)實(shí)現(xiàn)可有效保護(hù)敏感數(shù)據(jù)。SHA-256的安全性得到廣泛信任,目前沒(méi)有已知的實(shí)用攻擊方法。最佳理論攻擊將256位安全性降低至約2^178,遠(yuǎn)高于其他密碼學(xué)原語(yǔ)的安全邊界。預(yù)計(jì)在量子計(jì)算環(huán)境下,Grover算法可將SHA-256的安全性降至128位,仍然足夠安全。SHA-3雖然設(shè)計(jì)更現(xiàn)代,但在大多數(shù)應(yīng)用中SHA-256仍然是首選,主要因其廣泛部署、成熟實(shí)現(xiàn)和出色性能。特別需要抵抗側(cè)信道攻擊的場(chǎng)景可能優(yōu)先考慮SHA-3,因其海綿結(jié)構(gòu)具有天然抵抗優(yōu)勢(shì)。HMAC消息認(rèn)證碼基本概念HMAC(基于哈希的消息認(rèn)證碼)是一種結(jié)合密鑰和哈希函數(shù)的機(jī)制,用于同時(shí)驗(yàn)證消息的完整性和來(lái)源真實(shí)性。與單純的哈希不同,HMAC需要一個(gè)密鑰,只有持有正確密鑰的人才能生成或驗(yàn)證HMAC值。HMAC的核心優(yōu)勢(shì)在于:提供認(rèn)證與完整性雙重保障;利用現(xiàn)有哈希函數(shù)的安全特性;即使底層哈希函數(shù)存在碰撞問(wèn)題(如MD5),HMAC仍能保持相當(dāng)安全性。工作原理HMAC的計(jì)算公式:HMAC(K,m)=H((K'⊕opad)||H((K'⊕ipad)||m))其中:K是密鑰,K'是從K派生的固定長(zhǎng)度密鑰opad和ipad是不同的填充常量H是哈希函數(shù)(如SHA-256)⊕是異或操作,||是連接操作這種嵌套結(jié)構(gòu)提供了更強(qiáng)的安全保障,抵抗長(zhǎng)度擴(kuò)展攻擊。HMAC廣泛應(yīng)用于多種安全場(chǎng)景:TLS/SSL協(xié)議中用于確保消息完整性;IPsec協(xié)議中驗(yàn)證數(shù)據(jù)包來(lái)源;API認(rèn)證中作為請(qǐng)求簽名機(jī)制;JWT(JSONWebToken)中簽名令牌;TOTP(基于時(shí)間的一次性密碼)生成過(guò)程中。與數(shù)字簽名相比,HMAC具有計(jì)算效率高、實(shí)現(xiàn)簡(jiǎn)單、不依賴(lài)復(fù)雜數(shù)學(xué)問(wèn)題等優(yōu)點(diǎn),但缺少不可否認(rèn)性(雙方都持有密鑰),不適合需要第三方驗(yàn)證的場(chǎng)景。常見(jiàn)的HMAC實(shí)現(xiàn)包括HMAC-SHA256、HMAC-SHA384和HMAC-SHA512,根據(jù)安全需求選擇。數(shù)字簽名原理原始文檔需要簽名的消息或文件計(jì)算哈希值使用安全哈希算法生成文檔的摘要使用私鑰簽名用簽名者的私鑰對(duì)哈希值進(jìn)行加密發(fā)送文檔與簽名將原始文檔和數(shù)字簽名一起傳遞驗(yàn)證簽名接收方使用簽名者公鑰驗(yàn)證簽名有效性數(shù)字簽名是非對(duì)稱(chēng)密碼技術(shù)的重要應(yīng)用,通過(guò)將私鑰應(yīng)用于消息摘要而非消息本身,提供三個(gè)核心安全特性:認(rèn)證(確認(rèn)發(fā)送者身份)、完整性(確保消息未被篡改)和不可否認(rèn)性(發(fā)送者無(wú)法否認(rèn)曾發(fā)送消息)。簽名過(guò)程首先使用哈希函數(shù)創(chuàng)建消息摘要,然后使用私鑰對(duì)摘要進(jìn)行加密(或特定簽名算法處理)產(chǎn)生簽名。驗(yàn)證過(guò)程使用公鑰解密簽名得到摘要,再與接收消息重新計(jì)算的摘要比較;若匹配,則簽名有效。常見(jiàn)的簽名算法包括RSA-PSS、ECDSA、EdDSA等,根據(jù)應(yīng)用場(chǎng)景和安全需求選擇合適的算法。RSA數(shù)字簽名流程簽名生成計(jì)算消息M的哈希值:h=H(M),通常使用SHA-256等安全哈希算法應(yīng)用填充方案(如PKCS#1v1.5或PSS)處理哈希值,得到格式化哈希:h'使用私鑰d對(duì)填充后的哈希值進(jìn)行加密:S=(h')dmodn輸出簽名值S,通常與原始消息一同發(fā)送簽名驗(yàn)證接收方使用相同哈希算法計(jì)算接收消息M的哈希值:h=H(M)使用公鑰e解密簽名:h'=Semodn移除填充,得到原始哈希值比較解密得到的哈希值與重新計(jì)算的哈希值,若相等則簽名有效填充方案PKCS#1v1.5:較早標(biāo)準(zhǔn),添加固定前綴和類(lèi)型碼PSS(概率簽名方案):更現(xiàn)代、更安全的方案,添加隨機(jī)元素填充目的:增強(qiáng)安全性,防止數(shù)學(xué)關(guān)系導(dǎo)致的弱點(diǎn)現(xiàn)代應(yīng)用推薦使用RSA-PSS而非v1.5填充RSA簽名流程利用了RSA算法的特性:私鑰加密、公鑰解密。這種方式建立了"數(shù)學(xué)綁定",只有持有私鑰的實(shí)體才能生成有效簽名,而任何人都可以使用公開(kāi)的公鑰驗(yàn)證簽名。RSA簽名在實(shí)現(xiàn)時(shí)需注意:使用足夠長(zhǎng)的密鑰(最低2048位);選擇安全的哈希算法(如SHA-256或更高);正確實(shí)現(xiàn)填充方案;避免在同一私鑰上使用不同算法;考慮使用確定性簽名以防止隨機(jī)數(shù)生成器缺陷;注意邊信道攻擊防護(hù)。RSA簽名廣泛應(yīng)用于SSL/TLS證書(shū)、代碼簽名、軟件更新驗(yàn)證等場(chǎng)景。DSA簽名算法DSA算法概述數(shù)字簽名算法(DigitalSignatureAlgorithm,DSA)是美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)于1991年提出的數(shù)字簽名標(biāo)準(zhǔn)(DSS)的一部分。與RSA不同,DSA專(zhuān)為數(shù)字簽名設(shè)計(jì),不能用于加密。DSA基于離散對(duì)數(shù)問(wèn)題,使用比RSA小得多的密鑰提供同等安全強(qiáng)度。DSA簽名包含兩個(gè)部分(r,s),通常比RSA簽名小,但驗(yàn)證過(guò)程計(jì)算更復(fù)雜。DSA需要高質(zhì)量隨機(jī)數(shù)生成器,錯(cuò)誤實(shí)現(xiàn)可能導(dǎo)致私鑰泄露。簽名與驗(yàn)證過(guò)程DSA簽名生成過(guò)程:選擇臨時(shí)隨機(jī)數(shù)k,計(jì)算r=(gkmodp)modq計(jì)算消息哈希值H(M)計(jì)算s=(k-1*(H(M)+x*r))modq輸出簽名值(r,s)DSA簽名驗(yàn)證過(guò)程:計(jì)算w=s-1modq計(jì)算u1=(H(M)*w)modq計(jì)算u2=(r*w)modq計(jì)算v=((gu1*yu2)modp)modq如果v=r,則簽名有效ECDSA(橢圓曲線(xiàn)數(shù)字簽名算法)是DSA的變體,基于橢圓曲線(xiàn)離散對(duì)數(shù)問(wèn)題。ECDSA使用更短的密鑰(224-256位)提供與RSA-2048相當(dāng)?shù)陌踩?,簽名生成速度快,但?yàn)證較慢。ECDSA在資源受限環(huán)境(如智能卡、物聯(lián)網(wǎng)設(shè)備)廣泛應(yīng)用,也是比特幣、以太坊等區(qū)塊鏈平臺(tái)的標(biāo)準(zhǔn)簽名算法。EdDSA(Edwards-curveDigitalSignatureAlgorithm)是最新一代簽名算法,基于扭曲Edwards曲線(xiàn),具有更好的性能和安全特性。Ed25519變種提供高安全性、快速驗(yàn)證和抗側(cè)信道攻擊的優(yōu)勢(shì),已在TLS1.3、SSH和Signal協(xié)議中采用。數(shù)字簽名在現(xiàn)實(shí)中的應(yīng)用數(shù)字簽名已深入現(xiàn)代社會(huì)各領(lǐng)域:電子合同領(lǐng)域,通過(guò)合法有效的數(shù)字簽名替代手寫(xiě)簽名,實(shí)現(xiàn)遠(yuǎn)程合同簽署;軟件分發(fā)過(guò)程中,開(kāi)發(fā)者對(duì)應(yīng)用程序進(jìn)行簽名,操作系統(tǒng)驗(yàn)證簽名確保軟件未被篡改;SSL/TLS證書(shū)中,CA機(jī)構(gòu)簽名證書(shū)驗(yàn)證網(wǎng)站身份;電子郵件通信使用S/MIME或PGP簽名確保郵件真實(shí)性。區(qū)塊鏈技術(shù)與智能合約依賴(lài)數(shù)字簽名作為核心機(jī)制:每筆交易必須由發(fā)起者私鑰簽名;簽名驗(yàn)證是共識(shí)協(xié)議的基礎(chǔ);多重簽名錢(qián)包要求多個(gè)私鑰持有者簽名才能執(zhí)行交易;智能合約執(zhí)行條件可包含簽名驗(yàn)證步驟。政府和企業(yè)紛紛推動(dòng)電子簽名法律框架建設(shè),如中國(guó)《電子簽名法》、歐盟eIDAS規(guī)則和美國(guó)ESIGN法案,賦予合格數(shù)字簽名與手寫(xiě)簽名同等法律效力。國(guó)密算法簡(jiǎn)介SM1分組密碼算法,密鑰長(zhǎng)度128位,用于硬件加密,屬于商用密碼,具體算法未公開(kāi)。主要用于高安全等級(jí)電子設(shè)備和系統(tǒng),如金融終端和專(zhuān)用通信設(shè)備。SM2基于橢圓曲線(xiàn)的非對(duì)稱(chēng)加密算法,提供256位安全強(qiáng)度,相當(dāng)于RSA-3072。包含數(shù)字簽名、密鑰交換和公鑰加密功能。是國(guó)內(nèi)電子認(rèn)證、電子政務(wù)和支付系統(tǒng)的標(biāo)準(zhǔn)算法。SM3密碼雜湊算法,輸出256位值,填補(bǔ)我國(guó)密碼雜湊算法空白。安全性與SHA-256相當(dāng),但設(shè)計(jì)更符合中國(guó)標(biāo)準(zhǔn)。廣泛應(yīng)用于數(shù)字簽名、消息認(rèn)證和隨機(jī)數(shù)生成。SM4分組密碼算法,密鑰和分組長(zhǎng)度均為128位,取代DES/AES成為對(duì)稱(chēng)加密?chē)?guó)家標(biāo)準(zhǔn)。算法公開(kāi)且相對(duì)簡(jiǎn)單,適合軟硬件實(shí)現(xiàn)。在移動(dòng)通信、金融支付和智能卡中廣泛使用。國(guó)密算法是中國(guó)自主研發(fā)的密碼算法標(biāo)準(zhǔn)體系,由國(guó)家密碼管理局制定,目的是加強(qiáng)信息安全自主可控。"SM"代表"商密",即商用密碼算法。國(guó)密標(biāo)準(zhǔn)已廣泛應(yīng)用于國(guó)內(nèi)金融、電信、交通、稅務(wù)等重要部門(mén)及系統(tǒng),構(gòu)建了完整的密碼應(yīng)用體系。隨著"網(wǎng)絡(luò)安全等級(jí)保護(hù)2.0"的實(shí)施,支持國(guó)密算法成為相關(guān)系統(tǒng)的合規(guī)要求。目前主流瀏覽器、操作系統(tǒng)與應(yīng)用軟件正在增加對(duì)國(guó)密算法的支持,國(guó)際開(kāi)源密碼庫(kù)如OpenSSL也已添加國(guó)密算法支持,國(guó)密標(biāo)準(zhǔn)的應(yīng)用范圍持續(xù)擴(kuò)大。國(guó)密SM2原理與流程算法基礎(chǔ)SM2基于橢圓曲線(xiàn)密碼學(xué),采用256位素?cái)?shù)域上的橢圓曲線(xiàn)。其標(biāo)準(zhǔn)曲線(xiàn)參數(shù)為y2=x3+ax+b(modp),其中p為256位素?cái)?shù),a=-3,b為特定常數(shù)。與國(guó)際通用的ECC算法相比,SM2使用不同的曲線(xiàn)參數(shù)和處理流程,但基本數(shù)學(xué)原理相同。密鑰生成1.隨機(jī)選擇整數(shù)d∈[1,n-1]作為私鑰,n為基點(diǎn)G的階2.計(jì)算公鑰P=d·G(點(diǎn)乘運(yùn)算)3.私鑰d需安全保存,公鑰P可公開(kāi)分發(fā)SM2使用特定編碼規(guī)則表示公鑰,標(biāo)準(zhǔn)要求驗(yàn)證公鑰點(diǎn)在曲線(xiàn)上加解密流程SM2加密包含以下步驟:1.隨機(jī)生成k∈[1,n-1]2.計(jì)算C?=k·G3.計(jì)算共享點(diǎn)S=k·P=(x?,y?)4.使用KDF導(dǎo)出密鑰t5.計(jì)算C?=M⊕t(M為明文)6.計(jì)算C?=Hash(x?||M||y?)7.輸出密文C=C?||C?||C?簽名流程SM2簽名算法與ECDSA不同,引入了消息Z(包含用戶(hù)標(biāo)識(shí)、橢圓曲線(xiàn)參數(shù)等)參與哈希計(jì)算,提高了安全性。簽名過(guò)程生成(r,s)對(duì),驗(yàn)證算法可確認(rèn)該簽名是否由特定私鑰產(chǎn)生。SM2簽名支持多種模式,包括普通簽名、盲簽名和代理簽名。SM2實(shí)現(xiàn)了非對(duì)稱(chēng)密碼體制的三大功能:加密解密、簽名驗(yàn)簽和密鑰交換,是一種綜合性公鑰密碼算法。與RSA相比,SM2在相同安全強(qiáng)度下密鑰長(zhǎng)度更短,處理速度更快,特別適合資源受限環(huán)境。國(guó)密SM3雜湊算法算法結(jié)構(gòu)SM3采用類(lèi)似SHA-256的Merkle-Damg?rd結(jié)構(gòu),但有重要改進(jìn)。消息分為512位塊,通過(guò)壓縮函數(shù)處理,初始值為8個(gè)32位字。內(nèi)部包含消息擴(kuò)展和壓縮兩部分:擴(kuò)展將16個(gè)字?jǐn)U展為132個(gè)字,壓縮使用8個(gè)寄存器執(zhí)行64輪變換。每輪使用兩個(gè)不同的布爾函數(shù)和三種旋轉(zhuǎn)函數(shù),增強(qiáng)了混淆和擴(kuò)散效果。性能分析SM3的設(shè)計(jì)權(quán)衡了安全性和效率,在標(biāo)準(zhǔn)硬件上速度略慢于SHA-256(約10-15%),但在特定中國(guó)硬件平臺(tái)可能有優(yōu)化。軟件實(shí)現(xiàn)中,SM3每GB數(shù)據(jù)處理時(shí)間約為200-300ms(現(xiàn)代處理器)。盡管比SHA-256計(jì)算復(fù)雜度略高,但仍遠(yuǎn)快于SHA-512和SHA-3,實(shí)際應(yīng)用中性能差異通常不明顯。常用場(chǎng)景SM3的應(yīng)用場(chǎng)景包括:與SM2配合實(shí)現(xiàn)數(shù)字簽名;銀行業(yè)金融支付系統(tǒng)的完整性驗(yàn)證;國(guó)內(nèi)CA證書(shū)系統(tǒng)的簽名算法;政府電子公文系統(tǒng);商用密碼產(chǎn)品的標(biāo)準(zhǔn)哈希算法;身份認(rèn)證系統(tǒng)中的密碼存儲(chǔ)(配合鹽值使用);密鑰派生函數(shù)中的組件。在國(guó)內(nèi)安全等保要求的系統(tǒng)中,SM3已成為首選哈希算法。SM3設(shè)計(jì)目標(biāo)是提供與SHA-256相當(dāng)?shù)陌踩?,同時(shí)適應(yīng)中國(guó)密碼法規(guī)要求。當(dāng)前沒(méi)有已知的實(shí)用性攻擊方法,最好的理論攻擊將其256位安全性降至約2^106,仍然遠(yuǎn)高于實(shí)際攻擊閾值。其抗碰撞性和單向性設(shè)計(jì)良好,有效抵抗差分和線(xiàn)性密碼分析。根據(jù)《密碼法》和相關(guān)規(guī)定,涉及國(guó)家秘密和關(guān)鍵信息基礎(chǔ)設(shè)施的系統(tǒng)必須采用國(guó)密算法,包括SM3。主流軟件如Firefox、Chrome、已添加對(duì)SM3的支持,多個(gè)開(kāi)源庫(kù)(OpenSSL、GmSSL等)提供了SM3實(shí)現(xiàn),方便系統(tǒng)集成。國(guó)密SM4對(duì)稱(chēng)加密算法算法結(jié)構(gòu)32輪非平衡Feistel結(jié)構(gòu),操作128位數(shù)據(jù)塊2密鑰擴(kuò)展從128位主密鑰生成32個(gè)輪密鑰輪函數(shù)非線(xiàn)性S盒變換與線(xiàn)性擴(kuò)散層組合
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣告設(shè)計(jì)師如何提升2024年考試綜合素質(zhì)試題及答案
- 天一試題及答案物理
- 深入研究2024年國(guó)際商業(yè)設(shè)計(jì)師的職業(yè)選擇試題及答案
- 2024年助理廣告師考試管理能力試題及答案
- 德語(yǔ)課堂考試題及答案
- 2024年助理廣告師考試疑難重點(diǎn)試題及答案
- 弱電運(yùn)行考試試題及答案
- 探索國(guó)際商業(yè)美術(shù)設(shè)計(jì)師考試試題及答案
- (二模)臨沂市2025年高三高考模擬考試語(yǔ)文試題卷(含答案)
- 北大校規(guī)校紀(jì)試題及答案
- 氣候變化適應(yīng)成本-深度研究
- 第2課《風(fēng)鈴》課件 花城版音樂(lè)三年級(jí)下冊(cè)
- R245fa螺旋管內(nèi)分液冷凝特性實(shí)驗(yàn)研究
- 【營(yíng)銷(xiāo)方案】2025小紅書(shū)平臺(tái)營(yíng)銷(xiāo)通案
- 應(yīng)急疏散的標(biāo)識(shí)與規(guī)范
- 光伏項(xiàng)目服務(wù)承諾書(shū)
- 人教版三年級(jí)下冊(cè)數(shù)學(xué)口算題題卡1000道帶答案可打印
- 竣工結(jié)算審計(jì)服務(wù)投標(biāo)方案(2024修訂版)(技術(shù)方案)
- 《健康成年人身體活動(dòng)能量消耗參考值》
- 熱力學(xué)統(tǒng)計(jì)物理-第四版-汪志誠(chéng)-課后答案
- 《鐵路工務(wù)維修現(xiàn)場(chǎng)實(shí)戰(zhàn)技巧》課件 任務(wù)2.9軌道檢查儀作業(yè)
評(píng)論
0/150
提交評(píng)論