Des OC la gì

Nhiều người thắc mắc Bài viết hôm nay sẽ giải đáp điều này. Từ ngữ liên quan: ? ? ? DES viết tắt của từ gì? DES là viết tắt của từ Data Encrypt Standar. DES có nghĩa là gì? DES là viết tắt của từ Data Encrypt Standar có nghĩa ...

Nhiều người thắc mắc Bài viết hôm nay sẽ giải đáp điều này.


Từ ngữ liên quan:

  • ?
  • ?
  • ?



DES viết tắt của từ gì?

DES là viết tắt của từ Data Encrypt Standar.


DES có nghĩa là gì?

DES là viết tắt của từ Data Encrypt Standar có nghĩa là tiêu chuẩn mã hóa dữ liệu là một tiêu chuẩn được FIPS [ Tiêu chuẩn xử lý thông tin Liên Bang Hoa Kỳ ] được coi là tiêu chuẩn chính thức vào những năm thập niên 80. Sau này tiêu chuẩn này được áp dụng vào và sử dụng rộng rãi trên toàn thế giới.

Thời bấy giờ đây được xem là một trong những chuẩn mã hóa mật khẩu thông dụng và phổ biến nhất rất khó có thể bẽ gãy để xâm nhập nhưng hiện nay DES được xem là không đủ bảo mật như trước kia nữa. Nguyên nhân gây ra chất lượng kém bảo mật là do độ dài 56 bit của khóa là quá nhỏ. Bây giờ DES đã được thay thế bởi AES [Advanced Encryption Standard, hay Tiêu chuẩn Mã hóa Tiên tiến].


Bài viết tham khảo: 

Qua bài viết của chúng tôi có giúp ích được gì cho các bạn không, cảm ơn đã theo dõi bài viết.

Để lại bình luận

  • Posted on Tháng Hai 23, 2021
  • Posted by admin
  • Posted in Là gì
DES và rate trên Facebook là một trò chơi của các bạn teen đăng stt trên FB gồm có 2 phần:
Des viết tắt của description là bạn sẽ nhận xét về người đó.
Rate là bạn sẽ chấm điểm người đó trên thang điểm 10

Kiểu như thế này:
Lí do quen: Học cùng lớp
Với tôi, cậu là: Crush
Tên tôi dùng để gọi cậu: Trà xanh
Nếu tôi gần nhà cậu: ..
Điều tôi thích ở cậu: Xinh
Điều tôi ghét ở cậu: ..
Cậu đã bao giờ làm tôi cười: Nhiều
Cậu đã bao giờ làm tôi nổi điên: ..
Một điều tôi muốn hỏi ở cậu: ..
Tôi thấy cậu: Xinh

Chấm điểm: 9/10

1. Tổng quan về DES

DES [Data Encryption Standard] là chuẩn mã hóa dữ liệu đầu tiên trên thế giới, do Cơ quan an ninh Quốc gia Hoa Kỳ [NSA] đề xuất trên cơ sở cải tiến thuật toán Lucifer do hãng IBM công bố năm 1964. DES đã được sử dụng rộng rãi ở Hoa Kỳ và nhiều quốc gia khác trong các thập kỷ 70, 80, 90 cho đến khi được thay thế bởi Tiêu chuẩn mã hóa dữ liệu tiên tiến AES [Advanced Encryption Standard] vào năm 2002.

Đầu vào của DES là khối 64 bit, đầu ra cũng là khối 64 bit. Khóa mã hóa có độ dài 56 bit, nhưng thực chất ban đầu là 64 bit, được lấy đi các bit ở vị trí chia hết cho 8 dùng để kiểm tra tính chẵn lẻ.

2. Thuật toán

DES là thuật toán mã hóa theo khối, nó xử lý từng khối thông tin của bản rõ có độ dài xác định là 64 bit. Trước khi đi vào 16 chu trình chính, khối dữ liệu cần bảo mật sẽ được tách ra thành từng khối 64 bit, và từng khối 64 bit này sẽ lần lượt được đưa vào 16 vòng mã hóa DES để thực hiện. Input: Bản rõ M = m1m2…m64 là một khối 64 bit, khóa 64 bit K = k1k2…k64. Output: Bản mã 64 bit C = c1c2… c64

  • Bước 1: Sinh khóa con: Sử dụng thuật toán sinh khóa con từ khóa K ta sẽ được 16 khóa con K1, K2, … K16
  • Bước 2: Sử dụng phép hoán vị khởi đầu IP [Initial Permutation] để hoán vị các bit của M, kết quả nhận được chia thành 2 nửa là L0 = m63m62…m32, R0 = m31m30…m0.
  • Bước 3: Với i chạy từ i = 1 đến 16 thực hiện: Tính các Li và Ri theo công thức: Li = Ri-1 Ri = Li-1 XOR f[Ri-1, Ki] trong đó f[Ri-1, Ki] = R[S[E[Ri-1] XOR Ki]]. Việc tính f[Ri-1, Ki] sẽ được trình bày chi tiết ở phần sau.
  • Bước 4: Đổi vị trí khối L16, R16 ta được khối R16L16 = b1b2…b64.
  • Bước 5: Sử dụng phép hoán vị kết thúc FP[Final Permutation – nghịch đảo với hoán vị khởi đầu IP] ta thu được bản mã cần tìm : C = IP-1[b1b2…b64]

