Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 84 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
84
Dung lượng
2,65 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ VŨ VĂN LUẬT NGHIÊN CỨU VÀ PHÁT TRIỂN ỨNG DỤNG CHỮ KÝ SỐ TRÊN THIẾT BỊ CẦM TAY LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN HÀ NỘI – Năm 2014 TIEU LUAN MOI download : skknchat@gmail.com ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ VŨ VĂN LUẬT NGHIÊN CỨU VÀ PHÁT TRIỂN ỨNG DỤNG CHỮ KÝ SỐ TRÊN THIẾT BỊ CẦM TAY Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60480104 LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS TRỊNH NHẬT TIẾN HÀ NỘI – Năm 2014 TIEU LUAN MOI download : skknchat@gmail.com LỜI CẢM ƠN Việc quay trở lại trƣờng học, đƣợc học Trƣờng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội là lựa chọn đắn tốt cho cá nhân để đƣợc tiếp thu tảng khoa áp dụng triển khai vào dự án sản phẩm thực tế mà cá nhânđề để phát triển, tham gia phát triển điều hành phát triển Khi học môi trƣờng nơi đây, cá nhân thấy nơi giữ đƣợc nét sáng môi trƣờng học đƣờng, môi trƣờng đào tạo nói tƣơng đối nghiêm túc học thuật Ở cá nhân thực thấy tình sâu nặng cách đào tạo thầy cô, dùng tiền mà mua điểm, nhiều thầy chí khơng nhận chút q cảm ơn lớp sau mơn học tình cảm bình thƣờng hệ học viên hầu hết làm Là học viên Trƣờng thấy thật biết ơn, tri ơn thầy cô gửi lời cảm ơn sâu sắc đến hệ thầy cô Trƣờng xây dựng lên trƣờng, đào tạo Đặc biệt cảm ơn đến thầy giáo PGS.TS Trịnh Nhật Tiến tận tình hƣớng dẫn, dậy cung cấp tài liệu khoa học, đóng góp cho tơi nhận xét, đề xuất quý giá thời gian thực luận văn Tôi xin chân thành cảm ơn bạn bè, đồng nghiệp đặc biệt ngƣời trongTrung tâm Dịch vụ Chứng thực Điện tử VDC-CA Cảm ơn vợ yêu Đặng Thị Thanh Huyền hai đứa dấu yêu Vũ Việt Đích Vũ Minh Khuê là điểm tựa, nguồn động viên tình thần lớn lao, không ngại vất vả để điều kiện cho học, làm việc vào buổi tối để hồn q trình học tập cao học hồn thành luận văn Hà nội, ngày 30 tháng 10 năm 2014 VŨ VĂN LUẬT TIEU LUAN MOI download : skknchat@gmail.com LỜI CAM ĐOAN Tôi xin cam đoan công trình tơi khởi xƣớng, nghiên cứu,và phát triển Các số liệu, kết nêu luận văn trung thực chƣa đƣợc công bố cơng trình khác Hà Nội, ngày 30 tháng 10 năm 2014 VŨ VĂN LUẬT TIEU LUAN MOI download : skknchat@gmail.com MỤC LỤC MỞ ĐẦU 1 LÝ DO LỰA CHỌN ĐỀ TÀI MỤC TIÊU VÀ MỤC ĐÍCH CỦA NGHIÊN CỨU .1 NHIỆM VỤ NGHIÊN CỨU ĐỐI TƢỢNG VÀ PHẠM VI NGHIÊN CỨU Chƣơng 1.TỔNG QUAN VỀ CHỮ KÝ SỐ 1.1 TÌNH HÌNH TRIỂN KHAI CHỮ KÝ SỐ TRÊN THẾ GIỚI VÀ TẠI VIỆT NAM .3 1.2 CÁC KHÁI NIỆM VỀ CHỮ KÝ SỐ 1.3 NGHIÊN CỨU TỔNG QUAN VỀ CHỮ KÝ SỐ TRÊN THIẾT BỊ DI ĐỘNG .6 1.3.1 Nhu cầu thực tiễn 1.3.2 Tình hình triển khai giới 1.3.3 Các vấn đề kỹ thuật công nghệ Chương NGHIÊN CỨU CƠ SỞ LÝ THUYẾT VÀ MỘT SỐTIÊU CHUẨN VỀ CHỮ KÝ SỐ 10 2.1 CƠ SỞ LÝ THUYẾT 10 2.1.1 Khái niệm“Chữ ký số” .10 2.1.1.1 Giới thiệu 10 2.1.1.2 Sơ đồ chữ ký số 11 2.1.2 Phân loại “Chữ ký số” 12 2 Chữ ký RSA 13 2.2.1 Sơ đồ chữ ký .13 2.2.2 Độ an toàn chữ ký RSA .14 2.3 CHUẨN PKCS#1 v2.2 15 2.3.1 Giới thiệu 15 2.3.2 Các biểu tƣợng 15 2.3.3 Các loại khóa .17 2.3.4 Các nguyên hàm mật mã .19 2.3.4.1 Các nguyên hàm mã hóa giải mã .19 2.3.4.2 Các nguyên hàm ký số kiểm tra chữ ký 21 2.3.5 Tổng quan lƣợc đồ 23 2.3.6 Các lƣợc đồ mã hóa 23 2.3.6.1 Tốn tử mã hóa .23 2.3.6.2 Toán tử giải mã .26 2.3.7 Các lƣợc đồ chữ ký 28 2.2.7.1 Toán tử sinh chữ ký .28 2.3.7.2 Toán tử kiểm tra chữ ký 29 2.4 CHUẨN PKCS#11 31 TIEU LUAN MOI download : skknchat@gmail.com 2.4.1 Giới thiệu 31 2.4.2 Mục tiêu thiết kế 31 2.4.3 Mơ hình chung .32 2.4.4 Khung nhìn logic token 33 2.4.5 Ngƣời dùng 35 2.4.6 Các ứng dụng sử dụng Cryptoki 35 2.4.6 Một số vấn đề an ninh cần xem xét 36 Chƣơng PHÂN TÍCH THIẾT KẾ CÁC ỨNG DỤNG TRIỂN KHAI CHỮ KÝ SỐ TRÊN MOBILE .38 3.1 THÀNH PHẦN KIẾN TRÚCỨNG DỤNG 38 3.2 THIẾT KẾ CÁC MÔ HÌNH MẬT MÃ VÀ CHỮ KÝ SỐ 40 3.2.1 Mật mã bất đối xứng đối xứng kế hợp 40 3.2.2 Mơ hình sử dụng hạ tầng mã khóa cơng khai để đăng nhập hệ thống 41 3.2.3 Ký liệu 42 3.2.4 Mơ hình xác thực chữ ký số 42 3.3 THIẾT KẾ CHỨC NĂNG 43 3.3 THIẾT KẾ KIẾN TRÚC .45 3.3.1 Kiến trúc Mobile PKI Soft Token App 45 3.3.2 Kiến trúc Secured SMS App 46 3.3.3 Kiến trúc Secured Email Client App .48 3.3.4 Kiến trúc Signing Apps 51 3.3 Các mơ hình thiết kế UseCase 52 3.4 Một số thiết kế hình .59 3.4.1 Một số hình thiết kế Soft Token 59 3.4.2 Một số hình thiết kế SMS .61 3.4.3 Thiết kế số hình Secured Email Client 63 3.4.4 Thiết kế Signing Apps 65 KẾT LUẬN 68 NHỮNG CÔNG VIỆC MÀ LUẬN VĂN ĐÃ ĐẠT ĐƢỢC 68 KHẢ NĂNG PHÁT TRIỂN CỦA LUẬN VĂN 68 TÀI LIỆU THAM KHẢO .69 PHỤ LỤC 70 Phụ lục 1: CÀI ĐẶT CÁC HÀM CƠ SỞ 70 Phụ lục 2: CÀI ĐẶT HÀM MÃ HÓA VÀ GIẢI MÃ .74 Phụ lục 3: CÀI ĐẶT HÀM KÝ SỐ VÀ KIỂM TRA CHỮ KÝ SỐ 75 TIEU LUAN MOI download : skknchat@gmail.com DANH MỤC HÌNH ẢNH Hình 1:Tốn tử mật mã EME-OAEP 26 Hình 2: Mơ hình Cryptoki chung 32 Hình 3: Phân cấp đối tƣợng 34 Hình 4: Kiến trúc thành phần 39 Hình 5: Mơ hình mật kết hợp để thực bảo mật liệu 40 Hình 6: Mơ hình đăng nhập hệ thống dùng chữ ký số 41 Hình 7: Mơ hình ký, kiểm tra trạng thái chứng thƣ số thực tế 42 Hình 8: Mơ hình kiểm tra chữ ký số tổng thể 43 Hình 9: Chức Soft Token 44 Hình 10: Chức Email Client 45 Hình 11: Kiến trúc Soft Token 46 Hình 12: Kiến trúc tổng quan Secured SMS 47 Hình 13: Quy trình mã hóa 47 Hình 14: Quy trình giải mã 48 Hình 15: Kiến trúc Secured Email Client .49 Hình 16: Quy trình tạo Email 49 Hình 17: Quy trình mã hóa Email 50 Hình 18: Mơ hình kiến trúc Signing Apps 51 Hình 19: Giao diện đăng nhập Soft Token 59 Hình 20: Giao diện danh sách chứng thƣ số 60 Hình 21: Giao diện tạo chứng thƣ số .60 Hình 22: Giao diện thơng tin chứng thƣ số 61 Hình 23: Giao diện đăng nhập Secured SMS 62 Hình 24: Giao diện duyệt tin nhắn 63 Hình 25: Giao diện gửi tin nhắn 63 Hình 26: Giao diện tạo tài khoản Email 64 Hình 27: Giao diện danh sách Email .64 Hình 28: Giao diện mã hóa ký email 65 Hình 29: Giao diện lựa chọn loại File để ký 65 Hình 30: Giao diện ký file .66 Hình 31: Giao diện lựa chọn chữ ký số 66 Hình 32: Giao diện đăng nhập nhập truy xuất chữ ký số 67 Hình 33: Giao kết ký .67 TIEU LUAN MOI download : skknchat@gmail.com DANH MỤC CÁC TỪ VIẾT TẮT STT Chữ viết tắt Nghĩa chữ viết tắt CA Nhà cung cấp dịch vụ chứng thực chữ ký số CRL Danh sách số serial chứng thƣ số bị thu hồi, danh sách đƣợc nhà cung cấp dịch vụ chữ ký số cung cấp OCSP Giao thức kiểm tra chữ ký số trực tuyến SSL Giao thức bảo mật, dùng chế mã khóa cơng khai mã hóa đối xứng để áp dụng bảo mật kênh truyền tin PKCS Chuẩn mật mã hạ tầng mã khóa cơng khai PKI Hạ tầng mã khóa cơng khai PIN Mật để truy xuất vào thiết bị chữ ký số TIEU LUAN MOI download : skknchat@gmail.com MỞ ĐẦU LÝ DO LỰA CHỌN ĐỀ TÀI Việc giao dịch điện từ ngày trở nên mặc nhiên, trƣớc thông tin trao đổi qua giấy tờ, hầu hết qua gọi, tin nhắn, mạng xã hội Email.Các vấn đề thƣơng mại điện tử phát triển mạnh mẽ, nhiều giao dịch thực hoàn toàn qua mạng, tốn qua mạng nhiên nói chƣa triệt để Một xu hƣớng giao dịch thông qua kênh điện tử ngày cao, xu hƣớng tất yếu triển khai có lẽ giới bạn nằm chiếu smartphone.Có thể nói xu hƣớng phát triển nhƣ nhƣng ngày thấy vấn đề xác thực bảo mật chƣa đƣợc thực quan tâm cách đáng cho sản phẩm dịch vụ Trên giới việc phát triển ứng dụng chữ ký số cho tảng thiết bị Mobile chƣa thực đƣợc triển khai rộng rãi mặt ứng dụng tƣơng tự nhƣ máy tính Với tính chữ ký số: “Bảo mật”; “Xác thực ngƣời dùng”, dự kiến nghiên cứu phát triển ứng dụng sử dụng chữ ký số để đáp ứng tính nhằm bƣớc đầu tạo tảng “Bảo mật” “Xác thực” cho ngƣời dùng sử dụng smartphone giao dịch điển tử để nhằm mở toang cánh cửa giao dịch điện tử để ngƣời hoàn toàn tự tin giao dịch giao dịch điện tử nhƣ giao dịch trực tiếp Chính chúng tơi định lựa chọn đề tài “Nghiên cứu phát triển ứng dụng chữ ký số thiết bị cầm tay” MỤC TIÊU VÀ MỤC ĐÍCH CỦA NGHIÊN CỨU Mục đích - Nghiên cứu tình hình bảo mật, xác thực cá nhân để điện thoại di động nƣớc quốc tế - Nghiên cứu tiêu chuẩn kỹ thuật công nghệ liên quan đến chữ ký số để áp dụng giải pháp bảo mật, xác thực cá nhân - Nghiên cứu phát triển ứng dụng để quản lý, bảo mật xác thực ngƣời dùng cá nhân giao dịch Mục tiêu tạo sản phẩm - Soft Token: Ứng dụng tạo, quản lý, lƣu trữ khóa số chứng thƣ số, cách bảo mật tuân theo chuẩn chuẩn cơng nghiệp tồn cầu TIEU LUAN MOI download : skknchat@gmail.com - Ứng dụng ký file PDF, Office Mobile - Ký số bảo mật Email - Bảo mật SMS - Ứng dụng tích hợp phục vụ cho xác thực, bảo mật giao dịch thƣơng mại điện tử, ngân hàng, chứng khoán, toán trực tuyến NHIỆM VỤ NGHIÊN CỨU - Nghiên cứu, hệ thống hóa sở lý thuyết, chuẩn cơng nghiệp, chữ ký số để áp dụng vào phát triển ứng dụng chữ ký số Mobile - Mô tả, đánh giá thực trạng, nhu cầu triển khai triển khai áp dụng chữ ký số, lĩnh vực áp dụng chữ ký số khả mở - Đề xuất phát triển ứng dụng, giải pháp đáp ứng yêu cầu ĐỐI TƢỢNG VÀ PHẠM VI NGHIÊN CỨU Dối tƣợng nghiên cứu - Các vấn đề bảo mật xác thực thông tin cá nhân - Các ứng dụng giải pháp đáp ứng nhu cầu bảo mật xác thực cá nhân Phạm vi nghiên cứu - Nghiên cứu tình hình chung giới Việt Nam - Thời gian khoảng từ 2012-2014 TIEU LUAN MOI download : skknchat@gmail.com 62 Hình 23:Giao diện đăng nhập Secured SMS - Thiết kế hình duyệt tin nhắn TIEU LUAN MOI download : skknchat@gmail.com 63 Hình 24:Giao diện duyệt tin nhắn - Thiết kế hình gửi tin nhắn Hình 25:Giao diện gửi tin nhắn 3.4.3 Thiết kế số hình Secured Email Client - Thiết kế hình chọn loại tài khoản mail TIEU LUAN MOI download : skknchat@gmail.com 64 Hình 26:Giao diện tạo tài khoản Email - Thiết kế hình danh sách Email Hình 27:Giao diện danh sách Email - Thiết kế hình gửi Email TIEU LUAN MOI download : skknchat@gmail.com 65 Hình 28:Giao diện mã hóa ký email 3.4.4 Thiết kế Signing Apps - Thiết kế hình chọn loại file để ký Hình 29:Giao diện lựa chọn loại File để ký - Thiết kế hình ký file PDF TIEU LUAN MOI download : skknchat@gmail.com 66 Hình 30:Giao diện ký file - Thiết kế hình lựa chọn chữ ky số để ký Hình 31:Giao diện lựa chọn chữ ký số - Nhập mật ký TIEU LUAN MOI download : skknchat@gmail.com 67 Hình 32:Giao diện đăng nhập nhập truy xuất chữ ký số - Màn hình hiển thị kết ký Hình 33:Giao kết ký TIEU LUAN MOI download : skknchat@gmail.com 68 KẾT LUẬN NHỮNG CÔNG VIỆC MÀ LUẬN VĂN ĐÃ ĐẠT ĐƢỢC Luận văn với mục tiêu nghiên cứu ứng dụng lý thuyết nhƣ chuẩn cơng nghiệp đƣợc chấp nhận tồn cầu vào lĩnh vực chữ ký số để áp dụng vào thực tiễn khai thiết bị cầm tay Xet mặt kết tổng quan, Luận văn đƣa đƣợc các: - Nghiên cứu tổng quan chữ ký số - Nghiên cứu tình hình triển khai chữ ký số tổng quan nƣớc quốc tế - Nghiên cứu lý thuyết sở chữ ký số - Nghiên cứu chuẩn công nghiệp chữ ký số - Phát triển ứng dụng chữ ký số nhằm tƣơng tác với thiết bị cầm tay tƣơng đƣơng với việc ứng dụng chữ ký số đƣợc sử dụng máy tính thơng thƣờng Kết Luận văn đƣợc vào triển khai thực tiễn đƣợc áp dụng vào ứng dụng chữ ký số thực tiễn Việt Nam thiết bị di động đƣợc số doanh nghiệp sử dụng bƣớc mở sang toàn cộng đồng Việt Nam quốc tế KHẢ NĂNG PHÁT TRIỂN CỦA LUẬN VĂN Luận văn dựa nghiên cứu sở lý thuyết, thực tiễn phát triển ứng dụng chữ ký số, mở sang tảng áp dụng sản phẩm chữ ký số thiết bị cầm tay Trên sở thực tế Luận văn có nhiều sở để thúc đẩy thị trƣờng chữ ký số thiết bị cầm tay, đảm đảm an ninh thông tin thiết bị cầm tay Và tảng mở tảng ứng dụng chữ ký số thiết bị cầm tay đƣợc áp dụng giao dịch điện tử, hƣớng phát triển tƣơng lai thực Luận văn để mở sang kỳ vọng cho tƣơng lai giao dịch thực đƣợc tảng điện tử hoàn toàn mà đảm bảo tin cậy, xác thực, bảo mật TIEU LUAN MOI download : skknchat@gmail.com 69 TÀI LIỆU THAM KHẢO [1.] PGD.TS Trịnh Nhật Tiến,“Giáo trình an tồn thơng tin” [2.] RSA Laboratories,“PKCS #1: RSA Cryptography Standard, Version 2.2” [3.] RSA Laboratories, “PKCS #11: Cryptographic Token Interface Standard, Version 2.30” [4.] RSA Laboratories, “PKCS #7: Cryptographic Message Syntax Standard” [5.] RSA Laboratories, “PKCS #15: Cryptographic Token Information Format Standard” [6.] Andrew Nash, William Duane, Celia Joseph, Derek Brink “PKI Implementing amd Managing E-Security ” TIEU LUAN MOI download : skknchat@gmail.com 70 PHỤ LỤC CÀI ĐẶT MỘT SỐ CHỨC NĂNG TRÊN MOBILE Phụ lục 1: CÀI ĐẶT CÁC HÀM CƠ SỞ - Class định nghĩa Bộ sinh số ngẫu nhiên /** * This class represents a random number (RNG) generator object */ class RandomNumberGenerator { public: /** * Create a seeded and active RNG object for general application use */ staticRandomNumberGenerator* make_rng(); /** * Randomize a byte array * @param output the byte array to hold the random output * @param length the length of the byte array output */ virtualvoid randomize(byte output[], size_t length) = 0; /** * Return a random vector * @param bytes number of bytes in the result * @return randomized vector of length bytes */ SecureVector random_vec(size_t bytes) { SecureVectoroutput(bytes); randomize(&output[0], output.size()); return output; } /** * Return a random byte * @return random byte */ byte next_byte(); /** * Check whether this RNG is seeded * @return true if this RNG was already seeded, false otherwise */ virtualbool is_seeded() const { returntrue; } /** * Clear all internally held values of this RNG */ virtualvoid clear() = 0; /** TIEU LUAN MOI download : skknchat@gmail.com 71 * Return the name of this object */ virtualstd::string name() const = 0; /** * Seed this RNG using the entropy sources it contains * @param bits_to_collect is the number of bits of entropy to attempt to gather from the entropy sources */ virtualvoid reseed(size_t bits_to_collect) = 0; /** * Add this entropy source to the RNG object * @param source the entropy source which will be retained and used by RNG */ virtualvoid add_entropy_source(EntropySource* source) = 0; /** * Add entropy to this RNG * @param in a byte array containg the entropy to be added * @param length the length of the byte array in */ virtualvoid add_entropy(constbytein[], size_t length) = 0; RandomNumberGenerator() {} virtual ~RandomNumberGenerator() {} private: RandomNumberGenerator(constRandomNumberGenerator&) {} RandomNumberGenerator&operator=(constRandomNumberGenerator&) { return (*this); } }; /** * Null/stub RNG - fails if you try to use it for anything */ class Null_RNG : publicRandomNumberGenerator { public: void randomize(byte[], size_t) { throwPRNG_Unseeded("Null_RNG"); } void clear() {} std::string name() const { return"Null_RNG"; } void reseed(size_t) {} bool is_seeded() const { returnfalse; } void add_entropy(constbyte[], size_t) {} void add_entropy_source(EntropySource* es) { delete es; } }; - Hàm sinh số ngẫu nhiên lớn /* * Randomize this number */ voidBigInt::randomize(RandomNumberGenerator& rng, size_t bitsize) TIEU LUAN MOI download : skknchat@gmail.com 72 { set_sign(Positive); if(bitsize == 0) clear(); else { SecureVector array = rng.random_vec((bitsize + 7) / 8); if(bitsize % 8) array[0] &= 0xFF>> (8 - (bitsize % 8)); array[0] |= 0x80>> ((bitsize % 8) ? (8 - bitsize % 8) : 0); binary_decode(&array[0], array.size()); } } - Hàm sinh số nguyên tố lớn /* * Generate a random prime */ BigInt random_prime(RandomNumberGenerator& rng, size_t bits, constBigInt& coprime, size_t equiv, size_t modulo) { if(bits = modulo || equiv % == 0) throwInvalid_Argument("random_prime: equiv must be < modulo, and odd"); while(true) { BigIntp(rng, bits); // Force lowest and two top bits on p.set_bit(bits - 1); p.set_bit(bits - 2); p.set_bit(0); if(p % modulo != equiv) p += (modulo - p % modulo) + equiv; constsize_t sieve_size = std::min(bits / 2, PRIME_TABLE_SIZE); TIEU LUAN MOI download : skknchat@gmail.com 73 SecureVectorsieve(sieve_size); for(size_t j = 0; j != sieve.size(); ++j) sieve[j] = p % PRIMES[j]; size_t counter = 0; while(true) { if(counter == 4096 || p.bits() > bits) break; bool passes_sieve = true; ++counter; p += modulo; if(p.bits() > bits) break; for(size_t j = 0; j != sieve.size(); ++j) { sieve[j] = (sieve[j] + modulo) % PRIMES[j]; if(sieve[j] == 0) passes_sieve = false; } if(!passes_sieve || gcd(p - 1, coprime) != 1) continue; if(check_prime(p, rng)) return p; } } } - Hàm sinh khoá RSA /* * Create a RSA private key */ RSA_PrivateKey::RSA_PrivateKey(RandomNumberGenerator& rng, size_t bits, size_t exp) { if (bits encode(in, length, op->max_input_bits(), rng); if (8 * (encoded.size() - 1) + high_bit(encoded[0]) >op->max_input_bits()) throwInvalid_Argument("PK_Encryptor_EME: Input is too large"); returnop->encrypt(&encoded[0], encoded.size(), rng); } else { if (8 * (length - 1) + high_bit(in[0]) >op->max_input_bits()) throwInvalid_Argument("PK_Encryptor_EME: Input is too large"); returnop->encrypt(&in[0], length, rng); } } TIEU LUAN MOI download : skknchat@gmail.com 75 - Hàm giải mã liệu /* * PK_Decryptor_EME Constructor */ PK_Decryptor_EME::PK_Decryptor_EME(constPrivate_Key& key, conststd::string& eme_name) { Algorithm_Factory::Engine_Iteratori(global_state().algorithm_factory()); while (constEngine* engine = i.next()) { op = engine->get_decryption_op(key); if (op) break; } if (!op) throwLookup_Error("PK_Decryptor_EME: No working engine for " + key.algo_name()); eme = (eme_name == "Raw") ? :get_eme(eme_name); } /* * Decrypt a message */ SecureVectorPK_Decryptor_EME::dec(constbyte msg[], size_t length) const { try { SecureVector decrypted = op->decrypt(msg, length); if (eme) returneme->decode(decrypted, op->max_input_bits()); else return decrypted; } catch (Invalid_Argument) { throwDecoding_Error("PK_Decryptor_EME: Input is invalid"); } } Phụ lục 3: CÀI ĐẶT HÀM KÝ SỐ VÀ KIỂM TRA CHỮ KÝ SỐ - Hàm ký liệu SecureVector NR_Signature_Operation::sign(constbyte msg[], size_t msg_len, RandomNumberGenerator& rng) { rng.add_entropy(msg, msg_len); BigIntf(msg, msg_len); if(f >= q) throwInvalid_Argument("NR_Signature_Operation: Input is out of range"); BigInt c, d; while(c == 0) { BigInt k; TIEU LUAN MOI download : skknchat@gmail.com 76 k.randomize(rng, q.bits()); while(k >= q); c = mod_q.reduce(powermod_g_p(k) + f); d = mod_q.reduce(k - x * c); } SecureVectoroutput(2*q.bytes()); c.binary_encode(&output[output.size() / - c.bytes()]); d.binary_encode(&output[output.size() - d.bytes()]); return output; } - Hàm xác thực liệu SecureVector NR_Verification_Operation::verify_mr(constbyte msg[], size_t msg_len) { constBigInt& q = mod_q.get_modulus(); if(msg_len != 2*q.bytes()) throwInvalid_Argument("NR verification: Invalid signature"); BigIntc(msg, q.bytes()); BigIntd(msg + q.bytes(), q.bytes()); if(c.is_zero() || c >= q || d >= q) throwInvalid_Argument("NR verification: Invalid signature"); BigInt i = mod_p.multiply(powermod_g_p(d), powermod_y_p(c)); returnBigInt::encode(mod_q.reduce(c - i)); } TIEU LUAN MOI download : skknchat@gmail.com ... tài nghiên cứu phát triển ứng dụng để lƣu trữ, xử lý, giao tiếp với ứng dụng lƣu trữ chữ ký số thiết bị lƣu trữ chữ ký số để làm sở phát triển ứng dụng chữ ký số khác Secured Email Hiện số ứng. .. chữ ký số để áp dụng vào phát triển ứng dụng chữ ký số Mobile - Mô tả, đánh giá thực trạng, nhu cầu triển khai triển khai áp dụng chữ ký số, lĩnh vực áp dụng chữ ký số khả mở - Đề xuất phát triển. .. Tuy nhiên thiết bị cầm tay, thiết bị để giao tiếp chƣa phổ biết, ứng dụng thiết bị cầm tay chƣa phổ biến Hiện thị trƣờng cung cấp số thiết bị lƣu trữ chữ ký số giao tiếp với thiết bị cậm tay qua