本書系統(tǒng)介紹輕量級密碼算法。全書共分5章。第1章介紹輕量級密碼算法的應用背景和研究現(xiàn)狀。第2章介紹分組密碼一般性設計原理和輕量級分組密碼研究進展,按照整體結構分類介紹輕量級分組密碼。第3章介紹流密碼一般性設計原理和輕量級流密碼研究進展,以及基于LFSR和NFSR的流密碼、ARX與隨機狀態(tài)置換類的流密碼和小狀態(tài)流密碼。第4章介紹消息鑒別碼的共性技術,以及采用分組密碼、專用雜湊函數(shù)、泛雜湊函數(shù)以及直接設計的消息鑒別碼。第5章介紹認證加密算法一般性設計原理和研究進展,以及分組密碼認證加密工作模式和基于置換、分組密碼和流密碼的認證加密算法。 本書可作為密碼學、網(wǎng)絡空間安全、信息安全、計算機和通信專業(yè)的研究生和本科高年級學生的相關課程的教材,也可作為相關領域教學、科研和工程技術人員的參考書和工具書。
近十年來,隨著物聯(lián)網(wǎng)及各種小型計算通信設備的普及應用,輕量級密碼學應運而生,并迅速成為密碼學的研究熱點和相關產(chǎn)業(yè)應用的關鍵技術。本書系統(tǒng)地介紹了當代的100多個輕量級密碼算法,梳理各種輕量級密碼算法的設計原理,及與相關傳統(tǒng)對稱密碼算法的繼承與發(fā)展關系。
輕量級密碼學是密碼學的研究熱點和建立下一代網(wǎng)絡服務的關鍵安全技術。
本書系統(tǒng)梳理輕量級密碼算法的設計目標、設計方法、設計理念,重點介紹了當代100多個新型輕量級密碼算法,以及各類輕量級密碼算法與相關傳統(tǒng)對稱密碼算法的繼承與發(fā)展關系。
本書可作為密碼學、網(wǎng)絡空間安全、信息安全、計算機、通信等相關專業(yè)的研究生和本科高年級學生的教材,也可以作為相關領域的教學、科研和工程技術人員的參考書。
物聯(lián)網(wǎng)是新一代信息網(wǎng)絡技術的高端集成和綜合應用,通過傳感設備進行信息采集和通信,實現(xiàn)智能化識別、定位、跟蹤和管理,形成萬物互聯(lián)的泛在網(wǎng)絡。物聯(lián)網(wǎng)為社會經(jīng)濟發(fā)展、人們生產(chǎn)生活帶來了廣泛而深刻的影響,為我們的衣食住行帶來了極大的便利。然而,在享受新技術帶來的智能和便利的同時,大量個人隱私數(shù)據(jù)悄無聲息地被復制、共享、傳播。在物聯(lián)網(wǎng)中,用戶規(guī)模大但防護意識弱,設備數(shù)量多但安全等級低,分布范圍廣但復雜性高,容易被不法分子發(fā)現(xiàn)漏洞并利用。近年來,國內(nèi)外物聯(lián)網(wǎng)安全事件頻發(fā),物聯(lián)網(wǎng)安防攝像頭漏洞、智能家居安全隱患等事件已經(jīng)給物聯(lián)網(wǎng)的發(fā)展及安全防護敲響了警鐘,物聯(lián)網(wǎng)已經(jīng)成為信息安全的重災區(qū)。而傳統(tǒng)密碼算法在安全性、性能和資源需求折中方面往往只面向臺式機與服務器環(huán)境進行優(yōu)化,無法滿足資源受限環(huán)境下的新應用需求, 即使將其勉強實現(xiàn)在這樣的環(huán)境中,其性能往往也不盡如人意。輕量級密碼正是在此應用背景下誕生的密碼學分支,并迅速成為密碼學的研究熱點和相關產(chǎn)業(yè)應用的關鍵技術。
我們的輕量級密碼研究始于2006 年的一項研制任務,即如何在低成本、低能耗的受限環(huán)境下從密碼算法層面保證各類小型計算設備通信的安全性。在隨后的十幾年中,我們設計了多個輕量級密碼算法,發(fā)表了幾十篇有關輕量級密碼的論文。依據(jù)對輕量級密碼十多年的研究實踐,我們挑選了100多個的輕量級密碼算法,梳理了各種輕量級密碼算法的設計原理以及它們與相關傳統(tǒng)密碼算法的繼承與發(fā)展關系。全書共分5章。第1章介紹輕量級密碼算法的應用背景和研究現(xiàn)狀。第2章介紹分組密碼一般性設計原理和輕量級分組密碼研究進展,按照整體結構分類介紹輕量級分組密碼。第3章介紹流密碼一般性設計原理和輕量級流密碼研究進展,以及基于LFSR和NFSR的流密碼、ARX與隨機狀態(tài)置換類的流密碼和小狀態(tài)流密碼。第4章介紹消息鑒別碼的共性技術,以及采用分組密碼、專用雜湊函數(shù)、泛雜湊函數(shù)以及直接設計的消息鑒別碼。第5章介紹認證加密算法一般性設計原理和研究進展,以及分組密碼認證加密工作模式和基于置換、分組密碼和流密碼的認證加密算法。
中國科學院馮登國院士對本書的寫作和出版給予了極大的鼓勵和支持,武傳坤教授對本書提出了許多寶貴建議,清華大學出版社的張民編審為本書的出版付出了辛勤的勞動,作者在此致以誠摯的謝意。作者在本書的寫作中參考了相關方面的許多學術論文和技術報告,在此向這些參考文獻的作者表示衷心的感謝。作者受益于中國科學院軟件研究所 TCA 實驗室舉辦的密碼學系列討論班, 在此感謝參加討論班的各位同事和學生。本書得到國家自然科學基金項目(61672509)和國家密碼發(fā)展基金課題(MMJJ20170101)的資助,在此一并表示感謝。
本書是一本輕量級密碼學的工具書,可供密碼學科研工作者和工程技術開發(fā)人員查找各種輕量級密碼算法;同時給出每個算法的密碼分析進展,以方便相關人員開展進一步的安全性分析研究。本書結構既注重整體的統(tǒng)一,同時各章又自成一體,讀者不必從頭開始閱讀本書,可以根據(jù)自己的興趣直接閱讀相關章節(jié)。本書寫作歷時 3 年多,作者力求做到敘述簡潔易懂,內(nèi)容盡可能反映進展。但限于水平,作者對一些問題的理解和敘述或有不妥之處,誠摯歡迎大家提出寶貴意見。
作者2020年6月于北京
吳文玲,中國科學院軟件研究所研究員,長期從事對稱密碼算法設計與分析研究。曾獲國家技術發(fā)明二等獎、國家科技進步二等獎和多項省部級科技獎勵,以及中國科學院優(yōu)秀研究生指導教師獎和朱李月華優(yōu)秀教師獎。
第1章緒論1
1.1應用背景1
1.2研究現(xiàn)狀2
1.3全書結構8
第2章輕量級分組密碼9
2.1概述9
2.1.1分組密碼一般性設計原理9
2.1.2輕量級分組密碼研究進展13
2.2Feistel 結構分組密碼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結構分組密碼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 結構分組密碼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其他結構分組密碼105
2.6.1KATAN/KTANTAN105
2.6.2PRINCE107
2.6.3PRIDE110
2.6.4QARMA112
第3章輕量級流密碼117
3.1概述117
3.1.1流密碼一般性設計原理117
3.1.2輕量級流密碼研究進展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與隨機狀態(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共性技術160
4.2.1填充方法161
4.2.2密鑰誘導方法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直接設計的消息鑒別碼189
4.6.1SipHash189
4.6.2Chaskey192
第5章認證加密算法195
5.1概述195
5.1.1認證加密算法一般性設計原理195
5.1.2認證加密算法研究進展197
5.2分組密碼認證加密工作模式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基于置換的認證加密算法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基于分組密碼的認證加密算法269
5.4.1ASC1269
5.4.2ALE272
5.4.3AEGIS275
5.4.4Saturnin279
5.4.5Pyjamask282
5.5基于流密碼的認證加密算法284
5.5.1ACORN284
5.5.2Hummingbird2287
5.5.3Helix291
5.5.4TinyJAMBU294
參考文獻297