hệ mã này thành tiêu chuẩn mã hoá dữ liệu (Data Encryption Standard) và miễn phí. DES là hệ mã hoá đối xứng dùng khoá bí mật[r]
Trang 1Giảng viên : Nguyễn Minh Thành
E-mail : thanhnm.itc@itc.edu.vn
Chương 4 : CÁC PHƯƠNG PHÁP
MÃ HOÁ HIỆN ĐẠI
Trang 2Mục Lục
I. Các loại hệ thống mã hoá
II. Chuẩn mã hoá dữ liệu DES và các biến thể
1. DES
2. Các mode của DES
3. Các biến thể
III. Chuẩn mã hoá cấp cao AES
IV. Hệ thống mã hoá công khai RSA
V. Chữ ký số (Digital Signature)
Trang 3I Các Loại Hệ Thống Mã Hoá
Có hai hệ thống mã hoá dựa vào khoá :
Hệ thống mã hoá đối xứng (Symmetric cryptosystem) : sử dụng một khoá (khoá bí mật) duy nhất để mã hoá và giải mã
dữ liệu.
Hệ thống mã hoá bất đối xứng (Asymmetric cryptosystem) :
sử dụng hai khoá, một khoá công khai để mã hoá (giải mã) và một khoá bí mật để giải mã (mã hoá) dữ liệu.
3
Trang 4I Các Loại Hệ Thống Mã Hoá (tt)
Đối với hệ mã hoá đối xứng
Người gửi và người nhận phải thoả thuận trước khoá bí mật khi muốn trao đổi thông tin với nhau
Tính an tòan của thuật tóan đều nằm trong khóa, để lộ ra khóa có nghĩa là người nào đó có thể mã hóa và giải mã thông điệp Quá trình mã hóa và giải mã với thuật tóan đối xứng có thể được biểu diễn như sau:
Trang 5I Các Loại Hệ Thống Mã Hoá (tt)
Đối với hệ mã hoá đối xứng
Các hệ mã hoá cơ bản cũng thuộc vào hệ mã hoá này
Thuật toán mã hoá có thể chia làm 2 loại :
Loại họat động dựa trên từng bit đơn hay từng byte gọi
là stream algorithms hay stream ciphers
Lọai thứ hai dựa trên plaintext là những nhóm bit, những nhóm bit này gọi là những block, cho nên thuật tóan được gọi là block algorithm hay block cipher
Đối với thuật tóan máy tính hiện đại, một block điển hình
là từ 64 bit, kích thước này đủ lớn để ngăn chận quá trình phân tích và đủ nhỏ để thuật tóan có thể họat động được
5
Trang 6I Các Loại Hệ Thống Mã Hoá (tt)
Đối với hệ mã hoá bất đối xứng
Người gửi và người nhận tự chọn một cặp khoá bí mật và công khai riêng cho mình Khoá bí mật sẽ được giữ kín
và khoá công khai sẽ được cho mọi người biết
Cả 2 key này đều có thể được dùng để mã hóa và giải
mã, nếu dữ liệu được mã hóa bằng key này thì phải được giải mã bằng key còn lại
Trang 7II Chuẩn Mã Hoá Dữ Liệu DES
7
Vào cuối thập niên 60, Horsr Feistel đã đưa ra hệ mã Lucifer Hệ mã này gắn liền với hãng IBM
Uỷ ban Tiêu Chuẩn Hoa Kỳ đã dàn xếp với IBM và đựa
hệ mã này thành tiêu chuẩn mã hoá dữ liệu (Data Encryption Standard) và miễn phí
DES là hệ mã hoá đối xứng dùng khoá bí mật
Trang 8II.1 DES (Data Encryption Standard)
Vào cuối thập niên 60, Horsr Feistel đã đưa ra hệ mã Lucifer Hệ mã này gắn liền với hãng IBM
Uỷ ban Tiêu Chuẩn Hoa Kỳ đã dàn xếp với IBM và đựa
hệ mã này thành tiêu chuẩn mã hoá dữ liệu (Data Encryption Standard) và miễn phí
DES là hệ mã hoá đối xứng dùng khoá bí mật
Vấn đề chính trong phương pháp này là bên gửi và bên
Trang 9II.1 DES (Data Encryption Standard)
9
Mô tả tổng quan
DES là thuật toán mã hoá với input là khối 64bit, output cũng là khối 64bit
DES sử dụng khóa 64 bit trong đó 56 bit làm key thực
sự, còn 8 bit còn lại dùng để kiểm tra parity (bit kiểm tra tính chẵn lẻ)
Trang 10II.1 DES (Data Encryption Standard)
DES thực hiện 16 vòng lặp với các phép tính và những hàm có chức năng đặc biệt để tạo ra khối mã hóa Cipher
16 vòng lặp chạy cùng thuật toáng nhưng mỗi vòng lặp
sử dụng một khoá riêng biệt 48bit Các khoá này được tạo ra từ khối khoá 56bit (đã bỏ đi các bit parity), hoán chuyển các bit và trích ra 48bit làm khoá cho từng vòng