Mã hoá là quá trình chuyển bản rõ thành bản mã, thông thường bao gồm việc áp dụng thuật toán mã hóa và một số quá trình xử lý thông tin kèm theo... Thông thường khi đưa các mã mạnh ra l
Trang 1Các phương pháp mã hóa thông tin
1 Giới thiệu
2 Lược sử phát triển
3 Các khái niệm cơ sở
Trang 2Mật mã học
• Mật mã (Cryptography) là ngành
khoa học nghiên cứu các kỹ thuật toán học nhằm cung cấp các dịch vụ bảo vệ thông tin.
W Stallings (2003), Cryptography and
Network Security: Principles and Practice,
Third Edition, Prentice Hall
Trang 3Một số thuật ngữ
• 1 Bản rõ X được gọi là là bản tin gốc Bản rõ có thể được chia nhỏ
có kích thước phù hợp
• 2 Bản mã Y là bản tin gốc đã được mã hoá Ở đây ta thường xét
phương pháp mã hóa mà không làm thay đổi kích thước của bản rõ, tức là chúng có cùng độ dài
• 3 Mã là thuật toán E chuyển bản rõ thành bản mã Thông thường
chúng ta cần thuật toán mã hóa mạnh, cho dù kẻ thù biết được thuật toán, nhưng không biết thông tin về khóa cũng không tìm được bản rõ
• 4 Khoá K là thông tin tham số dùng để mã hoá, chỉ có người gửi và
nguời nhận biết Khóa là độc lập với bản rõ và có độ dài phù hợp với yêu cầu an toàn
• 5 Mã hoá là quá trình chuyển bản rõ thành bản mã, thông thường
bao gồm việc áp dụng thuật toán mã hóa và một số quá trình xử lý thông tin kèm theo
Trang 4Một số thuật ngữ
• 6 Giải mã chuyển bản mã thành bản rõ, đây là quá trình ngược lại của mã
hóa.
• 7 Mật mã là chuyên ngành khoa học của Khoa học máy tính nghiên cứu về
các nguyên lý và phương pháp mã hoá Hiện nay người ta đưa ra nhiều chuẩn
an toàn cho các lĩnh vực khác nhau của công nghệ thông tin.
• 8 Thám mã nghiên cứu các nguyên lý và phương pháp giải mã mà không
biết khoá Thông thường khi đưa các mã mạnh ra làm chuẩn dùng chung giữa các người sử dụng, các mã đó được các kẻ thám mã cũng như những người phát triển mã tìm hiểu nghiên cứu các phương pháp giải một phần bản mã với các thông tin không đầy đủ
• 9 Lý thuyết mã bao gồm cả mật mã và thám mã Nó là một thể thống nhất,
để đánh giá một mã mạnh hay không, đều phải xét từ cả hai khía cạnh đó Các nhà khoa học mong muốn tìm ra các mô hình mã hóa khái quát cao đáp ứng nhiều chính sách an toàn khác nhau.
Trang 5Mật mã học???
Cách hiểu truyền thống: giữ bí mật nội dung trao đổi
Alice và Bob trao đổi với nhau trong khi Eve tìm cách “nghe lén”
Alice
Bob
Eve
Trang 6Một số vấn đề chính trong bảo vệ thông tin
• Bảo mật thông tin (Secrecy): đảm bảo thông tin được giữ bí mật.
• Toàn vẹn thông tin (Integrity): bảo đảm tính toàn vẹn thông tin trong liên lạc hoặc giúp phát hiện rằng thông tin đã bị sửa đổi.
• Xác thực (Authentication): xác thực các đối tác trong liên lạc và xác thực nội dung thông tin trong liên lạc
• Chống lại sự thoái thác trách nhiệm (Non-repudiation): đảm bảo một đối tác bất kỳ trong hệ thống không thể
từ chối trách nhiệm về hành động mà mình đã thực hiện
Trang 8Tính toàn vẹn thông tin (Integrity)
Trang 9Kênh truyền không an toàn
A’s
A’s ?
Trang 10Chống lại sự thoái thác trách nhiệm
• Ví dụ:
– Bob nhận được 1 thông điệp mà Alice đã gửi
– Alice không thể “chối” rằng không gửi thông điệp này cho Bob
• Chống lại sự thoái thác trách nhiệm
(Non-repudiation)
Trang 12Ứng dụng
Smart cards
Embedded systemsenigma
Trang 13Mô hình trao đổi thông điệp mật
m
attacker
Trang 14Hai kỹ thuật mã hóa chủ yếu
– Hiện vẫn còn được dùng rất phổ biến
• Mã hóa khóa công khai (bất đối xứng)
– Mỗi bên sử dụng một cặp khóa
• Một khóa công khai + Một khóa riêng– Công bố chính thức năm 1976
Trang 15• Xử lý dữ liệu đầu vào liên tục (chẳng hạn mỗi lần 1 bit)
• Theo phương thức chuyển đổi
– Mã hóa thay thế
• Chuyển đổi mỗi phần tử văn bản thô thành một phần tử văn bản
mã hóa tương ứng– Mã hóa hoán vị
• Bố trí lại vị trí các phần tử trong văn bản thô
Trang 16Mô hình hệ mã hóa đối xứng
Khóa bí mật dùng chung bởi bên gửi và bên nhận Khóa bí mật dùng chung bởi bên gửi và bên nhận
Giải thuật mã hóa Giải thuật giải mã
Văn bản thô
đầu vào
Văn bản thô đầu ra
Văn bản mã hóa truyền đi
Mã hóa
Y = EK(X)
Giải mã
X = DK(Y)
Trang 17Mô hình hệ mã hóa đối xứng
– Giải thuật giải mã
• An toàn phụ thuộc vào sự bí mật của khóa, không phụ thuộc vào sự bí mật của giải thuật
Trang 18• Khai thác những nhược điểm của giải thuật
• Dựa trên những đặc trưng chung của văn bản thô hoặc một số cặp văn bản thô - văn bản mã hóa mẫu
Trang 20Thời gian tìm kiếm trung bình
2,15 ms 10,01 giờ 5,4 x 10 18 năm 5,9 x 10 30 năm 6,4 x 10 6 năm
Tuổi vũ trụ : ~ 1010 năm
Khóa DES dài 56 bit
Khóa AES dài 128+ bit
Khóa 3DES dài 168 bit
Trang 21Mã hóa thay thế cổ điển
• Các chữ cái của văn bản thô được thay thế bởi các chữ cái khác, hoặc các số, hoặc các ký hiệu
• Nếu văn bản thô được coi như một chuỗi bit thì thay thế các mẫu bit trong văn bản thô bằng các mẫu bit của văn bản mã hóa
Trang 22Hệ mã hóa Caesar
• Là hệ mã hóa thay thế xuất hiện sớm nhất và đơn giản nhất
• Sử dụng đầu tiên bởi Julius Caesar vào mục đích quân sự
• Dịch chuyển xoay vòng theo thứ tự chữ cái
– Khóa k là số bước dịch chuyển
– Với mỗi chữ cái của văn bản
• Đặt p = 0 nếu chữ cái là a, p = 1 nếu chữ cái là b,
• Mã hóa : C = E(p) = (p + k) mod 26
• Giải mã : p = D(C) = (C - k) mod 26
• Ví dụ : Mã hóa "meet me after class" với k = 3
Trang 23Phép thay thế - Mã Caesar
K=3
Trang 25i love you
Trang 26• Khai thác những nhược điểm của giải thuật
– Biết rõ tần số các chữ cái tiếng Anh
• Có thể suy ra các cặp chữ cái thô - chữ cái mã hóa
• Ví dụ : chữ cái xuất hiện nhiều nhất có thể tương ứng với 'e'
– Có thể nhận ra các bộ đôi và bộ ba chữ cái
• Ví dụ bộ đôi : 'th', 'an', 'ed'
• Ví dụ bộ ba : 'ing', 'the', 'est'
Trang 27Các tần số chữ cái tiếng Anh
Trang 28Ví dụ phá mã hệ đơn bảng
• Cho văn bản mã hóa
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMET SXAIZ
VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ
• Tính tần số chữ cái tương đối
• Đoán P là e, Z là t
• Đoán ZW là th và ZWP là the
• Tiếp tục đoán và thử, cuối cùng được
it was disclosed yesterday that several informal but
direct contacts have been made with political
representatives of the viet cong in moscow
Trang 29Hệ mã hóa Playfair (1)
• Là một hệ mã hóa nhiều chữ
– Giảm bớt tương quan cấu trúc giữa văn bản mã
hóa và văn bản thô bằng cách mã hóa đồng thời
nhiều chữ cái của văn bản thô
• Phát minh bởi Charles Wheatstone vào năm 1854, lấy tên người bạn Baron Playfair
• Sử dụng 1 ma trận chữ cái 5x5 xây dựng trên cơ sở 1
từ khóa
– Điền các chữ cái của từ khóa (bỏ các chữ trùng)
– Điền nốt ma trận với các chữ khác của bảng chữ cái
– I và J chiếm cùng một ô của ma trận
Trang 30– Nếu 2 chữ giống nhau, tách ra bởi 1 chữ điền thêm
– Nếu 2 chữ nằm cùng hàng, thay bởi các chữ bên phải
– Nếu 2 chữ nằm cùng cột, thay bởi các chữ bên dưới
– Các trường hợp khác, mỗi chữ cái được thay bởi chữ cái khác cùng hàng, trên cột chữ cái cùng cặp
Trang 31Phá mã hệ mã hóa Playfair
• An toàn đảm bảo hơn nhiều hệ mã hóa đơn chữ
• Có 26 x 26 = 676 cặp chữ cái
– Việc giải mã từng cặp khó khăn hơn
– Cần phân tích 676 tần số xuất hiện thay vì 26
• Từng được quân đội Anh, Mỹ sử dụng rộng rãi
• Văn bản mã hóa vẫn còn lưu lại nhiều cấu trúc của văn bản thô
• Vẫn có thể phá mã được vì chỉ có vài trăm cặp chữ cái cần giải mã
Trang 32Hệ mã hóa Vigenère
• Là một hệ mã hóa đa bảng
– Sử dụng nhiều bảng mã hóa
– Khóa giúp chọn bảng tương ứng với mỗi chữ cái
• Kết hợp 26 hệ Ceasar (bước dịch chuyển 0 - 25)
– Khóa K = k1k2 kd gồm d chữ cái sử dụng lặp đi lặp lại với các chữ cái của văn bản
– Chữ cái thứ i tương ứng với hệ Ceasar bước chuyển i
• Ví dụ
– Khóa : deceptivedeceptivedeceptive
– Văn bản thô : wearediscoveredsaveyourself
– Mã hóa : ZICVTWQNGRZGVTWAVZHCQYGLMGJ
Trang 33Phá mã hệ mã hóa Vigenère
• Phương pháp vét cạn
– Khó thực hiện, nhất là nếu khóa gồm nhiều chữ cái
• Khai thác những nhược điểm của giải thuật
– Cấu trúc của văn bản thô được che đậy tốt hơn hệ Playfair nhưng không hoàn toàn biến mất
– Chỉ việc tìm độ dài khóa sau đó phá mã từng hệ Ceasar