Tìm hiểu một số thuật toán mã hóa dữ liệu

47 1.9K 1
Tìm hiểu một số thuật toán mã hóa dữ liệu

Đ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

TRƯỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN -------------------------- NGUYỄN THỊ LAN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đề tài: TÌM HIỂU MỘT SỐ THUẬT TOÁN HÓA DỮ LIỆU VÀ ỨNG DỤNG NGHỆ AN - 2012 TRƯỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN -------------------------- BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đề tài: TÌM HIỂU MỘT SỐ THUẬT TOÁN HÓA DỮ LIỆU VÀ ỨNG DỤNG Giáo viên hướng dẫn: ThS. Phạm Thị Thu Hiền Sinh viên thực hiện: Nguyễn Thị Lan Lớp: 49K - CNTT số SV: 0851070255 Đồ án tốt nghiệp Đại học Nghệ An, tháng 12 năm 2012 Nguyễn Thị Lan - Lớp 49K - Tin - Khoa CNTT 2 LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành tới quý thầy cô giáo khoa Công Nghệ Thông Tin, trường Đại Học Vinh nói chung và thầy cô giáo trong bộ môn Phương pháp giảng dạy nói riêng, đã giúp đỡ, tạo điều kiện cho em trong suốt quá trình làm đồ án. Đặc biệt em xin chân thành cảm ơn cô giáo ThS. Phạm Thị Thu Hiền, người đã giúp đỡ, chỉ bảo, hướng dẫn tận tình cho em trong quá trình làm đồ án. Trong thời gian làm việc với cô, em không những học hỏi được nhiều kiến thức bổ ích về các phương pháp hóa và tầm quan trọng của hóa dữ liệu trong thời đại ngày nay còn học được tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc của cô. Xin gửi lời cảm ơn chân thành đến gia đình, cha mẹ và bạn bè vì đã luôn là nguồn động viên to lớn, giúp đỡ con vượt qua những khó khăn trong suốt quá trình làm việc. Mặc em đã cố gắng hoàn thành đề tài với tất cả nổ lực của bản thân nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Em kính mong nhận được sự cảm thông và nhận được sự đóng góp của quý thầy cô và các bạn. Một lần nữa, em xin chân thành cảm ơn! Tháng 12 năm 2012 Sinh viên thực hiện Nguyễn Thị Lan MỤC LỤC CHƯƠNG 1: TỔNG QUAN VỀ HỆ MẬT .2 1.1. Khái niệm về hóa thông tin .2 1.1.1. Khái niệm 2 1.1.2. Vai trò của hóa 2 1.1.3. Các thành phần của hệ hóa 2 1.2. Tiêu chuẩn để đánh giá hệ hóa 3 1.2.1. Độ an toàn của thuật toán 3 1.2.2. Tốc độ hóa và giải .4 1.2.3. Phân phối khóa .4 1.3. Khóa 4 1.3.1. Khái niệm 4 1.3.2. Ví dụ 4 1.4. Phân loại các thuật toán hóa .4 1.4.1. Phân loại theo các phương pháp 4 1.4.2. Phân loại theo số lượng khóa 5 CHƯƠNG 2: CÁC PHƯƠNG PHÁP HÓA CỔ ĐIỂN 8 2.1. Hệ hóa thay thế .8 2.1.1. Hệ hóa CEASAR 8 2.2.2. hóa theo mẫu hình học . 12 3.1.2. Mô tả thuật toán DES 15 3.1.3. Giải DES 25 3.1.4. Độ an toàn của thuật toán 25 3.2. Thuật toán hóa RSA (Rivest, Shamir, Adleman) 26 3.2.1. Khái quát về RSA . 26 3.2.3. Một số phương pháp tấn công . 30 3.2.4. Đánh giá thuật toán 31 3.3. Thuật toán hóa MD5(Message-Digest algorithm 5) .32 3.3.1. Hàm băm MD5 .32 3.4. Ứng dụng 37 KẾT LUẬN .39 TÀI LIỆU THAM KHẢO .41 DANH MỤC VIẾT TẮT, THUẬT NGỮ STT Từ viết tắt Giải nghĩa 1 DES Data Encryption Standard 2 AES Advanced Encryption Standard 3 RC Rivest Cipher 4 CATS Carlisle Adams, and Stafford Tavares 5 MD Message Digest 6 SHA Secure Hash Alorithm 7 FIPS Federal Information Processing Standard (tiêu chuẩn xử lý thông tin liên bang) 8 RSA Rivest, Shamir, Adleman 9 MIT Học viện công nghệ Massachusetts 10 NSA Cơ quan Bảo mật quốc gia Hoa Kỳ Đồ án tốt nghiệp Đại học LỜI MỞ ĐẦU Lí do chọn đề tài: Hiện nay, nước ta đang trong giai đoạn tiến hành công nghiệp hóa, hiện đại hóa đất nước. Tin học được xem là một trong những ngành mũi nhọn. Tin học đã và đang đóng góp rất nhiều cho xã hội trong mọi khía cạnh của cuộc sống. hóa thông tin là một ngành quan trọng và có nhiều ứng dụng trong đời sống xã hội. Ngày nay, các ứng dụng hóa và bảo mật thông tin đang được sử dụng ngày càng phổ biến hơn trong các lĩnh vực khác nhau trên thế giới, từ các lĩnh vực an ninh, quân sự, quốc phòng… cho đến các lĩnh vực dân sự như thương mại điện tử, ngân hàng… Ứng dụng hóa và bảo mật thông tin trong hệ thống thương mại điện tử, giao dịch chứng khoán,… đã trở nên phổ biến trên thế giới và sẽ ngày càng trở nên quen thuộc với người dân Việt Nam. Tháng 7/2000, thị trường chứng khoán lần đầu tiên được hình thành tại Việt Nam, các thẻ tín dụng bắt đầu được sử dụng, các ứng dụng hệ thống thương mại điện tử đang ở bước đầu được quan tâm và xây dựng. Do đó, hóa có vai trò rất quan trọng, đặc biệt là trong giao dịch điện tử. Nó giúp đảm bảo bí mật, toàn vẹn của thông tin, khi thông tin đó được truyền trên mạng. hóa cũng là nền tảng của kĩ thuật chữ ký điện tử, hệ thống PKI(Public key infrastructure – Hạ tầng khóa công khai) Chính vì vậy em đã chọn “Tìm hiểu một số phương pháp hóa” làm đồ án tốt nghiệp của mình. Cấu trúc đồ án như sau:  Chương 1: Tổng quan về hệ mật  Chương 2: Các phương pháp hóa cổ điển  Chương 3: Một số thuật toán hóa hiện đại Nguyễn Thị Lan - Lớp 49K - Tin - Khoa CNTT 1 Đồ án tốt nghiệp Đại học CHƯƠNG 1: TỔNG QUAN VỀ HỆ MẬT 1.1. Khái niệm về hóa thông tin 1.1.1. Khái niệm. hóa thông tin là chuyển đổi thông tin từ dạng rõ (dạng đọc được) sang dạng mờ (dạng không thể đọc được) và ngược lại. Nhằm mục đích ngăn chặn nguy cơ truy cập thông tin truyền đi trên mạng một cách bất hợp pháp. Thông tin sẽ được truyền đi trên mạng dưới dạng mờ và không thể đọc được với bất kỳ ai cố tình muốn lấy thông tin đó. Khi chúng ta có nhu cầu trao đổi thông tin, thì Internet là môi trường không an toàn, đầy rủi ro và nguy hiểm, không có gì đảm bảo rằng thông tin chúng ta truyền đi không bị đọc trộm trên đường truyền. Vì vậy hóa là biện pháp giúp ta bảo vệ chính mình cũng như thông tin ta gửi đi. Ngoài ra hóa còn đảm bảo tính toàn vẹn của dữ liệu. 1.1.2. Vai trò của hóa. Các hệ hóa phải thực hiện được các vai trò sau. − Các hệ hóa phải che dấu được nội dung của văn bản rõ (PlainText) để đảm bảo sao cho chỉ người chủ hợp pháp của thông tin mới có quyền truy cập thông tin, hay nói cách khác là chống truy cập không đúng quyền hạn. − Tạo các yếu tố xác thực thông tin, đảm bảo thông tin lưu hành trên hệ thống đến người nhận hợp pháp xác thực. − Tổ chức các đồ chữ ký điện tử, đảm bảo không có hiện tượng giả mạo, mạo danh để gửi thông tin trên mạng. Ưu điểm lớn nhất của các hệ hóa là có thể đánh giá được độ phức tạp của tính toán “kẻ địch” phải giải quyết bài toán để có thể lấy được thông tin của dữ liệu. Tuy nhiên mỗi hệ hóa đều có một số ưu và nhược điểm khác nhau, nhưng nhờ đánh giá được độ phức tạp tính toán, mức độ an toàn của mỗi hệ hóa ta có thể ứng dụng cụ thể tùy theo yêu cầu về độ an toàn. 1.1.3. Các thành phần của hệ hóa. Một hệ hóamột bộ 5 (P, C, D, K, E) thõa các điều kiện sau: - P là một tập hợp hữu hạn các bản rõ (PlainText), nó còn được gọi là không gian bản rõ. Nguyễn Thị Lan - Lớp 49K - Tin - Khoa CNTT 2 Đồ án tốt nghiệp Đại học - C là tập hợp hữu hạn các bản (CipherText), nó còn được gọi là không gian bản mã. Mỗi phần tử của C có thể nhận được bằng cách áp dụng phép hóa E k lên một phần tử của P. - K là tập hợp hữu hạn các khóa hay còn gọi là không gian khóa. Đối với mỗi phần tử k của K được gọi là một khóa (Key). Số lượng của không gian khóa phải đủ lớn để “kẻ địch” không đủ thời gian để thử mọi khóa (phương pháp vét cạn). - E và D lần lượt là tập luật hóa và giải mã. Với mỗi k của K có một quy tắc hóa e k : PC và một quy tắc giải tương ứng d k € D. Mỗi e k : PC và d k : CP là những hàm mà: d k (e k (x))=x với mọi bản rõ x € P. Hình 1.1: Mô hình hóa 1.2. Tiêu chuẩn để đánh giá hệ hóa 1.2.1. Độ an toàn của thuật toán. Nguyên tắc đầu tiên trong hoá là “Thuật toán nào cũng có thể bị phá vỡ”. Các thuật toán khác nhau cung cấp mức độ an toàn khác nhau, phụ thuộc vào độ phức tạp để phá vỡ chúng. Một hệ mật được coi là an toàn nếu để phá vỡ hệ mật này phải dùng n phép toán, để giải quyết n phép toán thì cần thời gian vô cùng lớn, không thể chấp nhận được. Tại một thời điểm, độ an toàn của một thuật toán phụ thuộc. o Nếu chi phí hay phí tổn cần thiết để phá vỡ một thuật toán lớn hơn giá trị của thông tin đã hóa thuật toán thì thuật toán đó tạm thời được coi là an toàn. o Nếu thời gian cần thiết dùng để phá vỡ một thuật toán là quá lâu thì thuật toán đó tạm thời được coi là an toàn. o Nếu lượng dữ liệu cần thiết để phá vỡ một thuật toán quá lớn so với lượng dữ liệu đã được hoá thì thuật toán đó tạm thời được coi là an toàn. Nguyễn Thị Lan - Lớp 49K - Tin - Khoa CNTT 3 Đồ án tốt nghiệp Đại học 1.2.2. Tốc độ hóa và giải mã. Khi đánh giá hệ hóa phải chú ý đến tốc độ hóa và giải mã. Hệ hóa tốt thì thời gian hóa và giải nhanh. 1.2.3. Phân phối khóa. Một hệ hóa phụ thuộc vào khóa, khóa này được truyền công khai hay truyền bí mật. Phân phối khóa bí mật thì chi phí sẽ cao hơn so với các thuật toán hóa khóa công khai. Vì vậy đây cũng là một tiêu chí khi lựa chọn hệ hóa. 1.3. Khóa 1.3.1. Khái niệm. Một khóa hóamột phần thông tin đặc biệt được kết hợp với một thuật toán để thi hành hóa và giải mã. Mỗi khóa khác nhau có thể tạo ra các văn bản hóa khác nhau, nếu không chọn đúng khóa thì không thể mở được tài liệu đã hóa trên, cho biết được thuật toán trên dùng thuật toán hóa gì, sử dụng khóa càng phức tạp thì độ an toàn của dữ liệu càng lớn . 1.3.2. Ví dụ. hóa nội dung của một bức thư với khóa là “Thay thế mỗi ký tự xuất hiện trong bức thư bằng ký tự đứng thứ 2 sau nó”. Cùng thật toán trên nhưng sử dụng khóa là “Thay thế mỗi ký tự xuất hiện trong bức thư bằng ký tự đứng thứ 3 sau nó”. Như vậy kết quả của một bức thư có nội dung như nhau sau khi sử dụng hai khóa khác nhau sẽ có hai bản khác nhau. 1.4. Phân loại các thuật toán hóa 1.4.1. Phân loại theo các phương pháp. 1.4.1.1. hoá cổ điển. Xuất hiện trong lịch sử, thuật toán sử dụng khóa đơn giản, dễ hiểu. Là phương pháp từng ký tự (hay từng nhóm ký tự) trong bản rỏ được thay thế bằng một ký tự (hay nhóm ký tự) khác tạo nên bản mã. Bên nhận chỉ cần đảo ngược lại trình tự thay thế trên thì sẽ nhận được bản rõ ban đầu. hóa cổ điển có hai phương pháp nổi bật là: hóa thay thế và hóa hoán vị. Các hệ hóa thường được sử dụng trong lịch sử là: Hệ hóa Ceasar, Vigenere, Hill… 1.4.1.2. hóa đối xứng. hóa đối xứng hay hóa chia sẻ khóa là mô hình hóa hai chiều, có nghĩa là tiến trình hóa và giải đều dùng chung một khóa. Khóa này được chuyển giao bí Nguyễn Thị Lan - Lớp 49K - Tin - Khoa CNTT 4

