Mã hóa là gì: Là quá trình biến đổi thông tin từ dạng này sang dạng khác, ngăn những người không tiếp cận thông tin đó.. Bản thân việc mã hóa không ngăn thông tin bị đánh cắp nhưng thô
Trang 1MẬT MÃ ĐỐI XỨNG
VÀ
MÃ KHỐI
Trang 2Tổng quan về mã hóa
Giải pháp Feistel cho mã hóa khối
Mã hóa khối và giải thuật mã hóa khối
1
2
3
Trang 3 Mã hóa là gì: Là quá trình biến đổi thông tin từ dạng này sang dạng khác, ngăn những người không tiếp cận thông tin
đó Bản thân việc mã hóa không ngăn thông tin bị đánh cắp nhưng thông tin được lấy về sẽ không hiểu được do đã bị làm biến dạng
Lý do phải mã hóa thông tin
-Chống xem trộm thông tin khi truyền tin
-Ngăn chặn việc thay đổi thông điệp của kẻ xấu
-Ngăn việc giả mạo địa chỉ IP, chiếm quyền kết nối
-Chống tấn công từ chối dịch vụ DoS
1.Tổng quan về mã hóa
Trang 4Mật Mã
Mật mã đối xứng Mật mã bất đối xứng Giao thức
Mật mã khối Mật mã dòng
Trang 7Hai loại mã hóa đối xứng là mã khối và mã dòng
Mã khối : là những thuật toán mã đối xứng hoạt động trên các khối thông tin có độ dài cố định (block)
VD : mã hóa khối có thể sử lý khối 128 bit đầu vào biến nó thành 128 bít đầu ra, trong quá trình sử dụng tham số khóa bí mật để cá biệt hóa quá trình
Thuật toán mã khối phổ biến là DES (Data Encryption Standard - Tiêu chuẩn mã hóa dữ liệu) phát triển và được ban hành làm tiêu chuẩn năm 1997 AES (Advanced Encryption Standard - Tiêu chuẩn mã hóa nâng cao) được ban hành năm 2001
Mã dòng : mã hóa từng bít của thông điệp chứ không theo từng khối như mã hóa khối mỗi lần mã hóa một bít Mã hóa luồng phổ biến là RC4
Trang 8
• Bản rõ (trước khi mã hóa) được biến đổi qua một số vòng để cho ra bản mã (sau khi mã hóa)
• Bản rõ và bản mã hải độc lập với khóa sử dụng
• Tính khuếch tán : giảm ảnh hưởng của các thống kê trên bản rõ phản ảnh trên bản mã
• Tính rối : làm phức tạp mối quan hệ thống kê giữa bản mã và khóa mã
2.Giải pháp Feistel cho mã hóa khối
Trang 11• Hệ mã Feistel có điểm quan trọng là chia các bản mã thành hai nửa trái phải giúp hàm F không cần phải khả nghịch F-1
• Mã hóa và giải mã đều dùng chiều thuận của hàm F
• Hàm F và thuật toán sinh khóa càng phức tạp càng khó phá mã
• Ứng với hàm F và thuật toán sinh khác nhau sẽ có phương pháp mã hóa khác nhau
Trang 123.Mã hóa khối và giải thuật mã hóa khối
Nguyên lý thiết kế mã khối
Kích thước khối: kích thước khối lớn có nghĩa là an toàn cao hơn nhưng tốc độ mã hóa và giải mã bị giảm
Kích thước khóa: kích thước khóa lớn nghĩa là an toàn cao hơn nhưng cũng có thể làm giảm tốc độ mã hóa/giải mã
Số lượng vòng: càng nhiều vòng càng khó phân tích tìm khóa
Hàm F: làm rối => không tuyến tính, 1 bít vào thay đổi thay đổi nhiều bít đầu ra, bít đầu ra thay đổi độc lập với bít đầu vào
Thuật toán tạo lập lịch khóa: tạo khóa con sao cho khó suy luận được khóa con và khóa chủ
Trang 13Tiêu chuẩn mã hóa dữ liệu DES (Data Encryption Standard)
Là thuật toán mã hóa khối: xử lý khối thông tin của bản rõ có độ dài xác định và biến đổi theo những quá trình phức tạp để trở thành khối thông tin của bản mã có độ dài thích hợp
DES có độ dài toàn bộ là 64 bit tuy nhiên chỉ có 56 bít được sử dụng 8 bít dùng cho việc kiểm tra
Tuy nhiên hiện nay DES được xem là không an toàn và đươc thay thế bằng AES (tiêu chuẩn mã hóa tiên tiến)
Trang 14C u trúc ấ DES
Trang 15Cấu trúc một vòng của DES
Trang 16Lấy 32 bít nửa phải R, mở rộng thành 48 bít nhờ hoán vị E, rồi cộng vào với khoá con 48 bít.
Sau đó chia thành 8 cụm 6 bít và cho qua 8 S-box để nhận được kết quả
32 bít
Đảo lần cuối sử dụng hoán vị 32 bít P nhận được 32 bít đầu ra, rồi cộng với nửa trái để chuyển thành nửa phải của bước sau
Trang 17Đầu tiên, từ 64 bit ban đầu của khóa, 56 bit được chọn 56 bit thu được được chia làm hai phần bằng nhau.
Sau mỗi chu trình, mỗi phần được dịch đi 1 hoặc 2 bit (tùy thuộc từng chu trình, nêu đó là chu trình 1,2,9,16 thì đó là dịch 1bit, còn lại thì sẽ được dich 2bit)
Các khóa con 48 bit được tạo thành bởi thuật toán lựa chọn 2 gồm
24 bit từ mỗi phần Quá trình dịch bit (được ký hiệu là "<<<" trong
sơ đồ) khiến cho các khóa con sử dụng các bit khác nhau của khóa chính; mỗi bit được sử dụng trung bình ở 14 trong tổng số 16 khóa con
Quá trình tạo khóa con
Trang 18Tiêu chuẩn mã hóa tiên tiến AES (Advanced Encryption Standard)
• Là mã mới thay thế DES
• Xử lý dữ liệu 128 bit block
Trang 20Quá trình mã hóa
1. khởi động vòng lặp (Addroundkey)
-mỗi cột của trạng thái đều kết hợp với một khóa con theo thứ tự từ đầu dãy khóa
Trang 211.các byte được thế thông qua bang S-box (subbyte)
2.Các hàng trạng thái được dịch theo một số bước nhất định (ShiftRow)
Vòng lặp
Trang 223.Mỗi cột được biến đổi tuyến tính bằng cách nhân với hệ số C(x) (Mixcolums)
4.thực hiện Addroundkey
Quá trình được thực hiện Nr-1 lần (Nr = 9/11/13 vòng)
Vòng lặp cuối
Thực hiện các thao tác : Subbyte,
ShiftRow, Addroundkey bỏ qua quá trình Mixcolums
Trang 23THANK YOU