TIỂU LUẬN PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA

26 1.9K 6
TIỂU LUẬN PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA

Đ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

TIỂU LUẬN PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA Thế kỷ XXI thế kỷ công nghệ thông tin, thông tin đã và đang tác động trực tiếp đến mọi mặt hoạt động kinh tế xã hội của hầu hết các quốc gia trên thế giới. Thông tin có vai trò hết sức quan trọng, bởi vậy chúng ta phải làm sao đảm bảo được tính trong suốt của thông tin nghĩa là thông tin không bị sai lệch, bị thay đổi, bị lộ trong quá trình truyền từ nơi gửi đến nơi nhận.

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TIỂU LUẬN PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA Giảng viên : PGS.TS. Trịnh Nhật Tiến Học viên : Đỗ Xuân Hoàng Mã học viên : 13025163 Môn học : Mật mã và an toàn dữ liệu PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA Hà Nội – 2014 13025163 - Đỗ Xuân Hoàng Trang 2 PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA MỤC LỤC MỤC LỤC 3 I. TỔNG QUAN VỀ MÃ HÓA 4 II. PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA 7 13025163 - Đỗ Xuân Hoàng Trang 3 PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA I. TỔNG QUAN VỀ MÃ HÓA Thế kỷ XXI thế kỷ công nghệ thông tin, thông tin đã và đang tác động trực tiếp đến mọi mặt hoạt động kinh tế xã hội của hầu hết các quốc gia trên thế giới. Thông tin có vai trò hết sức quan trọng, bởi vậy chúng ta phải làm sao đảm bảo được tính trong suốt của thông tin nghĩa là thông tin không bị sai lệch, bị thay đổi, bị lộ trong quá trình truyền từ nơi gửi đến nơi nhận. Mã hóa thông tin là một trong các phương pháp đảm bảo được tính trong suốt của thông tin. Nó có thể giải quyết các vấn đề rắc rối ở trên giúp bạn, một khi thông tin đã được mã hóa và gửi đi thì kẻ xấu rất khó hoặc không thể giải mã được. Phần này sẽ mô tả một cách tổng quan về mã hóa, bao gồm những khái niệm về mã hóa thông tin, một hệ thống mã hóa bao gồm những thành phần nào, khái niệm protocol, các loại protocol. 1. Khái niệm cơ bản - Bản rõ (plaintext or cleartext) Chứa các xâu ký tự gốc, thông tin trong bản rõ là thông tin cần mã hóa để giữ bí mật - Bản mã (ciphertext) Chứa các ký tự sau khi đã được mã hóa, mà nội dung được giữ bí mật. - Mật mã học (Cryptographi) Là nghệ thuật và khoa học để giữ thông tin được an toàn. - Sự mã hóa (Encryption) Quá trình che dấu thông tin bằng phương pháp nào đó để làm ẩn nội dung bên trong gọi là sự mã hóa. - Sự giải mã (Decryption) Quá trình biến đổi trả lại bản mã bản thành bản rõ gọi là giải mã. Quá trình mã hóa và giải mã hóa thể hiện trong sơ đồ sau: 13025163 - Đỗ Xuân Hoàng Trang 4 PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA - Hệ mật mã : Là một hệ bao gồm 5 thành phần (P,C,K,E,D) thỏa mãn các tính chất sau : P (Plaintext) là tập hợp hữu hạn các bản rõ có thể. C (Ciphertext) là tập hợp hữu hạn các bản mã có thể. K (Key) là tập hợp các bản khóa có thể. E (Encrytion) là tập hợp các quy tắc mã hóa có thể. D (Decryption) là tập hợp các quy tắc giải mã có thể. Một thông báo thường được tổ chức dưới dạng bản rõ. Người gửi sẽ làm nhiệm vụ mã hóa bản rõ, kết quả thu được gọi là bản mã. Bản mã này được gửi đi trên một đường truyền tới người nhận sau khi nhận được bản mã người nhận giải mã nó để tìm hiểu nội dung. Dễ dàng thấy được công việc trên khi sử dụng định nghĩa hệ mật mã. 2. Protocol 2.1. Giới thiệu protocol Trong suốt cả quá trình của hệ thống mật mã là giải quyết các vấn đề, những vấn đề của hệ bao gồm: Giải quyết công việc xunh quanh sự bí mật, tính không tin cậy và những kẻ bất lương. Bạn có thể học mọi điều về thuật toán cũng như các kỹ thuật, nhưng có một điều rất đáng quan tâm đó là protocol. Protocol là một loạt các bước, bao gồm hai hoặc nhiều người, thiết kế để hoàn thành nhiệm vụ. "Một loạt các bước" nghĩa là protocol thực hiện theo một tuần tự , từ khi 13025163 - Đỗ Xuân Hoàng Trang 5 PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA bắt đầu cho tới lúc kết thúc. Mỗi bước phải thực hiện tuần tự và không có bước nào được thực hiện trước khi bước trước đó đã hoàn thành. "Bao gồm hai hay nhiều người" nghĩa là cần ít nhất hai người hoàn thành protocol, một người không thể tạo ra được một protocol. Chắc chắn rằng một người có thể thực hiện một loạt các bước để hoàn thành nhiệm vụ, nhưng đó không phải là protocol. Cuối cùng "thiết kế để hoàn thành nhiệm vụ" nghĩa là mội protocol phải làm một vài điều gì đó. Protocol có một vài thuộc tính khác nhau như sau: 1. Mọi người cần phải trong một protocol, phải biết protocol đó và tuân theo tất cả mọi bước trong sự phát triển. 2. Mọi người phải trong một protocol và phải đồng ý tuân theo nó. 3. Một protocol phải rõ ràng, mỗi bước phải được định nghĩa tốt và phải không có cơ hội hiểu nhầm. 4. Protocol phải được hoàn thành, phải có những hành động chỉ rõ cho mỗi trường hợp có thể. 2.2. Protocol mật mã Protocol mật mã là protocol sử dụng cho hệ thống mật mã. Một nhóm có thể gồm những bạn bè và những người hoàn toàn tin cậy khác hoặc họ có thể là địch thủ hoặc những người không tin cậy một chút nào hết. Một điều hiển nhiên là protocol mã hóa phải bao gồm một số thuật toán mã hóa nhưng mục đích chung của protocol là một điều gì đó xa hơn là điều bí mật đơn giản. 2.3. Mục đích của protocol Trong cuộc sống hàng ngày, có rất nhiều nghi thức thân mật cho hầu hết tất cả mọi điều như gọi điện thoại, chơi bài, bầu cử. Không có gì trong số chúng lại không có protocol, chúng tiến triển theo thời gian, mọi người đều biết sử dụng chúng như thế nào và làm việc với chúng. Hơn nữa bây giờ mọi người giao tiếp với nhau qua mạng máy tính thay cho sự gặp mặt thông thường. Máy tính cần thiết một nghi thức chuẩn để làm những việc giống nhau như con người không phải suy nghĩ. Nếu bạn đi từ một địa điểm này tới 13025163 - Đỗ Xuân Hoàng Trang 6 PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA địa điểm khác, thậm chí từ quốc gia này tới quốc gia khác, bạn thấy một trạm điện thoại công cộng khác hoàn toàn so với cái bạn đã sử dụng, bạn dễ dàng đáp ứng. Nhưng máy tính thì không mềm dẻo như vậy. Thật ngây thơ khi bạn tin rằng mọi người trên mạng máy tính là chân thật, và cũng thật ngây thơ khi tin tưởng rằng người quản trị mạng, người thiết kế mạng là chân thật. Hầu hết sẽ là chân thật, nhưng nó sẽ là không chân khi bạn cần đến sự an toàn tiếp theo. Bằng những protocol chính thức, chúng ta có thể nghiên cứu những cách mà những kẻ không trung thực có thể lừa đảo và phát triển protocol để đánh bại những kẻ lừa đảo đó. Protocol rất hữa ích bởi vì họ trừu tượng hoá tiến trình hoàn thành nhiệm vụ từ kỹ thuật, như vậy nhiệm vụ đã được hoàn thành.Sự giao tiếp giữa hai máy tính giống như một máy tính là IBM PC, máy kia là VAX hoặc loại máy tương tự. Khái niệm trừu tượng này cho phép chúng ta nghiên cứu những đặc tính tốt của protocol mà không bị xa lầy vào sự thực hiện chi tiết. Khi chúng ta tin rằng chúng ta có một protocol tốt, thì chúng ta có thể thực hiện nó trong mọi điều từ một máy tính đến điện thoại, hay đến một lò nướng bánh thông minh. II. PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA Hiện nay có rất nhiều các thuật toán mã hóa khác nhau. Từ những thuật toán được công khai để mọi người cùng sử dụng và áp dụng như là một chuẩn chung cho việc mã hóa dữ liệu, đến những thuật toán mã hóa không được công bố. Có thể phân loại thuật toán mã hóa theo các phương pháp như sau: Mã hóa cổ điển Mã hóa đối xứng Mã hóa bất đối xứng Hàm băm 1. Mã hóa cổ điển Mã hóa cổ điển là một dạng của mật mã học đã được sử dụng trong lịch sử phát triển của loài người nhưng ngày nay đã trở nên lạc hậu do các phương thức mã hóa này quá đơn giản và những kẻ tấn công có thể dễ dàng bẻ khóa thông qua nhiều phương thức 13025163 - Đỗ Xuân Hoàng Trang 7 PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA như tấn công vét cạn hay dựa trên tấn công thống kê (dựa trên tần suất xuất hiện các chữ cái). Mật mã học cổ điển hoạt động trên cơ sở bảng chữ cái và chúng được thực hiện bằng tay hay một số máy móc cơ khí đơn giản. Các phương thức mã hóa cổ điển chủ yếu dựa trên mật mã hóa hoán vị và mật mã hóa thay thế. Mã hóa hoán vị bao gồm: Mật mã ceasar, Mật mã playfair, Mật mã hill + Mật mã ceasar Thế kỷ thứ 3 trước công nguyên, nhà quân sự người La Mã Julius Ceasar đã nghĩ ra phương pháp mã hóa một bản tin như sau: Thay thế mỗi chữ trong bản tin bằng chữ đứng sau nó k vị trí trong bảng chữ cái. Giả sử chọn k=3 ta có bảng chuyển đổi như sau: Chữ ban đầu: a b c d e f g h i j k l m n o p q r s t u v w x y z Chữ thay thế: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C (sau Z sẽ vòng lại là A, do đó x -> A, y -> B và z -> C) Phương pháp Ceasar được biểu diễn như sau: với mỗi chữ cái p thay bằng chữ mã hóa C, trong đó: C = (p + k) mod 26 (trong đó mod là phép chia lấy số dư) Và quá trình giải mã đơn giản là: p = (C – k) mod 26 k được gọi là khóa. Dĩ nhiên là Ceasar và cấp dưới phải cùng dùng chung một giá trị khóa k, nếu không bản tin giải mã sẽ không giống bản rõ ban đầu. Ngày nay phương pháp mã hóa của Ceasar không được xem là an toàn. Giả sử đối thủ của Ceasar có được bản mã PHHW PH DIWHU WKH WRJD SDUWB và biết được phương pháp mã hóa và giải mã là phép cộng trừ modulo 26. + Mật mã Playfair Mật mã Playfair xem hai ký tự đứng sát nhau là một đơn vị mã hóa, hai ký tự này được thay thế cùng lúc bằng hai ký tự khác. Playfair dùng một ma trận 5x5 các ký tự như sau: M O N A R C H Y B D 13025163 - Đỗ Xuân Hoàng Trang 8 PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA E F G I/J K L P Q S T U V W X Z Trong bảng trên, khóa là từ MONARCHY được điền vào các dòng đầu của bảng, các chữ cái còn lại được điền tiếp theo. Riêng hai chữ I,J được điền vào cùng một ô vì trong tiếng anh, ít khi nhầm lẫn giữa chữ I và J. Ví dụ, nếu gặp đoạn ký tự CL_MATE ta sẽ biết đó là từ CLIMATE chứ không phải là từ CLJMATE. Trước khi mã hóa, bản rõ được tách ra thành từng cặp ký tự. Nếu hai ký tự trong một cặp giống nhau thì sẽ được tách bằng chữ X (trong tiếng anh ít khi có 2 ký tự X sát nhau). Ví dụ: Từ Ballon được tách thành balxloon. Việc mã hóa từng cặp được thực hiện theo quy tắc: - Nếu hai ký tự trong cặp thuộc cùng một hàng, thì được thay bằng hai ký tự tiếp theo trong hàng. Nếu đến cuối hàng thì quay về đầu hàng. Ví dụ cặp ar được mã hóa thành RM. - Nếu hai ký tự trong cặp thuộc cùng một cột, thì được thay bằng hai ký tự tiếp theo trong cột. Nếu đến cuối cột thì quay về đầu cột. Ví dụ cột ov được mã hóa thành HO. - Trong các trường hợp còn lại, hai ký tự được mã hóa sẽ tạo thành đường chéo của một hình chữ nhật và được thay thế bằng 2 ký tự trên đường chéo kia. Ví dụ: hs trở thành BP (B cùng dòng với H và P cùng dòng với S); ea trở thành IM (hoặc JM). Như vậy nếu chỉ xét trên 26 chữ cái thì mã khóa Playfair có 26x26=676 cặp chữ cái, do đó các cặp chữ cái này ít bị lệch về tần suất hơn so với sự chênh lệch tần suất của từng chữ cái. Ngoài ra số lượng các cặp chữ cái nhiều hơn cũng làm cho việc phá mã tần suất khó khăn hơn. Đây chính là lý do mà người ta tin rằng mã hóa Playfair không thể bị phá và được quân đội Anh sử dụng trong chiến tranh thế giới lần thứ nhất. + Mã Hill Trong mã Hill mỗi chữ cái được gán cho một con số nguyên từ 0 đến 25 13025163 - Đỗ Xuân Hoàng Trang 9 PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Mã Hill thực hiện mã hóa một lần m ký tự bản rõ (ký hiệu p1, p2,…,pm), thay thế thành m ký tự trong bản mã (ký hiệu c1, c2,…,cm). Việc thay thế này được thực hiện bằng m phương trình tuyến tính. Giả sử m = 3, chúng ta minh họa m phương trình đó như sau: Ba phương trình trên có thể biểu diễn thành vector và phép nhân ma trận như sau: Hay: C = KP mod 26 với P và C là vector đại diện cho bản rõ và bản mã, còn K là ma trận dùng làm khóa. Xét ví dụ bản rõ là paymoremoney cùng với khóa K là Ba chữ cái đầu tiên của bản rõ tương ứng với vector (15, 0, 24) . Vậy Thực hiện tương tự ta có bản mã đầy đủ là LNSHDLEWMTRW 13025163 - Đỗ Xuân Hoàng Trang 10 . TIỂU LUẬN PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA Giảng viên : PGS.TS. Trịnh Nhật Tiến Học viên : Đỗ Xuân Hoàng Mã học viên : 13025163 Môn học : Mật mã và an toàn dữ liệu PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ. PHƯƠNG PHÁP MÃ HÓA Hà Nội – 2014 13025163 - Đỗ Xuân Hoàng Trang 2 PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA MỤC LỤC MỤC LỤC 3 I. TỔNG QUAN VỀ MÃ HÓA 4 II. PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA 7 13025163 -. chung cho việc mã hóa dữ liệu, đến những thuật toán mã hóa không được công bố. Có thể phân loại thuật toán mã hóa theo các phương pháp như sau: Mã hóa cổ điển Mã hóa đối xứng Mã hóa bất đối xứng Hàm

Ngày đăng: 19/10/2014, 16:29

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • I. TỔNG QUAN VỀ MÃ HÓA

    • 1. Khái niệm cơ bản

    • 2. Protocol

      • 2.1. Giới thiệu protocol

      • 2.2. Protocol mật mã

      • 2.3. Mục đích của protocol

      • II. PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA

        • 1. Mã hóa cổ điển

        • 2. Mã hóa đối xứng

          • 2.1. Mã dòng

          • 2.2. Mã khối

          • 3. Hệ mã hóa công khai (Hệ mã phi đối xứng)

          • 4. Mã chứng thực thông điệp, hàm băm

            • 4.1. Mã chứng thực thông điệp

            • 4.2. Hàm băm

            • 4.3. Trình bày hàm băm MD5

Tài liệu cùng người dùng

Tài liệu liên quan