Professional Documents
Culture Documents
1
Nữa trái 32 bit và nữa phải 32 bit
Để tính vòng thứ nhất L1 = R0 bên này R1 = L0 so với hàm f của R0 và k1 tương tự
đến vòng 16
Bây giờ ta sẽ đi vào chi tiết 1 vòng lặp
1. Mở rộng nửa phải: chúng ta có hàm mở rộng sau lưu ý 4 cột giữa của ma trận
là thứ tự của nữa phải côt đầu tiên chính là thứ tự của cột 5 lấy theo dịch 1 hàng
tương tự cột 6
2
Chúng ta có kết quả XOR như sau:
Lưu ý phép XOR giá trị giống nhau bằng 0 còn # nhau thì =1
Kết quả dưới dạng hexa như sau:
A = E[R0]ꚛK1= 61 17 BA 86 65 27
Bước 3 là
3. Thế S-box: SB = 5C 82 B5 97
Lưu ý là có tất cả 8 cái:
3
Xếp theo thứ tự phải trước trái sau
Hoán vị đổi hàng thành cột:
GIẢI MÃ
Để giải mã là làm ngược lại quá trình mã hóa, thực hiện các bước như trên,
nhưng theo thứ tự ngược lại mà các con (subkey) được thực hiện.
Ưu khuyết điểm của hệ mã des và so sánh với 2 hệ mật cùng loại
Mã DES là một hệ mã hóa đối xứng khối cổ điển, có những ưu khuyết điểm như sau:
Ưu điểm của DES:
Sử dụng khối mã hóa đối xứng đơn giản và thực hiện nhanh chóng trên phần cứng
và phần mềm.
Hỗ trợ cho nhiều ứng dụng.
Không thể đảo ngược mã hóa cho đến khi tìm được khóa.
Nhược điểm của DES:
Kích thước khóa chỉ có 56 bit, là quá ngắn và có thể bị phá vỡ bởi các kỹ thuật tấn
công brute-force hoặc các kỹ thuật tấn công cryptanalytic.
DES đã bị phát hiện các lỗ hổng và không còn được sử dụng rộng rãi như trước
đây.
Không mang lại tính bảo mật tối ưu trong các ứng dụng mật mã quan trọng như
Internet banking và các giao dịch tài chính dựa trên web.
dịch tài chính dựa trên web đang sử dụng AES ngày nay. AES được xem là hệ mã hóa tiên tiến nhất
hiện nay và được sử dụng rộng rãi trong các ứng dụng cần bảo mật tối đa.
4
DES được sử dụng rộng rãi trong các ứng dụng cần độ bảo mật trung bình như
truyền dữ liệu thông qua kênh mạng công cộng.
Ưu điểm của 3DES:
Tăng cường độ bảo mật của DES bằng cách sử dụng ba lớp mã hóa với ba khóa
khác nhau.
3DES có độ cứng cáp và độ bảo mật cao hơn DES.
3DES được sử dụng rộng rãi trong các ứng dụng yêu cầu độ bảo mật cao như
các ứng dụng tài chính và ngân hàng.
Nhược điểm của DES:
Kích thước khóa chỉ có 56 bit, là quá ngắn và có thể bị phá vỡ bởi các kỹ thuật
tấn công brute-force hoặc các kỹ thuật tấn công cryptanalytic.
DES đã bị phát hiện các lỗ hổng và không còn được sử dụng rộng rãi như trước
đây.
Không mang lại tính bảo mật tối ưu trong các ứng dụng mật mã quan trọng như
Internet banking và các giao dịch tài chính dựa trên web.
Nhược điểm của 3DES:
3DES yêu cầu thời gian mã hóa lâu hơn DES do việc sử dụng ba lớp mã hóa.
3DES đòi hỏi dung lượng khóa lớn ra hơn nhiều so với DES để đạt được độ an
toàn tương đương.
3DES đã cũ và chưa được sử dụng rộng rãi như các hệ mật mã mới hơn như
AES.
Tóm lại, 3DES có độ bảo mật cao hơn DES nhưng yêu cầu thời gian mã hóa và dung
lượng khóa cao hơn. DES và 3DES được sử dụng trong các ứng dụng bảo mật phù hợp
với tính chất của từng hệ mật mã. Tuy nhiên, AES là một hệ mật mã được sử dụng
rộng rãi hơn trong những năm gần đây do độ bảo mật cao và tốc độ xử lý nhanh hơn so
với DES và 3DES
So sánh ưu khuyết giữa des và aes
So sánh ưu điểm và nhược điểm giữa DES và AES như sau:
Ưu điểm của DES:
DES sử dụng phương pháp mã hóa đối xứng đơn giản và thực hiện nhanh
chóng trên phần cứng và phần mềm.
DES được sử dụng rộng rãi trong các ứng dụng cần độ bảo mật trung bình như
truyền dữ liệu thông qua kênh mạng công cộng.
Ưu điểm của AES:
5
AES có độ bảo mật và độ cứng cáp cao hơn rất nhiều so với DES.
AES có kích thước khóa lớn hơn so với DES (128, 192 hoặc 256 bit) và do đó
độ bảo mật của AES vượt trội.
AES được sử dụng rộng rãi trong các ứng dụng bảo mật như truyền thông và
lưu trữ dữ liệu.
Nhược điểm của DES:
Kích thước khóa chỉ có 56 bit, là quá ngắn và có thể bị phá vỡ bởi các kỹ thuật
tấn công brute-force hoặc các kỹ thuật tấn công cryptanalytic.
DES đã bị phát hiện các lỗ hổng và không còn được sử dụng rộng rãi như trước
đây.
Không mang lại tính bảo mật tối ưu trong các ứng dụng mật mã quan trọng như
Internet banking và các giao dịch tài chính dựa trên web.
Nhược điểm của AES:
AES tốn nhiều tài nguyên tính toán hơn so với DES, đặc biệt là khi sử dụng
khóa dài hơn.
Khác với DES, AES sử dụng phương pháp mã hóa mới hơn, nên việc triển khai
và hỗ trợ trên phần cứng có thể gặp khó khăn hơn và đòi hỏi tài nguyên máy
tính mạnh hơn.
Tóm lại, AES có độ bảo mật và độ cứng cáp cao hơn rất nhiều so với DES và đang là
hệ mật mã được sử dụng rộng rãi nhất hiện nay trong các ứng dụng bảo mật. DES chủ
yếu được sử dụng trong các ứng dụng truyền dữ liệu thông qua mạng hoặc các ứng
dụng nhỏ có độ bảo mật trung bình. Không giống như DES, AES không bị các lỗ hổng
an ninh nổi tiếng và được sử dụng rộng rãi trong các ngành công nghiệp và các tổ chức
chính phủ phải đảm bảo tính bảo mật cao.
Ví Dụ matlab:
function DES_Encryption()
6
% B?ng PC-2 (Permutation Choice 2)
PC2_table = [
14 17 11 24 1 5 3 28 ...
15 6 21 10 23 19 12 4 ...
26 8 16 7 27 20 13 2 ...
41 52 31 37 47 55 30 40 ...
51 45 33 48 44 49 39 56 ...
34 53 46 42 50 36 29 32];
% B?ng P (Permutation)
P_table = [
16 7 20 21 ...
29 12 28 17 ...
1 15 23 26 ...
5 18 31 10 ...
2 8 24 14 ...
32 27 3 9 ...
19 13 30 6 ...
22 11 4 25];
end
subKeys{i} = subKey;
end
end
for i = 1:size(msg, 2)
row = bi2de([msg(1, i), msg(6, i)]);
col = bi2de(msg(2:5, i).');
sBoxVal = S_boxes{i}(row*16 + col + 1);
sBoxOutput((i-1)*4+1:i*4) = de2bi(sBoxVal, 4);
end
end
12