{"title":"zuck -256在x86 cpu上的快速恒时实现","authors":"Nir Drucker, S. Gueron","doi":"10.1109/CCNC.2019.8651851","DOIUrl":null,"url":null,"abstract":"ZUC-256 is a Pseudo Random Number Generator (PRNG) that is proposed as a successor of ZUC-128. Similarly to ZUC-128 that is incorporated in the 128-EEA3 and 128-EIA3 encryption and integrity algorithms, ZUC-256 is designed to offer 256-bit security and to be incorporated in the upcoming encryption and authentication algorithm in 5G technologies. In this context software optimizations of ZUC-256 are desired. This paper proposes several ZUC-256 optimizations for x86 processors, especially, modern processors that have efficient AVX vectorization. Surprisingly, we also show that AES-NI can also be used for ZUC-256 and help creating constant-time implementations. Our results show speedup of up to 4.5 x(per key stream) when computational tasks are parallelized efficiently.","PeriodicalId":285899,"journal":{"name":"2019 16th IEEE Annual Consumer Communications & Networking Conference (CCNC)","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2019-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","resultStr":"{\"title\":\"Fast constant time implementations of ZUC-256 on x86 CPUs\",\"authors\":\"Nir Drucker, S. Gueron\",\"doi\":\"10.1109/CCNC.2019.8651851\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"ZUC-256 is a Pseudo Random Number Generator (PRNG) that is proposed as a successor of ZUC-128. Similarly to ZUC-128 that is incorporated in the 128-EEA3 and 128-EIA3 encryption and integrity algorithms, ZUC-256 is designed to offer 256-bit security and to be incorporated in the upcoming encryption and authentication algorithm in 5G technologies. In this context software optimizations of ZUC-256 are desired. This paper proposes several ZUC-256 optimizations for x86 processors, especially, modern processors that have efficient AVX vectorization. Surprisingly, we also show that AES-NI can also be used for ZUC-256 and help creating constant-time implementations. Our results show speedup of up to 4.5 x(per key stream) when computational tasks are parallelized efficiently.\",\"PeriodicalId\":285899,\"journal\":{\"name\":\"2019 16th IEEE Annual Consumer Communications & Networking Conference (CCNC)\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2019-01-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"7\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2019 16th IEEE Annual Consumer Communications & Networking Conference (CCNC)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CCNC.2019.8651851\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 16th IEEE Annual Consumer Communications & Networking Conference (CCNC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CCNC.2019.8651851","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Fast constant time implementations of ZUC-256 on x86 CPUs
ZUC-256 is a Pseudo Random Number Generator (PRNG) that is proposed as a successor of ZUC-128. Similarly to ZUC-128 that is incorporated in the 128-EEA3 and 128-EIA3 encryption and integrity algorithms, ZUC-256 is designed to offer 256-bit security and to be incorporated in the upcoming encryption and authentication algorithm in 5G technologies. In this context software optimizations of ZUC-256 are desired. This paper proposes several ZUC-256 optimizations for x86 processors, especially, modern processors that have efficient AVX vectorization. Surprisingly, we also show that AES-NI can also be used for ZUC-256 and help creating constant-time implementations. Our results show speedup of up to 4.5 x(per key stream) when computational tasks are parallelized efficiently.