Ngày đăng: 14/12/2013, 00:21

Hình ảnh liên quan

Hình 1.1: Mô hình mã hóa - Tìm hiểu một số thuật toán mã hóa dữ liệu

Hình 1.1.

Mô hình mã hóa Xem tại trang 9 của tài liệu.
Hình 1.2: Mô hình mã hóa khóa bí mật - Tìm hiểu một số thuật toán mã hóa dữ liệu

Hình 1.2.

Mô hình mã hóa khóa bí mật Xem tại trang 12 của tài liệu.
Mô hình mã hóa khóa công kha i: - Tìm hiểu một số thuật toán mã hóa dữ liệu

h.

ình mã hóa khóa công kha i: Xem tại trang 13 của tài liệu.
Hình 2.1: Hình vuông Vigenere - Tìm hiểu một số thuật toán mã hóa dữ liệu

Hình 2.1.

Hình vuông Vigenere Xem tại trang 17 của tài liệu.
2.2.2. Mã hóa theo mẫu hình học. - Tìm hiểu một số thuật toán mã hóa dữ liệu

2.2.2..

Mã hóa theo mẫu hình học Xem tại trang 18 của tài liệu.
Đầu tiên biểu diễn các ký tự trong ban rõ thành dạng hình chữ nhật theo cột, sau đó các cột được sắp xếp lại và các chữ cái được lấy ra theo hàng ngang. - Tìm hiểu một số thuật toán mã hóa dữ liệu

