Tiểu luận môn học Phương pháp nghiên cứu khoa học trong tin học - Đề tài: "Áp dụng các nguyên tắc sáng tạo trong mật mã hóa" - Đại học Quốc gia TP.HCM-Trường Đại học Khoa học Tự nhiên - Năm 2012 - Thái Huệ Nghi
Bạn đang xem 20 trang mẫu của tài liệu "Tiểu luận môn học Phương pháp nghiên cứu khoa học trong tin học - Đề tài: "Áp dụng các nguyên tắc sáng tạo trong mật mã hóa" - Đại học Quốc gia TP.HCM-Trường Đại học Khoa học Tự nhiên - Năm 2012 - Thái Huệ Nghi", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- tieu_luan_mon_hoc_phuong_phap_nghien_cuu_khoa_hoc_trong_tin.pdf
Nội dung text: Tiểu luận môn học Phương pháp nghiên cứu khoa học trong tin học - Đề tài: "Áp dụng các nguyên tắc sáng tạo trong mật mã hóa" - Đại học Quốc gia TP.HCM-Trường Đại học Khoa học Tự nhiên - Năm 2012 - Thái Huệ Nghi
- Đại Học Quốc Gia TP.HCM Trường Đại Học Khoa Học Tự Nhiên T P ƯƠ G P ÁP G Ê Ứ T G T C ĐỀ TÀI: ÁP DỤNG CÁC NGUYÊN TẮC SÁNG TẠO TRONG M T MÃ HÓA GVHD: GS.TSKH.Hoàng Kiếm Người thực hiện: Thái Huệ Nghi Mã số: 1211047 Học viên cao học khóa 22/2012 TP.HCM – 2012
- Mục lục ÁP DỤNG CÁC NGUYÊN TẮC SÁNG TẠO TRONG MẬT MÃ HÓA 0 Phần I: Giới thiệu về mật mã học 4 1. Mật mã học cổ điển: 4 2. Mật mã học hiện đại: 4 2.1. Lý thuyết Shannon: 4 2.2. Tiêu chuẩn mật mã: 5 2.3. Các tiêu chuẩn đánh giá một hệ thống mã hóa: 5 2.4. Các kỹ thuật trong mã hóa: 6 Phần II: 40 nguyên tắc sáng tạo trong nghiên cứu khoa học 9 1. Nguyên lý phân nhỏ: 9 2. Nguyên lý “tách riêng”: 9 3. Nguyên lý phẩm chất cục bộ: 9 4. Nguyên lý phản đối xứng: 10 5. Nguyên lý kết hợp: 10 6. Nguyên lý vạn năng: 10 7. Nguyên lý “chứa trong”: 10 8. Nguyên lý phản trọng lượng: 10 9. Nguyên lý gây ứng suất sơ bộ: 10 10. Nguyên lý thực hiện sơ bộ: 10 11. Nguyên lý dự phòng: 11 12. Nguyên lý đẳng thế: 11 13. Nguyên lý đảo ngược: 11 14. Nguyên lý cầu (tròn) hóa: 11 15. Nguyên lý linh động: 11 16. Nguyên lý giải “thiếu” hoặc “thừa”: 11 17. Nguyên lý chuyển sang chiều khác: 12 18. Nguyên lý sử dụng các dao động cơ học: 12 19. Nguyên lý tác động theo chu kỳ: 12 1
- 20. Nguyên lý liên tục tác động có ích: 12 21. Nguyên lý “vượt nhanh”: 12 22. Nguyên lý biến hại thành lợi: 13 23. Nguyên lý quan hệ phản hồi: 13 24. Nguyên lý sử dụng trung gian: 13 25. Nguyên lý tự phục vụ: 13 26. Nguyên lý sao chép (copy) 13 27. Nguyên lý “rẻ” thay cho “đắt”: 13 28. Thay thế sơ đồ cơ học: 14 29. Sử dụng các kết cấu khí và lỏng: 14 30. Sử dụng vỏ dẻo và màng mỏng: 14 31. Sử dụng các vật liệu nhiều lỗ: 14 32. Nguyên lý thay đổi màu sắc: 14 33. Nguyên lý đồng nhất: 15 34. Nguyên lý phân hủy hoặc tái sinh các phần: 15 35. Thay đổi các thông số hoá lý của đối tượng: 15 36. Sử dụng chuyển pha: 15 37. Sử dụng sự nở nhiệt: 15 38. Sử dụng các chất oxy hoá mạnh: 15 39. Thay đổi độ trơ: 16 40. Sử dụng các vật liệu hợp thành (composite): 16 Phần 3: Áp dụng các nguyên tắc sáng tạo trong mã hóa 16 1. Nguyên lý phân nhỏ: 16 2. Nguyên lý “tách riêng”: 16 3. Nguyên lý phẩm chất cục bộ: 16 4. Nguyên lý kết hợp: 17 5. Nguyên lý thực hiện sơ bộ: 18 6. Nguyên lý đảo ngược: 18 7. Nguyên lý cầu (tròn) hóa: 19 2
- 8. Nguyên lý linh động: 20 9. Nguyên lý giải “thiếu” hoặc “thừa”: 21 10. Nguyên lý chuyển sang chiều khác: 22 11. Nguyên lý tác động theo chu kỳ: 22 12. Nguyên lý liên tục tác động có ích: 23 13. Nguyên lý quan hệ phản hồi: 23 14. Nguyên lý sử dụng trung gian: 23 15. Nguyên lý “rẻ” thay cho “đắt”: 24 Tài liệu tham khảo: 25 1. Tài liệu Internet: 25 2. Tài liệu văn bản: 26 3
- Phần I: Giới thiệu về mật mã học 1. Mật mã học cổ điển Mật mã học là một trong những ngành học ra đời từ rất sớm và có lịch sử hàng ngàn năm. Những bằng chứng sớm nhất về sử dụng mật mã học có thể nói là xuất phát từ thời Ai Cập cổ đại với những chữ tượng hình kì lạ, khơi gợi lên nhiều điều bí ẩn, thú vị. Trong giáo hội, kinh thánh, người ta áp dụng mã hóa để ám chỉ các nhân vật giáo phái hay người trong đế chế một cách bí mật nhằm mục đích truyền đạo và che mắt chính quyền. Người Hy Lạp cổ đại và người La Mã là một trong những người đầu tiên sử dụng các kỹ thuật mật mã (chẳng hạn như gậy mật mã, mật mã Caesar), mà ngày nay ta xếp nó vào lớp mã hóa cổ điển. Mã hóa thực sự đóng vai trò quan trọng, đặc biệt trong quân đội và các vấn đề liên quan đến bí mật quốc gia, khi đó việc bảo mật thông tin thực sự mang ý nghĩa sống còn. Ngay từ thời trung cổ, các vấn đề liên quan đến mã hóa cũng ảnh hưởng không ít đến các sự kiện lịch sử như vụ án xử tử nữ hoàng Mary I của Scotland, vụ án xử tử Mata Hari Mật mã học thời kì bấy giờ không phát triển nhiều ở phương Đông nhưng lại phát triển mạnh mẽ ở các nước phương Tây, đặc biệt kể từ thế kỷ 19 trở về sau, mã hóa đã phát triển một cách có hệ thống. Đi đôi với sự phát triển của các kỹ thuật mã hóa là các kỹ thuật phá mã với nhiều công trình được công bố như phân tích mật mã đơn ký tự của Charles Babbage, công trình của Auguste Kerckhoffs, Trong thế chiến thứ II, các hệ thống mật mã cơ khí và điện tử được sử dụng rộng rãi và người Đức đã chế tạo ra máy Enigma để mã hóa thông điệp dùng trong quân sự . Tuy nhiên, với các kỹ thuật thống kê của William F. Friedman, Marian Rejewski và các cộng sự đã tiếp tục nghiên cức và bước đầu thành công trong việc phá mã hệ thống Enigma 2. Mật mã học hiện đại 2.1. Lý thuyết Shannon Nhiều người cho rằng kỷ nguyên của mật mã học hiện đại bắt đầu với Claude Shannon, người được coi là cha đẻ của mật mã toán học. Năm 1949, ông đã công bố Lý thuyết về 4
- truyền thông trong các hệ thống bảo mật trên tập san Bell System Technical Journal – Tập san kỹ thuật của hệ thống Bell - và một thời gian ngắn sau đó, trong cuốn Mathematical Theory of Communication - Lý thuyết toán học trong truyền thông - cùng với tác giả Warren Weaver. Những công trình này cùng với những công trình nghiên cứu khác của ông về lý thuyết tin học và truyền thông đã thiết lập một nền tảng lý thuyết cơ bản cho mật mã học và thám mã học. Với ảnh hưởng đó, mật mã học gần như bị thâu tóm bởi chính phủ NSA, và rất ít công trình được tiếp tục công bố cho đến giữa thập niên 1970. 2.2. Tiêu chuẩn mật mã Thời kỳ giữa thập niên 1970 được chứng kiến hai tiến bộ lớn trong lĩnh vực mật mã học, đó là sự công bố đề xuất Tiêu chuẩn mật mã hóa dữ liệu (Data Encryption Standard) ở nước Mỹ vào ngày 17/3/1975. Với đề cử của Cục Tiêu chuẩn Quốc Gia (NIST), bản đề xuất DES được công ty IBM đệ trình đã trở thành chuẩn mã hóa công khai đầu tiên được áp dụng rộng rãi trong công chúng như một tiện ích cho các tổ chức thương mại, nhà băng, và các tổ chức tài chính lớn. Tuy nhiên, các kỹ thuật phá mã phát triển đã cho thấy những điểm yếu của phương pháp và vì vậy DES không thật sự đủ an toàn. Vì thế mà đến năm 2001, sự kiện lớn thứ 2 đã diễn ra: DES được chính thức thay thế bởi AES(viết tắt của Advanced Encryption Standard - Tiêu chuẩn mã hóa tiên tiến) sau một cuộc thi được tổ chức công khai bởi NIST. Do nguy cơ bị tấn công cao nếu dùng DES nguyên thủy, người ta đã tìm cách tăng độ an toàn cho DES bằng biến thế Triple-DES và nó vẫn được chấp nhận như 1 tiêu chuẩn của nhiều quốc gia và các tổ chức trên thế giới 2.3. Các tiêu chuẩn đánh giá một hệ thống mã hóa Tính bí mật (Secrect): thông tin được bảo mật tuyệt đối, kẻ xấu không thể biết được Tính toàn vẹn thông tin (Interity): thông tin sau khi mã hóa và gửi đến nơi phải đảm bảo còn nguyên vẹn, không bị thay đổi, đánh tráo hay chấp vá bởi kẻ xấu trên đường truyền Tính xác thực (Authentication): phải chứng thực được người đang thực hiện là người chủ thực sự. 5
- Tính chống thoái thác trách nhiệm (Non- repudiation): làm sao để người đã thực hiện không thể chối bỏ trách nhiệm của mình trên thông tin mà họ đã tác động 2.4. Các kỹ thuật trong mã hóa 2.4.1. Mã hóa đối xứng Trong mật mã học, các thuật toán khóa đối xứng là một lớp các thuật toán mật mã hóa trong đó các khóa dùng cho việc mật mã hóa và giải mã có quan hệ rõ ràng với nhau (có thể dễ dàng tìm được một khóa nếu biết khóa kia). Khóa dùng để mã hóa có liên hệ một cách rõ ràng với khóa dùng để giải mã có nghĩa chúng có thể hoàn toàn giống nhau, hoặc chỉ khác nhau nhờ một biến đổi đơn giản giữa hai khóa. Trên thực tế, các khóa này đại diện cho một bí mật được phân hưởng bởi hai bên hoặc nhiều hơn và được sử dụng để giữ gìn sự bí mật trong kênh truyền thông tin. Khóa bí mật còn gọi là đơn khóa hay khóa cá nhân. Về tốc độ, nếu so sánh với mã hóa bất đối xứng có chất lượng tương đương thì mã hóa đối xứng thực sự nhanh và đơn giản hơn nhiều. Tuy nhiên, việc bảo mật chìa khóa và trao đổi khóa giữa 2 bên bằng một kênh truyền hoàn toàn bí mật thực sự là một điều khó khăn. Các chuẩn áp dụng mã hóa đối xứng như: DES, Triple-DES, AES, RC6 Nhìn chung, các phương pháp đều sử dụng mã hóa khối và thực hiện nhiều chu kỳ mã hóa liên tiếp nhau với nhiều thao tác kết hợp cộng với tập chìa khóa được tạo ra theo cách thực xoay vòng. Sự tác động có tính chu kỳ và kết hợp lẫn nhau này khiến cho phương pháp đạt được độ phức tạp cần thiết tương ứng với một mức độ an toàn nào đó Các kiểu tấn công đối với mã hóa đối xứng: Tấn công biết trước văn bản (known-plaintext attacks) Tấn công lựa chọn văn bản (chosen plaintext attacks) Thám mã vi phân (differential cryptanalysis) Thám mã tuyến tính (linear cryptanalysis) 6
- 2.4.2. Mã hóa bất đối xứng Mã hóa bất đối xứng hay còn gọi là mật mã hóa khóa công khai là một dạng mật mã hóa cho phép người sử dụng trao đổi các thông tin mật mà không cần phải trao đổi các khóa chung bí mật trước đó. Điều này được thực hiện bằng cách sử dụng một cặp khóa có quan hệ toán học với nhau là khóa công khai và khóa cá nhân (hay khóa bí mật). Mục đích sử dụng mã hóa khóa công khai là để: mã hóa, tạo chữ ký số hay thỏa thuận khóa để trao đổi thông tin bí mật giữa 2 bên. Do tính chất công khai một phần nên các kỹ thuật mật mã hóa khóa công khai thường đòi hỏi khối lượng tính toán nhiều hơn các kỹ thuật mã hóa khóa đối xứng nhưng những lợi điểm mà chúng mang lại khiến cho chúng được áp dụng trong nhiều ứng dụng. Thuật toán mật mã hóa khóa công khai được thiết kế đầu tiên bởi James H. Ellis, Clifford Cocks, và Malcolm Williamson tại GCHQ (Anh) vào đầu thập kỷ 1970. Thuật toán sau này được phát triển và biết đến dưới tên Diffie-Hellman, và là một trường hợp đặc biệt của RSA. Đến năm 1977, Rivest, Shamir và Adleman đã cùng nhau tìm ra thuật toán đầu tiên cho mã hóa khóa công khai. Công trình này được công bố vào năm 1978 và thuật toán được đặt tên là RSA. RSA sử dụng phép toán tính hàm mũ môđun (môđun được tính bằng tích số của 2 số nguyên tố lớn) để mã hóa và giải mã cũng như tạo chữ ký số. An toàn của thuật toán được đảm bảo với điều kiện là không tồn tại kỹ thuật hiệu quả để phân tích một số rất lớn thành thừa số nguyên tố. Ứng dụng: Bảo mật thông tin: một văn bản được mã hóa bằng khóa công khai của một người sử dụng thì chỉ có thể giải mã với khóa bí mật của người đó. Tạo chữ ký số khóa công khai để nhận thực Các ứng dụng khác như: tiền điện tử, thỏa thuận khóa Điểm yếu và các hình thức tấn công đối với mã hóa bất đối xứng: Điểm yếu: do phương pháp áp dụng toán học để xây dựng cặp khóa và do đó không thể đảm bảo an toàn tuyệt đối với các tấn công dựa trên bản chất toán học Các kiểu tấn công: 7
- Tấn công dựa trên việc đo đạc chính xác thời gian mà hệ thống phần cứng thực hiện mã hóa Tấn công dạng kẻ đứng giữa (man in middle): kẻ tấn công lợi dụng việc phân phối khóa để thay đổi khóa công khai 2.4.3. Mã hóa một chiều (hàm băm mật mã) Khác với hai hình thức mã hóa đã đề cập, mã hóa một chiều đúng như tên gọi của nó: không thể khôi phục lại văn bản ban đầu từ văn bản đã mã hóa. Mã hóa 1 chiều được biết đến với khái niệm hàm băm mật mã học (Cryptographic hash function) là một dạng mã hóa đặc biệt, trong đó hàm băm phải thỏa mãn một số tính chất bảo mật nhất định để phù hợp với việc sử dụng trong nhiều ứng dụng bảo mật thông tin đa dạng, chẳng hạn như chứng thực (authentication) và kiểm tra tính nguyên vẹn của thông điệp (message integrity). Cách thức hoạt động: hàm băm nhận đầu vào là một xâu ký tự (hay thông điệp) có độ dài tùy ý và tạo ra kết quả là một xâu ký tự có độ dài cố định, gọi là “message digest”. Thành phần quan trọng nhất của phương pháp chính là hàm băm mật mã, làm sao để thỏa mãn nguyên tắc các văn bản khác nhau phải băm ra một kết quả khác nhau (tính duy nhất) và và việc tìm lại văn bản trước khi băm phải không thể thực hiện được (tính một chiều). Các hàm băm thông dụng: MD5 và SHA-1. Các tính chất của hàm băm: An toàn đối với tấn công “tiền ảnh”: cho trước thông điệp đã băm y, rất khó tìm lại thông điệp x sao cho H(x) = y. An toàn đối với tấn công “tiền ảnh thứ 2”: cho trước x và y=H(x), rất khó tìm được giá trị x’ ≠ x sao cho H(x’) = H(x) An toàn đối với hiện tượng đụng độ: rất khó tìm được hai giá trị phân biệt x và x’ sao cho H(x’) = H(x) Ứng dụng của hàm băm mật mã: 8
- Điểm khó của hàm băm mật mã là yếu tố có vẻ “ngẫu nhiên” đối với kết quả sau khi băm. Vì vậy người ta thường sử dụng kết hợp thông tin ngẫu nhiên để tăng độ bảo mật. Ứng dụng: chữ ký điện tử (certification), định danh chứng thực người dùng (authentication), sử dụng trong liên lạc an toàn (IPSec, SSL/TLS), kiểm tra tính toàn vẹn của phần mềm/dữ liệu, đối sánh CSDL Phần II: 40 nguyên tắc sáng tạo trong nghiên cứu khoa học 1. Nguyên lý phân nhỏ - Chia nhỏ đối tượng thành các phần độc lập, nhờ đó có thể giải quyết từng phần một cách dễ dàng - Làm đối tượng trở nên tháo lắp được - Tăng mức độ phân nhỏ của đối tượng, làm giảm sự phức tạp của đối tượng - Nguyên lý phân nhỏ thường được sử dụng kết hợp với các nguyên tắc như: nguyên tắc tách riêng, nguyên tắc phẩm chất cục bộ, nguyên tắc kết hợp, nguyên tắc vạn năng, 2. Nguyên lý “tách riêng” Tách phần gây “phiền phức” (tính chất “phiền phức”) hay ngược lại tách phần duy nhất “cần thiết” (tính chất “cần thiết”) ra khỏi đối tượng. 3. Nguyên lý phẩm chất cục bộ - Chuyển đối tượng (hay môi trường bên ngoài, tác động bên ngoài) có cấu trúc đồng nhất thành không đồng nhất. - Các phần khác nhau của đối tượng phải có các chức năng khác nhau. - Mỗi phần của đối tượng phải ở trong những điều kiện thích hợp nhất đối với công việc. - Nguyên lý phẩm chất cục bộ phản ánh nguyên tắc từ đơn giản đến phức tạp, từ đơn điệu sang đa dạng. 9
- 4. Nguyên lý phản đối xứng Chuyển đối tượng có hình dạng đối xứng thành không đối xứng (nói chung giảm bật đối xứng). 5. Nguyên lý kết hợp: - Kết hợp các đối tượng đồng nhất hoặc các đối tượng dùng cho các hoạt động kế cận. - Kết hợp về mặt thời gian các hoạt động đồng nhất hoặc kế cận. 6. Nguyên lý vạn năng Đối tượng thực hiện một số chức năng khác nhau, do đó không cần sự tham gia của các đối tượng khác. 7. Nguyên lý “chứa trong” - Một đối tượng được đặt bên trong đối tượng khác và bản thân nó lại chứa đối tượng thứ ba - Một đối tượng chuyển động xuyên suốt bên trong đối tượng khác 8. Nguyên lý phản trọng lượng - Bù trừ trọng lượng của đối tượng bằng cách gắn nó với các đối tượng khác có lực nâng - Bù trừ trọng lượng của đối tượng bằng tương tác với môi trường như sư dụng các lực thủy động, khí động, 9. Nguyên lý gây ứng suất sơ bộ Gây ứng xuất trước với đối tượng để chống lại ứng suất không cho phép hoặc không mong muốn khi đối tượng làm việc (hoặc gây ứng suất trước để khi làm việc sẽ dùng ứng suất ngược lại). 10. Nguyên lý thực hiện sơ bộ - Thực hiện trước sự thay đổi cần có, hoàn toàn hoặc từng phần, đối với đối tượng. 10
- - Cần sắp xếp đối tượng trước, sao cho chúng có thể hoạt động từ vị trí thuận lợi nhất, không mất thời gian dịch chuyển. 11. Nguyên lý dự phòng Bù đắp độ tin cậy không lớn của đối tượng bằng cách chuẩn bị trước các phương tiện báo động, ứng cứu, an toàn. 12. Nguyên lý đẳng thế Thay đổi điều kiện làm việc để không phải nâng lên hay hạ xuống các đối tượng. 13. Nguyên lý đảo ngược - Thay vì hành động như yêu cầu bài toán, hành động ngược lại (ví dụ, không làm nóng mà làm lạnh đối tượng). - Làm phần chuyển động của đối tượng (hay môi trường bên ngoài) thành đứng yên và ngược lại, phần đứng yên thành chuyển động. 14. Nguyên lý cầu (tròn) hóa - Chuyển những phần thẳng của đối tượng thành cong, mặt phẳng thành mặt cầu, kết cấu hình hộp thành kết cấu hình cầu - Sử dụng các con lăn, viên bi, vòng xoắn. - Chuyển sang chuyển động quay, sử dụng lực ly tâm. 15. Nguyên lý linh động - Cần thay đổi các đặc trưng của đối tượng hay môi trường bên ngoài sao cho chúng tối ưu trong từng giai đoạn làm việc. - Phân chia đối tượng thành từng phần, có khả năng dịch chuyển với nhau. 16. Nguyên lý giải “thiếu” hoặc “thừa” Nếu như khó nhận được 100% hiệu quả cần thiết, nên nhận ít hơn hoặc nhiều hơn “một chút”. Lúc đó bài toán có thể trở nên đơn giản hơn và dễ giải hơn. 11
- 17. Nguyên lý chuyển sang chiều khác - Những khó khăn do chuyển động (hay sắp xếp) đối tượng theo đường (một chiều) sẽ được khắc phục nếu cho đối tượng khả năng di chuyển trên mặt phẳng (hai chiều). Tương tự, những bài toán liên quan đến chuyển động (hay sắp xếp) các đối tượng trên mặt phắng sẽ được đơn giản hóa khi chuyển sang không gian (ba chiều). - Chuyển các đối tượng có kết cấu một tầng thành nhiều tầng. - Đặt đối tượng nằm nghiêng. - Sử dụng mặt sau của diện tích cho trước. - Sử dụng các luồng ánh sáng tới diện tích bên cạnh hoặc tới mặt sau của diện tích trước. 18. Nguyên lý sử dụng các dao động cơ học - Làm đối tượng dao động. Nếu đã có dao động, tăng tần số dao động (đến tầng số siêu âm) - Sử dụng tần số cộng hưởng. - Thay vì dùng các bộ rung cơ học, dùng các bộ rung áp điện - Sử dụng siêu âm kết hợp với trường điện từ 19. Nguyên lý tác động theo chu kỳ - Chuyển tác động liên tục thành tác động theo chu kỳ (xung) - Nếu đã có tác động theo chu kỳ, hãy thay đổi chu kỳ - Sử dụng các khoảng thời gian giữa các xung để thực hiện hành động khác 20. Nguyên lý liên tục tác động có ích - Thực hiện công việc một cách liên tục (tất cả các phần của đối tượng cần luôn luôn làm việc ở chế độ đủ tải) - Khắc phục vận hành không tải và trung gian - Chuyển các chuyển động tịnh tiến thành chuyển động qua lại. 21. Nguyên lý “vượt nhanh” - Vượt qua các giai đoạn có hại hoặc nguy hiểm với vận tốc lớn. 12
- - Vượt nhanh để có được hiệu ứng cần thiết 22. Nguyên lý biến hại thành lợi - Sử dụng những tác nhân có hại (thí dụ tác động có hại của môi trường) để thu được hiệu ứng có lợi - Khắc phục tác nhân có hại bằng cách kết hợp nó với tác nhân có hại khác - Tăng cường tác nhân có hại đến mức nó không còn có hại nữa 23. Nguyên lý quan hệ phản hồi - Thiết lập quan hệ phản hồi - Nếu đã có quan hệ phản hồi, hay thay đổi nó 24. Nguyên lý sử dụng trung gian Sử dụng đối tượng trung gian, chuyển tiếp 25. Nguyên lý tự phục vụ - Đối tượng phải tự phục vụ bằng cách thực hiện các thao tác phụ trợ, sửa chữa - Sử dụng phế liệu, chất thải, năng lượng dư. 26. Nguyên lý sao chép (copy) - Thay vì sử dụng những cái không được phép, phức tạp, đắt tiền, không tiện lợi hoặc dễ vỡ -> hãy sử dụng bản sao - Thay thế đối tượng hoặc hệ các đối tượng bằng bản sao quang học (ảnh, hình vẽ) với các tỷ lệ cần thiết - Nếu không thể sử dụng bản sao quang học ở vùng biểu kiến (vùng ánh sáng nhìn thấy được bằng mắt thường ),chuyển sang sử dụng các bản sao hồng ngoại hoặc tử ngoại 27. Nguyên lý “rẻ” thay cho “đắt” Thay thế đối tượng đắt tiền bằng bộ các đối tượng rẻ có chất lượng kém hơn (thí dụ như về tuổi thọ). 13
- 28. Thay thế sơ đồ cơ học - Thay thế sơ đồ cơ học bằng điện, quang, nhiệt, âm hoặc mùi vị. - Sử dụng điện trường, từ trường và điện từ trường trong tương tác với đối tượng . - Chuyển các trường đứng yên sang chuyển động, các trường cố định sang thay đổi theo thời gian, các trường đồng nhất sang có cấu trúc nhất định . - Sử dụng các trường kết hợp với các hạt sắt từ. 29. Sử dụng các kết cấu khí và lỏng Thay cho các phần của đối tượng ở thể rắn, sử dụng các chất khí và lỏng: nạp khí, nạp chất lỏng, đệm không khí, thủy tĩnh, thủy phản lực. 30. Sử dụng vỏ dẻo và màng mỏng - Sử dụng các vỏ dẻo và màng mỏng thay cho các kết cấu khối. - Cách ly đối tượng với môi trường bên ngoài bằng các vỏ dẻo và màng mỏng. 31. Sử dụng các vật liệu nhiều lỗ - Làm đối tượng có nhiều lỗ hoặc sử dụng thêm những chi tiết có nhiều lỗ (miếng đệm, tấm phủ ). - Nếu đối tượng đã có nhiều lỗ, sơ bộ tẩm nó bằng chất nào đó. 32. Nguyên lý thay đổi màu sắc - Thay đổi màu sắc của đối tượng hay môi trường bên ngoài. - Thay đổi độ trong suốt của của đối tượng hay môi trường bên ngoài. - Để có thể quan sát được những đối tượng hoặc những quá trình, sử dụng các chất phụ gia màu, hùynh quang. - Nếu các chất phụ gia đó đã được sử dụng, dùng các nguyên tử đánh dấu. - Sử dụng các hình vẽ, ký hiệu thích hợp. 14
- 33. Nguyên lý đồng nhất Những đối tượng, tương tác với đối tượng cho trước, phải được làm từ cùng một vật liệu (hoặc từ vật liệu gần về các tính chất) với vật liệu chế tạo đối tượng cho trước. 34. Nguyên lý phân hủy hoặc tái sinh các phần - Phần đối tượng đã hoàn thành nhiệm vụ hoặc trở nên không cần thiết phải tự phân hủy (hoà tan, bay hơi ) hoặc phải biến dạng. - Các phần mất mát của đối tượng phải được phục hồi trực tiếp trong quá trình làm việc. 35. Thay đổi các thông số hoá lý của đối tượng - Thay đổi trạng thái đối tượng. - Thay đổi nồng độ hay độ đậm đặc. - Thay đổi độ dẻo. - Thay đổi nhiệt độ, thể tích. 36. Sử dụng chuyển pha Sử dụng các hiện tượng nảy sinh trong quá trình chuyển pha như: thay đổi thể tích, toả hay hấp thu nhiệt lượng 37. Sử dụng sự nở nhiệt - Sử dụng sự nở (hay co) nhiệt của các vật liệu. - Nếu đã dùng sự nở nhiệt, sử dụng với vật liệu có các hệ số nở nhiệt khác nhau. 38. Sử dụng các chất oxy hoá mạnh - Thay không khí thường bằng không khí giàu oxy. - Thay không khí giàu oxy bằng chính oxy. - Dùng các bức xạ ion hoá tác động lên không khí hoặc oxy. - Thay oxy giàu ozon (hoặc oxy bị ion hoá) bằng chính ozon. 15
- 39. Thay đổi độ trơ - Thay môi trường thông thường bằng môi trường trung hoà. - Đưa thêm vào đối tượng các phần , các chất , phụ gia trung hoà. - Thực hiện quá trình trong chân không. 40. Sử dụng các vật liệu hợp thành (composite) Chuyển từ các vật liệu đồng nhất sang sử dụng những vật liệu hợp thành (composite). Hay nói chung sử dụng các vật liệu mới. Phần 3: Áp dụng các nguyên tắc sáng tạo trong mã hóa 1. Nguyên lý phân nhỏ Trong mã hóa, tách văn bản thành các ký tự độc lập. Khi đó, việc mã hóa văn bản chỉ là mã cho từng ký tự rồi ghép lại tạo thành văn bản đã mã hóa. Như vậy, ta chỉ cần sử dụng bộ mã có số lượng giới hạn (bảng chữ cái, bảng chữ số, ) có thể mã được văn bản có kích thước bất kỳ. Cách mã hóa này là cách sơ khai nhất, đó là sự ánh xạ tương ứng một một giữa 1 ký tự gốc và 1 ký tự sau khi mã, chưa có sự phụ thuộc lẫn nhau giữa các ký tự hay khối ký tự kế cận nhau trong văn bản. 2. Nguyên lý “tách riêng” Áp dụng trong kỹ thuật tấn công vi sai: người ta cố tình tạo ra một ít khác biệt trong input và tìm xem kết quả output bị ảnh hưởng như thế nào từ những thay đổi ở đầu vào . Kỹ thuật này giúp các nhà thám mã có thể tách được những vị trí có liên quan và ảnh hưởng với nhau trong cả khối văn bản, truy vết các sai khác trong mạng lưới biến đổi và khám phá ra những chỗ nào không thực sự là ngẫu nhiên, cố gắng khai thác các thuộc tính đó để tìm ra khóa bí mật. 3. Nguyên lý phẩm chất cục bộ Mã hóa đối xứng (MHĐX) và mã hóa bất đối xứng (MHBĐX) là 2 dạng mã hóa được sử dụng phổ biến nhất. MHĐX có ưu điểm là tốc độ mã hóa nhanh , đơn giản, tuy nhiên lại 16
- khó khăn trong việc thiết lập kênh an toàn tuyệt đối để trao đổi khóa. Trong khi đó, với MHBĐX, vấn đề khóa trở nên vô cùng dễ dàng vì mỗi người tự làm chủ cặp khóa của chính mình, khóa mã được công khai để mã hóa tài liệu còn khóa giải mã thì chỉ người chủ cặp khóa mới biết. Vì tính chất công khai một phần khóa mà thuật toán cho MHBĐX đòi hỏi độ phức tạp cao và cho thời gian mã hóa lâu. Vì vậy người ta kết hợp hai cách này theo nguyên tắc cục bộ để tận dụng ưu điểm của cả hai: đối với văn bản cần mã (thường kích thước rất lớn) thì dùng MHĐX, còn việc trao đổi khóa bí mật thì dùng MHBĐX vì kích thước khóa thường không lớn, vừa đảm bảo về tốc độ, vừa đảm bảo an toàn.(Vd: cấu trúc giao thức trong SSL) 4. Nguyên lý kết hợp 1) Trong phương pháp mã hóa bằng thay thế, với mỗi khóa k được chọn, mỗi ký tự trong văn bản được ánh xạ thành một ký tự khác duy nhất trong văn bản sau khi mã. Vì tính song ánh đó mà văn bản sau khi mã có thể bị tấn công bằng kỹ thuật phân tích tần số. Khắc phục nhược điểm này, phương pháp Vigenere đã sử dụng khóa có độ dài m nhằm thực hiện m phép mã hóa bằng dịch chuyển được áp dụng luân phiên theo chu kỳ. Ta gọi kỹ thuật này là kết hợp cùng lúc nhiều khóa đơn (để tạo ra khóa m) và thực hiện theo chu kỳ để mã hóa văn bản. Kết quả là 2 ký tự giống nhau sau khi mã có thể cho hai ký tự khác nhau và kẻ tấn công không thể dùng phân tích tần số để đoán được ban đầu là ký tự nào Ví dụ : (Chọn bảng mã là bảng chữ cái tiếng anh) Mã hóa dùng 1 khóa: chọn k = 3 (nghĩa là kí tự a được thay bằng kí tự cách a 3 đơn vị trong bảng mã) Mã hóa dùng phương pháp Vigenere: chọn K = {1,2,3} => m= 3 17
- 2) Kết hợp nhiều cách thức mã hóa khác nhau trong cùng một quy trình mã hóa để tăng độ an toàn. Ví dụ như dùng phương pháp thay thế kết hợp phương pháp hoán vị để cùng mã hóa cho mỗi ký tự (hoăc mỗi khối) trong chuỗi văn bản. Trong các phương thức mã hóa công khai chuẩn quốc tế như DES, 3-DES, AES , người ta cũng áp dụng cách kết hợp nhiều phương thức + thực hiện mã hóa lặp đi lặp lại nhiều lần theo chu trình để tăng độ an toàn 3) Thay vì mã hóa từng bit (stream ciphers), người ta có thể kết hợp nhiều bit thành một khối để tiến hành mã hóa trên từng khối như một đơn vị mã hóa (gọi là block cipher). Vd: DES, AES, 3-DES Mã hóa khối trở nên hữu ích vì nó cho phép sử dụng một cách thống nhất các phương pháp từ lý thuyết mã hóa, toán học và khoa học máy tính để nghiên cứu về các giới hạn của mã hóa khối. Các giới hạn đó thường ở dạng bất đẳng thức liên hệ các tham số của mã, chẳng hạn như tỉ lệ và khả năng phát hiện và sửa lỗi. 5. Nguyên lý thực hiện sơ bộ Với phương pháp RSA, một số trường hợp sau gọi là yếu : Ký tự sau khi mã vẫn là ký tự gốc tức là thông tin không bị che giấu Ký tự gốc p có giá trị nhỏ, số mũ để mã e cũng nhỏ nên sau khi mã hóa giá trị c vẫn nhỏ hơn n, do đó dễ dàng tìm ra ký tự p ban đầu bằng cách khai căn bậc e của c. RSA là phương pháp mã hóa xác định (không có thành phần ngẫu nhiên) nên kẻ tấn công có thể thực hiện tấn công lựa chọn bảng rõ bằng hình thức tra bảng. Để tránh các tính trạng này, trước khi mã hóa bằng RSA, ta phải thực hiện việc chuyển đổi ngẫu nhiên hóa bản rõ (M -> m) sao cho không còn giá trị nào của M tạo ra văn bản không an toàn. Một số tiêu chuẩn như : PKCS, OAEP 6. Nguyên lý đảo ngược 1) Trong mã hóa đối xứng hay theo suy nghĩ thông thường, người ta cần phải dùng chính khóa đã mã để giải mã và thực hiện quy trình ngược lại mới có thể khôi phục được văn bản gốc. Tuy nhiên, với mã hóa bất đối xứng (mà cụ thể là phương pháp RSA), 18
- suy nghĩ này đã bị đảo ngược hoàn toàn: người ta mã bằng khóa này (public key) nhưng lại giải mã bằng khóa khác (private key) trong cùng cặp ương ứng, đồng thời thay vì đi ngược quy trình, ta lại tiếp tục “mã hóa” văn bản bằng khóa giải mã để khôi phục văn bản ban đầu. Cụ thể như sau: E(x) = xb = y thì D(y) = ya = x [ b là public key và a là private key trong cặp tương ứng, x là ký tự trong văn bản gốc, y là ký tự trong văn bản đã mã, E(x) là hàm mã, D(y) là hàm giải mã] 2) Cặp khóa trong mã hóa bất đối xứng ban đầu chỉ dùng trong mã hóa với mục đích là làm cho việc mã hóa trở nên thuận tiện hơn, không cần phải trao đổi khóa bí mật. Khóa công cộng dùng để mã hóa còn khóa bí mật thì dùng để giải mã. Tuy nhiên, một ý tưởng sáng tạo đã hình thành từ sự đảo ngược tư duy đã mang lại một hướng ứng dụng mới vô cùng hữu ích của mã hóa bất đối xứng, đó là chứng thực chữ ký điện tử. Về cơ bản, người ta sẽ sử dụng khóa bí mật (đại diện cho chủ sở hữu) để mã hóa (gọi là ký) trên văn bản, và dùng khóa công khai để giải mã và so sánh với văn bản gốc đính kèm (hay gọi là chứng thực chữ ký). Nếu hai văn bản giống nhau tức là người đã ký thực sự là chủ của tài liệu. (Trên thực tế, người ta còn dùng thêm hàm băm mật mã trong quá trình ký lên văn bản nhằm xác thực chữ ký có phù hợp với văn bản hay không) 7. Nguyên lý cầu (tròn) hóa Trong cách mã hóa dùng nhiều bảng chữ cái được Alberti sáng tạo (năm 1465), người ta áp dụng số bước nhảy khác nhau cho từng ký tự phụ thuộc vào vị trí của nó trong chuỗi gốc. Thay vì phải lập bảng cho từng bước dịch tốn nhiều công sức, người ta chỉ cần dùng 2 vòng tròn, vòng tròn ngoài là dãy kí tự theo đúng thứ tự bảng chữ cái, vòng tròn trong là dãy kí tự đã thay đổi theo từ khóa (dãy 0). Khi ta muốn 1 ký tự ở vòng tròn ngoài được mã bằng kí tự tương ứng của vòng tròn trong theo bước dịch k thì xoay vòng tròn trong đi k ô (so với thứ tự của dãy 0). (Hình 1) 19
- Hình 1- Phương pháp mã hóa dùng nhiều bảng chữ cái của Anberti 8. Nguyên lý linh động Nguyên lý linh động được cụ thể hóa bằng các tình huống trong các nguyên lý khác như: nguyên tắc cục bộ (kết hợp MHĐX và MHBĐX để tận dụng ưu điểm cả hai), nguyên tắc “thiếu” hoặc “thừa” cố đưa bài toán về trường hợp đã biết để giải quyết Các ví dụ khác: Cách nén dữ liệu dùng phương pháp Hulfman có ưu điểm là hệ số nén tương đối cao, đòi hỏi ít bộ nhớ và phương pháp thực hiện khá đơn giản. Tuy nhiên lại mắc nhược điểm là do chứa cả bảng mã trong tập tin nén nên chỉ hiệu quả khi nén các tập tin lớn => khắc phục bằng cách thực hiện nén một lần nhiều tập tin chuẩn bị truyền, làm như vậy coi như chúng ta đang thực hiện nén một tập tin lớn. Phương pháp mã hóa theo khối (block cipher) Rijndael có thuật toán hơi khác so với AES, và một trong những điểm khác đó là AES chỉ làm việc với các khối cố định 128 bit và độ dài khóa là 128, 192 hoặc 256. Trong khi đó, thuật toán Rijndael 20
- thì linh động hơn , cho phép kích thước khối và mã khóa có độ dài bất kì là bội số của 32 bit nằm trong khoảng từ 128 đến 256 bit 9. Nguyên lý giải “thiếu” hoặc “thừa” 1) Khi mã hóa văn bản theo khối thường xảy ra tình trạng khối cuối cùng có kích thước ngắn hơn kích thước của key. Một cách giải quyết đơn giản nhưng hiệu quả cho trường hợp này là bổ sung một số ký tự vào khối cuối cùng để đạt được kích thước cần thiết (gọi là Padding Scheme) và sau đó thì mã hóa bình thường như các khối trước. Sau khi giải mã, ta chỉ cần cắt bỏ đi phần thông tin đã padding cuối cùng sẽ được văn bản ban đầu. Có 2 cách thực hiện padding: Bit padding Vd: message có 23 bit, cần bổ sung thêm 9 bit nữa để đủ block 32 bit thì sẽ padding như sau: (bit 1 đánh dấu, các bit còn lại là 0) |1011 1001 1101 0100 0010 0111 0000 0000 Byte padding (ANSI X.923, ISO10126 , PKCS7 ) Vd:(ANSI X.923) block có kích thước 8 bytes, đang có 4 bytes nên cần 4 bytes nữa (các byte đầu là 0, byte cuối cho biết số lượng byte được thêm) | DD DD DD DD DD DD DD DD | DD DD DD DD 00 00 00 04 2) Trong các vấn đề của mật mã học bao gồm: Cryptography và Cryptanalysis, Integrity, Non- repudiation và Authentication, chúng ta mới chỉ quan tâm đến vấn đề bảo mật thông tin bên ngoài (văn bản) mà chưa đề cập đến vấn đề bảo mật cho thông tin có thể suy diễn được, nó thuộc về vấn đề khác gọi là Privacy. Ví dụ về việc đưa thư: nếu kẻ xấu biết ai đó đã gửi vào thùng thư 1 lá thư và khi người đưa thư chỉ đến đúng 1 địa chỉ để gửi thì kẻ xấu biết ngay lá thư đó là thư của ai và được gửi đến địa chỉ nào vì thùng thư khi đó chỉ có 1 lá thư được gửi vào. Đây là thông tin có thể suy diễn được. Để tránh việc này, người ta sẽ bỏ thừa 1 số thư vào thùng thư và giả vờ gửi đi đến N địa điểm khác nhau nhưng trong đó chỉ có 1 lá thư thật và địa điểm thật cần gửi. Việc ngụy trang đó đã giúp thông tin không bị suy diễn được. Cách làm này có thể áp dụng để giải quyết các tình huống tương tự trong Privacy 21
- 10. Nguyên lý chuyển sang chiều khác Trong thuật toán mã hóa đối xứng AES, tác giả đã đưa không gian ký tự sang một trường hữu hạn khác là trường Galois (28) được trang bị phép cộng và phép nhân thực hiện xử lý trên byte. Kết quả biến đổi trung gian là ma trận trạng thái của khối dữ liệu, tương ứng cũng biểu diễn khóa chính dưới dạng ma trận , nhờ đó có thể áp dụng các phép toán biến đổi trên ma trận trong quá trình mã hóa 11. Nguyên lý tác động theo chu kỳ Nguyên lý tác động theo chu kỳ được ứng dụng rất nhiều trong mã hóa và các vấn đề liên quan: hàm băm, mã hóa đối xứng, mã hóa bất đối xứng Mục đích là làm cho quá trình mã hóa đạt đến độ phức tạp đủ an toàn để kẻ tấn công khó mà tìm ra quy luật giải mã (trong mã hóa) hoặc làm cho sự sai khác dù nhỏ cũng có thể lan truyền tạo ra sai khác lớn để các văn bản khác nhau sau khi băm ra “chắc chắn” (hoặc khả năng giống nhau là vô cùng thấp) sẽ khác nhau (trong hàm băm mật mã). Dưới đây là một số phân tích cụ thể: 1) Trong mã hóa DES, quy trình mã hóa bao gồm nhiều chu kỳ mã hóa liên tiếp nhau; mỗi chu kỳ gồm nhiều thao tác mã hóa và sử dụng khóa con khác nhau tương ứng cho chu kỳ đó. Về khóa (key schedule) sử dụng trong chu trình, người ta cũng tạo ra 16 khóa con theo cơ chế xoay vòng bit từ khóa đầu tiên được cung cấp. Nhưng không phải khóa con nào cũng được xoay bit theo cách thức như nhau: subkey 1,2,9,16 thì xoay vòng 1 vị trí còn các subkey còn lại thì xoay vòng 2 vị trí. Sự thay đổi trong cách xoay vòng càng làm tăng thêm độ phức tạp, để kẻ tấn công càng khó tìm ra quy luật bẻ gãy thuật toán của phương pháp nếu như không có chìa khóa thích hợp 2) Trong hàm băm mật mã (MD5,SHA1 ), văn bản được cắt ra thành từng khối có chiều dài cố định phù hợp với kích thước khóa và chiều dài của chuỗi băm. Áp dụng N chu kì với nhiều phép tính toán, cộng xor, kết hợp để cuối cùng từ văn bản bất kỳ đều có thể băm ra một chuỗi có kích thước cố định và đặc trưng cho mỗi văn bản 22
- 12. Nguyên lý liên tục tác động có ích Trong mã hóa có một kỹ thuật tấn công khiến hệ thống mã hóa bất đối xứng RSA có thể bị thương tổn, đó là sử dụng kiểu tấn công lặp liên tiếp. Nghĩa là, với khóa công cộng {n,b} và từ khóa C đã biết trước, ta có thể có dãy sau: b b b C1 = C (mod n) , C2 = C1 (mod n), , Ci=Ci-1 (mod n) = C b b b Thay thế: Ci=Ci-1 (mod n) = C bằng Ci = C (mod n) = (mod n) = (mod n) = C Tức là nếu ta tiếp tục mã hóa cho đến khi trở về được ký tự ban đầu C, thì ta lại tìm ra được khóa giải mã là tích (k-1) lần khóa b ( hay khóa giải mã a = bk-1). 13. Nguyên lý quan hệ phản hồi Trong các giao dịch thường có sự phản hồi qua lại để biết được “đối tác” có nhận được thông báo đúng và đầy đủ chưa. Trong các giao thức trao đổi thông tin ứng dụng trên mạng (chẳng hạn TLS/SSL) cũng vậy, để đảm bảo thông tin gửi đi đã đến nơi an toàn, bên nhận cần gửi thông điệp phản hồi chứa toàn bộ thông tin đã nhận và mã hóa bằng thuật toán chung đã thỏa thuận để bên kia có thể giải mã và kiểm tra . Nếu nội dung phản hồi phù hợp thì tiếp tục, ngược lại thì phải hủy bỏ giao dịch kịp thời để đảm bảo an toàn 14. Nguyên lý sử dụng trung gian 1) Trong quá trình thực hiện các giao dịch online, việc xác thực người dùng bằng chữ ký điện tử gặp không ít các vấn đề khó khăn, trong đó có vấn đề dữ liệu bị tấn công trên đường truyền gọi là MIM(Main in Middle). Thông điệp trên đường đi bị chặn lại bởi kẻ xấu, kẻ xấu thay khóa rồi gửi đến nơi nhận (ngân hàng) . Nơi nhận trả thông tin về bằng khóa đã tráo bởi kẻ xấu, vì vậy kẻ xấu có thể chặn đường đọc được thông tin rồi gửi lại cho người chủ bên kia (khách hàng) bằng khóa đúng của chính họ (Hình 2). Như vậy, kẻ xấu đã đọc trộm được thông tin mà cả hai bên đều không phát hiện được vì cứ tưởng rằng đang dùng cùng cặp khóa giao dịch. Rõ ràng, lỗ hổng này thực hiện được là do bên nhận không chứng thực được public key có đúng thuộc người chủ sở hữu hay không. Để giải quyết vấn đề này, hai bên sẽ sử dụng giấy chứng nhận 23
- được cấp bởi bên trung gian là tổ chức CA để xác thực với nhau. Khách hàng đăng kí thông tin cho CA ->CA cấp giấy chứng nhận cho khách hàng, khách hàng gửi thông điệp kèm giấy chứng nhận cho ngân hàng -> ngân hàng liên hệ CA để kiểm tra giấy chứng nhận có hợp lệ không và tiến hành giao dịch. Đương nhiên trong trường hợp này, CA phải là 1 tổ chức công khai có uy tín cao và chịu mọi trách nhiệm về vấn đề này Hình 2- Hình thức tấn công Main in Middle 2) Giao thức Kerberos là một giao thức mật mã dùng để xác thực trong các mạng máy tính hoạt động trên những đường truyền không an toàn. Giao thức Kerberos có khả năng chống lại việc nghe lén hay gửi lại các gói tin cũ và đảm bảo tính toàn vẹn của dữ liệu. Giao thức nhằm vào mô hình máy khách-máy chủ và đảm bảo chứng thực cả hai chiều, được xây dựng dựa trên mật mã hóa khóa đối xứng và cần đến 1 bên thứ ba mà cả hai phía tham gia giao dịch tin tưởng. Bên thứ ba này gọi là “trung tâm phân phối khóa”, là đầu mút quan trọng thực thi 2 chức năng: “máy chủ xác thực” và “máy chủ cung cấp vé” trong toàn bộ quá trình giao dịch 15. Nguyên lý “rẻ” thay cho “đắt” 1) Một trong những ứng dụng của mã hóa là nén dữ liệu, trong đó người ta sẽ tìm cách biểu diễn chuỗi ban đầu thành một chuỗi có kích thước nhỏ hơn nhưng vẫn tương đương (*) để làm gọn tập tin ban đầu, nhằm giảm bớt chi phí trong quá trình lưu trữ , 24
- truyền tải, khắc phục được những hạn chế do sự phình to của dữ liệu gây ra (vd: giới hạn về băng thông mạng, thời gian truyền tải quá lâu, dễ xảy ra lỗi ) (*): tương đương nghĩa là chuỗi mới tuy ngắn hơn nhưng có thể đại diện duy nhất và khôi phục lại được chuỗi ban đầu sau khi giải nén. (nén không mất mát thông tin) VD: Phương pháp mã hoá độ dài loạt (Run-Length Encoding) : áp dụng cho chuỗi không chứa ký tự số và đủ dài , nếu không việc nén chỉ tăng thêm kích thước chứ không giảm so với chuỗi gốc Chuỗi gốc: AAAABBBAAACCCCCCCC Chuỗi nén: 4A3B3A8C (con số cho biết số lượng ký tự liền sau được viết liên tiếp) 2) Một dạng thứ 2 của kỹ thuật nén là nén mất mát thông tin, thường áp dụng cho nén các tập tin lớn như hình ảnh, video, file nhạc, các file đồ họa 3D Mặc dù chất lượng sau khi giải nén không được tốt như ban đầu (vì có mất mát) nhưng nó nén nhanh hơn so với nén không mất mát thông tin, dung lượng nén được nhỏ hơn và chất lượng dù giảm vẫn ở mức chấp nhận được (đôi khi mắt thường cũng không thể phân biệt do mất mát nhỏ, không đáng kể) Tài liệu tham khảo 1. Tài liệu Internet 1. Giới thiệu về mật mã học 2. Thuật toán mã hóa đối xứng 4%91%E1%BB%91i_x%E1%BB%A9ng 3. Mật mã khóa công khai %B3a_c%C3%B4ng_khai 4. Hàm băm mật mã học 25
- 3%A3_h%E1%BB%8Dc 5. Giới thiệu về phương pháp mã hóa Anberti Các thuật toán nén 6. 05/chuong4.html 2. Tài liệu văn bản 1. Slide _ Phương pháp nghiên cứu khoa học trong tin học _ GS.TSKH. Hoàng Kiếm 2. Slide môn học Mã hóa thông tin và ứng dụng _ TS. Trần Minh Triết. 26