{"title":"模块化乘法用FPGA实现的IDEA分组密码","authors":"Jean-Luc Beuchat","doi":"10.1109/ASAP.2003.1212864","DOIUrl":null,"url":null,"abstract":"The IDEA block cipher is a symmetric-key algorithm which encrypts 64 bit plaintext blocks to 64 bit ciphertext blocks, using a 128 bit secret key. The security of IDEA relies on combining operations from three groups: integer addition modulo 2/sup 16/, bitwise exclusive or of two 16 bit words, and modified integer multiplication modulo (2/sup 16/ + 1) which is the critical arithmetic operation of the block cipher. This is devoted to the study of efficient implementations of this operator on Virtex-II and Virtex-E devices. We investigate three algorithms based on a multiplication with a subsequent modulo correction which are particularly well suited for FPGA devices embedding small multiplier blocks. An IDEA processor based on such operators achieves a throughput of 8.5 Gb/s on a Xilinx XC2V1000-6 device. We also describe a new FPGA implementation of a modulo (2/sup n/ + 1) multiplier proposed by R. Zimmermann. The area of this operator is roughly twice smaller than that of previous FPGA implementations.","PeriodicalId":261592,"journal":{"name":"Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors. ASAP 2003","volume":"11 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2003-06-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"23","resultStr":"{\"title\":\"Modular multiplication for FPGA implementation of the IDEA block cipher\",\"authors\":\"Jean-Luc Beuchat\",\"doi\":\"10.1109/ASAP.2003.1212864\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The IDEA block cipher is a symmetric-key algorithm which encrypts 64 bit plaintext blocks to 64 bit ciphertext blocks, using a 128 bit secret key. The security of IDEA relies on combining operations from three groups: integer addition modulo 2/sup 16/, bitwise exclusive or of two 16 bit words, and modified integer multiplication modulo (2/sup 16/ + 1) which is the critical arithmetic operation of the block cipher. This is devoted to the study of efficient implementations of this operator on Virtex-II and Virtex-E devices. We investigate three algorithms based on a multiplication with a subsequent modulo correction which are particularly well suited for FPGA devices embedding small multiplier blocks. An IDEA processor based on such operators achieves a throughput of 8.5 Gb/s on a Xilinx XC2V1000-6 device. We also describe a new FPGA implementation of a modulo (2/sup n/ + 1) multiplier proposed by R. Zimmermann. The area of this operator is roughly twice smaller than that of previous FPGA implementations.\",\"PeriodicalId\":261592,\"journal\":{\"name\":\"Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors. ASAP 2003\",\"volume\":\"11 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2003-06-24\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"23\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors. ASAP 2003\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ASAP.2003.1212864\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors. ASAP 2003","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ASAP.2003.1212864","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Modular multiplication for FPGA implementation of the IDEA block cipher
The IDEA block cipher is a symmetric-key algorithm which encrypts 64 bit plaintext blocks to 64 bit ciphertext blocks, using a 128 bit secret key. The security of IDEA relies on combining operations from three groups: integer addition modulo 2/sup 16/, bitwise exclusive or of two 16 bit words, and modified integer multiplication modulo (2/sup 16/ + 1) which is the critical arithmetic operation of the block cipher. This is devoted to the study of efficient implementations of this operator on Virtex-II and Virtex-E devices. We investigate three algorithms based on a multiplication with a subsequent modulo correction which are particularly well suited for FPGA devices embedding small multiplier blocks. An IDEA processor based on such operators achieves a throughput of 8.5 Gb/s on a Xilinx XC2V1000-6 device. We also describe a new FPGA implementation of a modulo (2/sup n/ + 1) multiplier proposed by R. Zimmermann. The area of this operator is roughly twice smaller than that of previous FPGA implementations.