3. Quá trình sinh khóa con

16 vòng lặp của DES chạy cùng thuật toán như nhau nhưng với 16 khóa con khác nhau. Các khóa con đều được sinh ra từ khóa chính của DES bằng thuật toán sinh khóa con.

Khóa ban đầu là 1 xâu có độ dài 64 bit, bit thứ 8 của mỗi byte sẽ được lấy ra để kiểm tra phát hiện lỗi, tạo ra chuỗi 56 bit. Sau khi bỏ các bit kiểm tra ta sẽ hoán vị chuỗi 56 bit này. Hai bước trên được thực hiện thông qua hoán vị ma trận PC-1 [Permuted choice 1].
Tiếp theo ta kết quả sau khi PC-1 thành 2 phần : C0 : 28 bit đầu. D0 : 28 bit cuối. Mỗi phần sẽ được xử lý 1 cách độc lập. Ci = LSi[Ci-1] Di = LSi[Ci-1] với 1 ≤ i ≤ 16. LSi là biểu diễn phép dịch bit vòng [cyclic shift] sang trái 1 hoặc 2 vị trí tùy thuộc vào i.

Vòng lặp12345678910111213141516
Số lần dịch trái 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1

Cuối cùng sử dụng hoán vị cố định PC-2 [Permuted choice 2] để hoán vị chuỗi CiDi 56 bit tạo thành khóa Ki với 48 bit.

4. Quá trình mã hóa DES

Chia thành 3 giai đoạn:

4.1. Giai đoạn 1:

Với bản rõ cho trước x, 1 xâu x’ sẽ được tạo ra bằng cách hoán vị các bit của x theo hoán vị ban đầu IP.

Tiếp theo x’ sẽ được chia thành 2 phần L0,R0. x’ = IP[x] = L0R0 Trong đó L0 là 32 bit đầu, R0 là 32 bit cuối.

4..2. Giai đoạn 2:

Tính toán 16 lần bằng 1 hàm xác định. Ta sẽ tính Li, Ri [1 ≤ i ≤ 16] theo quy tắc: Li = Ri-1. Ri = Li-1 XOR f[Ri-1, Ki]. Với Ki là khóa được sinh ra ở quá trình tạo khóa, f là một hàm sẽ được trình bày ở phần sau.

4.3. Giai đoạn 3:

Áp dụng hoán vị kết thúc FP cho xâu bit R16L16 ta thu được bản mã y: y = FP[R16L16].

5. Giải mã DES

Quá trình giải mã của DES cũng tương tự quá trình mã hóa. Chỉ khác nhau ở: Li = Ri-1. Ri = Li-1 XOR f[Ri-1, K16-i+1]. Như vậy khóa K của hàm F sẽ đi từ khóa K16 đến khóa K1.

6. Hàm F

Đầu vào hàm f có 2 biến:

  • Biến thứ nhất: Ri-1 là xâu bit có độ dài 32 bit. - Biến thứ hai: Ki là xâu bit có độ dài 48 bit. Đầu ra của hàm f là xâu có độ dài 32 bit. Quy trình hoạt động của hàm f như sau:
  • Biến thứ nhất Ri-1 được mở rộng thành một xâu có độ dài 48 bit theo một hàm mở rộng hoán vị E [Expansion permutation]. Thực chất hàm mở rộng E[Ri-1] là một hoán vị có lặp trong đó lặp lại 16 bit của Ri-1.
  • Tính E[Ri-1] XOR Ki.
  • Tách kết quả của phép tính trên thành 8 xâu 6 bit B1, B2, …, B8.
  • Đưa các khối 8 bit Bi vào 8 bảng S1, S2, …, S8 [được gọi là các hộp S-box]. Mỗi hộp S-Box là một bảng 4*16 cố định có các cột từ 0 đến 15 và các hàng từ 0 đến 3. Với mỗi xâu 6 bit Bi = b1b2b3b4b5b6 ta tính được SiBi như sau: hai bit b1b6 xác định hàng r trong hộp Si, bốn bit b2b3b4b5 xác định cột c trong hộp Si. Khi đó, Si[Bi] sẽ xác định phần tử Ci = Si[r,c], phần tử này viết dưới dạng nhị phân 4 bit. Như vậy, 8 khối 6 bit Bi [1 ≤ i ≤ 8] sẽ cho ra 8 khối 4 bit Ci với [1 ≤ i ≤ 8].
  • Xâu bit C = C1C2C3C4C5C6C7C8 có độ dài 32 bit được hoán vị theo phép toán hoán vị P [hộp P-Box]. Kết quả P[C] sẽ là kết quá của hàm f[Ri-1,Ki].

