本書系統(tǒng)介紹輕量級(jí)密碼算法。全書共分5章。第1章介紹輕量級(jí)密碼算法的應(yīng)用背景和研究現(xiàn)狀。第2章介紹分組密碼一般性設(shè)計(jì)原理和輕量級(jí)分組密碼研究進(jìn)展,按照整體結(jié)構(gòu)分類介紹輕量級(jí)分組密碼。第3章介紹流密碼一般性設(shè)計(jì)原理和輕量級(jí)流密碼研究進(jìn)展,以及基于LFSR和NFSR的流密碼、ARX與隨機(jī)狀態(tài)置換類的流密碼和小狀態(tài)流密碼。第4章介紹消息鑒別碼的共性技術(shù),以及采用分組密碼、專用雜湊函數(shù)、泛雜湊函數(shù)以及直接設(shè)計(jì)的消息鑒別碼。第5章介紹認(rèn)證加密算法一般性設(shè)計(jì)原理和研究進(jìn)展,以及分組密碼認(rèn)證加密工作模式和基于置換、分組密碼和流密碼的認(rèn)證加密算法。 本書可作為密碼學(xué)、網(wǎng)絡(luò)空間安全、信息安全、計(jì)算機(jī)和通信專業(yè)的研究生和本科高年級(jí)學(xué)生的相關(guān)課程的教材,也可作為相關(guān)領(lǐng)域教學(xué)、科研和工程技術(shù)人員的參考書和工具書。
近十年來(lái),隨著物聯(lián)網(wǎng)及各種小型計(jì)算通信設(shè)備的普及應(yīng)用,輕量級(jí)密碼學(xué)應(yīng)運(yùn)而生,并迅速成為密碼學(xué)的研究熱點(diǎn)和相關(guān)產(chǎn)業(yè)應(yīng)用的關(guān)鍵技術(shù)。本書系統(tǒng)地介紹了當(dāng)代的100多個(gè)輕量級(jí)密碼算法,梳理各種輕量級(jí)密碼算法的設(shè)計(jì)原理,及與相關(guān)傳統(tǒng)對(duì)稱密碼算法的繼承與發(fā)展關(guān)系。
輕量級(jí)密碼學(xué)是密碼學(xué)的研究熱點(diǎn)和建立下一代網(wǎng)絡(luò)服務(wù)的關(guān)鍵安全技術(shù)。
本書系統(tǒng)梳理輕量級(jí)密碼算法的設(shè)計(jì)目標(biāo)、設(shè)計(jì)方法、設(shè)計(jì)理念,重點(diǎn)介紹了當(dāng)代100多個(gè)新型輕量級(jí)密碼算法,以及各類輕量級(jí)密碼算法與相關(guān)傳統(tǒng)對(duì)稱密碼算法的繼承與發(fā)展關(guān)系。
本書可作為密碼學(xué)、網(wǎng)絡(luò)空間安全、信息安全、計(jì)算機(jī)、通信等相關(guān)專業(yè)的研究生和本科高年級(jí)學(xué)生的教材,也可以作為相關(guān)領(lǐng)域的教學(xué)、科研和工程技術(shù)人員的參考書。
物聯(lián)網(wǎng)是新一代信息網(wǎng)絡(luò)技術(shù)的高端集成和綜合應(yīng)用,通過(guò)傳感設(shè)備進(jìn)行信息采集和通信,實(shí)現(xiàn)智能化識(shí)別、定位、跟蹤和管理,形成萬(wàn)物互聯(lián)的泛在網(wǎng)絡(luò)。物聯(lián)網(wǎng)為社會(huì)經(jīng)濟(jì)發(fā)展、人們生產(chǎn)生活帶來(lái)了廣泛而深刻的影響,為我們的衣食住行帶來(lái)了極大的便利。然而,在享受新技術(shù)帶來(lái)的智能和便利的同時(shí),大量個(gè)人隱私數(shù)據(jù)悄無(wú)聲息地被復(fù)制、共享、傳播。在物聯(lián)網(wǎng)中,用戶規(guī)模大但防護(hù)意識(shí)弱,設(shè)備數(shù)量多但安全等級(jí)低,分布范圍廣但復(fù)雜性高,容易被不法分子發(fā)現(xiàn)漏洞并利用。近年來(lái),國(guó)內(nèi)外物聯(lián)網(wǎng)安全事件頻發(fā),物聯(lián)網(wǎng)安防攝像頭漏洞、智能家居安全隱患等事件已經(jīng)給物聯(lián)網(wǎng)的發(fā)展及安全防護(hù)敲響了警鐘,物聯(lián)網(wǎng)已經(jīng)成為信息安全的重災(zāi)區(qū)。而傳統(tǒng)密碼算法在安全性、性能和資源需求折中方面往往只面向臺(tái)式機(jī)與服務(wù)器環(huán)境進(jìn)行優(yōu)化,無(wú)法滿足資源受限環(huán)境下的新應(yīng)用需求, 即使將其勉強(qiáng)實(shí)現(xiàn)在這樣的環(huán)境中,其性能往往也不盡如人意。輕量級(jí)密碼正是在此應(yīng)用背景下誕生的密碼學(xué)分支,并迅速成為密碼學(xué)的研究熱點(diǎn)和相關(guān)產(chǎn)業(yè)應(yīng)用的關(guān)鍵技術(shù)。
我們的輕量級(jí)密碼研究始于2006 年的一項(xiàng)研制任務(wù),即如何在低成本、低能耗的受限環(huán)境下從密碼算法層面保證各類小型計(jì)算設(shè)備通信的安全性。在隨后的十幾年中,我們?cè)O(shè)計(jì)了多個(gè)輕量級(jí)密碼算法,發(fā)表了幾十篇有關(guān)輕量級(jí)密碼的論文。依據(jù)對(duì)輕量級(jí)密碼十多年的研究實(shí)踐,我們挑選了100多個(gè)的輕量級(jí)密碼算法,梳理了各種輕量級(jí)密碼算法的設(shè)計(jì)原理以及它們與相關(guān)傳統(tǒng)密碼算法的繼承與發(fā)展關(guān)系。全書共分5章。第1章介紹輕量級(jí)密碼算法的應(yīng)用背景和研究現(xiàn)狀。第2章介紹分組密碼一般性設(shè)計(jì)原理和輕量級(jí)分組密碼研究進(jìn)展,按照整體結(jié)構(gòu)分類介紹輕量級(jí)分組密碼。第3章介紹流密碼一般性設(shè)計(jì)原理和輕量級(jí)流密碼研究進(jìn)展,以及基于LFSR和NFSR的流密碼、ARX與隨機(jī)狀態(tài)置換類的流密碼和小狀態(tài)流密碼。第4章介紹消息鑒別碼的共性技術(shù),以及采用分組密碼、專用雜湊函數(shù)、泛雜湊函數(shù)以及直接設(shè)計(jì)的消息鑒別碼。第5章介紹認(rèn)證加密算法一般性設(shè)計(jì)原理和研究進(jìn)展,以及分組密碼認(rèn)證加密工作模式和基于置換、分組密碼和流密碼的認(rèn)證加密算法。
中國(guó)科學(xué)院馮登國(guó)院士對(duì)本書的寫作和出版給予了極大的鼓勵(lì)和支持,武傳坤教授對(duì)本書提出了許多寶貴建議,清華大學(xué)出版社的張民編審為本書的出版付出了辛勤的勞動(dòng),作者在此致以誠(chéng)摯的謝意。作者在本書的寫作中參考了相關(guān)方面的許多學(xué)術(shù)論文和技術(shù)報(bào)告,在此向這些參考文獻(xiàn)的作者表示衷心的感謝。作者受益于中國(guó)科學(xué)院軟件研究所 TCA 實(shí)驗(yàn)室舉辦的密碼學(xué)系列討論班, 在此感謝參加討論班的各位同事和學(xué)生。本書得到國(guó)家自然科學(xué)基金項(xiàng)目(61672509)和國(guó)家密碼發(fā)展基金課題(MMJJ20170101)的資助,在此一并表示感謝。
本書是一本輕量級(jí)密碼學(xué)的工具書,可供密碼學(xué)科研工作者和工程技術(shù)開(kāi)發(fā)人員查找各種輕量級(jí)密碼算法;同時(shí)給出每個(gè)算法的密碼分析進(jìn)展,以方便相關(guān)人員開(kāi)展進(jìn)一步的安全性分析研究。本書結(jié)構(gòu)既注重整體的統(tǒng)一,同時(shí)各章又自成一體,讀者不必從頭開(kāi)始閱讀本書,可以根據(jù)自己的興趣直接閱讀相關(guān)章節(jié)。本書寫作歷時(shí) 3 年多,作者力求做到敘述簡(jiǎn)潔易懂,內(nèi)容盡可能反映進(jìn)展。但限于水平,作者對(duì)一些問(wèn)題的理解和敘述或有不妥之處,誠(chéng)摯歡迎大家提出寶貴意見(jiàn)。
作者2020年6月于北京
吳文玲,中國(guó)科學(xué)院軟件研究所研究員,長(zhǎng)期從事對(duì)稱密碼算法設(shè)計(jì)與分析研究。曾獲國(guó)家技術(shù)發(fā)明二等獎(jiǎng)、國(guó)家科技進(jìn)步二等獎(jiǎng)和多項(xiàng)省部級(jí)科技獎(jiǎng)勵(lì),以及中國(guó)科學(xué)院優(yōu)秀研究生指導(dǎo)教師獎(jiǎng)和朱李月華優(yōu)秀教師獎(jiǎng)。
第1章緒論1
1.1應(yīng)用背景1
1.2研究現(xiàn)狀2
1.3全書結(jié)構(gòu)8
第2章輕量級(jí)分組密碼9
2.1概述9
2.1.1分組密碼一般性設(shè)計(jì)原理9
2.1.2輕量級(jí)分組密碼研究進(jìn)展13
2.2Feistel 結(jié)構(gòu)分組密碼16
2.2.1SIMON16
2.2.2Simeck18
2.2.3KASUMI20
2.2.4DESL/DESXL23
2.2.5MIBS26
2.2.6ITUbee27
2.2.7RoadRunneR29
2.3SP結(jié)構(gòu)分組密碼31
2.3.1PRESENT31
2.3.2mCrypton33
2.3.3PRINTcipher37
2.3.4EPCBC40
2.3.5KLEIN41
2.3.6LED43
2.3.7Fantomas/Robin46
2.3.8Rectangle47
2.3.9Midori50
2.3.10SKINNY53
2.3.11GIFT57
2.3.12Mysterion60
目 錄〖4〗〖1〗2.3.13uBlock63
2.3.14CRAFT67
2.4廣義Feistel 結(jié)構(gòu)分組密碼69
2.4.1CLEFIA69
2.4.2LBlock75
2.4.3Piccolo77
2.4.4TWINE80
2.4.5Khudra84
2.4.6Lilliput85
2.4.7SEA88
2.4.8TWIS90
2.5ARX類分組密碼92
2.5.1SPECK92
2.5.2LEA94
2.5.3CHAM96
2.5.4HIGHT97
2.5.5SPARX100
2.5.6TEA/XTEA104
2.6其他結(jié)構(gòu)分組密碼105
2.6.1KATAN/KTANTAN105
2.6.2PRINCE107
2.6.3PRIDE110
2.6.4QARMA112
第3章輕量級(jí)流密碼117
3.1概述117
3.1.1流密碼一般性設(shè)計(jì)原理117
3.1.2輕量級(jí)流密碼研究進(jìn)展118
3.2基于LFSR的流密碼120
3.2.1A5/1120
3.2.2E0123
3.2.3Snow 2.0124
3.2.4Snow 3G127
3.2.5ZUC130
3.3基于NFSR的流密碼135
3.3.1A2U2135
3.3.2Grain v1137
3.3.3Enocoro80138
3.3.4FFCSRH/16140
3.3.5MICKEY 2.0142
3.3.6Trivium145
3.4ARX與隨機(jī)狀態(tài)置換類流密碼147
3.4.1Salsa20147
3.4.2Chacha149
3.4.3RC4150
3.5小狀態(tài)流密碼152
3.5.1Sprout152
3.5.2Plantlet154
3.5.3Lizard155
第4章消息鑒別碼158
4.1概述158
4.2共性技術(shù)160
4.2.1填充方法161
4.2.2密鑰誘導(dǎo)方法162
4.2.3掩碼生成方法163
4.3采用分組密碼的消息鑒別碼164
4.3.1CBCMAC164
4.3.2CMAC164
4.3.3CBCR165
4.3.4TrCBC166
4.3.5PMAC167
4.3.6f9168
4.3.7PMAC 169
4.3.83kf9171
4.3.9LightMAC172
4.4采用專用雜湊函數(shù)的消息鑒別碼173
4.4.1MDxMAC173
4.4.2HMAC175
4.4.3NIMAC178
4.5采用泛雜湊函數(shù)的消息鑒別碼179
4.5.1UMAC179
4.5.2Badger184
4.5.3Poly1305187
4.5.4GMAC188
4.6直接設(shè)計(jì)的消息鑒別碼189
4.6.1SipHash189
4.6.2Chaskey192
第5章認(rèn)證加密算法195
5.1概述195
5.1.1認(rèn)證加密算法一般性設(shè)計(jì)原理195
5.1.2認(rèn)證加密算法研究進(jìn)展197
5.2分組密碼認(rèn)證加密工作模式200
5.2.1OCB201
5.2.2JAMBU204
5.2.3CLOC和SILC206
5.2.4COLM213
5.2.5OTR215
5.2.6COFB218
5.2.7SUNDAE221
5.2.8COMET223
5.2.9mixFeed226
5.3基于置換的認(rèn)證加密算法230
5.3.1Ascon230
5.3.2Ketje234
5.3.3NORX237
5.3.4FIDES241
5.3.5APE244
5.3.6Gimli247
5.3.7ACE249
5.3.8Beetle252
5.3.9SCHWAEMM255
5.3.10Xoodyak259
5.3.11Subterranean261
5.3.12Minalpher263
5.3.13Elephant266
5.4基于分組密碼的認(rèn)證加密算法269
5.4.1ASC1269
5.4.2ALE272
5.4.3AEGIS275
5.4.4Saturnin279
5.4.5Pyjamask282
5.5基于流密碼的認(rèn)證加密算法284
5.5.1ACORN284
5.5.2Hummingbird2287
5.5.3Helix291
5.5.4TinyJAMBU294
參考文獻(xiàn)297