« Home « Kết quả tìm kiếm

Đề xuất sơ đồ mã hóa và giải mã cho bảo mật dữ liệu nhờ mã luân phiên.


Tóm tắt Xem thử

- 9 1.1 Sơ lược lịch sử về mật mã.
- 9 1.2 Các hệ thống mật mã.
- 13 1.2.1 Sơ đồ hệ thống mật mã.
- 17 1.4 Thám mã và tính an toàn của các hệ mật mã.
- 18 1.4.2 Tính an toàn của một hệ mật mã.
- 37 CHƯƠNG 3: KỸ THUẬT TẤN CÔNG, PHƯƠNG PHÁP PHÒNG CHỐNG VÀ CHƯƠNG TRÌNH MÃ HÓA, GIẢI MÃ.
- 47 3.3 Chương trình mã hóa và giải mã với hệ mã kết hợp ALT - Affine.
- 52 3 3.3.1 Sơ đồ mã hóa và giải mã với hệ mã Affine.
- 52 3.3.2 Sơ đồ mã hóa và giải mã với hệ mã kết hợp ALT - Affine.
- 55 3.3.4 Các bước chạy chương trình mã hóa và giải mã ALT - Affine.
- 31 Hình 3.1 Sơ đồ mã hóa với hệ mã Affine.
- 52 Hình 3.2 Sơ đồ giải mã với hệ mã Affine.
- 52 Hình 3.3 Sơ đồ mã hóa với hệ mã kết hợp ALT - Affine.
- 53 Hình 3.4 Sơ đồ giải mã với hệ mã kết hợp ALT - Affine.
- 57 Hình 3.8 Hộp thoại Open dùng để chọn tệp tin cần mã hóa.
- 58 Hình 3.10 Thông báo thực hiện việc mã hóa thành công.
- 59 Hình 3.12 Hộp thoại Open dùng để chọn tệp tin cần giải mã.
- 61 Hình 3.15 Thông báo thực hiện việc giải mã thành công.
- Qua đó, một cơ chế mới trong mã hóa mà tôi chọn làm luận văn là “Đề xuất sơ đồ mã hóa và giải mã cho bảo mật dữ liệu nhờ mã luân phiên”.
- Mục đích nghiên cứu Luận văn tập trung nghiên cứu về sơ đồ mã hóa và giải mã cho bảo mật dữ liệu nhờ mã luân phiên (Alternative code - ALT), kết hợp hệ 6 mã ALT và hệ mã Affine để tạo ra một ứng dụng bảo mật dữ liệu tổng hợp.
- Đối tượng nghiên cứu Tìm hiểu về hệ mã ALT, hệ mã Affine, cài đặt chương trình mã hóa và giải mã bằng ngôn ngữ lập trình C#.
- Nghiên cứu về sơ đồ mã hóa kết hợp giữa mã ALT và hệ mã Affine.
- Đưa ra chương trình mã hóa và giải mã với hệ mã kết hợp ALT – Affine.
- nghiên cứu về sơ đồ mã hóa kết hợp giữa mã luân phiên và hệ mã Affine.
- Nghiên cứu về thực tiễn: viết chương trình Mã hóa và giải mã với hệ mã kết hợp ALT – Affine bằng ngôn ngữ lập trình C#.
- chương trình Mã hóa và giải mã với hệ mã kết hợp ALT – Affine.
- Phần phụ lục trình bày chương trình Mã hóa và giải mã với hệ mã kết hợp ALT – Affine được viết bằng ngôn ngữ lập trình C#.
- 9 CHƯƠNG 1: TỔNG QUAN VỀ CÁC HỆ MÃ 1.1 Sơ lược lịch sử về mật mã Như đã giới thiệu trong lời mở đầu, nhu cầu sử dụng mật mã đã xuất hiện từ rất sớm, khi con người biết trao đổi và truyền đưa thông tin cho nhau, đặc biệt khi các thông tin đó đã được thể hiện dưới hình thức ngôn ngữ, thư từ.
- Lịch sử cho ta biết, các hình thức mật mã sơ khai đã được tìm thấy từ khoảng bốn nghìn năm trước trong nền văn minh Ai cập cổ đại.
- Trải qua hàng nghìn năm lịch sử, mật mã đã được sử dụng rộng rãi trên khắp thế giới từ Đông sang Tây để giữ bí mật cho việc giao lưu thông tin trong nhiều lĩnh vực hoạt động giữa con người và các quốc gia, đặc biệt trong các lĩnh vực quân sự, chính trị, ngoại giao.
- Mật mã trước hết là một loại hoạt động thực tiễn, nội dung chính của nó là để giữ bí mật thông tin (chẳng hạn dưới dạng một văn bản) từ một người gửi A đến một người nhận B, A phải tạo cho văn bản đó một bản mã mật tương ứng, và thay vì gửi văn bản rõ thì A chỉ gửi cho B bản mã mật, B nhận được bản mã mật và sẽ có cách từ đó khôi phục lại văn bản rõ để hiểu được thông tin mà A muốn gửi cho mình.
- Vì bản gửi đi thường được chuyển qua các con đường công khai nên người ngoài có thể "lấy trộm" được, nhưng do đó là bản mật mã nên không đọc hiểu được, còn A có thể tạo ra bản mã mật và B có thể giải bản mã mật thành bản rõ để hiểu được là do giữa hai người đã có một thỏa thuận về một chìa khóa chung, chỉ với chìa khóa chung này thì A mới tạo được bản mã mật từ bản rõ, và B mới từ bản mã mật khôi phục lại được bản rõ.
- Sau này ta sẽ gọi đơn giản 10 chìa khóa chung đó là khóa mật mã.
- Các thuật toán đó được gọi tương ứng là thuật toán lập mật mã và thuật toán giải mật mã.
- Các thuật toán này thường không nhất thiết phải giữ bí mật, mà cái cần được giữ tuyệt mật luôn luôn là khóa mật mã.
- Trong thực tiễn, đã có hoạt động bảo mật thì cũng có hoạt động ngược lại là khám phá bí mật từ các bản mã mật "lấy trộm" được, ta thường gọi hoạt động này là mã thám, hoạt động này quan trọng không kém gì hoạt động bảo mật! Vì các thuật toán lập mật mã và giải mật mã không nhất thiết là bí mật, nên mã thám thường được tập trung vào việc tìm khóa mật mã, do đó cũng có người gọi công việc đó là phá khóa.
- vì vậy, các thuật toán lập mật mã thường cũng đơn giản là thuật toán xáo trộn, thay đổi các ký tự được xác định bởi các phép chuyển dịch, thay thế hay hoán vị các ký tự trong bảng ký tự của ngôn ngữ tương ứng.
- khóa mật mã là thông tin dùng để thực hiện phép lập mật mã và giải mật mã cụ thể, ví dụ như số vị trí đối với phép chuyển dịch, bảng xác định các cặp ký tự tương ứng đối với phép thay thế hay hoán vị.
- Mật mã chưa phải là một khoa học, do đó chưa có nhiều kiến thức sách vở để lại, tuy nhiên hoạt động bảo mật và thám mã trong lịch sử các cuộc đấu tranh chính trị, ngoại giao và quân sự thì hết 11 sức phong phú, và mật mã đã có nhiều tác động rất quan trọng đưa đến những kết quả lắm khi có ý nghĩa quyết định trong các cuộc đấu tranh đó.
- Do trong một thời gian dài, bản thân hoạt động mật mã cũng được xem là một bí mật, nên các tài liệu kỹ thuật về mật mã được phổ biến đến nay thường chỉ ghi lại các kiến thức kinh nghiệm, thỉnh thoảng mới có một vài "phát minh" như các hệ mật mã Vigenère vào thế kỷ 16 hoặc hệ mật mã Hill ra đời năm 1929 là các hệ mã thực hiện phép chuyển dịch (đối với mã Vigenère) hay phép thay thế (mã Hill) đồng thời trên một nhóm ký tự chứ không phải trên từng ký tự riêng rẽ.
- Bước sang thế kỷ 20, với những tiến bộ liên tục của kỹ thuật tính toán và truyền thông, ngành mật mã cũng đã có những tiến bộ to lớn.
- Vào những thập niên đầu của thế kỷ, sự phát triển của các kỹ thuật biểu diễn, truyền và xử lý tín hiệu đã có tác động giúp cho các hoạt động lập và giải mật mã từ thủ công chuyển sang cơ giới hóa rồi điện tử hóa.
- Các văn bản, các bản mật mã trước đây được viết bằng ngôn ngữ thông thường nay được chuyển bằng kỹ thuật số thành các dãy tín hiệu nhị phân, tức các dãy bit, và các phép biến đổi trên các dãy ký tự được 12 chuyển thành các phép biến đổi trên các dãy bit, hay các dãy số, việc thực hiện các phép lập mã, giải mã trở thành việc thực hiện các hàm số số học.
- Toán học và kỹ thuật tính toán bắt đầu trở thành công cụ cho việc phát triển khoa học về mật mã.
- Khái niệm trung tâm của khoa học mật mã là khái niệm bí mật.
- Việc sử dụng lý thuyết xác suất và ngẫu nhiên làm cơ sở để nghiên cứu mật mã đã giúp C.Shannon đưa ra khái niệm bí mật hoàn toàn của một hệ mật mã từ năm 1948, khởi đầu cho một lý thuyết xác suất về mật mã.
- Trong thực tiễn làm mật mã, các dãy bit ngẫu nhiên được dùng để trộn với bản rõ (dưới dạng một dãy bit xác định) thành ra bản mật mã.
- xn-1) với xác suất đúng > 1/2 đều phải có độ phức tạp tính toán thuộc lớp NP-khó! 1.2 Các hệ thống mật mã 1.2.1 Sơ đồ hệ thống mật mã Mật mã được sử dụng để bảo vệ tính bí mật của thông tin khi thông tin được truyền trên các kênh truyền thông công cộng như các kênh bưu chính, điện thoại, mạng truyền thông máy tính, mạng Internet.
- Giả sử một người gửi A muốn gửi đến một người nhận B một văn bản (chẳng hạn, một bức thư) p, để bảo mật A lập cho p một bản mật mã c, và thay cho việc gửi p, A gửi cho B bản mật mã c, B nhận được c và "giải mã" c để lại được văn bản p như A định gửi.
- Để A biến p thành c và B biến 14 ngược lại c thành p , A và B phải thỏa thuận trước với nhau các thuật toán lập mã và giải mã, và đặc biệt một khóa mật mã chung K để thực hiện các thuật toán đó.
- Sau đây ta sẽ cho một định nghĩa hình thức về sơ đồ mật mã và cách thức thực hiện để lập mật mã và giải mật mã.
- Định nghĩa 1.1 Một sơ đồ hệ thống mật mã là một bộ năm thành phần: S = (P , C , K , E , D) (1) thỏa mãn các điều kiện sau đây: P là một tập hữu hạn các ký tự bản rõ, C là một tập hữu hạn các ký tự bản mã, K là một tập hữu hạn các khóa, E là một ánh xạ từ K × P vào C, được gọi là phép lập mật mã.
- ek và dk được gọi lần lượt là hàm lập mã và hàm giải mã ứng với khóa mật mã k.
- Về sau, để thuận tiện ta sẽ gọi một danh sách (1) thoả mãn các tính chất kể trên là một sơ đồ hệ thống mật mã, còn khi đã chọn cố định một khoá k, thì danh sách (P , C , ek , dk) là một hệ mật mã thuộc sơ đồ đó.
- 15 Trong định nghĩa này, phép lập mật mã (giải mã) được định nghĩa cho từng ký tự bản rõ (bản mã).
- Trong thực tế, bản rõ của một thông báo thường là một dãy ký tự bản rõ, tức là phần tử của tập P*, và bản mật mã cũng là một dãy các ký tự bản mã, tức là phần tử của tập C*, việc mở rộng các hàm ek và dk lên các miền tương ứng P* và C* để được các thuật toán lập mật mã và giải mã dùng trong thực tế sẽ được trình bày trong tiết sau.
- 1.2.2 Mã hóa theo khối và mã theo dòng Theo định nghĩa 1.1 về sơ đồ mật mã, cứ mỗi lần truyền tin bảo mật, cả người gửi A và người nhận B phải cùng thỏa thuận trước với nhau một khóa chung k, sau đó người gửi dùng ek để lập mật mã cho 16 thông báo gửi đi, và người nhận dùng dk để giải mã bản mật mã nhận được.
- Người gửi và người nhận cùng có một khóa chung k, được giữ như bí mật riêng của hai người, dùng cả cho lập mật mã và giải mã, ta gọi những hệ mật mã với cách sử dụng đó là mật mã khóa đối xứng, đôi khi cũng gọi là mật mã truyền thống, vì đó là cách đã được sử dụng từ hàng ngàn năm nay.
- k' dành cho việc lập mật mã (và ta có hàm lập mã ek.
- các hàm lập mã và giải mã thỏa mãn hệ thức dk''(ek'(x.
- x với mọi x  p thì ta được một hệ mật mã khóa phi đối xứng.
- Như vậy, trong một hệ mật mã khóa phi đối xứng, các khóa lập mã và giải mã (k' và k.
- Một hệ mật mã khóa phi đối xứng có tính chất nói trên, trong đó khóa lập mật mã k' của mỗi người tham gia đều được công bố công khai, được gọi là hệ mật mã khóa công khai.
- Khái niệm mật mã khóa công khai mới được ra đời vào giữa những năm 1970, và ngay sau đó đã trở thành một khái niệm trung tâm của khoa học mật mã hiện đại.
- Cơ sở của các giải pháp cho các bài toán kể trên là các phương pháp mật mã, đặc biệt là mật mã khóa công khai.
- 1.4 Thám mã và tính an toàn của các hệ mật mã 1.4.1 Vấn đề thám mã Mật mã được sử dụng trước hết là để bảo đảm tính bí mật cho các thông tin được trao đổi, và do đó bài toán quan trọng nhất của thám mã cũng là bài toán phá bỏ tính bí mật đó, tức là từ bản mật mã có thể thu được dễ dàng (trên các kênh truyền tin công cộng) người thám mã phải phát hiện được nội dung thông tin bị che giấu trong bản mật mã đó, mà tốt nhất là tìm ra được bản rõ gốc của bản mật mã đó.
- Tình huống thường gặp là bản thân sơ đồ hệ thống mật mã, kể cả các phép lập mã và giải mã (tức các thuật toán E và D), không nhất thiết là bí mật, do đó bài 19 toán quy về việc tìm chìa khóa mật mã k, hay chìa khóa giải mã k.
- nếu hệ mật mã có khóa phi đối xứng.
- Như vậy, ta có thể quy ước xem bài toán thám mã cơ bản là bài toán tìm khóa mật mã k (hay khóa giải mã k.
- Để giải bài toán đó, giả thiết người thám mã biết thông tin về sơ đồ hệ mật mã được dùng, kể cả các phép lập mã và giải mã tổng quát E và D.
- Bài toán thám mã chỉ biết bản mã: là bài toán phổ biến nhất, khi người thám mã chỉ biết một bản mật mã Y.
- Bài toán thám mã khi biết cả bản rõ: người thám mã biết một bản mật mã Y cùng với bản rõ tương ứng X.
- Bài toán thám mã khi có bản rõ được chọn: người thám mã có thể chọn một bản rõ X, và biết bản mật mã tương ứng Y.
- Bài toán thám mã khi có bản mã được chọn: người thám mã có thể chọn một bản mật mã Y, và biết bản rõ tương ứng X.
- 1.4.2 Tính an toàn của một hệ mật mã Tính an toàn của một hệ thống mật mã phụ thuộc vào độ khó khăn của bài toán thám mã khi sử dụng hệ mật mã đó.
- Người ta đã đề xuất một số cách hiểu cho khái niệm an toàn của hệ thống mật mã, để trên cơ sở các cách hiểu đó nghiên cứu tính an toàn của nhiều hệ mật mã khác nhau, sau đây ta giới thiệu vài cách hiểu thông dụng nhất: 20 - An toàn vô điều kiện: giả thiết người thám mã có được thông tin về bản mã.
- Theo quan niệm lý thuyết thông tin, nếu những hiểu biết về bản mã không thu hẹp được độ bất định về bản rõ đối với người thám mã, thì hệ mật mã là an toàn vô điều kiện, hay theo thuật ngữ của C.Shannon, hệ là bí mật hoàn toàn.
- An toàn được chứng minh: một hệ thống mật mã được xem là có độ an toàn được chứng minh nếu ta có thể chứng minh được là bài toán thám mã đối với hệ thống đó khó tương đương với một bài toán khó đã biết, ví dụ bài toán phân tích một số nguyên thành tích các thừa số nguyên tố, bài toán tìm logarit rời rạc theo một modul nguyên tố.
- An toàn tính toán: hệ mật mã được xem là an toàn (về mặt) tính toán, nếu mọi phương pháp thám mã đã biết đều đòi hỏi một nguồn năng lực tính toán vượt mọi khả năng (kể cả phương tiện thiết bị) tính toán của một kẻ thù giả định.
- Tính an toàn theo nghĩa được chứng minh hay tính toán được sử dụng nhiều trong việc nghiên cứu các hệ thống mật mã hiện đại, đặc biệt là các hệ thống mật mã khóa công khai.
- Các bài toán đó đều có hạt nhân là tính an toàn của một hệ mật mã nào đó, cho nên việc nghiên cứu 21 tính an toàn của các hệ mật mã cũng góp phần giải quyết các vấn đề an toàn thông tin kể trên.
- Bây giờ ta sẽ xét xem các phép toán giải mã trong mật mã Affine với modul m = 26.
- Như vậy hàm giải mã là: d(y.
- Nếu dùng hệ mật mã Affine với khóa K = (5, 6) ta sẽ được bản mật mã: y Chuyển sang dòng ký tự tiếng Anh ta được bản mật mã dưới dạng: “patkgdtpgchgyqpuacxpclgw” Vì có 12 số thuộc Z26 nguyên tố với 26, nên số các khóa có thể có (do đó, số các hệ mã Affine) là bằng một con số không 26 lớn lắm nếu ta sử dụng máy tính để thực hiện việc thám mã bằng cách duyệt lần lượt tất cả các khóa có thể, như vậy mã Affine cũng không còn được xem là mã an toàn.
- Ví dụ 1.8 Ta có bản mật mã: “fmxvedkaphferbndkrxrsrefmorudsdkdvshvufedkaprkdlyevlrhhrh” Hãy tìm khoá mật mã và bản rõ tương ứng.
- Ta thấy trong bản mật mã nói trên, r xuất hiện 8 lần, d 7 lần, e, k, h mỗi ký tự 5 lần, f, s, v mỗi ký tự 4 lần.
- Khi đó phép lập mật mã là eK(x.
- (iii) Giả thiết cặp (X, Y) là mã luân phiên.
- (ii) Mã luân phiên chẵn.
- Sử dụng mã hóa đủ mạnh (ví dụ không dùng XOR.
- Bottom Chọn tệp tin: chọn tệp cần mã hóa hoặc tệp cần giải mã.
- B2: Chọn radio bottom Mã hóa từ giao diện chính của chương trình.
- 63 KẾT LUẬN Các kết quả chính của luận văn: Luận văn đã nêu sơ lược lịch sử về mật mã, các hệ thống mật mã, các bài toán về an toàn thông tin, thám mã và tính an toàn của các hệ mật mã và sơ lược về hệ mã Affine.
- Vì vậy, để ngành mật mã có thể phát huy tính ưu việt của nó cần phải áp dụng mã hóa nhiều lớp, luận văn cần được phát triển và mở rộng không những chỉ về các sơ đồ mã hóa, mà còn cả về các ứng dụng công nghệ để xây dựng các phần mềm mã hóa làm chương trình chạy trung gian của các chương trình ứng dụng, các website.
- Phan Đình Diệu, Lý thuyết mật mã & An toàn thông tin, NXB Đại học Quốc gia Hà Nội – 2002.
- Vũ Thành Nam, Nghiên cứu ứng dụng mật mã xây dựng giải pháp bảo vệ nội dung website, Đề tài khoa học công nghệ cấp Bộ .
- 68 PHỤ LỤC Code chương trình mã hóa và giải mã với hệ mã kết hợp ALT - Affine.
- //----Mã hóa Affine.
- 74 } //----Hàm mã hóa Affine.
- //----Hàm giải mã Affine

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt