Tiểu luận môn Thuật Toán và Phương Pháp Giải Quyết Vấn Đề TÌM HIỂU CÁC THUẬT TOÁN MÃ HÓA

27 700 0
Tiểu luận môn Thuật Toán và Phương Pháp Giải Quyết Vấn Đề TÌM HIỂU CÁC THUẬT TOÁN 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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN PHÒNG ĐÀO TẠO SĐH-KHCN&QHĐN TIỂU LUẬN THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ TÌM HIỂU CÁC THUẬT TOÁN MÃ HÓA VÀ CHƯƠNG TRÌNH MINH HỌA GVHD: PGS. TS. Đỗ Văn Nhơn HVTH: Võ Thị Thúy Lan MSHV: CH1301096 TP. Hồ Chí Minh, tháng 10/2014 MỤC LỤC DANH MỤC HÌNH ẢNH Hình 2.1 Sơ đồ khái quát về một hệ thống mật mã Hình 3.1 Cấu trúc thuật toán Feistel dùng trong DES Hình 3.2 Quá trình trong một vòng xử lý Hình 5.1 Mô hình lớp thừa kế Hình 5.2 Các thuật toán mã hóa .NET Framework hỗ trợ Hình 5.3 System.Security.Crytography Hình 5.4 Kết quả kiểm tra tính toàn vẹn của file Hình 5.5 Kết quả mã hóa dữ liệu Hình 5.6 Kết quả giải mã dữ liệu Hình 5.7 Kết quả mã hóa chuỗi dữ liệu Thuật toán và phương pháp giải quyết vấn đề GVHD: PGS.TS. Đỗ Văn Nhơn 1. PHẦN MỞ ĐẦU Ngay từ xa xưa, con người đã biết đến truyền thông cũng như tầm quan trọng của việc bảo vệ những thông tin quý giá trước kẻ thù. Điều đó thúc đẩy nhiều bộ óc trong lịch sử phát minh ra các phương pháp sử dụng mật mã để giải quyết những thách thức trong việc bảo vệ dữ liệu. Cho đến ngày nay, mật mã luôn gắn liền với việc bảo đảm an toàn thông tin khi lưu giữ hay truyền tải trên các hệ thống công nghệ thông tin - viễn thông. Khi khoa học ngày càng phát triển, mật mã cũng được sử dụng trong những hệ thống quan trọng cần độ bảo mật cao như: ngân hàng, bưu chính, thương mại, quân sự, tình báo, ngoại giao… Theo đó, từ những cách viết mật mã thô sơ vào thời kỳ sơ khai, những thuật toán mã hóa được phát triển ngày một nhiều và có độ bảo mật cao hơn. Mã hóa là nghiên cứu các cách thức chuyển đổi thông tin từ dạng rõ (clear text) sang dạng mờ (cipher text) và ngược lại. Đây là một phương pháp hỗ trợ rất tốt trong việc chống lại những truy cập bất hợp pháp tới dữ liệu được truyền đi trên mạng, áp dụng mã hoá sẽ khiến cho nội dung thông tin được truyền đi dưới dạng mờ và không thể đọc được đối với bất kỳ ai cố tình muốn lấy thông tin đó. Nhận thấy được tầm quan trọng của việc bảo vệ dữ liệu, thông qua việc tìm hiểu các công cụ sẵn có để áp dụng các thuật toán nhằm mã hóa/giải mã thông tin dữ liệu. Bài báo cáo sẽ đề cập đến 2 phần chính: • Tìm hiểu về các thuật toán mã hóa. • Giới thiệu phần mềm mã hóa/giải mã dữ liệu sử dụng thư viện mật mã của .NET Framework Em xin chân thành cảm ơn Thầy PGS. TS. Đỗ Văn Nhơn đã cung cấp cho em những kiến thức quý giá và thiết thực trong môn Thuật toán và phương pháp giải quyết vấn đề làm cơ sở nền tảng cho em thực hiện bài báo cáo này. HVTH: Võ Thị Thúy Lan-CH1301096 4 Thuật toán và phương pháp giải quyết vấn đề GVHD: PGS.TS. Đỗ Văn Nhơn 2. MỘT SỐ KHÁI NIỆM 2.1. Khái niệm về mã hóa Cryptography (hay crypto) - mật mã học - ngành khoa học nghiên cứu về việc giấu thông tin. Cụ thể hơn, mật mã học là ngành học nghiên cứu về những cách chuyển đổi thông tin từ dạng “có thể hiểu được” thành dạng “không thể hiểu được” và ngược lại. Cryptography giúp đảm bảo những tính chất sau cho thông tin: • Tính bí mật (confidentiality): thông tin chỉ được tiết lộ cho những ai được phép. • Tính toàn vẹn (integrity): thông tin không thể bị thay đổi mà không bị phát hiện. • Tính xác thực (authentication): người gửi (hoặc người nhận) có thể chứng minh đúng họ. • Tính không chối bỏ (non-repudiation): người gửi hoặc nhận sau này không thể chối bỏ việc đã gửi hoặc nhận thông tin. Mật mã có rất nhiều ứng dụng trong thực tế như bảo vệ giao dịch tài chính (rút tiền ngân hàng, mua bán qua mạng), bảo vệ bí mật cá nhân Nếu kẻ tấn công đã vượt qua tường lửa và các hệ thống bảo vệ khác thì mật mã chính là hàng phòng thủ cuối cùng cho dữ liệu của chúng ta. 2.2. Một số thuật ngữ về mã hóa thông tin Cryptosystem (viết tắt của cryptographic system): hệ thống mã hóa thông tin, có thể là phần mềm như PGP, Ax-Crypt, Truecrypt giao thức như SSL, IPsec hay đơn giản là một thuật toán như DES. Encrypt (encipher): mã hóa - quá trình biến đổi thông tin từ dạng ban đầu - có thể hiểu được thành dạng không thể hiểu được, với mục đích giữ bí mật thông tin đó. Decrypt (decipher): giải mã - quá trình ngược lại với mã hóa, khôi phục lại thông tin ban đầu từ thông tin đã được mã hóa. Plaintext (cleartext): dữ liệu gốc (chưa được mã hóa). HVTH: Võ Thị Thúy Lan-CH1301096 5 Thuật toán và phương pháp giải quyết vấn đề GVHD: PGS.TS. Đỗ Văn Nhơn Ciphertext: dữ liệu đã được mã hóa. Lưu ý: Từ text (hay message) ở đây được dùng theo quy ước, được hiểu là tất cả những dữ liệu được mã hóa (hay giải mã) chứ không chỉ là văn bản chữ như nghĩa thông thường. Khi dịch ra Tiếng Việt, từ “văn bản” và từ “thông điệp” cũng tuân theo quy ước tương tự. Cipher (hay cypher): thuật toán dùng để thực hiện quá trình mã hóa hay giải mã. Trong bài này gọi tắt là thuật toán. Key: chìa khóa - thông tin dùng cho quy trình mã hóa và giải mã. Code: cần phân biệt code trong mật mã học với code trong lập trình hay code trong Zip code Trong cryptography, code (mã) có ý nghĩa gần như là cipher (thuật toán). Chúng chỉ khác nhau ở chỗ: code biến đổi thông tin ở tầng nghĩa (từ, cụm từ) còn cipher biến đổi thông tin ở tầng thấp hơn, ví dụ chữ cái (hoặc cụm chữ cái) đối với các thuật toán cổ điển hay từng bit (hoặc nhóm bit) đối với các thuật toán hiện đại. Cryptanalysis: nếu coi mật mã học là việc cất dữ liệu vào một cái hộp sau đó dùng chìa khóa khóa lại, thì cryptanalysis là ngành nghiên cứu những phương pháp mở hộp để xem dữ liệu khi không có chìa khóa. Hình 2.1 Sơ đồ khái quát về một hệ thống mật mã HVTH: Võ Thị Thúy Lan-CH1301096 6 Thuật toán và phương pháp giải quyết vấn đề GVHD: PGS.TS. Đỗ Văn Nhơn 2.3. Khái niệm về chìa khóa 2.3.1. Password Password: mật khẩu, là một hay nhiều từ mà người dùng phải biết để được cấp quyền truy cập. Trong thực tế, mật khẩu do người dùng tạo ra thường không đủ độ an toàn để được dùng trực tiếp trong thuật toán. Vì vậy, trong bất cứ hệ thống mã hóa dữ liệu nghiêm túc nào cũng phải có bước chuyển đổi mật khẩu ban đầu thành chìa khóa có độ an toàn thích hợp. Bước tạo chìa khóa này thường được gọi là key derivation, key stretching hay key initialization. 2.3.2. Key Derivation Function Là một hàm hash được thiết kế sao cho chìa an toàn hơn đối với tấn công kiểu brute-force hay cổ điển. Hàm này được thực hiện lại nhiều lần trên mật khẩu ban đầu cùng với một số ngẫu nhiên để tạo ra một chìa khóa có độ an toàn cao hơn. Số ngẫu nhiên này gọi là salt, còn số lần lặp lại là iteration. Ví dụ: Một mật khẩu là “pandoras B0x”, cùng với salt là “230391827”, đi qua hàm hash SHA-1 1000 lần cho kết quả là một chìa khóa có độ dài 160 bit như sau: 3BD454A72E0E7CD6959DE0580E3C19F51601C359 (thể hiện dưới dạng số thập lục phân). 2.3.3. Keylength Hay còn gọi là Keysize: Độ dài (hay độ lớn) của chìa khóa. Nói một chìa khóa có độ dài 128 bit có nghĩa chìa đó là một số nhị phân có độ dài 128 chữ số. Một thuật toán có chìa khóa càng dài thì càng có nhiều khả năng chống lại tấn công kiểu brute-force. HVTH: Võ Thị Thúy Lan-CH1301096 7 Thuật toán và phương pháp giải quyết vấn đề GVHD: PGS.TS. Đỗ Văn Nhơn 3. THUẬT TOÁN MÃ HÓA Ở đây ta dùng hai đối tượng Sender và Receiver để mô tả cho các đối tượng gởi và nhận. 3.1. Cổ điển 3.1.1. Substitution Substitution: thay thế - phương pháp mã hóa trong đó từng kí tự (hoặc từng nhóm kí tự) của văn bản ban đầu được thay thế bằng một (hay một nhóm) kí tự khác. Tuy không còn được sử dụng nhưng ý tưởng của phương pháp này vẫn được tiếp tục trong những thuật toán hiện đại. 3.1.2. Transposition Transposition: hoán vị - phương pháp mã hóa trong đó các kí tự trong văn bản ban đầu chỉ thay đổi vị trí cho nhau còn bản thân các kí tự không hề bị biến đổi. 3.2. Hiện đại 3.2.1. Symmetric cryptography Mã hóa đối xứng, tức là cả hai quá trình mã hóa và giải mã đều dùng một chìa khóa. Để đảm bảo tính an toàn, chìa khóa này phải được giữ bí mật. Vì thế các thuật toán loại này còn có tên gọi khác là secret key cryptography (hay private key cryptography), tức là thuật toán mã hóa dùng chìa khóa riêng (hay bí mật). Các thuật toán loại này lý tưởng cho mục đích mã hóa dữ liệu của cá nhân hay tổ chức đơn lẻ nhưng bộc lộ hạn chế khi thông tin đó phải được chia sẻ với một bên thứ hai. Ví dụ: Giả sử nếu Sender chỉ gửi thông điệp đã mã hóa cho Receiver mà không hề báo trước về thuật toán sử dụng, Receiver sẽ chẳng hiểu Sender muốn nói gì. Vì thế bắt buộc Sender phải thông báo cho Receiver về chìa khóa và thuật toán sử dụng tại một thời điểm nào đó trước đấy. Sender có thể làm điều này một cách trực tiếp (mặt đối mặt) hay gián tiếp (gửi qua email, tin nhắn ). Điều này HVTH: Võ Thị Thúy Lan-CH1301096 8 Thuật toán và phương pháp giải quyết vấn đề GVHD: PGS.TS. Đỗ Văn Nhơn dẫn tới khả năng bị người thứ ba xem trộm chìa khóa và có thể giải mã được thông điệp Sender mã hóa gửi cho Receiver. Mã hóa đối xứng có thể phân thành hai nhóm phụ: - Block ciphers: thuật toán khối - trong đó từng khối dữ liệu trong văn bản ban đầu được thay thế bằng một khối dữ liệu khác có cùng độ dài. Độ dài mỗi khối gọi là block size, thường được tính bằng đơn vị bit. Ví dụ thuật toán 3-Way có kích thước khối bằng 96 bit. Ví dụ: 3DES, RC5, RC6, 3-Way, CAST, Camelia, Blowfish, MARS, Serpent, Twofish, GOST - Stream ciphers: thuật toán dòng - trong đó dữ liệu đầu vào được mã hóa từng bit một. Các thuật toán dòng có tốc độ nhanh hơn các thuật toán khối, được dùng khi khối lượng dữ liệu cần mã hóa chưa được biết trước (ví dụ trong kết nối không dây). Có thể coi thuật toán dòng là thuật toán khối với kích thước mỗi khối là 1 bit. Ví dụ: RC4, A5/1, A5/2, Chameleon 3.2.2. Asymmetric cryptography Mã hóa bất đối xứng, sử dụng một cặp chìa khóa có liên quan với nhau về mặt toán học, một chìa công khai dùng để mã hoá (public key) và một chìa bí mật dùng để giải mã (private key). Một thông điệp sau khi được mã hóa bởi chìa công khai sẽ chỉ có thể được giải mã với chìa bí mật tương ứng. Do các thuật toán loại này sử dụng một chìa khóa công khai (không bí mật) nên còn có tên gọi khác là public-key cryptography (thuật toán mã hóa dùng chìa khóa công khai). Quay lại với Sender và Receiver, nếu Sender muốn gửi một thông điệp bí mật tới Receiver, Sender sẽ tìm chìa công khai của Receiver. Sau khi kiểm tra chắc chắn chìa khóa đó chính là của Receiver chứ không của ai khác (thông qua chứng chỉ điện tử - digital certificate), Sender dùng nó để mã hóa thông điệp của mình và gửi tới Receiver. Khi Receiver nhận được bức thông điệp đã mã hóa thì sẽ dùng chìa bí mật của mình để giải mã nó. Nếu giải mã thành công thì bức thông điệp đó đúng là dành cho Receiver. Sender và Receiver trong trường hợp HVTH: Võ Thị Thúy Lan-CH1301096 9 Thuật toán và phương pháp giải quyết vấn đề GVHD: PGS.TS. Đỗ Văn Nhơn này có thể là hai người chưa từng quen biết. Một hệ thống như vậy cho phép hai người thực hiện được giao dịch trong khi không chia sẻ trước một thông tin bí mật nào cả. Một trong những hạn chế của các thuật toán mã hóa bất đối xứng là tốc độ chậm, do đó trong thực tế người ta thường sử dụng một hệ thống lai tạp trong đó dữ liệu được mã hóa bởi một thuật toán đối xứng, chỉ có chìa dùng để thực hiện việc mã hóa này mới được mã hóa bằng thuật toán bất đối xứng. 3.2.3. So sánh đối xứng và bất đối xứng Mã hóa đối xứng Mã hóa bất đối xứng Khóa Giải mã và mã hóa với cùng một chìa hoặc có quan hệ rõ ràng với nhau (có thể suy ra một chìa nếu biết chìa còn lại) Mã hóa bằng một chìa công khai (Public key), giải mã bằng chìa bí mật (Private key) Tốc độ Các thuật toán đối xứng nói chung đòi hỏi công suất tính toán ít hơn các thuật toán khóa bất đối xứng (asymmetric key algorithms). Một thuật toán khóa bất đối xứng có khối lượng tính toán nhiều hơn gấp hằng trăm, hằng ngàn lần một thuật toán khóa đối xứng có độ an toàn tương đương. An toàn Cả hai thuật toán đều đảm bảo an toàn dữ liệu. Tuy nhiên khi cần truyền dữ liệu trên diện rộng (qua mạng internet) thì thuật toán mã hóa bất đối xứng khó bị lộ chìa khóa hơn. Tuy nhiên khi mã hóa thông tin người ta thường sử dụng phương pháp lai tạp, nghĩa là kết hợp giữa đối xứng và bất đối xứng (dùng đối xứng để mã hóa dữ liệu và dùng bất đối xứng để mã hóa key của phép đối xứng và gởi kèm theo dữ liệu) Bảng 3.1 So sánh đối xứng và bất đối xứng 3.2.4. Hàm hash Hashing là một phương thức mật mã nhưng nó không phải là một thuật toán mã hoá. Đúng như vậy, hashing chỉ sử dụng một chứng chỉ số duy nhất được biết đến với tên như “hash value - giá trị hash”, “hash - băm”, Message Authentication Code (MAC), fingerprint - vân tay hay một đoạn message. Hàm hash (hash function) là hàm một chiều mà nếu đưa một lượng dữ liệu bất kì qua hàm này sẽ cho ra một chuỗi có độ dài cố định ở đầu ra. HVTH: Võ Thị Thúy Lan-CH1301096 10 [...]... được mã hóa hoặc dữ liệu đã bị mã hóa (ciphertext) cần được giải mã Output: dữ liệu sau khi được mã hóa (ciphertext) hoặc văn bản rõ (plaintext) tìm được Phương pháp: sử dụng giải thuật đối xứng HVTH: Võ Thị Thúy Lan-CH1301096 22 Thuật toán và phương pháp giải quyết vấn đề GVHD: PGS.TS Đỗ Văn Nhơn Hình 5.5 Kết quả mã hóa dữ liệu HVTH: Võ Thị Thúy Lan-CH1301096 23 Thuật toán và phương pháp giải quyết vấn. .. Lan-CH1301096 25 Thuật toán và phương pháp giải quyết vấn đề GVHD: PGS.TS Đỗ Văn Nhơn 6 KẾT LUẬN Thông qua việc tìm hiểu các thuật toán mã hóa, em đã có được cái nhìn tổng quan về những ưu, nhược điểm của mỗi giải pháp khi áp dụng để giải quyết bài toán bảo vệ thông tin dữ liệu thực tế Ngoài ra, nhờ tiếp cận mô hình thư viện mật mã có sẵn trong NET Framework đã giúp việc xây dựng phần mềm mã hóa /giải mã dữ liệu... phương pháp giải quyết vấn đề GVHD: PGS.TS Đỗ Văn Nhơn Hình 5.6 Kết quả giải mã dữ liệu 5.4.3 Chức năng Mã hóa chuỗi Input: chuỗi dữ liệu trơn (plaintext) Output: dữ liệu sau khi được mã hóa (ciphertext) Phương pháp: sử dụng giải thuật mã hóa bất đối xứng RSA HVTH: Võ Thị Thúy Lan-CH1301096 24 Thuật toán và phương pháp giải quyết vấn đề GVHD: PGS.TS Đỗ Văn Nhơn Hình 5.7 Kết quả mã hóa chuỗi dữ liệu HVTH:... dùng để mã hóa Những thông tin được mã hóa bằng khóa công khai chỉ có thể được giải mã bằng khóa bí mật tương ứng Nói cách khác, mọi HVTH: Võ Thị Thúy Lan-CH1301096 15 Thuật toán và phương pháp giải quyết vấn đề GVHD: PGS.TS Đỗ Văn Nhơn người đều có thể mã hóa nhưng chỉ có người biết khóa cá nhân (bí mật) mới có thể giải mã được Ta có thể mô phỏng trực quan một hệ mật mã khoá công khai như sau : Receiver... Shamir và Len Adleman mô tả lần đầu tiên vào năm 1977 tại học viện Công nghệ Massachusetts (MIT) Tên của thuật toán lấy từ 3 chữ cái đầu tiên của 3 tác giả Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) và khóa bí mật (hay khóa cá nhân) Mỗi khóa là những khoá cố định sử dụng trong quá trình mã hóa và giải mã Khóa công khai được công bố rộng rãi cho mọi người và được dùng để mã hóa Những... một thực thi cụ thể của một thuật toán sang một tên thuật toán Bổ sung thực thi phần cứng hay phần mềm của một thuật toán và ánh xạ nó thay thế cho một thuật toán đã chọn của NET Framework Thiết lập mặc định sẽ được sử dụng cho thuật toán nếu nó không được chỉ định thay thế trong tập tin cấu hình 5.3.2 Các thuật toán mã hóa NET Framework hỗ trợ Hình 5.2 Các thuật toán mã hóa NET Framework hỗ trợ 5.3.3... Lan-CH1301096 12 Thuật toán và phương pháp giải quyết vấn đề GVHD: PGS.TS Đỗ Văn Nhơn Hoa Kỳ (NSA) có thể bẻ khóa Do đó, DES đã được giới nghiên cứu xem xét rất kỹ lưỡng, việc này đã thúc đẩy hiểu biết hiện đại về mật mã khối (block cipher) và các phương pháp thám mã tương ứng Hiện nay DES được xem là không đủ an toàn cho nhiều ứng dụng Nguyên nhân chủ yếu là độ dài 56 bit của khóa là quá nhỏ Thuật toán được... phương pháp tấn công HVTH: Võ Thị Thúy Lan-CH1301096 18 Thuật toán và phương pháp giải quyết vấn đề GVHD: PGS.TS Đỗ Văn Nhơn 4.1 Brute-force attack (exhaustive key search) Phương pháp tấn công bằng cách thử tất cả những chìa khóa có thể có Đây là phương pháp tấn công thô sơ nhất và cũng khó khăn nhất Theo lý thuyết, tất cả các thuật toán hiện đại đều có thể bị đánh bại bởi brute-force nhưng trong thực... những thuật toán này có thể sử dụng từ khóa 64 bit của DES mặc dù chúng thường được thiết kế hoạt động với từ khóa 64 bit hay 128 bit Gần đây DES đã được thay thế bằng AES (Advanced Encryption Standard - Tiêu chuẩn Mã hóa Tiên tiến) HVTH: Võ Thị Thúy Lan-CH1301096 13 Thuật toán và phương pháp giải quyết vấn đề GVHD: PGS.TS Đỗ Văn Nhơn Hình 3.1 Cấu trúc thuật toán Feistel dùng trong DES DES là thuật toán. .. liệu đã bị mã hóa (ciphertext) Output: Kiểm tra file có tồn tại hay không? Tạo file kiểm tra kèm theo Kiểm tra nội dung dữ liệu trong file có bị thay đổi hay không? HVTH: Võ Thị Thúy Lan-CH1301096 21 Thuật toán và phương pháp giải quyết vấn đề GVHD: PGS.TS Đỗ Văn Nhơn Phương pháp: sử dụng hàm băm (Hash) Hình 5.4 Kết quả kiểm tra tính toàn vẹn của file 5.4.2 Chức năng Mã hóa file (và giải mã) Input: . CÔNG NGHỆ THÔNG TIN PHÒNG ĐÀO TẠO SĐH-KHCN&QHĐN TIỂU LUẬN THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ TÌM HIỂU CÁC THUẬT TOÁN MÃ HÓA VÀ CHƯƠNG TRÌNH MINH HỌA GVHD: PGS. TS. Đỗ Văn Nhơn HVTH:. thuật toán nhằm mã hóa /giải mã thông tin dữ liệu. Bài báo cáo sẽ đề cập đến 2 phần chính: • Tìm hiểu về các thuật toán mã hóa. • Giới thiệu phần mềm mã hóa /giải mã dữ liệu sử dụng thư viện mật mã. giá và thiết thực trong môn Thuật toán và phương pháp giải quyết vấn đề làm cơ sở nền tảng cho em thực hiện bài báo cáo này. HVTH: Võ Thị Thúy Lan-CH1301096 4 Thuật toán và phương pháp giải quyết

