6. Bố cục luận văn
3.4.5 So sánh độ phức tạp của Vigenere-RSA và Vigenere-Elgamal
3.4.5.1 Bằng lý thuyết
Thực tế, để đánh giá độ phức tạp ta chỉ cần quan tâm đánh giá xem phần thuật toán RSA và Elgamal tham gia vào quá trình mã hóa và giải mã khóa bí mật của thuật toán Vigenere thế nào từ đó sẽ biết được thuật toán nào sẽ chạy nhanh hơn. Ở phần trên đã đánh giá độ phức tạp của RSA và Elgamal và thấy rằng thuật toán RSA chạy nhanh hơn thuật toán Elgamal.
Mặt khác đối với thuật toán Elgamal kích thước thông tin sau khi mã hóa sẽ tăng gấp đôi so với thông tin gốc. Với Elgamal chúng ta cần gấp đôi bộ nhớ để chứa bản mã so với các hệ mật mã khác. Từ đó ta có thể suy ra Vigenere-RSA sẽ chạy nhanh hơn Vigenere-Elgamal.
3.4.5.2 Bằng thực nghiệm
Trong quá trình thử nghiệm tác giả sử dụng môi trường và công cụ sau để chạy:
• Môi trường thử nghiệm: Máy laptop HP Compaq nx6230 với các thông số như sau:
- Genuine Intel(R) CPU, T2300 @ 1.66GHz, 1.66GHz, 1.99GB of RAM, Physical Address Extension.
- Hệ điều hành Microsoft Windows XP Professional Version 2002, Service Pack 2.
• Công cụ và ngôn ngữ phát triển: Chương trình sử dụng Java 2 Platform, Standard Edition (J2SE) của hãng Sun, JDK version 1.6 (J2SE Development Kit). Công cụ viết mã chương trình có thể dùng bất cứ công cụ gì như Notepad, TextPad,… Hiện tại thì tác giả sử dụng IntelliJ IDEA 9.0. Ngôn ngữ sử dụng để viết chương trình là Java, ngoài ra trong chương trình có sử dụng gói
java.math.BigInteger dùng để xử lý các vấn đề liên quan đến số nguyên lớn. File dùng để kiểm thử có tên Plaintext kích thước 19KB.
Dưới đây là bảng đánh giá hiệu năng khi thực hiện thuật toán Vigenere-RSA:
Bảng 3.2. Hiệu năng của thuật toán Vigenere-RSA.
Số bít Độ dài m Tạo khóa Mã hóa Giải mã
512 40 204ms 1391ms 1297ms
1024 40 532ms 1438ms 1047ms
2048 40 7391ms 3125ms 1281ms
3072 40 29640ms 4579ms 1313ms
Tiếp theo là bảng đánh giá hiệu năng khi thực hiện thuật toán Vigenere-Elgamal:
Bảng 3.3. Hiệu năng của thuật toán Vigenere-Elgamal. Số bít Độ dài m Tạo khóa Mã hóa Giải mã
512 40 329ms 2000ms 1375ms
1024 40 7031ms 3344ms 1269ms
2048 40 24047ms 3953ms 1562ms
3072 40 52869ms 4906ms 1828ms
Dưới đây là bảng đánh giá hiệu năng khi thực hiện thuật toán Vigenere-RSA khi bỏ “salt” đi:
Bảng 3.4. Hiệu năng của thuật toán Vigenere-RSA bỏ “salt”. Số bít Độ dài m Tạo khóa Mã hóa Giải mã
512 40 188ms 1421ms 1219ms
1024 40 734ms 1546ms 1015ms
2048 40 7250ms 2547ms 1453ms
Từ kết quả hai bảng trên tổng hợp lại và đưa ra một biểu đồ tổng thể đánh giá hiệu năng của hai thuật toán Vigenere-RSA và Vigenere-Elgamal để thấy rằng thuật toán Vigenere-RSA có tốc độ thực hiện tốt hơn thuật toán Vigenere-Elgamal.
Việc thêm “salt” vào Vigenere-RSA không làm tăng thêm quá nhiều thời gian mã hóa/giải mã so với việc không thêm “salt”. Hiện nay với tốc độ phát triển của phần cứng ngày càng tăng nhanh thì hệ mật Vigenere-RSA của chúng ta để xuất có thể nói là tối ưu và an toàn theo nghĩa chấp nhận được.
0 10000 20000 30000 40000 50000 60000 R e lat ive ti me (m s) 512 1024 2048 3072 Modulus length(bits) So sánh hiệu năng của Vigenere-RSA và Vigenere-Elgamal Vigenere-RSA Vigenere-Elgamal Vigenere-RSA bỏ "salt" Hình 3.7. Hiệu năng của Vigenere-RSA và Vigenere-Elgamal.
Mặt khác theo [11] cũng đã chứng minh bằng thực nghiệm rằng là thuật toán RSA chạy nhanh hơn thuật toán Elgamal, điều đó càng khẳng định thêm tính hiệu quả của Vigenere-RSA so với Vigenere-Elgamal.
KẾT LUẬN
1. Những khó khăn trong quá trình thực hiện
• Do chưa được tiếp cận một cách chính quy kiến thức liên quan đến lĩnh vực mật mã mà đề tài nghiên cứu cho nên đây cũng là một trong những vấn đề gây trở ngại ban đầu khi tiếp cận đề tài.
• Hầu hết các nguồn tài liệu tiếng Việt đều rất nhiều, được các tác giả khác dịch từ tiếng Anh ra. Trong đó lại thường không thống nhất với nhau về các thuật ngữ, nội dung,… trình bày. Cho nên tác giả đã rất khó khăn trong vấn đề đọc tham khảo, cuối cùng đã chọn giải pháp dùng sách nguyên bản tiếng Anh để tham khảo là chính.
• Bản chất liên quan đến toán học rất nhiều, đặc biệt các vấn đề về số nguyên tố lớn. Để hiểu sâu sắc và có những nghiên cứu mang tính đột phá, thiết nghĩ cần phải chuẩn bị cho mình một nền tảng toán học vững chắc về lĩnh vực này. Tác giả tự thấy kiến thức nền tảng toán học mình chưa thật vững chắc cho nên đã có những khó khăn nhất định khi tiếp cận và nghiên cứu đề tài.
2. Các kết quả đạt được
• Đã nắm bắt được những kiến thức cơ bản và mấu chốt nhất về cơ sở lý thuyết
mật mã. Bước đầu hiểu biết được những khái niệm cũng như nền tảng quan trọng của lĩnh vực mật mã, nó sẽ là tiền đề để tác giả tiến sâu hơn nữa vào ngành mật mã học đầy thú vị và thách thức này.
• Hiểu sâu sắc một số hệ mật mã khóa đối xứng và hệ mật mã khóa công khai. Từ đó đề xuất ra hệ mật mã khóa tích hợp Vigenere-RSA và Vigenere-Elgamal dựa trên tư tưởng của các hệ mật mã Vigenere, RSA và Elgamal. Hai hệ mật này đã thừa hưởng và kết hợp được những ưu điểm tốt nhất có thể của hệ mật mã khóa đối xứng và khóa công khai.
• Hệ mật mã tích hợp này được cho là tối ưu và an toàn theo một nghĩa nào đó mà đã được tác giả đánh giá. Ngoài ra tác giả cũng đa đưa ra phương pháp so sánh đánh giá hiệu năng của Vigenere-RSA và Vigenere-Elgamal trên hai quan điểm về lý thuyết độ phức tạp thuật toán và việc chạy thực nghiệm.
• Cài đặt thành công thử nghiệm hệ mật mã Vigenere-RSA và Vigenere-Elgamal với ngôn ngữ lập trình Java. Chương trình có thể mã hóa một đoạn văn bản do người sử dụng nhập vào từ bàn phím hoặc từ một tập tin do người sử dụng chọn.
3. Hướng phát triển của đề tài
• Tiếp tục nghiên cứu để hoàn thiện phần chương trình sao cho nó có thể hỗ trợ được nhiều loại định dạng tài liệu/văn bản như file .doc, .docx, excel, pdf,….
• Tìm hiểu và nghiên cứu cách ứng dụng hai hệ mật mã hóa trên để xây dựng các ứng dụng liên quan đến chữ ký số.
• Nghiên cứu tối ưu hóa các thuật toán cài đặt liên quan đến số nguyên tố lớn để cải thiện hiệu năng thực thi của hai hệ mật mã tích hợp trên.
• Điện toán đám mây là một mô hình điện toán mới mở ra cánh cửa đến với
những cơ hội mới. Trong đám mây điện toán, các tài nguyên và dịch vụ CNTT được tách khỏi cơ sở hạ tầng và được cung cấp theo nhu cầu, phù hợp với quy mô trong một môi trường đa người dùng. Điện toán đám mây đã có những ảnh hưởng rất sâu rộng, có ý nghĩa ngay cả đối với những người không làm việc trong lĩnh vực kỹ thuật. Trước đây, thông tin thường phát sinh từ một nguồn, từ E-mail hoặc thư thoại và phần lớn là không đồng bộ. Hiện nay, thông tin xuất phát từ nhiều ứng dụng và thông qua nhiều công cụ. Các dịch vụ được chia sẻ giữa nhiều tổ chức, cho phép cùng một tập hợp hệ thống và ứng dụng nền tảng
đáp ứng nhiều nhu cầu một cách đồng thời và an toàn. Các ứng dụng, dịch vụ
và dữ liệu có thể được truy cập thông qua đa dạng các thiết bị được kết nối như là điện thoại thông minh, máy laptop và các thiết bị Internet di động khác. Với môi trường đa người dùng như vậy, liệu vấn đề bảo mật cho điện toán đám mây khi mà các nhà cung cấp các dịch vụ đưa ra liệu có được bảo mật. Điện toán đám mây gây bất ổn đối với dữ liệu của bên sử dụng dịch vụ và nhà cung cấp. Vấn đề này càng trầm trọng hơn trong các trường hợp chuyển nhiều dữ liệu giữa các đám mây có liên quan. Tác giả nghĩ rằng mặc dù kết quả của luận văn này chưa đủ cơ sở pháp lý cũng như kỹ thuật để có được ứng dụng thực tiễn cho
vấn đề bảo mật trong điện toán đám mây, nhưng thiết nghĩ nếu có thời gian
cộng với những gì đã được phân tích trong luận văn rất có thể sẽ là tiền đề để tác giả có thế đi xa hơn nữa trong lĩnh vực bảo mật thông tin trong công nghệ điện toán đám mây.
BẢNG THUẬT NGỮ ANH – VIỆT English Tiếng việt Giải thích sơ bộ Plaintext Tập các ký tự bản rõ Là tập hợp hữu hạn các bản rõ có thể Ciphertext Tập các ký tự bản mã Là tập hữu hạn các ký tự bản mã có thể
Key Tập các khóa Tập hữu hạn các khóa có thể được sử dụng
Encryption Tập luật mã hóa Chính là tập hợp các quy tắc mã hóa có thể
Decryption Tập luật giải mã Chính là tập hợp các quy tắc giải mã có thể
Public key Khóa công khai (khóa công cộng)
Private key Khóa riêng
Secret key Khóa bí mật
Symmetric key Khóa đối xứng
Cryptosystem Hệ thống mã hóa Actual rate Tốc độ thực tế
Absolute rate Tốc độ tuyệt đối Confusion and Diffusion Kỹ thuật lộn xộn và rườm rà Cryptanalysis Phân tích mật mã Cryptology Mật mã học
Keyspace Không gian khóa
Trapdoor one-way function
TÀI LIỆU THAM KHẢO Tiếng Việt
[1] GS.TS Nguyễn Bình, TS. Trần Đức Sự (2000), Giáo trình cơ sở lý thuyết mật mã, Ban cơ yếu chính phủ, học viện kỹ thuật mật mã, Hà Nội.
[2] Phan Đình Diệu (2002), Lý thuyết mật mã & an toàn thông tin. Đại học quốc gia Hà nội, Khoa công nghệ , Nhà xuất bản Đại học quốc gia Hà Nội.
[3] TS Dương Anh Đức, ThS. Trần Minh Triết cùng nhóm cộng sự (2005), Thuật toán mã hóa và ứng dụng. Khoa CNTT, Trường Đại học Khoa học Tự nhiên,
Đại học quốc gia thành phố Hồ Chí Minh, Thành phố Hồ Chí Minh.
Tiếng Anh
[4] Shon Harris (2008), CISSP All-in-One Exam Guide, Fourth Edition, Mc Graw Hill, pp. 495-587.
PHỤ LỤC
Trong phần này tác giả xin trình bày chức năng chính của chương trình, các giao diện và các bước thực hiện chương trình khi cài đặt hệ mật mã hóa tích hợp Vigenere- RSA và Vigenere-Elgamal.
1. Mục đích của chương trình
• Dùng để minh họa cho phần lý thuyết cũng như hệ mật mã tích hợp Vigenere- RSA và Vigenere-Elgamal mà tác giả đã đề xuất ở trên.
• Qua đó thể hiện các bước của thực hiện của Vigenere-RSA và Vigenere-
Elgamal một cách ngắn gọn và trực quan hơn.
2. Chức năng chính của chương trình
Hai chương trình về cơ bản giao diện và các chức năng gần giống nhau chỉ khác là áp dụng hai thuật toán khác nhau mà thôi. Đó là VIGENERE-RSA PROGRAM và VIGENERE-ELGAMAL PROGRAM. Cả hai chương trình đều có các chức năng chính sau:
• Create keys: Chức năng này tạo các thông số cần thiết cho chức năng mã hóa và giải mã theo bits (512 bits, 1024 bits, 2048 bits và 3072 bits).
• Encryption: Thực hiện sau khi chức năng Create keys được thực hiện. Cho phép đầu vào mã hóa là đoạn văn bản nhập vào từ bàn phím hay chọn từ một file có sẵn. Sau khi thực hiện mã hóa xong, kết quả có thể được ghi vào file nếu người sử dụng sử dụng chức năng Save File.
• Decryption: Phụ thuộc vào cách chọn trong chức năng chính Encryption, chúng ta có thể giải mã đoạn văn/ văn bản đã được mã hóa từ chức năng Encryption. Kết quả có thể được ghi vào file nếu người sử dụng sử dụng chức năng Save File.
Hiện tại chương trình chỉ giới hạn ở mã hóa và giải mã đoạn văn/ văn bản bình thường định dạng theo chuẩn Unicode (Mã được cả tiếng Anh và Tiếng Việt). Tuy nhiên phiên bản hiện tại của chương trình chưa thực hiện được đối với các file định dạng kiểu như như word, excel,… do cấu trúc các file này có phần header và phần body hơi đặc biệt. Trong tương lai nếu điều kiện cho phép tác giả sẽ nghiên cứu và thực hiện để phiên bản tiếp theo của chương trình sẽ có thể thực hiện được các file với định dạng như trên.
4. Giao diện chương trình Vigenere-Elgamal