u.

tiên biểu diễn các ký tự trong ban rõ thành dạng hình chữ nhật theo cột, sau đó các cột được sắp xếp lại và các chữ cái được lấy ra theo hàng ngang Xem tại trang 19 của tài liệu.
Theo bảng trên ta thấy ký tự đầu sau khi hoán vị chuyển đến vị trí thứ 3, ký tự thứ 2 chuyển tới vị trí thứ 5, ký tự thứ 3 chuyển tới vị trí thứ 1,… Như vậy sau khi mã hóa ta thu được bản mã là “OABMTA”. - Tìm hiểu một số thuật toán mã hóa dữ liệu

heo.

bảng trên ta thấy ký tự đầu sau khi hoán vị chuyển đến vị trí thứ 3, ký tự thứ 2 chuyển tới vị trí thứ 5, ký tự thứ 3 chuyển tới vị trí thứ 1,… Như vậy sau khi mã hóa ta thu được bản mã là “OABMTA” Xem tại trang 20 của tài liệu.
Hình 3.1: Sơ đồ tổng quát mã hóa DES - Tìm hiểu một số thuật toán mã hóa dữ liệu

Hình 3.1.

Sơ đồ tổng quát mã hóa DES Xem tại trang 22 của tài liệu.
Hình 3.2: Sơ đồ tạo khóa - Tìm hiểu một số thuật toán mã hóa dữ liệu

