Giới thiệu• Mã hóa theo khối block cipher • Ý tưởng: mã hóa tích product cipher – Key: 56 bit – Block: 64 bit • Được IBM phát triển từ phương pháp Lucifer • Chính thức công bố năm 1975 •
Trang 1Chuẩn mã hóa dữ liệu DES
(Data Encryption Standard)
Trang 2Giới thiệu
• Mã hóa theo khối (block cipher)
• Ý tưởng: mã hóa tích (product cipher)
– Key: 56 bit
– Block: 64 bit
• Được IBM phát triển từ phương pháp Lucifer
• Chính thức công bố năm 1975
• Được chọn là Chuẩn xử lý thông tin liên bang (Federal Information Processing Standard - FIPS)
năm 1976
• Giải thuật mã hóa và giải mã được công bố
• Cơ sở Toán học và mật mã của việc thiết kế DES: thông tin bí mật
Trang 3Mô tả thuật toán
Trang 4Mô tả thuật toán
Từ L0 và R0 sẽ lặp 16 vòng
tại mỗi vòng tính:
L i = R i-1
R i = L i-1 f(R i-1 ,K i )
Với i =1,2,3,….16.
Với:
: là phép XOR của 2 xâu bit
f: hàm mà ta sẽ mô tả.
K i là các xâu có độ dài 48 bit
đc tính như là các hàm của
khóa K.
K 1 đến K 16 lập nên một lịch
khóa.
Trang 5Quy trình mã hóa của DES
IP: Initial Permutation
FP: Final Permutation
FP = IP -1
Ghi chú:
FP và IP không có ý nghĩa về
mặt mã hóa, chi có tác dụng để
nạp dữ liệu vào và ra các khối dữ
liệu (theo cơ chế phần cứng giữa
thập niên 1970!!!)
Trang 6Hàm F trong DES
1.Mở rộng(E)
2.Trộn khóa(XOR)
3.Thay thế(S)
4.Hóa vị(P)
Trang 7Key Schedule
Thao tác xoay vòng bit
<<<: Xoay vòng sang trái
>>>: Xoay vòng sang phải
Với subkey thứ 1, 2, 9, 16: xoay
vòng 1 vị trí
Với subkey còn lại: xoay vòng 2 vị
trí
Trang 8Nhận xét ưu nhược điểm
Ưu điểm:
* Có tính bảo mật cao
* Công khai, dễ hiểu
* Có thể triển khai trên các thiết bị điện tử có kích thước nhỏ
Trang 9Nhận xét ưu nhược điểm
• Nhược điểm
• Tính bù: nếu ta biết được mã y được mã hóa từ thông tin x với khóa
k thì suy ra được bản mã 𝑦̅ được mã hóa từ bản rõ 𝑥̅ với khóa 𝑘̅
Tính chất này là một điểm yếu của DES vì qua đó có thể loại bỏ đi một số khóa phải thử khi tiến hành giải mã theo kiểu vét cạn
• Khóa yếu: Khóa yếu là các khóa mà theo thuật toán sinh khóa con thì tất cả 16 khóa con đều như nhau, điều đó khiến cho việc mã hóa
và giải mã đối với khóa yếu là giống nhau
• Không gian khóa K là không lớn, có 256=1017 khóa, hoàn toàn có thể tìm khóa bằng phương pháp vét cạn trong thời gian chưa đến 1 ngày, nhất là với tốc độ máy tính ngày càng nhanh như hiện nay
Trang 10Nhận xét ưu nhược điểm
• Nhược điểm
• Tính bù: nếu ta biết được mã y được mã hóa từ thông tin x với khóa
k thì suy ra được bản mã 𝑦̅ được mã hóa từ bản rõ 𝑥̅ với khóa 𝑘̅
Tính chất này là một điểm yếu của DES vì qua đó có thể loại bỏ đi một số khóa phải thử khi tiến hành giải mã theo kiểu vét cạn
• Khóa yếu: Khóa yếu là các khóa mà theo thuật toán sinh khóa con thì tất cả 16 khóa con đều như nhau, điều đó khiến cho việc mã hóa
và giải mã đối với khóa yếu là giống nhau
• Không gian khóa K là không lớn, có 256=1017 khóa, hoàn toàn có thể tìm khóa bằng phương pháp vét cạn trong thời gian chưa đến 1 ngày, nhất là với tốc độ máy tính ngày càng nhanh như hiện nay
Trang 11Thank You!