Tải bản đầy đủ (.pptx) (23 trang)

slide mã đối xứng và mã khối

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (628.35 KB, 23 trang )

MẬT MÃ ĐỐI XỨNG

MÃ KHỐI


1

Tổng quan về mã hóa

2

3

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.Tổng quan về mã hóa



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


Mật Mã

Mật mã đối xứng

Mật mã khối

Mật mã dòng

Mật mã bất đối xứng

Giao thức




Hai 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

khóa bí mật để cá biệt

bít đầu ra, trong quá trình sử dụng tham số

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.


2.Giải pháp Feistel cho mã hóa khối



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ã






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


3.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ủ


Tiê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)


Cấu trúc
DES


Cấu trúc một vòng của DES


Lấ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.


Quá trình tạo khóa con
Đầ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.


Tiê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
Sử dụng khóa : 128, 192, 256 bít
Tính mềm dẻo
Phù hợp vơi nhiều ứng dụng
Có thể sử dụng tạo mã dòng, số ngẫu nhiên, hàm băm, mã xác thực bản tin MAC,…
Dễ dàng triển khai



Kiến trúc
chung của
AES

Khối dữ liệu vào 128 bít được chia thành một khối 4x4 byte được gọi là ma trận trạng thái


Quá 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


Vòng lặp
1.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)


3.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


THANK YOU



×