Hình 3.2.

Sơ đồ tạo khóa Xem tại trang 23 của tài liệu.
Bảng PC 1: - Tìm hiểu một số thuật toán mã hóa dữ liệu

ng.

PC 1: Xem tại trang 24 của tài liệu.
Bảng PC2( hoán vị nén). - Tìm hiểu một số thuật toán mã hóa dữ liệu

ng.

PC2( hoán vị nén) Xem tại trang 24 của tài liệu.
Bảng hoán vị khởi đầu IP. - Tìm hiểu một số thuật toán mã hóa dữ liệu

Bảng ho.

án vị khởi đầu IP Xem tại trang 25 của tài liệu.
Hình 3.3: Biểu diễn dãy 64 bit x chia thành 2 thành phần L0,R0 - Tìm hiểu một số thuật toán mã hóa dữ liệu

Hình 3.3.

Biểu diễn dãy 64 bit x chia thành 2 thành phần L0,R0 Xem tại trang 25 của tài liệu.
Hình 3.5: Sơ đồ hoạt động của hà mf - Tìm hiểu một số thuật toán mã hóa dữ liệu

Hình 3.5.

Sơ đồ hoạt động của hà mf Xem tại trang 26 của tài liệu.
Hình 3.6: Hoán vị mở rộng - Tìm hiểu một số thuật toán mã hóa dữ liệu

