Tìm hiểu nguyên nhân gây tổn thất dữ liệu và phương pháp bảo vệ thông tin trong chuyển giao hồ sơ y tế điện tử

88 103 0
Tìm hiểu nguyên nhân gây tổn thất dữ liệu và phương pháp bảo vệ thông tin trong chuyển giao hồ sơ y tế điện tử

Đ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

i ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG HỒ THỊ LÂM BÌNH TÌM HIỂU NGUYÊN NHÂN GÂY TỔN THẤT DỮ LIỆU VÀ PHƯƠNG PHÁP BẢO VỆ THÔNG TIN TRONG CHUYỂN GIAO HỒ SƠ Y TẾ ĐIỆN TỬ LUẬN VĂN THẠC SĨ KHOA HỌC MY TNH thái nguyên - năm 2014 S húa bi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ ii LỜI CAM ĐOAN Những kết nghiên cứu trình bày luận văn hồn tồn trung thực, khơng vi phạm điều luật sở hữu trí tuệ pháp luật Việt Nam Nếu sai, tơi hồn tồn chịu trách nhiệm trước pháp luật TÁC GIẢ LUẬN VĂN Hồ Thị Lâm Bình Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ LỜI CẢM ƠN Đầu tiên, xin gửi lời cảm ơn chân thành sâu sắc tới PGS.TS Trịnh Nhật Tiến định hướng nhiệt tình hướng dẫn giúp đỡ nhiều mặt chuyên môn, để tơi hồn thành luận văn Tơi xin gửi lời biết ơn đến thầy, cô giảng dạy truyền đạt kinh nghiệm quý báu cho suốt hai năm học cao học trường Đại học CNTT&TT - Đại học Thái Nguyên Tôi xin cảm ơn gia đình bạn học viên lớp CK11G - trường Đại học CNTT&TT - Đại học Thái Nguyên người bên cạnh động viên, chia sẻ khích lệ tơi suốt thời gian học tập làm luận văn tốt nghiệp Thái Nguyên, tháng 09 năm 2014 HỒ THỊ LÂM BÌNH Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ MỤC LỤC LỜI CAM ĐOAN I LỜI CẢM ƠN III MỤC LỤC IV DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT VII DANH MỤC CÁC BẢNG VIII DANH MỤC CÁC HÌNH VẼ IX MỞ ĐẦU CHƯƠNG MỘT SỐ KHÁI NIỆM CƠ BẢN 1.1 TỔNG QUAN VỀ AN TỒN THƠNG TIN 1.1.1 Khái niệm an tồn thơng tin 1.1.2 Mục tiêu nguyên tắc chung an tồn thơng tin 1.1.3 Sự cần thiết an tồn thơng tin 1.2 CƠ SỞ TOÁN HỌC 1.2.1 Ước chung lớn nhất, bội chung nhỏ 1.2.2 Quan hệ "đồng dư" 1.2.3 Số nguyên tố 1.2.4 Phần tử nghịch đảo phép nhân 11 1.2.5 Các phép tnh không gian modulo 12 1.2.6 Độ phức tạp thuật toán 12 1.3 CÁC HỆ MÃ HÓA 13 1.3.1 Khái niệm mã hóa điện tử 13 1.3.2 Phân loại hệ mã hóa 14 1.4 CHỮ KÝ .17 SỐ 1.4.1 Tổng quan chữ ký số 17 1.4.2 Phân loại chữ ký số 19 1.5 HÀM BĂM VÀ ĐẠI DIỆN TÀI LIỆU 20 1.5.1 Tổng quan hàm băm 20 1.5.2 Vấn đề đại diện tài liệu 21 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 1.6 ẨN GIẤU TIN (Steganography) 23 1.7 KẾT LUẬN CHƯƠNG 24 CHƯƠNG NGUYÊN NHÂN VÀ PHƯƠNG PHÁP BẢO VỆ THÔNG TIN TRONG CHUYỂN GIAO HỒ SƠ Y TẾ ĐIỆN TỬ 25 2.1 TỔNG QUAN VỀ Y TẾ ĐIỆN TỬ 25 2.1.1 Khái niệm Y tế điện tử (E-Health) 25 2.1.2 Các loại hình Y tế điện tử 28 2.1.3 Các tính chất đặc trưng cho Y tế điện tử 29 2.2 NGUYÊN NHÂN GÂY TỔN THẤT DỮ LIỆU 31 2.2.1 Nguy hiểm họa hệ thống thông tin 31 2.2.2 Rò rỉ thơng tin từ máy chủ web 32 2.2.3 Xem trộm nội dung hồ sơ Y tế điện tử 34 2.2.4 Sửa đổi trái phép nội dung hồ sơ Y tế điện tử 35 2.2.5 Thay đổi hồ sơ gốc 37 2.2.6 Thời gian truyền hồ sơ Y tế chậm ách tắc trao đổi hồ sơ Y tế 37 2.3 PHƯƠNG PHÁP BẢO VỆ THÔNG TIN 37 2.3.1 Ngăn ngừa rò rỉ thơng tin từ máy chủ web 37 2.3.2 Phương pháp mã hóa liệu 39 2.3.3 Phương pháp ẩn giấu tin 43 2.3.4 Phương pháp sử dụng thuật toán chữ ký số 45 2.4 KẾT LUẬN CHƯƠNG 50 CHƯƠNG CHƯƠNG TRÌNH THỬ NGHIỆM DÙNG CHỮ KÝ SỐ 51 3.1 THỰC TRẠNG ỨNG DỤNG CNTT TRONG HỆ THỐNG THÔNG TIN Y TẾ TẠI TUYÊN QUANG 51 3.2 GIẢI QUYẾT THỰC TRẠNG .52 3.3 CÀI ĐẶT CHƯƠNG TRÌNH KÝ SỐ RSA 55 3.3.1 Cài đặt chức ký số 55 3.3.2 Cài đặt chức xác thực chữ ký số 55 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 3.3.3 Cài đặt chức mã hóa 55 3.3.4 Cài đặt chức giải mã 55 3.4 CẤU HÌNH HỆ THỐNG 55 3.4.1 Yêu cầu hệ thống 55 3.4.2 Yêu cầu chức 55 3.4.3 Yêu cầu kiến trúc hệ thống 55 3.4.4 Yêu cầu giao diện 56 3.4.5 Phân tch tnh 56 3.5 THIẾT KẾ HỆ THỐNG 56 3.5.1 Xác định tác nhân 56 3.5.2 Biểu đồ trình tự 56 3.6 HƯỚNG DẪN SỬ DỤNG CHƯƠNG TRÌNH 58 3.6.1 Chức ký số RSA- Ký 58 3.6.2 Chức xác thực chữ ký số RSA 59 3.6.3 Chức mã hóa 59 3.6.4 Chức giải mã 60 3.7 KẾT LUẬN CHƯƠNG 61 KẾT LUẬN 62 TÀI LIỆU THAM KHẢO 64 PHỤ LỤC 65 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ vii DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT ATTT An tồn thơng tin BHYT Bảo hiểm y tế BMTT Bảo mật thông tin CA Certificate Authority Chứng thực chữ ký số EMR (Electronic Medical Record) Hồ sơ y tế điện tử DNS Domain Name System Encryption Standard Hệ thống tên miền DES Data Mã hóa liệu (Mã hóa khóa bí mật) DSS (Digital Signature Standard) Chuẩn chữ ký số MD Message Digest Mã hóa liệu (tóm tắt thơng điệp), hàm băm PKI Public Key Infrastructure Mã khóa cơng khai mạng riêng ảo Public key Khố cơng khai Private key Khố bí mật RSA Rivest Shamir Adleman Mã hóa liệu (Mã hóa khóa công khai) SHA Secure Hash Algorithm Thuật giải băm an toàn SSL Secure Socket Layer Giao thức bảo mật XML Extensible Markup Language Ngôn ngữ đánh dấu mở rộng YTĐT Số hóa Trung tâm Học liệu Y tế điện tử http://www.lrc-tnu.edu.vn/ 3.6 HƯỚNG DẪN SỬ DỤNG CHƯƠNG TRÌNH - Cài đặt chương trình Visual Studio 2008/2010 Win XP/7/Vista - Kích đúp file chạy chương trình chữ ký số RSA: RSA_Vi.exe 3.6.1 Chức ký số RSA - Ký Hình 3.7 Giao diện chức ký số Chương trình sinh khóa RSA ngẫu nhiên có độ dài 512 bit 1024 bit (theo lựa chọn cỡ khóa người dùng) Sau ghi khóa bí mật khóa cơng khai file tương ứng Trước ký, văn băm theo thuật toán SHA1 Người sử dụng lựa chọn thông tin sau:  Cỡ khóa (có lựa chọn 512 bit 1024 bit)  File văn bản: đường dẫn tuyệt đối văn cần ký  File khóa cơng khai: đường dẫn tuyệt đối file lưu khóa cơng khai  File khóa bí mật: đường dẫn tuyệt đối file lưu khóa bí mật  File chứa băm: đường dẫn tuyệt đối file lưu đại diện văn  File chứa chữ ký: đường dẫn tuyệt đối file chứa chữ ký Trong chương trình, khóa cơng khai, khóa bí mật, đại diện văn bản, chữ ký biểu diễn dạng xâu chứa mã ASCII ký tự 3.6.2 Chức xác thực chữ ký số RSA Hình 3.8 Giao diện Xác thực chữ ký số văn Người nhận nhập vào thông tin sau để xác thực văn  File văn bản: đường dẫn tuyệt đối chứa file văn  File chứa chữ ký: đường dẫn tuyệt đối chứa file chữ ký người gửi  File chứa khóa cơng khai: đường dẫn chứa khóa cơng khai người gửi Kết trả Chữ ký file văn không bị chỉnh sửa Chữ ký sai file văn bị chỉnh sửa 3.6.3 Chức mã hóa Hình 3.9 Giao diện Mã hóa văn Người sử dụng lựa chọn thơng tin sau để mã hóa văn  File văn bản: đường dẫn tuyệt đối chứa file văn cần mã hóa  File chữ ký: đường dẫn tuyệt đối chứa file chữ ký người gửi  Pass phrase: mật  Bản mã file văn bản: đường dẫn tuyệt đối chứa file lưu mã  Bản mã chữ ký: đường dẫn tuyệt đối tới file lưu chữ ký Kích chọn mã hóa hiển thị “Mã hóa thành cơng” 3.6.4 Chức giải mã Hình 3.10 Giao diện Giải mã văn Người nhận nhập vào thông tin sau để giải mã văn  Bản mã văn bản: đường dẫn tuyệt đối chứa file văn mã hóa  Bản mã chữ ký: đường dẫn tuyệt đối chứa file chữ ký người gửi  Pass phrase: mật  Bản rõ văn bản: đường dẫn chứa rõ  Bản rõ chữ ký: đường dẫn chứa rõ chữ ký Kích chọn Giải mã hiển thị “Giải mã xong” Kết trả Giải mã file văn mã hóa khơng bị chỉnh sửa Giải mã sai file văn bị chỉnh sửa “Không tồn tại” 3.7 KẾT LUẬN CHƯƠNG Nội dung chương trình bày cách xây dựng, cài đặt hướng dẫn sử dụng chương trình ký số tệp văn hệ thống bảo mật thơng tin Chương trình mơ việc sử dụng cặp khóa bí mật, cơng khai để ký mã hóa giải mã xác thực thơng tin Việc ứng dụng sở hạ tầng khóa cơng khai giao dịch thương mại, y tế điện tử, đăng nhập hệ thống, xác minh danh tnh chủ thể, kê khai hồ sơ điện tử… ngày phổ biến phát triển nhanh chóng Với cải tiến thuật tốn mã hóa nhằm giải vấn đề ATTT chương trình ngày đem lại tin tưởng cho người dùng an toàn, tin tưởng vào việc sử dụng chữ ký số hạ tầng sở khóa cơng khai cơng việc, giao dịch hàng ngày KẾT LUẬN Vấn đề chữ ký số vấn đề đề cập nhiều lĩnh vực bảo mật thơng tin Nó vấn đề khơng mới, phát triển nước ta có nhiều cơng việc cần giải muốn xây dựng hệ thống chữ ký số đạt tiêu chuẩn quốc gia Hướng tiếp cận theo mật mã học khóa cơng khai hướng tiếp cận dựa vào u cầu thực tế cơng nghệ cơng khai khóa bí mật, độ an tồn hệ thống khơng dựa vào độ an tồn cơng nghệ mà khóa Kết đạt luận văn: Luận văn tập trung nghiên cứu số phương pháp bảo mật thông tin Đây nội dung bao quát nhiều vấn đề quan trọng bảo mật đảm bảo an tồn thơng tin điều kiện người sử dụng tch hợp nhiều thiết bị máy tnh bảng, điện thoại thông minh,… vào máy tính cá nhân kết nối mạng Luận văn giới thiệu làm rõ toán chữ ký số có đảm bảo tnh bí mật, tnh xác thực, tính tồn vẹn, tnh khơng chối bỏ Đồng thời luận văn trình bày số giải pháp, số thuật tốn phương pháp bảo vệ thơng tin chuyển giao hồ sơ Y tế điện tử Luận văn dành chương để giới thiệu tổng quan an tồn thơng tin bao gồm: sở tốn học, khái niệm, yêu cầu giải pháp đảm bảo an tồn thơng tin Chương tập trung vào tốn cụ thể tìm hiểu số ngun nhân gây tổn thất liệu phương pháp bảo vệ thông tin y tế điện tử Phần phương pháp luận mô tả chi tiết hai chương biện pháp sở cho cài đặt thử nghiệm chương với toán dùng chữ ký số để bảo vệ thông tin văn hệ thống thơng tin Tồn nội dung luận văn đóng góp tác giả hướng dẫn trực tiếp PGS.TS Trịnh Nhật Tiến Luận văn đạt hai kết sau: Nghiên cứu tài liệu để Hệ thống lại vấn đề Tổng quan an tồn thơng tin; Một số phương pháp bảo vệ thông tin phổ biến Thử nghiệm dùng Chữ ký số để KÝ XÁC THỰC; MÃ HÓA GIẢI MÃ nội dung tệp văn Đảm bảo an toàn bảo mật thông tin môi trường truyền thông đa phương tiện vấn đề cốt lõi chiến tranh mạng nóng bỏng mang tầm vóc quốc gia Trong trình học tập, tìm hiểu nghiên cứu với khoảng thời gian làm luận văn, cố gắng tập trung tìm hiểu tham khảo tài liệu liên quan Tuy nhiên, thời gian nghiên cứu lực có hạn nên khó tránh khỏi sai sót cần bổ sung, kính mong nhận đóng góp ý kiến thầy giáo anh chị, bạn học viên Em xin gửi lời biết ơn chân thành tới PGS.TS.Trịnh Nhật Tiến, người định hướng nghiên cứu hướng dẫn em thực luận văn ! Thái Nguyên, tháng 09 năm 2014 Học viên: Hồ Thị Lâm Bình TÀI LIỆU THAM KHẢO Tiếng Việt [1] Trịnh Nhật Tiến, “Giáo trình an tồn liệu”, Trường Đại Học Cơng Nghệ, Đại Học Quốc Gia Hà Nội, 2008 [2] Nguyễn Đình Thúc, Bùi Dỗn Khanh, Hồng Đức Hải, “Giáo trình mã hóa thơng tin Lý thuyết ứng dụng”, NXB Lao động xã hội, năm 2006 [3] Phạm Huy Điển, Hà Huy Khối, “Mã hóa thơng tin sở tốn học ứng dụng”, Viện toán học, năm 2004 Tiếng Anh [4] R.L Rivest, A Shamir, and L Adleman, A Method for Obtaining Digital Signatures and Public-Key Cryptosystems, Communications of the ACM, 21 (2), pp 120-126, Feb 1978 [5] Y Dakroury, I A El-ghafar and A Tammam, Protecting GIS Data Using Cryptography and Digital Watermarking, International Journal of Computer Science and Network Security, VOL.10 No.1, 2010 [6] N Goots, B Izotoz, A Moldovyan, N Moldovyan, Modern CryptographyProtect Your Data with Fast Block Ciphers”, 2003 Tài liệu Internet [7] http://spiroupharmablog.blogspot.com/2010/08/y-te-ien-tu-e-health-lagi.html [8] http://luanvan.net.vn/luan-van/do-an-giau-va-phat-hien-anh-co-giauthong-tin- tren-mien-du-lieu-anh-bang-ses-31640/ [9] http://www.cryptography.com [10] http://www.codeproject.com PHỤ LỤC Code cài đặt chương trình chữ ký số RSA - chức ký số 1) Code hàm sinh khóa bí mật khóa cơng khai (ghi khóa vào file dạng thập phân) private: RSA* generateKey (String^ klen){ r = RSA_new(); int len = Convert::ToInt32(klen); r = RSA_generate_key(len, RSA_F4, NULL , NULL); priKey = gcnew String(BN_bn2dec(r->d)); unsigned char* next1; unsigned char* bufer1; int len1 = i2d_RSAPrivateKey(r,0); buffer1 = next1 = (unsigned char* )malloc(len1); i2d_RSAPrivateKey(r,&next1); String^ pri = uncharArrtoStrASCII(bufer1,len1); StreamWriter^ sw = gcnew StreamWriter(txtPriv->Text); sw->Write(pri); sw->Close(); unsigned char* next; unsigned char* bufer; len = i2d_RSAPublicKey(r,0); buffer = next = (unsigned char* )malloc(len); i2d_RSAPublicKey(r,&next); String^ pubFile = txtPubKey->Text; sw = gcnew StreamWriter(pubFile); String^ pub = uncharArrtoStrASCII(bufer,len); sw->Write(pub); sw->Close(); return r; } 2) Code hàm thực việc ký văn private: void hSign(RSA* r ){ r = generateKey(keySize); String^ iFile = inputFile->Text; String^ oFile = sigFile->Text; //Đọc nội dung vào mảng wchar_t long int numOfElems; String^ ext = iFile->Substring(iFile->Length - 3); wchar_t* bufer = NULL; if( fileIsLocked(iFile) == false ){ if ( ext == "doc"){ buffer = readFileDoc(inputFile->Text, numOfElems); } else{ buffer = readFileText(inputFile->Text, numOfElems); } String^ mesStr = wchartoUni(bufer, numOfElems); unsigned char* buf = (unsigned char*) str2Char(mesStr) unsigned int slen; unsigned char* signature = (unsigned char*) malloc(RSA_size(r)); unsigned char hash[20]; if (SHA1(buf, mesStr->Length,hash)){ int i = RSA_sign(NID_sha1,hash, 20,signature, &slen, r); //Ky signature[RSA_size(r)] = '\0'; //Ghi giá trị băm file thập phân String^ digestDec = uncharArrtoStrASCII(hash,20); StreamWriter^ sw = gcnew StreamWriter(txtDig->Text); sw->Write(digestDec); sw->Close(); //Ghi chữ ký file dạng thập phân String^ sigDec = uncharArrtoStrASCII(signature,slen); sw = gcnew StreamWriter(oFile); sw->Write(sigDec); sw->Close(); } MessageBox::Show( "Ký thành công !!!"); } } 3) Code Cài đặt chức xác thực chữ ký số private: System::Void btnVerify_Click(System::Object^ sender, System::EventArgs^ e) { String^ iFile = inFile->Text; String^ oFile = sFile ->Text; String^ pubKey = publicKey->Text; if (iFile == "" || oFile == "" || pubKey == "") MessageBox::Show( L"Bạn phải nhập đầy đủ tất thông tin !!!"); else if (!File::Exists(iFile)) MessageBox::Show("File" + iFile + L" không tồn tại"); else if (!File::Exists(oFile)) MessageBox::Show("File" + oFile + L" không tồn tại"); else if (!File::Exists(pubKey)) MessageBox::Show("File" + pubKey + L" không tồn tại"); else{ wchar_t* wbufer = NULL; //doc noi dung file thong diep vao long int numOfElems; //wbufer = readFileText( inFile->Text, numOfElems); if( fileIsLocked(iFile) == false ){ String^ ext = iFile->Substring(iFile->Length - 3); if (ext == "doc"){ wbufer = readFileDoc(iFile, numOfElems); } else{ wbufer = readFileText(iFile, numOfElems); } String^ mesStr =wchartoUni(wbufer,numOfElems); char* msg = str2Char(mesStr); //doc noi dung file chu ky vao mot mang char char* sig = readFile(sFile->Text); int sigLen = strlen(sig)/3; unsigned char* signature = conDecToUnchar(sig); //thuc hien xu ly file chu ky char* pub = readFile(publicKey->Text); int kLen = strlen(pub)/3; unsigned char* bufer = conDecToUnchar(pub); RSA* rsa = d2i_RSAPublicKey(0,(const unsigned char**)&buffer, kLen); //verify chu ky unsigned char hash[20]; SHA1((unsigned char*)msg, strlen(msg),hash); int res; res = RSA_verify(NID_sha1, hash,20,signature,sigLen,rsa); if (res == 1) verRes->Text = L"Chữ ký đúng"; else verRes->Text = L"Chữ ký sai"; }}} 4) Code Cài đặt chức mã hóa private: System::Void onEncryptClick(System::Object^ sender, System::EventArgs^ e) { long int numOfElems; if (!File::Exists(txtMesE->Text)) MessageBox::Show( "File " + txtMesE->Text + L" không tồn tại" ); else if (!File::Exists(txtSigE->Text)) MessageBox::Show( "File " + txtSigE->Text + L" không tồn tại" ); else{ String^ ext = txtMesE->Text->Substring(txtMesE->Text->Length - 3); wchar_t* bufer = NULL; if( fileIsLocked(txtMesE->Text) == false ){ if ( ext == "doc"){ bufer = readFileDoc(txtMesE->Text, numOfElems); } else{ buffer = readFileText(txtMesE->Text, numOfElems); } String^ mesStr = wchartoUni(bufer,numOfElems); //MessageBox::Show(mesStr); unsigned char* mes = (unsigned char*) str2Char(mesStr); //ma hoa file message char* key = str2Char(txtKeyE->Text); int n = 0; DES_cblock key2; DES_key_schedule schedule; memcpy(key2,key,8); DES_set_odd_parity(&key2); DES_set_key_checked(&key2,&schedule); //ma hoa file message int size = strlen((char*)mes); unsigned char* resMes = (unsigned char*) malloc(size); DES_cfb64_encrypt(mes,resMes,size,&schedule,&key2,&n, DES_ENCRYPT); //ghi thong diep da duoc ma hoa file duoi dang thap phan //String^ strMes = uncharArrToStr01(resMes,size); String^ strMes = uncharArrtoStrASCII(resMes,size); StreamWriter^ sw = gcnew StreamWriter( txtEMesE->Text); sw>Write(strMes); sw->Close(); //doc file chu ky long sizeSig; unsigned char* sig = readFileUnchar(txtSigE->Text, sizeSig); //ma hoa chu ky va ghi chu ky file unsigned char* resSig = (unsigned char*) malloc(sizeSig); DES_cfb64_encrypt(sig,resSig,sizeSig,&schedule,&key2, &n, DES_ENCRYPT); //ghi chu ky da ma hoa file duoi dang thap phan String^ sigMes = uncharArrtoStrASCII(resSig,sizeSig); sw = gcnew StreamWriter(txtESigE->Text); sw->Write(sigMes); sw->Close(); MessageBox::Show("Mã hóa thành cơng"); } } } 5) Code Cài đặt chức giải mã private: System::Void onDecryptClick(System::Object^ sender, System::EventArgs^ e) { if(!File::Exists(txtEMesD->Text)){ MessageBox::Show("File " + txtEMesD->Text + L" không tồn tại"); } else if(!File::Exists(txtESigD->Text)){ MessageBox::Show("File " + txtESigD->Text + L" không tồn tại"); } else{ //doc du lieu tu file thong diep da ma hoa vao mang unsigned char char* temp1 = readFile(txtEMesD->Text); long size = strlen(temp1)/3; unsigned char* enFileArr = conDecToUnchar(temp1); //giai ma DES_cblock key2; DES_key_schedule schedule; int n = 0; unsigned char* res = (unsigned char*) malloc(size); char* key = str2Char(txtKeyD->Text); memcpy(key2,key,8); DES_set_odd_parity(&key2); DES_set_key_checked(&key2, &schedule); DES_cfb64_encrypt(enFileArr,res,size,&schedule, &key2,&n, DES_DECRYPT); res[size] = '\0'; String^ mesStr = gcnew String((char*)res); //doi day 01 mang wchar_t int mesLen; wchar_t* originalMes = conUniToWchar(mesStr,mesLen); int trueLen; for (trueLen = mesLen - 1; trueLen > 0; trueLen ){ if ( originalMes[ trueLen ] != L'췍') break; } trueLen = trueLen + 1; FILE* pFile = _wfsopen(str2Wchar(txtMesD->Text), L"wt,ccs=Unicode", _SH_DENYNO); fwrite(originalMes,sizeof(wchar_t),trueLen,pFile); fclose(pFile); char* temp2 = readFile(txtESigD->Text); long sizeSig = strlen(temp2)/3; unsigned char* enSigArr = conDecToUnchar(temp2); unsigned char* resSig = (unsigned char*) malloc(sizeSig); DES_cfb64_encrypt(enSigArr,resSig,sizeSig,&schedule,&key2,&n, DES_DECRYPT); resSig[sizeSig] = '\0'; String^ sigStr = gcnew String((char*)resSig); StreamWriter^ sw = gcnew StreamWriter( txtSigD->Text); sw->Write(sigStr->ToString()); sw->Close(); MessageBox::Show( L"Giải mã xong !!!"); } } ... 24 CHƯƠNG NGUYÊN NHÂN VÀ PHƯƠNG PHÁP BẢO VỆ THÔNG TIN TRONG CHUYỂN GIAO HỒ SƠ Y TẾ ĐIỆN TỬ 25 2.1 TỔNG QUAN VỀ Y TẾ ĐIỆN TỬ 25 2.1.1 Khái niệm Y tế điện tử (E-Health) ... b y khái niệm y tế điện tử, loại hình, tnh chất, lợi ích ứng dụng cơng nghệ thông tin y tế điện tử; số nguyên nhân (có thể) g y tổn thất liệu mạng lưới y tế cách giải chuyển giao hồ sơ y tế điện. .. nhận Xuất phát từ thực tế, nhiều biện pháp an tồn thơng tin đời Luận văn Tìm hiểu nguyên nhân g y tổn thất liệu phương pháp bảo vệ thông tin chuyển giao hồ sơ y tế điện tử nghiên cứu thực vấn

Ngày đăng: 14/02/2019, 17:15

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