Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 59 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
59
Dung lượng
0,95 MB
Nội dung
ĐẠI HỌC ĐÀ ẴNG N TRƯ ỜNG ẠĐ I HỌC SƯẠM PH KHOA TIN -[ \ - LƯU BÌNH MINH NGHIÊN CỨU Mà HĨA RSA VÀ XÂY DỰNG CHƯƠNG TRÌNH ỞI TẠO KH CHỮ KÝ Ệ ĐI N TỬ KHĨA LUẬN TỐT NGHIỆP LỜI CẢM ƠN Tơi xin chân thành cҧ PѫQFiFWK ҫ y cô khoa Tin hӑFFNJQJQKѭFiF ҫ y cô giҧ ng dҥ \WURQJWUѭ ӡQJĈ ҥ i hӑF6ѭ3K ҥ m ±Ĉҥ i hӑc Ĉj1 ҹ QJÿmWUX\ Ӆ Qÿ ҥ t nhӳng kiӃ n thӭc quý báu cho nhӳQJQăPK ӑc vӯa qua Ĉһ c biӋ t, xin chân thành cҧ P ѫQ ҫ y giáo WK3*676 /r ÿm 9ăQ ұ n tình W 6ѫQ Kѭ ӟng dү Qÿ ӝQJYLrQYjJL~Sÿ ӥtôi suӕ t thӡi gian thӵc hiӋ Qÿ Ӆtài 9j ӇFy ÿ ӧcÿѭ kӃ t quҧQKѭ QJj\ K{P ҩ t biӃ W QD\ ѫQJLD W{L ӝ ng ÿuQK viên, U ÿm khích lӋ , tҥ o mӑLÿL Ӆ u kiӋ n thuұ n lӧi nhҩ t suӕ t trình hӑc tұ SFNJQJQKѭ trình thӵc hiӋ Qÿ Ӆtài tӕt nghiӋ p ;LQ FKkQ WKjQK ҥ n trongFiP lӟp 08CNTT01 ѫQ FiF һ cÿ biӋ tE bҥ n nhóm Viet4IT ÿm ӫng hӝ JL~Sÿ ӥ, chia sҿkiӃ n thӭc, kinh nghiӋ m tài liӋ XFyÿѭ ӧc cho trình nghiên cӭu thӵc hiӋ Qÿ Ӆtài Mӝt lҫ n nӳD[LQFKkQWKjQKFiPѫQ Ĉj1 ̽ QJWKiQJQăP Sinh viên thc hi͏ n /˱X%uQK0LQK LỜI CAM ĐOAN T{L[LQFDPÿRDQ 1KͷQJQ͡LGXQJWURQJOX̵QYăQQj\O G̳Q WUFWL͇SFͯD3*676/r9ăQ6˯Q 0͕LWKDPNK̫RGQJWURQJOX̵QYăQÿ JL̫ tên cơng trình, WKͥLJLDQÿ͓DÿL͋PF{QJE͙ 0͕LVDRFKpSNK{QJKͫSO͏YLSK̩P FK͓XKRjQWRjQWUiFKQKL͏P Sinh viên /˱X%uQK0LQK Nghiên cӭDSKѭѫQJSKiSPmKyD56$Yj[k\G ӵQJFKѭѫQJWUuQKNK ӣi tҥ o chӳNêÿL Ӌ n tӱ MỤC LỤC DANH MӨC CÁC TӮ VIӂT TҲT DANH MӨC CÁC HÌNH Ҧ1+6ѪĈ Ӗ PHҪN MӢĈҪU &KѭѫQJ ±MӜT SӔVҨ1Ĉ ӄVӄMà HĨA THƠNG TIN 11 1.1 &ѫV ӣtoán hӑ c 11 1.1.1 Lý thuyӃ t toán hӑ c 11 1.1.1.1 Modular sӕhӑ c 11 1.1.1.2 Sӕnguyên tӕ 11 1.1.1.3 Ѭӟc sӕchung lӟn nhҩ t 12 1.1.1.4 Sӕnghӏ FKÿ ҧ o Modulo 13 1.1.2 Các phép kiӇ m tra sӕnguyên tӕ 14 1.1.2.1 Solovay ±Strassen 14 1.1.2.2 Rabin ±Miller 15 1.1.2.3 Lehmann 16 1.2 Lý thuyӃ t thông tin 17 1.2.1 Entropy 17 1.2.2 An toàn cӫ a hӋthӕ ng mã hóa 18 1.2.3 Sӵlӝ n xӝ n sӵUѭ ӡm rà 19 1.3 Lý thuyӃ Wÿ ӝphӭc tҥ p 19 1.4 Protocol 20 1.4.1 Giӟi thiӋ u Protocol 20 1.4.2 Protocol mұ t mã 21 1.4.3 Mө FÿtFKF ӫ a Protocol 21 1.5 Khái niӋ QFѫE ҧ n vӅmã hóa 22 1.6 Khóa 23 1.6.1 Ĉӝdài khóa 23 1.6.2 Quҧ n lý khóa cơng khai 24 1.6.3 Chӭng nhұ n khố cơng khai 24 1.6.4 Quҧ n lý khoá phân phӕ i 25 1.7 Mã dòng, mã khӕ i 25 1.7.1 Mơ hình mã hóa khӕ i (Cipher Block Chaining Mode) 25 /ѭX%uQK0LQK ±Lӟp 08CNTT Trang Nghiên cӭDSKѭѫQJSKiSPmKyD56$Yj[k\G ӵQJFKѭѫQJWUuQKNK ӣi tҥ o chӳNêÿL Ӌ n tӱ 1.7.2 Mơ hình mã hóa dịng (Cipher Feedback) 26 1.8 HӋPmNKyDÿ ӕ i xӭng công khai 26 1.8.1 HӋPmNKyDÿ ӕ i xӭng 26 1.8.2 HӋmã khóa công khai 27 1.9 TruyӅ n thông sӱdө ng hӋmұ WPmÿ ӕ i xӭng 27 1.10 TruyӅ n thông sӱdө ng hӋmұ t mã công khai 28 1.10.1 Hàm mӝ t phía (one way function) 28 1.10.2 +jPEăPP ӝ t phía 29 1.10.3 HӋmã hoá sӱdө ng khố cơng khai 29 &KѭѫQJ ±3+ѬѪ1*3+È30+Ï$56$9¬&+ Ӳ éĈ, ӊN TӰ 31 2.1 3KѭѫQJSKiSPmKyD56$ 31 2.1.1 SӣOѭ ӧc vӅmã hóa RSA 31 2.1.2 Thuұ t tốn mã hóa RSA 31 2.1.2.1 Tҥ o khóa 31 2.1.2.2 Mã hóa giҧ i mã 32 2.1.3 Ĉӝan toàn cӫ a hӋRSA 33 2.1.4 HiӋ QWѭ ӧng lӝbҧ n rõ 34 2.2 ChӳNêÿL Ӌ n tӱ 34 2.2.1 Khái niӋ m vӅchӳNêÿL Ӌ n tӱ 34 2.2.2 Ĉӏ QKQJKƭDK ӋchӳNêÿL Ӌ n tӱ 35 2.2.3 Các hӋchӳNêÿL Ӌ n tӱthông dө ng 36 2.2.3.1 HӋchӳký RSA 36 2.2.3.2 HӋchӳký ElGamal 37 2.2.4 Chuҭ n chӳNêÿL Ӌ n tӱ 39 2.2.4.1 Thuұ t toán chӳNêÿL Ӌ n tӱ(DSA) 39 2.2.4.2 Chuҭ n chӳNêÿL Ӌ n tӱ(DSS) 40 &KѭѫQJ ±XÂY DӴNG ӬNG DӨNG KHӢI TҤO CHӲ éĈ, ӊN TӰ SӰ DӨNG 3+ѬѪ1*3+È30+Ï$56$ 42 3.1 Giӟi thiӋ u 42 3.1.1 ĈѭDUDêWѭ ӣng 42 3.1.2 Cách thӭc xây dӵng 42 3.2 Xây dӵng ӭng dө ng 42 /ѭX%uQK0LQK ±Lӟp 08CNTT Trang Nghiên cӭDSKѭѫQJSKiSPmKyD56$Yj[k\G ӵQJFKѭѫQJWUuQKNK ӣi tҥ o chӳNêÿL Ӌ n tӱ 3.2.1 Phác thҧ o ӭng dө ng bҵ ng XMIND 42 3.2.2 ;iFÿ ӏ nh chӭFQăQJFKtQK 44 3.2.3 Thuұ t toán ӭng dө ng 44 3.2.3.1 Thuұ t toán tҥ o khóa 44 3.2.3.2 Thuұ WWRiQNêYăQE ҧ n 45 3.2.3.3 Thuұ t toán xác nhұ n chӳký 46 3.3 DEMO ӭng dө ng 47 3.3.1 7KѭYL Ӌ n BigInteger 47 3.3.2 &KѭѫQJWUuQKGHPR 50 KӂT LUҰ19¬+Ѭ ӞNG PHÁT TRIӆN 55 DANH MӨC TÀI LIӊU THAM KHҦO 56 /ѭX%uQK0LQK ±Lӟp 08CNTT Trang Nghiên cӭDSKѭѫQJSKiSPmKyD56$Yj[k\G ӵQJFKѭѫQJWUuQKNK ӣi tҥ o chӳNêÿL Ӌ n tӱ DANH MỤC CÁC TỪ VIẾT TẮT STT Từviế t tắ t Tiế ng anh National Institute of NIST Standards and Technology CSDL CA DES IBM AES DSA DSS FIPS /ѭX%uQK0LQK ±Lӟp 08CNTT Tiế ng việ t ViӋ n tiêu chuҭ n công nghӋquӕc gia &ѫV ӣdӳliӋ u Certifying Authority Data Encryption Standard Cӣquan xác nhұ n Tiêu chuҭ n mã hóa dӳliӋ u International Business Machines Corporation Advanced Encryption Tiêu chuҭ n mã hóa nâng Standard cao Digital Signature Algorithm Digital Signature Standard Thuұ t toán chӳNêÿL Ӌ n tӱ Chuҭ n chӳNêÿL Ӌ n tӱ Federal Information Tiêu chuҭ n xӱlý thông Processing Standard tin Liên bang Trang Nghiên cӭDSKѭѫQJSKiSPmKyD56$Yj[k\G ӵQJFKѭѫQJWUuQKNK ӣi tҥ o chӳNêÿL Ӌ n tӱ DANH MỤC CÁC HÌNH ẢNH, Tên hình vẽ , STT SƠ Ồ sơ Đ đ Hình 1.1 6ѫÿ ӗthuұ t tốn Solovay ±Strannsen Hình 1.2 6ѫÿ ӗthuұ t tốn Robin ±Miller Hình 1.3 6ѫÿ ӗq trình mã hóa giҧ i mã Hình 2.1 6ѫÿ ӗthuұ t tốn tҥ o khóa RSA Hình 3.1 6ѫÿ ӗXmind cӫa ӭng dөng Hình 3.2 6ѫÿ ӗthuұ t tốn tҥ o khóa Hình 3.3 6ѫÿ ӗthuұ t tốn ký YăQE ҧ n Hình 3.4 6ѫÿ ӗthuұ t tốn xác nhұ n chӳký Hình 3.5 Giao diӋ n chӭFQăQJ NêYăQE ҧ n cӫDFKѭѫQJWUuQK 10 Hình 3.6 Giao diӋ n chӑQYăQE ҧ Qÿ Ӈký hoһ c xác nhұ n 11 Hình 3.7 Giao diӋ n chӭFQăQJW ҥ o khóa cӫ DFKѭѫQJWUuQK 12 Hình 3.8 Giao diӋ n chӑ n khóa Private Key 13 Hình 3.9 Giao diӋ n chӑ n khóa Public Key 14 Hình 3.10 .êWKjQKF{QJYăQE ҧ n 15 Hình 3.11 Giao diӋ n chӭFQăQJ xác nhұ n YăQE ҧ n cӫ DFKѭѫQJWUuQ 16 Hình 3.12 Giao diӋ n chӑ n chӳký 17 Hình 3.13 Xác nhұ n chӳký xác YăQE ҧ n toàn vҽ n /ѭX%uQK0LQK ±Lӟp 08CNTT Trang Nghiên cӭDSKѭѫQJSKiSPmKyD56$Yj[k\G ӵQJFKѭѫQJWUuQKNK ӣi tҥ o chӳNêÿL Ӌ n tӱ PHẦN MỞĐẦU Lý ch͕n ÿ ͉tài ThӃkӹXXI, thӃkӹcông nghӋthông tin, thông tin ÿm ÿDQJ tác ÿӝng trӵc tiӃ p ÿӃ n mӑ i mһ t hoҥ tÿ ӝng kinh tӃxã hӝ i cӫa hҫ u hӃ t quӕ c gia thӃgiӟi Thơng tin có mӝ t vai trò hӃ t sӭc quan trӑ ng, bӣi vұ y phҧ i ÿҧ m bҧ o ÿѭ ӧc tính suӕ t cӫ a thơng tin, QJKƭD thông tin không bӏsai lӋ ch, bӏthay ÿ ә i, bӏlӝtrong trình truyӅ n tӯQѫL gӱi ÿ Ӄ n QѫL nhұ n Ĉӕ i vӟi sӵphát triӇ n rҩ t nhanh cӫ a công nghӋmҥ ng máy tính, ÿ һ c biӋ t mҥ ng INTERNET khӕ i Oѭ ӧng thơng tin chuyӇ n tҧ i ngày nhiӅ u KѫQ Nhӳng tұ p ÿRjQ công nghiӋ p, nhӳng công ty ÿD quӕ c gia, thӏWUѭ ӡng chӭng khoán tiӃ n hành xӱlý truyӅ n nhұ n nhӳng thông tin ÿ ҳ t giá, nhӳng phiên giao dӏ ch hay mua bán cәphiӃ u, trái phiӃ u ÿӅ u ÿѭ ӧc tiӃ n hành qua mҥ ng Giӡÿk\ vӟi sӵWăQJ WUѭ ӣng nhanh chóng cӫ a siêu thӏ ÿL Ӌ n tӱ, WKѭѫQJ mҥ i ÿL Ӌ n tӱthì hàng ngày có mӝt khӕ i Oѭ ӧng tiӅ n rҩ t lӟn ÿѭ ӧc OѭX chuyӇ n mҥ ng toàn cҫ u INTERNET, vҩ nÿ Ӆkhó NKăQ ÿ һ t giӳÿѭ ӧc thơng tin bí mұ t giӳcho tiӅ nÿ Ӄ n ÿ~QJ ÿѭ ӧ cÿ ӏ a chӍ cҫ nÿ Ӄ n Bҥ n sӁra nӃ u QKѭ bҥ n gӱi WKѭ cho mӝ t QJѭ ӡi bҥ n QKѭQJ lҥ i bӏmӝ t kҿlҥmһ t ÿy xem trӝ m sӱa ÿ ә i nӝ i dung bӭc WKѭ trái vӟi chӫý cӫ a bҥ n, tӋhҥ i KѫQ nӳa bҥ n ký mӝt hӧp ÿӗng, gӱi thông qua mҥ ng lҥ i bӏkҿxҩ u sӱa ÿәi nhӳng ÿL Ӆ u khoҧ n ÿy sӁcòn nhiӅ u ÿL Ӆ u WѭѫQJ tӵQKѭ vұ y nӳa Hãy thӱWѭ ӣng Wѭ ӧng bҥ nÿ ӑ c ÿѭ ӧc mӝ t email thông tin rҵ ng mӝ t sҧ n phҭ m nә i tiӃ ng ÿDQJ bán giҧ m giá mӝ t nӱa, KѫQ nӳa mua sҧ n phҭ m bҥ n ÿѭ ӧc tһ ng kèm nhӳng q miӉ n phí Hay bҥ nÿ ӑ c ÿѭ ӧc mӝ t diӉ n ÿjQ rҵ ng mӝ t nhҥ c trҿrҩ t nә i tiӃ ng mà bҥ n hâm mӝ sӁtһ ng quà giӟi hâm mӝtҥ iÿ ӏ a ÿL Ӈ m ÿy Thұ t nhӳng Fѫ hӝ i hiӃ m có QKѭQJ có thӇtin Wѭ ӣng ÿѭ ӧc ÿL Ӆ u này? NӃ u QKѭ nhӳng email viӃ t có ÿѭ ӧc chӳký ÿL Ӌ n tӱcӫ a nhӳng QJѭ ӡi phát ngơn ÿiQJ tin cұ y, ta có thӇhồn tồn yên tâm vӅnӝ i dung cӫ a chúng Ĉy ÿ һ c ÿL Ӈ m nә i bұ t nhҩ t cӫ a chӳký ÿL Ӌ n tӱ Chӳký ÿL Ӌ n tӱÿyQJ mӝ t vai trò quan trӑ ng giao dӏ ch ÿL Ӌ n tӱnhҵ m bҧ o ÿ ҧ m giao dӏ ch ÿѭ ӧc diӉ n an tồn mơi WUѭ ӡng mҥ ng Ĉӗ ng thӡi, chӳký ÿL Ӌ n tӱFNJQJ Fѫ sӣpháp lý ÿ Ӈgiҧ i quyӃ t tranh chҩ p giao dӏ ch WKѭѫQJ mҥ i ÿL Ӌ n tӱ Vӟi mong muӕn thúc ÿұ y sӵhӝi nhұ p công nghӋthông tin vào ÿ ӡi sӕng FNJQJ QKѭ sӵan toàn tin cұ y q trình truyӅ n thơng tin mҥ ng, cuӕn luұ n YăQ em nghiên cӭu mӝt sӕkhái niӋ m Fѫ bҧ n vӅmã hố thơng tin, SKѭѫQJ pháp mã /ѭX%uQK0LQK ±Lӟp 08CNTT Trang Nghiên cӭDSKѭѫQJSKiSPmKyD56$Yj[k\G ӵQJFKѭѫQJWUuQKNK ӣi tҥ o chӳNêÿL Ӌ n tӱ hố thơng tin RSA, nguyên tҳ c hoҥ t ÿӝng, cách thӭc xây dӵng chӳký ÿL Ӌ n tӱvà ӭng dөng chúng vào viӋ c xây dӵng mӝt FKѭѫQJWUuQK khӣi tҥ o chӳký ÿL Ӌ n tӱ Mͭc tiêu cͯa ÿ ͉tài - Tìm hiӇ u mӝt sӕkhái niӋ m Fѫ bҧ n vӅmã hóa thơng tin - Tìm hiӇ u vӅSKѭѫQJ pháp mã hóa thơng tin RSA - Tìm hiӇ u nguyên tҳ c hoҥ t ÿӝng cách thӭc xây dӵng chӳký ÿL Ӌ n tӱ - Xây dӵng hồn thiӋ n FKѭѫQJ trình ӭng dөng khӣi tҥ o chӳký ÿL Ӌ n tӱáp dөng SKѭѫQJ pháp mã hóa RSA Ĉ͙ i W˱ ͫng ph̩m vi nghiên cͱu - Ĉӕi Wѭ ӧng nghiên cӭu: tұ p trung chӫyӃ u vào SKѭѫQJ pháp mã hóa RSA ÿӇ xây dӵng chӳký ÿL Ӌ n tӱ - Phҥ m vi nghiên cӭu: xoay quanh viӋ c tҥ o khóa bҵ ng SKѭѫQJ pháp mã hóa RSA xây dӵng chӳký ÿL Ӌ n tӱcho tӋ SWLQ ҧ n YăQ mӝt máy E tính ÿѫQ 3K˱˯QJ pháp nghiên cͱu - Lý thuyӃ t: + Tìm kiӃ m tài liӋ u liên quan tӟi vҩ n ÿӅmã hóa thơng tin, SKѭѫQJ pháp mã hóa RSA chӳký ÿL Ӌ n tӱ + Nghiên cӭu tài liӋ u vӅSKѭѫQJ pháp mã hóa RSA, phân tích vҩ n ÿӅliên quan tӟi thuұ t toán, tӯÿy tәng hӧp lҥ i ÿӇcó ÿѭ ӧc nhӳng hiӇ u biӃ t chҳ c chҳ n, ÿ~QJ ÿҳ n vӅSKѭѫQJ pháp mã hóa RSA + Nghiên cӭu tài liӋ u vӅchӳký ÿL Ӌ n tӱ, phân tích vҩ n ÿӅliên quan, tӯÿy rút vai trò tҫ m quan trӑng cӫa chӳký ÿL Ӌ n tӱFNJQJ QKѭ SKѭѫQJ pháp tҥ o chӳký ÿL Ӌ n tӱ + Nghiên cӭu ngơn ngӳlұ p trình C++, C# ÿӇphөc vөcho viӋ c xây dӵng FKѭѫQJ trình ӭng dөng - Thӵc nghiӋ m: + Dӵa vào kiӃ n thӭc ÿm thu ÿѭ ӧc phҫ n nghiên cӭu lý thuyӃ t, tұ p trung xây dӵng FKѭѫQJ trình ӭng dөng khӣi tҥ o chӳký ÿL Ӌ n tӱsӱdөng SKѭѫQJ pháp mã hóa RSA /ѭX%uQK0LQK ±Lӟp 08CNTT Trang Nghiên cӭDSKѭѫQJSKiSPmKyD56$Yj[k\G ӵQJFKѭѫQJWUuQKNK ӣi tҥ o chӳNêÿL Ӌ n tӱ Ĉҫ u tiên vҩ Qÿ Ӆký mӝ t tài liӋ u Vӟi chӳNêWK{QJWKѭ ӡng mӝ t phҫ n vұ t lý cӫ a tài liӋ u Tuy nhiên, mӝ t chӳNêÿL Ӌ n tӱkhông gҳ n theo kiӇ u vұ t lý vào bӭFÿL Ӌ n nên thuұ t WRiQÿѭ ӧc dùng phҧ LOj³NK{QJQKuQWK ҩ \´WKHRFiFKQjRÿyWUrQ ӭFÿL Ӌ n Thӭhai vҩ nÿ ӅkiӇ m tra ChӳNêWK{QJWKѭ ӡQJÿѭ ӧc kiӇ m tra bҵ ng cách so sánh vӟi chӳký xác thӵc khác Ví dө DLÿyNêP ӝ t tҩ PVpFÿ Ӈmua hàQJQJѭ ӡi bán sӁso sánh chӳký mҧ nh giҩ \ÿyY ӟi chӳký nҵ m ӣmһ t sau thҿtín dө QJÿ ӇkiӇ m tra Mһ t khác, chӳký sӕcó thӇkiӇ m tra bҵ ng mӝ t thuұ t toán kiӇ m tra mӝ WFiFKF{QJNK vұ y, bҩ t kǤDLFNJQJFyWK ӇkiӇ PWUDÿѭ ӧc chӳNêÿL Ӌ n tӱ ViӋ c sӱdө ng mӝ WVѫÿ ӗchӳký an tồn có thӇQJăQFK һ Qÿѭ ӧc khҧQăQJJL ҧmҥ o Sӵkhác biӋ WFѫE ҧ n giӳa chӳNêÿL Ӌ n tӱvà chӳký tK{QJWKѭ ӡng ӣchӛ : mӝ t bҧ n copy tài liӋ u có chӳNêÿѭ ӧFÿ ӗ ng nhҩ t vӟi bҧ n gӕ c Nói cách khác, tài liӋ u có chӳký giҩ \WKѭ ӡng có thӇkhác biӋ t vӟLYăQE ҧ n gӕ FÿL Ӆ XQj\ÿ ӇQJăQFK һ n mӝ t bӭFÿL Ӌ n ÿѭ ӧc ký không bӏdùng lҥ i Ví dө , nӃ u B ký mӝ t bӭFÿL Ӌ n xác minh cho A rút 100$ tӯtài khoҧ n cӫ a mình, chӍmuӕ n A có khҧQăQJOjPÿL Ӆ XÿyP ӝ t lҫ n Vì thӃ , bҧ n thân bӭFÿL Ӌ n phҧ i chӭDWK{QJWLQÿ Ӈkhӓ i bӏdùng lҥ i, chҷ ng hҥ QQKѭGQJG ӏ ch vөgán nhãn thӡi gian (Time Stamping Service) Mӝ WVѫÿ ӗchӳNêÿL Ӌ n tӱWKѭ ӡng chӭa hai thành phҫ n: thuұ t toán ký sig() thuұ t toán xác minh ver() B có thӇký mӝ t bӭFÿL Ӌ n x dùng thuұ t tốn ký an tồn (bí mұ t) KӃ t ሺ ሻnhұ quҧchӳký ൌ Qÿѭ ӧc có thӇÿѭ ӧc kiӇ m tra bҵ ng thuұ t toán xác minh công ሺ ሻ NKDLYHU\ .KLFKRWUѭ ӟc cһ p ǡ , thuұ t toán xác minh cho giá trӏTRUE hay FALSE tùy thuӝ c vào viӋ c chӳNêÿѭ ӧc xác thӵFQKѭWK Ӄnào Vұ \QKѭWK Ӄnào chӳNêÿL Ӌ n tӱ? Chúng ta có mӝ t sӕÿ ӏ nKQJKƭDQKѭVDX - Là mӝ W ӏ QK ÿ GDQK Ӌ n tӱÿѭ ӧ ÿL c tҥ o bӣL Pi\ӧcWtQK tәchӭcÿѭ sӱdө ng nhҵ Pÿ ҥ Wÿѭ ӧc tính hiӋ u quҧvà hiӋ u lӵFQKѭOjFi c chӳký tay - Là mӝ WFѫFK Ӄxác thӵFKyDFKRSKpSQJѭ ӡi tҥ RUDWK{QJÿL Ӌ SÿtQKNqPP ӝ t mã sӕ YjRWK{QJÿL Ӌ p giӕ QJQKѭYL Ӌ c ký mӝ t chӳký lên mӝ WYăQE ҧ QEuQKWKѭ ӡng 2.2.2 Ĉ͓ QKQJKƭDK ͏chͷNêÿL ͏ n t͵ Các chӳNêÿL Ӌ n tӱÿѭ ӧc sinh sӱdө ng bӣi hӋchӳNêVѫÿ ӗ ÿL Ӌ n tӱGѭ ӟi ÿk\Ojÿ ӏ QKQJKƭDP ӝ t hӋchӳNêÿL Ӌ n tӱ Mӝ WVѫÿ ӗchӳNêÿL Ӌ n tӱlà bӝ5 ሺ ܲǡ ܣǡ ܭǡ ܵǡ ܸሻthӓ DPmQFiFÿL Ӆ u kiӋ QGѭ ӟLÿk\ - P tұ p hӳu hҥ n bӭFÿL Ӌ QWK{QJÿL Ӌ p, bҧ n rõ) có thӇ - A tұ p hӳu hҥ n chӳký có thӇ /ѭX%uQK0LQK ±Lӟp 08CNTT Trang 35 Nghiên cӭDSKѭѫQJSKiSPmKyD56$Yj[k\G ӵQJFKѭѫQJWUuQKNK ӣi tҥ o chӳNêÿL Ӌ n tӱ - K tұ p không gian khóa (tұ p hӳu hҥ n khóa có thӇ ) - Vӟi mӛ i khóa ܭאtӗ n tҥ i mӝ t thuұ t toán ký t thuұ t toán xác ܵאvà mӝ ሽlà nhӳng minh i ܲ՜ ܣvà HU ܲ ݔ ܣ՜ ሼ ǡ ܸא Mӛ ǣ ǣ hàm cho mӛ i bӭFÿL Ӌ n ܲאݔvà mӛ i chӳký ܣאݕthӓ D PmQ SKѭѫQJ Gѭ ӟLÿk\ ሺ ܴܷܶܧ ݊ዅ ݑ ݕൌ݃݅ݏ ݔሻ ሺ ܸ݁ݎ ݔǡ ݕሻൌ൜ ሺ ܧܵܮܣܨ ݊ዅ ݑ ݃݅ݏ്ݕ ݔሻ Vӟi mӛ i ܭא, hàm HU ӭc thӡi gian Hàm HU OjFiFKjPÿDWK sӁlà hàm cơng khai cịn hàm t không thӇdӉGjQJWtQKWRiQÿ Ӈgiҧmҥ o chӳký cӫ aB bí mұ bӭFӋ Q ÿL[ QJKƭD ӟL [ FKR ӟ Oj c chӍcóYWUѭ B mӟi có thӇWtQK ӧFÿѭ \ Ӈ HU ÿ ൌ Mӝ WVѫÿ ӗchӳký khơng thӇDQWRjQY{ÿL Ӆ u kiӋ n mӝ WQJѭ ӡL&QjRÿyF Ӈ kiӇ m tra tҩ t cҧchӳký sӕy bӭFÿL Ӌ n x nhӡdùng thuұ t tốn ver() cơng khai cho tӟi tìm thҩ y chӳNêÿ~QJ9uWK Ӄ , nӃ u có ÿ ӫthӡi gian, C ln có thӇgiҧmҥ o chӳ ký cӫ D%1KѭY ұ y mө FÿtFKF ӫ DFK~QJWDOjWuPFiFVѫÿ ӗchӳNêÿL Ӌ n tӱan toàn vӅmһ t tính tốn Chú ý rҵ QJDLÿyFyWK Ӈgiҧmҥ o chӳký cӫ a B mӝ t bӭFÿL Ӌ Q³QJ ү XQKLrQ´[ ҵ ng ሻ cách tính ൌ ሻvӟL\QjRÿyNKLÿy ൌ Mӝ t biӋ n pháp xung quanh vҩ Qÿ Ӆ ሺ ሺ NKy NKăQ Qj\ ҫ u bӭF Oj Ӌ nÿL chӭ \rX D ӫÿ phҫ FQ Gѭ Ӈchӳÿ ký giҧmҥ o kiӇ u không phù hӧp vӟi toàn bӝnӝ i dung cӫ a bӭFÿL Ӌ n x trӯmӝ t xác suҩ t rҩ t nhӓ Có thӇdùng FiFKjP%ăPKDVKIXQVLRQ QKѭ0'0' Ӌ c tính kӃ t nӕ LFiFVѫÿ ӗchӳký ÿL Ӌ n tӱsӁloҥ i trӯSKѭѫQJSKiSJL ҧmҥ o 2.2.3 Các h͏chͷNêÿL ͏ n t͵thông dͭ ng 2.2.3.1 HӋchӳký RSA DӵDYjRѭXÿL Ӈ m cӫ a hӋmã RSA, nӃ u thiӃ t lұ Sÿѭ ӧFVѫÿ ӗchӳký dӵa toán phân tích thӯa sӕngun tӕWKuÿ ӝan tồn cӫ a chӳký sӁrҩ t cao ViӋ c thiӃ t lұ SVѫÿ ӗ xác thӵc chӳký RSA rҩ WÿѫQJL ҧ n, ta chi cҫ Qÿ ҧ RQJѭ ӧc hàm mã hóa giҧ LPm6DX OjVѫÿ ӗchӳký RSA: - Cho ൌൈWURQJÿySTOjFiFV ӕnguyên tӕ Ĉ һ t ܲൌܣൌܼ Yjÿ ӏ QKQJKƭD ሺ ܭൌ൛ ݊ǡ ǡ ݍǡ ܽǡ ܾሻ ǣ ݊ൌൈݍǡ ݒ ݍ ݈ ܿ ܿ ݏ ͙ ݊݃ݕݑ ² ݊ ݐ ͙ǡ ൯ ൟ ܽൈܾͳؠ൫ ݉݀ ߶ሺ ݊ሻ - Các giá trӏ n b công khai; cịn p, q, a bí mұ t /ѭX%uQK0LQK ±Lӟp 08CNTT Trang 36 Nghiên cӭDSKѭѫQJSKiSPmKyD56$Yj[k\G ӵQJFKѭѫQJWUuQKNK ӣi tҥ o chӳNêÿL Ӌ n tӱ - Vӟi ܭൌሺ ݊ǡ ǡ ݍǡ ܽǡ ܾሻ WD[iFÿ ӏ nh: ሺ ݃݅ݏ ݔሻൌݔ ݉݀ ݊ ൜ ݎ݁ݒ ݔǡ ݕሻൌܴܷܶܧ ֞ ݕؠݔሺ ݉݀ ݊ሻ ݅ͣݒ ݔǡ ݕ א ܼ ሺ 7K{QJWKѭ ӡng, chӳNêÿѭ ӧc kӃ t hӧp vӟi hàm mã hóa cơng khai GiҧsӱA muӕ n gӱi mӝ t bӭFÿL Ӌ Qÿmÿѭ ӧFPmKyDYjÿmÿѭ ӧFNêÿ Ӄ n cho B Vӟi bҧ QU}[FKRWUѭ ӟc, A sӁtính ሻvà sau ÿyPmKyDF tốn chӳký cӫ a ൌ ҧx y sӱdө ng khóa cơng khai ሺ a B, kӃ t quҧnhұ Qÿѭ ӧc ൌ ǡ ሻ Bҧ n mã z sӁÿѭ ӧc gӱi tӟi B, B nhұ n cӫ ሺ ሻ ÿѭ ӧF]ÿ ҫ u tiên giҧ i mã vӟi hàm giҧ i mã cӫ DPuQKÿ Ӈnhұ Qÿѭ ӧc ሺ ǡ 6DXÿy ሻൌ dùng hàm xác minh công khai cӫ D $ ӇkiӇ ÿ m tra xem ǡ hay ሺ không Song nӃ Xÿ ҫ u tiên A mã hóa x, rӗ LVDXÿyP ӟi ký lên bҧ n mã nhұ Qÿѭ ӧc sao? Khi ÿy$V Ӂtính: ሻ ൯ ൌ ൫ ሺ A sӁtruyӅ n cһ pሺ ǡ ሻtӟi B, B sӁgiҧ i mã z nhұ Qÿѭ ӧF[VDXÿy[iFP ӳký y x nhӡdùng t vҩ Qÿ Ӆnҧ y sinh nӃ u A truyӅ nሺ ǡ ሻkiӇ u mӝ WQJѭ ӡi Mӝ thӭba C có thӇthay chӳký y cӫ a A bҵ ng chӳký cӫ a mình: ሻ ൯ Ԣൌ େ൫ ሺ ሻngay cҧkhi không biӃ Chú ý rҵ ng, C có thӇký lên bҧ n mã t bҧ n rõ x Khi ሺ ሻÿ ÿyQ Ӄ u C truyӅ nሺ ǡ Ԣ Ӄ n B, chӳký cӫ D&ÿѭ ӧc B xác minh bҵ ng େ YjGRÿy% rҵ ng bҧ n rõ x xuҩ t phát tӯ&'RNKyNKăQQj\K ҫ u hӃ WQJѭ ӡi sӱdө QJÿѭ ӧc kiӃ n nghӏ ³NêWUѭ ӟFNKLPm´ 2.2.3.2 HӋchӳký ElGamal HӋchӳký EO*DPDOÿѭ ӧFÿѭDUDYjRQăP0 ӝ t phiên bҧ n sӱDÿ ә i hӋQj\ÿѭ ӧc 1,67ÿѭDU DQKѭP ӝ t chuҭ n cӫ DFKNJNêÿL Ӌ n tӱ HӋchӳNê(O*DPDOÿѭ ӧc thiӃ t kӃriêng biӋ t cho mө FÿtFKFK ӳNêWUiLQJѭ ӧc vӟL56$WKѭ ӡQJÿѭ ӧc sӱdө ng cho cҧmө FÿtFKPm hóa cơng khai chӳký HӋchӳNê(O*DPDOOjNK{QJ[iFÿ ӏ QKQJKƭDOjFy ҩ t nhiӅ u giá trӏchӳký cho mӝ t bӭFÿL Ӌ QFKRWUѭ ӟc Thuұ t tốn xác minh phҧ i có khҧQăQJQK ұ n bҩ t kǤgiá trӏchӳNêQjRQKѭOjYL Ӌ c xác thӵc Sѫÿ ӗchӳNê(O*DPDOÿѭ ӧc miêu tҧQKѭ sau: - כ Cho p mӝ t sӕnguyên tӕQKѭOjEjLWRiQORJDULWU ӡi rҥ c , ߙא mӝ t כ כሻ phҫ n tӱnguyên tӱvà ൌ , ൌሺ ൈିଵYjÿ ӏ QKQJKƭD ሺ ሽ ൌሼ ǡ Ƚǡ ǡ Ⱦሻ ǣ ȾؠȽୟሺ ሻ /ѭX%uQK0LQK ±Lӟp 08CNTT Trang 37 Nghiên cӭDSKѭѫQJSKiSPmKyD56$Yj[k\G ӵQJFKѭѫQJWUuQKNK ӣi tҥ o chӳNêÿL Ӌ n tӱ - 7URQJÿyJLiWU ӏ ǡ Ƚ Ⱦ Ø ǡ Ö À ұ W - כ Vӟi ൌሺ ǡ Ƚǡ ǡ Ⱦሻvà chӑ n mӝ t sӕngү u nhiên א ӏ QKQJKƭD ିଵÿ ǡ ሻൌሺ ߛǡ ߜሻ ሺ - ሺ 7URQJÿy ɀൌȽ୩ và Ɂൌሺ െൈɀሻ ିଵ െͳሻ - כ Vӟi x, ߛא ߛିאଵÿ ӏ QKQJKƭD ሺ HU ǡ ɀǡ Ɂሻൌ ȾஓɀஔؠȽ୶ሺ ሻ - NӃ u chӳNêOjÿ~QJWKuYL Ӌ c xác nhұ n thành công khi: ȾஓɀஔؠȽୟஓȽ୩ஔሺ ሻ Ⱦஓɀஔ ؠȽ୶ሺ ሻ - ሺ ¯×ǣ ɀɁؠ െͳሻ B sӁtính tốn chӳký bҵ ng viӋ c sӱdө ng cҧgiá trӏbí mұ t a (mӝ t phҫ n cӫ a khóa) sӕ bí mұ t ngү u nhiên k (giá trӏÿ Ӈký bӭFÿL Ӌ n) ViӋ c xác minh có thӇthӵc hiӋ Qÿѭ ӧc chӍvӟi FiFWK{QJWLQÿѭ ӧc cơng khai Ví dө : - Chúng ta chӑ n ൌͶ ǡ Ƚൌʹǡ ൌͳʹ - Ta tính: ȾൌȽୟ ൌʹଵଶ Ͷ ൌͳ͵ʹ - Bây giӡB muӕ QNêOrQEѭ ӟFÿL Ӌ n ൌͳͲͲ chӑ n mӝ t giá trӏngү u nhiên ିଵ ሺ ሻൌͳvà ʹͳ͵ ൌʹͳ͵ (chú ý ʹͳ͵ ǡ Ͷ Ͷ ൌͶ͵ͳ 6DX ÿ tính: ɀൌʹଶଵଷ Ͷ ൌʹͻ ሻൈͶ͵ͳ Ɂൌሺ ͳͲͲ െͳʹ ൈʹͻ Ͷ ൌͷͳ - Bҩ t cӭDLFNJQJFyWK ӇkiӇ m tra chӳký bҵ ng cách tính: ଶଽ ହଵ ሺ ሻ ͳ͵ʹ ൈʹͻ ͳؠͺͻ Ͷ ሺ ሻ ʹଵ ͳؠͺͻ Ͷ Giҧsӱ, kҿthӭba C muӕ n giҧmҥ o chӳký cӫ a B bӭFÿL Ӌ n x mà khơng biӃ t sӕbí mұ t a NӃ u C chӑ n mӝ t giá trӏɀvà cӕgҳ ng tìm Ɂ, phҧ i tính mӝ t hàm logarit rӡi rҥ c ୶ ିஓ t khác, nӃ Xÿ ҫ u tiên chӑ n Ɂÿ Ӌcӕgҳ ng tìm ɀthì phҧ i tính ஓȽȾ Mһ Ⱦஓɀஔ ൌȽ୶ሺ ሻ Cҧhai viӋ FQj\ÿ Ӆ u khơng thӇthӵc hiӋ Qÿѭ ӧc Tuy nhiên có mӝ t lý thuyӃ t mà C có thӇký lên mӝ t bӭFÿL Ӌ n ngү u nhiên bҵ ng cách chӑ n ÿ ӗ ng thӡi ɀǡ Ɂ Cho i, j sӕnguyên vӟi: ሺ Ͳ ǡ െʹǡ ǡ െͳሻൌͳ /ѭX%uQK0LQK ±Lӟp 08CNTT Trang 38 Nghiên cӭDSKѭѫQJSKiSPmKyD56$Yj[k\G ӵQJFKѭѫQJWUuQKNK ӣi tҥ o chӳNêÿL Ӌ n tӱ 6DXÿy ta tính: ɀൌȽ୧Ⱦ୨ ିଵሺ Ɂؠെɀ െͳሻ ିଵሺ ؠെɀ െͳሻ 1KѭY ұ y, ta xem ሺ ߛǡ ߜሻlà giá trӏchӳký cho bӭFÿL Ӌ n x ViӋ c xác minh sӁthӵc hiӋ n QKѭVDX ౠ ౠషభ ିஒ୨ ሺ Ⱦஓɀஔ ؠȾஒሺ Ƚ୧Ⱦ୨ሻ ሻ ౠ షభ ஒౠ ؠȾஒ ൈȽି୧୨ ౠ ൈȾିஒሺ ሻ షభ ஒౠ ؠȽି୧୨ ሺ ሻ షభ ؠȽିஓ୧୨ ሺ ሻ ؠȽ୶ሺ ሻ Ví dө : - 1KѭYtG өtrên, ta chӑ n ൌͶ ǡ Ƚൌʹǡ ൌͳ͵ʹ - Kҿthӭba C sӁchӑ n ൌͻͻ ൌͳͻ Anh ta sӁtính: ଵଽ ɀൌʹଽଽ ͳ͵ʹ Ͷ ൌͳͳ Ɂൌെͳͳ ൈͳͷͳ Ͷ ൌͶͳ ൌͻͻ ൈͶͶ Ͷ ൌ͵͵ͳ - ሻlà giá trӏchӳký cho bӭFÿL Cһ p giá trӏሺ ͳͳ ǡ Ͷͳ Ӌ n 331 ViӋ F[iFPLQKÿѭ ӧc thӵc hiӋ QQKѭVDX ଵଵ ସଵ ሺ ሻ ͳ͵ʹ ͳͳൌ͵Ͳ͵ Ͷ ሺ ሻ ʹଷଷଵ ൌ͵Ͳ͵ Ͷ 2.2.4 Chu̱ n chͷNêÿL ͏ n t͵ 2.2.4.1 Thuұ t toán chӳNêÿL Ӌ n tӱ(DSA) 7KiQJ1,67ÿmÿѭDUDWKX ұ t toán chӳNêÿL Ӌ n tӱOjFѫV ӣcho chuҭ n chӳký ÿL Ӌ n tӱ Ĉk\OjP ӝ t biӃ n thӇcӫ a thuұ t toán ElGamal - Chӑ n mӝ t sӕnguyên tӕq vӟi ʹଵହଽ ൏ݍ൏ʹଵ - Chӑ n t cho Ͳͺ - ାସ୲ ାସ୲ Chӑ n mӝ t sӕnguyên tӕSWURQJÿy ʹହଵଵ ൏൏ʹହଵଶ q phҧ i chia hӃ t ሺ െͳሻKD\TOjѭ ӟc nguyên tӕcӫ a െͳ) - כ Bây giӡ, tҥ o mӝ t sӕȽduy nhҩ WFKRTWURQJWUѭ ӡng Τ כ + Chӑ n mӝ t giá trӏ א tính Ƚൌሺ୮ିଵሻ୯ /ѭX%uQK0LQK ±Lӟp 08CNTT Trang 39 Nghiên cӭDSKѭѫQJSKiSPmKyD56$Yj[k\G ӵQJFKѭѫQJWUuQKNK ӣi tҥ o chӳNêÿL Ӌ n tӱ + NӃ u Ƚൌͳthì quay lҥ LEѭ ӟc (chӑ n lҥ i g cho phù hӧp) - Chӑ n mӝ t sӕnguyên ngү XQKLrQDÿ Ӈͳെͳ - Tính ൌȽୟ - 1KѭY ұ \NKyDÿ Ӈký ሺ ǡ ǡ Ƚǡ ሻÿѭ ӧc cơng khai a khóa bí mұ t 2.2.4.2 Chuҭ n chӳNêÿL Ӌ n tӱ(DSS) Chuҭ n chӳNêÿL Ӌ n tӱ ÿѭ ӧc sӱDÿ ә i tӯhӋchӳký (O*DPDO1yÿѭ ӧc công bӕtҥ i hӝ i nghӏFIPS vào ngày 19/05/1994 trӣthành chuҭ n vào ngày 01/12/1994 DSS sӱdө ng mӝ WNKyDF{QJNKDLÿ ӇkiӇ m tra tính tồn vҽ n cӫ a dӳliӋ u nhұ Qÿѭ ӧFYjÿ ӗ ng nhҩ t vӟi dӳ liӋ u cӫ DQJѭ ӡi gӱL'66FNJQJFyWK Ӈsӱdө ng bӣLQJѭ ӡi thӭEDÿ Ӈ[iFÿ ӏ nh tính xác thӵc cӫ a chӳký dӳliӋ u nó[13] Trong rҩ t nhiӅ XWUѭ ӡng hӧp, mӝ t bӭFÿL Ӌ n có thӇÿѭ ӧc mã hóa giҧ i mã mӝ t lҫ n, vұ \QyÿiS ӭng cho viӋ c sӱdө ng cӫ a bҩ t kǤhӋthӕ ng bҧ o mұ WQjRÿѭ ӧc biӃ t an toàn lúc bӭFÿL Ӌ Qÿѭ ӧc mã hóa Nói cách khác, mӝ t bӭFÿL Ӌ Qÿѭ ӧFNêÿ ҧ m nhiӋ m chӭFQăQJ QKѭP ӝ WYăQE ҧ n hӧp pháp, chҷ ng hҥ QQKѭFiFE ҧ n hӧSÿ ӗ ng, vұ y, QyFNJQJJL ӕ QJQKѭ viӋ c cҫ n thiӃ Wÿ Ӈxác minh chӳký sau rҩ t nhiӅ XQăPE ӭFÿL Ӌ Qÿѭ ӧFNêĈL Ӆ u rҩ t quan trӑ ng cho viӋ c phịng ngӯa vӅÿ ӝan tồn cӫ a chӳNêÿѭ ӧFÿѭDUDE ӣi mӝ t hӋthӕ ng bҧ o mұ t Vì hӋchӳNê(O*DPDONK{QJÿ ҧ m nhұ Qÿѭ ӧFÿL Ӆ u này, viӋ c thӵc hiӋ n cҫ n mӝ t giá trӏlӟn modulo p Tҩ t nhiên p nên có nhҩ t 512 bits, nhiӅ XQJѭ ӡi cho rҵ QJÿ ӝdài cӫ a p nên 1024 bits nhҵ m chӕ ng lҥ i viӋ c giҧmҥ RWURQJWѭѫQJODL Tuy nhiên, cҧmӝt thuұ WWRiQPRGXORELWVGQJ ӇNêFNJQJSK ҧ i thӵc hiӋ n viӋ FWtQKWRiQÿ Ӄ n 1024 bits Cho ӭng dө ng tiӅ PQăQJQj\FyU ҩ t nhiӅ u card thông minh ÿѭ ӧFÿѭDUDQK ҵ m thӵc hiӋ n mӝ t chӳký ngҳ QKѫQQKѭPRQJPX ӕ n DSS ÿ ã sӱDÿ ә i hӋ chӳký ElGamal cho phù hӧp theo cách mӝWFiFKNKpROpRÿ Ӈmӛ i 160 bits bӭFÿL Ӌ n ÿѭ ӧc ký sӱdө ng mӝ t chӳNêELWVQKѭQJYL Ӌ FWtQKWRiQÿѭ ӧc thӵc hiӋ n vӟi 512 bits כ PRGXORS&iFKQj\ÿѭ ӧc thӵc hiӋ n nhӡviӋ c chia nhӓ WKjQKFiFWUѭ ӡng có kích thӭc ʹଵ KӇtӯNKL'66ÿѭ ӧFÿ Ӆxuҩ WYjRQăPÿmFyQKL Ӆ XSKrEuQKÿѭDUD ҷ ng hҥ n nKѭNtFKF ӥcӫ a modulo p bӏcӕÿ ӏ QKELWVÿL Ӆ u mà nhiӅ XQJѭ ӡi khơng muӕ n Vì vұ y, 1,67ÿmWKD\ÿ ә i chuҭ QQj\ÿ Ӈcó thӇWKD\ÿ ә i kích thӭc modulo p thành mӝ t dãy tӯ512 ÿ Ӄ n 1024 bits Ngoài ra, mӝ t sӵphê bình khác vӅDSS chӳNêÿѭ ӧc tҥ RUDQKDQKKѫQ so vӟi viӋ c [iFPLQKQy7UiLQJѭ ӧc vӟi hӋchӳký RSA viӋ c xác minh công khai rҩ t nhanh /ѭX%uQK0LQK ±Lӟp 08CNTT Trang 40 Nghiên cӭDSKѭѫQJSKiSPmKyD56$Yj[k\G ӵQJFKѭѫQJWUuQKNK ӣi tҥ o chӳNêÿL Ӌ n tӱ chóng (mà ta biӃ WWURQJWKѭѫQJP ҥ LÿL Ӌ n tӱviӋ c xác minh rҩ t quan trӑ QJYjÿzL ӓ i thӡi gian thӵc hiӋ n phҧ i nhanh chóng) ¾ Kế t thúc 2, chương chúng iể ta u ợccó tìm nhữngđư kiế hn thức ả n b vềphương pháp mã ậ hóa t tốn, ộ RSA an tồn,như khả đ thu ổ i trộ n i mã hóa RSA khiế n trởthành thuậ t ng thờ Đi, ta tốn mã ợc sửdụ hóa ng phổđư biế t nhấ t hiệ n ững hiể u biế t có chữký nhệ nđi tử, cách tạ o vai trị thời iđ công nghệ Chương ế p theo củ ti a báo cáo sẽtrình bày ý tư ởng vềviệ c xây dựng mộ t ứng dụng khởi tạ o chữký ệ nđi tửáp dụng phương pháp mã hóa RSA nhằ m giúp ời dùng ngư làm quen với việ c sửdụng chữký ệ nđi tử nhưộ tm “ch ứng minh thư” ng giớ i thiệ u mộ t m chương trình ứng dụng /ѭX%uQK0LQK ±Lӟp 08CNTT Trang 41 Nghiên cӭDSKѭѫQJSKiSPmKyD56$Yj[k\G ӵQJFKѭѫQJWUuQKNK ӣi tҥ o chӳNêÿL Ӌ n tӱ Chương –XÂY DỰNG ỨNG DỤNG KHỞI TẠO CHỮ KÝ Ệ ĐI N TỬ SỬ DỤNG PHƯƠNG PHÁPRSA Mà HÓA 3.1 Giͣi thi͏ u 3.1.1 Ĉ˱DUDê W˱ ͧng 9ӟLÿӅWjLQJKLrQFӭXYӅ SKѭѫQJSKiSPmKyD RSA chӳký ÿL Ӌ n tӱ, em ÿm ÿѭDUDê Wѭ ӣng [k\GӵQJ mӝ t ӭng dө QJJL~SQJѭ ӡi dùng có thӇNêWrQÿL Ӌ n tӱlên mӝ WWK{QJÿL Ӌ p YăQE ҧ nÿ ӗ ng thӡi có thӇxác nhұ n chӳký FNJQJQKѭWtQKWRjQY ҽ n cӫ DYăQE ҧ Qÿѭ ӧc gӱi tӟi Ӭng dө ng sӁsӱdө ng hӋchӳNê56$ÿ Ӈkhӣi tҥ o chӳký Ӭng dө ng sӁchҥ y nӅ n window vӟi giao diӋ n thân thiӋ n vӟL QJѭ ӡi dùng Ӭng dө ng gӗ m có ba chӭFQăQJFKtQKOjNK ӣi tҥ o khóa bҵ QJSKѭѫQJSKiS56$ ҧ n xác nhұ n chӳký ChӭFQăQJNK ӣi tҥ o khóa bҵ QJSKѭѫQJSKiS56$J ӡi dùng tҥ o hai khóa cơng khai bí mұ Wÿѭ ӧc xuҩ t hai file riêng biӋ t ChӭFQăQJNêYă ҧ n sӁthӵc hiӋ n viӋ c NêOrQYăQE ҧ n bҵ ng khóa bí mұ WPjQJѭ ӡLGQJÿѭDYjR ӭng dө ng sӁxuҩ t chӳNêUDILOHO~FQj\QJѭ ӡi dùng sӁgӱi kèm chӳNêYăQE ҧ n khóa cơng khai cӫ DPuQKFKRÿ ӕ i tác ChӭFQăQJWK ӭEDJL~SQJѭ ӡi dùng xác nhұ n chӳký cӫ a mӝ WYăQE ҧ n nhұ Qÿѭ ӧFFNJQJQKѭNL Ӈ m tra tính tồn vҽ n cӫ DYăQE ҧ n Ӭng dө ng sӁdùng NKyDF{QJNKDLPjQJѭ ӡLGQJÿѭDYjRÿ ӇkiӇ m tra chӳNêFNJQJQKѭYăQE ҧ n thông EiRFKRQJѭ ӡi dùng biӃ t chӳNêFyÿ~QJYjYăQE ҧ n có tồn vҽ n hay khơng 3.1.2 Cách thͱc xây dng ĈӇxây dӵQJÿѭ ӧc ӭng dө ng phҧ i thӵc hiӋ Qÿѭ ӧc yêu cҫ u sau: - Lӵa chӑ n tìm hiӇ u mӝ t ngơn ngӳlұ p trình phù hӧp vӟLêWѭ ӣng - Xây dӵng mӝ WWKѭYL Ӌ n gӗ m hàm tính tốn ǡ െǡ ൈǡ ൊǡ sӕngun lӟn (vài chө Fÿ Ӄ QYjLWUăPNêV ӕ ) - Xây dӵng hàm tҥ o khóa bҵ QJSKѭѫQJSKiS56$ - Xây dӵng hàm ký tên hàm kiӇ m tra chӳký - Xây dӵng mӝ t giao diӋ n thân thiӋ n, dӉsӱdө ng 3.2 Xây dng ͱng dͭng 3.2.1 Phác th̫ o ͱng dͭ ng b̹ ng XMIND TӯnhӳQJêWѭ ӣQJÿѭ ӧc nêu ӣWUrQHPÿmSKiF thҧ o chӭFQăQJFNJQJQK ӑ n công cөvà ngôn ngӳÿ Ӈxây dӵng ӭng dө ng /ѭX%uQK0LQK ±Lӟp 08CNTT Trang 42 Nghiên cӭDSKѭѫQJSKiS mã hóa RSA xây dӵQJFKѭѫQJWUuQKNK ӣi tҥ o chӳNêÿL Ӌ n tӱ Hình 3.1 SơồXmind đ ứng dụng LѭX%uQK0LQK ±Lӟp 08CNTT1 Trang 43 Nghiên cӭDSKѭѫQJSKiSPmKyD56$Yj[k\G ӵQJFKѭѫQJWUuQKNK ӣi tҥ o chӳNêÿL Ӌ n tӱ 3.2.2 ;iFÿ ͓ nh chͱFQăQJFKtQK ChӭFQăQJFKtQKF ҫ n phҧ i có ӭng dө ng là: - Khӣi tҥ o khóa: + Bҵ ng cách chӑ n nút tҥ o khóa, chӑ Q ӝÿ dài (bits) cӫ a khóa theo nhu cҫ u, chӑ n vӏWUtOѭXNKyD VDXÿyFK ӑ n tҥ o khóa + Ӭng dө ng sӁthӵc hiӋ n viӋ c tҥ o khóa cơng khai bí mұ t Fyÿ ӝdài (bits) bҵ ng hoһ c lӟQKѫQÿ ӝGjLELWV ÿmFK ӑ QOѭDNKyDWKjQKK riêng biӋ t thông biRFKRQJѭ ӡi dùng - Ký tên: + Bҵ ng cách chӑ Q WDE Nê ҧ n, chӑ Q YăQ ILOH Eҧ n (*.doc, YăQ *.txt E hoһ c *.docx) cҫ QNêYjÿ ѭa khóa bí mұ WYjRVDXÿyFK ӑ n ký tên + Ӭng dө ng sӁthӵc hiӋ n viӋ FNêWrQOrQYăQE ҧ n bҵ ng khóa bí mұ WOѭXFK ӳ ký file thông báo cho ngѭӡi dùng - Xác nhұ n chӳký: + Bҵ ng cách chӑ n tab xác nhұ n chӳký, chӑ Q YăQ ҧ n (*.doc, E *.txt hoһ c *.docx) cҫ n xác nhұ Q ÿѭD ӳkýILOH khóa cơng FK khai vào, chӑ n xác nhұ n + Ӭng dө ng sӁthӵc hiӋ n viӋ c xác nhұ n chӳký, kiӇ m tra tính tồn vҽ n cӫ a YăQE ҧ n thôQJEiRFKRQJѭ ӡi dùng 3.2.3 Thu̵ t toán ͱng dͭ ng 3.2.3.1 Thuұ t tốn tҥ o khóa ĈӇtҥ o khóa bҵ QJSKѭѫQJSKiS56$WDF ҫ n phҧ i khӣi tҥ o sӕnguyên tӕlӟn p q ViӋ c tҥ o sӕnguyên lӟn dӉGjQJQKѭQJÿ ӇkiӇ m tra tính nguyên tӕcӫ a hai sӕÿyWKu rҩ WNKyNKăQ Ӭng dө ng sӱdө QJSKѭѫQJSKiSNL Ӈ m tra xác suҩ t nên cҫ n mӝ t vòng lұ Sÿ Ӈ ÿ ҧ m bҧ o viӋ FNKyDVLQKUDOjÿ~QJ /ѭX%uQK0LQK ±Lӟp 08CNTT1 Trang 44 ... mã Nghiên cӭDSKѭѫQJSKiSPmKyD56$Yj[kG ӵQJFKѭѫQJWUuQKNK ӣi tҥ o chӳNêÿL Ӌ n tӱ Chương –PHƯƠNG PHÁP Mà VÀ HÓA CHỮ KÝ RSA? ?? ĐI N TỬ 2.1 3K˱˯QJSKiS mã hóa RSA 2.1.1 SͧO˱ ͫc v? ?mã hóa RSA. .. (Decryption): trình biӃ Qÿ ә i bҧ n mã thành bҧ n rõ - Quá trình mã hóa giҧ LPmÿѭ ӧc thӇhiӋ QWURQJVѫÿ ӗsau: Bản rõ Bản mã Mã hóa Bản rõ Giải mã Hình 1.3 Sơồq đ trình mã hóa giả i mã - H? ?mã hóa mӝ... ch? ?ký ÿL Ӌ n tӱáp dөng SKѭѫQJ pháp mã hóa RSA Ĉ͙ i W˱ ͫng ph̩m vi nghiên cͱu - Ĉӕi Wѭ ӧng nghiên cӭu: tұ p trung chӫyӃ u vào SKѭѫQJ pháp mã hóa RSA ÿӇ xây dӵng ch? ?ký ÿL Ӌ n tӱ - Phҥ m vi nghiên