Hình 3.6.

Hoán vị mở rộng Xem tại trang 27 của tài liệu.
Hoán vị cuối cùng là nghịch đảo của hoán vị khởi đầu. Được mô tả theo bảng IP-1. Tại vòng cuối cùng của mã hóa DES thì nửa trái và nửa phải không được tráo đổi cho nhau nữa. - Tìm hiểu một số thuật toán mã hóa dữ liệu

o.

án vị cuối cùng là nghịch đảo của hoán vị khởi đầu. Được mô tả theo bảng IP-1. Tại vòng cuối cùng của mã hóa DES thì nửa trái và nửa phải không được tráo đổi cho nhau nữa Xem tại trang 30 của tài liệu.
Hình 3.7: Sơ đồ thuật toán RSA - Tìm hiểu một số thuật toán mã hóa dữ liệu

Hình 3.7.

Sơ đồ thuật toán RSA Xem tại trang 34 của tài liệu.
Trong bảng chữ cái, có tất cả 26 ký tự, các ký tự ứng với một con số. Do đó, ta có bảng sau: - Tìm hiểu một số thuật toán mã hóa dữ liệu

rong.

bảng chữ cái, có tất cả 26 ký tự, các ký tự ứng với một con số. Do đó, ta có bảng sau: Xem tại trang 35 của tài liệu.
Hình bên dưới mô tả một quá trình trong một vòng. Có 4 hàm một chiều F có thể sử dụng - Tìm hiểu một số thuật toán mã hóa dữ liệu

Hình b.

ên dưới mô tả một quá trình trong một vòng. Có 4 hàm một chiều F có thể sử dụng Xem tại trang 39 của tài liệu.
Hình 3.9: Sơ đồ vòng lặp của MD5 - Tìm hiểu một số thuật toán mã hóa dữ liệu

Hình 3.9.

Sơ đồ vòng lặp của MD5 Xem tại trang 41 của tài liệu.
Hình 3.10: Sơ đồ khối tổng quát - Tìm hiểu một số thuật toán mã hóa dữ liệu

Hình 3.10.

Sơ đồ khối tổng quát Xem tại trang 42 của tài liệu.

Từ khóa liên quan

Trích đoạn

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

  • Đang cập nhật ...

Tài liệu liên quan