Sử dụng công nghệ cứng hóa FPGA trong mã hóa dữ liệu

100 164 0
Sử dụng công nghệ cứng hóa FPGA trong mã hóa dữ liệu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 lu n v n 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 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 Th y thu c Vi n Công ngh Thông tin/Vi n Hàn lâm Khoa h c Công ngh Vi t Nam Th y Cô giáo c a Tr ng i h c Công ngh Thông tin 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 su t 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 em su t trình h c t p c ng nh hoàn thành lu n v n c a 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 trình làm tài v i lòng bi t n 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 ph hoá t m quan tr ng c a mã hoá d li u th i c tinh th n làm vi c, thái ng pháp mã i ngày mà 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 t n tình ch b o c a Quý Th y 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 M" #U Ch$%ng 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 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 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 InvSubBytes 2.1.2.3 Phép bi n #i ShiftRows InvShiftRows 2.1.2.4 Phép bi n #i MixColumns InvMixColumns 2.1.2.5 Key scheduling 2.1.2.6 Quy trình gi i mã I 4 5 7 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 th+a s 1.3.1.6.3 B, khóa d a 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ã 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 T&NG QUAN V CÔNG NGH FPGA 2.1 C% s) khoa h c c*a thi t b kh/ trình 2.2 Khái quát v0 m1t s công ngh c-ng hóa hi n 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 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 EEROM 2.3.3 Các ng d)ng c a FPGA 2.3.3.1 FPGA s d)ng cho 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 chíp SSI 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 thi t b tái c$u hình 55 55 56 2.3.4 Thi t k 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 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 n0n FPGA 3.1.1 Mô t l u t#ng quát c a b mã hóa 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 kh i Data c a b gi i mã 3.1.5 Thi t k chi ti t kh i ch c n ng c a b mã hóa 3.1.6 Thi t k 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 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 ,ánh giá 3.2.1 T c 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;[...]... “S tài d ng công ngh c ng hóa FPGA trong mã hóa d li u” - M)c ích c a tài + Tìm hi u phân tích, ánh giá t#ng quan v h m t mã hi n i và các công ngh c ng hóa hi n nay, t p trung tìm hi u công ngh FPGA; + Trên c s( tìm hi u, phân tích trên n n công ngh FPGA xu$t thu t toán mã hóa tri n khai Ph m vi c a tài: + Tìm hi u t#ng quan v h m t mã hi n i; + Tìm hi u t#ng quan v công ngh c ng hóa FPGA; + Mô t... t toán mã hóa trên công ngh FPGA Ph n k t lu+n: Tóm t!t các k t qu b$t c p c a tài và h ng phát tri n ti p c a t c, c p nh ng h n ch tài lu n v n 3 Ch$%ng 1 T&NG QUAN V M'T S( H M T MÃ HI N Trong ch hi n I ng này gi i thi u k t qu tìm hi u v lý thuy t h m t mã i, t p trung vào s phát tri n c a H mã hóa khoá khóa bí m t) và H mã hóa khoá phi i x ng (mã hóa i x ng (mã hóa khóa công khai), m t s công c)... v n c a mình, em t p trung vào 2 dòng mã hoá: H mã hóa khoá i x ng (mã hóa khóa bí m t), trong ó ch t p trung vào chu'n mã hóa d li u DES và Chu'n mã hoá nâng cao AES Riêng H mã hóa khoá phi i x ng (mã hóa khóa công khai), lu n v n c ng ch t p trung vào h mã hoá RSA và Elgamal Là nh ng thu t toán ang c s d)ng r ng rãi hi n nay 1.1.1 Yêu c u c% b/n , i vAi h mã hóa - B o m t: Cung c$p s bí m t cho các... m t mã ó ch (m c t ng m i) vì n u khóa mã hóa b l thì b o m t hoàn toàn m$t hi u l c, do thu t toán mã hóa c công khai hóa M t khác, do vi c mã hóa và gi i mã b(i các thu t toán trên c th c hi n hoàn toàn trên máy tính PC nên b n thông báo c n mã s& cl u trong máy PC tr cl u c khi nó c mã hóa và b n thông báo ó c ng trong máy PC u cu i sau khi nó s& l i d)ng nh c i m này c khôi ph)c l i (gi i mã) ,... t) và H mã hóa khoá phi i x ng (mã hóa khóa bí i x ng (mã hóa khóa công khai), m t s công c) toán h c s d)ng trong lý thuy t m t mã liên quan n lu n v n Ch$%ng 2: T&NG QUAN V CÔNG NGH FPGA N i dung ph n này mô t công ngh c ng hóa FPGA; ng th i c ng khái quát hóa m t s công ngh c ng hóa hi n có Ch$%ng 3: GI I PHÁP TRI2N KHAI THU T TOÁN AES TRÊN N N FPGA H8 A=3A >3T8DT3?K> A3J8:>3B85'A36738CD3AVA=3... trình mã hóa và gi i mã Khóa này c chuy n giao bí m t gi a hai Khóa này có th hardware Mã hóa b u dùng chung m t khóa i t ng tham gia giao ti p c c$u hình trong software ho c c mã hóa trong i x ng th c hi n nhanh nh ng có th g p r i ro n u khóa ánh c!p Do v y, h mã hoá này yêu c u ng tho thu n m t khoá tr c khi thông báo i g i và ng i nh n ph i c g i i, và khoá này ph i c gi bí m t Ð an toàn c a h mã. .. các h mã hóa là có th t p c a tính toán mà “k, i m khác nhau, nh ng nh ánh giá ch” ph i gi i quy t bài toán thông tin c a d li u Tuy nhiên, m%i h mã hóa ánh giá toàn c a m%i h mã hóa mà ta có th an toàn ng gi c có th u có m t s c ph c l$y c u và nh c ph c t p tính toán, m c ng d)ng c) th tùy theo yêu c u v an 1.2 H mã hoá khoá , i x-ng H mã hóa khoá i x ng hay mã hóa chia s, khóa là mô hình mã hóa hai... là c bPng cách áp d)ng phép mã hóa Ek lên m t ph n t c a P - K là t p h p h u h n các khóa hay còn g i là không gian khóa v i m%i ph n t k c a K gian khóa ph i (ph l n c g i là m t khóa (Key) S l “k, ch” không th i gian i ng c a không th m i khóa ng pháp vét c n) - E và D l n l t là t p lu t mã hóa và gi i mã V i m%i k c a K có m t quy t!c mã hóa ek: P C và m t quy t!c gi i mã t ng ng dk Z D M%i ek:... toán mã hoá c xu$t tri n khai trên n n công ngh FPGA N i dung c a lu n v n g m: ph n m( u, ba ch ng chính, k t lu n và tài li u tham kh o, c) th : Ph n m) , u: Nêu lý do ch n Ch$%ng 1: T&NG QUAN V tài và b c)c lu n v n M'T S( H H M T MÃ HI N I Trong ch ng này gi i thi u k t qu tìm hi u v lý thuy t h m t mã, t p trung vào s phát tri n c a H mã hóa khoá m t) và H mã hóa khoá phi i x ng (mã hóa khóa bí... c*a h mã hóa M t mã (Cryptography) là khoa h c nghiên c u tìm ra các ph pháp nhPm b o Text) Ng m tính bí m t c a b n tin, còn c g i là b n rõ (Plain i mã hóa c n áp d)ng các phép bi n #i c a mình thành b n mã (Cryptogram) Quá trình bi n (Encipherment) Quá trình bi n #i ng là gi i mã (Decipherment) ó bi n b n rõ c g i là mã hóa c l i t+ b n mã thành b n rõ cg i bi n #i quá trình mã hóa và gi i mã ng ... 1.2 H mã hoá khoá , i x-ng H mã hóa khoá i x ng hay mã hóa chia s, khóa mô hình mã hóa hai chi u, có ngh-a ti n trình mã hóa gi i mã Khóa c chuy n giao bí m t gi a hai Khóa có th hardware Mã hóa. .. T MÃ HI N Trong ch hi n I ng gi i thi u k t qu tìm hi u v lý thuy t h m t mã i, t p trung vào s phát tri n c a H mã hóa khoá khóa bí m t) H mã hóa khoá phi i x ng (mã hóa i x ng (mã hóa khóa công. .. Trong ch ng gi i thi u k t qu tìm hi u v lý thuy t h m t mã, t p trung vào s phát tri n c a H mã hóa khoá m t) H mã hóa khoá phi i x ng (mã hóa khóa bí i x ng (mã hóa khóa công khai), m t s công

Ngày đăng: 08/01/2016, 14:26

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan