Tải bản đầy đủ (.pdf) (100 trang)

Sử dụng công nghệ cứng hóa FPGA trong mã hóa dữ liệu (Luận văn thạc sĩ0

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (220.81 KB, 100 trang )

TR

NG

I H C THÁI NGUYÊN
I H C CÔNG NGH THÔNG TIN VÀ TRUY N THÔNG

NGUY N H NG NHANH

S

D NG CÔNG NGH C NG HÓA FPGA
TRONG MÃ HÓA D LI U

LU N V N TH C S KHOA H C MÁY TÍNH

THÁI NGUYÊN, N M 2015


TR

NG

I H C THÁI NGUYÊN
I H C CÔNG NGH THÔNG TIN VÀ TRUY N THÔNG

NGUY N H NG NHANH

S

D NG CÔNG NGH C NG HÓA FPGA


TRONG MÃ HÓA D LI U
Chuyên ngành : Khoa h c máy tính
Mã s
: 60 48 01 01

LU N V N TH C S KHOA H C MÁY TÍNH

H

NG D N KHOA H C: TI N S H

THÁI NGUYÊN, N M 2015

V N CANH


L I CAM OAN

Tôi xin cam oan, nh ng n i dung liên quan t i
trong lu n v n là do b n thân t tìm hi u, nghiên c u d

tài

c trình bày

is h

ng d n khoa

h c c a Th y giáo Ti n s H V n Canh.

Các nh n xét, k t lu n

c trích d n

Tôi xin ch u trách nhi m tr

y

theo b n g c.

c pháp lu t l i cam oan c a mình.

H c viên th c hi n

Nguy n H ng Nhanh


L IC M

N

Em xin g i l i c m n chân thành t i các Th y thu c Vi n Công ngh
Thông tin/Vi n Hàn lâm Khoa h c và Công ngh Vi t Nam và Th y Cô giáo
c a Tr

ng

i h c Công ngh Thông tin và Truy n thông/

Nguyên ã t n tình truy n

trình h c t p t i Tr

t cho em nh ng ki n th c quý báu trong su t quá

ng.

Em c ng xin g i l i c m n t i gia ình, b n bè,
ng

i ã th

i h c Thái

ng xuyên

ng viên, khích l giúp

ng nghi p và các

em trong su t quá trình

h c t p c ng nh hoàn thành lu n v n c a mình.
c bi t, em xin g i t i Th y giáo Ti n s H V n Canh - ng
giúp

, t n tình ch b o, h

i ã

ng d n t m cho em trong quá trình làm


tài

v i lòng bi t n và l i c m n sâu s!c. Trong th i gian làm vi c v i Th y, em
không nh ng h c h"i

c nhi u ki n th c b# ích v các ph

hoá và t m quan tr ng c a mã hoá d li u trong th i
c tinh th n làm vi c, thái

ng pháp mã

i ngày nay mà còn h c

nghiên c u khoa h c nghiêm túc c a th y.

M c dù em ã c g!ng hoàn thành

tài v i t$t c n% l c c a b n thân

nh ng ch!c ch!n s& không tránh kh"i nh ng thi u sót. Em kính mong nh n
c s c m thông và t n tình ch b o c a Quý Th y Cô và các b n.
M t l n n a, em xin chân thành c m n !

Thái Nguyên, tháng 10 n m 2015

Nguy n H ng Nhanh



M CL C
Trang
L I CAM OAN

i

L IC M

ii

N

iii

M CL C
DANH M C CH

vi

VI T T!T

DANH M C B NG

vii

DANH M C HÌNH

viii
1


M" #U
Ch$%ng 1
T&NG QUAN V M'T S( H H M T MÃ HI N
1.1. C% s) khoa h c c*a h m+t mã
1.1.1. Yêu c u c b n i v i h mã hóa
1.1.2. Các thành ph n c b n c a h mã hóa
1.1.3. Vai trò c a mã hóa
1.2. H mã hoá khoá , i x-ng
1.2.1. Chu'n mã hoá d li u DES
1.2.1.1. L ch s ra i
1.2.1.2. T#ng quát
1.2.1.3. T o khóa
1.2.1.4. Hoán v kh(i u
1.2.1.5. Mã hóa chi ti t m t vòng
1.2.1.6. Hoán v cu i cùng
1.2.1.7. Gi i mã DES
1.2.1.8.
an toàn c a thu t toán
1.2.2. Chu'n mã hoá nâng cao AES
1.2.2.1. T#ng quan mã hóa AES
2.1.2.2. Phép bi n #i SubBytes và InvSubBytes
2.1.2.3. Phép bi n #i ShiftRows và InvShiftRows
2.1.2.4. Phép bi n #i MixColumns và InvMixColumns
2.1.2.5. Key scheduling
2.1.2.6. Quy trình gi i mã

I

4
4

5
5
6
7
7
7
8
10
12
12
17
17
17
19
19
22
24
25
27
28


1.3. H mã hoá khoá công khai
1.3.1. H mã hóa RSA
1.3.1.1. Khái quát
1.3.1.2. Mô t h mã hoá RSA
1.3.1.3. T o khóa
1.3.1.4. Mã hóa
1.3.1.5. Gi i mã
1.3.1.6. M t s ph ng pháp t$n công

1.3.1.6.1. Ph ng pháp s d)ng *(n)
1.3.1.6.2. Áp d)ng thu t toán phân tích ra th+a s
1.3.1.6.3. B, khóa d a trên t$n công l p l i
1.3.1.7. ánh giá chung
1.3.2. H mã hóa Elgamal
1.3.2.1. Quá trình t o khoá, l p mã và gi i mã
1.3.2.2. ánh giá
an toàn
1.4. K t lu+n ch$%ng

29
30
30
30
31
32
32
33
33
33
34
34
35
35
36
37

Ch$%ng 2
T&NG QUAN V CÔNG NGH FPGA
2.1. C% s) khoa h c c*a các thi t b. kh/ trình

2.2. Khái quát v0 m1t s công ngh c-ng hóa hi n nay
2.2.1. Công ngh ASIC
2.2.2. Công ngh ASSP
2.2.3. Công ngh Configurable Processor
2.2.4. Công ngh DSP
2.2.5. Công ngh MCU
2.2.6. Công ngh RISC/GP
2.3. Công ngh FPGA
2.3.1. Gi i thi u chung v FPGA
2.3.2. T#ng quan v FPGA
2.3.2.1. C$u trúc các FPGA
2.3.2.2. Các kh i lôgic c$u hình (Configurable logic Block)
2.3.2.3. Các ngu n k t n i (Routes)
2.3.2.4. Phân lo i FPGA
2.3.3. Các công ngh l p trình FPGA
2.3.3.1. Công ngh l p trình dùng RAM t-nh
2.3.3.2. Các thi t b l p trình c u chì ngh ch (Anti-fuse)
2.3.3.3. Công ngh l p trình dùng EPROM và EEROM
2.3.3. Các ng d)ng c a FPGA
2.3.3.1. FPGA s d)ng cho các m ch tích h p có ng d)ng c bi t
2.3.3.2. FPGA dùng cho thi t k m ch ng u nhiên
2.3.3.3. FPGA thay th các chíp SSI trong m ch ng u nhiên

39
39
40
40
41
42
42

43
44
46
46
47
47
48
48
48
49
50
51
53
54
55
55
55


2.3.3.4. FPGA ng d)ng cho ch t o m u
2.3.3.5. FPGA ng d)ng cho ch t o máy tính
2.3.3.6. FPGA ng d)ng trong các thi t b tái c$u hình

55
55
56

2.3.4. Thi t k và l p trình cho FPGA

56


2.3.5. T$n công

57

i v i FPGA

2.3.5.1. T$n công ki u h p en

57

2.3.5.2. T$n công ki u

58

cl i

2.3.5.3. T$n công ki u nhái l i
2.3.5.4. T$n công ki u thám ng
2.3.5.5. T$n công v t lý
2.3.5.6. T$n công side channel
2.3.6. Nh n xét chung v FPGA
2.4. K t lu+n ch$%ng

c thi t k chu%i bít

Ch$%ng 3
GI I PHÁP TRI2N KHAI THU T TOÁN AES TRÊN N N FPGA
3.1. Gi/i pháp t3ng quát v0 tri4n khai thu+t toán AES trên n0n FPGA
3.1.1. Mô t l u t#ng quát c a b mã hóa và gi i mã AES

3.1.2. Kh i Data c a b mã hóa
3.1.3. Kh i KeyExpansion
3.1.4. Kh i CPU và kh i Data c a b gi i mã
3.1.5. Thi t k chi ti t các kh i ch c n ng c a b mã hóa
3.1.6. Thi t k các kh i ch c n ng c a b gi i mã
3.1.7. Thi t k chi ti t cho kh i KeyExpansion
3.1.8. Kh i CPU - i u khi n b gi i mã
3.1.9. Kh i giao ti p v i máy tính
3.1.10. S d)ng ch
cài t ECB cho gi i pháp
3.2. Các yêu c u c*a gi/i pháp và ,ánh giá
3.2.1. T c và tài nguyên
3.2.2. C$u trúc ph n c ng FPGA th c hi n AES
3.4. Ch$%ng trình DEMO thu+t toán mã hoá AES

