DES trong thực tế

Một phần của tài liệu giáo trình an toàn thông tin - chương 1 an toàn dữ liệu trên mạng máy tính (Trang 34 - 37)

C i= LSi(i-1) Di = LSi(Di-1)

4.4DES trong thực tế

Mặc dù việc mô tả DES khá dài dòng song người ta có thể thực hiện DES rất hữa hiệu bằng cả phần cứng lẫn phần mền. Các phép toán duy nhất cần được thực hiện là phép hoặc loại trừ các xâu bít. Hàm mở rộng E, các hộp S, các hoán vị IP và P và việc tính toán các giá tri K1,.. . ,K16 đều có thể thực hiện được cùng lúc bằng tra bảng (trong phần mền ) hoặc bằng cách nối cứng chúng thành một mạch.

Các ứng dụng phần cứng hiện thời có thể đạt được tốc độ mã hoá cực nhanh. Công ty Digital Equipment đã thông báo tại hội nghị CRUPTO'92 rằng họ sẽ chế tạo một chíp có 50 ngàn tranzistor có thể mã hoá với tốc độ 1 Gbít/s bằng cách dùng nhịp có tốc độ

Chế độ CBC. x1 x2 + + eK eK y1 y2 IV=y0 . . . Mã hoá Encrypt y1 y2 dK dK + + x1 x2 IV=y0 . . . Giải mã Decrypt

Trường Đại học Hải Phòng Bài giảng: An toàn thông tin

cứng và chương trình cơ sở của DES được Uỷ ban tiêu Chuẩn quốc gia Mỹ (NBS) chấp thuận.

Một ứng dụng quan trọng của DES là trong giao dịch ngân hàng Mỹ - (ABA) DES được dùng để mã hoá các số định danh cá nhân (PIN) và việc chuyển tài khoản bằng máy thủ quỹ tự động (ATM). DES cũng được Hệ thống chi trả giữa các nhà băng của Ngân hàng hối đoái (CHIPS) dùng để xác thực các giao dụch vào khoản trên 1,5×1012

USA/tuần. DES còn được sử dụng rộng rãi trong các tổ chức chính phủ. Chẳng hạn như bộ năng lượng, Bộ Tư pháp và Hệ thống dự trữ liên bang.

Các chế độ hoạt động của DES: Có 4 chế độ làm việc đã được phát triển cho DES: Chế độ chuyển mã điện tử (ECB), chế độ phản hồi mã (CFB), chế độ liên kết khối mã (CBC) và chế độ phản hồi đầu ra (OFB). Chế độ ECB tương ứng với cách dùng thông thường của mã khối: với một dãy các khối bản rõ cho trước x1,x2,. . .( mỗi khối có 64 bít), mỗi xi sẽ được mã hoá bằng cùng một khoá K để tạo thành một chuỗi các khối bản mã y1y2 ... theo quy tắc yi = eK(yi-1⊕xi) i ≥ 1. Việc sử dụng chế độ CBC được mô tả trên hình 3.4.

Trong các chế độ OFB và CFB dòng khoá được tạo ra sẽ được cộng mod 2 với bản rõ (tức là nó hoạt động như một hệ mã dòng, xem phần 1.1.7). OFB thực sự là một hệ mã dòng đồng bộ: dòng khoá được tạo bởi việc mã lặp véc tơ khởi tạo 64 bít (véc tơ IV). Ta xác định z0 =IV và rồi tính dòng khoá z1z2 . . . theo quy tắc zi = eK(zi-1), i≥1. Dãy bản rõ x1x2 . . . sau đó sẽ được mã hoá bằng cách tính yi = xi⊕ zi,i ≥1.

Trong chế độ CFB, ta bắt đầu với y0 = IV (là một véc tơ khởi tạo 64 bít) và tạo phần tử zi của dòng khoá bằng cách mã hoá khối bản mã trước đó. Tức zi = eK(yi-1), i ≥1.

