1. Mã hóa thông tin ▪ Mã hóa thông tin là gì? ▪ Lịch sử mã hóa ▪ Các thành phần của một hệ mã hóa ▪ Mã hóa dòng và mã hóa khối ▪ Ứng dụng của mã hóa 2. Phương pháp mã hóa ▪ Phương pháp thay thế ▪ Phương pháp hoán vị ▪ Phương pháp XOR ▪ Phương pháp Vernam ▪ Phương pháp sách hoặc khóa chạy ▪ Phương pháp hàm băm
Trang 137 Địa vị a Bấp bê nh b Bập bùng c Bập bềnh d Bậ p bẹ 38 Lửa cháy a Bấp bênh b Bập bùng c Bậ p bềnh d Bập bẹ 39 Sóng nước a Bấ p bên h b Bập bùng c Bập bềnh d Bậ p bẹ 40 Tiếng nói a Bấp bênh b Bập bùng c Bậ p bề nh phẩm a Bất hảo b Bất kha m c Bất h ủ d Bất minh 43 P hần tử a Bất hả o b
d Bất mi nh 45 Bàn tay a Êm ấ m b Ê m dịu c Êm ái d Ê m đềm 4 6 Dòng sông lòng a Hào hùng b Hà o hiệ p c Hà o phóng d Hà o hoa 5 0 Khí phách a Hào hiệp c Hà o phóng d Hào hoa 52 Ăn tiêu a Hà o hùng b Hào hiệp c Hào phóng d Hào hoa 53 Ăn nói 54 Bệnh dịch 55 Đá nh bằ ng 56 Tính tình
1
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
KHOA CÔNG NGHỆ THÔNG TIN
Giảng Viên: ThS.Dương Minh Tuấn
dmtuan@ntt.edu.vn
Trang 237 Địa vị a Bấp bê nh b Bập bùng c Bập bềnh d Bậ p bẹ 38 Lửa cháy a Bấp bênh b Bập bùng c Bậ p bềnh d Bập bẹ 39 Sóng nước a Bấ p bên h b Bập bùng c Bập bềnh d Bậ p bẹ 40 Tiếng nói a Bấp bênh b Bập bùng c Bậ p bề nh phẩm a Bất hảo b Bất kha m c Bất h ủ d Bất minh 43 P hần tử a Bất hả o b
d Bất mi nh 45 Bàn tay a Êm ấ m b Ê m dịu c Êm ái d Ê m đềm 4 6 Dòng sông lòng a Hào hùng b Hà o hiệ p c Hà o phóng d Hà o hoa 5 0 Khí phách a Hào hiệp c Hà o phóng d Hào hoa 52 Ăn tiêu a Hà o hùng b Hào hiệp c Hào phóng d Hào hoa 53 Ăn nói 54 Bệnh dịch 55 Đá nh bằ ng 56 Tính tình
Mã hóa thông tin và các phương pháp mã hóa
2
Chương III.
1 Mã hóa thông tin
▪ Mã hóa thông tin là gì?
Trang 337 Địa vị a Bấp bê nh b Bập bùng c Bập bềnh d Bậ p bẹ 38 Lửa cháy a Bấp bênh b Bập bùng c Bậ p bềnh d Bập bẹ 39 Sóng nước a Bấ p bên h b Bập bùng c Bập bềnh d Bậ p bẹ 40 Tiếng nói a Bấp bênh b Bập bùng c Bậ p bề nh phẩm a Bất hảo b Bất kha m c Bất h ủ d Bất minh 43 P hần tử a Bất hả o b
d Bất mi nh 45 Bàn tay a Êm ấ m b Ê m dịu c Êm ái d Ê m đềm 4 6 Dòng sông lòng a Hào hùng b Hà o hiệ p c Hà o phóng d Hà o hoa 5 0 Khí phách a Hào hiệp c Hà o phóng d Hào hoa 52 Ăn tiêu a Hà o hùng b Hào hiệp c Hào phóng d Hào hoa 53 Ăn nói 54 Bệnh dịch 55 Đá nh bằ ng 56 Tính tình
1 Mã hóa thông tin là gì?
1 Mã hóa thông tin
❖ Định nghĩa theo Webster's Revised Unabridged Dictionary:
cryptography is "the act or art of writing secret characters " – mật mã là một hành động hoặc nghệ thuật viết các ký tự bí mật.
❖ Định nghĩa theo Free Online Dictionary of Computing:
cryptography is "encoding data so that it can only be decoded by specific individuals " – mật mã là việc mã hóa dữ liệu mà nó chỉ có thể được giải mã bởi một số người chỉ định
Trang 437 Địa vị a Bấp bê nh b Bập bùng c Bập bềnh d Bậ p bẹ 38 Lửa cháy a Bấp bênh b Bập bùng c Bậ p bềnh d Bập bẹ 39 Sóng nước a Bấ p bên h b Bập bùng c Bập bềnh d Bậ p bẹ 40 Tiếng nói a Bấp bênh b Bập bùng c Bậ p bề nh phẩm a Bất hảo b Bất kha m c Bất h ủ d Bất minh 43 P hần tử a Bất hả o b
d Bất mi nh 45 Bàn tay a Êm ấ m b Ê m dịu c Êm ái d Ê m đềm 4 6 Dòng sông lòng a Hào hùng b Hà o hiệ p c Hà o phóng d Hà o hoa 5 0 Khí phách a Hào hiệp c Hà o phóng d Hào hoa 52 Ăn tiêu a Hà o hùng b Hào hiệp c Hào phóng d Hào hoa 53 Ăn nói 54 Bệnh dịch 55 Đá nh bằ ng 56 Tính tình
1 Mã hóa thông tin
Một hệ mã hóa gồm 2 phần:
▪ Mã hóa (encryption)
▪ Giải mã (decryption)
Trang 537 Địa vị a Bấp bê nh b Bập bùng c Bập bềnh d Bậ p bẹ 38 Lửa cháy a Bấp bênh b Bập bùng c Bậ p bềnh d Bập bẹ 39 Sóng nước a Bấ p bên h b Bập bùng c Bập bềnh d Bậ p bẹ 40 Tiếng nói a Bấp bênh b Bập bùng c Bậ p bề nh phẩm a Bất hảo b Bất kha m c Bất h ủ d Bất minh 43 P hần tử a Bất hả o b
d Bất mi nh 45 Bàn tay a Êm ấ m b Ê m dịu c Êm ái d Ê m đềm 4 6 Dòng sông lòng a Hào hùng b Hà o hiệ p c Hà o phóng d Hà o hoa 5 0 Khí phách a Hào hiệp c Hà o phóng d Hào hoa 52 Ăn tiêu a Hà o hùng b Hào hiệp c Hào phóng d Hào hoa 53 Ăn nói 54 Bệnh dịch 55 Đá nh bằ ng 56 Tính tình
Lịch sử mã hóa
❖ Những ngày đầu của mã hóa
❖ Các kỹ thuật mã hoá thô sơ đã được người cổ Ai cập sử dụng cách đây 4000 năm.
❖ Người cổ Hy lạp, Ấn độ cũng đã sử dụng mã hoá cách đây hàng ngàn năm.
❖ Các kỹ thuật mã hoá chỉ thực sự phát triển mạnh từ thế kỷ 18 nhờ
công cụ toán học, và phát triển vượt bậc trong thế kỷ 20 nhờ sự phát triển của máy tính và ngành CNTT.
❖ Trong chiến tranh thế giới thứ I và II, các kỹ thuật mã hóa được sử
dụng rộng rãi trong liên lạc quân sự sử dụng song vô tuyến.
❖ Sử dụng các công cụ phá mã/thám mã để giải mã các thông điệp của quân địch
Trang 637 Địa vị a Bấp bê nh b Bập bùng c Bập bềnh d Bậ p bẹ 38 Lửa cháy a Bấp bênh b Bập bùng c Bậ p bềnh d Bập bẹ 39 Sóng nước a Bấ p bên h b Bập bùng c Bập bềnh d Bậ p bẹ 40 Tiếng nói a Bấp bênh b Bập bùng c Bậ p bề nh phẩm a Bất hảo b Bất kha m c Bất h ủ d Bất minh 43 P hần tử a Bất hả o b
d Bất mi nh 45 Bàn tay a Êm ấ m b Ê m dịu c Êm ái d Ê m đềm 4 6 Dòng sông lòng a Hào hùng b Hà o hiệ p c Hà o phóng d Hà o hoa 5 0 Khí phách a Hào hiệp c Hà o phóng d Hào hoa 52 Ăn tiêu a Hà o hùng b Hào hiệp c Hào phóng d Hào hoa 53 Ăn nói 54 Bệnh dịch 55 Đá nh bằ ng 56 Tính tình
Lịch sử mã hóa
❖ Người Hy Lạp cổ đại sử dụng một công cụ gọi là Scytale để giúp
mã hóa tin nhắn của họ nhanh hơn bằng cách sử dụng mật mã
chuyển vị
➢ Họ chỉ đơn giản là quấn dải giấy da xung quanh hình trụ, viết
thông điệp và sau đó khi không buộc sẽ không có ý nghĩa gì
➢ Tất nhiên, phương pháp mã hóa này có thể khá dễ bị phá vỡ,
nhưng nó là một trong những ví dụ đầu tiên về mã hóa thực sự được sử dụng trong thế giới thực.
Trang 737 Địa vị a Bấp bê nh b Bập bùng c Bập bềnh d Bậ p bẹ 38 Lửa cháy a Bấp bênh b Bập bùng c Bậ p bềnh d Bập bẹ 39 Sóng nước a Bấ p bên h b Bập bùng c Bập bềnh d Bậ p bẹ 40 Tiếng nói a Bấp bênh b Bập bùng c Bậ p bề nh phẩm a Bất hảo b Bất kha m c Bất h ủ d Bất minh 43 P hần tử a Bất hả o b
d Bất mi nh 45 Bàn tay a Êm ấ m b Ê m dịu c Êm ái d Ê m đềm 4 6 Dòng sông lòng a Hào hùng b Hà o hiệ p c Hà o phóng d Hà o hoa 5 0 Khí phách a Hào hiệp c Hà o phóng d Hào hoa 52 Ăn tiêu a Hà o hùng b Hào hiệp c Hào phóng d Hào hoa 53 Ăn nói 54 Bệnh dịch 55 Đá nh bằ ng 56 Tính tình
Lịch sử mã hóa
❖ Julius Caesar đã sử dụng một phương pháp tương tự trong thời
của mình bằng cách dịch chuyển từng chữ cái trong bảng chữ cái sang phải hoặc sang trái theo một số vị trí
➢ Một kỹ thuật mã hóa được gọi là Mật mã của Caesar
➢ Ví dụ: bằng cách sử dụng mật mã mẫu bên dưới, bạn sẽ viết
“GEEK” là “JHHN”.
➢ Đồng bằng: ABCDEFGHIJKLMNOPQRSTUVWXYZ
➢ Mật mã: DEFGHIJKLMNOPQRSTUVWXYZABC
Trang 837 Địa vị a Bấp bê nh b Bập bùng c Bập bềnh d Bậ p bẹ 38 Lửa cháy a Bấp bênh b Bập bùng c Bậ p bềnh d Bập bẹ 39 Sóng nước a Bấ p bên h b Bập bùng c Bập bềnh d Bậ p bẹ 40 Tiếng nói a Bấp bênh b Bập bùng c Bậ p bề nh phẩm a Bất hảo b Bất kha m c Bất h ủ d Bất minh 43 P hần tử a Bất hả o b
d Bất mi nh 45 Bàn tay a Êm ấ m b Ê m dịu c Êm ái d Ê m đềm 4 6 Dòng sông lòng a Hào hùng b Hà o hiệ p c Hà o phóng d Hà o hoa 5 0 Khí phách a Hào hiệp c Hà o phóng d Hào hoa 52 Ăn tiêu a Hà o hùng b Hào hiệp c Hào phóng d Hào hoa 53 Ăn nói 54 Bệnh dịch 55 Đá nh bằ ng 56 Tính tình
Lịch sử mã hóa
❖ Máy Enigma
➢ Trong Thế chiến thứ hai, người Đức đã sử dụng máy Enigma để
chuyển các đường truyền được mã hóa qua lại, mất nhiều năm trước khi người Ba Lan có thể bẻ khóa các thông điệp và đưa ra giải pháp cho các lực lượng Đồng minh, vốn là công cụ dẫn đến chiến thắng của họ.
Trang 937 Địa vị a Bấp bê nh b Bập bùng c Bập bềnh d Bậ p bẹ 38 Lửa cháy a Bấp bênh b Bập bùng c Bậ p bềnh d Bập bẹ 39 Sóng nước a Bấ p bên h b Bập bùng c Bập bềnh d Bậ p bẹ 40 Tiếng nói a Bấp bênh b Bập bùng c Bậ p bề nh phẩm a Bất hảo b Bất kha m c Bất h ủ d Bất minh 43 P hần tử a Bất hả o b
d Bất mi nh 45 Bàn tay a Êm ấ m b Ê m dịu c Êm ái d Ê m đềm 4 6 Dòng sông lòng a Hào hùng b Hà o hiệ p c Hà o phóng d Hà o hoa 5 0 Khí phách a Hào hiệp c Hà o phóng d Hào hoa 52 Ăn tiêu a Hà o hùng b Hào hiệp c Hào phóng d Hào hoa 53 Ăn nói 54 Bệnh dịch 55 Đá nh bằ ng 56 Tính tình
Lịch sử mã hóa
❖ Lịch sử của mã hóa hiện đại
❖ Năm 1976 chuẩn mã hóa DES (Data Encryption Standard)
được cơ quan an ninh quốc gia Mỹ (NSA – National Security Agency) thừa nhận và sử dụng rộng rãi.
❖ Năm 1976, hai nhà khoa học Whitman Diffie và Martin Hellman đã đưa
ra khái niệm mã hóa bất đối xứng ( Asymetric key cryptography ) hay
mã hóa khóa công khai ( Public key cryptography ) đưa đến những thay đổi lớn trong kỹ thuật mật mã:
▪ Các hệ mã hóa khóa công khai hỗ trợ trao đổi khóa dễ dàng hơn;
▪ Các hệ mã hóa khóa bí mật gặp khó khăn trong quản lý và trao đổi
khóa, đặc biệt khi số lượng người dùng lớn
Trang 1037 Địa vị a Bấp bê nh b Bập bùng c Bập bềnh d Bậ p bẹ 38 Lửa cháy a Bấp bênh b Bập bùng c Bậ p bềnh d Bập bẹ 39 Sóng nước a Bấ p bên h b Bập bùng c Bập bềnh d Bậ p bẹ 40 Tiếng nói a Bấp bênh b Bập bùng c Bậ p bề nh phẩm a Bất hảo b Bất kha m c Bất h ủ d Bất minh 43 P hần tử a Bất hả o b
d Bất mi nh 45 Bàn tay a Êm ấ m b Ê m dịu c Êm ái d Ê m đềm 4 6 Dòng sông lòng a Hào hùng b Hà o hiệ p c Hà o phóng d Hà o hoa 5 0 Khí phách a Hào hiệp c Hà o phóng d Hào hoa 52 Ăn tiêu a Hà o hùng b Hào hiệp c Hào phóng d Hào hoa 53 Ăn nói 54 Bệnh dịch 55 Đá nh bằ ng 56 Tính tình
❖ Năm 2001, chuẩn mã hóa AES (Advanced Encryption Standard)
được xây dựng và sử dụng rộng rãi
Trang 1137 Địa vị a Bấp bê nh b Bập bùng c Bập bềnh d Bậ p bẹ 38 Lửa cháy a Bấp bênh b Bập bùng c Bậ p bềnh d Bập bẹ 39 Sóng nước a Bấ p bên h b Bập bùng c Bập bềnh d Bậ p bẹ 40 Tiếng nói a Bấp bênh b Bập bùng c Bậ p bề nh phẩm a Bất hảo b Bất kha m c Bất h ủ d Bất minh 43 P hần tử a Bất hả o b
d Bất mi nh 45 Bàn tay a Êm ấ m b Ê m dịu c Êm ái d Ê m đềm 4 6 Dòng sông lòng a Hào hùng b Hà o hiệ p c Hà o phóng d Hà o hoa 5 0 Khí phách a Hào hiệp c Hà o phóng d Hào hoa 52 Ăn tiêu a Hà o hùng b Hào hiệp c Hào phóng d Hào hoa 53 Ăn nói 54 Bệnh dịch 55 Đá nh bằ ng 56 Tính tình
❖ Thông tin chưa được mã hóa ( Unencrypted information ) là thông tin ở dạng có thể hiểu được.
- Cũng được gọi là bản rõ (plaintext hay cleartext)
❖ Thông tin đã được mã hóa ( Encrypted information ) là thông tin ở dạng đã bị xáo trộn.
- Cũng được gọi là bản mã (ciphertext hay encrypted text)
Các thuật ngữ Mã hóa thông tin
Trang 1237 Địa vị a Bấp bê nh b Bập bùng c Bập bềnh d Bậ p bẹ 38 Lửa cháy a Bấp bênh b Bập bùng c Bậ p bềnh d Bập bẹ 39 Sóng nước a Bấ p bên h b Bập bùng c Bập bềnh d Bậ p bẹ 40 Tiếng nói a Bấp bênh b Bập bùng c Bậ p bề nh phẩm a Bất hảo b Bất kha m c Bất h ủ d Bất minh 43 P hần tử a Bất hả o b
d Bất mi nh 45 Bàn tay a Êm ấ m b Ê m dịu c Êm ái d Ê m đềm 4 6 Dòng sông lòng a Hào hùng b Hà o hiệ p c Hà o phóng d Hà o hoa 5 0 Khí phách a Hào hiệp c Hà o phóng d Hào hoa 52 Ăn tiêu a Hà o hùng b Hào hiệp c Hào phóng d Hào hoa 53 Ăn nói 54 Bệnh dịch 55 Đá nh bằ ng 56 Tính tình
Các thuật ngữ Mã hóa thông tin
- Sử dụng một thuật toán ( Algorithm ) để mã hóa/giải mã thông tin;
- Thuật toán mã hóa/giải mã có thể giống, hoặc khác nhau.
❖ Một bộ mã hóa (Cipher):
- Là một giải thuật để mã hóa và giải mã thông tin
Trang 1337 Địa vị a Bấp bê nh b Bập bùng c Bập bềnh d Bậ p bẹ 38 Lửa cháy a Bấp bênh b Bập bùng c Bậ p bềnh d Bập bẹ 39 Sóng nước a Bấ p bên h b Bập bùng c Bập bềnh d Bậ p bẹ 40 Tiếng nói a Bấp bênh b Bập bùng c Bậ p bề nh phẩm a Bất hảo b Bất kha m c Bất h ủ d Bất minh 43 P hần tử a Bất hả o b
d Bất mi nh 45 Bàn tay a Êm ấ m b Ê m dịu c Êm ái d Ê m đềm 4 6 Dòng sông lòng a Hào hùng b Hà o hiệ p c Hà o phóng d Hà o hoa 5 0 Khí phách a Hào hiệp c Hà o phóng d Hào hoa 52 Ăn tiêu a Hà o hùng b Hào hiệp c Hào phóng d Hào hoa 53 Ăn nói 54 Bệnh dịch 55 Đá nh bằ ng 56 Tính tình
❖ Khóa/Chìa ( Key ) là một chuỗi được
sử dụng trong giải thuật mã hóa và
giải mã.
❖ Không gian khóa ( Keyspace ) là tổng
số khóa có thể có của một hệ mã hóa.
❖ Ví dụ:
Nếu sử dụng khóa kích thước 64 bít →
không gian khóa là 2^64
Các thuật ngữ Mã hóa thông tin
Trang 1437 Địa vị a Bấp bê nh b Bập bùng c Bập bềnh d Bậ p bẹ 38 Lửa cháy a Bấp bênh b Bập bùng c Bậ p bềnh d Bập bẹ 39 Sóng nước a Bấ p bên h b Bập bùng c Bập bềnh d Bậ p bẹ 40 Tiếng nói a Bấp bênh b Bập bùng c Bậ p bề nh phẩm a Bất hảo b Bất kha m c Bất h ủ d Bất minh 43 P hần tử a Bất hả o b
d Bất mi nh 45 Bàn tay a Êm ấ m b Ê m dịu c Êm ái d Ê m đềm 4 6 Dòng sông lòng a Hào hùng b Hà o hiệ p c Hà o phóng d Hà o hoa 5 0 Khí phách a Hào hiệp c Hà o phóng d Hào hoa 52 Ăn tiêu a Hà o hùng b Hào hiệp c Hào phóng d Hào hoa 53 Ăn nói 54 Bệnh dịch 55 Đá nh bằ ng 56 Tính tình
Khóa Mã hóa thông tin
Mã hóa khóa bí mật (Secret key cryptography):
Trang 1537 Địa vị a Bấp bê nh b Bập bùng c Bập bềnh d Bậ p bẹ 38 Lửa cháy a Bấp bênh b Bập bùng c Bậ p bềnh d Bập bẹ 39 Sóng nước a Bấ p bên h b Bập bùng c Bập bềnh d Bậ p bẹ 40 Tiếng nói a Bấp bênh b Bập bùng c Bậ p bề nh phẩm a Bất hảo b Bất kha m c Bất h ủ d Bất minh 43 P hần tử a Bất hả o b
d Bất mi nh 45 Bàn tay a Êm ấ m b Ê m dịu c Êm ái d Ê m đềm 4 6 Dòng sông lòng a Hào hùng b Hà o hiệ p c Hà o phóng d Hà o hoa 5 0 Khí phách a Hào hiệp c Hà o phóng d Hào hoa 52 Ăn tiêu a Hà o hùng b Hào hiệp c Hào phóng d Hào hoa 53 Ăn nói 54 Bệnh dịch 55 Đá nh bằ ng 56 Tính tình
Mã hóa khóa công khai (Public key cryptography):
Khóa Mã hóa thông tin
Trang 1637 Địa vị a Bấp bê nh b Bập bùng c Bập bềnh d Bậ p bẹ 38 Lửa cháy a Bấp bênh b Bập bùng c Bậ p bềnh d Bập bẹ 39 Sóng nước a Bấ p bên h b Bập bùng c Bập bềnh d Bậ p bẹ 40 Tiếng nói a Bấp bênh b Bập bùng c Bậ p bề nh phẩm a Bất hảo b Bất kha m c Bất h ủ d Bất minh 43 P hần tử a Bất hả o b
d Bất mi nh 45 Bàn tay a Êm ấ m b Ê m dịu c Êm ái d Ê m đềm 4 6 Dòng sông lòng a Hào hùng b Hà o hiệ p c Hà o phóng d Hà o hoa 5 0 Khí phách a Hào hiệp c Hà o phóng d Hào hoa 52 Ăn tiêu a Hà o hùng b Hào hiệp c Hào phóng d Hào hoa 53 Ăn nói 54 Bệnh dịch 55 Đá nh bằ ng 56 Tính tình
Mã hóa thông tin
là một ánh xạ chuyển các dữ liệu
có kích thước thay đổi về dữ liệu
có kích thước cố định.
hash function) là hàm băm trong
đó việc thực hiện mã hóa tương
đối đơn giản, còn việc giải mã
thường có độ phức tạp rất lớn,
hoặc không khả thi về mặt tính
toán
Trang 1737 Địa vị a Bấp bê nh b Bập bùng c Bập bềnh d Bậ p bẹ 38 Lửa cháy a Bấp bênh b Bập bùng c Bậ p bềnh d Bập bẹ 39 Sóng nước a Bấ p bên h b Bập bùng c Bập bềnh d Bậ p bẹ 40 Tiếng nói a Bấp bênh b Bập bùng c Bậ p bề nh phẩm a Bất hảo b Bất kha m c Bất h ủ d Bất minh 43 P hần tử a Bất hả o b
d Bất mi nh 45 Bàn tay a Êm ấ m b Ê m dịu c Êm ái d Ê m đềm 4 6 Dòng sông lòng a Hào hùng b Hà o hiệ p c Hà o phóng d Hà o hoa 5 0 Khí phách a Hào hiệp c Hà o phóng d Hào hoa 52 Ăn tiêu a Hà o hùng b Hào hiệp c Hào phóng d Hào hoa 53 Ăn nói 54 Bệnh dịch 55 Đá nh bằ ng 56 Tính tình
Mã hóa thông tin
Phá mã/Thám mã (Cryptanalysis)
là quá trình giải mã thông điệp đã bị mã hóa (ciphertext) mà
không cần có trước:
▪ Thông tin về giải thuật mã hóa (Encryption algorithm)
▪ Thông tin về khóa mã (Key)