Ngày đăng: 24/05/2015, 09:21

Từ khóa liên quan

Mục lục

  • 1. PHẦN MỞ ĐẦU

  • 2. MỘT SỐ KHÁI NIỆM

    • 2.1. Khái niệm về mã hóa

    • 2.2. Một số thuật ngữ về mã hóa thông tin

    • 2.3. Khái niệm về chìa khóa

      • 2.3.1. Password

      • 2.3.2. Key Derivation Function

      • 2.3.3. Keylength

      • 3. THUẬT TOÁN MÃ HÓA

        • 3.1. Cổ điển

          • 3.1.1. Substitution

          • 3.1.2. Transposition

          • 3.2. Hiện đại

            • 3.2.1. Symmetric cryptography

            • 3.2.2. Asymmetric cryptography

            • 3.2.3. So sánh đối xứng và bất đối xứng

            • 3.2.4. Hàm hash

            • 3.3. Một số thuật toán nổi tiếng

              • 3.3.1. One-time Pad (OTP)

              • 3.3.2. DES

              • 3.3.3. Advance Encryption Standard (AES)

              • 3.3.4. RSA

              • 3.3.5. MD5

              • 4. MỘT SỐ PHƯƠNG PHÁP TẤN CÔNG HỆ THỐNG THÔNG TIN MÃ HÓA

                • 4.1. Brute-force attack (exhaustive key search)

                • 4.2. Frequency analysis

                • 4.3. Differential cryptanalysis

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

Tài liệu liên quan