567689 :8;<+=8ch$%ng

58
58
59
59
59
61

62
62
62
63
64
65

67
70
72
73
75
75
78
78
79
82
83

K T LU N

84

TÀI LI U THAM KH O

86

PH L C


DANH M.C CH/ VI0T T1T

AES

Advanced Encryption Standard

ARK


AddRoundKey

ASIC

Application-Specific Integrated Circuit

ASSP

Application-Specific Standard Product

CLB

Configurable Logic Block

DES

Data Encryption Standard

DSP

Digital Signal Processor

EEPROM

Electrically Eraseable Programmable Read Only Memory

EPROM

Eraseable Programmable Read Only Memory


FPGA

Field-Programmable Gate Array

GF(28)

Tr

GPP

General Purpose Processor

HDL

Hardware Description Language

IMC

InvMixColumns

ISB

InvSubBytes

ISR

InvShiftRows

MC


MixColumns

MCU

Microcontroller

MPGA

Mask-Programmable Gate Array

NIST

Institute of Standards and Technology

PAL

Programmable Array Logic

PLA

Programmable Logic Array

PLD

Programmable Logic Device

PROM

Programmable read-only Memory


RISC

Reduced Instruction Set Computer

SB

SubBytes

SR

ShiftRows

VHDL

Verilog Hardware Description Language

ng Galois


DANH M C B NG

B/ng 1.1. Các giai o n mã hoá c a DES

8

B/ng 1.2. S bit

11


c lo i b" khi i qua PC1

B/ng 1.3. S bit d ch chuy n

11

B/ng 1.4. PC2 (hoán v nén)

11

B/ng 1.5. B ng hoán v kh(i

u IP

12

B/ng 1.6. H p E

14

B/ng 1.7. Các h p S

15

B/ng 1.8. Hoán v cu i cùng IP-1

17

B/ng 1.9. B ng th s-box c a AES


24

B/ng 1.10. Tóm t!t các b

36

c t o khoá, mã hoá và gi mã h Enganmal

B/ng 2.1. So sánh x lý tín hi u th i gian th c

45

B/ng 2.2. Các

54

c tính c a công ngh l p trình


DANH M C HÌNH
Hình 1.1. Mô hình mã hóa

6

Hình 1.2. Minh ho h mã hóa khoá

i x ng

7


Hình 1.3. S

t#ng quát mã hóa DES

9

Hình 1.4. S

t o khóa

10

Hình 1.5. Bi u di2n dãy 64 bit x chia thành 2 thành ph n L0,R0

12

Hình 1.6. S

chi ti t m t vòng

13

Hình 1.7. S

ho t

13

ng c a hàm f


Hình 1.8. Hoán v m( r ng

14

Hình 1.9. L u

20

c$u trúc l p c a thu t toán mã hóa AES

Hình 1.10. Mô t State trong thu t toán mã hóa AES
tr n 4x4

c bi u di2n d ng ma

20

>?=@81.11.34 53 367389:3;<3=> >36736 ?3;@A=3B :3?85 ?3?CDA367389:3EFG

21

Hình 1.12. L u

22

th c hi n SB và ISB

Hình 1.13. Bi n #i SubBytes
Hình 1.14. L u


i v i m ng tr ng thái

th c hi n SR

23
25

Hình 1.15. Quá trình x lý MixColumns

25

Hình 1.16. Mô t b

27

c trong Key scheduling

Hình 1.17. Mã hoá v i khóa mã và gi i mã khác nhau

29

Hình 1.18. S

31

thu t toán RSA

Hình 2.1. Mô hình FPGA

47


Hình 2.2. B n lo i FPGA trên th c t

49

Hình 2.3. Công ngh l p trình RAM t-nh

50

Hình 2.4. Công ngh l p trình c u chì ngh ch PLICE

51

Hình 2.5. Công ngh l p trình c u chì ngh ch ViaLink

52

Hình 2.6. Công ngh l p trình EPROM transistor

53

Hình 2.7. Minh h a kh n ng c$u hình l i c a FPGA

60

Hình 3.1. S

kh i t#ng quát h th ng AES

62


Hình 3.2. S

thu t toán kh i data c a b mã hóa

63


Luận văn đầy đủ ở file: Luận văn full
















×