Phương pháp DES

Một phần của tài liệu thuật toán mã hóa và ứng dụng phần 1 docx (Trang 33 - 37)

Một số phương pháp mã hĩa quy ước Định lý 2.2: Nếu ∏

2.9.1 Phương pháp DES

Khoảng những năm 1970, tiến sĩ Horst Feistel đã đặt nền mĩng đầu tiên cho chuẩn mã hĩa dữ liệu DES với phương pháp mã hĩa Feistel Cipher. Vào năm 1976 Cơ quan Bảo mật Quốc gia Hoa Kỳ (NSA) đã cơng nhận DES dựa trên phương pháp Feistel là chuẩn mã hĩa dữ liệu [25]. Kích thước khĩa của DES ban đầu là 128 bit nhưng tại bản cơng bố FIPS kích thước khĩa được rút xuống cịn 56 bit.

Trong phương pháp DES, kích thước khối là 64 bit. DES thực hiện mã hĩa dữ liệu qua 16 vịng lặp mã hĩa, mỗi vịng sử dụng một khĩa chu kỳ 48 bit được tạo ra từ khĩa ban đầu cĩ độ dài 56 bit. DES sử dụng 8 bảng hằng số S-box để thao tác.

Quá trình mã hĩa của DES cĩ thể được tĩm tắt như sau: Biểu diễn thơng điệp nguồn x P∈ bằng dãy 64bit. Khĩa k cĩ 56 bit. Thực hiện mã hĩa theo ba giai đoạn:

1. Tạo dãy 64 bit x0bằng cách hốn vị x theo hốn vị IP (Initial Permutation). Biểu diễn x0 =IP x( )=L R0 0, L0 gồm 32 bit bên trái của x0, R0 gồm 32 bit bên phải của x0.

Chương 2

L0 R0

x0

Hình 2.2. Biểu diễn dãy 64 bit x thành 2 thành phần L và R

2. Thực hiện 16 vịng lặp từ 64 bit thu được và 56 bit của khố k (chỉ sử dụng 48 bit của khố k trong mỗi vịng lặp). 64 bit kết quả thu được qua mỗi vịng lặp sẽ là đầu vào cho vịng lặp sau. Các cặp từ 32 bit Li, Ri (với 1≤ ≤i 16) được xác định theo quy tắc sau:

1i i i i L =R− 1 ( 1, ) i i i i R =L− ⊕ f RK (2.5)

với ⊕ biểu diễn phép tốn XOR trên hai dãy bit, K1, K2, ..., K16 là các dãy 48 bit phát sinh từ khĩa K cho trước (Trên thực tế, mỗi khĩa Ki được phát sinh bằng cách hốn vị các bit trong khĩa K cho trước).

3. Áp dụng hốn vị ngược IP−1 đối với dãy bit R L16 16, thu được từ y gồm 64 bit. Như vậy, 1

16 16

( )

y=IPR L .

Hàm f được sử dụng ở bước 2 là hàm cĩ gồm hai tham số: Tham số thứ nhất A là một dãy 32 bit, tham số thứ hai J là một dãy 48 bit. Kết quả của hàm f là một dãy 32 bit. Các bước xử lý của hàm ( , )f A J như sau:

Tham số thứ nhất A (32 bit) được mở rộng thành dãy 48 bit bằng hàm mở rộng E. Kết quả của hàm ( )E A là một dãy 48 bit được phát sinh từ A bằng cách hốn vị

Một số phương pháp mã hĩa quy ước

theo một thứ tự nhất định 32 bit của A, trong đĩ cĩ 16 bit của A được lặp lại hai lần trong ( )E A .

Li-1 Ri-1

f Ki

Li Ri

Hình 2.3. Quy trình phát sinh dãy L Ri i từ dãy L Ri−1 i−1 và khĩa Ki

Thực hiện phép tốn XOR cho hai dãy 48 bit ( )E AJ, ta thu được một dãy 48 bit B. Biểu diễn B thành từng nhĩm 6 bit như sau: B B B B B B B B B= 1 2 3 4 5 6 7 8. Sử dụng tám ma trận S S1, ,...,2 S8, mỗi ma trận Si cĩ kích thước 4 16× và mỗi dịng của ma trận nhận đủ 16 giá trị từ 0 đến 15. Xét dãy gồm 6 bit

1 2 3 4 5 6

j

B =b b b b b b , ( )S Bj j được xác định bằng giá trị của phần tử tại dịng r cột c

của Sj, trong đĩ, chỉ số dịng r cĩ biểu diễn nhị phân là b b1 6, chỉ số cột c cĩ biểu diễn nhị phân là b b b b2 3 4 5. Bằng cách này, ta xác định được các dãy 4 bit

( )

j j j

Chương 2

Tập hợp các dãy 4 bit Cj lại, ta cĩ được dãy 32 bit 1 2 3 4 5 6 7 8

C C C C C C C C C= . Dãy 32 bit thu được bằng cách hốn vị C theo một quy luật P nhất định chính là kết quả của hàm ( , )F A J .

Quá trình giải mã chính là thực hiện theo thứ tự đảo ngược các thao tác của quá trình mã hĩa.

2.9.2 Nhn xét

Do tốc độ tính tốn của máy tính ngày càng tăng cao và DES đã được sự quan tâm chú ý của các nhà khoa học lẫn những người phá mã (cryptanalyst) nên DES nhanh chĩng trở nên khơng an tồn. Năm 1997, một dự án đã tiến hành bẻ khĩa DES chưa đến 3 ngày với chi phí thấp hơn 250.000 dollars. Và vào năm 1999, một mạng máy tính gồm 100.000 máy cĩ thể giải mã một thư tín mã hĩa DES chưa đầy 24 giờ.

Trong quá trình tìm kiếm các thuật tốn mới an tồn hơn DES, Tripple DES ra đời như một biến thể của DES. Tripple DES thực hiện ba lần thuật tốn DES với 3 khố khác nhau và với trình tự khác nhau. Trình tự thực hiện phổ biến là EDE (Encrypt – Decrypt – Encrypt), thực hiện xen kẽ mã hĩa với giải mã (lưu ý là khĩa trong từng giai đoạn thực hiện khác nhau).

Một số phương pháp mã hĩa quy ước

Một phần của tài liệu thuật toán mã hóa và ứng dụng phần 1 docx (Trang 33 - 37)

Tải bản đầy đủ (PDF)

(49 trang)