1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu phương pháp mã hóa RSA và xây dựng chương trình khởi tạo chữ ký điện tử

59 2 0

Đ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

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 th͹c hi͏ n /˱X%uQK0LQK LỜI CAM ĐOAN T{L[LQFDPÿRDQ 1KͷQJQ͡LGXQJWURQJOX̵QYăQQj\O G̳Q WU͹FWL͇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 Ӌ Q WK{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%ăP KDVKIXQVLRQ 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 d͹ng ĈӇ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 d͹ng ͱ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ÿ ӝGjL ELWV ÿ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

Ngày đăng: 26/06/2021, 13:14

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w