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 مقدمه و مفاهیم اولیه
- 1.1 مقدمه
- 1.2 تاریخچه رمزنگاری
- 1.3 رمزنگاری و امنیت اطلاعات
- 1.3.1 اهداف رمزنگاری
- 2 الگوریتمهای رمزنگاری و کاربردهای آن
- 2.1 تعاریف اولیه
- 2.2 الگوریتمهای کلید متقارن
- 2.2.1 رمزهای قطعهای59F
- 2.2.2 رمزهای رشتهای63F
- 2.2.3 ترکیب رمزها
- 2.2.4 فضای کلید
- 2.3 امضای دیجیتالی
- 2.4 الگوریتمهای کلید عمومی
- 2.4.1 استفاده از الگوریتم کلید عمومی در امضای دیجیتالی
- 2.5 مقايسه رمزنگاری كليد متقارن و كليد عمومي
- 2.5.1 مزایای رمز کلید متقارن
- 2.5.2 معایب رمز کلید متقارن
- 2.5.3 مزایای رمز کلید عمومی
- 2.5.4 معایب رمز کلید عمومی
- 2.6 توابع چکیده ساز متن
- 2.7 شناسایی و احراز اصالت
- 3 مقدمهای بر تئوری اعداد و ریاضیات میدانهای محدود
- 3.1 اعداد اول78F
- 3.1.1 بزرگترین مقسوم علیه مشترک80F
- 3.2 همنهشتها82F و محاسبه پیمانهای83F
- 3.2.1 تابع اولر 84F
- 3.2.2 محاسبهی عکس در فضای پیمانهای85F
- 3.3 میدانهای محدود87F
- 3.3.1 میدانهای محدود F(p)
- 3.3.2 میدانهای محدود F(2m)
- 3.1 اعداد اول78F
- 4 مباحث تئوری الگوریتمهای رمزنگاری
- 4.1 الگوریتمهای رمزنگاری کلید متقارن
- 4.1.1 الگوریتم رمز داده (DES)95F
- 4.1.1.1 مسیر کلید
- 4.1.1.2 مسیر داده
- 4.1.1.3 رمزگشایی الگوریتم DES
- 4.1.1.4 الگوریتم Triple DES (3DES)
- 4.1.2 الگوریتم رمز پیشرفته (AES)100F
- 4.1.2.1 عملکرد الگوریتم AES
- 4.1.2.2 مسیر داده
- 4.1.2.3 تابع Substitute Bytes و Inverse Substitute Bytes
- 4.1.2.4 تابع Shift Rows و Inverse Shift Rows
- 4.1.2.5 تابع Mix Columns و Inverse Mix Columns
- 4.1.2.6 عمل Add Round Key
- 4.1.2.7 مسیر کلید
- 4.1.1 الگوریتم رمز داده (DES)95F
- 4.2 الگوریتمهای رمز کلید عمومی
- 4.2.1 الگوریتم رمزنگاری RSA107F
- 4.2.1.1 الگوریتم تولید کلید RSA109F
- 4.2.1.2 الگوریتم رمزکردن RSA112F
- 4.2.1.3 الگوریتم رمزگشایی RSA113F
- 4.2.1.4 به توان رساندن پیمانهای114F
- 4.2.1.5 ضرب پیمانهای مونتگمری117F
- 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.2.1 الگوریتم رمزنگاری RSA107F
- 4.3 توابع چکیده ساز متن139F
- 4.3.1 الگوریتم MD5
- 4.3.1.1 مرحلهی پیش پردازش (Pre-Processing)
- 4.3.1.2 مرحله محاسبهی خلاصه (Hash Computation)
- 4.3.2 الگوریتم SHA
- 4.3.2.1 مرحله پیش پردازش
- 4.3.2.2 مرحله محاسبه خلاصه
- 4.3.1 الگوریتم MD5
- 4.1 الگوریتمهای رمزنگاری کلید متقارن
- 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 طراحی پردازنده رمز خاص منظوره پیشنهادی برای پشتیبانی الگوریتمهای مختلف رمزنگاری
- 6.1 مقدمهای بر طراحی و مزایای آن
- 6.2 معماری پردازندهی رمز طراحی شده
- 6.2.1 سیگنالینگ واحد CP
- 6.2.2 واحد کنترلی
- 6.2.3 واحد محاسباتی
- 6.2.3.1 معماری بلوک MUL180F
- 6.2.3.2 معماری بلوک ALU189F
- 6.2.3.3 معماری بلوک AES192F
- 6.2.3.4 معماری بلوک HASH195F
- 6.3 حافظههای واسط شده196F با پردازندهی رمز
- 6.3.1 حافظه دستورالعمل (I-MEM)
- 6.3.2 حافظه داده (D-MEM)
- 6.4 مجموعه دستورالعملهای پردازندهی رمز
- 6.4.1 دستورالعملهای کنترلی
- 6.4.2 دستورالعملهای محاسباتی
- 7 پیادهسازی الگوریتمهای مختلف رمزنگاری بهروی پردازنده رمز طراحیشده پیشنهادی و نتایج شبیهسازی کامپیوتری و اندازهگیریهای آزمایشگاهی
- 7.1 مقدمه
- 7.2 طراحی و شبیهسازی پردازندهی رمز پیشنهادی
- 7.3 چگونگی پیادهسازی الگوریتمهای رمز بهصورت میکروکُد بهروی پردازندهی رمز
- 7.4 چگونگی اندازهگیریهای آزمایشگاهی برای پردازندهی رمز طراحی شده
- 7.5 پیادهسازی الگوریتم AES بهصورت میکروکُد بهروی پردازندهی رمز طراحی شده
- 7.5.1 تابع Add Round Key
- 7.5.2 توابع Mix Columns و Inverse Mix Columns
- 7.5.3 توابع شیفت (Shift Rows, InvShift Rows) و جانشینی (Sub Byte, InvSub Byte)
- 7.5.4 نتایج شبیهسازی کامپیوتری برای الگوریتم AES
- 7.5.5 اندازهگیریهای آزمایشگاهی برای الگوریتم AES
- 7.6 پیادهسازی الگوریتم RSA بهصورت میکروکُد بهروی پردازندهی رمز طراحی شده
- 7.6.1 نتایج شبیهسازی کامپیوتری برای الگوریتم RSA
- 7.6.2 اندازهگیریهای آزمایشگاهی برای الگوریتم RSA
- 7.7 پیادهسازی الگوریتم ECC بهصورت میکروکُد بهروی پردازندهی رمز طراحی شده
- 7.7.1 نتایج شبیهسازی کامپیوتری برای الگوریتم ECC
- 7.7.2 اندازهگیریهای آزمایشگاهی برای الگوریتم ECC
- 7.8 پیادهسازی الگوریتمهای چکیده ساز متن MD5، SHA-1 و SHA-256 بهصورت میکروکُد
- 7.8.1 نتایج شبیهسازی کامپیوتری برای الگوریتمهای MD5، SHA-1 و SHA-256
- 7.8.2 اندازهگیریهای آزمایشگاهی برای الگوریتمهای MD5، SHA-1 و SHA-256
- 7.9 پیادهسازی مراحل تولید کلید الگوریتم RSA207F ، بهروی پردازندهی رمز طراحی شده
- 7.10 بررسی سختافزار پردازندهی رمز
- 7.11 بررسی خصوصیات پردازندهی رمز طراحی شده و مقایسهی آن با کارهای قبلی
- 8 نتیجهگیری
- 9 منابع و مراجع
- 10 پيوستها
- 10.1 پیوست 1 : الگوریتمهای جمع و دو برابر نقاط منحنی بیضوی در فضای انعکاسی در میدان GF(p)
- 10.2 پیوست 2 : الگوریتمهای جمع و دو برابر نقاط منحنی بیضوی در فضای انعکاسی در میدان GF(2m)