Chế độ CFB x1 x2 + + y1 y2 IV=y0 . . . Mã hoá Encrypt eK eK y1 y2 + + x1 x2 IV=y0 . . . Giải mã Decrypt eK eK

Cũng như trong chế độ OFB: yi = xi ⊕ zi,i ≥1. Việc sử dụng CFB được mô tả trên hình 3.5 (chú ý rằng hàm mã DES eK được dùng cho cả phép mã và phép giải mã ở các chế độ CFB và OFB).

Cũng còn một số biến tấu của OFB và CFB được gọi là các chế độ phản hồi K bít (1 < K < 64 ). ở đây ta đã mô tả các chế độ phản hồi 64 bít. Các chế độ phản hồi 1 bít và 8 bít thường được dùng trong thực tế cho phép mã hoá đồng thời 1 bit (hoặc byte) số liệu.

Bốn chế độ công tác có những ưu, nhược điểm khác nhau. ở chế độ ECB và OFB, sự thay đổi của một khối bản rõ xi 64 bít sẽ làm thay đổi khối bản mã yi tương ứng, nhưng các khối bản mã khác không bị ảnh hưởng. Trong một số tình huống đây là một tính chất đáng mong muốn. Ví dụ, chế độ OFB thường được dùng để mã khi truyền vệ tinh.

Mặt khác ở các chế độ CBC và CFB, nếu một khối bản rõ xi bị thay đổi thì yi và tất cả các khối bản mã tiếp theo sẽ bi ảnh hưởng. Như vậy các chế độ CBC và CFB có thể được sử dụng rất hiệu quả cho mục đích xác thực. Đặc biệt hơn, các chế độ này có thể được dùng để tạo mã xác thực bản tin ( MAC - message authentication code). MAC được gắn thêm vào các khối bản rõ để thuyết phục Bob tin rằng, dãy bản rõ đó thực sự là của Alice mà không bị Oscar giả mạo. Như vậy MAC đảm bảo tính toàn vẹn (hay tính xác thực) của một bản tin ( nhưng tất nhiên là MAC không đảm bảo độ mật).

Ta sẽ mô tả cách sử dụng chế độ BCB để tạo ra một MAC. Ta bắt đầu bằng véc tơ khởi tạ IV chứa toàn số 0. Sau đó dùng chế đô CBC để tạo các khối bản mã y1,. . . ,yn

theo khoá K. Cuối cùng ta xác định MAC là yn. Alice sẽ phát đi dãy các khối bản rõ x1,x2,. . . ,xn cùng với MAC. Khi Bob thu được x1. . .xn anh ta sẽ khôi phục lại y1. . .yn

bằng khoá K bí mật và xác minh xem liệu yn có giống với MAC mà mình đã thu được hay không.

Trường Đại học Hải Phòng Bài giảng: An toàn thông tin

đổi ít nhiều nội dung thì thì chắc chắn là Oscar không thể thay đổi MAC để được Bob chấp nhận.

Thông thường ta muốn kết hợp cả tính xác thực lẫn độ bảo mật. Điều đó có thể thực hiện như sau: Trước tiên Alice dùng khoá K1 để tạo MAC cho x1. . . xn . Sau đó Alice xác định xn+1 là MAC rồi mã hoá dãy x1. . .xn+1 bằng khoá thứ hai K2 để tạo ra bản mã y1. . .yn+1 . Khi Bob thu được y1. . .yn+1 , trước tiên Bob sẽ giải mã ( bằng K2) và kiểm tra xem xn+1 có phải là MAC đối với dãy x1. . .xn dùng K1 hay không.

Ngược lại, Alice có thể dùng K1 để mã hoá x1. . .xn và tạo ra được y1...yn , sau đó dùng K2 để tạo MAC yn+1 đối với dãy y1. . .yn. Bob sẽ dùng K2 để xác minh MAC và dung K1 để giải mã y1. . .yn.

Một phần của tài liệu giáo trình an toàn thông tin - chương 1 an toàn dữ liệu trên mạng máy tính (Trang 34 - 37)