Loading...
- Type of Document: M.Sc. Thesis
- Language: Farsi
- Document No: 41445 (05)
- University: Sharif University of Technology
- Department: Electrical Engineering
- Advisor(s): Sharif Khani, Mohammad
- Abstract:
- The crypto-processors are used for encryption and decryption of the sensitive and important information. A crypto-processor converts input plaintext to ciphertext by an input key using a particular cryptographic algorithm. It also converts ciphertext to plaintext by the same or another key. Cryptographic standards are divided in two types: symmetric key algorithms (private key) and asymmetric key algorithms (public key). Current processors generally support only one or a few number of cryptographic algorithms. The motivation of this project is design and implementation of a multi-standard crypto-processor which supports the most of symmetric and asymmetric cryptographic algorithms, such as Triple DES, AES, RSA and ECC, and their key generation algorithms. Also, the specific blocks are considered in this crypto-processor which support the hash algorithms, such as MD5, SHA-1 and SHA-256. The VLIW architecture of the crypto-processor consists of a data memory (DMEM), an instruction memory (IMEM), an arithmetic unit and a control unit. The datapath in this architecture is 32 bits wide which is suited for AES and Hash functions as well as public key cryptographic algorithms. The arithmetic unit consists of the sub-blocks of hash algorithms, AES and logic units, a programmable modular adder/subtractor unit and a modular multiplier unit which are programmable in both fields GF(p) and GF(2m). The tasks of control unit are decoding of instructions, generation of data memory and instruction memory address, data flow control, branch type control and managing the operations of arithmetic unit. The steps of cryptographic algorithms are translated to the micro code using instruction sets, and then they are stored in the instruction memory. The data memory is used for storing input data, output data and middle variables and constants of the cryptographic algorithms. The designed crypto-processor has been fabricated as an Application Specified Integrated Circuit (ASIC) chip in 0.18 µm CMOS technology. This processor works as a crypto-coprocessor with 40 MHz maximum frequency along with the main processor of a typical SmartCard. The chip area of the crypto-processor is 0.3 mm2, and its power consumption is reduced by 20 percent compared to the latest works. All of the mentioned algorithms and their key generation processes are implemented optimally in this crypto-processor, and in the several cases their execution times are reduced by 50 percent.
- Keywords:
- Cryptography ; Symmetric-Key Block Cipher ; Public Key Cryptography ; Application Specific Integrated Circuit (ASIC) ; Hash Function ; Crypto-Processor
- محتواي پايان نامه
- view
- 1 مقدمه و مفاهیم اولیه
- 2 الگوریتمهای رمزنگاری و کاربردهای آن
- 3 مقدمهای بر تئوری اعداد و ریاضیات میدانهای محدود
- 4 مباحث تئوری الگوریتمهای رمزنگاری
- 4.1 الگوریتمهای رمزنگاری کلید متقارن
- 4.2 الگوریتمهای رمز کلید عمومی
- 4.2.1 الگوریتم رمزنگاری RSA107F
- 4.2.2 تبادل کلید Diffie Hellman119F
- 4.2.3 الگوریتم رمزنگاری منحنی بیضوی (ECC)122F
- 4.2.3.1 منحنیهای بیضوی در میدان محدود Fp
- 4.2.3.2 منحنیهای بیضوی در میدان محدود F2m
- 4.2.3.3 الگوریتم تولید کلید ECC
- 4.2.3.4 الگوریتم رمزکردن و رمزگشایی ECC
- 4.2.3.5 ضرب اسکالر منحنی بیضوی
- 4.2.3.6 فضای انعکاسی135F
- 4.2.3.7 الگوریتمهای EC Doubling و EC Adding در میدان Fp در فضای انعکاسی
- 4.2.3.8 الگوریتمهای EC Doubling و EC Adding در میدان F2m در فضای انعکاسی
- 4.3 توابع چکیده ساز متن139F
- 5 آشنایی با پردازندههای رمزنگاری و بررسی کارهای انجام شده تاکنون
- 5.1 مقدمهای بر پردازندههای رمز
- 5.2 پردازندههای رمز چند استاندارده
- 5.2.1 مقالات بر اساس پیادهسازی الگوریتمهای رمز بر روی یک بستر کاملاً نرمافزاری
- 5.2.2 مقالات بر اساس چند مورد از الگوریتمهای رمز
- 5.2.3 مقالات بر اساس پیادهسازی چند استانداردهی الگوریتمهای رمز
- 5.2.3.1 مقاله Satoh [72]: A Scalable Dual-Field Elliptic Curve Cryptographic Processor
- 5.2.3.2 مقاله Kim [74]: Design and Implementation of a Private and Public Key Crypto Processor and Its Application to a Security System
- 5.2.3.3 مقاله Eberle [73]: A Public-key Cryptographic Processor for RSA and ECC
- 6 طراحی پردازنده رمز خاص منظوره پیشنهادی برای پشتیبانی الگوریتمهای مختلف رمزنگاری
- 7 پیادهسازی الگوریتمهای مختلف رمزنگاری بهروی پردازنده رمز طراحیشده پیشنهادی و نتایج شبیهسازی کامپیوتری و اندازهگیریهای آزمایشگاهی
- 7.1 مقدمه
- 7.2 طراحی و شبیهسازی پردازندهی رمز پیشنهادی
- 7.3 چگونگی پیادهسازی الگوریتمهای رمز بهصورت میکروکُد بهروی پردازندهی رمز
- 7.4 چگونگی اندازهگیریهای آزمایشگاهی برای پردازندهی رمز طراحی شده
- 7.5 پیادهسازی الگوریتم AES بهصورت میکروکُد بهروی پردازندهی رمز طراحی شده
- 7.6 پیادهسازی الگوریتم RSA بهصورت میکروکُد بهروی پردازندهی رمز طراحی شده
- 7.7 پیادهسازی الگوریتم ECC بهصورت میکروکُد بهروی پردازندهی رمز طراحی شده
- 7.8 پیادهسازی الگوریتمهای چکیده ساز متن MD5، SHA-1 و SHA-256 بهصورت میکروکُد
- 7.9 پیادهسازی مراحل تولید کلید الگوریتم RSA207F ، بهروی پردازندهی رمز طراحی شده
- 7.10 بررسی سختافزار پردازندهی رمز
- 7.11 بررسی خصوصیات پردازندهی رمز طراحی شده و مقایسهی آن با کارهای قبلی
- 8 نتیجهگیری
- 9 منابع و مراجع
- 10 پيوستها