Bảo mật thông tin luôn là vấn đề quan trọng hàng đầu trong các lĩnh vực tình báo quân sự … Bảo mật thông tin đang được nhiều người tập trung nghiên cứu tìm mọi giải pháp để đảm bảo an toàn an ninh và bảo mật hệ thống Việc bảo mật an toàn thông tin dữ liệu là vấn đề có liên quan đến nhiều lĩnh vực Đặc biệt trong khoảng vài mươi năm trở lại đây với sự ra đời của máy tính điện tử cùng sự phát triển nhanh chóng của công nghệ thông tin thì lý thuyết về các giải thuật mã hóa và phương pháp thám mã ngày càng được quan tâm nhiều hơn Trong khi mã hóa là một trong những phương pháp hữu hiệu nhằm đảm bảo tính bảo mật toàn vẹn dữ liệu thì thám mã là một hình thức tấn công mật mã để thu được dữ liệu cần thiết có thể phục vụ cho bước tấn công tiếp theo Trong thực tế một số bài toán khi ứng dụng giải thuật mã hóa thám mã có độ phức tạp tính toán cao thời gian xử lý lâu Tuy nhiên với sự phát triển của khoa học việc ứng dụng mô hình xử lý phân tán MapReduce để giải quyết một số bài toán về mã hóa và thám mã là mục tiêu chính của luận văn này
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN THANH PHONG GIẢI QUYẾT MỘT SỐ BÀI TỐN MÃ HĨA VÀ THÁM MÃ TRÊN MƠI TRƯỜNG XỬ LÝ PHÂN TÁN LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Đà Nẵng - 2018 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN THANH PHONG GIẢI QUYẾT MỘT SỐ BÀI TOÁN MÃ HĨA VÀ THÁM MÃ TRÊN MƠI TRƯỜNG XỬ LÝ PHÂN TÁN Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 60.48.01.01 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Tấn Khôi Đà Nẵng - 2018 Tôi xin cam đoan: LỜI CAM ĐOAN - Những nội dung luận văn thực hướng dẫn trực tiếp PGS.TS Nguyễn Tấn Khôi - Mọi tham khảo dùng luận văn trích dẫn rõ ràng trung thực tên tác giả, tên cơng trình, thời gian địa điểm cơng bố - Mọi chép không hợp lệ, vi phạm quy chế đào tạo, tơi xin chịu hồn tồn trách nhiệm Tác giả luận văn NGUYỄN THANH PHONG MỤC LỤC LỜI CAM ĐOAN MỤC LỤC TÓM TẮT LUẬN VĂN DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC ĐỒ THỊ DANH MỤC CÁC HÌNH MỞ ĐẦU…………………………………………………………………………… 1 Tính cấp thiết lý chọn đề tài Mục tiêu nội dung nghiên cứu 2.1 Mục tiêu 2.2 Nội dung nghiên cứu Đối tượng phạm vi nghiên cứu 3.1 Đối tượng nghiên cứu 3.2 Phạm vi nghiên cứu Phương pháp nghiên cứu 4.1 Phương pháp lý thuyết 4.2 Phương pháp thực nghiệm Dự kiến kết đạt 5.1 Về lý thuyết 5.2 Về thực nghiệm Ý nghĩa khoa học thực tiễn 6.1 Ý nghĩa khoa học 6.2 Ý nghĩa thực tiễn Bố cục luận văn CHƯƠNG TỔNG QUAN ĐỀ TÀI Khái niệm mã hóa thám mã Phân loại mã hóa liệu 1.2.1 Phân loại theo phương pháp 1.2.2 Phân loại theo số lượng khóa 1.3 Một số ứng dụng mã hóa liệu 1.4 Mã hóa đối xứng 1.5 Mã hóa chiều 1.6 Mã hóa bất đối xứng 13 1.7 Kết chương 14 1.1 1.2 CHƯƠNG MƠ HÌNH XỬ LÝ PHÂN TÁN MAPREDUCE 15 Hệ thống tập tin phân tán 15 2.1.1 Hệ thống tập tin phân tán Hadoop 15 2.1.2 Thành phần Hadoop 16 2.1.3 Các tiến trình Hadoop 17 2.1.4 Cấu trúc mạng Hadoop 19 2.1.5 Nguyên tắc hoạt động Hadoop MapReduce 20 2.2 Mơ hình xử lý phân tán MapReduce 21 2.2.1 Tổng quan MapReduce 21 2.2.2 Nguyên lý hoạt động MapReduce 22 2.2.3 Quá trình xử lý MapReduce 22 2.2.4 Hadoop MapReduce 25 2.2.5 Nhận xét đánh giá MapReduce 27 2.3 Kết chương 27 2.1 CHƯƠNG TRIỂN KHAI MỘT SỐ THUẬT TOÁN MÃ HÓA TRÊN NỀN TẢNG MAPREDUCE 28 Hàm băm MD5 thám mã tảng MapReduce 28 3.1.1 Ứng dụng MD5 29 3.1.2 Thuật toán mã hóa 29 3.1.3 Tấn công hàm băm MD5 33 3.1.4 Thám mã MD5 tảng MapReduce 34 3.1.5 Kết thám mã MD5 môi trường MapReduce 37 3.2 Mã hóa cơng khai RSA thám mã tảng MapReduce 39 3.2.1 Thuật tốn sinh khóa 41 3.2.2 Thuật tốn mã hóa 41 3.2.3 Thuật toán giải mã 42 3.2.4 Chuyển đổi văn rõ 43 3.2.5 Tấn cơng mã hóa RSA 50 3.2.6 Thám mã RSA tảng MapReduce 53 3.2.7 Kết thám mã RSA môi trường MapReduce 55 3.3 Đánh giá kết 56 3.3.1 Kết MapReduce RSA, thuật toán RSA với giá trị n nhỏ 60 3.3.2 Kết MapReduce RSA với giá trị n lớn 60 3.3.3 So sánh CPU RSA giá trị n nhỏ với MapReduce RSA giá trị n lớn 61 3.4 Kết chương 62 3.1 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 63 Kết luận 63 Hướng phát triển 63 TÀI LIỆU THAM KHẢO 64 TÓM TẮT LUẬN VĂN Học viên: Nguyễn Thanh Phong Chuyên ngành: Khoa học máy tính Mã số: 60480101 Khóa: K33 Trường Đại học Bách khoa – Đại học Đà Nẵng Tóm tắt – Bảo mật thông tin vấn đề quan trọng hàng đầu lĩnh vực tình báo, quân sự, … Bảo mật thông tin nhiều người tập trung nghiên cứu, tìm giải pháp để đảm bảo an toàn, an ninh bảo mật hệ thống Việc bảo mật an tồn thơng tin, liệu vấn đề có liên quan đến nhiều lĩnh vực Đặc biệt, khoảng vài mươi năm trở lại với đời máy tính điện tử phát triển nhanh chóng cơng nghệ thơng tin, lý thuyết giải thuật mã hóa phương pháp thám mã ngày quan tâm nhiều Trong mã hóa phương pháp hữu hiệu nhằm đảm bảo tính bảo mật, tồn vẹn liệu thám mã hình thức cơng mật mã để thu liệu cần thiết, phục vụ cho bước công Trong thực tế số toán ứng dụng giải thuật mã hóa, thám mã có độ phức tạp tính tốn cao, thời gian xử lý lâu Tuy nhiên, với phát triển khoa học, việc ứng dụng mơ hình xử lý phân tán MapReduce để giải số tốn mã hóa thám mã mục tiêu luận văn Từ khóa – MapReduce Abstract – Information security is always a top priority in the fields of intelligence, military, Information security is being concentrated in many research and find solutions to ensure safety, security and security of the system Securing information security, data is a topical issue related to many fields In particular, in the last few decades with the advent of electronic computers and the rapid development of information technology, the theory of cryptographic algorithm and method cryptanalysis has become increasingly interested While encryption is one of the most effective methods to ensure data security and integrity, cryptanalysis is a form of cryptography attack to obtain the necessary data that can serve the next attack step In fact, some mathematical problems when using cryptographic algorithm and cryptanalysis have high computational complexity, long processing time However, along with the development of science, the application of the Mapreduce dispersal processing model to solve some problems of cryptographic and cryptanalysis is the main objective of this thesis Key words – MapReduce DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Từ đầy đủ Diễn giải CPU DSS Central Processing Unit Data Security Standard Bộ xử lý trung tâm Chuẩn chữ ký điện tử GCD Greatest Common Divisor Ước số chung lớn HDFS Hadoop Distributed File System Hệ thống file lưu trữ Hadoop MAC Xác thực thông báo mật mã MD4 Cryptographic Message Authentication Code Message-Digest algorithm MD5 Message-Digest algorithm Giải thuật tiêu hóa tin MIT NP Massachusetts Institute of Viện Công nghệ Massachusetts Technology Nondeterministic Polynomial time Độ phức tạp tính tốn SHA Secure Hash Algorithm Thuật tốn băm an tồn MAC Message Authentication Code Mã xác thực thơng điệp OSDI Operating Systems Design and Implementation Thiết kế triển khai hệ điều hành Giải thuật tiêu hóa tin DANH MỤC CÁC BẢNG Số hiệu bảng Bảng 1.1 Tên bảng Trang Quan hệ độ dài khóa thời gian dị khóa Bảng 2.1 Các thành phần Hadoop 17 Bảng 3.1 Thời gian xử lý liệu từ điển (giây) 57 Bảng 3.2 Thời gian xử lý liệu mật (giây) 57 Bảng 3.3 So sánh thuật toán MapReduce với nguyên tố nhỏ (163 * 521) 60 Bảng 3.4 MapReduce RSA với giá trị n lớn (n = 1063 * 631) 61 DANH MỤC ĐỒ THỊ Số hiệu Tên đồ thị đồ thị Đồ thị 3.1 Thời gian thực chương trình Trang 58 Đồ thị 3.2 Thời gian trung bình tải từ điển 58 Đồ thị 3.3 Thời gian trung bình tạo giá trị băm từ điển 59 Đồ thị 3.4 Thời gian trung bình giá trị băm 59 Đồ thị 3.5 Biểu diễn thuật toán RSA, MapReduce RSA, so sánh tốc độ 60 Đồ thị 3.6 MapReduce RSA với giá trị lớn n (n = 1063 * 631) 61 Đồ thị 3.7 So sánh thuật toán (nguyên tố nhỏ), MapReduce (nguyên tố lớn) 62 DANH MỤC CÁC HÌNH Số hiệu hình vẽ Hình 1.1 Sơ đồ mã hóa giải mã Tên hình vẽ Trang Hình 1.2 Mơ hình hệ thống mã hóa đối xứng Hình 1.3 Sơ đồ chữ ký số sử dụng hàm băm 11 Hình 1.4 Sơ đồ xác thực chữ ký số sử dụng hàm băm 12 Hình 1.5 Ngun lý mã hóa khóa cơng khai 13 Hình 2.1 Cấu trúc thành phần Hadoop 16 Hình 2.2 Kiến trúc cụm Hadoop nhiều node 19 Hình 2.3 Mơ hình xử lý Hadoop 20 Hình 2.4 Mối quan hệ MapReduce Hadoop 21 Hình 2.5 Quá trình thực thi MapReduce 22 Hình 2.6 Mơ hình thực cơng việc MapReduce 24 Hình 2.7 Hàm Map 24 Hình 2.8 Hàm Reduce 25 Hình 2.9 Phân nhỏ liệu đầu vào 25 Hình 2.10 Sao chép chương trình 26 Hình 2.11 Thực hàm Map 26 Hình 2.12 Thực thi tác vụ Reduce 26 Hình 3.1 Mơ tả tác vụ vịng MD5 29 Hình 3.2 Nhồi liệu MD5 30 Hình 3.3 Thêm độ dài mã hóa MD5 30 Hình 3.4 Thuật tốn hàm băm 512 bits 31 Hình 3.5 Mơ hình MapReduce thám mã MD5 34 Hình 3.6 Kiểm tra mơi trường thực thi 38 Hình 3.7 Name node 38 Hình 3.8 Các Data node 38 Hình 3.9 Mơ hình mật mã RSA 40 Hình 3.10 Chứa thơng tin thực thi Hadoop 53 Hình 3.11 Triển khai hàm Map 54 Hình 3.12 Hàm Reduce triển khai trình tính tốn thừa số ngun tố 54 Hình 3.13 Tổng độ lớn khoảng sàng lọc 54 Hình 3.14 Job đăng ký 55 Hình 3.15 Kết thực thi 56 52 3.2.5.3 Tấn công với số mũ công khai nhỏ Người sử dụng hệ mật RSA muốn giảm thời gian mã hóa chứng thực chữ ký họ thường sử dụng số mũ công khai e nhỏ, thông thường số mũ công khai chọn 216 + = 65537 Khi giá trị 216 + chọn việc chứng thực chữ ký yêu cầu 17 phép nhân lên đến 1000 giá trị e ngẫu nhiên sử dụng (e < p (n)) Nếu số mũ cơng khai nhỏ rõ m ngắn, hàm RSA dễ dàng tính nghịch đảo Khơng giống cơng kiểu Wiener, công với e nhỏ làm cho RSA bị sập hoàn toàn Sau vài minh họa công kiểu a) Tấn công quảng bá Hastad Định lý (Hastad)[8]: Cho n1 nk số nguyên tố tập nmin = mini/ni) đôi Với gi ZNi[x], k đa thức có giá trị nhỏ d Tồn m < nmin thỏa mãn: gi(m) = m mod ni với tất i = 1, ,k Giả thiết k > d, tìm m cho (ni,gi(x)k i = Định lý hệ thống đồng biến với đa thức nguyên tố hỗn hợp giải hiệu quả, giả thiết hàm cung cấp đầy đủ Bằng cách cài đặt gi = fiei – ci mod ni, thấy Marvin tìm M từ mã cho với số thành viên d, d giá trị lơn e ideg(fi) với i = 1,…, k Lưu ý để chống lại công broadcast ta sử dụng cặp số ngẫu nhiên thay gắn cứng vào giá trị b) Tấn cơng thơng điệp có quan hệ tuyến tính với (Franklin Reiter Related Message Attack) Hệ (FR): Giả sử với e =3 (n,e) khóa cơng khai RSA Cho m1 ≠ m2 Z*n thỏa mãn m1 = f(m2) mod n f = ax + b e Z*n đa thức tuyến tính với b ≠ Khi cho trước (n, e, c1, c2, f), Marvin tìm m1, m2 với thời gian đa thức bậc hai log n c) Tấn công với khóa để lộ phần (Partial Key Exposure Attack) Định lý 3: cho n = p*q modulus RSA n-bit, với e ≥ 1, d ≤ φ(n) thỏa mãn ed ≡ mod φ(n) Tồn thuật toán mà cho trước n/4 bit có nghĩa nhỏ d, kẻ cơng khơi phục toàn d thời gian đa thức bậc n e 3.2.5.4 Tấn công cài đặt a) Tấn công dựa thời gian Vào năm 1996, Kocher mô tả kiểu cơng lên RSA kẻ thù xác định khóa bí mật cách theo dõi thời gian máy tính giải mã Tấn công 53 thông minh Kocher cho thấy phương pháp lựa chọn thời gian xác để giải mã (hoặc ký số) RSA smartcard, Marvin nhanh chóng tìm thành phần giải mã riêng d Giải pháp khắc phục: - Đơn giản tăng độ trễ định để q trình mũ hóa ln thời gian định - Rivest đưa dựa chế bịt kẽ hở (blinding) b) Tấn cơng dựa lỗi ngẫu nhiên Q trình cài đặt giải mã ký số RSA thường sử dụng định lý đồng dư trung hoa (Chinese Remainder Theorem) nhằm cải thiện tốc độ tính tốn md mod n Người ta quan sát thấy có lỗi nguy hiểm sử dụng phương pháp CRT Vấn đề sinh chữ ký mà máy tính Bob hoạt động không nguyên nhân gây nên lỗi tính tốn Hay nói cách khác, copy ghi, bit dòng bit bị thất lạc (do hoạt động không nguyên nhân xung đột điện từ sâu phần cứng, lỗi sớm tìm thấy phiên chíp Pentium) Được cung cấp chữ ký lỗi, kẻ công Marvin dễ dàng phân tích thành nhân tử modul N 3.2.6 Thám mã RSA tảng MapReduce Hình 3.10 Chứa thơng tin thực thi Hadoop ▪ MapReduceFactorizer class: Thiết lập thông tin thực thi bao gồm MapReduce Job, startJob 54 ▪ Map class: Hình 3.11 Triển khai hàm Map ▪ Reduce class: Hình 3.12 Hàm Reduce triển khai q trình tính tốn thừa số ngun tố ▪ MathOperations class: Hình 3.13 Tổng độ lớn khoảng sàng lọc 55 ▪ FactorBase class: Lớp dùng để giữ số nguyên tố nhân tử sở ▪ Matrix class: Lớp đại diện cho ma trận, chứa hàm phép khử Gauss dùng thuật toán QuickSort ▪ InputArray class: Lớp dùng để sieve input ▪ Utilities class: Lớp chứa phương thức để truy cập vào HDFS 3.2.7 Kết thám mã RSA môi trường MapReduce ▪ Biên dịch chương trình export HADOOP_CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath) javac -classpath $HADOOP_CLASSPATH -d classes src/main/hadoop/qsfactor/*.java ▪ Tạo tệp tin jar chứa file thực thi Gõ lệnh: hdfs dfsadmin -safemode leave ▪ Xem tiến trình phân tán DataNode Hình 3.14 Job đăng ký 56 Hình 3.15 Kết thực thi 3.3 Đánh giá kết Chương trình thám mã thuật toán thực nhóm 10 nút, kết cho thấy: Thứ nhất, liệu từ điển sử dụng để thử nghiệm chương trình thám 57 mã dự kiến tương đối lớn, việc phân chia liệu từ điển giữ nguyên thực chương trình với số cụm máy tính Phân tích thuật tốn khả mở rộng, thời gian xử lý sử dụng nhớ Thời gian xử lý tính cho tổng thời gian thực cho thuật toán thời gian trung bình cụm máy tính thực bước riêng lẻ Trong đó, bước riêng lẻ là: nạp liệu vào nhớ, tính tốn giá trị băm cho từ điển, so sánh giá trị băm cho từ điển với giá trị băm tệp sở liệu mật khẩu, mức sử dụng nhớ Chỉ số phân tán từ điển thuật toán phân tán sở liệu mật trình bày bảng 3.1 bảng 3.2 tương ứng Thời gian để tải từ điển tạo giá trị băm cho từ điển, so sánh giá trị băm từ điển với giá trị băm sở liệu mật tổng thời gian chạy chương trình Thực nghiệm sử dụng từ điển gồm 8.501.320 từ sở liệu pass-login 1.000 tài khoản Bảng 3.1 Thời gian xử lý liệu từ điển (giây) Số lượng cụm máy tính Thời gian tải liệu Thời gian tạo băm 10 1.435 1.421 0.901 0.899 0.766 0.768 0.557 0.553 0.521 0.526 0.584 0.322 0.198 0.184 0.107 0.105 0.089 0.081 0.076 0.072 Thời gian so sánh Tổng thời gian 23.712 12.345 6.478 6.925 4.124 3.983 3.223 2.916 3.241 3.421 27.042 15.406 14.392 8.869 10.120 6.556 8.349 6.191 7.206 6.021 Bảng 3.2 Thời gian xử lý liệu mật (giây) Số lượng cụm máy tính 10 Thời gian tải liệu 1.435 1.882 1.897 1.927 1.908 1.887 1.880 1.935 1.939 1.942 Thời gian tạo băm 0.586 0.579 0.584 0.589 0.590 0.584 0.587 0.576 0.572 0.573 Thời gian so sánh 23.547 11.808 5.897 6.161 3.925 3.942 3.134 2.913 2.811 2.802 Tổng thời gian 27.059 15.714 15.152 10.050 11.239 8.061 9.868 8.152 8.747 6.918 58 Đồ thị 3.1 cho thấy tổng thời gian thực chương trình thuật tốn chạy với số lượng khác cụm máy tính Đây thời gian thực qua thời gian bắt đầu kết thúc Kết thực nghiệm với 3, cụm máy tính khơng ảnh hưởng nhiều liệu phân tán cluster Thuật toán thực tốt chút so với thuật toán sở liệu mật mã bị chia nhỏ giảm số lần thao tác so sánh Điều chủ yếu thực tế liệu từ điển lớn sở liệu mật Đồ thị 3.1 Thời gian thực chương trình Đồ thị 3.2 cho thấy thời gian trung bình để tải liệu từ điển cho cụm xu hướng giảm số từ từ điển xử lý cluster giảm Đối với thuật toán phân tán sở liệu mật khẩu, thời gian tải cho hai nhiều cụm máy tính cao thời gian tải cụm máy tính Điều yêu cầu hoạt động chép từ điển bổ sung cho cho cụm máy tính Đồ thị 3.2 Thời gian trung bình tải từ điển Thời gian để tạo giá trị băm cho từ điển cách sử dụng hàm băm hiển thị hình 3.3 Thời gian thuật tốn phân tán liệu từ điển giảm từ điển phân tán cho cụm xử lý Thời gian cho thuật toán phân tán sở 59 liệu mật phân cụm phải tính tốn giá trị băm cho số từ điển Đồ thị 3.3 Thời gian trung bình tạo giá trị băm từ điển Đồ thị 3.4 cho thấy thời gian để so sánh giá trị băm từ điển với giá trị băm tìm thấy tệp sở liệu mật Khi so sánh kết phân tán liệu từ điển thuật toán phân tán sở liệu mật mã, rõ ràng thời gian thực cho thuật toán sở liệu mật tăng chia tải tăng thời gian băm từ điển từ điển tăng kích thước Đồ thị 3.4 Thời gian trung bình giá trị băm Chương trình tải tồn từ điển vào nhớ sau tạo kết hợp băm lưu trữ chúng nhớ Sau từ điển tải vào nhớ, chương trình tải sở liệu mật tài khoản thời điểm so sánh giá trị băm so với băm từ điển, trùng khớp kết khôi phục mật hiển thị 60 3.3.1 Kết MapReduce RSA, thuật toán RSA với giá trị n nhỏ Bảng 3.3 So sánh thuật toán MapReduce với nguyên tố nhỏ (163 * 521) Dữ liệu (bytes) Số khối Threads khối MapReduce RSA Thuật toán RSA So sánh tốc độ Tuần tự/MapReduce 256 512 1.024 2.048 4.096 8.192 16.392 32.784 65.568 131.136 16 32 64 128 256 512 1024 2048 64 64 64 64 64 64 64 64 64 64 7.58 7.25 6.86 5.38 5.68 6.29 7.21 9.25 10.35 11.73 12.56 19.14 23.6 29.33 32.64 35.16 39.66 42.37 47.59 58.04 1.66 2.64 3.44 5.45 5.75 5.59 5.50 4.58 4.60 4.95 Bảng 3.3 cho thấy mối quan hệ lượng liệu đầu vào thuật toán RSA thời gian thực (tính giây) theo thuật tốn xử lý mơ hình xử lý MapReduce Đồ thị 3.5 cho thấy liệu đầu vào lớn thời gian xử lý theo kiểu tăng lên nhiều, thời gian mơ hình MapReduce tăng lên khơng đáng kể Đồ thị 3.5 Biểu diễn thuật toán RSA, MapReduce RSA, so sánh tốc độ 3.3.2 Kết MapReduce RSA với giá trị n lớn Từ Bảng 3.4, thấy mối quan hệ thời gian (tính giây) số lượng liệu đầu vào (tính byte) tuyến tính Khi sử dụng liệu đầu vào 256 byte để thực thi, thời gian thực thi theo mơ hình MapReduce ngắn so với thuật tốn xử lý cho số nguyên tố giá trị n nhỏ Vì vậy, nói kích thước liệu tăng lên, thời gian chạy giảm đáng kể tùy thuộc vào kích thước liệu đầu 61 vào sử dụng Hơn nữa, thấy kích thước liệu đầu vào tăng từ 1.024 lên 131.136, thời gian thực không tăng lên đáng kể, điều chứng minh, liệu lớn hiệu suất tính theo mơ hình song song cao Bảng 3.4 MapReduce RSA với giá trị n lớn (n = 1063 * 631) Dữ liệu (bytes) 256 512 1.024 2.048 4.096 8.192 16.392 32.784 65.568 131.136 Số khối Threads khối Thời gian xử lý RSA MapReduce 16 32 64 128 256 512 1024 2048 4096 32 32 32 32 32 32 32 32 32 32 5,34 5,52 5,89 5,52 6,58 6,66 7,81 8,77 10,21 12,63 Việc tăng cường hiệu thực liệu đầu vào kích thước sử dụng giá trị số nguyên tố lớn (n = 1063 * 631) giá trị lớn n minh họa đồ thị 3.6 Đồ thị 3.6 MapReduce RSA với giá trị lớn n (n = 1063 * 631) 3.3.3 So sánh CPU RSA giá trị n nhỏ với MapReduce RSA giá trị n lớn Phân tích kết RSA theo thuật toán sử dụng giá trị n nhỏ (163 * 521) RSA MapReduce sử dụng số nguyên tố giá trị n lớn (1063 * 631) Việc tăng cường hiệu thực thi liệu đầu vào tính byte sử dụng giá trị lớn số 62 nguyên tố (n = 1063 * 631) sử dụng giá trị nhỏ số nguyên tố (n = 163 * 521) chứng minh đồ thị 3.7 Do đó, thúc đẩy việc xử lý liệu theo mơ hình phân tán MapReduce đem lại hiệu lớn tốn có khối lượng tính tốn lớn Đồ thị 3.7 So sánh thuật toán (nguyên tố nhỏ), MapReduce (nguyên tố lớn) Mục đích cuối thực nghiệm để so sánh thời gian thực chương trình hai thuật tốn: thuật toán xử lý theo kiểu truyền thống thuật tốn xử lý song song theo mơ hình Mapreduce, sở so sánh RSA thuật toán với số ngun tố nhỏ mơ hình xử lý MapReduce với số nguyên tố lớn Kết thực nghiệm cho thấy chương trình chạy cho kết đắn thời gian xử lý MapReduce nhanh Với liệu đầu vào lớn có kết chương trình viết MapReduce có hiệu thời gian xử lý nhanh nhiều theo thuật toán xử lý Điều khẳng định việc ứng dụng mơ hình xử lý phân tán MapReduce để giải số toán mã hóa thám mã có liệu lớn có hiệu 3.4 Kết chương Chương trình bày thuật tốn mã hóa/thám mã, thực Demo chương trình, kết thu từ việc thám mã thuật tốn mã hóa RSA So sánh kết thu mơ hình xử lý phân tán MapReduce với kết toán kỹ thuật 63 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết luận Sự phát triển công nghệ thông tin, mạng Internet, làm thay đổi nhiều hoạt động đời sống xã hội, đó, có nảy sinh hoạt động giao dịch điện tử bên cạnh giao dịch truyền thống Chữ ký số phát triển để đảm bảo tính xác thực, an tồn, bảo mật tồn vẹn liệu văn giao dịch điện tử môi trường mạng ngày ứng dụng nhiều lĩnh vực nước giới Hầu hết sản phẩm chuẩn sử dụng hệ mã khóa cơng khai để mã hóa, chữ ký điện tử sử dụng rộng rãi hệ mã RSA Tuy nhiên, với phát triển ngành thám mã lực ngày tăng nhanh chóng hệ thống máy tính, độ dài khóa để đảm bảo an tồn cho hệ mã RSA ngày tăng nhanh chóng, điều này làm giảm đáng kể hiệu hệ thống sử dụng hệ mã RSA Kỹ thuật xử lý lỗi thời, thay vào xử lý liệu mơ hình xử lý phân tán MapReduce lĩnh vực khơng cịn có nhiều tiềm đáng để nghiên cứu Bước đầu luận văn thu số kết định là: Khái quát kiến thức phương thức mã hóa, tảng tính tốn phân tán với Hadoop; Nêu phương pháp giải số thuật tốn mã hóa thám mã theo mơ hình xử lý phân tán MapReduce; nghiên cứu, xây dựng tốn thám mã theo mơ hình xử lý phân tán MapReduce mà tiêu biểu tốn mã hóa hàm băm tốn mã hóa RSA Kết thể bước xử lý Hadoop MapReduce số thuật tốn mã hóa thám mã Luận văn cài đặt thành cơng chương trình đạt kết ban đầu Xuất thông tin mà hệ thống Hadoop MapReduce xử lý Qua đó, khẳng định lần mơ hình xử lý liệu phân tán MapReduce quan tâm, phát triển liên tục nhằm nghiên cứu, giải số tốn có kích thước liệu lớn sống Hướng phát triển Trên sở kết nghiên cứu trình bày luận văn, cịn số vấn đề cần tiếp tục nghiên cứu để có kết tốt như: Sẽ phát triển thêm với nguồn tài nguyên lớn hơn, đánh giá việc xử lý tốn mã hóa thám mã môi trường xử lý phân tán Thực liệu đầu vào với liệu lớn nhiều Tiếp tục phát triển ứng dụng khoa học với hệ thống MapReduce Đưa ứng dụng vào thực tế để triển khai mã hóa thám mã tính tốn có hiệu 64 TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] Đoàn Văn Ban, Nguyễn Mậu Hân, Xử lý song song phân tán, NXB KH&KT, 2009 [2] Phan Đình Diệu, Lý thuyết mật mã an tồn thơng tin, NXB Đại Học Quốc Gia Hà Nội, 1999 [3] Phạm Huy Điển, Hà Duy Khoái, Mã hố thơng tin: Cơ sở tốn học ứng dụng, NXB Đại Học Quốc Gia, 2003 [4] Dương Anh Đức, Trần Minh Triết, Mã hóa ứng dụng, Đại học Khoa học Tự nhiên, Đại học Quốc gia TP Hồ Chí Minh, 2005 Tài liệu tiếng Anh [5] A Generalized Wiener Attack on RSA, Johannes Blomer, Alexander May [6] Dan Boneh and Glenn Durfee, Cryptanalysis of RSA with Private Key d Less than N0.292 [7] Introduction to Parallel Computing, Ananth Grama, Anshul Gupta, Geogre Karipys - Addison Wesley – 2008 [8] J Hastad Solving simultaneous modular equation of low degree SIAM J of Computing, 1988 [9] Richard Crandall, Carl Pomerance, Prime Numbers A Computational Perspective [10] R Rivest, A Sharmir, L Adleman, A method for obtaining digital signatures and public-key cryptosystems, Communication of the ACM 21, 1978 [11] Password Recovery Using MPI and CUDA, David Apostal, Kyle Foerster, Amrita Chatterjee, Travis Desell, Department of Computer Science, University of North Dakota [12] Thilina Gunarathne, Hadoop MapReduce v2 Cookbook Second Edition, 2015 [13] Wenjun Fan, Xudong Chen, Parallelization of RSA Algorithm Based on Compute Unified Device Architecture, School of Software Engineering Beijing Jiaotong University Beijing, China Tài liệu Internet [14] http://blog.impiyush.com/2013/11/hadoop-220-installation-steps-for.html 65 [15] https://ep2015.europython.eu/media/conference/slides/python-security- cryptography.pdf [16] http://hadoop.apache.org/ [17] https://sites.google.com/site/chapterhut/hoc-tap/mon-hoc/map-reduce [18] http://www.ibm.com/developerworks/vn/library/java/201301/j-javadev2-15/ http://www.pcworld.com.vn/articles/cong-nghe/ungdung/2010/09/1220629/xu-ly-du-lieu-phan-tan-voi-mapreduce/ ... tốn mã hóa thám mã với yêu cầu xử lý liệu lớn, thời gian xử lý ngắn Do hướng ứng dụng MapReduce để giải số toán mã hóa thám mã mục tiêu mà tơi lựa chọn để thực luận văn: “GIẢI QUYẾT MỘT SỐ BÀI... hình xử lý phân tán tảng Hadoop - Ứng dụng mơ hình xử lý phân tán MapReduce để giải số tốn mã hóa thám mã liệu Phương pháp nghiên cứu 4.1 Phương pháp lý thuyết - Tìm hiểu mơ hình xử lý phân tán. .. BÀI TỐN MÃ HĨA VÀ THÁM MÃ TRÊN MƠI TRƯỜNG XỬ LÝ PHÂN TÁN” Mục tiêu nội dung nghiên cứu 2.1 Mục tiêu Xây dựng mơ hình lập trình phân tán MapReduce tảng Hadoop để giải số tốn mã hóa thám mã có khối