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
27 trang |
Chia sẻ: tuandn | Lượt xem: 2030 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Tiểu luận Áp dụng các nguyên tắc sáng tạo trong mật mã hóa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Đạ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
1
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
2
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
3
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
4
Phần I: Giới thiệu về mật mã học
Mật mã học cổ điển 1.
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…
Mật mã học hiện đại 2.
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ề
5
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ự.
6
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)
7
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:
8
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ã:
9
Đ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
Nguyên lý phân nhỏ 1.
- 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,…
Nguyên lý “tách riêng” 2.
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.
Nguyên lý phẩm chất cục bộ 3.
- 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.
10
Nguyên lý phản đối xứng 4.
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).
Nguyên lý kết hợp: 5.
- 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.
Nguyên lý vạn năng 6.
Đối tượng thực hiện một số chứ