6.1. Hàm mở rộng E

Hàm ở rộng E sẽ tăng độ dài Ri-1 từ 32 bit lên 48 bit bằng cách thay đổi thứ tự các bit cũng như lặp lại các bit. Việc thực hiện này nhằm hai mục đích:

  • Làm độ dài của Ri-1 cùng cỡ với khóa K để thực hiện việc cộng modulo XOR.
  • Cho kết quả dài hơn để có thể được nén trong suốt quá trình thay thế. Tuy nhiên, cả hai mục đích này nhằm một mục tiêu chính là bảo mật dữ liệu. Bằng cách cho phép 1 bit có thể chèn vào hai vị trí thay thế, sự phụ thuộc của các bit đầu ra với các bit đầu vào sẽ trải rộng ra.

6.2. Các hộp S-box

Sau khi thực hiện phép XOR giữa E[Ri-1] và Ki, kết quả thu được chuỗi 48 bit chia làm 8 khối đưa vào 8 hộp S-box. Mỗi hộp S-Box sẽ có 6 bit đầu vào và 4 bit đầu ra. Kết quả thu được là một chuỗi 32 bit tiếp tục vào hộp P-Box.

  • Mỗi hàng trong mỗi hộp S là hoán vị của các số nguyên từ 0 đến 15
  • Các hộp S-box phi tuyến tính. nói cách khác, đầu ra không phải là biến đối tuyến tính của đầu vào.
  • Sự thay đổi của một bit, hai bit hoặc nhiều hơn sẽ dẫn đến sự biến đổi ở đầu ra.
  • Nếu hai đầu vào của một S-box bất kì chỉ khác nhau 2 bit ở giữa [bit 3 và 4] thì đầu ra sẽ khác nhau ít nhất 2 bit. Nói cách khác, S[x] và S[x XOR 001100] phải khác nhau ít nhất 2 bit.

6.3. Hộp P-box

Mỗi 4 bit đầu ra của các hộp S-box sẽ được ghép lại, theo thứ tự các hộp và được đem vào hộp P-box. Hộp P-Box đơn giản chỉ là hoán vị các bit với nhau.

Ví dụ:

Ta có 1 bản tin M, M = 0123456789ABCDEF và một khóa K = 13345799BBCDDFF1 với M, K được định dạng dưới dạng hệ thập lục phân, ta tiến hành mã hóa và giải mã theo giải thuật DES theo các bước sau. Ta viết lại M, K dưới dạng nhị phân , chúng ta nhận được khối 64bit của của văn bản M và khóa K M = 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 chia 64 bit trên thành 2 nửa trái và phải, lấy từ trái qua phải mỗi phần 32 bit L = 0000 0001 0010 0011 0100 0101 0110 0111
R = 1000 1001 1010 1011 1100 1101 1110 1111 DES hoạt động trên các khối 64-bit sử dụng kích thước chính của 56- bit. Các khóa thực sự được lưu trữ dài 64 bit, nhưng mỗi bit thứ 8 trong khóa không được sử dụng [tức là bit số 8, 16, 24, 32, 40, 48, 56, và 64]. Tuy nhiên, chúng ta sẽ vẫn đánh số các bit 1-64, đi từ trái sang phải, trong các tính toán sau đây. Tuy nhiên, ta sẽ thấy, tám bit đề cập đến được loại trừ khi chúng ta tạo ra khóa. Đưa K về dạng nhị phân: K = 00010011 00110100 01010111 01111001 10011011 10111100 11011111 11110001 Thuật toán DES sử dụng các bước sau: Bước 1: Tạo 16 khóa con, mỗi khóa có chiều dài 48 bit Khóa 64 bit được hoán vị theo bảng dưới đây, PC-1. Chỉ có 56 bit của khóa ban đầu xuất hiện trong khóa hoán vị PC-1

5749413325179
1 58 50 42 34 26 18
10 2 59 51 43 35 27
19 11 3 60 52 44 36
63 55 47 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4

Từ khóa 64 bit ban đầu: K = 00010011 00110100 01010111 01111001 10011011 10111100 11011111 11110001 Từ bảng hoán vị trên ta thấy: bit thứ 57 của K là bit ‘1’, thứ 49 của K là bit ‘1’, bít thứ 41, 33, 25, 17, 9 lần lượt là 11000…. Chúng ta nhận được hoán vị 56 bit: K+ = 1111000 0110011 0010101 0101111 0101010 1011001 1001111 0001111 Tiếp theo, chia khóa này thành 2 nửa trái và phải , C0 và D0, mỗi nửa 28 bit, ta được: C0 = 1111000 0110011 0010101 0101111 D0 = 0101010 1011001 1001111 0001111 Với C0 và D0 đã được xác định, bây giờ chúng ta tạo ra 16 khối CnDn 1

Chủ Đề