MÔ PHỎNG HỆ CHỮ KÝ ĐIỆN TỬ RSA

16 367 1
MÔ PHỎNG HỆ CHỮ KÝ ĐIỆN TỬ RSA

Đ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

MÔ PHỎNG HỆ CHỮ KÝ ĐIỆN TỬ RSA

TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ THÔNG TIN ³ ³ BÁO CÁO BÀI TẬP LỚN AN TOÀN BẢO MẬT THÔNG TIN MÔ PHỎNG HỆ CHỮ KÝ ĐIỆN TỬ RSA     !"# $ %&'( ) *+', / 012 34%!/56 Hải Phòng - 2012 MỤC LỤC 7'8!94:6*;4<('=>?@A 2 Chương 1: Cơ sở lý thuyết 2 2 1.Chữ ký điện tử 2 2.Hệ chữ ký điện tử 2 3.Hệ chữ ký RSA 3 Chương 2: Khảo sát thực tế và xác lập dự án 4 1.Nhu cầu thực ễn 4 2.Giải pháp 4 3.Thành lập nhóm phát triển 4 Chương 3: Phân tích và thiết kế 5 1.Đặc tả yêu cầu 5 2.Thiết kế giao diện và tương tác người dùng 7 Chương 4: Cài đặt 8 1.Các công cụ sử dụng 8 2.Các giao diện 9 3.Các mã lệnh và thuật toán 15 Tài liệu tham khảo 16 Chương 1: Cơ sở lý thuyết 1. Chữ ký điện tử • 3B!C D .C(!ECF'!+.8"0!GCF'''!H'&'IEJ KC+!CF'!G(LM'(:N':'''=>?!.0 • 3B!'O'PQ'!N'.'4R4S!+.!;C(4CG>TB! UIV!;C(4V:('>?B!'=>?:B!,8M8 !S 2. Hệ chữ ký điện tử *B!IOCW'=>?C(!E:8BX P, A, K, S, V#!<.U''CY>(CZ0 • P:!94=+''8&'C( !;C(4[8M\#'!] 6%&'(6*+', 6012 $ 7'8!94:6*;4<('=>?@A • A:!94=+'''=>?'!] • K:!94>;.>. !94=+''>.'!]# • ^>.>ϵK!W!+B!!9!!I > ϵSB!!9!!Q' _ > ϵV*^I > PA_ > PQA `@ab[c3Abd:= I.'^8&'C(QϵP ^'=>?0ϵA!<.U4O !CZ0 e_ Q[0#f@abP0fI Q# e_ Q[0#fc3AbP0≠I Q# ^>ϵK[I > _ > :''C.!&'!S._ >  Ig: ';>.'hI > :8G9!2;!]1!G!C]M+'= >?'i.7!8&'C(Q[ :Q'!''j'7'!]!GCF'0 C]_ Q[0#f@ab*B!IOCW'=>?>;!].!;CY>(B! S%C'!]>]!.!k!'M'=IV0!8&'C(QSl!9!! _ #';>.'!>.!.!!k0'=>?Cm!P[P'Ci!S .[%:;'!]M+'=>?'i.790J'CG''i.'m!.:! ''IOCW'=>?C(!E.!Y!!G! %m?K.C'!]M+'=>?'i.7!B!8&'C(noQ 8K''!GQf_ > 0#0Cp>C0fI > Q#*B!8(44Q L.kCY>>,0:0'q''8&'C('&.Ci4qC]'=>?M +>]0>;4lF4!8BB'i.8&'C(Q!rB!Q'Ik! k!<%!]l7, .Is'!#*t/[*tX!('!G>P! V''IOCW>?C(!EIg:+!r4O44M+0 3. Hệ chữ ký RSA tN.C]'i.(U@A[P!P!:94CF'IOCW'=>?N.!8 !4Z!G'.!r.IV0!V!CB.!'i.'=>?Igk!'.('!P! :94IOCWQ'!N''=>?@Ak!COM[!.'j'qCMF'U. MUA.CZ0:IOCW'=>?@A • %f4uL[!C4[L:''IV0!V!vffw  Cx 2f` [4[L[.[8#f4uL[4L:''IV0!V[.u8y  � ##d 6%&'(6*+', 6012 ) 7'8!94:6*;4<('=>?@A • %'!x8:>.';>.p'h4[L:>.8G9! • >f [4[L[.[8#[!.Q'Cx eI > Q#fQ .  e_ > Q[0#f@ab Qy0⇔ 8  #Q[0zw  ;!S['=>?CF'>P!F4U.';>.MIEV EB!8&'C(CF'U.CUCF'>?CP'78M\Q'!'[ Ig!G!'=>?'i.0fI  Q#I.CU.'MQ[0IEJ>. ';>._ 7 'i.7[>P!LM9CF':{f_ 7 Q[0#7MU{IgCF'E!7[ >79CF'{[Cq!.!.MUMU 7 'i.C]9 CF' Q[0#A.C.!.lQ'';>.'i.C]>]!.Q_ _  Q[0#f@ab.0>; Chương 2: Khảo sát thực tế và xác lập dự án 1. Nhu cầu thực tiễn L!|'!94;!8M9!!;![Y>'m!.4M !G!=IVk!:>;!]!G8K!.0.0l&J0 !G'i.}~ICF' %'8!94:L.CP@A!SQ04M!G!IV>:[ C'm!.k!'qB!'O!0!GC]!('('|'!94!G! B!''.' 2. Giải pháp r'q!N'!1Ch<'m!.4MQZ0NB!&J;4<@A 3. Thành lập nhóm phát triển 4!!]&J;4<('=>?C(!E@AW/! 8M4Z';';('I. Họ tên Vai trò Công việc 6%&'(6*+', 6012 / 7'8!94:6*;4<('=>?@A  " •2MI!!N'!PQ':94N •I!';(' •vZ!G'!P!>P •^!F>€!9! •2]!.!('O! %&'(  •%C!''m!I •%C!''m!U.MU 012  •%C!''m!!G>]!. •%C!''m!>?Q'!N''=>? *+',  •%C!''m!Q_[": Chương 3: Phân tích và thiết kế 1. Đặc tả yêu cầu 1.1. Mục đích •Z0NB!'O!;4<('=>?@AC4&'q|' !9! 1.2. Mô tả tổng quan • %O!lC];4<('=>?@A • %.(Sl!N'L.[1IEJ • ^!F!G!!IV0: • ^!F'M!NCB!G!'4R4Sl!N94'>]!. !GF4:('i.''0P!VCq • %4R4":''0P!VCqCq. 6%&'(6*+', 6012 X 7'8!94:6*;4<('=>?@A 1.3. Yêu cầu chức năng • %4R4!N94'I''IV0!V:4[LIV8! CF'94!VC.:‚$/8!'!NCB>]!.Q_4[L'4M :IV0!V.0>; • NCB!G� #f 4•#u L•#^>!.0CH4'L • %4R4!N94'!G!f4uL'>]!.Q_'8K 4uL.0>; • %4R4!N94'!G!__:IV0!V'l.� # ƒ'>]!.Q__'Cm:IV0!V'l. � #.0>; • %4R4!N94'!G!:4q!EF''i._! w � # ƒ'>]!.Q_'Cm:4q!EF''i._! w � # .0>; • %4R4Q_>.';>. _[#>.8G9! [4[L# • %4R4"s:_'&.>.';>. _[#>.8G9! [4[L#' >]!.!GF4:('i.=:( • %4R4:>.';>.>.8G9! • %4R4"s:_'&.B8M\[8MU • %4R4:s:_'&.B8M\[8MU[8MMU • %4R4IIB8MMU8M\ • %4R4U.8M\[MU8MU[>?:8M\Q'!N''=>? !8MU 1.4. Yêu cầu phi chức năng 1.4.1. Yêu cầu về độ tin cậy và hiệu suất vMC4&CF'Cq0Ci'''&',[C'8(!:'&',>? Q'!N''=>?4M.'GQ' 6%&'(6*+', 6012 „ 7'8!94:6*;4<('=>?@A 1.4.2. Yêu cầu về môi trường vqY+!CB!;!S!r*'Is!}~I•vAv$ _!s._~>$‚!": 1.4.3. Yêu cầu về giao diện .(CF'!80>.|'[F4:?CM8M€!9!h. J'CG''i.4qY[!Z!i'''…Y!0'94!;! 1.4.4. Thành phần bên ngoài %!]IEJ!(QE:?IV:UW"8 2. Thiết kế giao diện và tương tác người dùng P!>P!8B'''&',!'lB!s7V'J's'..:) 4q'G!_'Y. 1.5. Phần 1 - bên trái (60%): ]!x.('i.''0P!VCq'.!P4:)4q!_'Y |'[4q!:.(94''IV0!V:4L[4q=.:94 ]!x� #[4q:.(94_ • .(94p, q'l8!:B!_'a4~C]94IV 8![!'l84M:m!AC]IB!IV0!V[8 :B!@'_Q!7QC]]!x=:( • .(94n'l8!:m!2]!.C]>]!.Q_' 8K4uL.0>;[!'l84M:m!GC]!Gf4uL[8 :B!@'_Q!7QC]]!x=:( • .(�(n)*B!@'_Q!7QC]]!x=:( • .(94e'l8!:m!2]!.C]>]!.Q__' 0!V'l.� #.0>;[!'l84M:m!AC] IB!IV_0!V'l.� #[8:B! @'_Q!7QC]]!x=:( • .(94d'l8!:m!2]!.C]>]!.Q_': 4q!EF''i._.0>;[!'l84M:m!GC]!G: 4q!Ex'CM'i._[8:B!@'_Q!7QC]]!x=:( 6%&'(6*+', 6012 † 7'8!94:6*;4<('=>?@A 1.6. Phần 2 - giữa (10%): ]!x''m!:('G8.W*U.[MU[2?[•'!N'[•_ >.';>.[•_>.8G9![*">.';>.[*">.8G9![3>. ';>.[3>.8G9! 1.7. Phần 3 - bên phải (30%): ]!x.(7M\[7MU[7MMU • .(94Bản rõ'l8!:m!*"C]"s:_8M\[! 'l84M:m!3C]:8M\[8:B!@'_Q!7QC] ]!x=:( • .(94Bản mã'l8!:m!*"C]"s:_8MU[ !'l84M:m!3C]:8MU[8:B!@'_Q!7Q C]]!x=:( • .(Bản giải mã'l8!:m!AIC]>]!.Q_ 8MMU'V8M\.0>;[!'l84M:m!3C]: 8MMU[8:B!@'_Q!7QC]]!x=:( Chương 4: Cài đặt 1. Các công cụ sử dụng • *'Is!I.:A!$‚‚‡$‚‚[;=%ˆ[_!s._~>$‚ • (7‰!__ '_4Š_'!# • *'Is!}[bQ_:$‚‚†$‚‚ 6%&'(6*+', 6012 ‡ 7'8!94:6*;4<('=>?@A 2. Các giao diện 1.8. Giao diện chính 1.9. Giao diện sinh số nguyên tố p với 512 bit 6%&'(6*+', 6012 5 7'8!94:6*;4<('=>?@A 1.10. Giao diện tính n, sinh e và tính d 1.11. Giao diện mở khóa công khai 6%&'(6*+', 6012 ‚ [...]... cáo bài tập lớn – Mô phỏng hệ chữ ký RSA 1.12 Giao diện lưu khóa công khai Vũ Đình Trung – Chu Đức Thiện – Mạc Văn Nghĩa – Nguyễn Trung Kiên 11 Báo cáo bài tập lớn – Mô phỏng hệ chữ ký RSA 1.13 Giao diện sau khi mã hóa 1.14 Giao diện sau khi giải mã Vũ Đình Trung – Chu Đức Thiện – Mạc Văn Nghĩa – Nguyễn Trung Kiên 12 Báo cáo bài tập lớn – Mô phỏng hệ chữ ký RSA 1.15 Giao diện sau khi ký 1.16 Giao diện... hệ chữ ký RSA 1.15 Giao diện sau khi ký 1.16 Giao diện sau khi xác thực chữ ký Vũ Đình Trung – Chu Đức Thiện – Mạc Văn Nghĩa – Nguyễn Trung Kiên 13 Báo cáo bài tập lớn – Mô phỏng hệ chữ ký RSA 1.17 Giao diện lưu bản rõ Vũ Đình Trung – Chu Đức Thiện – Mạc Văn Nghĩa – Nguyễn Trung Kiên 14 Báo cáo bài tập lớn – Mô phỏng hệ chữ ký RSA 1.18 Giao diện mở bản mã 1.19 Giao diện so sánh bản giải mã và bản rõ... số nguyên lớn và radix là hệ cơ số (chẳng hạn 10 => hệ thập phân) Ví dụ: Vũ Đình Trung – Chu Đức Thiện – Mạc Văn Nghĩa – Nguyễn Trung Kiên 15 Báo cáo bài tập lớn – Mô phỏng hệ chữ ký RSA BigInteger k = new BigInteger(“123456”, 10); //k=123456 1.21 Hàm sinh ngẫu nhiên một số nguyên tố lớn static BigInteger genPseudoPrime(int bits, int confidence, Random rand); Sinh ngẫu nhiên mô t số nguyên tố lớn có... Random()); 1.22 Hàm tính ước số chung lớn nhất public BigInteger GCD(BigInteger bi) //Tính ước số chung lớn nhất của hai số nguyên k và phi k.GCD(phi); 1.23 Hàm tính phần tử ngược public BigInteger modInverse(BigInteger modulus) //Tìm d là phần tử ngược của e trên vành số nguyên phi d = e.modInverse(phi); 1.24 Hàm tính am mod n public BigInteger modPow(BigInteger exp, BigInteger n) //Tìm m = m^e mod n Ví dụ: . LỤC 7'8!94:6*;4<('=>?@A 2 Chương 1: Cơ sở lý thuyết 2 2 1 .Chữ ký điện tử 2 2 .Hệ chữ ký điện tử 2 3 .Hệ chữ ký RSA 3 Chương 2: Khảo sát thực tế và xác lập dự án 4 1.Nhu cầu thực ễn. ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ THÔNG TIN ³ ³ BÁO CÁO BÀI TẬP LỚN AN TOÀN BẢO MẬT THÔNG TIN MÔ PHỎNG HỆ CHỮ KÝ ĐIỆN TỬ RSA   . 3B!'O'PQ'!N'.'4R4S!+.!;C(4CG>TB! UIV!;C(4V:('>?B!'=>?:B!,8M8 !S 2. Hệ chữ ký điện tử *B!IOCW'=>?C(!E:8BX P, A, K, S, V#!<.U''CY>(CZ0 •

Ngày đăng: 08/04/2015, 10:07

Từ khóa liên quan

Mục lục

  • 1.1. Mục đích

  • 1.2. Mô tả tổng quan

  • 1.3. Yêu cầu chức năng

  • 1.4. Yêu cầu phi chức năng

    • 1.4.1. Yêu cầu về độ tin cậy và hiệu suất

    • 1.4.2. Yêu cầu về môi trường

    • 1.4.3. Yêu cầu về giao diện

    • 1.4.4. Thành phần bên ngoài

    • 1.5. Phần 1 - bên trái (60%):

    • 1.6. Phần 2 - giữa (10%):

    • 1.7. Phần 3 - bên phải (30%):

    • 1.8. Giao diện chính

    • 1.9. Giao diện sinh số nguyên tố p với 512 bit

    • 1.10. Giao diện tính n, sinh e và tính d

    • 1.11. Giao diện mở khóa công khai

    • 1.12. Giao diện lưu khóa công khai

    • 1.13. Giao diện sau khi mã hóa

    • 1.14. Giao diện sau khi giải mã

    • 1.15. Giao diện sau khi ký

    • 1.16. Giao diện sau khi xác thực chữ ký

    • 1.17. Giao diện lưu bản rõ

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

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

Tài liệu liên quan